По теме из базы знаний
- Документооборот 8: Расширяем возможности автозаполнения шаблонов документов в 1С или XML-инъекция
- Работа с автозаполнением шаблонов файлов в документообороте
- Автозаполнение шаблонов файлов MXL в "1С:Документообороте"
- Массовая рассылка печатных форм любых документов по электронной почте
- Табличная часть в доп. реквизитах и формирование таблиц в шаблоне docx для 1С:ДО 3.0
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
какой код там надо прописать? я все настроил, застопорился на коде.... кто может помочь? просто никто не юзал такую функциональность из знакомых
у меня на 1.4 работает такой код для обработчика: Автоматическое заполнение файлов Внутреннего документа после утверждения
Задача = Событие.Источник;
МассивПредметов = МультипредметностьКлиентСервер.ПолучитьМассивПредметовОбъекта(Задача);
Для Каждого Документ ИЗ МассивПредметов Цикл
Если ДелопроизводствоКлиентСервер.ЭтоВнутреннийДокумент(Документ) Тогда
Если ТипЗнч(Задача.БизнесПроцесс)= Тип("БизнесПроцессСсылка.Утверждение") Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РезультатыУтверждения.РезультатУтверждения
|ИЗ
| БизнесПроцесс.Утверждение.РезультатыУтверждения КАК РезультатыУтверждения
|ГДЕ
| РезультатыУтверждения.ЗадачаИсполнителя = &ЗадачаИсполнителя
| И РезультатыУтверждения.РезультатУтверждения = &РезультатУтверждения";
Запрос.УстановитьПараметр("ЗадачаИсполнителя", Задача);
Запрос.УстановитьПараметр("РезультатУтверждения", Перечисления.РезультатыУтверждения.Утверждено);
Результат = Запрос.Выполнить();
Если НЕ Результат.Пустой() Тогда
КоличествоФайлов = Делопроизводство.КоличествоФайлов(Документ.Ссылка);
Если КоличествоФайлов > 0 Тогда
ВсеФайлыДокумента = РаботаСФайламиВызовСервера.ПолучитьВсеПодчиненныеФайлы(Документ.Ссылка, Ложь);
Для Каждого ТекущийФайл Из ВсеФайлыДокумента Цикл
СозданИзШаблона = ?(ТекущийФайл.ШаблонОснованиеДляСоздания <> Справочники.Файлы.ПустаяСсылка(), Истина, Ложь);
Если СозданИзШаблона Тогда
ДанныеВыполнения = АвтозаполнениеШаблоновФайловКлиентСервер.ЗаполнитьПоляФайлаДаннымиВладельца(Истина, ТекущийФайл.Ссылка, Ложь);
Если ДанныеВыполнения.Результат Тогда
Комментарий = "Автозаполнение полей файла после утверждения документа";
АвтозаполнениеШаблоновФайловСервер.ОбновитьВерсиюИзДвоичныхДанных(ДанныеВыполнения.ДвоичныеДанныеЗаполненногоФайла, ТекущийФайл, Комментарий);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Показать
для обработчика "Автоматическое заполнение файлов Внутреннего документа после согласования" код такой:
Задача = Событие.Источник;
МассивПредметов = МультипредметностьКлиентСервер.ПолучитьМассивПредметовОбъекта(Задача);
Для Каждого Документ ИЗ МассивПредметов Цикл
Если ДелопроизводствоКлиентСервер.ЭтоВнутреннийДокумент(Документ) Тогда
Если ТипЗнч(Задача.БизнесПроцесс)= Тип("БизнесПроцессСсылка.Согласование") Тогда
Виза = РаботаСВизамиСогласования.ПолучитьАктивнуюВизуПоЗадаче(Документ, Задача);
Если Виза <> Неопределено И Виза.РезультатСогласования <> Перечисления.РезультатыСогласования.НеСогласовано Тогда
КоличествоФайлов = Делопроизводство.КоличествоФайлов(Документ.Ссылка);
Если КоличествоФайлов > 0 Тогда
ВсеФайлыДокумента = РаботаСФайламиВызовСервера.ПолучитьВсеПодчиненныеФайлы(Документ.Ссылка, Ложь);
Для Каждого ТекущийФайл Из ВсеФайлыДокумента Цикл
СозданИзШаблона = ?(ТекущийФайл.ШаблонОснованиеДляСоздания <> Справочники.Файлы.ПустаяСсылка(), Истина, Ложь);
Если СозданИзШаблона Тогда
ДанныеВыполнения = АвтозаполнениеШаблоновФайловКлиентСервер.ЗаполнитьПоляФайлаДаннымиВладельца(Истина, ТекущийФайл.Ссылка, Ложь);
Если ДанныеВыполнения.Результат Тогда
Комментарий = "Автозаполнение полей файла после согласования документа";
АвтозаполнениеШаблоновФайловСервер.ОбновитьВерсиюИзДвоичныхДанных(ДанныеВыполнения.ДвоичныеДанныеЗаполненногоФайла, ТекущийФайл, Комментарий);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Показать
ну и уж до кучи обработчик "Автоматическое заполнение файлов Внутреннего документа после регистрации"
Подписка: Регистрация внутреннего документа
Документ = Событие.Источник;
КоличествоФайлов = Делопроизводство.КоличествоФайлов(Документ.Ссылка);
Если КоличествоФайлов > 0 Тогда
ВсеФайлыДокумента = РаботаСФайламиВызовСервера.ПолучитьВсеПодчиненныеФайлы(Документ.Ссылка, Ложь);
Для Каждого ТекущийФайл Из ВсеФайлыДокумента Цикл
СозданИзШаблона = ?(ТекущийФайл.ШаблонОснованиеДляСоздания <> Справочники.Файлы.ПустаяСсылка(), Истина, Ложь);
Если СозданИзШаблона Тогда
ДанныеВыполнения = АвтозаполнениеШаблоновФайловКлиентСервер.ЗаполнитьПоляФайлаДаннымиВладельца(Истина, ТекущийФайл, Ложь);
Если ДанныеВыполнения.Результат Тогда
Комментарий = "Автозаполнение полей файла после регистрации";
АвтозаполнениеШаблоновФайловСервер.ОбновитьВерсиюИзДвоичныхДанных(ДанныеВыполнения.ДвоичныеДанныеЗаполненногоФайла, ТекущийФайл, Комментарий);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
ПоказатьПодписка: Регистрация внутреннего документа
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот