Добрый день!
Подскажите, немогу сделать иерархию для вывода на печать из табличной части,
выдержка текста запрос
Запрос.Текст =
"ВЫБРАТЬ
| ИнвентаризацияТоваровНаСкладе.Номер,
| ИнвентаризацияТоваровНаСкладе.Дата,
| ИнвентаризацияТоваровНаСкладе.Организация,
| ИнвентаризацияТоваровНаСкладе.Организация КАК Поставщик,
| ИнвентаризацияТоваровНаСкладе.Склад,
| ИнвентаризацияТоваровНаСкладе.Склад.Представление КАК Склад,
| ИнвентаризацияТоваровНаСкладе.Ответственный.ФизЛицо.Наименование КАК Выписал,
| ИнвентаризацияТоваровНаСкладе.ПредседательКомиссии.Наименование КАК ПредседательКомиссии,
| ИнвентаризацияТоваровНаСкладе.ПервыйЧленКомиссии.Наименование КАК ПервыйЧленКомиссии,
| ИнвентаризацияТоваровНаСкладе.ВторойЧленКомиссии.Наименование КАК ВторойЧленКомиссии,
| ИнвентаризацияТоваровНаСкладе.ТретийЧленКомиссии.Наименование КАК ТретийЧленКомиссии,
| &ВалютаПечати КАК Валюта,
| ИнвентаризацияТоваровНаСкладе.Товары.(
| НомерСтроки,
| Номенклатура КАК Номенклатура,
| Номенклатура.Родитель КАК ТоварРодитель,
| ВЫРАЗИТЬ(ИнвентаризацияТоваровНаСкладе.Товары.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар,
| Количество КАК Количество,
| КоличествоУчет КАК КоличествоПоУчету,
| ЦенаРегл КАК ЦенаРегл,
| СуммаРегл КАК СуммаРегл,
| Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаИзмерения,
| Цена КАК Цена,
| Сумма КАК Сумма,
| СуммаУчет КАК СуммаПоУчету,
| ХарактеристикаНоменклатуры КАК Характеристика,
| NULL КАК Серия
| )
|ИЗ
| Документ.ИнвентаризацияТоваровНаСкладе КАК ИнвентаризацияТоваровНаСкладе
|ГДЕ
| ИнвентаризацияТоваровНаСкладе.Ссылка = &ТекущийДокумент
|
|УПОРЯДОЧИТЬ ПО
| Номенклатура
|ИТОГИ ПО
| ОБЩИЕ";
Шапка = Запрос.Выполнить().Выбрать();
Шапка.Следующий();
ВыборкаСтрокТовары = Шапка.Товары.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ИнвентаризацияТоваровНаСкладеРозница_ИнвентаризацияТоваровНаСкладеРозница";
Пока ВыборкаСтрокТовары.Следующий() Цикл
Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда
Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное);
Продолжить;
КонецЕсли;
ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары);
ОбластьМакета.Параметры.Товар = СокрП(ВыборкаСтрокТовары.Товар) + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары);
Если ВыборкаСтрокТовары.Номенклатура.ЭтоГруппа Тогда
ОбластьМакета.Параметры.ТоварРодитель = СокрП(ВыборкаСтрокТовары.Товар.Родитель);
КонецЕсли;
Если ВыводитьКоды Тогда
ОбластьМакета.Параметры.КодАртикул = ВыборкаСтрокТовары.КодАртикул;
КонецЕсли;
ТабДокумент.Вывести(ОбластьМакета);
КонецЦикла;
Почему-то ВыборкаСтрокТовары.Номенклатура.ЭтоГруппа отрабатывает каждую строку, невыводит группу верхнего уровня, и как вывести общую сумму по группе.
! |
| Правила, пункт 12: выделяйте код!
|
Сообщение отредактировал Vofka - 20.11.14, 13:07