0
На рассмотрении

Ошибка заполнения контекста XmlAcceptanceCertificate552

fibba 7 месяцев назад • обновлен Петухов Антон (Специалист поддержки) 7 месяцев назад 8

Добрый день.

Некоторое время назад обратили внимание, что можно создавать документы для отправки на сервер с типом XmlAcceptanceCertificate552. Пытаемся реализовать эту возможность, используя механизмы вашей обработки отправки документов из 1С.


Создаем задание на отправку через CreateSendTask("XmlAcceptanceCertificate552"), заполняем контекст по аналогии с имеющимися и работающими типами документов.


При выполнении отправки сервер возвращает ошибку:

Произошла ошибка при работе с сервером Диадока:

code:400, HTTP error: Invalid data UserContractData: Line: 18, Position: 108: The 'SignerPowers' attribute is invalid - The value 'InvoiceSigner' is invalid according to its datatype 'Integer' - The string 'InvoiceSigner' is not a valid Integer value.


Судя по всему, он  хочет, чтоб в этом параметре было целочисленное значение.

Устанавливаем в этот параметр числовое значение, в ответ получаем:


Ошибка при установке значения атрибута контекста (Powers): Произошла исключительная ситуация (ExtendedSignerDetails.put_Powers): Неверное значение полномочий. Допустимыми являются следующие значения: InvoiceSigner, PersonMadeOperation, MadeAndSignOperation, PersonDocumentedOperation, MadeOperationAndSignedInvoice, MadeAndResponsibleForOperationAndSignedInvoice, ResponsibleForOperationAndSignerForInvoice.

Т.е. его теперь не устраивает число, хочет строку из перечисленных.


Есть предположение, что на разных уровнях контроля содержимого контента этого типа документа, имеются противоречащие друг другу условия, раз его не устраивает ни "Content.Signers[0].SignerDetails.Powers         = "InvoiceSigner";", ни "Content.Signers[0].SignerDetails.Powers         = 2;", ни "Content.Signers[0].SignerDetails.Powers         = "2";".


Аналогичное присвоение значений (SignerDetails.Powers         = "InvoiceSigner") для типов документов "UtdInvoice" и "UtdAcceptanceCertificate" проходят без проблем.


Перепробовали все варианты допустимых значений из списка и все их числовые аналоги. Версия компоненты - 5.19.4.289.


Что нам делать?



На рассмотрении

Добрый день.


Если вопрос связан с какой-либо ошибкой, возникающей при отправке запроса в API, то прошу уточнить:
- ключ разработчика, с которым авторизуетесь в момент ошибки;
- точный текст запроса, вызывающий ошибку;
- точное время возникновения ошибки, с указанием часового пояса;


Попробуйте, пожалуйста, с областью полномочий 1 (“PersonMadeOperation”), 2 (“MadeAndSignOperation”) или 3 (“PersonDocumentedOperation”)

Уточните пожалуйста, как можно получить точный текст запроса, если мы отправляем данные через COMобъект, который возвращает ваш сервер в ответ на CreateSendTask?


Ключ разработчика это "1S83_***" или какой-то из параметров контента сообщения?

Ошибку с полномочиями преодолели: сработал вариант "MadeAndSignOperation".


Но возникла новая:

Создаем объект "Act552WorkDescription

" методом "AddWork". В нем по документации заявлены TotalWithVatExcluded, TotalVat и Total как "число c плавающей точкой", а в полученом объекте они имеют типа "строка". После присвоения этим реквизитам числовых значений они становятся строками, на которые ругается проверка сервера :"Line: 42, Position: 20: The 'СтУчНДСИт' attribute is invalid - The value '57,63' is invalid according to its datatype 'Decimal' - The string '57,63' is not a valid Decimal value."


Аналогичная проблема и с "Act552WorkItem".




Планируется исправление в будущем.

Пока можно передавать эти поля как строки, т.е вместо

Act552WorkDescription.TotalWithVatExcluded = 57.63;

писать

Act552WorkDescription.TotalWithVatExcluded = "57.63";


Аналогичная ситуация для некоторых полей Торг-12 @552

Не работает так.

Произошла ошибка при работе с сервером Диадока:
code:400, HTTP error: Invalid generated title:
Line: 39, Position: 20: The 'СтУчНДСИт' attribute is invalid - The value '190,17' is invalid according to its datatype 'Decimal' - The string '190,17' is not a valid Decimal value.

Сервер не принимает строковые значения.


Видимо, ждем исправления.

Указывайте значение как строку.

Для разделения целой части и дробной используйте точку.

Спасибо, теперь все получилось, данные ушли.


Теперь такой вопрос:

При сравнении версий актов, первое что бросается в глаза - отсутствие возможности сформировать заголовок документа. В контексте XmlAcceptanceCertificate для этого использовалось поле Title, в XmlAcceptanceCertificate552 и UtdAcceptanceCertificate таких полей не наблюдается. Будет ли что-то доработано для этих целей в ближайшее время? 

в УПД нет поля для заголовка

в 552: поле OperationTitle

Сервис поддержки клиентов работает на платформе UserEcho