Сущность сообщения¶
Сущность сообщения — это любой хранимый в сообщении документ: основной пользовательский документ или служебный (комментарии к документу, подписи и т.п.).
Каждая сущность имеет идентификатор, тип и бинарное представление, которое интерпретируется в зависимости от типа сущности. Например, бинарным представлением счета-фактуры является массив байтов XML-файла в формате и кодировке, определенных ФНС. А бинарным представлением электронной подписи является массив байтов отсоединенной подписи в соответствии со стандартом CMS (RFC 5652) в DER-кодировке.
Связи между сущностями¶
Между сущностями в Диадоке могут устанавливаться связи двух типов:
Ссылки между родительской и дочерней сущностью.
Эта связь задается атрибутом
ParentEntityId
и устанавливает ссылки между сущностями внутри одного сообщения (при этом они могут находиться в разных дополнениях).На рисунке сообщение A содержит две сущности — U и V. Сущность U является родительской по отношению к сущности V, потому что ее поле
ParentEntityId
содержит значение U.Таким способом связываются, например, документ и электронная подпись под ним (U – документ, V – подпись) или счет-фактура и подтверждение о его получении (U – счет-фактура, V – подтверждение).
Ссылки между сущностями из разных сообщений.
Эта связь задается атрибутом
InitialDocumentId
и устанавливает ссылки между документами, находящимися в разных сообщениях.На рисунке сущность X в сообщении B связана с сущностью U в сообщении A с помощью поля
InitialDocumentId
. В качестве значения этого поля используется пара идентификаторов – сообщения и сущности (A:U).Так связываются, например, корректирующий счет-фактуры и исходный счет-фактура или дополнительное соглашение с основным договором.
Представление в API¶
В API сущность сообщения представлена структурой Entity.