В свойстве ячейки на закладке МАКЕТ в строке ЗАПОЛНЕНИЕ ставим "ШАБЛОН" (для ячеек в которых сразу идёт и текст и параметр(параметр в этом случаи ставим в квадратные скобки [вставляем_наш_параметр] ) )
В свойстве ячейки в которой находится только сам параметр на закладке МАКЕТ в строке ЗАПОЛНЕНИЕ ставим "ПАРАМЕТР"
На закладе ФОРМЫ создадим форму отчета
Создадим новый реквизит с типом "Табличный Документ" перенесем его с правого окошечка в левое для того что бы отобразить его на форме
Создадим ещё один реквизит ПечататьТолькоТовары с типом "БУЛЕВО" так же перенесем его на форму в левую часть экрана
Создадим команду СформироватьПрайс на закладке команды. Перенесем её в левую часть экрана а в правой части в свойствах команды на вкладке "ОСНОВНЫЕ" в строке "Действие" нажмем на лупу (открыть)
В открывшемся окне напишем
&НаКлиенте Процедура СформироватьПрайс(Команда) //В процедуру ЗаполнитьТабДок на сервер передаем ТабДок //и значение команды ПечататьТолькоТовары ЗаполнитьТабДок(ТабДок, ПечататьТолькоТовары); КонецПроцедуры
&НаСервереБезКонтекста // Принимаем ТабДок и значение команды ПечататьТолькоТовары Процедура ЗаполнитьТабДок(ТабДок, ПечататьТолькоТовары) // Очищаем прошлые данные выводимые в ТабДок ТабДок.Очистить(); //Получаем макет для дальнейшего использования Макет = Отчеты.ПрайсЛист.ПолучитьМакет("Макет"); //Получаем области макета "Макет" ОблШапка = Макет.ПолучитьОбласть("Шапка"); ОблЭлемент = Макет.ПолучитьОбласть("Элемент"); ОблГруппа = Макет.ПолучитьОбласть("Группа"); //В ОблШапка приводим дату отчета к нужному нам формату // день месяц(прописью) год иначе будут ещё и секунды... ОблШапка.Параметры.ДатаОтчета = Формат(ТекущаяДата(), "ДЛФ=DD"); //Выводим в ТабДОк верхнию область макета с названием ОблШапка ТабДок.Вывести(ОблШапка); //Выбираем всю номенклатуру с справочника с учетом подчинения(Иерархии) Выборка = Справочники.Номенклатура.ВыбратьИерархически(); //Обходим выбранные элементы в цикле (это значит по одной строке за цикл) Пока Выборка.Следующий() Цикл //Если стоит галочка у команды ПечататьТолькоТовары то уберем Услуги с прайс-а Если Выборка.Услуга И ПечататьТолькоТовары Тогда Продолжить; // эта команда немедленно передает управление в начало цикла КонецЕсли; //Если в выборки содержатся только группа тогда мы переменную Обл приравниваем //к области макета ОблГруппа иначе к ОблЭлемент Если Выборка.ЭтоГруппа Тогда Обл = ОблГруппа; Иначе Обл = ОблЭлемент; КонецЕсли; //Методом "Заполнить" заполняем параметры макета значениями из "выборки" Обл.Параметры.Заполнить(Выборка); //Выводим в ТабДОк переменную Обл содержащею область макета ТабДок.Вывести(Обл); КонецЦикла; КонецПроцедуры
Перейдем в пользовательский режим и проверим работу отчета
Ставим галочку Печатать только товары нажимаем кнопку сформировать и видим что услуги исключились с нашего отчета
Памятка это отдельный фрагмент когда не относящийся к этому примеру например: Пока Выборка.Следующий Цикл