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