У меня есть обработка, у которой есть поле табличного документа (который строится с помощью макета). Есть данные - контрагент, код отдела с отделом и ячейка с количеством. Как построить макет так, чтобы было не так как на рисунке: отдел с одной ячейкой, тот же отдел с другой ячейкой, а чтобы был отдел и ячейки принадлежащие ему? (тип убрать второй отдел и ячейку поместить справа от первой). Данные для заполнения макета храню в таблице значений.
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
ОбластьЯчейки = Макет.ПолучитьОбласть("Ячейка");
ОбластьШапкаТаблицы.Параметры.Контрагент = ПолеПоиска;
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
Для Индекс = 0 По ТаблицаЯчеек.Количество() - 1 Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ТаблицаЯчеек[Индекс]);
ТабДок.Вывести(ОбластьДетальныхЗаписей);
ОбластьЯчейки.Параметры.Ячейка = ТаблицаЯчеек[Индекс].Ячейки;
Если ТаблицаЯчеек[Индекс].Количество > 0 Тогда
ОбластьЯчейки.ТекущаяОбласть.ЦветФона = WebЦвета.СветлоЗеленый;
ИначеЕсли ТаблицаЯчеек[Индекс].Количество = 5 Тогда
ОбластьЯчейки.ТекущаяОбласть.ЦветФона = WebЦвета.Зеленый;
КонецЕсли;
ТабДок.Вывести(ОбластьЯчейки);
КонецЦикла;
ПоказатьПрикрепленные файлы:
По теме из базы знаний
- Загрузка данных из табличного документа в справочники, документы, планы видов характеристик, планы видов расчетов, планы счетов, бизнес-процессы, задачи, в движения документов, поточная загрузка документов (EXCEL, управляемые формы, универсальная)
- Вывод различных табличных документов в один ("склеивание" печатных форм)
- Корректор масштаба табличного документа
- Обзор полезных методов БСП 3.1.4
- Приемы работы с СКД: выгрузка данных справочников и документов в линейном виде в табличный документ
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) А вам обязательно такое делать на СКД?
Проще было бы самому такое вывести в табличный документ.
Если просто нарисовать печатную форму, то такое решается просто ТабДок.Присоединить(ОблатьСКоличеством).
СКД удобен, но когда нет вот таких вот требований.
Можно все оставить в СКД (удобства отбора и прочее), просто выгружать результат запроса и дальше самому рисовать макет, а не мучится с СКД.
Проще было бы самому такое вывести в табличный документ.
Если просто нарисовать печатную форму, то такое решается просто ТабДок.Присоединить(ОблатьСКоличеством).
СКД удобен, но когда нет вот таких вот требований.
Можно все оставить в СКД (удобства отбора и прочее), просто выгружать результат запроса и дальше самому рисовать макет, а не мучится с СКД.
(5) Не проснулся еще, это в другой теме про СКД.
Все как у вас, только 3 строчку удалите.
А выводите как написал выше.
Шаблон условия такой:
Все как у вас, только 3 строчку удалите.
А выводите как написал выше.
Шаблон условия такой:
Если ВыводитсяПерваяЯчйкаОтдела Тогда
ТабДок.Вывести(ОбластьЯчейка);
Иначе
ТабДок.Присоеденить(ОбластьЯчейка);
КонецЕсли;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот