Главная ошибка проекта состоит в попытке «передать файлы» без модели жизненного цикла. Бизнесу нужно знать, какой документ 1С отправлен, кому он доставлен, какое действие ожидается, действительна ли подпись и требуется ли исправление. Эти ответы должны совпадать в 1С и Диадоке.
Материал посвящен конкретной связке 1С с Диадоком. Проектирование внутренних маршрутов компании разобрано в статье про автоматизацию документооборота, а общие требования к техническому обмену приведены в руководстве по интеграции по API.
Что должна решать интеграция 1С с Диадоком?
Рабочая интеграция создает проверяемую связь между объектом учета и электронным документооборотом. Она помогает подготовить документ из данных 1С, выбрать получателя и ящик, передать документ на допустимое действие, получить события Диадока и показать сотруднику понятный результат.
| Контур | Ответственность | Что не следует смешивать |
|---|---|---|
| 1С | Учетные объекты, справочники, хозяйственная операция | Технические статусы доставки и подписи |
| Диадок | Электронный документ, подписи, действия сторон, события | Проведение операции в учете |
| Интеграция | Сопоставление, передача, повторы, журнал и сверка | Решение за бухгалтера или подписанта |
| Внутренний маршрут | Проверка, согласование и назначение ответственного | Юридически значимый обмен с контрагентом |
До разработки выберите конкретный поток: например, исходящие УПД из одной организации или входящие акты для одного подразделения. Одновременный запуск всех видов документов, баз и ролей затрудняет поиск причины ошибки и не дает надежной контрольной выборки.
Что выбрать: модуль, коннектор или API?
Выбор зависит от конфигурации 1С, размещения базы, поддерживаемых документов, объема операций и требуемой логики. Страница Диадока для 1С публикует актуальные материалы по модулю и коннектору. Совместимость и ограничения нужно проверять для текущей версии, а не переносить из старой инструкции.
| Вариант | Когда рассматривать | Что проверить до выбора |
|---|---|---|
| Готовый модуль | Типовая или поддерживаемая конфигурация, работа пользователя внутри 1С | Версию платформы и конфигурации, режим базы, виды документов, МЧД и обновления |
| Коннектор | Нужен регламентный обмен без ручной работы в отдельном интерфейсе | Поддерживаемые сценарии, расписание, журнал, права и восстановление |
| API Диадока | Собственные объекты, несколько систем, нестандартный маршрут или высокая управляемость | Авторизацию, лимиты, версии методов, события, статусы, подпись и сопровождение |
API дает больше свободы, но превращает обновление интеграции в ответственность команды. Официальная документация указывает, что API позволяет работать с документами, статусами, событиями, контрагентами и ответными действиями. Для автоматической работы нужно отдельно реализовать получение и обновление токенов, проверку прав и безопасное хранение секретов.
Что проверить до подключения?
Инвентаризация до установки экономит время на диагностике. Команда фиксирует не только название конфигурации, но и реальный поток документов, расширения, права, организации, подразделения, сертификаты, ящики Диадока и ответственных за справочники.
- Запишите версию платформы, конфигурации, режима совместимости и способ размещения базы.
- Определите организации и подразделения 1С, которые участвуют в обмене.
- Составьте перечень видов документов, форматов и ответных действий.
- Проверьте ящики Диадока, доступ пользователей и права на просмотр, отправку и подпись.
- Назначьте владельцев сопоставления контрагентов, договоров, номенклатуры и подразделений.
- Выберите тестовую базу и набор обезличенных либо согласованных контрольных документов.
- Опишите резервный порядок работы при недоступности 1С, Диадока или канала связи.
Не переносите рабочий закрытый ключ подписи в тестовую среду. Пилот должен воспроизводить структуру данных и права, но доступ к сертификатам, персональным данным и продуктивным ящикам выдают только в необходимом объеме.
Как сопоставить документы и контрагентов?
Сопоставление связывает объекты разных систем устойчивыми идентификаторами. Для документа сохраняют ссылку на объект 1С и идентификаторы Диадока. Номер, дата, сумма и ИНН используются как контрольные признаки, поскольку они могут повториться или измениться при исправлении.
| Объект 1С | Объект Диадока | Контроль |
|---|---|---|
| Организация и подразделение | Ящик и подразделение | Явная таблица соответствий и владелец |
| Контрагент | Организация и ящик контрагента | ИНН, КПП, оператор, состояние отношений |
| Договор | Реквизиты или пользовательская связь | Организация, контрагент, номер, дата, вид операции |
| Учетный документ | MessageId и EntityId документа | Внешний ID, номер, дата, тип и направление |
| Номенклатура и единица | Строка формализованного документа | Код, наименование, единица, ставка и количество |
В структурах Диадок API предусмотрен CustomDocumentId, то есть необязательный идентификатор документа во внешней системе. Возможность его применения зависит от выбранного метода и сценария. Даже при наличии внешнего ID сохраняйте серверные идентификаторы Диадока и историю повторных отправок, исправлений и корректировок.
Как построить отправку документов из 1С?
Исходящий поток начинается с готовности учетных данных и заканчивается наблюдаемым состоянием документооборота. Ответ «запрос принят» подтверждает только технический прием запроса. Подпись и отправка должны быть отдельными действиями с проверяемыми правами.
- Проверьте проведение и допустимость учетного документа по правилам компании.
- Определите вид электронного документа, формат и требуемые титулы.
- Сопоставьте организацию, подразделение, контрагента и его ящик.
- Сформируйте содержимое из зафиксированной версии данных 1С.
- Выполните предварительную проверку и сохраните ошибки по конкретному документу.
- Передайте документ на согласование или подпись уполномоченной роли.
- После отправки сохраните идентификаторы Диадока и начальное состояние.
- Получайте последующие события до завершения либо появления действия пользователя.
Повтор после сетевой ошибки нельзя выполнять вслепую. Сначала интеграция проверяет, появился ли документ в Диадоке с тем же внешним ключом или контрольными реквизитами. Иначе один учетный документ может породить несколько электронных отправлений.
Как обрабатывать входящие документы?
Входящий электронный документ не следует сразу превращать в проведенную хозяйственную операцию. Сначала система определяет организацию, контрагента, вид документа и возможный учетный объект. Затем сотрудник проверяет расхождения и принимает действие в пределах своих полномочий.
- Получите новое событие и серверные идентификаторы документа.
- Проверьте направление, отправителя, тип, формат и состояние подписи.
- Найдите организацию, подразделение и контрагента по таблице соответствий.
- Сопоставьте документ с существующим объектом 1С либо создайте черновик по согласованным правилам.
- Покажите сотруднику различия в реквизитах, суммах, ставках и строках.
- Зафиксируйте решение: принять, запросить уточнение, отказать или передать ответственному.
- Отправьте ответное действие и дождитесь его подтвержденного состояния.
Автоматическое создание допустимо для устойчивого сценария с проверенными справочниками и однозначными правилами. Проведение документа требует отдельного контроля: факт доставки сам по себе не подтверждает корректность учетной операции.
Как синхронизировать статусы и события?
Диадок описывает жизненный цикл через несколько признаков: подписи участников, извещения, уточнение, аннулирование, согласование, роуминг и общий статус. Один флаг «подписан» скрывает действия, которые еще требуются от сотрудника или контрагента.
Для API официальная документация предлагает получать изменения через хронологическую ленту событий. Интеграция хранит позицию чтения отдельно для каждого ящика, обрабатывает событие повторно без побочного эффекта и только после успешной записи продвигает контрольную позицию.
| Состояние для пользователя | Что проверить в Диадоке | Действие в 1С |
|---|---|---|
| Требуется подпись | Участник, титул, права и дополнительные требования | Назначить задачу подписанту |
| Ожидается контрагент | Ответная подпись, титул или извещение | Не считать обмен завершенным |
| Требуется уточнение | Запрос и затронутый титул | Связать исправление с исходным документом |
| Запрошено аннулирование | Инициатор и ответ второй стороны | Не удалять исходную запись |
| Завершен | Все обязательные действия и валидность подписей | Зафиксировать итог и время сверки |
Храните исходный технический статус рядом с бизнес-представлением. Тогда новая комбинация признаков останется видимой, а служба поддержки сможет восстановить причину расхождения.
Как учесть электронную подпись и МЧД?
Интеграция не подписывает документ «от имени отдела». Подпись связана с конкретным сертификатом, пользователем, правом и действием. Если сотрудник действует по доверенности, проект учитывает машиночитаемую доверенность, то есть электронный документ о полномочиях представителя.
Справка Диадока для 1С описывает использование МЧД не только при подписании основного документа, но и при связанных действиях, включая отказ, аннулирование, уточнение и извещение. Поэтому проверка доверенности нужна в каждой операции, где подтверждаются полномочия, а не один раз при настройке пользователя.
- назначьте роли, которым разрешены просмотр, согласование и подпись;
- проверьте связь пользователя 1С с пользователем и ящиком Диадока;
- показывайте выбранный сертификат и основание полномочий до подписания;
- обрабатывайте отсутствие, истечение или неподходящие полномочия МЧД как отдельную ошибку;
- не сохраняйте закрытый ключ, PIN-код и полный токен в журнале интеграции;
- фиксируйте автора, время, документ и результат операции без лишних персональных данных.
Юридическую применимость вида подписи и доверенности проверяют для конкретного документа, роли и регламента. Техническая возможность поставить подпись не заменяет проверку полномочий и внутренних правил компании.
Как обрабатывать ошибки и проводить сверку?
Ошибка должна содержать документ, этап, время, попытку, безопасный текст причины и ответственную роль. В API Диадока результат предварительной проверки может различать ошибку, запрещающую отправку, и предупреждение, при котором отправка возможна с ограничениями. Эти состояния нельзя сводить к одному сообщению «обмен не выполнен».
| Класс ошибки | Автоматическое действие | Ручное решение |
|---|---|---|
| Временная недоступность | Ограниченный повтор с паузой | Эскалация после порога попыток |
| Ошибка авторизации | Безопасное обновление токена, если предусмотрено | Проверка доступа и приложения |
| Нет сопоставления | Помещение в очередь разбора | Выбор правильного объекта и фиксация правила |
| Некорректный формат или реквизит | Остановка конкретного документа | Исправление источника и повторная проверка |
| Неизвестный итог отправки | Поиск результата до повтора | Сверка по идентификаторам и журналу |
Регламентная сверка сравнивает документы 1С с документами и состояниями Диадока за заданный период. Отчет выделяет записи без пары, несовпадающие статусы, необработанные события, повторные отправки и действия без ответственного. Исправление выполняют через контролируемую команду, а не прямое изменение статуса в таблице.
Как провести пилот и принять интеграцию?
Пилот ограничивают одной базой, организацией, ящиком, видом документа и группой контрагентов. Техническое задание фиксирует варианты обмена, ответственность систем, тестовые данные и критерии результата. Подход к составу документа разобран в статье про техническое задание на разработку.
- Зафиксируйте исходный ручной маршрут и список контрольных документов.
- Настройте сопоставления в тестовой копии и проверьте права ролей.
- Пройдите исходящую отправку, получение, подпись и завершение.
- Проверьте отказ, уточнение, исправление и аннулирование.
- Остановите связь после отправки запроса и убедитесь, что повтор не создает дубль.
- Проверьте отсутствие сопоставления, недействительный доступ и проблему МЧД.
- Сверьте выборку в 1С, интерфейсе Диадока и журнале интеграции.
- Зафиксируйте время восстановления, незакрытые ограничения и решение владельца процесса.
Если учетный контур требует доработки, проект можно начать с интеграции 1С с внешними системами: описать объекты, версии, права, ошибки и сверку до выбора конкретного технического варианта.
Частые вопросы
Можно ли подключить Диадок к 1С без изменения конфигурации?
Иногда достаточно внешнего модуля или поддерживаемого коннектора. Решение зависит от версии платформы, конфигурации, режима размещения базы и нужного сценария. Совместимость проверяют на актуальной странице продукта и в тестовой копии базы до установки в рабочий контур.
Когда для интеграции нужен API Диадока?
API оправдан, если стандартное решение не поддерживает нужные объекты, маршруты, массовую обработку или обмен с несколькими системами. Собственная интеграция потребует реализовать авторизацию, права, события, статусы, повторы, журнал и обновление при изменениях API.
Как связать документ Диадока с документом 1С?
Храните устойчивую пару идентификаторов: ссылку на объект 1С и MessageId с EntityId либо другой поддерживаемый идентификатор Диадока. Номер, дата и сумма подходят для проверки, но не должны быть единственным ключом связи.
Достаточно ли одного статуса «подписан»?
Нет. У документа могут отдельно существовать подпись отправителя, ответ получателя, извещения, уточнение, аннулирование, роуминг и внутреннее согласование. В 1С нужно показывать бизнесу понятное состояние, сохраняя исходные признаки для диагностики.
Где должна храниться машиночитаемая доверенность?
Способ хранения и передачи зависит от выбранного решения и роли подписанта. Интеграция должна проверять доступность МЧД, полномочия, срок и результат проверки, но не копировать закрытые ключи электронной подписи в базу или журнал обмена.
Как понять, что интеграция готова к эксплуатации?
Пилот проходит обычные и ошибочные сценарии без потери и дублей: отправку, получение, подпись, отказ, уточнение, аннулирование, недоступность сервиса и повтор обработки. Итоговая сверка должна объяснить состояние каждого контрольного документа в обеих системах.
Источники и границы материала
- Диадок: интеграционный модуль для 1С
- Документация Диадок API: возможности API
- Документация Диадок API: авторизация
- Документация Диадок API: лента событий
- Документация Диадок API: статусы документов
- Документация Диадок API: получение документа по идентификаторам
- Документация Диадок API: ошибки проверки сообщения
- Диадок для 1С: работа с МЧД
- ФНС России: электронный документооборот между организациями
Материал носит информационный характер. Конкретная архитектура, бюджет, режим работы с данными и уровень человеческого контроля зависят от процесса и требований компании.
Разберите контур 1С и Диадока
Покажите конфигурацию 1С, виды документов, ящики Диадока, роли подписантов и текущие ошибки. Мы определим вариант интеграции, границы пилота и критерии сверки.
