Имя: Пароль:
1C
1С v8
XDTO пакет
,
0 Besometr
 
19.07.13
11:47
Доброе время суток!

Люди добрые, подскажите, вот кусок кода который формирует xml файл со всеми реквизитами документа:

// Получим объект
ПутевойЛистОбъект = пвПутевойЛист.ПолучитьОбъект();
   
   
// Создадим ОбъектXDTO
ТипПутевойЛист = ФабрикаXDTO.Тип("http://v8.1c.ru/8.1/data/enterprise/current-config", "DocumentObject.новаПутевойЛист");
ПутевойЛист = ФабрикаXDTO.Создать(ТипПутевойЛист);

// Заполним ОбъектXDTO и сохраним его
ЗаполнитьЗначенияСвойств(ПутевойЛист, ПутевойЛистОбъект);

//ПутевойЛист = СериализаторXDTO.ЗаписатьXDTO(ПутевойЛистОбъект);
   
ИмяФайла = "c:\1\PutList.xml";
МойXML = Новый ЗаписьXML;
ПараметрыЗаписиXML = Новый ПараметрыЗаписиXML("UTF-8", "1.0", Ложь);
МойXML.ОткрытьФайл(ИмяФайла, ПараметрыЗаписиXML);
МойXML.ЗаписатьОбъявлениеXML();

ФабрикаXDTO.ЗаписатьXML(МойXML, ПутевойЛист);

МойXML.Закрыть();

В этом примере ФабрикаXDTO прекрасно знает что такое пространство имен "http://v8.1c.ru/8.1/data/enterprise/current-config" и тип "DocumentObject.новаПутевойЛист"

Теперь пытаюсь создать в конфигурации ПакетXDTO и объявить в нем свойство с таким же типом:

Ошибка проверки модели XDTO: xdto-package-4.4    пакет: http://v8.1c.ru/8.1/data/enterprise/current-config
Тип глобального свойства 'Свойство1' не найден в пакете типов 'http://v8.1c.ru/8.1/data/enterprise/current-config' и его зависимостях

Что я делаю не так? :)
1 Fragster
 
гуру
19.07.13
11:48
(0) в пакете надо всякие core еще импортировать
2 Fragster
 
гуру
19.07.13
11:48
тип у Свойство1 какой?
3 Besometr
 
19.07.13
11:48
DocumentObject.новаПутевойЛист (http://v8.1c.ru/8.1/data/enterprise/current-config)
4 Besometr
 
19.07.13
12:04
Добавил Директивы импорта:
http://v8.1c.ru/8.1/data/core

Результат пока тот же.
5 Besometr
 
19.07.13
12:50
Победил:)
Добавил Директивы импорта:
http://v8.1c.ru/8.1/data/enterprise/current-config

И поменял пространство имен на свое.

Далее добавил свойство с типом
DocumentRef.новаПутевойЛист (http://v8.1c.ru/8.1/data/enterprise/current-config)

В коде делаю так
пПутевойЛист = СериализаторXDTO.ЗаписатьXDTO(Выборка.ПутевойЛист);
пПутевыеЛисты.WAYBILL.Добавить(пПутевойЛист);

Типы у них одинаковые, все добавляется, в отладчике вижу все реквизиты путевого листа, а на выходе в XML, от документа остается только uid.

Не знаете почему так?


Только результат все равно не тот, в отладчике в объекте
6 Besometr
 
19.07.13
12:51
Последняя строка результат не проверенного копипаста :)
7 Fragster
 
гуру
19.07.13
12:59
(5) ссылка вместо объекта?
8 Serginio1
 
19.07.13
13:02
(5) может пПутевойЛист = СериализаторXDTO.ЗаписатьXDTO(Выборка.ПутевойЛист.ПолучитьОбъект());
9 Besometr
 
19.07.13
15:39
(7) (8) вы правы, спасибо, лопухнулся ;)
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс