Имя: Пароль:
1C
 
Веб сервис ругается "ошибка преобразования данных XDTO
0 OldCondom
 
08.05.19
14:37
Пытаюсь допилить интеграцию ДО - УТ, которая бесшовная.
Предыстория: в ДО есть код, который обрабатывает табличную часть с товарами, однако ни в одной типовой конфе нет кода, чтобы эту табличную часть отдавать ДО=) Вот это и пытаюсь реализовать.
Пишу:
    ОбъектXDTO.productRows = ИнтеграцияС1СДокументооборот.СоздатьОбъект(Прокси, "DMProductRows");
    
    СтрокаXDTO = ИнтеграцияС1СДокументооборот.СоздатьОбъект(Прокси, "DMProductRow");
    
    ПродуктXDTO = ИнтеграцияС1СДокументооборот.СоздатьОбъект(Прокси, "DMProduct");
    ПродуктXDTO.article = "Тестовый товар выгрузка";
    ПродуктXDTO.code = "777";
    ПродуктXDTO.Установить("isFolder", Ложь);
    СтрокаXDTO.Установить("Product" ,ПродуктXDTO);
    
    ОбъектXDTO.productRows.rows.Добавить(СтрокаXDTO);

Когда доходит до запуска метода execute - вылетает ошибка:

{Обработка.ИнтеграцияС1СДокументооборот.Форма.ВнутреннийДокумент.Форма(3303)}: Ошибка при вызове метода контекста (execute)
        Результат = Прокси.execute(Запрос);

При вызове веб-сервиса произошла ошибка. Ошибка вызова операции сервиса:  {http://www.1c.ru/dm}:DMService:execute()

При вызове веб-сервиса произошла ошибка. Ошибка SOAP сервера:  Неизвестная ошибка. Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://www.1c.ru/dm}DMProduct - [214,4]
Проверка свойства 'isFolder':
    форма: Элемент
    имя: {http://www.1c.ru/dm}isFolder
    тип: {http://www.w3.org/2001/XMLSchema}boolean
по причине:
Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://www.1c.ru/dm}DMProduct - [214,4]
Проверка свойства 'isFolder':
    форма: Элемент
    имя: {http://www.1c.ru/dm}isFolder
    тип: {http://www.w3.org/2001/XMLSchema}boolean
по причине:
Ошибка проверки данных XDTO:
Структура объекта не соответствует типу: {http://www.1c.ru/dm}DMProduct
Проверка свойства 'isFolder':
    форма: Элемент
    имя: {http://www.1c.ru/dm}isFolder
    тип: {http://www.w3.org/2001/XMLSchema}boolean
Не установлено значение одного из следующих свойств: name
Код ошибки: Client
Техническая информация:
<detail xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"/>;


Я уже и так и сяк этот IsFolder менял, и пришел к выводу, что проблема не в нем. Но отловить на стороне ДО эту ошибку не получается, она валится еще до запуска метода по ходу.
Куда копать хотя бы?:(
1 OldCondom
 
08.05.19
14:40
То есть писал уже
ПродуктXDTO.isFolder = false;
ПродуктXDTO.isFolder = 0;
ПродуктXDTO.isFolder = "false";
Все равно ошибка.
2 OldCondom
 
08.05.19
15:10
Обновление.
Тупит именно с добавление товара в строку. Пустую строку отправляет нормально и она даже отрисовывается в ДО(количество строк =1 ).
3 OldCondom
 
08.05.19
15:10
Не важно, isfolder или любое другое свойство. Сразу ошибка преобразования
4 OldCondom
 
08.05.19
15:15
Кто-нибудь в курсе, если у объекта XDTO в свойствах стоят "Возможно пустое = Ложь", и не заполнять несколько таких свойств, он случаем не с такой же ошибкой вылетает?
5 Cyberhawk
 
08.05.19
15:17
Пару строк добавь, а не одну, и проверь
6 OldCondom
 
08.05.19
15:18
Да их добавлять муторно, там 6 свойств объектных, под каждую создать.. Хотя уже почти сделал, проверю.
7 OldCondom
 
08.05.19
17:42
Короче не запустить типовой механизм, не хочет и все.
Сделал костыль через добавление своего реквизита примитивного значения, туда артикул и в ДО уже искать по артиклу.
Бесшовная интеграция в итоге без швов и костылей работать не хочет.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.