Имя: Пароль:
1C
1С v8
Как при записи объекта через ЗаписатьXML, записать не все реквизиты?
0 Галахад
 
гуру
26.04.13
08:47
[Что делаю]
Полустандартной обработкой импорта экспорта
переношу документы из одной базы в другую.

[Что хочу]
Не переносить некоторые реквизиты.

[Что получается]
Сами объекты, на которые ссылаются реквизиты я не переношу.
А вот реквизиты-то заполнены битыми ссылками...

Собственно вопрос в заголовке.
Других вариантов как после переноса чистить битые реквизиты нет?
1 Fragster
 
гуру
26.04.13
08:50
XDTO
2 Галахад
 
гуру
26.04.13
09:07
(1) О! Это типа такого:

// Получим объект СпрКлиенты = Справочники.Клиенты;
Выборка = СпрКлиенты.Выбрать();
Пока Выборка.Следующий() Цикл
КлиентОбъект = Выборка.ПолучитьОбъект();
Прервать;
КонецЦикла;
// Создадим ОбъектXDTO
клиентыТип = ФабрикаXDTO.Тип("http://v8.1c.ru/8.1/data/enterprise/current-config", "CatalogObject.Клиенты");
клиент = ФабрикаXDTO.Создать(клиентыТип);
// Заполним ОбъектXDTO и сохраним его

//~~~~~~~~~~~~~~~~~~~~~~~~~~
ЗаполнитьЗначенияСвойств(клиент,КлиентОбъект);
клиент.НеНужныйРеквизит = Неопредлено;
//~~~~~~~~~~~~~~~~~~~~~~~~~~

ИмяФайла = "D:\Temp\сlient.xml";
МойXML = Новый ЗаписьXML;
ПараметрыЗаписиXML = Новый ПараметрыЗаписиXML("UTF-8", "1.0", Ложь);
МойXML.ОткрытьФайл(ИмяФайла, ПараметрыЗаписиXML);
МойXML.ЗаписатьОбъявлениеXML();
ФабрикаXDTO.ЗаписатьXML(МойXML, клиент);
МойXML.Закрыть();
3 Галахад
 
гуру
26.04.13
10:03
А не. Все равно писать много.

Лучше уж своё дописать.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан