Работа с актом сверки взаимных расчетов
Порядок обмена актами описан на странице Документооборот актов. Базовый алгоритм работы с формализованными документами приведен в разделе Работа с формализованными документами. Особенности сценариев работы с документом зависит от вида документооборота для его формата.
Сценарий работы с актом сверки взаимных расчетов включает следующие шаги:
- Получатель:
генерирует и отправляет извещение о получении титула отправителя — если оно было запрошено отправителем,
парсит полученный титул — при необходимости,
генерирует титул получателя (в том числе с разногласиями) — если это предусмотрено видом документооборота,
Диадок позволяет сформировать и отправить титул получателя с разногласиями.
Генерация титула отправителя
Для генерации титула отправителя используйте метод GenerateTitleXml. Инструкция о генерации приведена в разделе Генерация титула отправителя.
Чтобы сгенерировать титул отправителя, нужно получить необходимую информацию из метода GetDocumentTypes (V2). Инструкция о получении данных для титула из метода GetDocumentTypes
приведена в разделе Данные для генерации титула.
Из ответа метода GetDocumentTypes
для титула отправителя возьмем следующие значения для параметров метода GenerateTitleXml
:
documentTypeNamedId = ReconciliationAct
documentFunction = default
documentVersion = reconciliationact405_05_01_01
titleIndex = 0
(титул отправителя)
Кроме этого нужно подготовить содержимое титула — упрощенный XML-файл UserDataXml. Схемы XSD и UserDataXSD можно скачать в разделе XSD-схемы.
С помощью полученных данных можно сгенерировать титул отправителя методом GenerateTitleXml.
Пример HTTP-запроса метода GenerateTitleXml:
POST /GenerateTitleXml?boxId={{boxId}}&documentTypeNamedId=ReconciliationAct&documentFunction=default&documentVersion=reconciliationact405_05_01_01&titleIndex=0 HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Content-Type: application/xml; charset=utf-8
Пример тела запроса метода GenerateTitleXml (UserDataXml):
<?xml version="1.0" encoding="utf-8"?>
<ReconciliationActSenderTitle ReconciliationStartDate="22.07.2022" ReconciliationEndDate="23.07.2022" DocumentNumber="1" Currency="643" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<Sender>
<OrganizationDetails OrgType="2" OrgName="СвПрод-Organization-1" Inn="1234567894" Kpp="667301001" Ogrn="1026605606620" FnsParticipantId="2BM-1000000002-100000000-202003270728226218822" Okpo="0123456789" ShortOrgName="СвОтпр-КраткНазв" Phone="+7" Email="1@mail.ru" OtherContactInfo="Контакт-ИнКонт" Department="СвОтпр-СтруктПодр" OrganizationAdditionalInfo="СвОтпр-ИнфДляУчаст" />
</Sender>
<Recipient>
<OrganizationDetails OrgType="2" OrgName="СвПрод-Organization-2" Inn="1234567894" Kpp="667301001" Ogrn="1026605606620" FnsParticipantId="2BM-3000000006-100000000-202003270731230865376" Okpo="0123456789" ShortOrgName="СвПол-КраткНазв" Phone="+7" Email="1@mail.ru" OtherContactInfo="Контакт-ИнКонт" Department="СвПол-СтруктПодр" OrganizationAdditionalInfo="СвПол-ИнфДляУчаст" />
</Recipient>
<Table StartBalanceDebit="1.00" StartBalanceCredit="2.00" TurnoverDebit="3.00" TurnoverCredit="4.00" EndBalanceDebit="5.00" EndBalanceCredit="6.00">
<ContractInfoItems>
<Item StartBalanceDebit="7.00" StartBalanceCredit="8.00" TurnoverDebit="9.00" TurnoverCredit="10.00" EndBalanceDebit="11.00" EndBalanceCredit="12.00" Identifier="ДогСв-ИдДог" ContractTypeInfo="ДогСв-ОписТипДог" Number="1" Date="24.07.2022">
<DocumentInfoItems>
<Item Name="ДокСв-НаимДок" Number="1" Date="25.07.2022" Identifier="ДокСв-ИдДок" AdditionalInfo="ДокСв-ДопИнф">
<OperationInfoItems>
<Item Name="СвОпер-НаимОпер" RowNumber="1" Date="26.07.2022" SumDebit="13.00" SumCredit="14.00" />
<Item Name="СвОпер-НаимОпер" RowNumber="2" Date="26.07.2022" SumDebit="13.00" SumCredit="14.00" />
</OperationInfoItems>
</Item>
<Item Name="ДокСв-НаимДок" Number="2" Date="25.07.2022" Identifier="ДокСв-ИдДок" AdditionalInfo="ДокСв-ДопИнф">
<OperationInfoItems>
<Item Name="СвОпер-НаимОпер" RowNumber="1" Date="26.07.2022" SumDebit="13.00" SumCredit="14.00" />
<Item Name="СвОпер-НаимОпер" RowNumber="2" Date="26.07.2022" SumDebit="13.00" SumCredit="14.00" />
</OperationInfoItems>
</Item>
</DocumentInfoItems>
</Item>
<Item StartBalanceDebit="7.00" StartBalanceCredit="8.00" TurnoverDebit="9.00" TurnoverCredit="10.00" EndBalanceDebit="11.00" EndBalanceCredit="12.00" Identifier="ДогСв-ИдДог" ContractTypeInfo="ДогСв-ОписТипДог" Number="2" Date="24.07.2022">
<DocumentInfoItems>
<Item Name="ДокСв-НаимДок" Number="1" Date="25.07.2022" Identifier="ДокСв-ИдДок" AdditionalInfo="ДокСв-ДопИнф">
<OperationInfoItems>
<Item Name="СвОпер-НаимОпер" RowNumber="1" Date="26.07.2022" SumDebit="13.00" SumCredit="14.00" />
<Item Name="СвОпер-НаимОпер" RowNumber="2" Date="26.07.2022" SumDebit="13.00" SumCredit="14.00" />
</OperationInfoItems>
</Item>
<Item Name="ДокСв-НаимДок" Number="2" Date="25.07.2022" Identifier="ДокСв-ИдДок" AdditionalInfo="ДокСв-ДопИнф">
<OperationInfoItems>
<Item Name="СвОпер-НаимОпер" RowNumber="1" Date="26.07.2022" SumDebit="13.00" SumCredit="14.00" />
<Item Name="СвОпер-НаимОпер" RowNumber="2" Date="26.07.2022" SumDebit="13.00" SumCredit="14.00" />
</OperationInfoItems>
</Item>
</DocumentInfoItems>
</Item>
</ContractInfoItems>
</Table>
<Signers>
<Signer>
<Fio FirstName="Георгий" LastName="Фамилия" MiddleName="Отчество" />
<Position PositionSource="Manual">Сотрудник</Position>
</Signer>
</Signers>
</ReconciliationActSenderTitle>
Пример тела ответа метода GenerateTitleXml (титул отправителя):
<?xml version="1.0" encoding="windows-1251"?>
<Файл ИдФайл="ON_AKTSVEROTP_2BM-3000000006-100000000-202003270731230865376_2BM-1000000002-100000000-202003270728226218822_20250312_5f0d0abe-e455-468c-ad64-31ca727d2970" ВерсФорм="5.01" ВерсПрог="Diadoc 1.0">
<Документ КНД="1110332" ВрИнфОтпр="11:15:32" ДатаИнфОтпр="12.03.2025" ДатаНачПер="22.07.2022" ДатаОкПер="23.07.2022" НомерАкт="1">
<СвДокКрАкт КодОКВ="643">
<СвОтпр ОКПО="0123456789" СтруктПодр="СвОтпр-СтруктПодр" ИнфДляУчаст="СвОтпр-ИнфДляУчаст" КраткНазв="СвОтпр-КраткНазв">
<ИдСв>
<СвЮЛУч НаимОрг="СвПрод-Organization-1" ИННЮЛ="1234567894" КПП="667301001" ОГРН="1026605606620" />
</ИдСв>
<Контакт Тлф="+7" ЭлПочта="1@mail.ru" ИнКонт="Контакт-ИнКонт" />
</СвОтпр>
<СвПол ОКПО="0123456789" СтруктПодр="СвПол-СтруктПодр" ИнфДляУчаст="СвПол-ИнфДляУчаст" КраткНазв="СвПол-КраткНазв">
<ИдСв>
<СвЮЛУч НаимОрг="СвПрод-Organization-2" ИННЮЛ="1234567894" КПП="667301001" ОГРН="1026605606620" />
</ИдСв>
<Контакт Тлф="+7" ЭлПочта="1@mail.ru" ИнКонт="Контакт-ИнКонт" />
</СвПол>
</СвДокКрАкт>
<ТаблАкт СальдоНачДеб="1.00" СальдоНачКр="2.00" ОборотДеб="3.00" ОборотКр="4.00" СальдоКонДеб="5.00" СальдоКонКр="6.00">
<ДогСв СальдоНачДеб="7.00" СальдоНачКр="8.00" ОборотДеб="9.00" ОборотКр="10.00" СальдоКонДеб="11.00" СальдоКонКр="12.00" ИдДог="ДогСв-ИдДог" НомДог="1" ДатаДог="24.07.2022" ОписТипДог="ДогСв-ОписТипДог">
<ДокСв НаимДок="ДокСв-НаимДок" НомДок="1" ДатаДок="25.07.2022" ИдДок="ДокСв-ИдДок" ДопИнф="ДокСв-ДопИнф">
<СвОпер НаимОпер="СвОпер-НаимОпер" НомСтр="1" ДатаОпер="26.07.2022" СумДебет="13.00" СумКредит="14.00" />
<СвОпер НаимОпер="СвОпер-НаимОпер" НомСтр="2" ДатаОпер="26.07.2022" СумДебет="13.00" СумКредит="14.00" />
</ДокСв>
<ДокСв НаимДок="ДокСв-НаимДок" НомДок="2" ДатаДок="25.07.2022" ИдДок="ДокСв-ИдДок" ДопИнф="ДокСв-ДопИнф">
<СвОпер НаимОпер="СвОпер-НаимОпер" НомСтр="1" ДатаОпер="26.07.2022" СумДебет="13.00" СумКредит="14.00" />
<СвОпер НаимОпер="СвОпер-НаимОпер" НомСтр="2" ДатаОпер="26.07.2022" СумДебет="13.00" СумКредит="14.00" />
</ДокСв>
</ДогСв>
<ДогСв СальдоНачДеб="7.00" СальдоНачКр="8.00" ОборотДеб="9.00" ОборотКр="10.00" СальдоКонДеб="11.00" СальдоКонКр="12.00" ИдДог="ДогСв-ИдДог" НомДог="2" ДатаДог="24.07.2022" ОписТипДог="ДогСв-ОписТипДог">
<ДокСв НаимДок="ДокСв-НаимДок" НомДок="1" ДатаДок="25.07.2022" ИдДок="ДокСв-ИдДок" ДопИнф="ДокСв-ДопИнф">
<СвОпер НаимОпер="СвОпер-НаимОпер" НомСтр="1" ДатаОпер="26.07.2022" СумДебет="13.00" СумКредит="14.00" />
<СвОпер НаимОпер="СвОпер-НаимОпер" НомСтр="2" ДатаОпер="26.07.2022" СумДебет="13.00" СумКредит="14.00" />
</ДокСв>
<ДокСв НаимДок="ДокСв-НаимДок" НомДок="2" ДатаДок="25.07.2022" ИдДок="ДокСв-ИдДок" ДопИнф="ДокСв-ДопИнф">
<СвОпер НаимОпер="СвОпер-НаимОпер" НомСтр="1" ДатаОпер="26.07.2022" СумДебет="13.00" СумКредит="14.00" />
<СвОпер НаимОпер="СвОпер-НаимОпер" НомСтр="2" ДатаОпер="26.07.2022" СумДебет="13.00" СумКредит="14.00" />
</ДокСв>
</ДогСв>
</ТаблАкт>
<Подписант Должн="Сотрудник">
<ФИО Фамилия="Фамилия" Имя="Георгий" Отчество="Отчество" />
</Подписант>
</Документ>
</Файл>
Отправка титула отправителя
Сформированный титул отправителя можно подписать и отправить получателю с помощью метода PostMessage (V3), передав его в поле DocumentAttachment
структуры MessageToPost. Инструкция об отправке документа приведена в разделе Отправка документа.
Обратите внимание, что в титуле должны быть заполнены данные подписанта. Указать их можно либо сразу при генерации титула отправителя, либо с помощью процедуры подготовки к подписанию.
Заполнить данные подписанта нужно в универсальном формате заполнения данных подписанта.
В структуре DocumentAttachment укажите значения, которые были получены для генерации методом GetDocumentTypes (V2):
TypeNamedId = ReconciliationAct
Function = default
Version = reconciliationact405_05_01_01
Если отправитель хочет запросить извещение о получении титула получателем, то в структуре DocumentAttachment нужно выставить значение NeedRecipientSignature = true
.
Пример тела запроса метода PostMessage:
{
"FromBoxId": "{{boxId_sender}}",
"ToBoxId": "{{boxId_recipient}}",
"DocumentAttachments": [
{
"SignedContent": {
"Content": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0...NC50Ls+", // содержимое XML-файла в кодировке base-64
"Signature": "MIIN5QYJKoZIhvcNAQcCoIIN1jCCDdIA...kA9MJfsplqgW" // содержимое файла подписи в кодировке base-64
},
"TypeNamedId": "ReconciliationAct",
"Function": "default",
"Version": "reconciliationact405_05_01_01"
}
]
}
После отправки документа:
Диадок автоматически сформирует подтверждение оператора о дате получения документа и отправит его отправителю и получателю. Получить его можно по инструкции Получение подтверждения оператора.
Если отправитель запросил извещение о получении документа получателем, то получатель должен сформировать извещение о получении документа и отправить его отправителю. Получить его можно по инструкции Получение извещения о получении.
Получение титула отправителя в ящике получателя
Получатель может найти входящий акт в своем ящике с помощью чтения ленты событий или с помощью поиска. Инструкция о получении документов приведена на странице Получение документов.
Чтобы найти акт сверки взаимных расчетов в ящике получателя через поиск, передайте в метод GetDocuments (V3) значения параметров:
boxId
— идентификатор ящика получателя,filterCategory = ReconciliationAct.InboundNotFinished
.
Пример HTTP-запроса метода GetDocuments:
GET /V3/GetDocuments?filterCategory=ReconciliationAct.InboundNotFinished&boxId={{boxId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json
Content-Type: application/json charset=utf-8
Из полученного в ответе метода списка DocumentList можно получить информацию о каждом документе. Инструкция приведена в разделе Получение информации о найденных документах.
Генерация и отправка извещения о получении титула отправителя
Если отправитель при отправке документа запросил извещение о получении (ИоП) документа получателем, то после получения документа получатель должен сформировать и отправить ИоП.
Сгенерировать ИоП можно с помощью метода GenerateReceiptXml (V2), а отправить с помощью метода PostMessagePatch (V3) или PostMessagePatch (V4). Инструкция о генерации и отправке ИоП приведена в разделе Генерация и отправка извещения о получении.
Если выбранный вид документооборота не предусматривает наличие титула получателя, то получатель должен подписать акт, и после этого документооборот считается завершенным, никакие действия по документу больше не требуются.
Парсинг титула отправителя
Чтобы получить данные из полученного титула отправителя, используйте метод ParseTitleXml. Инструкция о парсинге приведена на странице Парсинг формализованного документа.
В теле запроса метода ParseTitleXml
нужно передать XML-файл полученного титула.
Пример HTTP-запроса метода ParseTitleXml:
POST /ParseTitleXml?boxId={{boxId}}&documentTypeNamedId=ReconciliationAct&documentFunction=default&documentVersion=reconciliationact405_05_01_01&titleIndex=0 HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Content-Type: application/xml; charset=utf-8
Пример тела запроса метода ParseTitleXml:
<?xml version="1.0" encoding="windows-1251"?>
<Файл ИдФайл="ON_AKTSVEROTP_2BM-3000000006-100000000-202003270731230865376_2BM-1000000002-100000000-202003270728226218822_20250312_5f0d0abe-e455-468c-ad64-31ca727d2970" ВерсФорм="5.01" ВерсПрог="Diadoc 1.0">
<Документ КНД="1110332" ВрИнфОтпр="11:15:32" ДатаИнфОтпр="12.03.2025" ДатаНачПер="22.07.2022" ДатаОкПер="23.07.2022" НомерАкт="1">
<СвДокКрАкт КодОКВ="643">
<СвОтпр ОКПО="0123456789" СтруктПодр="СвОтпр-СтруктПодр" ИнфДляУчаст="СвОтпр-ИнфДляУчаст" КраткНазв="СвОтпр-КраткНазв">
<ИдСв>
<СвЮЛУч НаимОрг="СвПрод-Organization-1" ИННЮЛ="1234567894" КПП="667301001" ОГРН="1026605606620" />
</ИдСв>
<Контакт Тлф="+7" ЭлПочта="1@mail.ru" ИнКонт="Контакт-ИнКонт" />
</СвОтпр>
<СвПол ОКПО="0123456789" СтруктПодр="СвПол-СтруктПодр" ИнфДляУчаст="СвПол-ИнфДляУчаст" КраткНазв="СвПол-КраткНазв">
<ИдСв>
<СвЮЛУч НаимОрг="СвПрод-Organization-2" ИННЮЛ="1234567894" КПП="667301001" ОГРН="1026605606620" />
</ИдСв>
<Контакт Тлф="+7" ЭлПочта="1@mail.ru" ИнКонт="Контакт-ИнКонт" />
</СвПол>
</СвДокКрАкт>
<ТаблАкт СальдоНачДеб="1.00" СальдоНачКр="2.00" ОборотДеб="3.00" ОборотКр="4.00" СальдоКонДеб="5.00" СальдоКонКр="6.00">
<ДогСв СальдоНачДеб="7.00" СальдоНачКр="8.00" ОборотДеб="9.00" ОборотКр="10.00" СальдоКонДеб="11.00" СальдоКонКр="12.00" ИдДог="ДогСв-ИдДог" НомДог="1" ДатаДог="24.07.2022" ОписТипДог="ДогСв-ОписТипДог">
<ДокСв НаимДок="ДокСв-НаимДок" НомДок="1" ДатаДок="25.07.2022" ИдДок="ДокСв-ИдДок" ДопИнф="ДокСв-ДопИнф">
<СвОпер НаимОпер="СвОпер-НаимОпер" НомСтр="1" ДатаОпер="26.07.2022" СумДебет="13.00" СумКредит="14.00" />
<СвОпер НаимОпер="СвОпер-НаимОпер" НомСтр="2" ДатаОпер="26.07.2022" СумДебет="13.00" СумКредит="14.00" />
</ДокСв>
<ДокСв НаимДок="ДокСв-НаимДок" НомДок="2" ДатаДок="25.07.2022" ИдДок="ДокСв-ИдДок" ДопИнф="ДокСв-ДопИнф">
<СвОпер НаимОпер="СвОпер-НаимОпер" НомСтр="1" ДатаОпер="26.07.2022" СумДебет="13.00" СумКредит="14.00" />
<СвОпер НаимОпер="СвОпер-НаимОпер" НомСтр="2" ДатаОпер="26.07.2022" СумДебет="13.00" СумКредит="14.00" />
</ДокСв>
</ДогСв>
<ДогСв СальдоНачДеб="7.00" СальдоНачКр="8.00" ОборотДеб="9.00" ОборотКр="10.00" СальдоКонДеб="11.00" СальдоКонКр="12.00" ИдДог="ДогСв-ИдДог" НомДог="2" ДатаДог="24.07.2022" ОписТипДог="ДогСв-ОписТипДог">
<ДокСв НаимДок="ДокСв-НаимДок" НомДок="1" ДатаДок="25.07.2022" ИдДок="ДокСв-ИдДок" ДопИнф="ДокСв-ДопИнф">
<СвОпер НаимОпер="СвОпер-НаимОпер" НомСтр="1" ДатаОпер="26.07.2022" СумДебет="13.00" СумКредит="14.00" />
<СвОпер НаимОпер="СвОпер-НаимОпер" НомСтр="2" ДатаОпер="26.07.2022" СумДебет="13.00" СумКредит="14.00" />
</ДокСв>
<ДокСв НаимДок="ДокСв-НаимДок" НомДок="2" ДатаДок="25.07.2022" ИдДок="ДокСв-ИдДок" ДопИнф="ДокСв-ДопИнф">
<СвОпер НаимОпер="СвОпер-НаимОпер" НомСтр="1" ДатаОпер="26.07.2022" СумДебет="13.00" СумКредит="14.00" />
<СвОпер НаимОпер="СвОпер-НаимОпер" НомСтр="2" ДатаОпер="26.07.2022" СумДебет="13.00" СумКредит="14.00" />
</ДокСв>
</ДогСв>
</ТаблАкт>
<Подписант Должн="Сотрудник">
<ФИО Фамилия="Фамилия" Имя="Георгий" Отчество="Отчество" />
</Подписант>
</Документ>
</Файл>
Пример тела ответа метода ParseTitleXml:
<?xml version="1.0" encoding="utf-8"?>
<ReconciliationActSenderTitle ReconciliationStartDate="22.07.2022" ReconciliationEndDate="23.07.2022" DocumentNumber="1" Currency="643" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<Sender>
<OrganizationDetails OrgType="2" OrgName="СвПрод-Organization-1" Inn="1234567894" Kpp="667301001" Ogrn="1026605606620" FnsParticipantId="2BM-1000000002-100000000-202003270728226218822" Okpo="0123456789" ShortOrgName="СвОтпр-КраткНазв" Phone="+7" Email="1@mail.ru" OtherContactInfo="Контакт-ИнКонт" Department="СвОтпр-СтруктПодр" OrganizationAdditionalInfo="СвОтпр-ИнфДляУчаст" />
</Sender>
<Recipient>
<OrganizationDetails OrgType="2" OrgName="СвПрод-Organization-2" Inn="1234567894" Kpp="667301001" Ogrn="1026605606620" FnsParticipantId="2BM-3000000006-100000000-202003270731230865376" Okpo="0123456789" ShortOrgName="СвПол-КраткНазв" Phone="+7" Email="1@mail.ru" OtherContactInfo="Контакт-ИнКонт" Department="СвПол-СтруктПодр" OrganizationAdditionalInfo="СвПол-ИнфДляУчаст" />
</Recipient>
<Table StartBalanceDebit="1.00" StartBalanceCredit="2.00" TurnoverDebit="3.00" TurnoverCredit="4.00" EndBalanceDebit="5.00" EndBalanceCredit="6.00">
<ContractInfoItems>
<Item StartBalanceDebit="7.00" StartBalanceCredit="8.00" TurnoverDebit="9.00" TurnoverCredit="10.00" EndBalanceDebit="11.00" EndBalanceCredit="12.00" Identifier="ДогСв-ИдДог" ContractTypeInfo="ДогСв-ОписТипДог" Number="1" Date="24.07.2022">
<DocumentInfoItems>
<Item Name="ДокСв-НаимДок" Number="1" Date="25.07.2022" Identifier="ДокСв-ИдДок" AdditionalInfo="ДокСв-ДопИнф">
<OperationInfoItems>
<Item Name="СвОпер-НаимОпер" RowNumber="1" Date="26.07.2022" SumDebit="13.00" SumCredit="14.00" />
<Item Name="СвОпер-НаимОпер" RowNumber="2" Date="26.07.2022" SumDebit="13.00" SumCredit="14.00" />
</OperationInfoItems>
</Item>
<Item Name="ДокСв-НаимДок" Number="2" Date="25.07.2022" Identifier="ДокСв-ИдДок" AdditionalInfo="ДокСв-ДопИнф">
<OperationInfoItems>
<Item Name="СвОпер-НаимОпер" RowNumber="1" Date="26.07.2022" SumDebit="13.00" SumCredit="14.00" />
<Item Name="СвОпер-НаимОпер" RowNumber="2" Date="26.07.2022" SumDebit="13.00" SumCredit="14.00" />
</OperationInfoItems>
</Item>
</DocumentInfoItems>
</Item>
<Item StartBalanceDebit="7.00" StartBalanceCredit="8.00" TurnoverDebit="9.00" TurnoverCredit="10.00" EndBalanceDebit="11.00" EndBalanceCredit="12.00" Identifier="ДогСв-ИдДог" ContractTypeInfo="ДогСв-ОписТипДог" Number="2" Date="24.07.2022">
<DocumentInfoItems>
<Item Name="ДокСв-НаимДок" Number="1" Date="25.07.2022" Identifier="ДокСв-ИдДок" AdditionalInfo="ДокСв-ДопИнф">
<OperationInfoItems>
<Item Name="СвОпер-НаимОпер" RowNumber="1" Date="26.07.2022" SumDebit="13.00" SumCredit="14.00" />
<Item Name="СвОпер-НаимОпер" RowNumber="2" Date="26.07.2022" SumDebit="13.00" SumCredit="14.00" />
</OperationInfoItems>
</Item>
<Item Name="ДокСв-НаимДок" Number="2" Date="25.07.2022" Identifier="ДокСв-ИдДок" AdditionalInfo="ДокСв-ДопИнф">
<OperationInfoItems>
<Item Name="СвОпер-НаимОпер" RowNumber="1" Date="26.07.2022" SumDebit="13.00" SumCredit="14.00" />
<Item Name="СвОпер-НаимОпер" RowNumber="2" Date="26.07.2022" SumDebit="13.00" SumCredit="14.00" />
</OperationInfoItems>
</Item>
</DocumentInfoItems>
</Item>
</ContractInfoItems>
</Table>
<Signers>
<Signer>
<Fio FirstName="Имя" LastName="Фамилия" MiddleName="Отчество" />
<Position PositionSource="Manual">Сотрудник</Position>
</Signer>
</Signers>
</ReconciliationActSenderTitle>
Генерация титула получателя
Если выбранный вид документооборота предусматривает наличие титула получателя, то получатель должен сформировать и отправить ответный титул отправителю.
Титул получателя генерируется аналогично титулу отправителя.
Для генерации титула получателя используйте метод GenerateTitleXml. Инструкция о генерации приведена в разделе Генерация последующих титулов.
Чтобы сгенерировать титул получателя, нужно получить необходимую информацию из метода GetDocumentTypes (V2). Инструкция о получении данных для титула из метода GetDocumentTypes
приведена в разделе Данные для генерации титула.
Из ответа метода GetDocumentTypes
для титула получателя возьмем те же значения для параметров метода GenerateTitleXml
, что и для титула отправителя, но номер титула будет другой:
documentTypeNamedId = ReconciliationAct
documentFunction = default
documentVersion = reconciliationact405_05_01_01
titleIndex = 1
(титул получателя)
Кроме этого нужно подготовить содержимое титула — упрощенный XML-файл UserDataXml. Схемы XSD и UserDataXSD можно скачать в разделе XSD-схемы.
С помощью полученных данных можно сгенерировать титул получателя методом GenerateTitleXml.
Пример HTTP-запроса метода GenerateTitleXml:
POST /GenerateTitleXml?boxId={{boxId}}&documentTypeNamedId=ReconciliationAct&documentFunction=default&documentVersion=reconciliationact405_05_01_01&titleIndex=1 HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Content-Type: application/xml; charset=utf-8
Пример тела запроса метода GenerateTitleXml (UserDataXml):
<?xml version="1.0" encoding="utf-8"?>
<ReconciliationActRecipientTitle SignOfDisagreement="1" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<Signers>
<Signer>
<Fio FirstName="Имя" LastName="Фамилия" MiddleName="Отчество" />
<Position PositionSource="Manual">Сотрудник</Position>
</Signer>
</Signers>
</ReconciliationActRecipientTitle>
Пример тела ответа метода GenerateTitleXml (титул получателя):
<?xml version="1.0" encoding="windows-1251"?>
<Файл ИдФайл="ON_AKTSVERPOL_2BM-1839264655-732644841-202407101103418496883_2BM-9147414342-757645784-202407101104400484330_20250312_a91160ab-89d6-4d3e-aad4-713ffa74add3" ВерсФорм="5.01" ВерсПрог="Diadoc 1.0" ПризнРазн="1">
<Документ КНД="1110333" ВрИнфПол="18:27:06" ДатаИнфПол="12.03.2025">
<ИдИнфОтпр ВрФайлИнфОтпр="13:00:00" ДатФайлИнфОтпр="21.07.2022" ИдФайлИнфОтпр="ON_AKTSVEROTP_2BM-9147414342-757645784-202407101104400484330_2BM-1839264655-732644841-202407101103418496883_20220721_b3b4fb78-5aa4-4832-ad50-f0e0d95025b3">
<ЭП>...</ЭП>
</ИдИнфОтпр>
<Подписант Должн="Сотрудник">
<ФИО Фамилия="Фамилия" Имя="Имя" Отчество="Отчество" />
</Подписант>
</Документ>
</Файл>
Отправка титула получателя
Сформированный титул получателя можно подписать и отправить отправителю с помощью метода PostMessagePatch (V3) или PostMessagePatch (V4), передав его в поле RecipientTitles
структуры MessagePatchToPost или MessagePatchToPostV2 соответственно. Инструкция об отправке дополнения приведена на странице Дополнение сообщения.
Если покупатель хочет запросить извещение о получении титула продавцом, то в структуре RecipientTitleAttachment нужно выставить значение NeedRecipient = true
.
После того как получатель отправит ответный титул, Диадок автоматически сформирует подтверждение оператора о дате его получения и отправит его отправителю и получателю. О том, как получить подтверждение оператора, написано в разделе Получение подтверждения оператора.
Отправитель так же может получить и распарсить титул получателя — действия отправителя будут аналогичны получению и парсингу титула отправителя.
Если получатель запросил ИоП, то после получения титула получателя отправитель должен сформировать и отправить получателю ИоП.
В результате этих действий получается акт сверки взаимных расчетов с двумя подписанными титулами, и документооборот акта считается завершенным, никакие действия по документу больше не требуются.