Giter VIP home page Giter VIP logo

diadocapi-docs's Introduction

Diadoc API

API Диадока — универсальный инструмент для интеграции учетных систем с Диадоком. API позволяет организации разработать собственное решение и реализовать в нем необходимую функциональность.

На уровне HTTP API можно построить платформо-независимые решения. Это значит, что с HTTP API могут работать клиентские приложения, которые написаны на разных языках программирования и запускаются под разными операционными системами.

Документация доступна по адресу http://api-docs.diadoc.ru/.

diadocapi-docs's People

Contributors

aeremina88 avatar agarochka avatar alogicman avatar annagorlova avatar asvyazin avatar atytsky avatar basmus avatar capucinimo avatar chuckland avatar diadoc-admin avatar dmokhnatkin avatar einfoman avatar etwirt avatar flosca avatar halex2005 avatar i82 avatar ichaynikov avatar ivanshirokikh avatar korotchenya avatar lidiaaleksandrova avatar ltitbe avatar mkayukov avatar nataliashumikhina avatar olgabaturbaeva avatar olgapetushina avatar thisisbuddyrich avatar vladyslav-vasyliev avatar volodkindv avatar yulialukyanova avatar zharkovstas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

diadocapi-docs's Issues

Подписание и отправка документа из черновика с помощью JavaScript

Добрый день! С помощью API сформировал пакет в черновике, состоящий из нескольких документов(счет-фактура, ТОРГ12, акт выполненных работ). Не подскажете, как его подписать и отправить с помощью JavaScript (c использованием DiadocSdk)? У класса ComDiadocApi есть метод SendDraft, но как заполнять структуру DraftToSend (аргумент) для нескольких документов? Примеры в SDK описывают только отправку одного документа

Проблема с GenerateRevocationRequestXml

Добрый день! Пытаюсь отправить заявку на аннулирование документа. Api (GenerateRevocationRequestXml) возвращает нижеуказанный xml, но отправляет заявку контрагенту и ни как не отображает изменения на сайте.
Подскажите пожалуйста, в чём может быть проблема?

<?xml version="1.0" encoding="windows-1251"?>
<Файл ИдФайл="DP_PRANNUL_2BM-9623769707-962301000-201608181146232367730_2BM-9633203149-963301000-201608230113306500005_********************************" ВерсПрог="Diadoc 1.0" ВерсФорм="1.01">
  <Документ>
    <УчастЭДО ИдУчастЭДО="2BM-9623769707-962301000-201608181146232367730">
      <ЮЛ НаимОрг="Тестовая организация №*******" ИННЮЛ="********" КПП="*********" />
    </УчастЭДО>
    <СвПредАн>
      <СведАнФайл ИмяАнФайла="*****">
        <ЭЦПАнФайл>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</ЭЦПАнФайл>
      </СведАнФайл>
      <ТекстПредАн>Prosto</ТекстПредАн>
    </СвПредАн>
    <НапрПредАн ИдУчастЭДО="******************">
      <ЮЛ НаимОрг="Тестовая организация №3320314" ИННЮЛ="*********" КПП="**********" />
    </НапрПредАн>
    <Подписант Должность="testJobTitle">
      <ФИО Фамилия="testSurname" Имя="testName" />
    </Подписант>
  </Документ>
</Файл>

Authenticate

При использовании метода https://diadoc-api.kontur.ru/Authenticate
возвращаеться "invalid authentication method"
где мы можем быть не правы?
передаем:

Authorization: DiadocAuth ddauth_api_client_id=???????? login=???? password=????

Не формируется xml счета, если отправлять json

Отправляю запрос на формирование xml счета на /GenerateInvoiceXml в json формате. В ответ приходит InvoiceInfo.InvoiceDate is required, даже если InvoiceDate указано. Например, если отправить {"InvoiceInfo": {"InvoiceDate": "01.01.2016"}}, то выдает тот же самый ответ. Это баг или как-то по другому нужно json указывать?

оптравка СФ через PostMessage

сгенерили СФ, получили на выходе:

<?xml version="1.0" encoding="windows-1251"?>
<Файл ИдФайл="ON_SFAKT_2BM-6674330454-667401001-201401201120399714059_2BM-6672213995-2012052808330126222630000000000_20160801_a9408bb7-57eb-4d6c-ad99-8ee80064550a" ВерсПрог="Diadoc 1.0" ВерсФорм="5.02">
  <СвУчДокОбор ИдОтпр="2BM-6672213995-2012052808330126222630000000000" ИдПок="2BM-6674330454-667401001-201401201120399714059">
    <СвОЭДОтпр НаимОрг="ЗАО &quot;ПФ &quot;СКБ Контур&quot;" ИННЮЛ="6663003127" ИдЭДО="2BM" />
  </СвУчДокОбор>
  <Документ КНД="1115101">
    <СвСчФакт НомерСчФ="МАГ/16 95867" ДатаСчФ="01.08.2016" КодОКВ="643">
      <СвПрод>
        <ИдСв>
          <СвЮЛ НаимОрг="Общество с ограниченной ответственностью &quot;РусКом&quot;" ИННЮЛ="6672213995" КПП="668501001" />
        </ИдСв>
        <Адрес>
          <АдрРФ Индекс="620142" КодРегион="66" Город="Екатеринбург" Улица="ул Щорса" Дом="7" />
        </Адрес>
      </СвПрод>
      <СвПРД НомерПРД="МАГ/16 95867" ДатаПРД="01.08.2016" />
      <СвПокуп>
        <ИдСв>
          <СвЮЛ НаимОрг="Общество с ограниченной ответственностью &quot;Априкод&quot;" ИННЮЛ="6674330454" КПП="667401001" />
        </ИдСв>
        <Адрес>
          <АдрРФ Индекс="620130" КодРегион="66" Город="Екатеринбург" Улица="ул Белинского" Дом="200" Корпус="А" Кварт="17" />
        </Адрес>
      </СвПокуп>
      <ИнфПол>
        <ТекстИнф Идентиф="По договору" Значен="МАГ/154 от 01.11.15" />
      </ИнфПол>
    </СвСчФакт>
    <ТаблСчФакт>
      <СведТов НалСт="без НДС" НомСтр="1" НаимТов="Размещение маршрутизатора / коммутатора размером 1 U" СтТовУчНал="1000.00">
        <Акциз>
          <БезАкциз>без акциза</БезАкциз>
        </Акциз>
        <СумНал>
          <БезНДС>без НДС</БезНДС>
        </СумНал>
      </СведТов>
      <СведТов НалСт="без НДС" НомСтр="2" НаимТов="Поддержка дополнительного IP-адреса" СтТовУчНал="1666.00">
        <Акциз>
          <БезАкциз>без акциза</БезАкциз>
        </Акциз>
        <СумНал>
          <БезНДС>без НДС</БезНДС>
        </СумНал>
      </СведТов>
      <СведТов НалСт="без НДС" НомСтр="3" НаимТов="Размещение и подключение к 100 Мбит-порту сервера с типом корпуса Tower, 1 IP-адрес" СтТовУчНал="2400.00">
        <Акциз>
          <БезАкциз>без акциза</БезАкциз>
        </Акциз>
        <СумНал>
          <БезНДС>без НДС</БезНДС>
        </СумНал>
      </СведТов>
      <СведТов НалСт="без НДС" НомСтр="4" НаимТов="Услуги по размещению и подключению к 1000 Мбит-порту сервера с типом корпуса Unit размером 1 U, 1 IP-адрес" СтТовУчНал="4500.00">
        <Акциз>
          <БезАкциз>без акциза</БезАкциз>
        </Акциз>
        <СумНал>
          <БезНДС>без НДС</БезНДС>
        </СумНал>
      </СведТов>
      <ВсегоОпл СтТовУчНалВсего="9566.00">
        <СумНалВсего>
          <БезНДС>без НДС</БезНДС>
        </СумНалВсего>
      </ВсегоОпл>
    </ТаблСчФакт>
    <Подписант>
      <ЮЛ ИННЮЛ="6672213995" Должн="">
        <ФИО Фамилия="Звонарев" Имя="Денис" />
      </ЮЛ>
    </Подписант>
  </Документ>
