При работе с крупными справочниками, такими как Номенклатура, в конфигурациях на базе управляемых форм (например, УТ 11, ERP 2 или КА 2) пользователи иногда сталкиваются с крайне неприятным визуальным артефактом. При попытке раскрыть группу или просто при скроллинге списка группы начинают «двоиться», а сам список зацикливается: после последней папки снова отображается первая, и так до бесконечности. Это не просто визуальный баг, а серьезная проблема, мешающая корректному выбору товара и навигации.
В этой статье мы подробно проанализируем причины возникновения этой ошибки, разберем связь проблемы с платформой 8.3.10 и расширениями конфигурации, а также рассмотрим пошаговые методы устранения этого «глюка».
Проанализируем ситуацию: чаще всего эта проблема проявляется на платформе версии 8.3.10.x (например, 2505, 2639, 2699). Основная причина кроется в некорректной работе механизма динамической выборки данных (ДинамическийСписок) при активном использовании расширений конфигурации. Когда расширение заимствует форму списка или сам объект (справочник), платформа может некорректно строить дерево иерархии, путая индексы строк при отрисовке интерфейса «Такси».
Разберем основные методы решения этой проблемы — от радикальных до «хитрых» программных обходов.
Как показывает практика и сообщения опытных разработчиков, основной конфликт возникает при наличии справочника Номенклатура в составе расширения. Выясним, как это лечится:
Номенклатура (даже если вы просто переопределили процедуру ПриСозданииНаСервере или изменили модуль менеджера), это может быть триггером бага.Справочник.Номенклатура. Иногда платформа при автоматическом объединении форм «теряет» эту привязку, что приводит к сбоям в построении дерева иерархии.Иногда обычная чистка локального кэша (папок AppData\Local\1C) не помогает, так как настройки формы сохраняются непосредственно в информационной базе. Разберем, как выполнить глубокую очистку:
Номенклатура.Если вы не можете изменить расширение или обновить платформу прямо сейчас, существует интересный способ «протолкнуть» построитель иерархического списка. Рассмотрим алгоритм действий:
Выясним еще одну техническую деталь: начиная с версии 8.3.10, платформа активно использует графический процессор (GPU) для отрисовки элементов интерфейса. В некоторых случаях именно конфликт драйвера видеокарты и платформы вызывает артефакты при скроллинге (строки начинают накладываться друг на друга, создавая эффект дублирования).
Попробуем запустить тонкий клиент с параметром отключения аппаратного ускорения:
"C:\Program Files\1cv8\common\1cestart.exe" /GPU off
Если после этого «двоение» прекратилось, значит, проблема носит чисто визуальный характер и связана с рендерингом форм.
Проанализируем технические настройки конфигурации и расширения. Очень важно, чтобы режим совместимости расширения совпадал с режимом совместимости основной конфигурации.
Посмотрим, как это проверить:
Режим совместимости.Не использовать, если основная конфигурация также его не использует).8.3.10.Если вышеперечисленные методы не помогли, необходимо исключить логические ошибки в самой базе данных. Рассмотрим процедуру проверки:
Родитель ссылается на само себя или на удаленный объект (битую ссылку).Замечено, что в редких случаях индекс полнотекстового поиска может влиять на отображение списков с включенным быстрым поиском. Попробуем выполнить полное обновление индекса:
Процедура ОбновитьИндексПП()
ПолнотекстовыйПоиск.УстановитьРежимПереиндексации(РежимПереиндексацииПолнотекстовогоПоиска.Полная);
ПолнотекстовыйПоиск.ОбновитьИндекс(Истина);
КонецПроцедуры
После завершения операции проверьте работу справочника Номенклатура.
Наиболее эффективным решением для платформы 8.3.10 является удаление объекта из расширения или обновление платформы до версий 8.3.12 и выше, где большинство ошибок динамических списков было исправлено разработчиками 1С. Если обновление невозможно, используйте метод сброса настроек пользователя и проверку режима совместимости расширений.