1с документооборот следующие реквизиты или скрипты настройки заполнения файла заданы некорректно

Цитата: oleg-x от 06 мар 2018, 13:03
Исправь
РезультатОбработки = Строка(Адресат.Подразделение) + " " + Адресат.Наименование;
или что за ошибка еще?

Ошибка:
Следующие реквизиты или скрипты настройки заполнения файла «Служебная записка» заданы не корректно: Скрипт «Адресат»
Побывал отдельно создать доп реквизит Адресат1 тип строка и через него опубликовать, но такая же ошибка. Без скрипта могу сформировать запрос и вывести всю необходимую информацию, а через скрипт никак не получается

Добавлено: 06 мар 2018, 13:15


У поля Адресат в документообороте есть все реквизиты, но как через скрипт это сделать

ВЫБРАТЬ
ВнутренниеДокументы.Адресат.Ссылка,
ВнутренниеДокументы.Адресат.ВерсияДанных,
ВнутренниеДокументы.Адресат.ПометкаУдаления,
ВнутренниеДокументы.Адресат.Наименование,
ВнутренниеДокументы.Адресат.Недействителен,
ВнутренниеДокументы.Адресат.Подразделение,
ВнутренниеДокументы.Адресат.ПредставлениеВДокументах,
ВнутренниеДокументы.Адресат.РазрешенныеВебСерверы,
ВнутренниеДокументы.Адресат.ФизЛицо,
ВнутренниеДокументы.Адресат.ФизическоеЛицо,
ВнутренниеДокументы.Адресат.Комментарий,
ВнутренниеДокументы.Адресат.Служебный,
ВнутренниеДокументы.Адресат.Подготовлен,
ВнутренниеДокументы.Адресат.ИдентификаторПользователяИБ,
ВнутренниеДокументы.Адресат.ПредставлениеВПереписке,
ВнутренниеДокументы.Адресат.ПредставлениеВПерепискеСРангом,
ВнутренниеДокументы.Адресат.Помещение,
ВнутренниеДокументы.Адресат.КодЯзыка,
ВнутренниеДокументы.Адресат.ИдентификаторПользователяСервиса,
ВнутренниеДокументы.Адресат.СвойстваПользователяИБ,
ВнутренниеДокументы.Адресат.Предопределенный,
ВнутренниеДокументы.Адресат.ИмяПредопределенныхДанных,
ВнутренниеДокументы.Адресат.Представление,
ВнутренниеДокументы.Адресат.ДополнительныеРеквизиты.(
Ссылка,
НомерСтроки,
Свойство,
Значение,
ТекстоваяСтрока
),
ВнутренниеДокументы.Адресат.КонтактнаяИнформация.(
Ссылка,
НомерСтроки,
Тип,
Вид,
Представление,
ЗначенияПолей,
Страна,
Регион,
Город,
АдресЭП,
ДоменноеИмяСервера,
НомерТелефона,
НомерТелефонаБезКодов,
ВидДляСписка
) КАК Адресат1
ИЗ
Справочник.ВнутренниеДокументы КАК ВнутренниеДокументы

Краткая информация о том, как писать скрипты в конфигурации 1С:Документооборот.

Приветствую вас, читающие это статью. Раз уж так вышло, что вы попали сюда, значит вас, как и меня, занесла нелегкая познакомиться-таки с конфигурацией 1С:Документооборот. И скорее всего дошло до того, что нужно написать какой-нибудь скрипт, чтобы облегчить кому-то жизнь и что-нибудь автоматизировать. Именно так случилось и со мной пару-тройку дней назад.

Я громко и долго спрашивал гугл, чтобы он выдал хоть какую-нибудь информацию о том, как это делать, но все было тщетно. Далее я нашел книгу по конфигурации, но и там было все очень поверхностно. В итоге мне помогли две вещи:

1) Моя тема на Инфостарте, где я задал вопрос и меня наставили на истинный путь.

Обсуждение оказалось довольно коротким, то есть люди знают о скриптах, но увы на форуме я больше информации не нашел, ну или плохо искал, посему решил поделиться своим личным опытом в этой статье.

2) Очень помогла обработка «Эмулятор скриптов». Прям жизнь облегчила и помогла понять, как все это работает.

Взять ее можно тут.

Ну что, вводная часть прошла, переходим к практике.

Итак задача стояла следующая:

1) Подставить в форму договора ответственного в родительном падеже

2) Так же подставить его должность в родительном падеже

