Рассмотрим весьма распространенную ситуацию, с которой столкнулись пользователи при переходе на ветку релизов 3.1.17 конфигураций 1С:Зарплата и управление персоналом (ЗУП) и 1С:Зарплата и кадры государственного учреждения (ЗГУ), в частности на релиз 3.1.17.171. После успешного обновления пользователи замечают, что в различных журналах документов (например, «Все кадровые документы», «Приемы, переводы, увольнения», «Отпуска») перестает функционировать стандартный отбор по конкретному сотруднику в шапке формы.
Проанализируем симптомы: вы выбираете нужного человека в поле отбора, но список документов не фильтруется, либо фильтруется некорректно, отображая пустой список или игнорируя заданное условие. Очистка пользовательских настроек (кэша формы) при этом не приносит результата.
Разберем детально, что происходит «под капотом» программы. Данная проблема официально зарегистрирована разработчиками 1С под кодом 10231341.
Ошибка кроется в механизме работы ДинамическийСписок при обработке текстов запросов платформой. В новых релизах разработчики добавили ряд интеграционных механизмов, одним из которых является сервис «1С:Кабинет сотрудника». Когда этот сервис активирован в базе, он динамически модифицирует запросы списков, добавляя в них свои скрытые параметры и реквизиты.
Из-за некорректного построения текста запроса динамического списка в релизе 3.1.17.171 система теряет связь между параметром отбора пользовательского интерфейса (полем «Сотрудник») и реальным полем базы данных. В результате платформа просто не применяет наложенный фильтр.
Дополнительно усугубить ситуацию могут настройки прав доступа. Если в базе включено Ограничение прав доступа на уровне записей (RLS), запросы становятся еще сложнее, обрастая дополнительными условиями безопасности. Это приводит к тому, что механизм быстрого отбора окончательно «ломается».
Разберем по шагам все доступные способы возвращения работоспособности фильтрации по сотрудникам. Мы проанализируем как официальные методы исправления, так и временные решения (workarounds), которые помогут бухгалтерам и кадровикам продолжить работу прямо сейчас.
Поскольку ошибка признана официально, она была исправлена в последующих обновлениях. Разберем, до каких версий необходимо обновиться:
Также разработчики выпускали официальные патчи (исправления) для проблемных релизов. Если возможность полного обновления конфигурации временно отсутствует, проверьте наличие актуальных патчей через стандартный механизм загрузки обновлений.
Если вы физически не используете мобильное приложение и веб-сервис взаимодействия с сотрудниками, либо готовы пожертвовать им на время до обновления, мы можем отключить этот функционал.
Перейдите в раздел администрирования или настроек управления персоналом, найдите галочку интеграции с «1С:Кабинет сотрудника» и снимите ее. После этого перезапустите программу. Динамические списки перестанут дополняться конфликтными параметрами, и стандартные отборы начнут функционировать в штатном режиме.
Если системный администратор пока не может накатить патч, научим пользователей небольшому трюку. Вместо использования специального поля «Сотрудник» в верхней части формы (которое формирует неработающий динамический отбор), используйте полнотекстовый поиск или поиск по колонке.
Выделите любую ячейку в колонке «Сотрудник» (или аналогичной, где выводится ФИО) и нажмите комбинацию клавиш Ctrl+F. В появившемся окне введите фамилию. Платформенный механизм поиска (в отличие от параметризованного отбора) работает стабильно, так как ищет строковые вхождения непосредственно в отображаемом результате запроса.
Рассмотрим интересный лайфхак, который пользователи обнаружили эмпирическим путем. Он помогает в некоторых журналах, например, в журнале отпусков. Суть метода заключается в принудительной перерисовке (обновлении) условий динамического списка платформой.
Для этого выполните следующие действия:
В момент включения и выключения отбора по подразделению, платформа перекомпилирует запрос списка, и отбор по сотруднику может «подхватиться». Стоит отметить, что этот метод работает не всегда и, например, в журнале «Кадровые документы» часто не дает результата.
Проанализируем еще один вариант решения через внутренние настройки. Иногда проблема заключается именно в "быстрых" отборах пользовательского интерфейса, вынесенных в шапку.
Нажмите кнопку Еще в командной панели журнала и выберите пункт Настроить список. Перейдите на вкладку Отбор.
Добавьте новое условие. В качестве поля найдите параметр Сотрудник (важно развернуть ссылку на документ и выбрать реквизит оттуда, либо использовать поле ФизическоеЛицо, в зависимости от типа документа). Установите вид сравнения Равно или В списке и укажите нужного человека. Применение такого глубокого фильтра платформой обрабатывается по-другому и часто позволяет обойти ошибку отображения.
Мы подробно разобрали причины, по которым в конфигурациях 1С:ЗУП и 1С:ЗГУ версии 3.1.17 может отказывать отбор по сотрудникам в журналах. Проблема носит сугубо платформенно-архитектурный характер на стыке динамических списков и сервиса кабинета сотрудника. Самым надежным решением остается установка актуальных исправлений (патчей) или обновление на стабильные версии (3.1.17.210 и выше). До тех пор, смело используйте функционал Ctrl+F или тонкие настройки формы списка.