</Файл>

отправляем документ как черновик:

$messageToPost = array(
            "FromBoxId" => $boxIdBuyer,
            "ToBoxId"   => $boxIdSeller,
            "IsDraft"=> "true",
            "Invoices"  => array(
                array(
                    "SignedContent" => array(
                        "Content" => base64_encode($fileToSend),
                        //"Signature" => "0"
                    )
                )
            )
    );

получаем:

  [FromBoxId] => [email protected]
    [ToBoxId] => [email protected]
    [IsDraft] => true
    [Invoices] => Array
        (
            [0] => Array
                (
                    [SignedContent] => Array
                        (
                            [Content] => SFRUUC8xLjEgMjAwIE9LDQpTZXJ2ZXI6IG5naW54DQpEYXRlOiBGcmksIDAyIFNlcCAyMDE2IDA2OjEwOjUzIEdNVA0KQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94bWw7IGNoYXJzZXQ9d2luZG93cy0xMjUxDQpDb250ZW50LUxlbmd0aDogMzA1Nw0KQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiAqDQpDb250ZW50LURpc3Bvc2l0aW9uOiBpbmxpbmU7IGZpbGVuYW1lPSJPTl9TRkFLVF8yQk0tNjY3NDMzMDQ1NC02Njc0MDEwMDEtMjAxNDAxMjAxMTIwMzk5NzE0MDU5XzJCTS02NjcyMjEzOTk1LTIwMTIwNTI4MDgzMzAxMjYyMjI2MzAwMDAwMDAwMDBfMjAxNjA4MDFfYTM5ZTMwYjktN2YxYS00ZjY4LWI5YjUtYTQzMGExMDJhZDJjLnhtbCINCg0KPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0id2luZG93cy0xMjUxIj8+DQo81ODp6yDI5NTg6es9Ik9OX1NGQUtUXzJCTS02Njc0MzMwNDU0LTY2NzQwMTAwMS0yMDE0MDEyMDExMjAzOTk3MTQwNTlfMkJNLTY2NzIyMTM5OTUtMjAxMjA1MjgwODMzMDEyNjIyMjYzMDAwMDAwMDAwMF8yMDE2MDgwMV9hMzllMzBiOS03ZjFhLTRmNjgtYjliNS1hNDMwYTEwMmFkMmMiIMLl8PHP8O7jPSJEaWFkb2MgMS4wIiDC5fDx1O7w7D0iNS4wMiI+DQogIDzR4tP3xO7qzuHu8CDI5M7y7/A9IjJCTS02NjcyMjEzOTk1LTIwMTIwNTI4MDgzMzAxMjYyMjI2MzAwMDAwMDAwMDAiIMjkz+7qPSIyQk0tNjY3NDMzMDQ1NC02Njc0MDEwMDEtMjAxNDAxMjAxMTIwMzk5NzE0MDU5Ij4NCiAgICA80eLO3cTO8u/wIM3g6OzO8OM9IsfAziAmcXVvdDvP1CAmcXVvdDvRysEgyu7t8vPwJnF1b3Q7IiDIzc3eyz0iNjY2MzAwMzEyNyIgyOTdxM49IjJCTSIgLz4NCiAgPC/R4tP3xO7qzuHu8D4NCiAgPMTu6vPs5e3yIMrNxD0iMTExNTEwMSI+DQogICAgPNHi0ffU4OryIM3u7OXw0ffUPSLMwMMvMTYgOTU4NjciIMTg8uDR99Q9IjAxLjA4LjIwMTYiIMru5M7Kwj0iNjQzIj4NCiAgICAgIDzR4s/w7uQ+DQogICAgICAgIDzI5NHiPg0KICAgICAgICAgIDzR4t7LIM3g6OzO8OM9Is7h+eXx8uLuIPEg7uPw4O3o9+Xt7e7pIO7y4uXy8fLi5e3t7vHy/P4gJnF1b3Q70PPxyu7sJnF1b3Q7IiDIzc3eyz0iNjY3MjIxMzk5NSIgys/PPSI2Njg1MDEwMDEiIC8+DQogICAgICAgIDwvyOTR4j4NCiAgICAgICAgPMDk8OXxPg0KICAgICAgICAgIDzA5PDQ1CDI7eTl6vE9IjYyMDE0MiIgyu7k0OXj6O7tPSI2NiIgw+7w7uQ9IsXq4PLl8Ojt4fPw4yIg0+vo9uA9IvPrINnu8PHgIiDE7uw9IjciIC8+DQogICAgICAgIDwvwOTw5fE+DQogICAgICA8L9Hiz/Du5D4NCiAgICAgIDzR4s/QxCDN7uzl8M/QxD0izMDDLzE2IDk1ODY3IiDE4PLgz9DEPSIwMS4wOC4yMDE2IiAvPg0KICAgICAgPNHiz+7q8+8+DQogICAgICAgIDzI5NHiPg0KICAgICAgICAgIDzR4t7LIM3g6OzO8OM9Is7h+eXx8uLuIPEg7uPw4O3o9+Xt7e7pIO7y4uXy8fLi5e3t7vHy/P4gJnF1b3Q7wO/w6Oru5CZxdW90OyIgyM3N3ss9IjY2NzQzMzA0NTQiIMrPzz0iNjY3NDAxMDAxIiAvPg0KICAgICAgICA8L8jk0eI+DQogICAgICAgIDzA5PDl8T4NCiAgICAgICAgICA8wOTw0NQgyO3k5erxPSI2MjAxMzAiIMru5NDl4+ju7T0iNjYiIMPu8O7kPSLF6uDy5fDo7eHz8OMiINPr6PbgPSLz6yDB5evo7fHq7uPuIiDE7uw9IjIwMCIgyu7w7/PxPSLAIiDK4uDw8j0iMTciIC8+DQogICAgICAgIDwvwOTw5fE+DQogICAgICA8L9Hiz+7q8+8+DQogICAgICA8yO30z+7rPg0KICAgICAgICA80uXq8fLI7fQgyOTl7fLo9D0iz+4g5O7j7uLu8PMiIMft4Pfl7T0izMDDLzE1NCDu8iAwMS4xMS4xNSIgLz4NCiAgICAgIDwvyO30z+7rPg0KICAgIDwv0eLR99Tg6vI+DQogICAgPNLg4evR99Tg6vI+DQogICAgICA80eLl5NLu4iDN4OvR8j0i4eXnIM3E0SIgze7s0fLwPSIxIiDN4Ojs0u7iPSLQ4Ofs5fnl7ejlIOzg8Pjw8/Lo5+Dy7vDgIC8g6u7s7PPy4PLu8OAg8ODn7OXw7uwgMSBVIiDR8tLu4tP3zeDrPSIxMDAwLjAwIj4NCiAgICAgICAgPMDq9ujnPg0KICAgICAgICAgIDzB5efA6vbo5z7h5ecg4Or26OfgPC/B5efA6vbo5z4NCiAgICAgICAgPC/A6vbo5z4NCiAgICAgICAgPNHz7M3g6z4NCiAgICAgICAgICA8weXnzcTRPuHl5yDNxNE8L8Hl583E0T4NCiAgICAgICAgPC/R8+zN4Os+DQogICAgICA8L9Hi5eTS7uI+DQogICAgICA80eLl5NLu4iDN4OvR8j0i4eXnIM3E0SIgze7s0fLwPSIyIiDN4Ojs0u7iPSLP7uTk5fDm6uAg5O7v7uvt6PLl6/zt7uPuIElQLeDk8OXx4CIg0fLS7uLT983g6z0iMTY2Ni4wMCI+DQogICAgICAgIDzA6vbo5z4NCiAgICAgICAgICA8weXnwOr26Oc+4eXnIODq9ujn4DwvweXnwOr26Oc+DQogICAgICAgIDwvwOr26Oc+DQogICAgICAgIDzR8+zN4Os+DQogICAgICAgICAgPMHl583E0T7h5ecgzcTRPC/B5efNxNE+DQogICAgICAgIDwv0fPszeDrPg0KICAgICAgPC/R4uXk0u7iPg0KICAgICAgPNHi5eTS7uIgzeDr0fI9IuHl5yDNxNEiIM3u7NHy8D0iMyIgzeDo7NLu4j0i0ODn7OX55e3o5SDoIO/u5Orr/vfl7ejlIOogMTAwIMzh6PIt7+7w8vMg8eXw4uXw4CDxIPLo7+7sIOru8O/z8eAgVG93ZXIsIDEgSVAt4OTw5fEiINHy0u7i0/fN4Os9IjI0MDAuMDAiPg0KICAgICAgICA8wOr26Oc+DQogICAgICAgICAgPMHl58Dq9ujnPuHl5yDg6vbo5+A8L8Hl58Dq9ujnPg0KICAgICAgICA8L8Dq9ujnPg0KICAgICAgICA80fPszeDrPg0KICAgICAgICAgIDzB5efNxNE+4eXnIM3E0TwvweXnzcTRPg0KICAgICAgICA8L9Hz7M3g6z4NCiAgICAgIDwv0eLl5NLu4j4NCiAgICAgIDzR4uXk0u7iIM3g69HyPSLh5ecgzcTRIiDN7uzR8vA9IjQiIM3g6OzS7uI9ItPx6/Pj6CDv7iDw4Ofs5fnl7ej+IOgg7+7k6uv+9+Xt6P4g6iAxMDAwIMzh6PIt7+7w8vMg8eXw4uXw4CDxIPLo7+7sIOru8O/z8eAgVW5pdCDw4Ofs5fDu7CAxIFUsIDEgSVAt4OTw5fEiINHy0u7i0/fN4Os9IjQ1MDAuMDAiPg0KICAgICAgICA8wOr26Oc+DQogICAgICAgICAgPMHl58Dq9ujnPuHl5yDg6vbo5+A8L8Hl58Dq9ujnPg0KICAgICAgICA8L8Dq9ujnPg0KICAgICAgICA80fPszeDrPg0KICAgICAgICAgIDzB5efNxNE+4eXnIM3E0TwvweXnzcTRPg0KICAgICAgICA8L9Hz7M3g6z4NCiAgICAgIDwv0eLl5NLu4j4NCiAgICAgIDzC8eXj7s7v6yDR8tLu4tP3zeDrwvHl4+49Ijk1NjYuMDAiPg0KICAgICAgICA80fPszeDrwvHl4+4+DQogICAgICAgICAgPMHl583E0T7h5ecgzcTRPC/B5efNxNE+DQogICAgICAgIDwv0fPszeDrwvHl4+4+DQogICAgICA8L8Lx5ePuzu/rPg0KICAgIDwv0uDh69H31ODq8j4NCiAgICA8z+7k7+jx4O3yPg0KICAgICAgPN7LIMjNzd7LPSI2NjcyMjEzOTk1IiDE7uvm7T0iIj4NCiAgICAgICAgPNTIziDU4Ozo6+j/PSLH4u7t4PDl4iIgyOz/PSLE5e3o8SIgLz4NCiAgICAgIDwv3ss+DQogICAgPC/P7uTv6PHg7fI+DQogIDwvxO7q8+zl7fI+DQo8L9Tg6es+
                        )

                )

        )

в ответ:
HTTP/1.1 400 Bad Request
Server: nginx
Date: Fri, 02 Sep 2016 06:10:53 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 55
Access-Control-Allow-Origin: *
X-Diadoc-ErrorCode: Http.BadRequest

Can't deserialize request body into type: MessageToPost

Ключ разработчика

Добрый день! Подскажите пожалуйста, если у меня 2 компании, и я хочу работать с ними через api, то я должен получать для каждой “ключ разработчика” или можно получить только для 1ой компании и он подойдет для работы с обеими?

Ошибка при отправке черновика

Добрый день! Возможность создать структуру Diadoc.Api.DocumentSenderSignature появилась, однако, вызов AddDocumentSignature(docsign) по-прежнему возвращает ошибку.

`

var draft=new ActiveXObject("Diadoc.Api.DraftToSend");

draft.BoxId=boxId;
draft.draftId=messageId;
draft.ToBoxId=message.ToBoxId;

var lst=message.EntitiesList;

for(var i=0;i<lst.Count;i++){
var ent=lst.item(i);

diadoc.SaveEntityContent(token, boxId, messageId, ent.entityId, "d:/"+i+".xml");

crypt.Sign("d:/"+i+".xml", certificateThumbprint, "d:/sign"+ i);

var docsign=new ActiveXObject("Diadoc.Api.DocumentSenderSignature");
docsign.ParentEntityId=ent.entityId;
docsign.LoadFromFile("d:/sign"+ i);
//docsign.SignWithTestSignature=true;

//ошибка "Недопустимый вызов или аргумент процедуры"
draft.AddDocumentSignature(docsign);

}
`

