Как отсортировать список сотрудников по фамилии в документе «Табель» и отчете Т-13 в 1С?

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

В процессе ежедневной работы с программой 1С:Зарплата и Управление Персоналом 3.1 (а также в комплексных решениях 1С:ERP 2.5 и 1С:Комплексная автоматизация 2.5) расчетчики и кадровики часто сталкиваются с неудобством при заполнении документа Табель. По умолчанию программа может выстраивать список сотрудников по табельным номерам, внутренним идентификаторам или подразделениям, что сильно затрудняет визуальный поиск конкретного человека в длинном списке. При попытке отсортировать данные стандартным кликом по колонке или через контекстное меню правой кнопки мыши пользователи обнаруживают, что привычные инструменты недоступны.

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

Почему в документе «Табель» заблокирована стандартная интерактивная сортировка?

Для начала давайте выясним причину, по которой разработчики платформы ограничили интерактивную сортировку непосредственно внутри открытого документа Табель. Многие пользователи пытаются нажать правой кнопкой мыши на колонку «Сотрудник» и ожидают увидеть стандартные команды упорядочивания, однако вместо этого получают лишь системные действия: «добавить», «скопировать», «удалить», «переместить вверх» или «переместить вниз».

Такое поведение программы обусловлено сложной многострочной структурой табличной части документа:

  1. Множественность строк на одного человека: В отличие от простых документов, где одна строка строго соответствует одному сотруднику, в документе Табель на одного работника может приходиться несколько строк. Это происходит, если у сотрудника в течение одного расчетного периода сочетаются различные виды времени (например, «Явка», «Ночные часы», «Праздничные», «Работа в выходные дни») или если в базе ведется детализированный учет по территориям и условиям труда.
  2. Логическая группировка данных: Для корректного отображения и редактирования система связывает эти строки в единые смысловые блоки. Если бы платформа разрешила пользователю применить плоскую сортировку «А-Я» по любой из колонок таблицы, эти многострочные блоки разорвались бы. Пустые строки (где ФИО сотрудника не дублируется ради эстетики интерфейса) перемешались бы с заполненными, и целостность данных была бы безвозвратно нарушена.

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

Настройка автоматической сортировки по алфавиту в 1С:ЗУП 3.1

Для того чтобы при нажатии кнопки Заполнить сотрудники сразу выстраивались в строго алфавитном порядке (по фамилии, имени и отчеству), нам необходимо скорректировать глобальные правила упорядочивания документов. Проанализируем, как это сделать по шагам:

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

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

Особенности настройки упорядочивания в 1С:ERP и 1С:Комплексная автоматизация (КА 2)

Если учет ведется в комплексных ERP-решениях, кадровый функционал там практически полностью идентичен программе ЗУП, но структура меню немного отличается. Разберем, где находятся нужные настройки в этих конфигурациях:

  1. Перейдем в раздел Кадры.
  2. Откроем подраздел Настройки и справочники.
  3. Найдем пункт Настройки упорядочивания и печатных форм (в некоторых версиях интерфейса данный пункт может находиться в разделе «НСИ и администрирование» — «Настройка разделов» — «Кадры»).
  4. Точно так же, как и в ЗУП, снимем приоритет с показателей «Подразделение» и «Должность», установив наивысший приоритет для упорядочивания по сотруднику или его имени.
  5. Сохраним изменения. Теперь при формировании табеля в ERP список сотрудников сразу примет корректный алфавитный вид.

Программный способ сортировки табельной части (информация для разработчиков)

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


// Пример программной сортировки строк табеля по сотруднику с сохранением связей
Процедура СортироватьТабельНаСервере(ДокументОбъект)
    
    ТабличнаяЧасть = ДокументОбъект.ДанныеОВремени;
    
    // Для сохранения корректной структуры сначала выгрузим ТЧ в таблицу значений
    ТаблицаДанных = ТабличнаяЧасть.Выгрузить();
    
    // Добавим вспомогательную колонку для сортировки по представлению сотрудника
    ТаблицаДанных.Колонки.Добавить("ФИОСотрудника", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(150)));
    
    Для Каждого СтрокаТЗ Из ТаблицаДанных Цикл
        Если ЗначениеЗаполнено(СтрокаТЗ.Сотрудник) Тогда
            СтрокаТЗ.ФИОСотрудника = СтрокаТЗ.Сотрудник.Наименование;
        КонецЕсли;
    КонецЦикла;
    
    // Сортируем таблицу по представлению сотрудника и дополнительным реквизитам
    ТаблицаДанных.Сортировать("ФИОСотрудника Возр, НомерСтроки Возр");
    
    // Загружаем отсортированные данные обратно в документ
    ТабличнаяЧасть.Загрузить(ТаблицаДанных);
    
КонецПроцедуры

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

Настройка сортировки в отчете «Табель учета рабочего времени (Т-13)»

Часто бывает так, что в самом документе Табель порядок сотрудников не имеет принципиального значения, но при формировании печатного отчета Т-13 для сдачи в архив руководство или бухгалтерия требуют строгого соблюдения алфавитного порядка. В системе компоновки данных (СКД) отчетов 1С настроить это можно очень гибко и без изменения конфигурации. Рассмотрим этот процесс по шагам:

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

Полезный лайфхак для пользователей ЗУП версии КОРП

В крупных организациях с большим объемом кадровых данных разработчики ради оптимизации производительности базы данных иногда отключают стандартную динамическую сортировку списков. Если вы работаете в версии КОРП и обнаружили, что в самом справочнике Сотрудники у вас пропала возможность кликать по заголовкам колонок (например, сортировать по дате приема, должности или табельному номеру), выполните следующее действие:

  1. Перейдите в раздел меню Настройка, затем выберите пункт Кадровый учет.
  2. Найдите и установите флажок напротив опции Использовать в списке сотрудников сортировку и отбор по любым колонкам.
  3. Перезапустите форму списка сотрудников. Полноценная интерактивная сортировка по любой колонке снова станет доступной. Обратите внимание, что на очень крупных базах (свыше 10 000 сотрудников) это может привести к небольшому замедлению открытия справочника, но значительно повысит удобство ежедневной работы.

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

← На главную