Коротко о скриптах в конфигурации 1С:Документооборот

07.09.22

Разработка - Механизмы типовых конфигураций

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

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

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

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

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

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

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

 

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

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

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

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

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

 

Итак реализация:

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

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

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

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

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

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

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

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

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

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

1) Итак:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

См. также

Расширяем возможности дополнительных обработок и настраиваем их отладку

БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

07.02.2024    2354    YA_418728146    11    

40

Регистры накопления в 1С:КА2 и 1С:ERP для расчета НДФЛ, страховых взносов и взаиморасчетов с сотрудниками на январь 2024 года. Краткое описание

Зарплата Механизмы типовых конфигураций Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет НДФЛ Абонемент ($m)

Для расчета зарплаты и соответствующих налогов в конфигурациях 1С:КА2 и 1С:ERP используется 22 регистра накопления, 7 регистров сведений, 1 регистр расчета и бухгалтерские проводки. В таблице приведены названия этих регистров, указаны основные регистраторы и виды движений приход/расход. В описании приводится краткое функциональное назначение регистров в основных зарплатных процессах. Описание регистров родилось из черновиков при написании различных отчетов и обработок при эксплуатации 1С-овских конфигураций и исправлении ошибок по НДФЛ, взаиморасчетов с сотрудниками и прочих. Информация не претендует на полноценное описание работы регистров, скорее это дискуссионный материал. Но, возможно, кому-то пригодится и сократит время при подготовке отчетности за непростой (в плане учета зарплаты) 2023 год. А возможно, кто-то поделится своим опытом.

1 стартмани

10.01.2024    1020    6    2ncom    3    

8

Шаблоны новых объектов 1С для 1С:Бухгалтерии предприятия

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 1С:Бухгалтерия 3.0 Бесплатно (free)

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

28.12.2023    4835    mrXoxot    11    

99

Ключи аналитик учета в ЕРП, КА, УТ

Механизмы типовых конфигураций Платформа 1С v8.3 1С:ERP Управление предприятием 2 Россия Управленческий учет Бесплатно (free)

Разбираемся, зачем в системе ЕРП созданы справочники: ключи аналитик учета, зачем созданы аналогичные по набору измерений регистры сведений. Какие проблемы они решают, какие создают новые и что с этим делать.

08.11.2023    7058    ids79    25    

74

Распределение по базе среднего в ЗИКГУ 3.1

Зарплата Механизмы типовых конфигураций Платформа 1С v8.3 1С:Зарплата и кадры государственного учреждения 3 Россия Бюджетный учет Абонемент ($m)

Результат расчета начислений (отпуск, БЛ и т.д.) может распределятся по базе среднего заработка. У таких начислений на вкладке "Налоги, взносы, бухучет" стоит галка "По базе среднего заработка". Но бывают случаи, что данное распределение необходимо скорректировать.

1 стартмани

14.09.2023    445    2    Vlx    0    

1

Расширение типового механизма настройки заполнения бухгалтерской отчетности (на примере конфигурации 1С:ERP. Управление холдингом 3.1.8.15)

Механизмы типовых конфигураций Платформа 1С v8.3 1С:Управление холдингом 1С:Франчайзи, автоматизация бизнеса Россия Бесплатно (free)

В статье приведен алгоритм доработок типового механизма настройки заполнения бухгалтерской отчетности на примере конфигурации 1С:ERP. Управление холдингом (3.1.8.15). Цель доработок - сделать процесс настроек более гибким и удобным для пользователей

11.09.2023    1929    ICL-Soft    3    

12

Разбор механизма "Настройки полей формы" в 1С:ERP. Управление холдингом

Механизмы типовых конфигураций Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

В данной статье я постараюсь разобрать механизм, который Вам может встретиться на просторах типовой конфигурации 1С:ERP. Управление холдингом. Я не могу гарантировать, что этот механизм не исключат из следующих версий конфигурации (как, собственно, и любой другой). К сожалению, мне не удалось найти его ни в одном модуле конфигурации "Библиотеки стандартных подсистем". Мне он показался интересным, и захотелось более детально во всем этом разобраться.

18.07.2023    2156    it_box    1    

7

Работа с контактной информацией. Часть 2

Механизмы типовых конфигураций Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Во второй части статьи рассмотрим вопрос преобразования адреса из старого формата в новый. Рассмотрим реальные задачи, связанные с контактной информацией.

05.06.2023    6960    biimmap    4    

41
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Vasvas05 22 13.07.18 16:29 Сейчас в теме
(0)тут много полезного написано про документооборот и как там работать. На инфостате мало кто знаком с этой конфигурацией.

https://its.1c.ru/db/doccorp21#content:766:1:issogl3_%D0%B0%D0%B2%D1%82%D0%BE%D0%B7%D0%B0%D0%BF%D0%BE%D0%­BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%88%D0%B0%D0%B1%D0%BB%D0­%BE%D0%BD%D0%BE%D0%B2_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2_o­dt_txt_html_htm

тут оф группа https://www.facebook.com/groups/1C.DOC8
ivangrant; user660224_laa; alexfps79; sm.artem; D_e_X_T_e_R; +5 Ответить
2. D_e_X_T_e_R 572 13.07.18 16:36 Сейчас в теме
(1)Спасибо за информацию.
3. kraynev-navi 647 16.07.18 08:34 Сейчас в теме
При использовании кода в коде не забываем писать тесты на проверку работоспособности. Неоднократно наблюдал использование функций из БСП в скриптах ДО приводили к неработоспособности целых бизнес-процессов.

