Иерархический динамический список (с основной таблицей, равной иерархическому справочнику) на форме документа выдавал ошибку ‘Обнаружено рассогласование при получении данных’ при попытке зайти «кликом» внутрь ветки элемента второго уровня (там должно было быть пусто, так как сам список согласно запросу содержал лишь элемент справочника второго уровня и его родителя).
Ниже описаны способы борьбы с этой ошибкой.
1. Переписан произвольный запрос запрос динамического списка:
ВЫБРАТЬ
ПользовательскиеИсторииЗаявкиПользИстории.Ссылка КАК История,
ПользовательскиеИсторииЗаявкиПользИстории.Ссылка.Родитель КАК Родитель
ПОМЕСТИТЬ ПользИстории
ИЗ
Справочник.ПользовательскиеИстории.ЗаявкиПользИстории КАК ПользовательскиеИсторииЗаявкиПользИстории
ГДЕ
ПользовательскиеИсторииЗаявкиПользИстории.ЗаявкаПользИстории = &ЗаявкаПользИстории
И НЕ ПользовательскиеИсторииЗаявкиПользИстории.Ссылка.ПометкаУдаления
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
ПользовательскиеИстории.Ссылка КАК История
{ВЫБРАТЬ
История}
ИЗ
Справочник.ПользовательскиеИстории КАК ПользовательскиеИстории
ГДЕ
(ПользовательскиеИстории.Ссылка В
(ВЫБРАТЬ
ПользИстории.История
ИЗ
ПользИстории)
ИЛИ ПользовательскиеИстории.Ссылка В
(ВЫБРАТЬ
ПользИстории.Родитель
ИЗ
ПользИстории))
2. Снята галка «Автозаполнение доступных полей» (после этого поля нужно определить в компоновке в конструкторе запроса на закладке «Поля» — см. выше {ВЫБРАТЬ
История} в тексте запроса).
Снята галка «Реквизиты» для ссылочного поля «История» на закладке Поля. Список отныне не «лезет» в поля реквизитов списка.
3. Динамический список отображен в виде дерева.