Как продолжить нумерацию табельных номеров в 1С:ЗУП 3 после переноса данных из ЗУП 2.5?

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

При переходе с конфигурации «Зарплата и Управление Персоналом» редакции 2.5 на редакцию 3.1 кадровики и бухгалтеры часто сталкиваются с ситуацией, когда автонумерация табельных номеров начинается с единицы (например, ПР00-00001), несмотря на то что в перенесенной базе уже существуют сотрудники с номерами вида д000000063.

Рассмотрим подробно, почему платформа 1С так себя ведет, как устроена система префиксов и какими способами можно восстановить или настроить желаемый порядок нумерации.

Выясним причину поведения нумератора

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

В конфигурациях, использующих Библиотеку Стандартных Подсистем (БСП), префикс формируется по следующей маске:

[ПрефиксОрганизации][ПрефиксИнформационнойБазы]-

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


Процедура УстановитьПрефикс(Источник, Префикс, УстановитьПрефиксИнформационнойБазы, УстановитьПрефиксОрганизации)
    
    ПрефиксИнформационнойБазы = "";
    ПрефиксОрганизации        = "";
    
    Если УстановитьПрефиксИнформационнойБазы Тогда
        ПриОпределенииПрефиксаИнформационнойБазы(ПрефиксИнформационнойБазы);
        ДополнитьСтрокуНулямиСлева(ПрефиксИнформационнойБазы, 2);
    КонецЕсли;
    
    Если УстановитьПрефиксОрганизации Тогда
        Если РеквизитОрганизацияДоступен(Источник) Тогда
            ПриОпределенииПрефиксаОрганизации(
                Источник[ИмяРеквизитаОрганизация(Источник.Метаданные())], ПрефиксОрганизации);
            Если ПрефиксОрганизации = Ложь Тогда
                ПрефиксОрганизации = "";
            КонецЕсли;
        КонецЕсли;
        ДополнитьСтрокуНулямиСлева(ПрефиксОрганизации, 2);
    КонецЕсли;
    
    ШаблонПрефикса = "[ОР][ИБ]-[Префикс]";
    ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[ОР]", ПрефиксОрганизации);
    ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[ИБ]", ПрефиксИнформационнойБазы);
    ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[Префикс]", Префикс);
    
    Префикс = ШаблонПрефикса;
    
КонецПроцедуры

Так как в базе еще нет ни одного сотрудника с префиксом ПР00-, автонумератор платформы берет начальное значение и создает номер ПР00-00001. Старые номера из ЗУП 2.5 (например, д000000063, где префикс д исторически использовался для договоров ГПХ или переноса) имеют другой префикс и структуру без дефиса, поэтому платформа их просто "не видит" при поиске последнего номера.

Способ 1. Продолжение нумерации с новым префиксом системы

Если использование стандартного префикса организации (например, ПР00-) является приемлемым, достаточно один раз задать нужный порядковый номер вручную при создании элемента.

  1. Создадим нового сотрудника.
  2. В поле «Табельный номер» вручную введем номер, следующий за последним историческим, сохраняя префикс системы: например, ПР00-00064.
  3. Запишем сотрудника.

При создании каждого последующего сотрудника платформа считает номер ПР00-00064 как максимальный для данного префикса и автоматически присвоит следующий: ПР00-00065, ПР00-00066 и так далее.

Способ 2. Приведение старых номеров к единому формату (Перенумерация)

Для сохранения единого порядка в справочнике сотрудников разберем вариант с перенумерацией исторических записей.

  1. С помощью типовой обработки «Групповое изменение реквизитов» или специальной обработки перенумерации заменим у перенесенных сотрудников префиксы д0000000XX на стандартный формат программы (например, ПР00-000XX).
  2. Убедимся, что последний сотрудник получил номер ПР00-00063.
  3. После этого новые сотрудники начнут автоматически получать номера ПР00-00064, ПР00-00065.

Способ 3. Сохранение пользовательского префикса через расширение

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

  1. Добавим расширение для конфигурации 1С:ЗУП 3.
  2. Переопределим обработчик подписки на событие ПриУстановкеНовогоКода для справочника Сотрудники.
  3. Принудительно зададим значение параметра Префикс = "д".

В этом случае платформа при создании объекта будет искать элементы с префиксом д, найдет элемент д000000063 и назначит следующему сотруднику номер д000000064.

Настройка отображения номеров в кадровых приказах

Наличие префиксов вроде ПР00- в интерфейсе программы не означает, что они должны попадать в печатные формы (приказы о приеме, переводе и т.д.).

Разберем, как отключить вывод префиксов на печать:

  1. Перейдем в раздел «Настройки» — «Дополнительные настройки».
  2. Установим флаг «Удалять префиксы организации и ИБ из номеров кадровых приказов».

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

← На главную