Разными сотрудниками одной организации, имеющими свои личные ключи, зарегистрированные в системе ЭДО, были импортированы в систему ЭДО методом 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="Общество с ограниченной ответственностью "Антон лимитед"" Inn="4353454341" Kpp="435345434" />
</Sender>
<Receiver>
<Abonent Id="2AL-CB499D73-9A7E-4041-B9E7-3781AB2A7AA6-00000" Name="Общество с ограниченной ответственностью "Супер мебель"" 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 установлены и подключены все необходимые для формирования подписей ключи ЭП.