#0
by thezos
Сделал тестовый веб-сервис, создал метод, получающий в качестве параметра объект типа CatalogObject.Контрагенты, опубликовал, всё нормально. Использую SoapUI для тестов. Конфигурация БП2.0, контрагентов десериализует и записывает нормально. А вот договоры не хочет, причем ругается на тег Parent. Это вроде бы родитель и я указываю пустую ссылку (00000000-0000-0000-0000-000000000000). Что я делаю не так? Вот код метода сервиса: А вот входящие данные: <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:uri="www.uri.com" xmlns:cur="http://v8.1c.ru/8.1/data/enterprise/current-config">
#2
by thezos
а да точно)) вот ответ сервиса: <soap:Text xml:lang="ru_RU">Неизвестная ошибка. {WebСервис.testws.Модуль}: Ошибка при вызове метода контекста (ПрочитатьXDTO) по причине: {WebСервис.testws.Модуль}: Ошибка при вызове метода контекста (ПрочитатьXDTO) по причине: по причине: Ошибка преобразования данных XDTO: НачалоСвойства: { Форма: Элемент Тип: { по причине: Ошибка преобразования данных XDTO: НачалоСвойства: Parent Форма: Элемент Тип: {;
#3
by thezos
я уже и не знаю что думать, пустое значение тоже не принимает, ссылку на уже существующую группу тоже.. куда копать то?
#4
by AaNnDdRrEeYy
Договора подчинены контрагентам? если да то нельзя записать подчиненный элемент справочника без указания владельца. Это не в сервисе дело а в записи в базу
#5
by AaNnDdRrEeYy
+ пустую ссылку тоже нельзя указывать вместо 00000000-0000-0000-0000-000000000000 укажи нормальный гуид контрагента
#6
by thezos
Всё верно, договора подчинены контрагентам, ссылку на владельца я указываю в теге owner. Parent - родитель, тип CatalogObject.ДоговорыКонтрагентов, пробовал указывать GUID уже созданной группы, но все равно ошибка та же
#7
by thezos
Кстати, со справочником номенклатуры, например, если я гружу товар в корень, указывая пустую ссылку - нормально прожевывает...
#12
by thezos
Порядок такой как и при загрузке контрагентов, вообще структура входящих данных создана как раз утилиткой soapUI на основании wsdl описания сервиса. У владельца (тэг Owner) стоит AnyRef, ну такое описание платформа выгрузила - посмотрел xmlpad'ом. А вот у родителя (тэг Parent) - тип CatalogRef.ДоговорыКонтрагентов.
#13
by Serginio1
Для проверки сначала выгрузи реальный объект и посмотри. Может у него нет иерархии и родитель не нужен. Если несколько владельцев то нужно указывать тип. Если один то нет.
#16
by Serginio1
А что говорит Contract.Проверить; И зачем НовыйСериализаторXDTO = Новый СериализаторXDTO(ФабрикаXDTO); Если есть СериализаторXDTO
#17
by Serginio1
У меня была проблема с чтением регистров сведений. Но со справочником проблем не было
#19
by thezos
Проверку проходит без ошибок. Всегда спотыкается на СериализаторXDTO.ПрочитатьXDTO(Contract); Спасибо, щас попробую
#20
by thezos
Сериализация-десереализация тоже проходит без ошибок. Как же узнать что нужно ставить в поле Parent?
#23
by thezos
Тексты почти одинаковые, в тэге Parent существующего договора стоит пустая ссылка из нулей.. Единственное отличие - у тега Owner явно указан тип "CatalogRef.Контрагенты", но когда пытаюсь указать его в soapUI - ругается на несоответствие, ведь в описании стоит тип "AnyRef".
#24
by Serginio1
Ну в это делается через указание тип Например Фабрика.Создать(Фабрика.Тип(пространствоимен,ТипСтр),Строка(ТекОбъект.ДокументОснованиеУИД));
#26
by thezos
то есть придется еще доводить до ума полученный XDTO объект в модуле метода? чето неоптимально как то..
#27
by Serginio1
25+ То есть на клиенте должно быть что то такого Объект.Owner=Фабрика.Создать(Фабрика.Тип(пространствоимен,"CatalogRef.Контрагенты"),ВладелецУИД));
#31
by thezos
Спасибо! Наконец всё получилось. Я бы и не догадался, что надо явно указывать тип, что в этом всё дело.. хотя это очевидно, меня сбило с толку, что он ругался на родителя
#32
by Serginio1
А он родителя не может разобрать. Поэтому при ошибках нужно смотреть на предыдущий реквизит
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Фабрика XDTO
- v8: списки xdto и объекты xdto
- 8.2. Как включить пакет XDTO в глобальную Фабрику XDTO?
- XDTO и списки XDTO. Чтение
- Пустое значение свойства объекта XDTO в web-сервисе
- XDTO: Как сделать свойство Типа объекта XDTO с составным типом данных
- Как сделать пакет XDTO со Списком XDTO с разнородными элементами ?
- XDTO скопировать список XDTO
- Возвращается XDTO объект вместо XDTO список в результате вызова веб сервиса
- Формирование XML с помощью XDTO (пакет XDTO)
В этой группе 1С
- Подключение Сканера
- v8: Разложить строковый адрес по структуре?
- v7: Подскажите, как в 77 напечатать месяц прописью (по цифре)
- v8: Что делать ""Операции сравнения на больше-меньше допустимы только для значений..."
- Не работает сканер штрих-кодов у нового пользователя.
- ЗУП 8.2 Нарушение прав доступа
- Ошибка при вызове метода контекста (Заблокировать)
- Как получить ОписаниеТипов через COM объект (8.2.17)
- v7: Почтовый клиент для 1с 7.7
- Квадратные и угловые скобки в конфигураторе
- v7: Подключение к 1с 7.7 com
- Заполнение справочника... Ошибка ЗаполнитьЗначенияСвойств
- ОКВЭД в УТ11 куда вставить партнеру?
- Как получить развернутое сальдо по счету по всем аналитикам?
- Вопрос по внешним печатным формам в конфигурации "Альфа-Авто"
- УТ 11 Тормоза
- Как сделать чтобы ФабрикаXDTO не писала в XML пространство имен?
- ЗУП возврат суммы по исполнительному листу
- v8: СКД: в условии связи не указываются поля набора данных-объект
- Обмен xml и "Пометка удаления"