3) Ну и основание доверенности, которое нужно было взять из связанного с договором документа.

По идее задача простая, если скажем реализовать такое, скажем, в бухгалтерии. Но как оказалось, в документообороте все еще проще, но давайте по порядку:

Заходим в конфигурацию в режиме предприятия. Далее идем в раздел «НСИ», выбираем виды документов и выбираем документ, для которого у вас есть шаблон договора в формате Word. Мой пример на документе договор поставки, поэтому захожу в него и вижу такую картину:

Справа от шаблона есть кнопочка «открыть». Нажимаем.

На вкладке реквизиты, платформа уже сама показывает реквизиты, которые можно вставить в шаблон. То есть отметив галочками нужные и нажав готово, у нас открывается шаблон, где в самом верху появляются отмеченные ранее поля для заполнения. Они выделены серым цветом.(При печати и отправке этот цвет не отображается).

Расставляем параметры в нужные места в документе. Как-то так:

Все бы ничего, но нет нужных мне полей. То есть я могу вытащить ответственного, но он будет в именительном падеже. А вот связанного документа и должности здесь нет совсем.

Вот тут-то и приходят на помощь скрипты.

На вкладке где отмечали реквизиты, переходим на вкладку скрипты и добавляем свои поля, после того как их заполним, снова откроется шаблон и нам нужно будет их расставить по местам.

Должность есть в карточке пользователя, а связанный документ находится на вкладке «связи» в договоре.

Теперь пришло время прописать скрипты и вот тут самое интересное, все это можно писать точно также будто мы пишем в конфигураторе, с одним маленьким НО: нужно использовать конструкцию «Файл.ВладелецФайла», тем самым мы будем обращаться к владельцу шаблона, то есть документу, откуда шаблон будет формировать заполненный договор.

Вот какими скриптами я решил поставленную задачу:

1) Итак:

//Вытащить связь с доком
//Конкретно под доверенность
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|    СвязиДокументов.СвязанныйДокумент
|ИЗ
|    РегистрСведений.СвязиДокументов КАК СвязиДокументов
|ГДЕ
|    СвязиДокументов.Документ = &Документ";

Запрос.УстановитьПараметр("Документ", Файл.ВладелецФайла); //Файл.ВладелецФайла - ссылка на договор

Результат = Запрос.Выполнить().Выбрать();
Результат.Следующий();

РезультатОбработки = СтрДоверенность;  // РезультатОбработки это как раз переменная, из которой и будет подставляться значение в параметр.

2) А вот тут, что мне особенно понравилось. В конфигурации, в общем модуле есть функция склонения и в скрипте можно к ней обратиться.

//Скрипт склонения

Результат = "";
Склонение = ФизическиеЛица.Просклонять(Строка(Файл.ВладелецФайла.Ответственный), 2, Результат); //Файл.ВладелецФайла.Ответственный - ссылка на ответственного из документа.
РезультатОбработки = Результат;

3) Аналогичным способом используем функцию из общего модуля для того чтобы получить должность пользователя(ответственного).

//Должность
Результат = "";
Должность = РаботаСПользователями.ПолучитьДолжность(Файл.ВладелецФайла.Ответственный);
СклДолжность = ФизическиеЛица.Просклонять(Строка(Должность), 2, Результат);
РезультатОбработки = Результат;

И вот он результат:

Вот так все просто. Но шел я к этому в течении нескольких часов. Единственное чего еще хотелось бы, так это вызов конструктора запросов в форме написания скриптов, но это уже мои придирки))).

Еще раз скажу, что мне очень помогла обработка «Эмулятор скриптов». Она работает примерно, как консоль запросов, то есть мы вставляем или пишем в нее наш скрипт и она сразу показывает какое значение получится в результате выполнения скрипта.

Благодаря форумчанам, выкладываю ссылку на ресурсы, где можно почитать подробнее о данном механизме:

Информация с ИТС

Официальная группа в facebook, где можно задать вопросы разработчикам

Очень надеюсь, что вам, тем кто до сюда дочитали и не уснули, очень поможет данная информация и сэкономит часы жизни и мыслетопливо. 

Живите свободно, но продуктивно.

Спасибо за внимание.

Современные ECM-системы (системы управления электронным документооборотом) поддерживают различные механизмы автоматизации большого числа ручных операций, что позволяет минимизировать человеческий фактор и значительно сократить количество ошибок, влияющих на скорость и качество принятия управленческих решений.

Один из таких механизмов, более всего востребованный в системах управления корпоративным контентом – автоматическое заполнение шаблонов файлов.

