Рассмотрим достаточно распространенную ситуацию, когда после обновления конфигурации 1С:Управление нашей фирмой (1С:УНФ) на новую версию (например, 1.6.22) у пользователей пропадают группы номенклатуры на левой боковой панели списка. При этом внутри самой карточки товара данные отображаются корректно, и справочник технически содержит все необходимые папки. Без привычного дерева групп искать нужные позиции становится крайне неудобно. Давайте подробно разберем причины этой неполадки и проанализируем эффективные способы ее решения.
Прежде чем переходить к практическим действиям, проанализируем, почему возникает такая ситуация. Дело в том, что в 1С:УНФ используется не совсем стандартный для классических конфигураций механизм работы с иерархией справочника номенклатуры.
Для существенного ускорения работы отборов, фильтров и динамических списков, иерархия номенклатуры дублируется в специальных служебных регистрах сведений. Когда мы обновляем релиз программы или выполняем программный перенос данных (например, загружаем прайс-листы или переносим базу из «1С:Бухгалтерии»), информация в самом справочнике сохраняется корректно. Однако записи в служебном регистре иерархии могут не обновиться из-за программного сбоя. В результате этой рассинхронизации платформа «не видит» структуру для построения дерева на форме, и боковая панель пустеет.
Посмотрим на самый простой и действенный метод, который мы можем применить без привлечения программиста. Поскольку проблема кроется в неактуальных данных регистра, нам нужно заставить программу обновить их.
Номенклатура.Простая перезапись элемента принудительно запускает алгоритмы (подписки на события), которые обновляют данные в служебном регистре. Во многих случаях пересохранение хотя бы одной группы «оживляет» все дерево на боковой панели.
Важное замечание: Стандартная обработка ГрупповоеИзменениеРеквизитов в данном случае может не помочь, так как она часто выполняется в режиме обмена данными и может не задействовать необходимые программные процедуры для обновления регистров сведений.
Если справочник огромный, и ручная перезапись одной папки не помогла восстановить всю структуру, пересохранять каждую группу руками невозможно. Рассмотрим, как решить эту задачу с помощью небольшой внешней обработки.
Нам потребуется написать скрипт, который переберет все элементы справочника с признаком ЭтоГруппа и программно их перезапишет. Разберем пример кода, который делает именно это:
Выборка = Справочники.Номенклатура.ВыбратьИерархически();
Пока Выборка.Следующий() Цикл
Если Выборка.ЭтоГруппа Тогда
ОбъектГруппы = Выборка.ПолучитьОбъект();
// Принудительно записываем группу для обновления регистра
ОбъектГруппы.Записать();
КонецЕсли;
КонецЦикла;
Запуск такого алгоритма мгновенно синхронизирует служебные регистры и восстанавливает видимость всей структуры. Для выполнения этого кода лучше обратиться к специалисту или воспользоваться консолью кода.
Посмотрим на еще одну частую причину, которая не является ошибкой, а связана исключительно с пользовательским интерфейсом. В 1С:УНФ предусмотрено два разных механизма классификации: Группы (для классической иерархической сортировки папок) и Категории (шаблоны для быстрого заполнения карточек и учета по характеристикам).
Часто после обновления сбрасываются пользовательские настройки, и боковая панель по умолчанию переключается с групп на категории. Если у вас не заведены категории, панель покажется пустой. Выполним следующие шаги:
В завершение разберем дополнительные меры, которые помогают восстановить корректное отображение интерфейса.
Обратите внимание на настройку видимости вложенных элементов. Кликните в списке номенклатуры правой кнопкой мыши и проверьте наличие галочки на пункте Показывать номенклатуру вложенных групп. Включение и отключение этой опции заставляет динамический список заново считать иерархию и может «взбодрить» интерфейс.
Кроме того, если проблема возникла сразу после обновления платформы или конфигурации, настоятельно рекомендуем выполнить полную очистку кэша 1С на рабочих местах пользователей. Поломка кэшированных управляемых форм — классическая причина визуальных глитчей и «пропадающих» элементов управления в 1С:УНФ.