При переходе с программ старого поколения, таких как 1С:УПП 1.3 или 1С:ЗУП 2.5, на современную 1С:ЗУП 3.1 пользователи часто сталкиваются с изменением привычных механизмов взаимодействия. Одной из самых частых «болей» бухгалтера становится отсутствие автоматических уведомлений о том, что кадровик завел новый документ (например, Командировка или Отпуск), который теперь требует расчета. В этой статье мы разберем, как организовать этот процесс в новой программе, используя как типовые возможности, так и инструменты разработки.
Для начала проанализируем, почему в 1С:ЗУП 3.1 нет тех самых уведомлений, к которым привыкли пользователи УПП. В старых системах кадровый и расчетный документы были разделены: кадровик создавал свой приказ, а бухгалтер на его основании создавал отдельный расчетный документ. В 1С:ЗУП 3.1 используется концепция единого документа. В нем есть кадровые данные (дата, период, сотрудник) и расчетные данные (начисления, НДФЛ, взносы).
Посмотрим на ситуацию глазами системы: когда кадровик записывает документ, он еще не считается «завершенным» для системы учета, пока бухгалтер не нажмет кнопку «Рассчитать» или не проверит автоматический расчет. Рассмотрим подробнее, какие инструменты позволяют отслеживать такие документы без написания программного кода.
Самый простой способ, предусмотренный разработчиками фирмы «1С», — это визуальное выделение. Если документ создан кадровиком, но в нем еще не произведен расчет (или расчет не актуален), он будет выделен в общем журнале жирным шрифтом. Это первый сигнал для бухгалтера: «Меня нужно обработать».
Разберем, как вывести сводную информацию на начальный экран:
Текущие дела или специализированный виджет Нерассчитанные документы.Теперь при каждом входе в программу или нажатии на кнопку «Домой» бухгалтер будет видеть таблицу со всеми документами, которые требуют его внимания. Это исключает необходимость постоянного мониторинга журналов Все кадровые документы или Все начисления.
Проанализируем ситуацию: бухгалтер хочет получать уведомление в момент появления документа. В типовом функционале БСП (Библиотеки стандартных подсистем), встроенном в ЗУП 3.1, есть отличный инструмент — «Напоминания».
Как это работает на практике: кадровик, закончив ввод данных в документ Командировка, нажимает на иконку колокольчика в верхней панели документа. В открывшемся окне можно установить напоминание. К сожалению, штатно пользователь может поставить напоминание только себе. Однако, при небольших настройках прав или использовании расширения, этот механизм можно заставить работать на другого пользователя.
В типовом же варианте бухгалтер может сам установить себе напоминание по конкретному документу или сотруднику, если он знает, что данные должны появиться. Но это не решает вопрос «хочу знать сразу о новом».
Выясним причину, по которой пользователи часто игнорируют «Систему взаимодействия». Это встроенный в платформу 1С:Предприятие 8.3 механизм общения. Если он настроен, пользователи могут вести переписку прямо в контексте документа.
Рассмотрим сценарий работы:
Это максимально приближено к понятию «уведомление», но требует дисциплины от кадровика. Автоматизировать это сообщение без программирования нельзя, но как организационное решение оно работает превосходно.
Если бухгалтеру неудобно заходить в 1С и проверять виджеты, можно настроить «Рассылку отчетов».
Посмотрим на алгоритм настройки:
Расчет выполнен = Ложь.Таким образом, бухгалтер будет получать список «забытых» кадровиками документов прямо на электронную почту.
Если «хотелка» бухгалтера непоколебима («хочу как в УПП»), придется прибегнуть к использованию расширения конфигурации. Это позволит не снимать программу с поддержки и сохранить возможность легкого обновления. Нам необходимо подписаться на событие ПередЗаписью или ПриЗаписи кадровых документов.
Пример логики кода в расширении для отправки уведомления в Систему взаимодействия:
// Пример упрощенного кода для расширения
&После("ПриЗаписи")
Процедура ИТ_ПриЗаписиУведомление(Отказ, ПараметрыЗаписи)
Если ЭтоНовый() Тогда
Возврат; // Нас интересует только когда кадровик уже записал данные
КонецЕсли;
// Проверяем, что документ записан кадровиком (условно)
// И что расчет еще не произведен
Если Не ЭтотОбъект.РасчетВыполнен Тогда
ТекстСообщения = "Введен новый документ: " + Строка(ЭтотОбъект.Ссылка);
// Код для отправки сообщения через СистемуВзаимодействия.СоздатьСообщение()
// Или запись в регистр сведений для последующей обработки
КонецЕсли;
КонецПроцедуры
Использование Системы взаимодействия программным путем — самый современный и технологичный способ. Бухгалтер получит интерактивное окно, клик по которому откроет форму документа.
Мы проанализировали ситуацию и выяснили, что в 1С:ЗУП 3.1 идеология работы сместилась в сторону самостоятельного контроля бухгалтером своих задач через начальную страницу. Однако, если бизнес-процессы компании требуют активного оповещения, мы рекомендуем следующий порядок действий:
Помните, что излишняя автоматизация уведомлений может привести к «информационному шуму», когда бухгалтер перестает реагировать на всплывающие окна из-за их большого количества. Оптимальным решением часто является именно работа с начальной страницей программы.