Использование подписки на события для управления периодом записей в регистрах сведений (на примере ЗУП)

03.03.26

Разработка - Механизмы типовых конфигураций

Как в ЗУП работает механизм расстановки времени в регистрах сведений с помощью подписки на события?Рассматривается логика сдвигов для разных типов документов (прием, увольнение, отпуск) и дается инструкция по подключению нового регистра к этому механизму.

При работе с типовой конфигурацией «Зарплата и Управление Персоналом» можно обратить внимание на особенности заполнения периода в регистрах сведений. Например, в регистре «Кадровая история сотрудников» записи, созданные разными документами, имеют одинаковую дату, но разное время в пределах суток: прием на работу – 00:00:20, увольнение – 00:00:05, отпуск – 23:59:50. Это обеспечивает корректную хронологию событий и позволяет системе однозначно определять последовательность операций.

 

 

Данный механизм реализован с помощью подписки на события – объекта конфигурации, который позволяет назначить общий обработчик для определенных событий объектов метаданных. В данном случае используется подписка «УстановитьСдвигПериодаРегистраСПериодичностьюСекунда».

Для чего это нужно

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

Как работает подписка (общий принцип)

Обработчик подписки представляет собой экспортируемую процедуру общего модуля. В конфигурации ЗУП эту роль выполняет процедура ЗарплатаКадрыРасширенныйСобытия.УстановитьСдвигПериодаРегистраСПериодичностьюСекунда.

При попытке записи набора записей в регистр, который является источником для данной подписки, выполняется следующий алгоритм:

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

Добавление собственного регистра в механизм

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

 

 

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

Вступайте в нашу телеграмм-группу Инфостарт

подписка на события регистр сведений период сдвиг периода ЗУП регистраторы обработчик новичок

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

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Инструментарий разработчика Механизмы типовых конфигураций Разработчик 1С 8.5 1С:Управление нашей фирмой 3.0 Абонемент ($m)

Кто ссылается на этот справочник, на что ссылается документ и какие регистры он двигает — обработка показывает это схемой прямо в базе. Выбранный объект — в центре, слева — кто ссылается на него, справа — на что ссылается он, под схемой — через какой реквизит; щелчок по соседу делает центром его. Много соседей — группы по видам, связи через составные типы — пунктиром и отключаются флажком. Для документации схему можно взять текстом PlantUML или сохранить файлом HTML вместе с таблицей связей. В статье я разбираю код: связи по типам реквизитов, движениям и владельцам, временное хранилище формы, схему в поле HTML и щелчок по узлу.

2 стартмани

30.09.2026    808    17    Petr_32    2    

6

Механизмы типовых конфигураций Разработчик 1С:Предприятие 8 Абонемент ($m)

Использование переопределяемых процедур в 1С на управляемых формах.

1 стартмани

01.09.2026    4241    waider    3    

15

Механизмы типовых конфигураций Разработчик 1С:Предприятие 8 1С:Управление торговлей 11 Россия Бесплатно (free)

С 1 сентября компании с выручкой от 120 миллионов обязаны принимать цифровой рубль, за отказ — штраф до 50 тысяч за каждый случай. Я снял выгрузку с актуального релиза «Управления торговлей» и пошёл смотреть, где это включается. Оказалось, что казначейский контур в типовой сделан подробно, а кассового нет вообще — и это не забывчивость, а решение, записанное в конфигурации прямым текстом.

31.08.2026    2364    G_100802897175107255412    6    

5

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Разработчик 1С 8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

Данное расширение — это механизм, сделанный при помощи двух модулей из БСП (3.1.11.415), который позволяет динамически добавлять команды (кнопки и не только при желании) на формы управляемого приложения без изменения конфигурации. На примере данного механизма удобно рассмотреть некоторые возможности для расширения функционала объектов, которые подключены к механизму библиотеки стандартных подсистем.

1 стартмани

20.03.2026    5321    InFlach    0    

6

Механизмы типовых конфигураций Разработчик Стажер 1С 8.3 1С:Зарплата и Управление Персоналом 3.x Бесплатно (free)

Интервальные регистры в 1С:ЗУП 3.1 заменяют тяжелые срезы последних, ускоряя отчеты по кадровым данным через интервалы ДатаНачала–ДатаОкончания. Разбираем отличия, примеры кода, плюсы и способы синхронизации.

12.03.2026    7144    AlexeyPROSTO_1C    5    

21
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mefalcon 41 04.03.26 08:56 Сейчас в теме
Добрый день. Идея классная.
Было бы еще круче, если управлять последовательностью можно было бы из Предприятие, т.е. сделав настройку через универсальные константы (пример констант на базе РС https://infostart.ru/1c/tools/2016868/?ysclid=mmbmhxx6y393236021)
Для отправки сообщения требуется регистрация/авторизация