8.х обработка "Закрытие кассовой смены"

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем serega2671, 20 авг 2009.

  1. TopicStarter Overlay
    serega2671
    Offline

    serega2671 Опытный в 1С

    Регистрация:
    18 май 2009
    Сообщения:
    115
    Симпатии:
    0
    Баллы:
    26
    Имеется обработка "Закрытие кассовой смены" В ней есть процедура "Процедура ОбработкаЧековOffline(ККМ)":
    Процедура ОбработкаЧековOffline(ККМ)

    Отчет = Неопределено;
    Результат = ПолучитьСерверТО().ЗагрузитьОтчетОПродажах(ККМ, Отчет);
    Если НЕ ЗначениеЗаполнено(Результат) Тогда
    Если Отчет.Количество() = 0 Тогда
    Результат = ПолучитьСерверТО().ЗавершитьЗагрузкуОтчетаОПродажах(ККМ);
    Если ЗначениеЗаполнено(Результат) Тогда
    ТекстОшибки = ПолучитьСерверТО().ПолучитьТекстОшибкиККМOfflineТО(Результат);
    ОбщегоНазначения.СообщитьОбОшибке(ТекстОшибки);
    КонецЕсли;
    Иначе
    ДокОтчет = СоздатьОтчетОРозничныхПродажах();
    Позиция = Неопределено;
    Для каждого Позиция Из Отчет Цикл
    Товар = ДокОтчет.Товары.Добавить();
    ЗаполнитьЗначенияСвойств(Товар, Позиция);

    Товар.Коэффициент = Товар.ЕдиницаИзмерения.Коэффициент;

    Если мСкладыВТабличнойЧасти Тогда
    Товар.Склад = Склад;
    КонецЕсли;

    СуммаБезСкидок = Товар.Цена * Товар.Количество;
    Если СуммаБезСкидок <> 0 Тогда
    Товар.ПроцентСкидкиНаценки = (1 - Товар.Сумма / СуммаБезСкидок) * 100.0;
    КонецЕсли;
    КонецЦикла;

    ЗаписатьОтчетОРозничныхПродажах(ДокОтчет);

    Результат = ПолучитьСерверТО().ЗавершитьЗагрузкуОтчетаОПродажах(ККМ);
    Если ЗначениеЗаполнено(Результат) Тогда
    ТекстОшибки = ПолучитьСерверТО().ПолучитьТекстОшибкиККМOfflineТО(Результат);
    ОбщегоНазначения.СообщитьОбОшибке(ТекстОшибки);
    КонецЕсли;
    ДокОтчет.ПолучитьФорму().Открыть();
    КонецЕсли;
    Иначе
    ТекстОшибки = ПолучитьСерверТО().ПолучитьТекстОшибкиККМOfflineТО(Результат);
    ОбщегоНазначения.СообщитьОбОшибке(ТекстОшибки);
    КонецЕсли;

    КонецПроцедуры // ОбработкаЧековOffline()


    В строчке: Товар.ПроцентСкидкиНаценки = (1 - Товар.Сумма / СуммаБезСкидок) * 100.0;
    "Товар.сумма" рассчитывается неправильно, так вот вопрос, где можно посмотреть (в каком модуле) формируется это значение.=)
    Уже всю голову сломал

    обработка неправильно формирует скидку, она ее почему то задваивает и мне необходимо посмотреть Товар.сумма это запись и формируется неправильно

Поделиться этой страницей