Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

КД 2.1 Корректный перенос суммы со скидкой в документе Заказ клиента

КД 2.1 Корректный перенос суммы со скидкой в документе Заказ клиента
Я
   dnbzvz
 
08.10.19 - 13:18
Добрый день, переношу документ ЗаказКлиента(УТ11) в СчетНаОплатуПокупателю(БП3).
Не верно считается сумма из-за скидки. При простом подставлении источника и приемника дважды вычитается скидка из суммы(в табличной части еще в самой УТ11 и в итогах на форме уже в БП3).
Пробую посчитать сумму в ПКС и обе строки товаров заполняются одной ценой.
Код:
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ЗаказКлиентаТовары.Цена * ЗаказКлиентаТовары.Количество КАК Сумма
        |ИЗ
        |    Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
        |ГДЕ
        |    ЗаказКлиентаТовары.Ссылка = &Ссылка";
    
    Запрос.УстановитьПараметр("Ссылка", Источник);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Значение = ВыборкаДетальныеЗаписи.Сумма;
    КонецЦикла;
Скрыть


Подскажите, пожалуйста, как правильно в данном случае отдельно посчитать и вывести сумму для каждого элемента номенклатуры? Или может вы сталкивались с данной проблемой и у нее есть более простое решение?
 
 
   azt-yur
 
1 - 08.10.19 - 13:25
(0) [Пробую посчитать сумму в ПКС и обе строки товаров заполняются одной ценой] - ну так вы один и тот же код выполняете для всех строк товаров, судя по коду сумма устанавливается для всех строк по последней строчке. Добавьте условие в запросе еще на номенклатуру или номер строки.
А вообще это же ПКС группы свойств, тогда можно сделать проще:
Значение = ОбъектКоллекции.Цена * ОбъектКоллекции.Количество;
   dnbzvz
 
2 - 08.10.19 - 13:37
(1) Огромное спасибо за ОбъектКоллекции, ни разу еще не пользовался данным параметром, поэтому сел в лужу.

Список тем форума
Рекламное место пустует  Рекламное место пустует
Здесь во втором сообщении вам дадут решение, а в двадцатом дадут правильное решение. Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.