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