GetDocflowBatchRequest и VB.net

Добрый день! Подскажите пожалуйста как должен выглядеть запрос GetDocflowBatchRequest на VB.net ?

генерация InvoiceInfo, при помощи GenerateInvoiceXml

передаем массив :

Array
(
    [InvoiceDate] => 31.01.2016
    [InvoiceNumber] => 11-012016-2410000000
    [Seller] => Array
        (
            [Name] => Тестовый фактор №4007988
            [Inn] => 9640079887
            [Address] => Array
                (
                    [RussianAddress] => Array
                        (
                            [Region] => 77
                        )

                )

        )
    [Buyer] => Array
        (
            [Name] => Чубуков В. Ф., Чубукова Т. И.
            [Address] => Array
                (
                    [RussianAddress] => Array
                        (
                            [ZipCode] => 663604
                            [Region] => 24
                            [City] => г. Канск
                            [Street] => ул. 40 лет Октября
                            [Building] => 29 оф кв.
                            [Apartment] => 34
                        )

                )

        )

    [Signer] => Array
        (
            [Surname] => Фамилия
            [FirstName] => Имя
        )

    [PaymentDocuments] => Array
        (
            [DocumentDate] => 08.08.2016
            [DocumentNumber] => №00243015140
        )

    [Items] => Array
        (
            [Product] => Услуга по организации доставки
            [TaxRate] => NoVat
            [Subtotal] => 510.00
            [CustomsDeclarations] => Array
                (
                    [CountryCode] => 10
                    [DeclarationNumber] => 11
                )

            [AdditionalInfos] => Array
                (
                    [Id] => 123
                    [Value] => information
                )

        )

    [Total] => 555.00
    [AdditionalInfos] => Array
        (
            [Id] => 123
            [Value] => information
        )
)

возвращается xml:

<?xml version="1.0" encoding="windows-1251"?>
<Файл ИдФайл="ON_SFAKT___20160815_59184fb7-624a-4d31-bfba-5ae34741bcad" ВерсПрог="Diadoc 1.0" ВерсФорм="5.02">
  <СвУчДокОбор ИдОтпр="" ИдПок="">
    <СвОЭДОтпр НаимОрг="ЗАО &quot;ПФ &quot;СКБ Контур&quot;" ИННЮЛ="6663003127" ИдЭДО="2BM" />
  </СвУчДокОбор>
  <Документ КНД="1115101">
    <СвСчФакт КодОКВ="643">
      <СвПрод>
        <ИдСв>
          <СвЮЛ />
        </ИдСв>
        <Адрес />
      </СвПрод>
      <СвПокуп>
        <ИдСв>
          <СвЮЛ />
        </ИдСв>
        <Адрес />
      </СвПокуп>
    </СвСчФакт>
    <ТаблСчФакт>
      <ВсегоОпл>
        <СумНалВсего>
          <БезНДС>без НДС</БезНДС>
        </СумНалВсего>
      </ВсегоОпл>
    </ТаблСчФакт>
    <Подписант>
      <ЮЛ Должн="">
        <ФИО />
      </ЮЛ>
    </Подписант>
  </Документ>
</Файл>

GenerateInvoiceXml

информацию о покупателе и продавце взяли из системы, подставили boxid.
результат тот же самый.

данные:

Array
(
    [InvoiceDate] => 31.01.2016
    [InvoiceNumber] => 11-012016-2410000000
    [Seller] => Array
        (
            [BoxId] => [email protected]
        )

    [Buyer] => Array
        (
            [BoxId] => [email protected]
        )

    [Signer] => Array
        (
            [SignerDetails] => Array
                (
                    [Surname] => Пеганов
                    [FirstName] => Андрей
                    [JobTitle] => 0
                    [Inn] => 9640079887
                )

        )

    [PaymentDocuments] => Array
        (
            [DocumentDate] => 08.08.2016
            [DocumentNumber] => №00243015140
        )

    [Items] => Array
        (
            [InvoiceItem] => Array
                (
                    [Product] => Горячая вода (компонент на тепловую энергию). Прочие
                    [TaxRate] => NoVat
                    [Subtotal] => 555.00
                    [CustomsDeclarations] => Array
                        (
                            [CountryCode] => 10
                            [DeclarationNumber] => 11
                        )

                    [AdditionalInfos] => Array
                        (
                            [Id] => 123
                            [Value] => information
                        )

                )

        )

    [Total] => 555.00
    [AdditionalInfos] => Array
        (
            [Id] => 123
            [Value] => information
        )

)
<?xml version="1.0" encoding="windows-1251"?>
<Файл ИдФайл="ON_SFAKT___20160817_961db16d-6c78-47c0-9353-98d12c1630fa" ВерсПрог="Diadoc 1.0" ВерсФорм="5.02">
  <СвУчДокОбор ИдОтпр="" ИдПок="">
    <СвОЭДОтпр НаимОрг="ЗАО &quot;ПФ &quot;СКБ Контур&quot;" ИННЮЛ="6663003127" ИдЭДО="2BM" />
  </СвУчДокОбор>
  <Документ КНД="1115101">
    <СвСчФакт КодОКВ="643">
      <СвПрод>
        <ИдСв>
          <СвЮЛ />
        </ИдСв>
        <Адрес />
      </СвПрод>
      <СвПокуп>
        <ИдСв>
          <СвЮЛ />
        </ИдСв>
        <Адрес />
      </СвПокуп>
    </СвСчФакт>
    <ТаблСчФакт>
      <ВсегоОпл>
        <СумНалВсего>
          <БезНДС>без НДС</БезНДС>
        </СумНалВсего>
      </ВсегоОпл>
    </ТаблСчФакт>
    <Подписант>
      <ЮЛ Должн="">
        <ФИО />
      </ЮЛ>
    </Подписант>
  </Документ>
</Файл>

GetDocuments/Signing Date

Добрый день!
Необходимо просмотреть основные даты по нефмормализованному документу с подписью ( Дата создания, Дата отправки контрагенту, Дата подписи контрагентом).

Воспользовались методом GetDocumetns. Нашли первые 2 даты ( CreationTimestamp, DeliveryTimestamp), однако не можем найти Дату подписания документа контрагентом.

Просьба подсказать каким методом необходимо воспользоваться для того, чтобы получить Дату подписания неформализовонного документа контрагентом.

генерация InvoiceInfo, при помощи GenerateInvoiceXml

передаем массив :

Array
(
    [InvoiceDate] => 31.01.2016
    [InvoiceNumber] => 11-012016-2410000000
    [Seller] => Array
        (
            [Name] => Тестовый фактор №4007988
            [Inn] => 9640079887
            [Kpp] => 964001000
            [Address] => Array
                (
                    [RussianAddress] => Array
                        (
                            [Region] => 77
                        )

                )

        )

    [Buyer] => Array
        (
            [Name] => Чубуков В. Ф., Чубукова Т. И.
            [Address] => Array
                (
                    [RussianAddress] => Array
                        (
                            [ZipCode] => 663604
                            [Region] => 24
                            [City] => г. Канск
                            [Street] => ул. 40 лет Октября
                            [Building] => 29 оф кв.
                            [Apartment] => 34
                        )

                )

            [Inn] => 9628836019
            [Kpp] => 
            [IsSoleProprietor ] => false
        )

    [Signer] => Array
        (
            [SignerDetails] => Array
                (
                    [Surname] => Пеганов
                    [FirstName] => Андрей
                    [JobTitle] => 0
                    [Inn] => 9640079887
                )

        )

    [PaymentDocuments] => Array
        (
            [DocumentDate] => 08.08.2016
            [DocumentNumber] => №00243015140
        )

    [Items] => Array
        (
            [InvoiceItem] => Array
                (
                    [Product] => Горячая вода (компонент на тепловую энергию). Прочие
                    [TaxRate] => Percent_18
                    [Subtotal] => 555
                    [CustomsDeclarations] => Array
                        (
                            [CountryCode] => 10
                            [DeclarationNumber] => 11
                        )

                    [AdditionalInfos] => Array
                        (
                            [Id] => 123
                            [Value] => information
                        )

                )

        )

    [Total] => 555.00
    [AdditionalInfos] => Array
        (
            [Id] => 123
            [Value] => information
        )

)

возвращается xml:

<?xml version="1.0" encoding="windows-1251"?>
<Файл ИдФайл="ON_SFAKT___20160817_4f8a8947-fc92-4d5b-9fb4-da645d298d24" ВерсПрог="Diadoc 1.0" ВерсФорм="5.02">
  <СвУчДокОбор ИдОтпр="" ИдПок="">
    <СвОЭДОтпр НаимОрг="ЗАО &quot;ПФ &quot;СКБ Контур&quot;" ИННЮЛ="6663003127" ИдЭДО="2BM" />
  </СвУчДокОбор>
  <Документ КНД="1115101">
    <СвСчФакт КодОКВ="643">
      <СвПрод>
        <ИдСв>
          <СвЮЛ />
        </ИдСв>
        <Адрес />
      </СвПрод>
      <СвПокуп>
        <ИдСв>
          <СвЮЛ />
        </ИдСв>
        <Адрес />
      </СвПокуп>
    </СвСчФакт>
    <ТаблСчФакт>
      <ВсегоОпл>
        <СумНалВсего>
          <БезНДС>без НДС</БезНДС>
        </СумНалВсего>
      </ВсегоОпл>
    </ТаблСчФакт>
    <Подписант>
      <ЮЛ Должн="">
        <ФИО />
      </ЮЛ>
    </Подписант>
  </Документ>
</Файл>

GenerateDocumentZip возвращает код 400

Пытаюсь сделать запрос GenerateDocumentZip но получаю код ответа 400

Запрос: https://diadoc-api.kontur.ru/GenerateDocumentZip?boxId=cf29e596-4d1d-49fe-9466-d268ae26e8e3&messageId=fac9695a-065a-4d52-b887-d80068a02330&documentId=0fd21bdd-883e-4ff7-92fc-dcd3a5746770&fullDocflow=1
Прошу помочь разобраться что не так с запросом.

Лог ниже:

