База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как в ЗУП 3.1 получить все реквизиты документа «Приём на работу»?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 минута назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
17 августа 2026 в 9:54 #38388
напиши ВПФ конфигурация ЗУП 3.1 выбрать все реквизиты документа прием на работу на печатную форму
-
17 августа 2026 в 9:54 #38389
Чтобы во внешней печатной форме (ВПФ) для документа «ПриемНаРаботу» в ЗУП 3.1 вывести все реквизиты документа, нужно в модуле обработки ВПФ получить ссылку на объект документа и затем обратиться к его реквизитам.
Пример кода на языке 1С (BSL) для процедуры формирования табличного документа с выводом всех реквизитов документа «ПриемНаРаботу»:
|Процедура Печать(Объекты, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
| Если Объекты = Неопределено Или Объекты.Количество() = 0 Тогда
| Возврат;
| КонецЕсли;
|
| ДокументПриемНаРаботу = Объекты[0];
|
| ТабДок = Новый ТабличныйДокумент;
| ТабДок.Колонки.Добавить(«Реквизит»);
| ТабДок.Колонки.Добавить(«Значение»);
|
| // Получаем метаданные документа
| МетаданныеДокумента = ДокументПриемНаРаботу.Метаданные();
|
| Для каждого Реквизит Из МетаданныеДокумента.Реквизиты Цикл
| ИмяРеквизита = Реквизит.Имя;
| ЗначениеРеквизита = ДокументПриемНаРаботу[ИмяРеквизита];
| // Преобразуем значение в строку для вывода
| Если ЗначениеРеквизита = Неопределено Тогда
| СтрокаЗначения = «»;
| ИначеЕсли ТипЗнч(ЗначениеРеквизита) = Тип(«Дата») Тогда
| СтрокаЗначения = Формат(ЗначениеРеквизита, «ДФ=dd.MM.yyyy»);
| ИначеЕсли ТипЗнч(ЗначениеРеквизита) = Тип(«СправочникСсылка») Тогда
| СтрокаЗначения = ЗначениеРеквизита.Представление;
| Иначе
| СтрокаЗначения = Формат(ЗначениеРеквизита);
| КонецЕсли;
|
| ТабДок.ДобавитьСтроку();
| ТабДок.Значения[ТабДок.КоличествоСтрок, «Реквизит»] = Реквизит.Имя;
| ТабДок.Значения[ТабДок.КоличествоСтрок, «Значение»] = СтрокаЗначения;
| КонецЦикла;
|
| // Вывод табличного документа на печать или в форму
| ПоказатьТабличныйДокумент(ТабДок);
|КонецПроцедурыОбъяснение:
— ВПФ получает массив объектов, берём первый — это ссылка на документ «ПриемНаРаботу».
— Через метаданные документа перебираем все реквизиты.
— Для каждого реквизита получаем значение из объекта.
— Приводим значение к строке с учётом типа (дата, справочник и т.п.).
— Заполняем табличный документ двумя колонками: имя реквизита и его значение.
— Выводим табличный документ на экран.Если нужно вывести реквизиты табличных частей, то нужно отдельно получить табличные части и пройтись по ним.
Для табличных частей пример:
|Для каждого ТабЧасть Из МетаданныеДокумента.ТабличныеЧасти Цикл
| ИмяТабЧасти = ТабЧасть.Имя;
| Таблица = ДокументПриемНаРаботу[ИмяТабЧасти];
| Для каждого Строка Из Таблица Цикл
| // Аналогично выводим реквизиты строк табличной части
| КонецЦикла;
|КонецЦикла;Рекомендую посмотреть здесь, как работать с ВПФ и табличными документами:
https://infostart.ru/public/191796/
https://infostart.ru/1c/articles/633085/
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.