3.5.5.3. Подписание и отправка ответа на формализованный документ
|
|
Под ответом на формализованный документ здесь подразумеваются:
•
|
Уведомление об уточнении.
|
•
|
Титул покупателя (ТОРГ 12).
|
•
|
Титул заказчика (АКТ).
|
Для подписания и отправки таких файлов можно воспользоваться методами, описанными в п. 3.3.4.8. Подписание и отправка ответа на формализованный документ, или следующими методами:
•
|
void SendServiceDocument(TaxcomContainer container,string docflowId)
|
•
|
void SendServiceDocumentFromFile(string fileName, string docflowId)
|
Соответствующие классы в .NET SDK и COM SDK имеют следующие имена:
•
|
CorrectionNoticeDocument (Уведомление об уточнении)
|
•
|
FormalizedConsigmentCustomerTitleDocument (Титул покупателя - ТОРГ 12)
|
•
|
FormalizedStatementCustomerTitleDocument (Титул заказчика - АКТ)
|
В качестве обязательных параметров следует передать либо объект контейнера, содержащего один из перечисленных выше документов, либо путь к zip файлу контейнера и id документооборота, к которому относится данный документ.
Передача null в качестве любого из параметров приводит к ArgumentNullException с указанием имени некорректного параметра.
Для перечисленных выше документов имеется возможность добавить файл подписи, либо сформировать ЭП на машине клиента. Для реализации этой возможности применяются следующие методы:
•
|
void AddCertificateForSign(string thumbprint);
|
•
|
void AddExistingSignature(string _filePath) ).
|
Методы, доступные для этих классов в COM:
•
|
void ImportFromXmlFile(string filePath);
|
•
|
void AddCertificateForSign(string thumbprint);
|
•
|
void AddExistingSignature(string _filePath).
|
Пример кода:
(вызов из Java Script)
var document = new ActiveXObject("Taxcom.Client.Api.Entity.CorrectionNoticeDocument");
//Передаем путь к xml файлу документа УОУ
document.ImportFromXmlFile(documentPath);
//Передаем путь к файлу подписи
document.AddExistingSignature(signPath);
//Создаем контейнер
var container = new ActiveXObject("Taxcom.Client.Api.Entity.TaxcomContainer");
container.SignMode = DocumentSignMode.UseSpecifiedSignature;
container.Documents.Add(document);
//Отправляем созданный контейнер
var client = new TaxcomSdkClient();
client.sendServiceContainer(container, docFlowId);