Что позволяет реализовать этот механизм и для чего он необходим в корпоративных СЭД?

Автоматическое заполнение шаблонов файлов (автозаполнение файлов) – это перенос текущих значений реквизитов из карточки документа в ранее определенные места в шаблоне прикрепленного файла.

Возьмем для примера шаблон бланка исходящего письма. Это очень актуально в условиях учета нескольких организаций в системе, а также при наличии большого числа контрагентов и их контактных лиц, а также жестких требований при оформлении официальных исходящих документов, особенно для переписки с государственными учреждениями и органами исполнительной власти.

Другим очень важным применением автозаполнения является механизм типовых договоров. Для использования типовых договоров, с одной стороны, необходимо наличие строго определенных условий и требований, а с другой – типовые договоры обеспечивают неизменность предопределенного и уже согласованного шаблона договора, что значительно сокращает сроки согласования таких документов, количество ошибок и непременный человеческий фактор, при этом повышая качество управленческих решений.

Настройка автозаполнения типового шаблона договора в 1С:Документооборот

Рассмотрим самый простой пример настройки и реализации автозаполнения шаблонов в документообороте. Предварительно в настройках программы включим функциональную опцию «Использовать автозаполнение шаблонов файлов» в подразделе «Настройка программы-Настройка работы с файлами».

Рис.1 Включить автозаполнение
Рис.1 Включить автозаполнение

В уже созданном шаблоне типового договора нужно перейти на вкладку «Файлы».

Рис.2 Виды документов
Рис.2 Виды документов
Рис.3 Типовой договор
Рис.3 Типовой договор

На данной вкладке находятся шаблоны файлов, которые автоматически добавляются в документ при его формировании из данного шаблона документа. Необходимо отметить, что у каждого вида документа может быть несколько шаблонов документов (например, каждый из шаблонов с определенным шаблоном файла), и в каждом шаблоне документа может быть несколько шаблонов файлов. В случае с договорами это может быть, например, шаблон самого договора, спецификация к нему, протокол разногласий и т.д. При этом для каждого шаблона файла существует индивидуальная настройка автозаполнения. При переходе по ссылке «Открыть в Настройке автозаполнения» открывается форма настроек.

Рис.4 Настройка автозаполнения
Рис.4 Настройка автозаполнения

Для корректной настройки механизма автозаполнения необходимо знать, что типовое реквизитное автозаполнение, т.е. обращение к реквизитам через точку, работает только для файлов формата *.doc. Это формат Word, используемый более ранними версиями MS Office. Основной минус при использовании данного формата файлов для автозаполнения заключается в том, что в веб-клиенте такое автозаполнение не работает.

Бесплатная
консультация
эксперта

Анна Викулина

Руководитель Центра
сопровождения 1С

Спасибо за Ваше обращение!

Специалист 1С свяжется с вами в течение 15 минут.

Более современным и универсальным форматом является *.docx. Он представляет собой специальным образом заархивированный стандартный формат XML. Для его автозаполнения используются скрипты – выражения на встроенном языке.

Рис.5 Скрипты
Рис.5 Скрипты

Пример скрипта для автозаполнения реквизита ФИО сотрудника выглядит так:


Если НЕ Файл.Пустая()
И НЕ Файл.ВладелецФайла = Неопределено И НЕ Файл.ВладелецФайла.Пустая()
И НЕ Файл.ВладелецФайла.Ссылка = Неопределено И НЕ Файл.ВладелецФайла.Ссылка.Пустая() Тогда Для Каждого ДопРеквизит Из Файл.ВладелецФайла.Ссылка.ДополнительныеРеквизиты Цикл
Если (Строка(ДопРеквизит.Свойство) = "Работник") 
	Или (ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДопРеквизит.Свойство, "Заголовок") = "Работник") Тогда
	РезультатОбработки = ДопРеквизит.Значение;
КонецЕсли;
КонецЦикла;КонецЕсли;

Для заполнения данными из карточки документа шаблон файла предварительно необходимо соответствующим образом разметить.

Рис.6 Автозаполнение
Рис.6 Автозаполнение

После разметки автозаполняемых реквизитов шаблона файла и подготовки соответствующих скриптов автозаполнения проверим полученный результат. Для этого по команде «Проверить настройку заполнения» откроем подходящий существующий документ данного вида.

Рис.7 Проверка автозаполнения
Рис.7 Проверка автозаполнения
Рис.8 Заполненный документ
Рис.8 Заполненный документ

