Вариант прототипа новой методики учета периодических возвратных регистров сведений для будущей редакции ЗУП

02.12.25

Разработка - Математика и алгоритмы

Разработанный и предложенный автором прототип новой методики учета периодических возвратных регистров сведений для будущей редакции ЗУП.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Выгрузка 1С ИБ с примером реализации прототипа
.dt 107,33Kb
3 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

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

О чем статья

В конфигурациях 1С: ЗУП одна из ключевых проблем – эффективная реализация архитектуры периодических возвратных регистров сведений таких как «Кадровая история сотрудников», «Плановые начисления», «Состояния сотрудников» и т.д.

В ЗУП 2.5 программисту вручную приходилось реализовывать все особенности учета этих регистров. В ЗУП 3 ситуацию улучшили специализированным программным интерфейсом и механизмом представлений, которые стандартизируют и реализовывают все особенности учета этих регистров. Но данная архитектура стала своего рода шифровальная машина «Энигма» для избранных, повышая порог вхождения в разработку конфигурации ЗУП.

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

 

Основные проблемы в учете периодических данных:

  1. Учет возвратных событий.
    На примере регистра «Кадровая история сотрудников»: сотрудник с 01 января занимал должность «Программист». С 15 января по 25 января его временно перевели на должность «Старший программист», пока его коллега был в отпуске. Проблема получения информации об актуальной должности на 10, 20 и на 31 января и проблема получения интервалов действия должностей с 01 по 31 января.

  2. Вытеснение приоритетными интервалами, пересекающих интервалы других регистраторов.
    На примере регистра «Состояния сотрудников»: сотрудник с 01 января в состоянии «Работает». С 15 января по 25 января он берет отпуск и находится в состоянии «Отпуск». Однако 20 января он заболел и болел до 30 января, то есть находился в состоянии «Больничный». Проблема получения информации об актуальном состоянии на 10, 17, 23, 27 и 31 января и проблема получения интервалов действия состояний с 01 по 31 января.

 

Преимущества новой методики.

Преимущества данной методики по сравнению с текущей в ЗУП 3:

  1. От разработчика не требуются глубокие познания работы текущего программного интерфейса ЗУП_3, который практически не задокументирован. Низкий порог вхождения в проекты. Меньше ошибок при разработке задач, меньше времени на реализацию задач. Вероятность успешного внедрения выше.

  2. Отсутствие сложного перегруженного программного интерфейса. Вся работа сводится к простым запросам

  3. Отсутствие механизма представлений в СКД. Отчеты на СКД разрабатывать и отлаживать проще.

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

  5. Легко внедрить новый нетиповой интервальный регистр.

  6. По сути, вся учетная работа ведется с обычным периодическим регистром сведений без возвратных событий и без вытеснения, как например с РС «ФИО физических лиц». При этом проблема возвратных событий и вытеснений конкурентных интервалов решена.

  7. Гибкая система настройки приоритетов интервалов разных типов регистраторов

 

Концепция.

Основные принципы и особенности методики:

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

  2. Учет периодических данных строится на двух регистрах:

а) Системный регистр. Непериодический. Подчинен регистратору.

Имеет имя <УчетноеИмя>Регистрация. (Пример «ПлановыеНачисленияРегистрация»)

Имеет следующую структуру:

Измерения:

ДатаНачала

ДатаОкончания

РегистраторИзмерение

<УчетноеИзмерение1….N>

Ресурсы:

ПустойИнтервал

<УчетныйРесурс1….N>

б) Учетный регистр. Периодический (в пределах дня). Независимый.

Имеет имя <УчетноеИмя>. (Пример «ПлановыеНачисления»)

Имеет следующую структуру:

Измерения:

<УчетноеИзмерение1….N>

Ресурсы:

ПустойИнтервал

