Описание проекта
Крупная федеральная розничная сеть обратилась с задачей, связанной с переходом на новую методологию расчета мотивации. Формулы премирования изменились, а существующие механизмы в 1С — и типовые, и ранее доработанные — перестали соответствовать требованиям. Поэтому часть расчетов пришлось перенести в Excel, но из-за большого объема — более тысячи сотрудников и десятки видов начислений — процесс стал долгим и уязвимым к ошибкам.
Команда «Ателье информационных систем» подключилась, когда заказчик решил привести расчет мотивации к единому механизму и снять нагрузку с бухгалтерии. Наша задача заключалась в том, чтобы собрать разрозненную логику в один инструмент, оптимизировать структуру данных, ускорить расчеты и обеспечить стабильную работу системы в зарплатные периоды.
В результате заказчик получил инструмент, который позволяет рассчитывать мотивацию в рабочем режиме без ручной работы в Excel и укладываться в рамки зарплатного периода даже при большом объеме данных.
Цель проекта
Создать единый механизм расчета мотивации, который позволит компании оперативно и без лишних ручных действий формировать премии для сотрудников магазинов. Инструмент должен учитывать логику разных видов начислений, данные из нескольких подсистем и показатели KPI.
Задачи проекта
1. Разработка общей модели расчета. Собрать логику премий в единую структуру, где каждый вид начисления учитывает свои показатели, ограничения и связи с данными из других подсистем. При этом модель должна быть гибкой, чтобы она могла работать и с регулярными премиями, и с разовыми выплатами, и с показателями, которые зависят от конкретного магазина (например, районных коэффициентов).
2. Интеграция с существующими подсистемами. Обеспечить корректный автоматический обмен данными по планам продаж, KPI, табелю, информации о сотрудниках и показателях магазинов.
3. Оптимизация алгоритма расчета и ускорение обработки данных. Упростить вычисления, сократить количество обращений к базе, внедрить параллельные потоки там, где объем данных значительный.
4. Реализация механизмов контроля и проверки данных. Добавить подсказки, проверки и статусы, которые помогут бухгалтерам видеть, какие данные готовы к расчету, а какие требуют внимания.
5. Поддержка ручной корректировки. Предусмотреть возможность точечной корректировки результатов расчета и сохранения истории изменений.
Ситуация до внедрения
До начала проекта у заказчика существовали механизмы расчета премий, но формулы не отражали реальных правил, использовались нетиповые документы, а отдельные показатели приходилось считать вручную. Поэтому расчет мотивации перенесли в Excel, но ситуация усложнялась количеством параметров: в расчет входило 19 видов премий — каждый вид предполагал собственный набор условий. При этом премии распределялись среди тысяч сотрудников, работающих в 900 подразделениях. Документы в системе формировались в разрезе премий, поэтому итоговый набор насчитывал около 19 000 документов за период. Их обработка занимала примерно 24 часа, что влияло на график закрытия зарплат — бухгалтерия не успевала провести расчеты в нужные сроки. При этом всегда присутствовал риск ошибок при ручном вводе.
Такой подход стал узким местом зарплатной кампании. Возникла необходимость оптимизации, чтобы время выполнения укладывалось в рабочие процессы компании.
Реализация проекта
Работа над задачей началась с построения новой логики расчета премий и разработки отдельного документа, который будет выполнять его по правилам заказчика. Мы двигались поэтапно: от постановки алгоритмов до их встраивания в архитектуру зарплатного контура и оптимизации производительности.
Этап 1. Новый документ и логика расчета
Был разработан документ, который выполняет расчет 19 видов премий по подразделениям и должностям. В нем были реализованы:
- обновленные формулы и коэффициенты;
- бизнес-логика расчета по подразделениям и должностям;
- механизм пересчетов (включая НДФЛ и зависимые начисления);
- режим межрасчетного расчета, так как заказчику было важно, чтобы премии можно было считать не только в рамках зарплатного документа.
При этом документ можно создавать двумя способами:
- Вручную: сотрудник выбирает подразделение, период, виды расчета и запускает алгоритм.
- Автоматический: через регламентное задание с расписанием, периодом и набором подразделений. Такой запуск автономен: документы создаются без участия пользователя.
Этап 2. Данные и служебная инфраструктура
Чтобы расчеты были корректны, системе требовался набор входных данных: KPI, показатели товарооборота, переработки, проценты премий и прочие показатели. Для этого мы:
- разработали регистры сведений для хранения KPI и служебной информации;
- настроили загрузку исходных данных из Excel;
- обеспечили интеграцию со сторонними системами (например, загрузку переработок из Verme).
Этап 3. Интеграция в зарплатный контур 1С
Технически сложной частью стал процесс встраивания нового документа в типовой механизм расчета зарплаты так, чтобы не нарушить работу других начислений.
Нужно было добиться:
- корректного взаимодействия с НДФЛ — система не должна была повторно пересчитывать налог или пропускать суммы;
- предотвращения двойных начислений при последовательности «премия → зарплата → перерасчет»;
- совместимости с зависимыми начислениями, которые используют данные премий (например, процентные начисления или районные коэффициенты);
- необходимости корректной обработки межрасчетных периодов, чтобы документ мог работать автономно, без привязки к зарплате;
- встроенности в типовые проверки, чтобы пользователь не получал противоречивых предупреждений.
Фактически, новый документ должен был «вести себя» как типовой, но при этом оставаться независимым.
Этап 4. Оптимизация скорости
Первый рабочий вариант системы корректно выполнял расчеты, но занимал около 10 часов. Для заказчика это всё равно было долго, поэтому мы провели оптимизацию по нескольким направлениям:
- изменили алгоритм: начали формировать документы по подразделениям, сократив их количество с ~19 000 до ~1 000;
- переработали код, убрав узкие места в запросах и усложненных вычислениях;
- смоделировали параллельный ввод документов — система начала работать в 8 потоков;
- перенесли часть операций в фоновые механизмы платформы.
В результате время сократился примерно до 1 часа, что укладывалось в пожелания заказчика.
Этап 5. Контроль и проверка
Чтобы итоговые данные можно было оперативно сверять, мы добавили отчеты и инструменты контроля: сравнение результатов, отслеживание ошибок загрузки, проверки корректности расчетных значений.
Результаты проекта
Мы реализовали механизм расчета премий, который работает значительно быстрее прежнего процесса и может устойчиво справляться с нагрузками, характерными для крупной структуры. Новый подход позволил перенести расчет мотивации из разрозненных Excel-файлов в управляемый инструмент внутри 1С, что снижает вероятность ошибок и делает процесс начисления более прозрачными для руководителей подразделений и сотрудников, участвующих в проверке данных.
Оптимизированная архитектура, параллельная обработка и переработанный алгоритм формирования документов обеспечивают стабильное выполнение расчета в ограниченные сроки. Это создает фундамент для дальнейшего развития системы мотивации: адаптации формул, расширения видов премий, внедрения новых правил и корректировок без существенной нагрузки на IT-контур.
Проект показал, что даже при сложной интеграции с типовыми механизмами 1С можно выстроить решение, которое сочетает скорость, предсказуемость и совместимость с другими процессами. Такой результат открывает возможности для масштабирования модели на новые сценарии и постепенного расширения автоматизации расчетов.