2.1.4.3. Идентификаторы документа, их предназначение
 
Для каждого документа в его описании в файле meta.xml может быть задан ряд необязательных полей-идентификаторов, позволяющих связать экземпляры документа в хранилище клиентского приложения и на серверной части сервисов Такском. Часть идентификаторов предназначена для идентификации документа, часть – для логического объединения документов в рамках сделки.
Сделка – группа документов (документооборотов), логически объединённых одной финансовой операцией. Например, в рамках одной операции купли-продажи в сделку могут входить операции по выставлению счета, счета-фактуры и товарной накладной. Внутри системы это будут три независимых друг от друга документооборота, но логически они объединены в рамках одной реальной финансовой операции.
Теперь рассмотрим сами идентификаторы.
InternalId – внутренний идентификатор документа в хранилище служб Такском. Имеет формат Guid. При отправке исходящего контейнера из клиентского ПО не заполняется, присваивается автоматически при попадании документа в систему на стороне служб Такском. В дальнейшем используется для идентификации документа при проведении дополнительных криптоопераций, то есть серверная часть, отправляя на клиент контейнер с образом на подпись или шифрование, указывает в файле meta.xml этот идентификатор. Клиент, сформировав запрашиваемый образ, также указывает этот идентификатор. По нему сервер определяет, к какому документу относится эта подпись или шифрованный образ.
ExternalIdentifier – внешний (дополнительный) идентификатор документа, присвоенный ему в хранилище клиентского ПО. Может быть строкой произвольного вида. Используется для идентификации документа на стороне клиентского ПО. Может быть задан на этапе первоначальной отправки контейнера, в этом случае серверная часть при отправке дополнительных данных по документу указывает этот идентификатор в файле метаданных.