Печать документов в УНФ

1. user2069136 03.06.24 17:55 Сейчас в теме
Здравствуйте, подскажите пожалуйста, мне нужно в обработке найти все объекты, которые имею зарегистрированные печатные формы, как это сделать. Нашел 2 пути
1) Через УправлениеПечатью.СформироватьПечатныеФормы, но не понимаю, как обойти все объекты
2)
_______________________________________________
ВсеПФ = Новый ТаблицаЗначений;
ВсеПФ.Колонки.Добавить("Документ");
ВсеПФ.Колонки.Добавить("ПФ");
Для Каждого Документ ИЗ Метаданные.Документы Цикл
   Попытка
       ДанныеПФ = УправлениеПечатью.КомандыПечатиОбъекта(Документ);
    Исключение
        Продолжить;
    КонецПопытки;
    Для Каждого Строка ИЗ ДанныеПФ Цикл
        НоваяСтрока = ВсеПФ.Добавить();
        НоваяСтрока.Документ = Документ;
        НоваяСтрока.ПФ = Строка.Представление;
    КонецЦикла;
КонецЦикла; 
Показать

______________________________________________
Но вторым способом получаю только документы.
Подскажите куда копать. Конфигурация Типовая УНФ 3.0.
По теме из базы знаний
Найденные решения
4. Vadim-SH 04.06.24 12:35 Сейчас в теме
(3) Не входит в цикл, значит результат запроса пустой. Т.е. нет зарегистрированных доп.печатных форм.

Возможно, вам нужен список команд печати:


	ИсточникиКомандПечати = УправлениеПечатью.ИсточникиКомандПечати();
	Для Каждого ИсточникКомандПечати Из ИсточникиКомандПечати Цикл
		ИдентификаторИсточникаКомандПечати = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ИсточникКомандПечати);
		КомандыПечатиОбъекта = УправлениеПечатью.КомандыПечатиОбъекта(ИсточникКомандПечати);
		Для Каждого КомандаПечати Из КомандыПечатиОбъекта Цикл

		КонецЦикла;		
	КонецЦикла;

Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Vadim-SH 04.06.24 08:36 Сейчас в теме
(1) Доп. печатные формы регистрируются в справочнике ДополнительныеОтчетыИОбработки.

ВЫБРАТЬ
	ДополнительныеОтчетыИОбработкиНазначение.ОбъектНазначения КАК ОбъектНазначения,
	ДополнительныеОтчетыИОбработкиНазначение.ОбъектНазначения.ПолноеИмя КАК ОбъектНазначенияПолноеИмя,
	ДополнительныеОтчетыИОбработкиНазначение.Ссылка КАК ПечатнаяФорма,
	ДополнительныеОтчетыИОбработкиНазначение.Ссылка.Вид КАК Вид
ИЗ
	Справочник.ДополнительныеОтчетыИОбработки.Назначение КАК ДополнительныеОтчетыИОбработкиНазначение
ГДЕ
	ДополнительныеОтчетыИОбработкиНазначение.Ссылка.Вид = ЗНАЧЕНИЕ(Перечисление.ВидыДополнительныхОтчетовИОбработок.ПечатнаяФорма)
Показать
3. user2069136 04.06.24 09:56 Сейчас в теме
(2)
Запрос = Новый Запрос;
	Запрос.Текст =	
"ВЫБРАТЬ
|	ДополнительныеОтчетыИОбработки.Назначение.(
|		ОбъектНазначения КАК ОбъектНазначения,
|		ОбъектНазначения.ПолноеИмя КАК ОбъектНазначенияПолноеИмя,
|		Ссылка КАК ПечатнаяФорма,
|		Ссылка.Вид КАК Вид
|	) КАК Назначение
|ИЗ
|	Справочник.ДополнительныеОтчетыИОбработки КАК ДополнительныеОтчетыИОбработки
|ГДЕ
|	ДополнительныеОтчетыИОбработки.Назначение.Ссылка.Вид = ЗНАЧЕНИЕ(Перечисление.ВидыДополнительныхОтчетовИОбработок.ПечатнаяФорма)";
	
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
	//обращение к полям
	Сообщить(Выборка.ОбъектНазначения);
	Сообщить(Выборка.ОбъектНазначенияПолноеИмя);
	Сообщить(Выборка.ПечатнаяФорма);
	Сообщить(Выборка.Вид); 
	КонецЦикла;
Показать

Сделал вот такой код, но не работается, даже в цикл не заходит, что не так?
Заранеее спасибо!
4. Vadim-SH 04.06.24 12:35 Сейчас в теме
(3) Не входит в цикл, значит результат запроса пустой. Т.е. нет зарегистрированных доп.печатных форм.

Возможно, вам нужен список команд печати:


	ИсточникиКомандПечати = УправлениеПечатью.ИсточникиКомандПечати();
	Для Каждого ИсточникКомандПечати Из ИсточникиКомандПечати Цикл
		ИдентификаторИсточникаКомандПечати = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ИсточникКомандПечати);
		КомандыПечатиОбъекта = УправлениеПечатью.КомандыПечатиОбъекта(ИсточникКомандПечати);
		Для Каждого КомандаПечати Из КомандыПечатиОбъекта Цикл

		КонецЦикла;		
	КонецЦикла;

Показать
5. user2069136 04.06.24 16:58 Сейчас в теме
(4) Спасибо вам! Теперь осталось как то их на форму засунуть:D Буду думать, если подсказки будут, буду рад!
6. Vadim-SH 04.06.24 20:06 Сейчас в теме
(5) Есть общая форма НастройкаКомандПечати, может, она что-то подскажет.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот