UPD 12.12.2024: добавлен скрипт заполнения файла результатами согласования
Поделюсь (точнее пишу для себя, чтобы не потерять) теми скриптами автозаполнения шаблонов файлов 1С: Документооборот 3.0 которые использовал на этапе первичной настройки. Возможно кому‑то и пригодиться кроме меня. Список будет в дальнейшем пополняться.
Поле файла "ДолжностьАдресата"
Выводим должность адресата документа
РезультатОбработки = ""; Сотрудник = Файл.ВладелецФайла.Адресат; Если ЗначениеЗаполнено(Сотрудник) Тогда РезультатОбработки = СклонениеПредставленийОбъектов.ПросклонятьПредставление( Строка(Сотрудник.Должность), 3); КонецЕсли;
Поле файла "Содержание"
При работе Документооборота 3.0 и Word есть особенность, знак новой строки превращается в перенос строки и из-за этого весь текст содержания документа (когда его много) выглядит плохо...

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

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

7.1Автор визы
РезультатОбработки = ""; Документ = Файл.ВладелецФайла; лТекст = " |ВЫБРАТЬ | ВизыСогласования.УстановилРезультат КАК УстановилРезультат |ИЗ | Справочник.ВизыСогласования КАК ВизыСогласования |ГДЕ | ВизыСогласования.Документ = &Документ"; лЗапрос = Новый Запрос(лТекст); лЗапрос.УстановитьПараметр("Документ", Документ); лВыборка = лЗапрос.Выполнить().Выбрать(); Пока лВыборка.Следующий() Цикл РезультатОбработки = лВыборка.УстановилРезультат; КонецЦикла;
7.2 Результат согласования СОГЛАСОВАНО и СОГЛАСОВАНО С ЗАМЕЧАНИЯМИ
РезультатОбработки = ""; Документ = Файл.ВладелецФайла; лТекст = " |ВЫБРАТЬ | ВизыСогласования.РезультатСогласования КАК РезультатСогласования |ИЗ | Справочник.ВизыСогласования КАК ВизыСогласования |ГДЕ | ВизыСогласования.Документ = &Документ"; лЗапрос = Новый Запрос(лТекст); лЗапрос.УстановитьПараметр("Документ", Документ); лВыборка = лЗапрос.Выполнить().Выбрать(); Пока лВыборка.Следующий() Цикл РезультатОбработки = ВРег(лВыборка.РезультатСогласования); КонецЦикла; Если РезультатОбработки = ВРег("Согласовано") ИЛИ РезультатОбработки = ВРег("Согласовано с замечаниями") Тогда РезультатОбработки = ВРег(лВыборка.РезультатСогласования); ИНАЧЕ РезультатОбработки = ""; КонецЕсли;
7.3 Результат согласования: НЕ СОГАСОВАНО
РезультатОбработки = ""; Документ = Файл.ВладелецФайла; лТекст = " |ВЫБРАТЬ | ВизыСогласования.РезультатСогласования КАК РезультатСогласования |ИЗ | Справочник.ВизыСогласования КАК ВизыСогласования |ГДЕ | ВизыСогласования.Документ = &Документ"; лЗапрос = Новый Запрос(лТекст); лЗапрос.УстановитьПараметр("Документ", Документ); лВыборка = лЗапрос.Выполнить().Выбрать(); Пока лВыборка.Следующий() Цикл РезультатОбработки = ВРег(лВыборка.РезультатСогласования); КонецЦикла; Если РезультатОбработки = ВРег("Не согласовано") Тогда РезультатОбработки = ВРег(лВыборка.РезультатСогласования); ИНАЧЕ РезультатОбработки = ""; КонецЕсли;
7.4 Комментарий при согласовании
РезультатОбработки = ""; Документ = Файл.ВладелецФайла; лТекст = " |ВЫБРАТЬ | ВизыСогласования.Комментарий КАК Комментарий |ИЗ | Справочник.ВизыСогласования КАК ВизыСогласования |ГДЕ | ВизыСогласования.Документ = &Документ"; лЗапрос = Новый Запрос(лТекст); лЗапрос.УстановитьПараметр("Документ", Документ); лВыборка = лЗапрос.Выполнить().Выбрать(); Пока лВыборка.Следующий() Цикл РезультатОбработки = ВРег(СОКРЛП(лВыборка.Комментарий)); КонецЦикла;
