Сущность сообщения

Сущность сообщения — это любой хранимый в сообщении документ: основной пользовательский документ или служебный (комментарии к документу, подписи и т.п.).

Каждая сущность имеет идентификатор, тип и бинарное представление, которое интерпретируется в зависимости от типа сущности. Например, бинарным представлением счета-фактуры является массив байтов XML-файла в формате и кодировке, определенных ФНС. А бинарным представлением электронной подписи является массив байтов отсоединенной подписи в соответствии со стандартом CMS (RFC 5652) в DER-кодировке.

Связи между сущностями

Между сущностями в Диадоке могут устанавливаться связи двух типов:

  1. Ссылки между родительской и дочерней сущностью.

Эта связь задается атрибутом ParentEntityId и устанавливает ссылки между сущностями внутри одного сообщения (при этом они могут находиться в разных дополнениях).

image0

На рисунке сообщение A содержит две сущности — U и V. Сущность U является родительской по отношению к сущности V, потому что ее поле ParentEntityId содержит значение U.

Таким способом связываются, например, документ и электронная подпись под ним (U – документ, V – подпись) или счет-фактура и подтверждение о его получении (U – счет-фактура, V – подтверждение).

  1. Ссылки между сущностями из разных сообщений.

Эта связь задается атрибутом InitialDocumentId и устанавливает ссылки между документами, находящимися в разных сообщениях.

image1

На рисунке сущность X в сообщении B связана с сущностью U в сообщении A с помощью поля InitialDocumentId. В качестве значения этого поля используется пара идентификаторов – сообщения и сущности (A:U).

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

Представление в API

В API сущность сообщения представлена структурой Entity.