<УчетныйРесурс1….N>

  1. В системном регистре ДатаНачала и ДатаОкончания имеют тип Дата без времени. То есть никаких секунд. Периодичность интервалов – в пределах дня

  2. В системном регистре ДатаОкончания – всегда заполнена. Если событие не имеет завершения, то ДатаОкончания = 31.12.3999. Таким образом всегда ДатаНачала <= ДатаОкончания. Никаких проверок на незаполненность ДатаОкончания. Все интервалы правильные с точки зрения логики и имеют всегда границы с обеих сторон.

  3. В системном регистре ДатаОкончания – это последний день действия интервала. Пример интервал Надбавки в регистре 02.06.2024 – 08.06.2024, значит 08.06.2024 – это последний день действия надбавки

  4. В учетном регистре хранятся сведения о датах начала смены состояния данных, с учетом возвратных событий и вытеснений

  5. Приоритеты конкурирующих интервалов определяются по типу регистратора в специальном регистре «ПриоритетыРегистраторов». Приоритет двух интервалов регистраторов, имеющих один тип, определяется датой регистратора – чем позже, тем приоритет выше.

  6. При проведении, перепроведении и отмене проведения регистратор делает запись в системный регистр. При этом системный регистр при записи своего интервала делает перерасчет дат начала смены состояния данных в учетном регистре в пределах своего интервала (точнее с ДатаНачала-1день по ДатаОкончания+1день). За пределами своего интервала делать перерасчет нет необходимости. Перерасчет делается с учетом всех конкурирующих интервалов согласно приоритету их регистраторов-владельцев

  7. Прилагается конфигурация-пример, в которой воспроизведена данная методика. Тестирование проводилось на платформе 1С 8.3.27.1719. Рассмотрен случай с плановыми начислениями, чтобы учесть ситуацию с несколькими учетными измерениями (Сотрудник+Начисление). Перерасчет учетного регистра можно найти в модуле набора записей ПлановыеНачисленияРегистрация

  8. В конфигурации-примере также разработаны элементарные отчеты чтобы показать получение данных из учетного регистра в двух распространенных режимах: а) получение данных на заданную дату; б) получение данных за указанный период.

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

ЗУП прототип возвратные регистры архитектура будущая редакция

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

10000 руб.

02.09.2020    269031    1497    422    

1180

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.

24900 руб.

20.08.2024    75462    381    170    

326

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    40320    115    54    

127

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    64223    130    36    

139

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Программист Бизнес-аналитик Руководитель проекта 1С 8.3 Платные (руб)

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

14000 руб.

17.04.2026    9112    39    50    

54

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

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

17000 руб.

10.11.2023    26517    98    46    

104

Информационная безопасность Инструменты администратора БД Инструментарий разработчика Учет документов Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С 8.5 Розничная и сетевая торговля (FMCG) Платные (руб)

Контроль ввода данных в 1С: проверка заполнения реквизитов, обязательные поля, контроль перед записью и проведением, запрет проведения документа. Позволяет настраивать любые проверки данных в 1С 8.3/8.5 от обязательных полей до сложных условий – без открытия конфигуратора и написания кода. Готовое расширение, которое подключается и работает сразу.

6000 руб.

15.04.2026    2704    6    0    

21

Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки. 1.3.11 Доработан механизм контекстной подсказки по метаданным

9500 руб.

17.05.2024    54899    188    63    

220
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ixijixi 2159 02.12.25 08:54 Сейчас в теме
А чем это отличается от текущей структуры регистров ЗУПа? Точно так же есть системный регистр, и интервальный. Плюсом есть еще регистр исправлений.
Прикрепленные файлы:
2. ZigRinat85 57 02.12.25 13:09 Сейчас в теме
(1) в данной концепции учетный регистр не является интервальным. Он имеет только поле Период. И к нему можно обращаться в запросах напрямую, виртуальная таблица СрезПоследних всегда вернет корректное значение.
Прикрепленные файлы:
3. TMV 1 08.12.25 14:01 Сейчас в теме
(2) по опыту работы подход с использованием среза на дату работает значительно хуже подхода с интервальными регистрами
4. ZigRinat85 57 08.12.25 14:04 Сейчас в теме
(3) можете предложить конкретный пример ситуации для анализа?
Для отправки сообщения требуется регистрация/авторизация