При работе в программе «1С:Зарплата и кадры бюджетного учреждения 8» (редакция 1.0) расчетчики и бухгалтеры государственных учреждений часто сталкиваются со специфической ошибкой при оформлении увольнения сотрудников. При проведении документа «Расчет при увольнении госслужащего» программа автоматически определяет количество дней неиспользованного отпуска, но при попытке рассчитать сумму начисления выдает критическую ошибку: «Не указано начисление для компенсации за отпуск!». Данная проблема делает невозможным проведение автоматического расчета и существенно тормозит работу кадровой и финансовой служб.
В этой статье мы подробно разберем, почему возникает эта ошибка, почему стандартное ручное создание видов расчета в пользовательском режиме не приносит желаемого результата и какими способами можно навсегда решить эту техническую проблему.
Для корректной работы механизмов расчета денежного содержания государственных гражданских служащих в конфигурации предусмотрена жесткая привязка к системным (предопределенным) видам расчета. В плане видов расчета Основные начисления организаций и Удержания организаций при определенных обновлениях системы должны автоматически инициализироваться следующие элементы:
Основные начисления организаций).Удержания организаций).Основные начисления организаций).Проанализируем механизм обновления конфигурации. Начиная с релиза 1.0.36, в системе присутствует обработчик, который генерирует данные элементы. Однако создание этих элементов происходит только при условии, что в настройках параметров учета на момент обновления базы данных был установлен флаг ведения учета государственной службы. Если база данных была перенесена из версии «1С:Зарплата и Кадры 7.7», либо если флаг госслужбы был включен пользователями уже после проведения обновления конфигурации, процедура создания видов расчета игнорируется. В результате документы увольнения не находят нужных видов расчета в базе данных.
Многие пользователи пытаются обойти проблему самым очевидным путем — зайти в справочник начислений и создать элемент с названием «Компенсация отпуска (сохраняемое денежное содержание)» вручную. Однако при попытке повторного расчета ошибка никуда не исчезает.
Дело в том, что внутренние алгоритмы программных модулей документов 1С ищут виды расчета не по их текстовому наименованию (синониму), а по уникальным системным идентификаторам — GUID предопределенных элементов. В кодовой базе это жесткие ссылки вида ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.КомпенсацияОтпускаСохраняемоеДенежноеСодержание.
Когда вы создаете запись вручную через интерфейс программы, система генерирует для нее новый случайный GUID и помечает элемент как пользовательский. Для алгоритма проведения документа «Расчет при увольнении госслужащего» этот элемент остается абсолютно невидимым, из-за чего программа продолжает сообщать о его отсутствии.
Рассмотрим наиболее быстрый и надежный способ решения проблемы без поиска и скачивания сторонних внешних обработок. Нам потребуется принудительно заставить платформу восстановить отсутствующие предопределенные элементы в информационной базе.
Для выполнения этой операции выполните следующие шаги:
// Восстановление предопределенных записей для основных начислений и удержаний
ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ЗаполнитьПредопределенныеДанные();
ПланыВидовРасчета.УдержанияОрганизаций.ЗаполнитьПредопределенныеДанные();
Если ваша конфигурация работает на старой версии платформы, где данный метод недоступен, мы можем вызвать напрямую экспортную процедуру обновления из общего модуля конфигурации, которая отвечает за генерацию расчетов госслужащих. Код вызова выглядит следующим образом:
// Принудительный вызов процедуры обновления для госслужащих
ПроцедурыОбновленияИнформационнойБазы.СоздатьНачисленияГосслужащих();
После выполнения этого кода система создаст элементы с корректными GUID-идентификаторами, и документ «Расчет при увольнении госслужащего» начнет рассчитываться без ошибок.
Если у вас нет возможности запустить произвольный программный код, мы можем инициировать штатную процедуру заполнения этих данных через настройки программы. Разберем этот процесс по шагам:
/C СтартОбновленияИнформационнойБазыПроанализируем еще одну связанную проблему, с которой часто сталкиваются пользователи при заполнении документов начисления отпусков госслужащим. При попытке выбрать вид отпуска в документе открывается форма списка плана видов расчета Основные начисления организаций, но она оказывается абсолютно пустой, из-за чего документ невозможно провести.
В данном случае проблема кроется в установленных системных отборах формы. Чтобы созданные вами начисления отображались в этом поле, они должны строго соответствовать регламентированному способу расчета. Выполните следующие действия для настройки:
Основные начисления организаций.Установка именно этого регламентированного способа расчета является ключевым критерием для прохождения системного фильтра формы выбора. После сохранения нового начисления оно сразу станет доступным для выбора в документах отпуска государственных служащих.