Имя: Пароль:
1C
 
Создать массив (список) XDTO
0 fantomrik
 
06.12.16
10:05
Коллеги, привет!
В веб сервисе передаю объект xdto типа КонтактнаяИнформация (ФабрикаXDTO.Тип("http://www.v8.1c.ru/ssl/contactinfo";, "КонтактнаяИнформация"). Хочу передавать список таких объектов, не пойму как сделать.

Попробовал создать новый XDTO пакет, в нем ТипОбъект КонтактнаяИнформацияМассив, макс количество (-1) и присвоить ему тип Тип("http://www.v8.1c.ru/ssl/contactinfo";, "КонтактнаяИнформация"). Но вылетает ошибка при проверке пакет, что в моем пространстве имен (пусть будет "http://МойURL";) данный тип не обнаружен. При выборе типа я вижу все пространства имен в конфигурации и могу указать http://www.v8.1c.ru/ssl/contactinfo, но обратиться для описания типа не получается.

Подскажите, куда копать? Как в своем пакете xdto обращаться к типам других пакетов?
1 fantomrik
 
06.12.16
10:52
Ап
2 fantomrik
 
06.12.16
13:34
По классике жанра, разобрался сам - отписываюсь ищущим.
В пакете XDTO создается новый элемент Директива импорта. В ней в пространстве имен, прописывается пространство пакета, из которого хотим получить нужный нам тип (в моем случае http://www.v8.1c.ru/ssl/contactinfo)

То есть, для того что бы работать со списком типа ФабрикаXDTO.Тип("http://www.v8.1c.ru/ssl/contactinfo";, "КонтактнаяИнформация"), создаем новый пакет, добавляем директиву с пространством "http://www.v8.1c.ru/ssl/contactinfo, создаем новый тип объекта (пусть будет МассивКИ), добавляем ему свойство (пусть будет КИ) с типом КонтактнаяИнформация (http://www.v8.1c.ru/ssl/contactinfo), готово!

Создаем список МассивКИ и через метод добавить можем наполнять его элементами типа Тип("http://www.v8.1c.ru/ssl/contactinfo";;, "КонтактнаяИнформация")
3 fantomrik
 
06.12.16
18:02
Ан нет (
При попытке добавить ошибка:

{Обработка.ЗапросОтВебСервиса.Форма.Форма.Форма(34)}: Ошибка при вызове метода контекста (Добавить)
    ПакетКИ.МассивКИ.Добавить(ЮрАдрес);
по причине:
Несоответствие типов XDTO:
Тип '{http://www.v8.1c.ru/ssl/contactinfo}КонтактнаяИнформация' не соответствует типу '{http://www.v8.1c.ru/ssl/contactinfo}КонтактнаяИнформация'
Тип свойства не соответствует типу значения
4 fantomrik
 
06.12.16
18:26
все еще ишу решение
5 fantomrik
 
06.12.16
19:01
Нашел случайно пространство имен "http://v8.1c.ru/8.1/data/core"; и тип в нем "Array"
Массив создать получилось, думаю с передачей не должно быть проблем

МассивКИ = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://v8.1c.ru/8.1/data/core";, "Array"))
Независимо от того, куда вы едете — это в гору и против ветра!