По теме из базы знаний
- Печатная форма OpenOffice (ODT) с объединением строк в таблицу
- Подключаемые печатные формы с .DOCX макетом без Word'а
- Как я с отчетом СКД боролся (произвольный макет)!
- По-настоящему свои макеты в отчетах СКД. Исследование процесса компоновки и генерация кода отчета
- Объединение ячеек по вертикали и горизонтали в отчете на СКД (объединение заголовков родительских группировок)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Ягг, вот макет...по условию мне надо их объединять три колонки (количество листов,длина листа и ширина листа)
Прикрепленные файлы:
Документ ЗаказПокупателя_ Макет.mxl
(1) serq82, у меня получилось
вот код:
Макет=ПолучитьМакет("Макет");
Область = Макет.Область(35,19,35,24);
Область.Объединить();
Макет.Показать();
вот код:
Макет=ПолучитьМакет("Макет");
Область = Макет.Область(35,19,35,24);
Область.Объединить();
Макет.Показать();
Прикрепленные файлы:
ВнешняяОбработка1.epf
вот код
ТабДокумент = Новый ТабличныйДокумент;
Макет = Документы.ЗаказПокупателя.ПолучитьМакет("Макет");
ЛистоваяПродукция = Макет.ПолучитьОбласть("ЛистоваяПродукция");
н=0;
Для Каждого Стр Из Супермонтеррей Цикл
н=н+1;
ЛистоваяПродукция.Параметры.НомерСтроки = н;
ЛистоваяПродукция.Параметры.Товар = Стр.Номенклатура;
Если ЗначениеЗаполнено(Стр.Цвет) Тогда
ЛистоваяПродукция.Параметры.Товар = ""+стр.Номенклатура+" - "+Стр.Цвет;
Иначе
ЛистоваяПродукция.Параметры.Товар = ""+стр.Номенклатура;
КонецЕсли;
ЛистоваяПродукция.Параметры.КоличествоЛистов = Стр.КоличествоЛистов;
ЛистоваяПродукция.Параметры.ДлинаЛиста = Стр.ДлинаЛиста;
ЛистоваяПродукция.Параметры.ШиринаЛиста = Стр.ШиринаЛиста;
ЛистоваяПродукция.Параметры.Количество = Стр.Количество;
ЛистоваяПродукция.Параметры.ЕдиницаИзмерения = Стр.ЕдиницаИзмерения;
ЛистоваяПродукция.Параметры.Цена = Стр.Цена;
ЛистоваяПродукция.Параметры.Сумма = Стр.Сумма;
//Тут по условию надо объединять
Область = ТабДокумент.Область(35,19,35,24);
Область.Объединить();
//Тут по условию надо объединять
ТабДокумент.Вывести(ЛистоваяПродукция);
КонецЦикла;
Показать
(8) serq82, попробуйте так
ТабДокумент = Новый ТабличныйДокумент;
Макет = Документы.ЗаказПокупателя.ПолучитьМакет("Макет");
ЛистоваяПродукция = Макет.ПолучитьОбласть("ЛистоваяПродукция");
н=0;
Для Каждого Стр Из Супермонтеррей Цикл
н=н+1;
ЛистоваяПродукция.Параметры.НомерСтроки = н;
ЛистоваяПродукция.Параметры.Товар = Стр.Номенклатура;
Если ЗначениеЗаполнено(Стр.Цвет) Тогда
ЛистоваяПродукция.Параметры.Товар = ""+стр.Номенклатура+" - "+Стр.Цвет;
Иначе
ЛистоваяПродукция.Параметры.Товар = ""+стр.Номенклатура;
КонецЕсли;
//!![[
//ЛистоваяПродукция.Параметры.КоличествоЛистов = Стр.КоличествоЛистов;
//ЛистоваяПродукция.Параметры.ДлинаЛиста = Стр.ДлинаЛиста;
//ЛистоваяПродукция.Параметры.ШиринаЛиста = Стр.ШиринаЛиста;
ЛистоваяПродукция.Параметры.КоличествоЛистов = "" + Стр.КоличествоЛистов + "/" + Стр.ДлинаЛиста + "/" + Стр.ШиринаЛиста;
//!!]]
ЛистоваяПродукция.Параметры.Количество = Стр.Количество;
ЛистоваяПродукция.Параметры.ЕдиницаИзмерения = Стр.ЕдиницаИзмерения;
ЛистоваяПродукция.Параметры.Цена = Стр.Цена;
ЛистоваяПродукция.Параметры.Сумма = Стр.Сумма;
//Тут по условию надо объединять
//!![[
//Область = ТабДокумент.Область(35,19,35,24);
Область = ЛистоваяПродукция.Область(1,19,1,24);
Область.Объединить();
//!!]]
//Тут по условию надо объединять
ТабДокумент.Вывести(ЛистоваяПродукция);
КонецЦикла;
Показать
(13) serq82, ну мы берём покорректнее,
мы же создали по сути новый табдок: ЛистоваяПродукция
он сам по себе живёт
его и в Вывести(ЛистоваяПродукция) подгоняем
значит в нём и надо объединять
а не в макете
макет сам по себе живёт
он только поставщик областей (вырезаем оттуда)
Ну вот если всё это на бумажном листе
мы вырезали ножницами блок - этот блок из одной строки, поэтому и 1цы как начало и конец диапазона строк
сделали что надо с блоком и приклеили к результату (Вывести)
потом опять взяли и вырезали из макета такой же блок ножницами (ну его по факту там нет, если на бумаге, но в программе есть)
мы же создали по сути новый табдок: ЛистоваяПродукция
он сам по себе живёт
его и в Вывести(ЛистоваяПродукция) подгоняем
значит в нём и надо объединять
а не в макете
макет сам по себе живёт
он только поставщик областей (вырезаем оттуда)
Ну вот если всё это на бумажном листе
мы вырезали ножницами блок - этот блок из одной строки, поэтому и 1цы как начало и конец диапазона строк
сделали что надо с блоком и приклеили к результату (Вывести)
потом опять взяли и вырезали из макета такой же блок ножницами (ну его по факту там нет, если на бумаге, но в программе есть)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот