ИС "Такском-Доклайнз"                  ИНФОРМАЦИЯ ДЛЯ РАЗРАБОТЧИКОВ
×
Разными сотрудниками одной организации, имеющими свои личные ключи, зарегистрированные в системе ЭДО, были  импортированы в систему ЭДО методом Send несколько контейнеров. Затем каждый из сотрудников вызывает метод AutoSendReceive  со своим личным ключом. Чьей подписью будут подписаны отправленные документы?
 
При выполнении метода Send документ НЕ БУДЕТ подписан, он будет импортирован в систему и сохранен в разделе "Черновики".
При импорте методом Send формализованных документов (счетов-фактур, корректировочных счетов-фактур, актов выполненных работ (оказания услуг), ТОРГ12) происходит следующее:
Если подписант НЕ указан в документе, подписант ищется в карточке (card.xml). В случае обнаружения данных подписанта(ов) в карточке, данные первого найденного подписанта записываются в документ в блок "Подписант", остальные игнорируются.
Если подписант НЕ указан в карточке и документе, - используется сертификат, указанный при аутентификации, и данные подписанта переписываются из сертификата в секцию "Подписант" в документе.
Для подписи и отправки после импорта необходимо вызвать метод AutoSendReceive.
При выборе ключа ЭП для формирования подписи учитывается тип документа (формализованный или неформализованный) и указание подписанта в отправляемом документе или карточке отправляемого документа (card.xml).
Для формализованных документов подписант всегда один, его данные указаны в документе в блоке "Подписант".
Пример этого блока в счете-фактуре:
 
Важно знать:
Ключ для формирования подписи формализованного документа выбирается по Ф.И.О. и ИНН, указанным в блоке "Подписант" документа. Если такой ключ не будет найден при первой попытке (вызове метода AutoSendReceive), - фиксируется ошибка, документ не будет отправлен, при следующих вызовах метода AutoSendReceive попытки подписать и отправить этот документ не происходят. Указание подписантов в карточке формализованного документа будет проигнорировано.
Список подписантов в карточке (card.xml) определяется тэгом Signers и должен следовать за тэгом Receiver.
Тэг Signers в карточке документа является опциональным.
Тэг Signer определяет каждого подписанта документа. Подписанты могут быть заданы в карточке документа в двух форматах:
Формат 1 предполагает указание фамилии (LastName), имени (FirstName), отчества (Patronimic) и ИНН (Inn) в тэге Personal. В этом формате фамилия и имя являются обязательными атрибутами.
 
Атрибут
Тип
Описание
Требует заполнения
LastName
Текст, максимальная длина 255 символов
Фамилия подписанта
да
FirstName
Текст, максимальная длина 255 символов
Имя подписанта
да
Patronimic
Текст, максимальная длина 255 символов
Отчество подписанта
нет
Inn
Текст, максимальная длина 255 символов
ИНН организации подписанта
нет
 
Формат 2 предполагает указание серийного номера (SerialNumber) и отпечатка (Thumbprint) сертификата (оба реквизита обязательны) в тэге Certificate.
Атрибут
Тип
Описание
Требует заполнения
SerialNumber
Текст, максимальная длина 255 символов
Серийный номер сертификата подписанта
да
Thumbprint
Текст, максимальная длина 255 символов
Отпечаток сертификата подписанта
да
 
Пример:
<?xml version="1.0" encoding="windows-1251"?>
<Card xmlns="http://api-invoice.taxcom.ru/card">
  <Identifiers/>
  <Type Name="Account" ResignRequired="true" />
  <Description Date="2012-09-11">
    <AdditionalData>
      <AdditionalParameter Name="Сумма" Value="500" />
      <AdditionalParameter Name="Номер" Value="2323" />
    </AdditionalData>
  </Description>
  <Sender>
    <Abonent Id="2AL-FD3FD1FE-DEB9-4685-8D51-BE2AA6D68E8A-00000" Name="Общество с ограниченной ответственностью &quot;Антон лимитед&quot;" Inn="4353454341" Kpp="435345434" />
  </Sender>
  <Receiver>
    <Abonent Id="2AL-CB499D73-9A7E-4041-B9E7-3781AB2A7AA6-00000" Name="Общество с ограниченной ответственностью &quot;Супер мебель&quot;" Inn="7814472573" Kpp="781401001" ContractNumber="Договор по умолчанию" />
  </Receiver>
<!-- Блок подписантов документа -->
<Signers>
<!-- Подписант документа с тэгом Person - поиск сертификат будет выполнен по персональным данным ФИО+ИНН -->
    <Signer>
      <Person LastName="Васечкин" FirstName="Антон" Patronimic="Братиславович" Inn="5665785862" />
    </Signer>
<!-- Подписант документа с тэгом Certificate - поиск сертификат по серийному номеру и отпечатку -->
    <Signer>
      <Certificate Thumbprint="fb43e2c47e6e2bf0df1059bf32a5e76fee2af2ff" SerialNumber="7c8173ca000000000652" />
    </Signer>
</Signers>
</Card>
 
Для неформализованных документов подписанты могут быть заданы в карточке документа (файл card.xml).
Если в карточке импортированного неформализованного документа не указан подписант, при вызове метода AutoSendReceive документ будет подписант ключом ЭП, сертификат которого был указан при аутентификации.
Перед подписанием система проверит, принадлежит ли найденный ключ ЭП организации-отправителю.
При вызове метода AutoSendReceive и отсутствии необходимого для подписания формализованного документа ключа ЭП будет зафиксирована ошибка, и документ не будет отправлен.
Ошибка не возникнет, если на каждом из компьютеров, инициирующих вызовы метода AutoSendReceive установлены и подключены все необходимые для формирования подписей ключи ЭП.