3.3.4.12. Связи документов
|
|
Для связывания документов предусмотрено указание идентификатора документооборота (Docflow ID) привязанного документа в теге дополнительных данных контейнера Такском документа, являющегося хранителем связи.
Таким образом можно задать абстрактную связь между документом хранителем связи и одним или несколькими привязанными к нему документами, без какой-либо семантики и классификации связей.
Указать привязанные документы можно только при создании и редактировании документа хранителя связи. После отправки документа хранителя связи добавление или разрывание его связей не производится.
При операциях импорта/экспорта связь не валидируется.
|
Формат связей Такском-Доклайнз
Описание связи в контейнере
Связь документов формируется добавлением в коллекцию AdditionalData в файле карточки контейнера Такском одного или более параметров <AdditionalParameter Name="LinkedDocument" Value="docflowId" />. Пример:
<?xml version="1.0" encoding="windows-1251"?>
<Card xmlns="http://api-invoice.taxcom.ru/card">
<Identifiers />
<Type Name="Invoice" />
<Description Title="Cчет-фактура" Date="15.05.2015 00:00:00">
<AdditionalData>
<AdditionalParameter Name="Сумма" Value="123" />
<AdditionalParameter Name="Номер" Value="213" />
<AdditionalParameter Name="ДатаСчФ" Value="15.05.2015" />
<AdditionalParameter Name="НомИспрСчФ" Value="" />
<AdditionalParameter Name="ДатаИспрСчФ" Value="" />
<AdditionalParameter Name="LinkedDocument" Value="540b0bc0-098d-4208-8754-6319aa423122" />
</AdditionalData>
</Description>
<Sender>
<Abonent Id="2AL-93D14F72-E2A4-4DE6-8859-03B70C547106-00000" />
</Sender>
<Receiver>
<Abonent Id="2AL-55E90F51-F953-4DBF-9707-F94BBA070425-00000" />
</Receiver>
</Card>
Отражение связей документа в объектной модели Taxcom SDK (.NET SDK, COM SDK, JS SDK)
Для работы со связями документа с помощью объектной модели SDK расширен интерфейс IDocument. В него добавлено новое свойство:
/// <summary>
/// Список идентификаторов связанных документов ( идентификатор документооборота )
/// </summary>
IEnumerable<string> LinkedDocuments { get; set; }
Данное поле содержит коллекцию сериализованных в строку GUID'ов. Редактирование предполагается заменой коллекции на новую.
Заполнение данного поля не является обязательным.
Импорт связей документов из 1С
Сведения о связи между документами 1С импортируются из следующих мест:
Поле параметров связи
|
Описание использования
|
Поддержка в формализованных документах (СФ, КСФ, ТОРГ, АКТ)
|
Поддержка в неформализованных документах
|
ИнфПол
в документе формата версии 5.02
|
В коллекции ИнфПол документа (не карточки!) присутствуют элементы
<ТекстИнф Идентиф="ВидДокументаОснования" Значен="ТОРГ-12 (титул продавца)"/>
<ТекстИнф Идентиф="НомерДокументаОснования" Значен="10"/>
<ТекстИнф Идентиф="ДатаДокументаОснования" Значен="03.06.2015"/>
<ТекстИнф Идентиф="ИДЭДДокументаОснования"
Значен=
"DP_OTORG12_2AL-CF497DE1-05E2-4F08-B715-4505FBC445E2-00000_2AL-9E8AE47A-F811-4019-9B03-820463E6033F-00000_20150604_245870ef-4c5b-4690-88c2-dd3942ae123e"/>
Пытаемся найти DocflowID для цепочки, в которой имеется пакет с именем из "ИДЭДДокументаОснования".
Если не находим - не проставляем связь в формате Такском Доклайнз.
|
Поддерживается для счетов-фактур и корректировочных счетов-фактур формата версии 5.02.
Не поддерживается Актом и ТОРГ-12 (другая структура тега ИнфПол).
|
Не поддерживается
(нет тэга ИнфПол)
|
ИнфПол
в документе формата версии 5.01
|
В аттрибуте ТекстИнф элемента ИнфПол документа хранится экранированная xml-коллекция данных вида:
<Данные>
<Реквизит Имя="ВалютаКод" Значение="643"/>
<Реквизит Имя=
"ВидДокументаОснования" Значение="Акт (титул исполнителя)"/>
<Реквизит Имя="НомерДокументаОснования" Значение="201"/>
<Реквизит Имя="ДатаДокументаОснования" Значение="17.09.2014"/>
<Реквизит Имя="ИДЭДДокументаОснования"
Значение=
"DP_IAKTPRM_2AL-DDAE9B58-2B62-4C69-B430-5EC0463D441D-00000_2AL-9798E40D-2EDD-4016-A564-B14C2491D1AF-00000_20140917_6c99f9fc-2887-4126-8cc8-096d3db6e1bf"/>
<Реквизит Имя="ВидСчетаФактуры" Значение="Реализация"/>
</Данные>
Пример:
<ИнфПол ТекстИнф="<Данные> <Реквизит Имя="ВалютаКод" Значение="643"/> <Реквизит Имя="ВидДокументаОснования" Значение="Акт (титул исполнителя)"/> <Реквизит Имя="НомерДокументаОснования" Значение="201"/> <Реквизит Имя="ДатаДокументаОснования" Значение="17.09.2014"/> <Реквизит Имя="ИДЭДДокументаОснования" Значение="DP_IAKTPRM_2AL-DDAE9B58-2B62-4C69-B430-5EC0463D441D-00000_2AL-9798E40D-2EDD-4016-A564-B14C2491D1AF-00000_20140917_6c99f9fc-2887-4126-8cc8-096d3db6e1bf"/> <Реквизит Имя="ВидСчетаФактуры" Значение="Реализация"/> </Данные>"/>
Аналогично ИнфПол'у в документе формата версии 5.01. Пытаемся найти DocflowID для цепочки, в которой имеется пакет с именем из "ИДЭДДокументаОснования".
Если не находим - не проставляем связь в формате Такском Доклайнз.
|
Поддерживается в документе формата версии 5.01
|
Не поддерживается
(нет тэга ИнфПол)
|
Comment
в карточке
|
В необязательном поле Comment карточки могут присутствовать GUID'ы. Считаем, что это - DocflowID привязанных документов.
|
Поддерживается
(любой формат)
|
Поддерживается
|
Уникальный ИД Основания в карточке
|
В коллекции AdditionalData неформализованного документа может присутствовать элемент <AdditionalParameter Name="УникальныйИДОснования" Value="GUID" />
Считаем, что это - DocflowID привязанного документа.
|
Не поддерживается
(1С так связывает только неформализованные с неформализованными)
|
Поддерживается
|
Для формализованного документа можно задать связь с произвольным документом в поле ИнфПол или в поле Comment карточки контейнера Такском.
Для неформализованного документа можно задать связь с произвольным документом как в поле Comment карточки контейнера Такском, так и значением параметра "УникальныйИДОснования".