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


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


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

   Иначе

       Запрос.Текст =

       ;

   КонецЕсли;

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

 

Как видите, в запросе нет ничего сложного за исключением, быть может, трех левых соединений с таблицей табличной части документа и использования ключевого предложения ДЛЯ ИЗМЕНЕНИЯ, значение которого было объяснено выше.

Текст запроса для случая неоперативного проведения документа будет практически таким же, за исключением того, что в нем будет отсутствовать третье левое соединение и, соответственно, поле "КоличествоОстатокНаСкладе", т.к. проверку остатков в этом случае мы выполнять не будем:

...

   Иначе

       Запрос.Текст =

       "ВЫБРАТЬ

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

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

       |    ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры,

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

       |    ОстаткиМатериаловОстатки.КоличествоОстаток,

       |    СтоимостьМатериаловОстатки.СтоимостьОстаток

       |ИЗ

       |    Документ.ОказаниеУслуги.ПереченьНоменклатуры КАК ОказаниеУслугиПереченьНоменклатуры

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




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



Книжный магазин