Как настроить и сохранить правильный порядок фильтров по свойствам номенклатуры в 1С:ERP

Пользователь 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием Торговля и дистрибуция
← На главную

При оформлении заказов клиентов или закупках в решениях на платформе 1С:Предприятие 8 (таких как 1С:ERP, 1С:Комплексная автоматизация 2 или 1С:Управление торговлей 11) менеджеры активно пользуются формой подбора товаров. Для быстрого поиска нужной позиции крайне важна панель быстрых отборов. Однако часто возникает неприятная ситуация: настроенные фильтры по свойствам и характеристикам номенклатуры начинают отображаться в хаотичном порядке. Это сильно замедляет работу пользователей, особенно если количество фильтров измеряется десятками.

В этой статье мы подробно разберем, почему сбивается порядок фильтров по свойствам, рассмотрим практический «эмпирический» метод решения этой проблемы прямо в пользовательском режиме, а также изучим стандартные административные и программные способы фиксации порядка отображения реквизитов.

Выясняем причину: почему сбивается порядок фильтров?

Для начала проанализируем ситуацию изнутри. Панель быстрых отборов по свойствам в формах выбора или подбора номенклатуры не является статичным элементом, нарисованным в конфигураторе. Платформа 1С строит этот интерфейс динамически («на лету») при открытии формы.

Этот процесс опирается на несколько факторов:

  1. Динамическое построение формы. Программа обращается к настройкам конкретного вида номенклатуры (вкладка Быстрый отбор в списках или Фильтр по свойствам) и считывает список дополнительных реквизитов. Затем она сопоставляет их со структурой системного справочника НаборыДополнительныхРеквизитовИСведений.
  2. Влияние внешней синхронизации. Очень часто сбой порядка происходит после доработок или очередного сеанса обмена данными с сайтом (например, интернет-магазином на CMS Bitrix). Модули интеграции при импорте каталога могут перезаписывать дополнительные реквизиты. Если при обмене свойства удаляются и создаются заново, у них сбивается внутренний реквизит Порядок. Для платформы эти свойства становятся «новыми», и она выстраивает их случайным образом или по алфавиту.
  3. Ограничения интерфейса. При большом количестве свойств (например, более 15–20) платформа распределяет их по колонкам формы автоматически. Если структура нарушена хотя бы у одного свойства, весь визуальный ряд «ломается», и свойства отображаются вразнобой.

Рассмотрим несколько способов решения этой проблемы, начиная от простых пользовательских манипуляций и заканчивая системными настройками.

Решение 1. Практический метод ручной перенастройки («магия» последовательного добавления)

Если проблему нужно решить оперативно здесь и сейчас, без привлечения программистов и изменения кода, мы можем воспользоваться проверенным практическим методом. Этот алгоритм позволяет восстановить иерархию отображения элементов вручную.

Разберем этот процесс по шагам:

  1. Откроем карточку проблемного Вида номенклатуры и перейдем в настройки панели быстрых отборов.
  2. Полностью очистим список выбранных свойств для фильтрации.
  3. Начнем добавлять свойства обратно по одному, сохраняя форму после каждого добавления, и проверяя, как они выглядят в форме подбора заказа.
  4. В процессе добавления определим, после какого именно свойства ломается логическая последовательность. Как правило, «виновником» оказывается свойство с самым большим количеством характеристик или наиболее сложной структурой значений.
  5. Исключим это проблемное свойство из общего списка добавления на первом этапе. Сначала добавим все остальные свойства в правильном порядке.
  6. Добавим «проблемное» свойство в самый последний момент, когда основная структура уже сформирована.
  7. После добавления аккуратно переместим его стрелками на нужное место в списке. Такой порядок действий позволяет платформе корректно пересчитать индексы визуального отображения элементов на форме.

Важное предупреждение: данный метод является обходным. При добавлении новых характеристик в середину списка в будущем порядок может снова нарушиться, поэтому для долгосрочного решения рекомендуется использовать стандартные административные методы.

Решение 2. Стандартная настройка порядка свойств администратором

Чтобы зафиксировать порядок отображения свойств без риска их случайного перемешивания, администратору системы необходимо правильно настроить связи дополнительных реквизитов.

