Рассмотрим перенос справочника Подразделения. В базе Источнике справочник имеет иерархию элементов, а в базе Приемнике иерархию групп и элементов.
Для этого, в настройках правил обмена создадим новое правило конвертации свойств, где в Объект - приемник и Объект - источник укажем интересующие нас справочники в базе Приемнике и Базе Источнике. Затем согласимся на автоматическое создание правил конвертации свойств и правил выгрузки данных.
Если перенести данные так как есть, то в базе Приемнике на верхнем уровне элементы, которые указаны в качестве родителя, будут показаны, но на уровень вниз, переход по этим элементам будет невозможен. Для доступа ко всем элементам потребуется выбрать режим просмотра: Список.
Решение 1. Если имеется один уровень подчинения, тогда в Правиле конвертации объекта в Правиле конвертации свойств Это Группа в обработчике Перед Выгрузкой, пишем следующий код :
Значение = Не ЗначениеЗаполнено(Источник.Родитель);
Таким образом, мы присваиваем свойству Это Группа значение Истина. Но, если уровней несколько, то у группы тоже будет родитель, из-за чего свойству будет присвоено значение Ложь и группа не создастся. Поэтому, данное решение подходит для одного уровня иерархии.
Решение 2. Универсальное решение. В том же обработчике пишем следующий код:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Подразделения.Наименование
|ИЗ
| Справочник.Подразделения КАК Подразделения
|ГДЕ
| Подразделения.Родитель = &Родитель";
Запрос.УстановитьПараметр("Родитель", Источник);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Значение = ВыборкаДетальныеЗаписи.Следующий();
Здесь мы проверяем имеются ли в данном справочнике объекты, у которых в качестве родителя указана ссылка на текущий объект. Если такие элементы есть, значит текущий объект - группа, если нет - элемент.
Если все же необходимо перенести все элементы, именно как элементы, и сохранить возможность просмотра, в виде иерархии или дерева, то нужно просто отключить обработку правила конвертации свойства Родитель и Это Группа.