Как устроен Диадок

Диадок обеспечивает юридически-значимый документооборот между организациями. Поэтому основные задачи Диадока — это:

  • пересылка документов между организациями и внутри организации,

  • формирование и хранение цепочек документооборота — последовательности событий, происходящих с документом, например: формирование документа, подпись отправителем, передача на подпись получателю и т.д.

Пересылка документов

Пересылка документов между организациями

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

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

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

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

Пересылка документов происходит следующим образом:

  1. Когда пользователь хочет начать документооборот со своим контрагентом, он создает сообщение в своем ящике — т.е. в ящике отправителя. Сообщение включает в себя документ и подпись к нему.

  2. Диадок формирует цепочку документооборота этого сообщения в ящике отправителя.

  3. Одновременно Диадок формирует цепочку документооборота этого сообщения в ящике контрагента — т.е. в ящике получателя. Так происходит «доставка» документа контрагенту.

Фактически цепочка документооборота в ящике отправителя формируется сразу же после отправки сообщения, а в ящике получателя — с задержкой: это связано с асинхронным выполнением операции отправки сообщения.

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

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

Пересылка документов внутри организации

Диадок позволяет обмениваться документами не только между организациями, но и внутри одной организации — между отделами, сотрудниками и т.п.

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

Доступ к ящикам

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

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

Формирование и хранение цепочки документооборота

Хранение сообщений в ящике

Ящик представляет собой логическое хранилище сообщений — отправленных из этого ящика и полученных в этот ящик. Содержимое ящика можно представить как единый список всех входящих и исходящих сообщений.

Чтобы получить доступ к конкретному сообщению в ящике, нужны два параметра:

  • идентификатор ящика,

  • идентификатор сообщения в ящике.

Хранение документов в сообщении

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

Помимо основных пользовательских документов (счет-фактура, УПД, договор и т.п.), сообщение включает в себя служебные документы: например, извещение о получении, уведомления, электронные подписи к документам, комментарии и другие служебные данные.

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

Чтобы однозначно идентифицировать сущность, нужны три параметра:

  • идентификатор ящика,

  • идентификатор сообщения в ящике,

  • идентификатор сущности внутри сообщения.

Формирование цепочки документооборота

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

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

Таким образом, сообщение представляет собой упорядоченный набор связанных дополнений (патчей). Дополнение, с которого «начинается» сообщение, называется заглавным.

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