helpf.pro
Регистрация

v8.3: Вывод цены в ПодбореНоменклатуры

lam-anna
12.11.2020 19:18Прочитано: 35

Необходимо чтобы в Обработке ПодборНоменклатуры выводились цены независимо от Типа Цены в документы. Сделала кнопку Заполнить Цены. Но почему то цену заполняет только для 1 строки номенклатуры в списке подбора

Код вот такой. Не могу сообразить как и где сделать Цикл, чтобы заполнялось для всех строк.

Код 1C v 8.3
 

&НаКлиенте
Процедура ЗаполнитьЦены(Команда)
    ТД = Элементы.СписокНоменклатуры.ТекущиеДанные;
    ТД.Цена = ЗаполнитьЦеныНаСервере(ТД.Номенклатура);
    
КонецПроцедуры


&НаСервере
Функция ЗаполнитьЦеныНаСервере(Товар)  Экспорт
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |     ЦеныСрезПоследних.Номенклатура,
    |ВЫБОР
    |    КОГДА ЦеныСрезПоследних.Цена ЕСТЬ NULL
    |        ТОГДА 0
    |   ИНАЧЕ ЦеныСрезПоследних.Цена
    |КОНЕЦ Как Цена
    |ИЗ
    |   РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, Номенклатура =Номенклатура)
    |КАК ЦеныСрезПоследних" ;
    
    
    НаДату = КонецДня(ЭтаФорма.ДатаРасчетов);
    Запрос.УстановитьПараметр("Дата", Новый Граница(НаДату, ВидГраницы.Включая));
    Запрос.УстановитьПараметр("Номенклатура", Товар);


    Цена = 0;
    
    РезультатЗапроса = Запрос.Выполнить();
    Выборка = РезультатЗапроса.Выбрать();
    
        
    //это работает только для 1 строки
    Если Выборка.Следующий() Тогда
Возврат Выборка.Цена;
Иначе
Возврат 0;
КонецЕсли;
КонецФункции
Yandex
Возможно, вас также заинтересует
Реклама на портале
Подсказка: Для редактирования своего ответа щелкните по значку (справа)
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.