Здравствуйте, подскажите пожалуйста, мне нужно в обработке найти все объекты, которые имею зарегистрированные печатные формы, как это сделать. Нашел 2 пути
1) Через УправлениеПечатью.СформироватьПечатныеФормы, но не понимаю, как обойти все объекты
2)
_______________________________________________
______________________________________________
Но вторым способом получаю только документы.
Подскажите куда копать. Конфигурация Типовая УНФ 3.0.
1) Через УправлениеПечатью.СформироватьПечатныеФормы, но не понимаю, как обойти все объекты
2)
_______________________________________________
ВсеПФ = Новый ТаблицаЗначений;
ВсеПФ.Колонки.Добавить("Документ");
ВсеПФ.Колонки.Добавить("ПФ");
Для Каждого Документ ИЗ Метаданные.Документы Цикл
Попытка
ДанныеПФ = УправлениеПечатью.КомандыПечатиОбъекта(Документ);
Исключение
Продолжить;
КонецПопытки;
Для Каждого Строка ИЗ ДанныеПФ Цикл
НоваяСтрока = ВсеПФ.Добавить();
НоваяСтрока.Документ = Документ;
НоваяСтрока.ПФ = Строка.Представление;
КонецЦикла;
КонецЦикла;
Показать______________________________________________
Но вторым способом получаю только документы.
Подскажите куда копать. Конфигурация Типовая УНФ 3.0.
По теме из базы знаний
- Внешняя печатная форма "Расчет отходов" документа "Производство" для УНФ
- Загрузка чеков в 1С из ФНС в документы БП, УНФ, ERP, КА и УТ
- Смета в 1С:УНФ - создать, сохранить, распечатать
- Накладная (в т.ч. с услугами и факсимиле) из документа Расходная накладная (УНФ 1.6-3.0, Розница 3.0)
- Накладная с картинками товара (в том числе с услугами и факсимиле) без цены и суммы (УНФ 1.6 (3.0), Розница 3.0)
Найденные решения
(3) Не входит в цикл, значит результат запроса пустой. Т.е. нет зарегистрированных доп.печатных форм.
Возможно, вам нужен список команд печати:
Возможно, вам нужен список команд печати:
ИсточникиКомандПечати = УправлениеПечатью.ИсточникиКомандПечати();
Для Каждого ИсточникКомандПечати Из ИсточникиКомандПечати Цикл
ИдентификаторИсточникаКомандПечати = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ИсточникКомандПечати);
КомандыПечатиОбъекта = УправлениеПечатью.КомандыПечатиОбъекта(ИсточникКомандПечати);
Для Каждого КомандаПечати Из КомандыПечатиОбъекта Цикл
КонецЦикла;
КонецЦикла;
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Доп. печатные формы регистрируются в справочнике ДополнительныеОтчетыИОбработки.
ВЫБРАТЬ
ДополнительныеОтчетыИОбработкиНазначение.ОбъектНазначения КАК ОбъектНазначения,
ДополнительныеОтчетыИОбработкиНазначение.ОбъектНазначения.ПолноеИмя КАК ОбъектНазначенияПолноеИмя,
ДополнительныеОтчетыИОбработкиНазначение.Ссылка КАК ПечатнаяФорма,
ДополнительныеОтчетыИОбработкиНазначение.Ссылка.Вид КАК Вид
ИЗ
Справочник.ДополнительныеОтчетыИОбработки.Назначение КАК ДополнительныеОтчетыИОбработкиНазначение
ГДЕ
ДополнительныеОтчетыИОбработкиНазначение.Ссылка.Вид = ЗНАЧЕНИЕ(Перечисление.ВидыДополнительныхОтчетовИОбработок.ПечатнаяФорма)
Показать
(2)
Сделал вот такой код, но не работается, даже в цикл не заходит, что не так?
Заранеее спасибо!
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДополнительныеОтчетыИОбработки.Назначение.(
| ОбъектНазначения КАК ОбъектНазначения,
| ОбъектНазначения.ПолноеИмя КАК ОбъектНазначенияПолноеИмя,
| Ссылка КАК ПечатнаяФорма,
| Ссылка.Вид КАК Вид
| ) КАК Назначение
|ИЗ
| Справочник.ДополнительныеОтчетыИОбработки КАК ДополнительныеОтчетыИОбработки
|ГДЕ
| ДополнительныеОтчетыИОбработки.Назначение.Ссылка.Вид = ЗНАЧЕНИЕ(Перечисление.ВидыДополнительныхОтчетовИОбработок.ПечатнаяФорма)";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
//обращение к полям
Сообщить(Выборка.ОбъектНазначения);
Сообщить(Выборка.ОбъектНазначенияПолноеИмя);
Сообщить(Выборка.ПечатнаяФорма);
Сообщить(Выборка.Вид);
КонецЦикла;
ПоказатьСделал вот такой код, но не работается, даже в цикл не заходит, что не так?
Заранеее спасибо!
(3) Не входит в цикл, значит результат запроса пустой. Т.е. нет зарегистрированных доп.печатных форм.
Возможно, вам нужен список команд печати:
Возможно, вам нужен список команд печати:
ИсточникиКомандПечати = УправлениеПечатью.ИсточникиКомандПечати();
Для Каждого ИсточникКомандПечати Из ИсточникиКомандПечати Цикл
ИдентификаторИсточникаКомандПечати = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ИсточникКомандПечати);
КомандыПечатиОбъекта = УправлениеПечатью.КомандыПечатиОбъекта(ИсточникКомандПечати);
Для Каждого КомандаПечати Из КомандыПечатиОбъекта Цикл
КонецЦикла;
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот