Нужно документ РеализацияТоваровУслуг (ссылка на который выбирается в диалоге создаваемой обработки) перенести в другую базу данных. Структура конфигураций идентична. Справочники (и другие сопутствующие объекты) синхронизированы по значениям внутренних идентификаторов.
Для выгрузки потребуется выполнить следующий фрагмент кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// Выгрузить в файл xml. ЗаписьXML = Новый ЗаписьXML(); ЗаписьXML.ОткрытьФайл("c:\doc.xml"); ЗаписьXML.ЗаписатьНачалоЭлемента("Root"); // Получить объект по ссылке. ВыгружаемыйОбъект = Документ.ПолучитьОбъект(); // С помощью средств сериализации записать объект в файл. ЗаписатьXML(ЗаписьXML,ВыгружаемыйОбъект); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.Закрыть(); |
При выгрузке создаем элемент Root исходя из соображений, что в XML-документе должен быть только один корневой узел, а в общем случае (но не в нашем) выгружаться может не один объект.
Для загрузки выгруженного значения используем следующий фрагмент кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
ЧтениеXML = Новый ЧтениеXML(); ЧтениеXML.ОткрытьФайл("c:\doc.xml"); // Текущим становится элемент Root. ЧтениеXML.Прочитать(); // Текущим становится элемент с документом. ЧтениеXML.Прочитать(); // Проверить, сможет ли с данным значением "справиться" система сериализации в данной базе. Если ВозможностьЧтенияXML(ЧтениеXML) Тогда // Получить ДокументОбъект.РеализацияТоваровУслуг. ЗагружаемыйОбъект = ПрочитатьXML(ЧтениеXML); ЗагружаемыйОбъект.Записать(); КонецЕсли; ЧтениеXML.Закрыть(); |