Ошибка вызова метода: GenerateDocumentZip
400 
* About to connect() to diadoc-api.kontur.ru port 443 (#0)
*   Trying 46.17.200.241... * connected
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSL connection using ECDHE-RSA-AES128-GCM-SHA256
* Server certificate:
*    subject: CN=*.kontur.ru
*    start date: 2016-04-05 00:00:00 GMT
*    expire date: 2018-05-05 23:59:59 GMT
*    issuer: C=US; O=GeoTrust Inc.; CN=RapidSSL SHA256 CA
*    SSL certificate verify ok.
> GET /GenerateDocumentZip?boxId=cf29e596-4d1d-49fe-9466-d268ae26e8e3&messageId=fac9695a-065a-4d52-b887-d80068a02330&documentId=0fd21bdd-883e-4ff7-92fc-dcd3a5746770&fullDocflow=1 HTTP/1.1
Host: diadoc-api.kontur.ru
Accept-Encoding: gzip
Authorization: DiadocAuth ddauth_api_client_id=oviontInform-...,ddauth_token=tiken...
Accept: application/json

* The requested URL returned error: 400
* Closing connection #0

Ошибка подписи

Добрый день, уважаемые разработчики.

Ситуация вот какая: есть документ в формате DOC. Выполняем его подписание с помощью плагина для браузера КриптоПро. Передаем документ и подписанный документ в Base64 через функцию API MessageToPost.
На сайте выдается сообщение "Ошибка подписи".

'SignedContent' => [
'Content' => здесь base64 файла,
'Signature' => здесь base64 файла подписаного КриптоПро,
],

Вопрос: каким образом нужно подписывать документ? Полностью контент документа? Или подписывать хэш? Если хэш, то по какому алгоритму? Или подписывать в служебную область документа?

Подписание входящего документа. Invalid character in the given encoding. Line 1, position 1.

Отправляю на https://diadoc-api.kontur.ru/V3/PostMessagePatch

$data = json_encode(
[
'BoxId' => boxId,
'MessageId' => messageId,
'Receipts' => [
[
'ParentEntityId' => parentEntityId,
'SignedContent' => [
'Content' => fileCode,
'Signature' => fileSigCode,
],
]
]
]);

В ответ: Invalid character in the given encoding. Line 1, position 1.

Подскажите 'ParentEntityId' я его получают с помощью метода https://diadoc-api.kontur.ru/V3/GetMessage. Я его должен брать от оригинала документа или от detached подписи?

Файлы, которые посылаю : https://www.sendspace.com/filegroup/IfKTDFj4CQRkxOrGs3OSNw

Подскажите, пожалуйста в чём проблема?

Комментарий к документу при отказе подписи контрагентом

Добрый день!

Подсажите пожалуйста, как получить комментарий к документу при отказе подписи контрагентом.
Смотрим метод GenerateSignatureRejectionXml. Не понятно что указывать и где брать ( с помощью каких методов) в AttachmentID и SignatureRejectionInfo. Это верный подход или нужно использвать другой метод?

С уважением,
Наталья

GetDocuments и параметры timestampXxxTicks

Если вызвать метод GetDocuments с параметрами:
timestampFromTicks = t1, timestampToTicks = t2
а потом с параметрами timestampFromTicks = t2 + 1, timestampToTicks = t3
и при этом t1 < t2 < t3, то есть ли гарантии, что:

  1. документы полученные из первого вызова не пересекаются с документами полученными из второго вызова;
  2. нет никаких пропущенных документов.
    Т.е. есть ли гарантии, что объединение документов из двух этих вызовов возвращают те же документы что и вызов: timestampFromTicks = t1, timestampToTicks = t3.

ГОСТ Р 34.10-2001

Можно ли использовать ГОСТ Р 34.10-2001 для формирования подписи документа?

Curl Post запрос

Добрый день! Подскажите, пожалуйста, как работает функция PostMessage?

Это php фрагмент

$headr = array();
$headr[] = 'Authorization: DiadocAuth '.$authData.',ddauth_token='.$token;
$headr[] = 'Accept: application/json';

curl_setopt($curl, CURLOPT_HTTPHEADER, $headr);
curl_setopt($curl, CURLOPT_URL, 'https://diadoc-api.kontur.ru/V3/PostMessage?fromBoxId=тут_вставляю_id_своего_ящика'); // fromBoxId в url

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);

$result = curl_exec($curl);

Вот так ваш api возвращает данные

А вот так не работает:

$headr = array();
$headr[] = 'Authorization: DiadocAuth '.$authData.',ddauth_token='.$token;
$headr[] = 'Accept: application/json';

curl_setopt($curl, CURLOPT_HTTPHEADER, $headr);
curl_setopt($curl, CURLOPT_URL, 'https://diadoc-api.kontur.ru/V3/PostMessage');

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, "fromBoxId=тут_вставляю_id_своего_ящика"); // fromBoxId в теле пост

$result = curl_exec($curl);

Как я должен передавать fromBoxId в теле? Как сериализовывать вот так serialize(['fromBoxId' =>'тут_вставляю_id_своего_ящика']) ? Или ещё как-то? Передавать в base64 или json или xml?

"В теле запроса должно содержаться отправляемое сообщение, сериализованное в протобуфер MessageToPost." - вот пример этой сериализации, минимальный можно?

Лицензирование и контроль встраивания

Если я хочу реализовать функционал подписывания документов при помощи КриптоПро CSP, нужны ли:

  • лицензия в соответствии с Федеральным законом от 04.05.2011 N 99-ФЗ (ред. от 30.12.2015) "О лицензировании отдельных видов деятельности"
  • контроль встраивания согласно ПКЗ-2005

Подписание и отправка черновика с помощью JavaScript

Добрый день!

Имеется готовый сформированный черновик с пакетом документов, который нужно подписать и отправить с помощью кода на JavaScript. DiadocApi имеет для этого метод SendDraft, для запуска которого требуется заполнить структуру DraftToSend. В DraftToSend нужно добавить подпись для каждого документа пакета. Руководство [http://api-docs.diadoc.ru/ru/latest/proto/DraftToSend.html] предлагает использовать для этого структуру DocumentSenderSignature. Однако такой структуры в DiadocApi.dll(1.37) нет. Есть похожая по смыслу структура DocumentSignature, однако, использовать ее не удается из-за генерируемой ошибки. Можно ли привести пример правильного кода? Заранее благодарю.
Здесь мой:

`
var draft=new ActiveXObject("Diadoc.Api.DraftToSend");
draft.BoxId=boxId;
draft.draftId=messageId;
draft.ToBoxId=message.ToBoxId;

//список документов
var lst=message.EntitiesList;

for(var i=0;i<lst.Count;i++){

var ent=lst.item(i);

diadoc.SaveEntityContent(token, boxId, messageId, ent.entityId, "d:/"+i+".xml");

crypt.Sign("d:/"+i+".xml", certificateThumbprint, "d:/sign"+ i);

   //такой структуры нет
    //var docsign=new ActiveXObject("Diadoc.Api.DocumentSenderSignature");

    //есть только такая
var docsign=new ActiveXObject("Diadoc.Api.DocumentSignature");
docsign.ParentEntityId=ent.entityId;
docsign.LoadFromFile("d:/sign"+ i);
docsign.SignWithTestSignature=true;


//здесь ошибка "Недопустимый вызов или аргумент процедуры"
draft.AddDocumentSignature(docsign);

}
diadoc.SendDraft(token, draft);
`

Подписание входящего документа.

Добрый день!

Подскажите пожалуйста, если мне пришёл валидно подписанный документ, то для подписания с моей стороны, я должен воспользоваться методом PostMessagePatch ? Если я всё верно понял то я использую этот метод и передаю точную копию файла оригинала и свою откреплённую эцп? Если оригинал совпадёт с оригиналам документа который мне отправил мой контрагент и моя подпись будет валидна, то документ в вашей системе будет считаться подписанным с двух сторон?

Спасибо.

Проблема с generateInvoiceDocumentReceiptXml

Добрый день! При использовании метода generateInvoiceDocumentReceiptXml получаю ошибку "SignerCertificate absent". Отправляю следующую структуру:

'Signer' => [
	'SignerDetails' => [
		'Surname' => 'Фамилия владельца подписи',
		'FirstName' => 'Имя владельца подписи',
		'Inn' => 'Инн компании к которой принадлежит подпись',
	],
]

Подскажите в чём ошибка?

Выбор роли "Исполнитель" / "Заказчик" при формировании XML акта через API

В виду специфики бизнеса, при формировании актов для партнеров нам необходимо выбирать роль "Заказчик", а не "Исполнитель" и далее отправлять акт на подписание партнеру. Сейчас система при формировании акта не позволяет поменять роль и по умолчанию записывает данные в "Исполнитель", а получателя документа в "Заказчик". Возможность очень нужна, так как необходимо формировать и отправлять через Диадок акты для более чем 2000 партнеров. Готов рассказать о специфике процесса и зачем это нужно, если есть вопросы.

VBA. Вопрос по использованию функций GetCounteragents/GetDocuments

  1. Пытаюсь воспользоваться функцией GetDocumetns в VBA.
    token = diadoc.AuthenticateWithPassword(login, Password)
    Boxid = "[email protected]"
    Set DocumentList = diadoc.GetDocuments(token, Boxid, AnyInvoiceDocumentType.InboundFinished, "", "01.01.2016", "01.08.2016", "", "", "", "", "")

Выдает ошибку:
"Run-time" error '424': Object required

Подскажите, пожалуйста, чего не хватает?

  1. Также непонятно как получить данные из массива CounterAgents метода GetCounteragents
    Set CounteragentList = diadoc.GetCounteragents(token, Boxid, Null, Null)
     For s = 0 To CounteragentList.TotalCount  работает
     s_id = CounteragentList.TotalCount  работает, возвращает кол-во
     IndexKey = CounteragentList.Counteragents.Item(s).IndexKey  не работает, выдает ошибку (см. Ниже) 
     Worksheets("Sheet3").Cells(i, 1).Value = s_id
     Worksheets("Sheet3").Cells(i, 2).Value = IndexKey
     s = s + 1
     Next s
Worksheets("Sheet3").Activate

Выдает ошибку : "Run-time" error '438': Object doesn't support this property or method

Просьба пояснить как получить досуп к массиву CounterAgents.

Размер Shelf

Есть ли ограничения на размер и количество документов в Shelf?

Ошибка PostMessage + ShelfUpload

При загрузке контента через ShelfUpload и последующим вызовом PostMessage получаю 400 Bad request.
Заполняю NonformalizedDocuments. Если данные передаю через SignedContent.Conent - проходит все без ошибок. Если данные заливаю через ShelfUpload и устанавливаю SignedContent.NameOnShelf - получаю ошибку. SignedContent.Conent в случае использования Shelf - не заполняется.
Данные загружаются нормально. Через ShelfDownload получаю их по тому-же NameOnShelf.
В чем может быть проблема?

работа с пересланными документами через АПИ

Мы работает по проекту "электронный факторинг" - организации пересылают нам первичные документы для финансирования. Через API мы получаем пересланные (forwarded) документы и загружаем их в САФО (система автоматизированного факторингового обслуживания).

Ситуация 1: Клиент переслал нам документы с избытком, т.е. включил в пересылку неформализованный документ. Этому пакету был присвоен некий идентификатор “BatchID”.

По своим внутренним процедурам, мы не можем принять такой пакет, поэтому, попросили Клиента повторно переслать документы, Но уже без неформализованного документа.

Ситуация 2: Когда Клиент переслал второй раз документы, без неформализованного документа, “BatchID” остался прежним.

Мы на своей стороне по “BatchID” формируем поставки, а так как “BatchID” не поменялся, поставка формируется с неформализованным документом (то есть "новую" пересылку мы не видим).

Правильно ли мы предполагали при интеграции с API Диадока, что при пересылке, “BatchID” будет меняться, если состав документов изменяется. Может быть клиент что-то делает некорректно?

Не получается отправить подписанный черновик получателю

Здравствуйте.
После вызова /V2/SendDraft сервер возвращает ошибку 501 с текстом
No handler for: http://diadoc-api.kontur.ru:27183/V2/SendDraft

Вот заголовки запроса
POST /V2/SendDraft HTTP/1.1
Host: diadoc-api.kontur.ru
Accept: /
Content-Length: 3718
Authorization: DiadocAuth ddauth_api_client_id=a-lab-9508641f-1778-4d08-a4f7-a6b921364432,ddauth_token=N67Qtyzq1k9AUw9zg44IaTsdsovg0gHg6Wbceq7LJ4KOI5E195o44isjy9PoQ8r8Gqa6zwuQA/Xz5B/1ZYqHhCmgpPPYZ3zi/A6NSsbCgPRmwuGoXSNO1GQTk/JfTw0YOxCl6r/MDBdyEYD2u/nomABUm5yYXIS3wKHjxIDYGgY=
Content-Type: application/x-www-form-urlencoded
Expect: 100-continue

Заголовки ответа
HTTP/1.1 100 Continue
HTTP/1.1 501 Not Implemented
Server: nginx
Date: Wed, 24 Aug 2016 07:32:27 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 62

Ошибка при вызове PostMessage

При вызове PostMessage получаю ошибку 400 Bad request.
Каким образом можно узнать в чем именно ошибка?
В SignedContent поле Signature не обязательно же, если я не собираюсь подписывать передаваемый файл?

Ошибка 500 в методе /GetRecognized

Пытаюсь загрузить счет-фактуру в формате xps на распознавание, при загрузке файла методом /Recognize получаю идентификатор, и использую его в запросе /GetRecognized, но получаю код ответа 500, прошу помочь разобраться в чем проблема.
Файл который отправляю и лог в приложении.

GetRecognized.txt
t2.xps

Удаленный сервер возвратил ошибку: (401) Несанкционированный.

Есть пара логин и пароль с которыми свободно заходится на сайт, но по этим же данным получить доступ по API не выходит.
Возможно недостаточно прав или что-то делается не верно? для подключения используется код со страницы SDK: http://api-docs.diadoc.ru/ru/latest/howto/example_authorization.html#sdk
Текст ошибки ответа: BaseUrl=https://diadoc-api.kontur.ru, PathAndQuery=/Authenticate?login=&password=, AdditionalMessage=Invalid API client id, StatusCode=Unauthorized, DiadocErrorCode: Http.Auth

Термин «ЭЦП» устарел, нужно писать «ЭП»

В текущей редакции закона «Об электронной подписи» используется термин «электронная подпись». См. https://normativ.kontur.ru/document?moduleId=1&documentId=282848&cwi=1243#h185

Термин «ЭЦП» устарел, соответствующий ФЗ уже несколько лет как не действует: https://normativ.kontur.ru/document?moduleId=1&documentId=113687&cwi=2894

Прошу обновить документацию :)

Ошибка при отказе в подписи.

Добрый день! При попытке отказа в подписи возникает ошибка "Ошибка при отказе в подписи" (так отображается на сайте), хотя через api возвращается объект MessagePatch. Для отказа от подписи использую GenerateSignatureRejectionXml, результат отправляю через PostMessagePatch.

Проблема с PostMessage и fromBoxId

При работе с вашей системой, конкретно с функцией PostMessage, при передачи в параметре fromBoxId значения своего ящика я получаю в ответ сообщение "BoxId field is not valid box id:". При отправке этого же значения в параметре boxId api функции GetMessage возвращается правильный ответ. Прошу уточнить какой fromBoxId я должен использовать? В каких случаях возвращается сообщение ошибки "BoxId field is not valid box id:"?

P.S. Ваши коллеги из тех. поддержки сообщили мне, что возможно причиной является то, что вместо моего тестового ящика функция PostMessage обращается к ящику бухгалтера нашей компании и его boxId другой, но они не уверены и направили меня с этим вопросом к вам.

Метод ShelfUpload всегда повторно запрашивает блок с индексом 0 при отправки файла несколькими частями

Здравствуйте!

Пытаюсь отправить файл несколькими частями методом ShelfUpload через Диадок API но столкнулся с проблемой:

Проблема в том что если отправлять файл несколькими частями то всегда приходит ответ что нужно загрузить часть с индексом 0 (кроме загрузки 0 части)
если после загрузки всех частей не загрузить 0ю часть то файл получается состоит как раз из 0 вой части и равен размеру загруженной части,
а если после загрузки всех частей загрузить повторно 0ю часть то файл будет полным.
При отправке одной частью все в порядке, файл целый.

Содержание файла который отправляю:
11111222223333344444555556666677777888889999900000aaaaabbbbbcccccdddddeeeeefffffggggghhhhhiiiiigggggkkkkklllll
Размер 110 байт, отправляю по 50 байт 3мя кусками.
Вот лог:

new 2.txt

SAP KonturSSF.dll

Привет.

У нас возникла проблема при взаимодействии САП приложения и библиотеки KonturSSF.dll.
Проблема наблюдается на WIndows 8 (на семёрке все работает).

Настроено следующим образом:

ssfrfc.ini:

SSF_LIBRARY_PATH = C:\Program Files (x86)\SAP\FrontEnd\SAPgui\KonturSSF\KonturSSF.dll
SSF_TRACE_LEVEL = 5
SSF_MD_ALG = SHA1
SSF_SYMENCR_ALG = DES-CBC

Библиотека соответственно лежит тут C:\Program Files (x86)\SAP\FrontEnd\SAPgui\KonturSSF\

При выполнении теста соединения (SAP_SSFATGUI, ТСР/IP-соединение) из SAP системы:

"Запуск на фронтальной рабочей станции"

Программа $SAPGUI/ssfrfc

Получаем ошибку:

Регистр.: Прерыв.
ОшибкаПодробн timeout during allocate / CPIC-CALL: 'ThSAPCMRCV' : cmRc=20 thRc=456 Таймаут при
ОшибкаПодробн ОШИБ.: timeout during allocate
ОшибкаПодробн МЕСТО: SAP-Gateway on host vmxecp01.corp.mail.ru / sapgw00
ОшибкаПодробн ПОДР.: no connect of TP $SAPGUI/ssfrfc from host %%SAPGUI%% after 20 sec
ОшибкаПодробн КОМПОНЕНТ: SAP-Gateway
ОшибкаПодробн СЧЕТЧИК: 521595
ОшибкаПодробн МОДУЛЬ: gwr3cpic.c
ОшибкаПодробн СТР.: 6380
ОшибкаПодробн КОД ВОЗВР.: 242
ОшибкаПодробн SUBRC: 0
ОшибкаПодробн ВЕРСИЯ: 721
ОшибкаПодробн ВР.: Mon Aug 22 11:24:52 2016
ОшибкаПодробн ВЕРСИЯ: 2

На Windows 7 все работает.

С уважением Шубенков В.А.

Ошибка Could not find signer certificate in signature

Добрый день!
Я пытаюсь отправить в диадок с помощью api сформированную и подписанную счёт-фактуру, используя PostMessage.

'Invoices' => [
[
'SignedContent' => [
'Content' => 'тут оригинал xml',
'Signature' => 'тут подписанный xml',
],
]

В ответ получаю ошибку 'Could not find signer certificate in signature'. Подскажите пожалуйста, что я делаю не так?

Ошибка 403 в ShelfUpload

Добрый день.

Почему при вызове ShelfUpload может возвращаться 403? Заголовок Authorization в порядке, такой-же как и при вызове других методов. ddauth_token присутствует.

GetDocuments и атрибуты документа XxxTimestampTicks

У документов, возвращаемых методом GetDocuments, есть по 4 атрибута:
CreationTimestampTicks, SendTimestampTicks, DeliveryTimestampTicks, LastModificationTimestampTicks.
На какой ориентируется параметры метода timestampFromTicks и timestampToTicks?

dll addindiadocapi.dll windows 7 64 bit и 1с 7/7

Добрый вечер! Недавно поменяли комп на котором установлена win7 64, после этого перестала работать загрузка компоненты addindiadocapi.dll. Обработка по выгрузке документов самописная, на 32 разрядной системе работала. версия 1с 7.7. В чем может быть причина?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.