Возможно, неплохим вариантом явилось бы написание отдельных функций и вызов их в одну строку:
ПросклонятьОтветственногоВДоверенности(Параметры)

Но тогда теряется "прелесть" внесения изменений в функционал без изменения конфигурации ))
4. acsent 1199 17.07.18 15:29 Сейчас в теме
По мне так все эти скрипты лучше в расширения выносить
Так хоть отладка будет работать
5. D_e_X_T_e_R 572 17.07.18 16:09 Сейчас в теме
(4)В плане отладки да, но цель статьи была показать, как писать именно во встроенном механизме.
Для отладки можно использовать еще обработку эмулятор скриптов. В статье об этом тоже упомянуто.
6. acsent 1199 17.07.18 17:40 Сейчас в теме
(5) ну так текст скриптов не меняется, просто хранится в расширении.
Еще плюс - это Хранилище/Гит
7. andrei.k 12.02.20 13:34 Сейчас в теме
Спасибо за статью. Но совсем кратко. И только та информация, которая гуляет по интернету. Есть другой способ использования автозаполняемых файлов, который почему-то редко кто рассматривает. Пост надо дополнять ))
8. D_e_X_T_e_R 572 12.02.20 13:55 Сейчас в теме
(7) Спасибо вам за отзыв. Приму у сведению.
9. user1449371 13.08.20 05:39 Сейчас в теме
Здравствуйте.Спасибо за скрипты.Я у вас опечатку кстати нашел)
Склонение = ФизическиеЛица.Просклонять(Ответственный), 2, Результат);

после слова "ответственный " лишняя скобка.

И еще,где я могу обучалку по подобным скриптам для автозаполнения,или может быть,готовые скрипты подобные этим?
D_e_X_T_e_R; +1 Ответить
10. user1507562 11.12.20 14:37 Сейчас в теме
Спасибо за статью. А если в 1с в договоре есть табличная часть, ее можно с помощью скрипта поместить в файл ворд?
11. D_e_X_T_e_R 572 11.12.20 19:18 Сейчас в теме
(10)Честно говоря, не пробовал, но не вижу причин, почему может не получиться.
12. graphbuh 254 26.02.21 14:34 Сейчас в теме
Кто нибудь знает как скопировать (перенести) скрипты одного файла для другого файла. Если скриптов, допустим, больше 20, заниматься копи пастом дело утомительное. (команды скопировать файл в видах документов нет).
13. Sardukar 58 09.04.21 08:49 Сейчас в теме
А вот я столкнулся с тем, что при перемещении полей в файле и сохранении скрипты исчезают. Пока еще не понял как это побороть.
14. nikvik79 27.05.21 18:41 Сейчас в теме
(13) Переносить нужно -> Вырезать/Вставить . При копировании в самом деле слетает.
15. Suslik_Johns 26.08.22 09:30 Сейчас в теме
Эмулятор скриптов - ссылка неактивна... есть рабочая ссылка?
16. Suslik_Johns 26.08.22 09:31 Сейчас в теме
За статью - спасибище!)
17. Flipp 06.09.22 09:48 Сейчас в теме
РезультатОбработки = СтрДоверенность; //
Не поняла, а как вы сюда результат запроса положили и что такое за переменная стрДоверенность.
Программа ругается на запросы в шаблоне, а без них никак.
D_e_X_T_e_R; +1 Ответить
18. D_e_X_T_e_R 572 07.09.22 10:17 Сейчас в теме
(17)Скорее всего ошибка, по логике там должно быть РезультатОбработки = Результат.СвязанныйДокумент;
19. Alex_BLR 8 07.11.22 17:57 Сейчас в теме
Как скриптами (как будут выглядеть) вывести данные утверждения (ФИО, Дата утверждения, Комментарий утверждения), статус выводится стандартными средствами.
20. Al-X 07.06.23 10:53 Сейчас в теме
Добрый день !
Подскажите, а можно управлять колонтитулами? Мне требуется подставить реквизит в колонтитул word-документа. Но не получается. Все поля заполнения в колонтитуле не работают.
22. WWWolfy 132 14.09.23 10:23 Сейчас в теме
(20) в Колонтитулах надо пользоваться заменой текста
21. пользователь 19.07.23 09:41
Сообщение было скрыто модератором.
...
23. user1780973 20.09.23 11:31 Сейчас в теме
(13) Создайте отдельно роль и администратора под этот роль с нужными правами Аминистрирование и все. а у остальных снять галочку на эту позиции
24. Alex_BLR 8 29.02.24 12:38 Сейчас в теме
Добрый день, подскажите как должен выглядеть скрипт склонения ФИО адресата, если адресатом выступает женщина.

К примеру фамилия Ляшук, а мой скрипт выдает "Ляшуку".
Прикрепленные файлы:
25. D_e_X_T_e_R 572 29.02.24 13:09 Сейчас в теме
(24) Хороший вопрос. Интересная фамилия. Дело в том, что писал статью давно, сейчас уже не помню штатные возможности склонения 1С. Но в любом случае, если штатных возможностей не хватает, тогда можно использовать сервис склонения морфер, насколько я помню его можно интегрировать в 1С.
Оставьте свое сообщение