рс = СоздатьОбъект("ПрямойЗапрос"); рс.ВыполнитьЗапрос("СОЗДАТЬ ТАБЛИЦА #ТаблицаПродукты(Продукт VARCHAR(9))"); ТекстЗапроса = " |ВСТАВИТЬ ВНУТРЬ #ТаблицаПродукты |ВЫБРАТЬ РАЗЛИЧНЫЕ | $СпрНП.Продукт КАК Продукт |ИЗ Справочник.НаборПродуктов КАК СпрНП $nolock |СОЕДИНЕНИЕ #ТаблицаИзделия КАК ТабИзд ПО $СпрНП.Владелец = ТабИзд.Блюдо | И $СпрНП.ПометкаУдаления = 0 |"; рс.УложитьТаблицуЗначений(Блюда, "#ТаблицаИзделия"); рс.ВыполнитьЗапрос(ТекстЗапроса); ТекстЗапроса = " |ВЫБРАТЬ | Ост.Субконто1 КАК [Товар $Субконто], | Ост.Субконто1_вид КАК Товар_вид, | $Журнал.ДатаДокумента КАК [ДатаДок $Дата], | Ост.КоличествоОстаток КАК [Остаток $Число.10.5], | Ост.Субконто3 КАК [Партия $Субконто], | Ост.Субконто3_вид КАК Партия_вид //| $ПоследнееЗначение.Номенклатура.Масса($СпрНом.ТекущийЭлемент, :ДатаДок) КАК [Фасовка $Число.10.5] |ИЗ $БИОстатки.Основной( | :ДатаДок~, | #Счет, | , | Количество, | (Субконто1 В #ТаблицаПродукты) И (Субконто2 = :Склад), |) КАК Ост |ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНом $nolock ПО ЛЕВО(Ост.Субконто1, 9) = $СпрНом.ТекущийЭлемент |ЛЕВОЕ СОЕДИНЕНИЕ ЖурналДокументов as Журнал $nolock on ПРАВО(Ост.Субконто3, 9) = Журнал.iddoc |ГДЕ Ост.КоличествоОстаток > 0 | И Ост.Субконто3 != :ПустойИД13 |"; рс.БухгалтерскийУчет = 1; рс.УстановитьТекстовыйПараметр("ДатаДок", ДатаДок); рс.УстановитьТекстовыйПараметр("Склад", Склад); рс.УложитьСписокОбъектов(СчетПоКоду("41.2"), "#Счет"); тз = рс.Выполнить("ТаблицаЗначений", ТекстЗапроса); тз.Сортировать("Товар, ДатаДок"); тз.Выгрузить(тОст); тОст.ВидимостьКолонки("Товар_вид, Партия_вид", 0); ТекстЗапроса = " |ВЫБРАТЬ | $ПоследнееЗначение.НаборПродкутов.ФНеИсп($СпрНП.ТекущийЭлемент, :ДатаДок) КАК НеИсп, | $СпрНП.Владелец [Изделие $Справочник.Номенклатура], | $СпрНП.Продукт [Товар $Справочник.Номенклатура], | $СпрНП.Количество [Количество $Число.10.5], | $СпрНП.ФКоробка [Коробка $Число.1.0], | ТабИзд.КолБ КАК [КолБ $Число.10.2], | $СпрНП.Количество / | (ВЫБОР КОГДА $СпрНом.Весовой = 0 ТОГДА 100 ИНАЧЕ 10 КОНЕЦ) * | ТабИзд.КолБ * | (ВЫБОР $СпрНомПрод.ВидПродукта | КОГДА :Перечисление.ВидыПродукта.Яйцо ТОГДА 2.5 | ИНАЧЕ 1 | КОНЕЦ) | КАК [Всего $Число.10.5] |ИЗ Справочник.НаборПродуктов КАК СпрНП $nolock |СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНом $nolock ПО $СпрНП.Владелец = $СпрНом.ТекущийЭлемент |СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНомПрод $nolock ПО $СпрНП.Продукт = $СпрНомПрод.ТекущийЭлемент |СОЕДИНЕНИЕ #ТаблицаИзделия ТабИзд ПО $СпрНП.Владелец = ТабИзд.Блюдо | И $СпрНП.ПометкаУдаления = 0 |"; рс.БухгалтерскийУчет = 0; рс.РежимОтладки = 1; тз = рс.Выполнить("ТаблицаЗначений", ТекстЗапроса); тз.Выгрузить(тТов); тТов.Сортировать("Изделие, Товар");