Главная → База знаний → Интеграции → Расширяем возможности 1С:Документооборот 3.0 без изменения кода и человеческого фактора
Расширяем возможности 1С:Документооборот 3.0 без изменения кода и человеческого фактора
Авторы: Сергей Проскурин и Виктория Буркова | Опубликовано: 21 октября 2026 | 🕐 ~8 мин.чтения
Учетные системы и документооборот живут вместе. Договоры, заявки на оплату, счета, акты рождаются в 1С:ERP или другой учетной системе, а согласуются, подписываются и хранятся в 1С:Документооборот 3.0. Чтобы документ из учетной системы был удобен в работе, недостаточно просто получить его в ДО. Он должен встать в цепочку других документов: заявка на оплату — к договору и счету, акт — к договору, приложение — к основному документу. Тогда согласующий видит весь контекст в одной карточке и не ищет остальное вручную.
Здесь и возникает проблема. Учетная система знает, как связаны ее документы, но при загрузке в ДО не все необходимые связи создаются автоматически. Например, «Заявка на оплату» и «Договор» приходят из 1С:ERP по бесшовной интеграции. В ERP они связаны между собой. В ДО их связь нужно восстановить, а счет к ним привязать, хотя он создается в ДО или приходит из другой учетной системы.
Вручную связи расставляют люди, поэтому кто-то их пропускает, кто-то ошибается, и через полгода никто не может сказать, в каких заявках связи есть, а в каких нет.
Для таких задач в Академическом ГиперРасширении (АГР) есть функция № 131 «Скрипт после загрузки БИ». Она позволяет дополнить бесшовную интеграцию действиями на стороне ДО без изменения кода учетной системы. Ниже разберем, как с ее помощью создавать связи между документами, менять ориентацию приложенной печатной формы и устанавливать состояние уже подписанного договора.
Содержание
Когда загруженному документу не хватает связей
Документ приходит из другой системы, а связи в ДО строятся между документами, которые уже существуют. В момент загрузки не всегда понятно, с чем именно связывать. Договор, счет и другие документы могут появиться в ДО раньше, позже или из третьей системы.
Последствия обычные. Согласование идет дольше, потому что согласующему нужно найти контекст. Растет число вопросов в поддержку: «где договор к этой заявке?». Отчеты и отборы по связанным документам получаются неполными. Пропадает уверенность, что в карточке есть все нужное для решения.
Какие связи создает типовая бесшовная интеграция
Бесшовная интеграция создает и обновляет документы в ДО по данным из учетной системы. Начиная с версии 3.0 она настраивается в обеих системах: сначала правило создается в ДО, потом оно автоматически появляется в учетной системе и при необходимости корректируется там. Реквизиты заполняются по правилам, в том числе через выражения на встроенном языке, причем можно выбрать, на какой стороне это выражение выполняется.
Со связями ситуация зависит от релиза. Если у вас релиз ДО ниже 3.0.19.29, автоматически связи при бесшовной интеграции типовыми средствами не создаются. Остаются ручная расстановка и доработка интеграции.
В релизе 3.0.19.29 появилась вкладка «Создание связей». В правиле загрузки данных указывается реквизит документа учетной системы, который соответствует связанному документу, и вид связи. Заранее нужно настроить пары связей в справочнике «Настройки связей» в обе стороны. Если у акта в ERP есть реквизит «Договор», связь с договором в ДО появится сразу при создании акта. Для такого простого случая механизм подходит хорошо.
Пошаговую настройку пар связей и вкладки «Создание связей» мы разобрали в статье«Как настроить автоматическое создание связей в 1С:Документооборот при бесшовной интеграции». Далее рассмотрим задачи, для которых нужны поиск документов по реквизитам и дополнительные действия после загрузки.
Когда типовых настроек недостаточно
Типовой механизм рассчитан на самую простую ситуацию: в документе учетной системы есть реквизит со ссылкой на другой документ, и эту ссылку нужно превратить в связь. В настройке нет условий и вычислений, а произвольные скрипты при создании связей использовать нельзя. Можно сказать «свяжи по этому реквизиту», но нельзя сказать «найди документ с таким номером и такой датой», «свяжи только если сумма больше...» или «если нужного документа нет, ничего не делай».
Реальные схемы часто устроены сложнее. Возьмем заявку на оплату. В ней нет ссылки на счет, зато есть «Номер счета» и «Дата счета». Счет в ДО создан отдельно, возможно, из другой системы, и найти его нужно по этим двум значениям. Ссылки на документ в реквизите нет, поэтому типовая вкладка здесь не поможет. Придется выбирать между ручной расстановкой связей и доработкой.
Если у вас релиз ниже 3.0.19.29, выбор тот же, только без исключений: связи при бесшовной интеграции автоматически не создаются вообще.
Одним из вариантов решения становится доработка интеграции. В зависимости от задачи она может затронуть отправителя, приемник или обе системы. Если изменения нужны в двух базах, их придется тестировать и сопровождать на обеих сторонах при переходе на новые релизы. Есть и вторая проблема, не только про связи. С документом после загрузки часто нужно что-то сделать: поправить файл, поставить состояние, заполнить реквизит по условию. Типовые правила загрузки заполняют реквизиты, а логику вокруг загруженного документа не описывают. Причем делать это нужно не только при создании, но и когда документ обновился: он мог прийти без данных для связи и получить их только со следующим обменом.
Как функция АГР № 131 автоматизирует действия после загрузки документов
Функция № 131 выполняет ваш скрипт на стороне ДО сразу после того, как документ загружен по бесшовной интеграции. Это происходит и при создании документа, и при получении изменений из учетной системы. Код в учетной системе при этом не меняется, вся логика лежит в одном месте.
Скрипт может прочитать любые реквизиты только что загруженного документа и сделать с ним нужное действие: найти другие документы и связать с ними, заменить файл, поставить нужное состояние и многое другое. Ниже три примера.
Механизм включается в общих настройках функций АГР.
После изменения настроек в интерфейсе АГР нужно нажать «Применить».
На вкладке «Скрипты» в поле «Скрипт после загрузки» можно вставить выражение на встроенном языке 1С, которое выполнится сразу после загрузки документа из учетной системы.
На вкладке «Скрипты», в поле «Скрипт после загрузки» можно вставить выражение на языке 1С, которое выполнится сразу после загрузки документа из учетной системы.
Сами выражения удобно отлаживать в функции «Эмулятор скриптов», которая также является частью АГР.
Три кейса: автоматизируем ручные операции после загрузки
Кейс 1. Связи для заявки на оплату и договора
Ситуация. Заказчик работает с интеграцией 1С:ERP и 1С:Документооборот 3.0. Из ERP в ДО по бесшовной интеграции создаются два вида документов: «Заявка на оплату» и «Договор». В ERP они связаны между собой. Кроме того, у каждого из них есть реквизиты, по которым документ нужно связать с другими документами, созданными только в ДО или пришедшими из других учетных систем. Например, у заявки на оплату в ERP есть «Номер счета» и «Дата счета», и они передаются в ДО.
Проблема. В рассматриваемом проекте заявка и договор в ДО не связаны между собой, а счет не привязан ни к одному из них. В новых релизах связь заявки с договором можно настроить типовыми средствами, но для поиска отдельно созданного счета по номеру и дате этого недостаточно. Найти счет по номеру и дате прямым указанием реквизита нельзя, а доработка интеграции в двух базах для заказчика была дорогой.
Решение. Скрипт после загрузки смотрит на значения «Номер счета» и «Дата счета» в загруженной заявке и ищет в ДО документ с такими параметрами. Если находит, ставит связь с заявкой и договором. Если при первой загрузке заявки данных для связи не хватало или счет еще не появился в ДО, связь не установится. При следующем обновлении заявки из учетной системы скрипт повторит поиск. Если к этому моменту нужные данные и счет уже есть в ДО, связь будет создана.
Результат. Согласующий открывает заявку и сразу видит договор и счет. Ручная расстановка связей не нужна, код интеграции в ERP и ДО остался типовым.
Кейс 2. Печатная форма в удобной ориентации
Ситуация. Документ выгружается из учетной системы вместе с печатной формой. Форма автоматически прикладывается к документу в ДО в формате Word.
Проблема. В печатной форме есть таблица, которую можно нормально прочитать только в альбомной ориентации. Файл приходит в книжной, и пользователи, которые согласуют документ, каждый раз вынуждены менять ориентацию страниц вручную или работать с мелким и обрезанным текстом. Менять печатную форму в учетной системе нельзя или дорого, потому что она нужна и в других местах.
Решение. Скрипт после загрузки находит приложенный файл и меняет ориентацию страниц на альбомную. Делает это сразу, как только документ загружен, до того как он попал к первому согласующему.
Результат. Все участники обработки открывают файл и видят таблицу целиком. Печатная форма в учетной системе не менялась.
Кейс 3. Старый подписанный договор без запуска обработки
Ситуация. Компания переносит в ДО договоры из учетной системы для единого учета. Среди них старые, уже подписанные договоры.
Проблема. Договор подписан, согласовывать и подписывать его заново не нужно. Но по умолчанию загруженный в ДО документ находится в начальном состоянии, и по нему может запуститься обработка. Пользователи получат задачи по договору, который давно действует, и придется вручную закрывать их и править состояния.
Решение. Скрипт после загрузки определяет, что загружен уже подписанный договор, и устанавливает документу нужное состояние. Обработка не запускается.
Результат. Договор сразу отображается в ДО как подписанный, его можно использовать для связей, поиска и отчетов. Лишних задач у сотрудников нет.
Результат: меньше ручной работы и ошибок
Бесшовная интеграция передает документы, а функция АГР № 131 «Скрипт после загрузки БИ» позволяет автоматизировать дополнительные действия на стороне 1С:Документооборот. В рассмотренных сценариях сотрудникам не нужно вручную связывать заявку со счетом и договором, менять ориентацию приложенной печатной формы или устанавливать состояние подписанного договора.
Дополнительная логика хранится в скрипте на стороне ДО, код учетной системы не меняется. Скрипт выполняется при создании документа и при получении изменений по бесшовной интеграции.
Если счет появился позже заявки, повторный поиск произойдет при следующем обновлении заявки. Поэтому при настройке важно учитывать порядок поступления документов, условия поиска и повторное выполнение скрипта. Это помогает сократить ручную работу и риск ошибок в повседневных операциях.
Другие статьи
Узнайте, как связать один документ сразу с несколькими объектами в 1С:Документооборот, какие ограничения есть в типовой версии и как решить задачу с помощью функции АГР 138.
Узнайте, почему файлы, прикрепленные к задачам, не появляются в карточке документа, и как решить проблему с помощью функций Академического ГиперРасширения.
авторизуйтесь