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