&НаСервереБезКонтекста
Процедура Команда1НаСервере()
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| контрагенты.Код,
| контрагенты.Наименование,
| контрагенты.ЭтоГруппа
|ИЗ
| Справочник.контрагенты КАК контрагенты";
Файл = Новый ЧтениеXML;
Файл.ОткрытьФайл("e:\1.xml");
Пока Файл.Прочитать() Цикл
Если Файл.ТипУзла=ТипУзлаXML.НачалоЭлемента Тогда
Пока файл.ПрочитатьАтрибут() Цикл
Если файл.Имя = "Код" Тогда
Код = файл.Значение;
ИначеЕсли файл.Имя = "ЭтоГруппа" Тогда
ЭтоГруппа = ?(Файл.Значение="0",Ложь,Истина);
//ИначеЕсли файл.Имя = "Родитель" Тогда
// Родитель = Файл.Значение;
КонецЕсли;
КонецЦикла;
Если ЗначениеЗаполнено(Код) И Не ЗначениеЗаполнено(Справочники.контрагенты.НайтиПоКоду(Код)) Тогда
Если ЭтоГруппа Тогда
ЭлементСправочника = Справочники.контрагенты.СоздатьГруппу();
Иначе
ЭлементСправочника = Справочники.контрагенты.СоздатьЭлемент();
КонецЕсли;
ЭлементСправочника.Код = Код;
Если Файл.Прочитать() Тогда
Если Файл.ТипУзла=ТипУзлаXML.Текст Тогда
ЭлементСправочника.Наименование = Файл.Значение;
ЭлементСправочника.Записать();
Иначе
Сообщить("ошибка формата!");
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Файл = Новый ЧтениеXML;
Файл.ОткрытьФайл("e:\1.xml");
Пока Файл.Прочитать() Цикл
Если Файл.ТипУзла=ТипУзлаXML.НачалоЭлемента Тогда
Пока файл.ПрочитатьАтрибут() Цикл
Если файл.Имя = "Код" Тогда
Код = файл.Значение;
ИначеЕсли файл.Имя = "Родитель" Тогда
Родитель = Файл.Значение;
КонецЕсли;
КонецЦикла;
Если ЗначениеЗаполнено(Код) И ЗначениеЗаполнено(Родитель) Тогда
Элемент = Справочники.контрагенты.НайтиПоКоду(код);
РедактируемыйЭлемент = Элемент.ПолучитьОбъект();
РедактируемыйЭлемент.Родитель = Справочники.контрагенты.НайтиПоКоду(Родитель);
РедактируемыйЭлемент.Записать();
КонецЕсли;
КонецЕсли;