Конвертация данных 2.0. Перенос справочника с иерархией групп и элементов

Публикация № 1106076

Обмен - Обмен через XML

Конвертация данных 2.0

1
Детективная история о том, как при переносе элементы справочника становились не "видимыми".

      Возникла необходимость перенести из конфигурации "Комплексная автоматизация 1.1" в "Комплексная автоматизация 2.4" справочник с иерархией групп и элементов ГруппаКлассификации. Быстро накидал правила для переноса в конфигурации "Конвертация данных 2.0".  Перенёс данные, все пришло только нет групп. Добавил в ПКО Родителя и свойство  ЭтоГруппа и снова сделал перенос. С этого момента и начался детектив.  В перенесённых объектах конфигурации - справочнике Номенклатура ссылки на элементы справочника ГруппаКласификации есть и сами элементы открываются. Но при попытке выбрать из полного списка приходим к ситуации что видим только верхнюю папку и то в виде элемента. Ситуация как в том анекдоте "Ты суслика видишь? Нет!  А он есть!".

     К раскрытию этой непростой ситуации с исчезновением элементов справочника были привлечены следователи со стажем: отладчик, конфигуратор  и набор инструментов ирПортативный. При изучении ситуации на месте преступления выяснилось, что если включить вариант просмотра справочника списком то "невидимки" становятся видны. Если элемент справочника удалить непосредственным удалением в базе и снова перенести ситуация не исправляется. Через инструмент разработчика ирПортативный было установлено, что свойство ЭтоГруппа имеет значение "Ложь". То есть по факту группы перенесены как элементы и по этой причине нет возможности навигации по справочнику ГруппаКлассификации в режиме просмотра иерархический список. 

     После того как все "внешние" способы повлиять на ситуацию были исчерпаны к делу поиска причины переноса групп справочника ГруппаКлассификации в виде элементов подключили тяжёлую артилерию отладчик. Предпосылка для поиска точки остановки для выяснения ситуации была следующей: насколько бы сложной не была обработка УниверсальныйОбменДаннымиXML внутри её кода должен быть вызов метода объекта справочника СоздатьГруппу(). Такой участок кода был действительно скоро найден.

     Анализ в отладчике показал что  вместо группы справочника ГруппаКлассификации заводятся элементы по причине того, что СвойстваПоиска["ЭтоГруппа"]  выдает неопределено.  Возникает вопрос какие данные попадают в эту переменную СвойстваПоиска и почему в ней нет свойства ЭтоГруппа?  В этом вопросе помог анализ XML файла  с данными для переноса. Переменная СвойстваПоиска заполняется свойствами из группы файла выгрузки XML ссылка. В свою очередь в эту группу попадают только те реквизиты объекта у которых стоит галка Поиск объекта при загрузке по свойству. 

    Ура! Задача решена! Необходимо было поставить всего лишь одну галку.

1

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. _Enot_ 6 09.08.19 13:10 Сейчас в теме
Да было такое как то раз, что не мог понять почему группы не переносились, но нашел это быстро просмотрев уроки)
2. Поручик 4294 09.08.19 13:41 Сейчас в теме
Давно известно и описано, что надо обязательно указывать свойство поиска ЭтоГруппа, особенно если поиск по наименованию..
artfa; A_Max; wowik; bomba; +4 Ответить
3. bomba 09.08.19 14:54 Сейчас в теме
(2) Еще не один детектив напишут, не читая ни одного детектива)
artfa; A_Max; +2 Ответить
4. artfa 40 14.08.19 14:04 Сейчас в теме
Оставьте свое сообщение