Выполним последовательно следующие действия:

Шаг А. Упорядочивание дополнительных реквизитов в наборе

Порядок вывода свойств на форму напрямую зависит от их расположения в плане видов характеристик.

  1. Перейдем в раздел НСИ и администрирование, далее выберем пункт Администрирование, откроем Общие настройки и развернем группу Свойства.
  2. Нажмем на гиперссылку Дополнительные реквизиты.
  3. В левой части открывшегося окна найдем нужный нам Вид номенклатуры (или Характеристики номенклатуры для этого вида).
  4. В правой части окна отобразится список свойств. Выделим нужное свойство и с помощью синих стрелок Переместить вверх или Переместить вниз на панели управления выстроим их в строгой логической последовательности. Именно это действие жестко перезаписывает системный реквизит Порядок.

Шаг Б. Проверка значений внутри свойств

Часто путаница возникает из-за того, что значения внутри конкретного свойства (например, размеры одежды или типы коробок передач) выводятся не по порядку.

  1. Откроем карточку конкретного дополнительного реквизита из списка.
  2. Перейдем на вкладку Значения.
  3. Используя стрелки перемещения на панели, расставим значения в правильном порядке (например, сначала 3.1 Робот, затем 3.2 Автоматическая). В быстрых фильтрах они будут выводиться строго в заданной последовательности.

Решение 3. Программное решение для разработчиков (защита от сброса при обменах)

Если на предприятии настроена частая синхронизация данных с внешними сайтами, ручные настройки администратора будут постоянно сбрасываться. В этом случае программисту 1С необходимо вмешаться в процесс построения формы или логику обмена данными.

За построение фильтров в типовых решениях отвечает подсистема Библиотеки стандартных подсистем (БСП) УправлениеСвойствами. Основной программный код сосредоточен в общих модулях УправлениеСвойствамиСлужебный и модулях форм подбора (например, обработка ПодборТоваров).

Чтобы не снимать конфигурацию с поддержки, применим механизм расширений. Мы можем программно переопределить порядок элементов на форме в процедуре ПриСозданииНаСервере формы подбора товаров.

Посмотрим на пример кода, который принудительно упорядочивает элементы формы в группе фильтров:


&НаСервере
Процедура Расш_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
    
    // Получаем группу на форме, где динамически размещены свойства
    ГруппаБыстрыхОтборов = Элементы.Найти("ГруппаБыстрыйОтборПоСвойствам");
    
    Если ГруппаБыстрыхОтборов <> Неопределено Тогда
        
        // Создаем массив с правильным порядком имен реквизитов
        ПравильныйПорядок = Новый Массив;
        ПравильныйПорядок.Добавить("Свойство_Автомобиль");
        ПравильныйПорядок.Добавить("Свойство_ЦветАвтомобиля");
        ПравильныйПорядок.Добавить("Свойство_ТипКПП");
        
        // Перемещаем элементы в соответствии с нашим массивом
        Для Каждого ИмяЭлемента Из ПравильныйПорядок Цикл
            ЭлементФормы = Элементы.Найти(ИмяЭлемента);
            Если ЭлементФормы <> Неопределено Тогда
                ГруппаБыстрыхОтборов.ПодчиненныеЭлементы.Переместить(
                    ЭлементФормы, 
                    ГруппаБыстрыхОтборов.ПодчиненныеЭлементы.Количество() - 1
                );
            КонецЕсли;
        КонецЦикла;
        
    КонецЕсли;
    
КонецПроцедуры

Также программистам, отвечающим за интеграцию с сайтом, необходимо скорректировать логику работы модуля обмена. При обновлении информации о характеристиках из CMS программа не должна удалять и создавать элементы заново. Поиск существующих реквизитов в 1С должен выполняться строго по уникальному идентификатору (GUID), а запись реквизита Порядок у планов видов характеристик при обмене должна быть заблокирована.

Используя предложенные методы, мы сможем гарантировать стабильное и удобное отображение фильтров по свойствам номенклатуры, что значительно повысит скорость работы пользователей в оформлении документов.

← На главную