Ошибка при печати внешней печатной формы
По теме из базы знаний
- Групповая обработка справочников и документов с использованием внешних печатных форм
- Внешние печатные формы для нетиповой конфигурации (управляемое приложение)
- Корректная двусторонняя печать табличных документов + Простой пример создания внешней печатной формы
- Программная печать внешних печатных форм для УТ 11 (управляемые формы) двумя методами, с выводом шаблона на экран и печатью напрямую на принтер
- УПД с прочерками в графах 2-4 для 1С:Бухгалтерии 3.0, внешняя печатная форма
Найденные решения
(3) в таком случае через ЗадатьОбластьПечатиДокумента() надо устанавливать область печати на экземпляре
скорее всего у вас уже есть СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати)
чтобы заработало, надо в нее в конец цикла по МассивОбъектов добавить нечто подобное
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, НомерСтрокиНачало, ОбъектыПечати, СсылкаИзМассива)
например
скорее всего у вас уже есть СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати)
чтобы заработало, надо в нее в конец цикла по МассивОбъектов добавить нечто подобное
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, НомерСтрокиНачало, ОбъектыПечати, СсылкаИзМассива)
например
Функция СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати) Экспорт
ТабДокумент = Новый ТабличныйДокумент;
Для каждого СсылкаИзМассива Из МассивОбъектов Цикл
НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;
Макет = ПолучитьМакет("Макет");
Шапка = Макет.ПолучитьОбласть("Заголовок");
Шапка.Параметры.Документ = Строка(СсылкаИзМассива);
ТабДокумент.Вывести(Шапка);
СтрокаОбласть = Макет.ПолучитьОбласть("Строка");
// наполняем строки, возможно в цикле
СтрокаОбласть.Параметры.<Чего-то там> = <Что-то там>;
ТабДокумент.Вывести(СтрокаОбласть);
// На последнем листе каждого документа делаем разрыв страницы.
ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
// задаем имя области, в которую был выведен объект, чтобы было возможно печатать покомплектно.
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, НомерСтрокиНачало, ОбъектыПечати, СсылкаИзМассива);
КонецЦикла;
КонецФункции
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) в таком случае через ЗадатьОбластьПечатиДокумента() надо устанавливать область печати на экземпляре
скорее всего у вас уже есть СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати)
чтобы заработало, надо в нее в конец цикла по МассивОбъектов добавить нечто подобное
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, НомерСтрокиНачало, ОбъектыПечати, СсылкаИзМассива)
например
скорее всего у вас уже есть СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати)
чтобы заработало, надо в нее в конец цикла по МассивОбъектов добавить нечто подобное
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, НомерСтрокиНачало, ОбъектыПечати, СсылкаИзМассива)
например
Функция СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати) Экспорт
ТабДокумент = Новый ТабличныйДокумент;
Для каждого СсылкаИзМассива Из МассивОбъектов Цикл
НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;
Макет = ПолучитьМакет("Макет");
Шапка = Макет.ПолучитьОбласть("Заголовок");
Шапка.Параметры.Документ = Строка(СсылкаИзМассива);
ТабДокумент.Вывести(Шапка);
СтрокаОбласть = Макет.ПолучитьОбласть("Строка");
// наполняем строки, возможно в цикле
СтрокаОбласть.Параметры.<Чего-то там> = <Что-то там>;
ТабДокумент.Вывести(СтрокаОбласть);
// На последнем листе каждого документа делаем разрыв страницы.
ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
// задаем имя области, в которую был выведен объект, чтобы было возможно печатать покомплектно.
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, НомерСтрокиНачало, ОбъектыПечати, СсылкаИзМассива);
КонецЦикла;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот