Доброго.
Имеем:
1С:Предприятие 8.3 (8.3.17.1851)
Бухгалтерия предприятия, редакция 3.0 (3.0.87.28)
В расширениископирован добавлен макет Документы.РеализацияТоваровУслуг.ПФ_MXL_Акт и добавлена область "СтрокаДляКомментария", ячейки объединены, заполнение параметр (КомментарийСтроки)
В модуле (Режим ИзменениеИКонтроль) ОбщийМодуль.ПечатьТорговыхДокументов.ПечатьАктаОбОказанииУслуг() добавляю вывод области по условию. Вывод работает, но объединение ячеек исчезает (см скриншоты) по непонятной причине.
В чем ошибка, почему объединение исчезает?
Спасибо.
Имеем:
1С:Предприятие 8.3 (8.3.17.1851)
Бухгалтерия предприятия, редакция 3.0 (3.0.87.28)
В расширении
В модуле (Режим ИзменениеИКонтроль) ОбщийМодуль.ПечатьТорговыхДокументов.ПечатьАктаОбОказанииУслуг() добавляю вывод области по условию. Вывод работает, но объединение ячеек исчезает (см скриншоты) по непонятной причине.
В чем ошибка, почему объединение исчезает?
Спасибо.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) помимо горизонтальных областей, видимо, есть и вертикальные. Макет по таким вот блокам собирается, и в отсутствии одного из них ячейка(ваша область) "разбивается". Объединение можно программно установить через
при этом надо подбирать номер строки и номер последней колонки в коде динамически
ТабДокумент.Область("R51C2:R51C33").Объединить();
(2), увы, в макете нет вертикальных областей, и весь вывод строк осуществляется вот этим куском:
ОбластьСтроки = ?(ВыводитьКоды, "СтрокаСКодом", "Строка");
ОбластьСтроки = Макет.ПолучитьОбласть(ОбластьСтроки);
// Выводим многострочную часть документа
Для каждого СтрокаТабличнойЧасти Из ТаблицаУслуги Цикл
#Вставка
КомментарийСтроки=СведенияОДокументе.Документ.Услуги[СтрокаТабличнойЧасти.НомерСтроки-1].КомментарийСтроки;
Если НЕ КомментарийСтроки="" Тогда
ОбластьКомментарийСтроки=Макет.ПолучитьОбласть("СтрокаДляКомментария");
ОбластьКомментарийСтроки.Параметры.КомментарийСтроки=КомментарийСтроки;
ТабличныйДокумент.Вывести(ОбластьКомментарийСтроки);
КонецЕсли;
#КонецВставки
НомерСтроки = НомерСтроки + 1;
СтруктураПараметры = Новый Структура();
СтруктураПараметры.Вставить("НомерСтроки", НомерСтроки);
СтруктураПараметры.Вставить("НоменклатураНаименование", СокрЛП(СтрокаТабличнойЧасти.НоменклатураНаименование));
СтруктураПараметры.Вставить("Товар", СокрЛП(СтрокаТабличнойЧасти.НоменклатураНаименование));
СтруктураПараметры.Вставить("Номенклатура", СтрокаТабличнойЧасти.Номенклатура);
СтруктураПараметры.Вставить("Количество", СтрокаТабличнойЧасти.Количество);
СтруктураПараметры.Вставить("ЕдиницаИзмерения", СтрокаТабличнойЧасти.ЕдиницаИзмеренияНаименование);
СтруктураПараметры.Вставить("Цена", СтрокаТабличнойЧасти.Цена);
СтруктураПараметры.Вставить("Сумма", СтрокаТабличнойЧасти.Сумма);
Если ВыводитьКоды Тогда
СтруктураПараметры.Вставить("НоменклатураКод", СтрокаТабличнойЧасти.НоменклатураКод);
СтруктураПараметры.Вставить("КодАртикул", СтрокаТабличнойЧасти.НоменклатураКод);
КонецЕсли;
ОбластьСтроки.Параметры.Заполнить(СтруктураПараметры);
ТабличныйДокумент.Вывести(ОбластьСтроки);
КонецЦикла;
Показать
Удалите пользовательский макет из РС "Управление макетами печатных форм".
Администрирование - Дополнительные печатные формы и обработки - Управление макетами печатных форм.
Это именно он на вашем третьем скриншоте. При наличии таких макетов - используются именно они, а не те, которые в конфигураторе зашиты.
Администрирование - Дополнительные печатные формы и обработки - Управление макетами печатных форм.
Это именно он на вашем третьем скриншоте. При наличии таких макетов - используются именно они, а не те, которые в конфигураторе зашиты.
(9), реализуя тоже самое для счет-фактуры, понял что макет не самый лучший вариант, а так как режим ИзменениеИКонтроль, решил использовать все таки программный вариант.
КомментарийСтроки=СведенияОДокументе.Документ.Услуги[СтрокаТабличнойЧасти.НомерСтроки-1].КомментарийСтроки;
Если НЕ КомментарийСтроки="" Тогда
ТабличныйДокумент.Вывести(ОбластьСтроки); //стандартная область, определяемая кодом поставщика
ТабНиз=ТабличныйДокумент.ВысотаТаблицы;
ТабПрав=ТабличныйДокумент.ШиринаТаблицы;
ТабОбл="R"+ТабНиз+"C2"+":"+"R"+ТабНиз+"C"+ТабПрав;
ТабличныйДокумент.Область(ТабОбл).Объединить();
ТЛиния = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная,1);
ЖЛиния = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная,2);
ТабличныйДокумент.Область(ТабОбл).Обвести(ЖЛиния,ТЛиния,ЖЛиния,ТЛиния);
ТабличныйДокумент.Область(ТабОбл).ГоризонтальноеПоложение=ГоризонтальноеПоложение.Лево;
ТабличныйДокумент.Область(ТабОбл).Текст=КомментарийСтроки;
КонецЕсли;
Показать
Проблема решилась путем объединения ячеек в пользовательском макете (Администрирование - Дополнительные печатные формы и обработки - Управление макетами печатных форм). Причем пользовательский макет до меня никто не правил тем не менее в макете конфигуратора ячейки были объединены, а в пользовательском - нет.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот