Главная → База знаний → 1с документооборот автозаполнение шаблонов документов
Как настроить автозаполнение исходящего документа в 1С:Документооборот?
Автор: Владимир Лушников | Последнее обновление: 20 июля 2023
Чтобы уменьшить трудозатраты на создание и заполнение исходящих писем, а также для унификации документирования, рекомендуется настроить автозаполняемый шаблон файла исходящего документа в 1С:Документообороте.
Настройки автозаполнения файлов в 1С:Документооборот подробно рассмотрены в видеокурсе.
Далее будет рассмотрена настройка автозаполнения в 1С:Документооборот версии 2.0.
В 1С:Документооборот под Администратором или пользователем с правами "Ответственный за НСИ" открываем справочник "Файлы".
В папку "Шаблоны файлов" загружаем файл исходящего письма.
Добавим в файл следующие поля ввода: ПолнНазвОрганизации, КраткНазвОрганизации, АдресОрганизации, Телефон, ОКПО, ОГРН, ИНН, КПП, Куда, Кому, ДатаРегистрации, РегНомер, ВОтветНа, ЗаголовокПисьма, СодержаниеПисьма, ДолжностьПодписанта, ФИОПодписанта.
В левом верхнем углу файла напишем команду ВставитьИзображениеШтрихкода, чтобы система в указанном месте вставила штрихкод.
В результате у нас получится следующий файл:
Готовый автозаполняемый шаблон файла исходящего письма можно скачать по ссылке: Исходящее письмо.
Теперь настроим правила автозаполнения этого файла для вида исходящего документа «Письмо».
После указания всех настроек наше правило должно выглядеть следующим образом:
В старых версиях 1С:Документооборот в справочнике Организации поле ОГРН отсутствовало, поэтому при заполнении поля ОГРН нам нужно было предварительно создавать дополнительный реквизит для справочника «Организации».
Для правила заполнения поля «Куда» нам нужно будет написать выражение на встроенном языке, так как получатель хранится в табличной части. Для упрощения будем считать что у нас всегда один получатель, поэтому будем брать первую строчку в табличной части «Получатели». Если имеет место большое кол-во исходящих писем с несколькими получателями, то нужно переделать выражение на встроенном языке.
//Получаем первого контрагента из табличной части Получатели
Контрагент = Файл.ВладелецФайла.Получатели[0].Получатель;
РезультатОбработки = "";
Если ЗначениеЗаполнено(Контрагент) Тогда
РезультатОбработки = Контрагент.НаименованиеПолное;
КонецЕсли;
Аналогично поступаем и с полем «Кому». Причем ФИО можем просклонять, а для должности добавим дополнительный реквизит «Должность в дательном падеже» для справочника «Контактные лица».
Тип значения дополнительного реквизита укажем «Дополнительное значение».
Правила замены будут выглядеть следующим образом:
//Получаем первого адресата из табличной части Получатели
Адресат = Файл.ВладелецФайла.Получатели[0].Адресат;
РезультатОбработки = "";
Если ЗначениеЗаполнено(Адресат) Тогда
ДолжностьВДательномПадеже = АвтозаполнениеШаблоновФайловСервер.ПолучитьЗначениеДопРеквизитаОбъекта(Адресат, "Должность в дательном падеже");
ФИО = Адресат.Наименование;
// Просклоняем ФИО
РезФИО = "";
Если ФизическиеЛицаКлиентСервер.Просклонять(ФИО, 3, РезФИО) Тогда
РезультатОбработкиФИО = РезФИО;
Иначе
РезультатОбработкиФИО = ФИО;
КонецЕсли;
РезультатОбработки = СокрЛП(ДолжностьВДательномПадеже) + " " + РезультатОбработкиФИО;
КонецЕсли;
Для поля ДатаРегистрации нам потребуется еще установить формат даты:
Поле ВОтветНа может быть, а может не быть заполнено. Если это исходящее письмо ответное, то тогда у нас будет автоматически заполнена связь «Отправлен в ответ на». И у входящего документа нам нужно брать не наш регистрационный номер и дату, а номер и дату отправителя входящего документа:
Док = Файл.ВладелецФайла.Ссылка;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СвязиДокументов.СвязанныйДокумент.ИсходящаяДата КАК ИсходящаяДата,
| СвязиДокументов.СвязанныйДокумент.ИсходящийНомер КАК ИсходящийНомер
|ИЗ
| РегистрСведений.СвязиДокументов КАК СвязиДокументов
|ГДЕ
| СвязиДокументов.Документ = &Документ
| И СвязиДокументов.ТипСвязи = &ТипСвязи";
Запрос.УстановитьПараметр("Документ", Док);
Запрос.УстановитьПараметр("ТипСвязи", Справочники.ТипыСвязей.ОтправленВОтветНа);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаЗапроса = РезультатЗапроса.Выбрать();
Если ВыборкаЗапроса.Следующий() Тогда
РезультатОбработки = "На № " + ВыборкаЗапроса.ИсходящийНомер + " от " + Формат(ВыборкаЗапроса.ИсходящаяДата, "ДЛФ=D");
Иначе
РезультатОбработки = "";
КонецЕсли;
При автозаполнении поля ЗаголовокПисьма важно помнить, что реквизит Наименование нам вряд ли подойдет, так как после регистрации документа в данном реквизите также будет храниться номер и дата документа. Поэтому целесообразно использовать реквизит Заголовок.
Для поля ДолжностьПодписанта используем выражение на встроенном языке:
РезультатОбработки = РаботаСПользователями.ПолучитьДолжность(Файл.ВладелецФайла.Подписал);
В результате проверки после добавления файла из шаблона мы должны получить следующий результат заполненного файла:
При настройке правил автозаполнения шаблона файла на встроенном языке 1С полезно будет разобраться со структурой хранения внутреннего документа.
Настройки автозаполнения файлов в 1С:Документооборот подробно рассмотрены в видеокурсе.
авторизуйтесь
Создаю новый тип документа. Настроил автозаполнение. При "проверке автозаполнения" все хорошо. Однако, когда регистрируется новый документ автозаполнение не срабатывает.
В чем может быть проблема ?
Взял шаблон файла, который заполняется. Изменил его по свой формат и ву-а-ля.
Думаю, свойствах самого файла была какая-то трабла.
"с чистого листа" не пробовал пока, а надо будет
Помогите, пожалуйста с решением проблемы. Есть шаблоны файлов с настроенными полями автозаполнения. При первичном Заполнении файла данными документа автозаполнение отрабатывает корректно. Но после того, как документ проходит регистрацию и мы Заполняем его данными файл повторно. Информация из части уже заполненных полей пропадает, либо начинает отражаться некорректно. При этом в документе остаются поля с заполненными данными, которые изменениям не подвергаются, т.е. как все было хорошо, так все хорошо и осталось. Подскажите, пожалуйста, что это может быть и как это можно устранить?
"Информация из части уже заполненных полей пропадает, либо начинает отражаться некорректно".
Правило автозаполнения файла берет информацию из карточки документа в текущий момент. Возможно, информация в полях карточки изменялась, перезаписывалась.
Спасибо за ответ. Информация в полях регистрационной карточки документа на которое ссылается поле автозаполнения есть. Т.Е. вариант, когда поле почистили в РК и поэтому автозаполнению в документ "подтягивать" нечего мы не рассматриваем.
При попытке выполнить команду "Заполнить файл данными документа" получаю ошибку:
"Некорректный формат файла: /tmp/v8_GKLGh9_63b2.zip"
Файл шаблона .docx. Если использую .doc, то получаю ошибку "Необходимо проверить правильность установки Word"
Подскажите, пожалуйста, после автозаполнения, поля в документе выделяются серым цветом. Есть ли возможность использовать не серый цвет, а например зеленый или какой-то другой? (Почему-то пользователей на работе раздражает темный серый цвет полей..)
Если у сотрудника в структуре предприятия заполнено Подразделение, то данное поле тянется в карточку документа автоматом ( проверьте шаблон документа и выведете там данное поле в форму, если его нет и так же проверьте структуру предприятия на заполненность поля "Подразделение"), но это типовая возможность
Подскажите пожалуйста.
Возможно ли автоматическое заполнение реквизитов когда создается внутренний документ на основании другого внутреннего документа. Например есть физ.лицо в обоих документах, как сделать, чтобы оно копировалось из документа-основание ?
Всё здорово получается и файлик вордовский великолепно заполняется реквизитами заданными из документа.... НО! Зачем и почему и как убрать все заполненные реквизиты выделены серым цветом. То есть все эти реквизиты в итоге в договоре в печатной уже версии выдедены. Наверняка, вопрос глупый и решение элементарное - НО никак не пойму!)
Заранее премного благодарен!
В файле ворда, чтобы убрать выделение полей, отожмите кнопку "Затенение полей формы". Она находится на ленте Разработчик - Формы предыдущих версий.
В 1С:Документообороте можно использовать доп.реквизиты для автозаполнения шаблонов файлов.
Создаю шаблон документа в формате docx. В шаблоне использую автоподстановку "регистрационный номер". При создании документа по шаблону инициатор вносит в документ изменения и документ отравляется на утверждение и регистрацию. После регистрации при нажатии кнопки "заполнить файл данными документа" автоподстановка уже не срабатывает. Если в документ изменения не вносятся автоподстановка отрабатывает корректно. читал в комментариях рекомендацию использовать формат doc, но для меня критично необходим формат docx. Прошу помочь, если выход при использовании формата docx? Спасибо.
...
Запрос.УстановитьПараметр("ТипСвязи", Справочники.ТипыСвязей.ОтправленВОтветНа);
...
ссылку на связь можно установить только на существующие в программе? Я создала свой тип связи, пишет, что тип связи не найдет.
Логин можно указать в константе, а как указать пароль (либо токен)?
Не вставляется штрихкод в нижний колонтитул автозаполяемого шаблона, как можно обойти эту проблему?
Возможно ли в файле сделать редактируемые автозаполненные поля?
Нашел функцию в ворде ctrl+shift+f9. Как это можно прикрутить в 1с?
Заполненный из шаблона, подписанный и зарегистрированный исх. документ в Word отсылается адресату, но при этом остается открытым для редактирования адресатом. Как закрыть документ перед отправкой в 1С Документообороте?
1.В исх. документе созданном по шаблону при регистрации не заполняется поле исх. номер и дата, при "Заполнить файл данными документа" заполнение происходит, файл doc. Как заполнить автоматически? Что делается не правильно?
2.При получении входящего документа, требующего ответа руководитель отправляет его сотруднику для исполнения. Но тот получив задачу может лишь написать письмо и создать запись календаря.
Для создания ответа надо во входящих найти этот документ и там "На основании" создать исходящий.
Есть ли вариант сразу из "ИСПОЛНЕНИЯ" создать исх. документ?
Решил объединить 2 рекомендованных Вами скрипта:
РезультатОбработки = СклонениеПредставленийОбъектов.Просклонять(РаботаСПользователями.ПолучитьДолжность(Файл.ВладелецФайла.Ответственный), 2), однако при автозаполнении выводит ошибку (при отладке попадает в исключение в модуле АвтозаполнениеШаблоновФайлов).
Что может быть не так? Регистр "Склонения представлений объектов" пустой и непонятно какой объект конфигурации его заполняет.
https://www.doc-lvv.ru/biblioteka-skriptov-1c-dokumentooborot
Прошу помощи в автозаполнении шаблона СЗ. Суть проблемы такова, изначально шаблон уже преднастроен типовыми функциями документооборота. После написания СЗ, по маршруту она уходит на подписание руководителю отдела, он её подписывает и она уходит адресату. Если открыть файл шаблона, то видно, что подписант является не руководитель отдела, а автор документа. (в маршруте то указан подписант руководитель отдела….)
Часть шаблона я уже исправил.
Нормативно-справочная информация – виды документов – служебная записка – файлы.
Далее открыть настройки заполнения и указал требуемые мне реквизиты.
На шаблоне появился ИОФ подписанта. А как вывести должность подписанта???
В программировании не силен к сожалению.
Наверное нужно что то прописать в скрипте????
ПОМОГИТЕ. С меня печеньки)))
Заранее спасибо!
Версия 1С документооборот КОРП 2.1
P.S. во всех статьях есть пунк в настройках правила автозаполнения шаблонов и там уже к типам документов указаны необходимые реквизиты в формате {…….} у себя я такого не нашел
Прошу помощи в автозаполнении шаблона СЗ. Суть проблемы такова, изначально шаблон уже преднастроен типовыми функциями документооборота. После написания СЗ, по маршруту она уходит на подписание руководителю отдела, он её подписывает и она уходит адресату. Если открыть файл шаблона, то видно, что подписант является не руководитель отдела, а автор документа. (в маршруте то указан подписант руководитель отдела….)
Часть шаблона я уже исправил.
Нормативно-справочная информация – виды документов – служебная записка – файлы.
Далее открыть настройки заполнения и указал требуемые мне реквизиты.
На шаблоне появился ИОФ подписанта. А как вывести должность подписанта???
В программировании не силен к сожалению.
Наверное нужно что то прописать в скрипте????
ПОМОГИТЕ. С меня печеньки)))
Заранее спасибо!
Версия 1С документооборот КОРП 2.1
P.S. во всех статьях есть пунк в настройках правила автозаполнения шаблонов и там уже к типам документов указаны необходимые реквизиты в формате {…….} у себя я такого не нашел
РезультатОбработки = РаботаСПользователями.ПолучитьДолжность(Файл.ВладелецФайла.Подписал);
Подскажите такой момент. У нас в компании есть англоязычные сотрудники. Используется Документооборот КОРП 2.1.11
Что необходимо докупить, чтобы можно было использовать в единой базе еще и английский интерфейс?
Показать еще комментарии (1)
Может использоваться на российских предприятиях с филиалами или дочерними предприятиями за рубежом, российских предприятиях со значительной долей сотрудников-иностранцев, а также в филиалах иностранных компаний в России.
Возможны три варианта работы:
Полностью английский интерфейс;
Основной интерфейс – английский, а для некоторых сотрудников – русский;
Основной интерфейс – русский, а для некоторых сотрудников – английский.
Возможно ли upgrade с версии КОРП? Или надо покупать?
Нет ли language pack для версии КОРП?
Но лучше уточнить в 1С-КПД: www.1c-kpd.ru
Есть вид документа - приложение к договору.
Там есть табличная часть. Она выводится в шаблон автозаполнения.
Можно ли в табличной части добавить свое поле, которое бы заполнялось по данным строки документа. Например ТЧ_Цена1=ТЧ_Цена*(100+ТЧ_СтавкаНДС)/100. Или иными словами, можно ли использовать скрипт для заполнения и вывода поля в табличной части документа?
Спасибо.
настроены шаблоны печати договоров, где прописан должность и фио подписанта от контрагента, в конце декабря перестала склонять должность, фио склоняется?
Показать еще комментарии (3)
Чего стоит ошибка с исчезновением поля "НомерДокумента" в исходящих, которая тянется уже больше года - и никто ничего не сделал...
Только, они в своей инструкции не написали, что сначала надо снять конфигурацию с поддержки - а это не каждый делал. Конечно, в интернетах нашлись все инструкции, но не всем придет в голову поискать...
Не могу разобраться как вставлять текстовые поля в шаблон файла
1С ДО 8 КОРП 2.1. Помогите пожта со скриптом. Мне нужно, чтобы происходило автозаполнение поля в Word-файле в зависимости от пола адресата: "Уважаемый" или "Уважаемая".
У меня 1С:ДО КОРП 2.1, настраиваю исходящие документы. Нужно в зависимости от значения доп.реквизита "ЗаголовокПисьма" выводить в поле шаблона разный текст. Например, если значение доп.реквизита - "Уважаемый!", тогда в поле шаблона "ЗаголовокПисьма" нужно вставить "Уважаемый " + ФИО адресата.
Нашел, как получить ФИО адресата:
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СтрокаПолучатель.Адресат, "Наименование")
Нашел, как получить значение доп.реквизита:
ПолучитьЗначениеДопРеквизитаОбъекта(Файл.ВладелецФайла, "ЗаголовокПисьма")
Но, когда пытаюсь все это собрать вместе, код не работает как надо. Этот код постоянно переходит на ветку "Иначе". Не могу понять, почему. Я проверял: в переменную "ЗаголовокПисьмаТекст" записывается правильное значение - "Уважаемый!", но условие, почему-то, не выполняется...
// Получить значение доп.реквизита
ЗаголовокПисьмаТекст = ПолучитьЗначениеДопРеквизитаОбъекта(Файл.ВладелецФайла, "ЗаголовокПисьма");
// Если это "Уважаемый!"
Если ЗаголовокПисьмаТекст = "Уважаемый!" Тогда
// Собрать строку из текста и имени адресата
СтрокаПолучатель = Файл.ВладелецФайла.Получатели[0];
РезультатОбработки = "Уважаемый " + ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СтрокаПолучатель.Адресат, "Наименование") + "!";
Иначе
// Иначе - просто вывести значение доп.реквизита
РезультатОбработки = ЗаголовокПисьмаТекст;
КонецЕсли;
Если СокрЛП(ЗаголовокПисьмаТекст) = "Уважаемый!" Тогда
или вот так:
Если СтрНайти(ЗаголовокПисьмаТекст, "Уважаемый") > 0 Тогда
Tony15 августа 2017 г., 19:35
Получилось, спасибо большое! А то, я уже все перепробовал, полез даже в код конфигурации, смотреть, какие там есть процедуры и как они написаны...
Для заполнения по шаблону в договоре нужно напечатать паспортные данные (номер серия кем и когда выдан ), дату и место рождения физлица (физ лицо - в форме договора указан как подписант от контрагента или может являться второй стороной договора) Как это прописать в скрипт, чтоб все подтягивалось из заполненного справочника физлица? Спасибо
мой вопрос остался без ответа:
в печатную форму договора нужно вывести паспортные данные, дату и место рождения физлица (физ лицо указан как Подписал от контрагента или является контактным лицом) Как это прописать в скрипт, чтоб все подтягивалось из заполненного справочника физлица? Спасибо
1. Обрабатываю документ функцией ЗаполнитьПоляФайлаДаннымиВладельца, возвращает
"Необходимо проверить правильность установки Microsoft Word. Обратитесь к администратору". Хотя на "Проверить заполнение полей" всё отрабатывает идеально. "Заполннить файл данными документа" тоже срабатывает корректно. Документ в формате .doc.
2.Что бы дать другим пользователям "Заполннить файл данными документа" , в настройках доступности по состоянию, какое поле оделяет этим правом? Версия 2.1.10.2
Показать еще комментарии (2)
2. В настройках доступности по состоянию нет отдельного права на команду "Заполнить файл данными документа". Нужны права на редактирование и тогда будет у пользователя возможность перезаполнить файл.
Если файл был открыт на редактирование, то перед заполнением файла надо сначала закончить редактирование.
нужно вывести паспортные данные ,дату и место рождения физлица ( допустим он подписал от контрагента или контактоное лицо)
спасибо
Добрый вечер. Есть ли возможность вытащить номер и иные реквизиты документа (в том числе паспорта) для автозаполнения шаблона? Приведите, пожалуйста, пример скрипта.
Ответить
Ответы
Владимир Лушников27 марта 2017 г., 18:43
Добрый вечер. Вам нужен номер паспорта кого? Автора документа, ответственного за документ, подписанта или адресата?
подскажите пожалуйста, в связи с вступлением 01 июля 2017 года нового ГОСТ Р 7.0.97-2016 "Система стандартов по информации, библиотечному и издательскому делу. Организационно-распорядительная документация. Требования к оформлению документов." появился новый реквизит "Отметка об электронной подписи", как можно ее проставить при выводе на печать исходящего письма в 1 С:Документообороте 8 КОРП, редакция 2.1? предусмотрены настройки? ЭП используем в базе.