ИС "Такском-Доклайнз"                  ИНФОРМАЦИЯ ДЛЯ РАЗРАБОТЧИКОВ
×
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"/>
 <Реквизит Имя="ВидСчетаФактуры" Значение="Реализация"/>
</Данные>
Пример:
<ИнфПол ТекстИнф="&lt;Данные> &lt;Реквизит Имя=&quot;ВалютаКод&quot; Значение=&quot;643&quot;/> &lt;Реквизит Имя=&quot;ВидДокументаОснования&quot; Значение=&quot;Акт (титул исполнителя)&quot;/> &lt;Реквизит Имя=&quot;НомерДокументаОснования&quot; Значение=&quot;201&quot;/> &lt;Реквизит Имя=&quot;ДатаДокументаОснования&quot; Значение=&quot;17.09.2014&quot;/> &lt;Реквизит Имя=&quot;ИДЭДДокументаОснования&quot; Значение=&quot;DP_IAKTPRM_2AL-DDAE9B58-2B62-4C69-B430-5EC0463D441D-00000_2AL-9798E40D-2EDD-4016-A564-B14C2491D1AF-00000_20140917_6c99f9fc-2887-4126-8cc8-096d3db6e1bf&quot;/> &lt;Реквизит Имя=&quot;ВидСчетаФактуры&quot; Значение=&quot;Реализация&quot;/> &lt;/Данные>"/>
Аналогично ИнфПол'у в документе формата версии 5.01. Пытаемся найти DocflowID для цепочки, в которой имеется пакет с именем из "ИДЭДДокументаОснования".
Если не находим - не проставляем связь в формате Такском Доклайнз.
Поддерживается в документе формата версии 5.01
Не поддерживается
(нет тэга ИнфПол)
Comment
в карточке
В необязательном поле Comment карточки могут присутствовать GUID'ы. Считаем, что это - DocflowID привязанных документов.
Поддерживается
 (любой формат)
Поддерживается
Уникальный ИД Основания в карточке
В коллекции AdditionalData неформализованного документа может присутствовать элемент <AdditionalParameter Name="УникальныйИДОснования" Value="GUID" />
Считаем, что это - DocflowID привязанного документа.
Не поддерживается
(1С так связывает только неформализованные с неформализованными)
Поддерживается
 
Для формализованного документа можно задать связь с произвольным документом в поле ИнфПол или в поле Comment карточки контейнера Такском.
Для неформализованного документа можно задать связь с произвольным документом как в поле Comment карточки контейнера Такском, так и значением параметра "УникальныйИДОснования".