Далее в шаблоне документа запрещаем изменение и удаление шаблонов файлов, чтобы быть уверенными, что будет использоваться именно этот файл шаблона договора, подготовленный и согласованный юридическим отделом и руководством компании.

Рис.9 Настройка шаблона
Рис.9 Настройка шаблона

Так можно настроить автозаполнение всех необходимых реквизитов в файле и подготовить типовой договор или иной документ, который в дальнейшем будет заполняться автоматически и не потребует длительного согласования большим количеством согласующих подразделений или ответственных лиц компании, минимизировав при этом человеческий фактор и возможные ошибки, а также сроки согласования таких документов.

Функционал автозаполнения шаблонов позволяет автоматизировать формирование различных видов документов, таких как договора, исходящие письма, служебные записки, приказы и др. Настройки шаблонов задаются для каждого вида документа отдельно, что позволяет сделать тонкую настройку под любые требования к файлу.

Автозаполнение файлов по шаблону способствует стандартизации документооборота в организации, а также упрощает и ускоряет работу сотрудников с типовыми формами. Рассмотрим, как работает автозаполнение документов на примере конфигурации «1С:Документооборот»

В типовой конфигурации «1С:Документооборот» присутствует функционал автозаполнения файлов из карточки документа в 1С. Этот функционал позволяет автоматически заполнить шаблон файла в формате Word данными из реквизитов карточки документа 1С.

Как настроить автозаполнение шаблонов

Возможность автозаполнения шаблонов файлов включает администратор.

Настройка и администрирование – Настройки программы – Работа с файлами – Использовать автозаполнение шаблонов файлов.

Включение функционала автозаполнения шаблонов файлов

Рисунок 1 — Включение функционала автозаполнения шаблонов файлов

В ранее созданном шаблоне документа настраиваем автозаполнение. Переходим в Нормативно-справочная информация — Виды документов, выбираем из списка необходимый нам документ. Переходим на закладку Файлы и открываем настройки заполнения.

Настройки заполнения документа

Рисунок 2 — Настройки заполнения документа

Чтобы настроить настроить автозаполнение в форме Настройка заполнения файла на закладке Реквизиты указываем, какими реквизитами карточки документа необходимо заполнять файл.

Реквизиты для автозаполнения документа 1С

Рисунок 3 — Выбор реквизитов для автозаполнения документов

Настроить заполнение поля можно и с помощью скрипта, написанного на языке программирования 1С.

Переходим на вкладку Скрипты и добавляем необходимый нам скрипт. Использование скриптов позволяет получить любое значение как из карточки документа, так и из вложенных справочников. Кроме того, при настройке через скрипт можно указать необходимую логику заполнения.

Скрипты автозаполнения документов в 1С

Рисунок 4 — Добавление скриптов для автозаполнения документов

После настройки автозаполняемых реквизит можно проверить результат, для этого нажимаем кнопку Проверить настройку заполнения и выбираем документ данного вида.

Проверка настройки автозаполнения в 1С

Рисунок 5 — Проверка настройки автозаполнения

Последним действием мы можем запретить изменение реквизитов из шаблона и удаление файлов шаблона. Таким образом мы будем уверены в использовании именно заданного нами шаблона документа пользователями системы.

Запрет изменения и удаления шаблонов

Рисунок 6 — Запрет изменения и удаления шаблонов

Таким способом можно настроить автозаполнение для множества документов организации. Автоматическое заполнение документов позволяет:

  • сократить время согласования и формирования файлов;
  • исключить пользовательские ошибки при вводе данных;
  • контролировать соблюдение регламента.
Настройка данного функционала в конфигурациях 1С не требует проектного внедрения и может быть настроена нами в рамках технической поддержки.

Автоподстановки для документов и процессов теперь можно добавлять/изменять в пользовательском режиме. Раньше это можно было делать только через переопределяемый модуль.

Аналогичная возможность появилась и для метрик.

В справочнике Алгоритмы (меню раздела Настройка и администрирование) можно сохранять свои алгоритмы для использования в автоподстановках, настройках автозаполнения файлов и других скриптах.

79.png

Появилась единое окно Все скрипты (меню раздела Настройка и администрирование – Сервис), в котором можно посмотреть все элементы с написанным пользователем кодом: автоподстановки, метрики, условия маршрутизации, настройки автозаполнения файлов и пр.

80.png

Понравилась статья? Поделить с друзьями:

Другие крутые статьи на нашем сайте:

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии