1С-Предприятие 8.0. Практическое пособие разработчика


Оптимизация документа ОказаниеУслуги - часть 7


       |        ПО ОказаниеУслугиПереченьНоменклатуры.Номенклатура = СтоимостьМатериаловОстатки.Материал

       |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиМатериалов.Остатки(&МоментВремени, Материал В (&СписокНоменклатурыДокумента)) КАК ОстаткиМатериаловОстатки

       |        ПО ОказаниеУслугиПереченьНоменклатуры.Номенклатура = [245] ОстаткиМатериаловОстатки.Материал

       |ГДЕ

       |    ОказаниеУслугиПереченьНоменклатуры.Ссылка = &Ссылка

       |

       |ДЛЯ ИЗМЕНЕНИЯ

       |    РегистрНакопления.СтоимостьМатериалов.Остатки,

       |    РегистрНакопления.ОстаткиМатериалов.Остатки";

   КонецЕсли;

КонецПроцедуры

 

Теперь добавим в текст обработчика задание параметров запроса:

Процедура ОбработкаПроведения(Отказ, Режим)

   Запрос = Новый Запрос;

   Запрос.УстановитьПараметр("СкладВДокументе",Склад);

...

       |    РегистрНакопления.ОстаткиМатериалов.Остатки";

   КонецЕсли;

 

   Запрос.УстановитьПараметр("МоментВремени", МоментВремени());

   Запрос.УстановитьПараметр("СписокНоменклатурыДокумента", ПереченьНоменклатуры.ВыгрузитьКолонку("Номенклатура"));

   Запрос.УстановитьПараметр("Ссылка",Ссылка);

...

КонецПроцедуры

 

Обратите внимание, что для формирования списка номенклатуры документа мы используем метод ВыгрузитьКолонку() объекта ДокументТабличнаяЧасть.ОказаниеУслуги.ПереченьНоменклатуры.[246]

После этого добавим получение результата запроса и цикл его обхода:




Начало  Назад  Вперед