В процессе работы с программой 1С:Зарплата и управление персоналом 3.1 пользователи часто сталкиваются с ситуацией, когда при грядущей индексации заработной платы необходимо изменить настройки учета начислений для среднего заработка. Одной из наиболее частых проблем является невозможность изменить флажок "При расчете среднего заработка это начисление индексируется" в типовом начислении Доплата за совмещение должностей, исполнение обязанностей. В данной статье мы подробно разберем, почему этот реквизит заблокирован, как его корректно изменить и какие последствия это повлечет для расчета среднего заработка.
Прежде чем переходить к техническим правкам, проанализируем ситуацию с точки зрения законодательства. Программа 1С:ЗУП 3.1 строго следует положениям Постановления Правительства РФ от 24.12.2007 № 922. Согласно пункту 16 данного постановления, при повышении среднего заработка индексации подлежат не все выплаты.
Разберем основные правила:
Для типового назначения начисления Доплата за совмещение должностей, исполнение обязанностей алгоритм зашит в программный код. Если доплата установлена как процент от оклада другого сотрудника или собственного оклада, она фактически "самоиндексируется" при изменении этого оклада. Если же она задана фиксированной суммой, то по закону она индексироваться не должна. Именно поэтому разработчики 1С заблокировали данный реквизит для редактирования в пользовательском режиме.
Если в вашей организации принято решение индексировать (или наоборот, исключить из индексации) данные суммы вопреки типовой логике, рассмотрим технический способ изменения настройки. Для этого нам понадобится стандартная обработка Групповое изменение реквизитов.
Выполним следующие шаги:
Начисления.Доплата за совмещение должностей, исполнение обязанностей.Индексируется и установим нужное значение (Да или Нет).Важно: Программное изменение реквизита в карточке начисления — это только половина дела. Эти изменения не коснутся данных, которые уже записаны в регистры для расчета среднего заработка за прошлые периоды.
После того как мы изменили признак индексации в настройках начисления, необходимо синхронизировать эти данные с регистрами сведений, на основании которых строится расчет среднего заработка (отпуска, командировки и т.д.). Рассмотрим, как это сделать без ручного исправления регистров.
В программе существует специализированная процедура. Перейдем в раздел Зарплата — Сервис — Обновить данные для расчета среднего заработка. Эта обработка выполняет следующие функции:
Данные о начислениях для расчета среднего заработка (общий).Данные для расчета среднего заработка по начислениям.Проанализируем работу этой обработки подробнее. Она "перепроводит" начисления по регистрам среднего заработка. Это означает, что старые записи, где стоял признак Индексируется = Да, будут удалены и заменены на новые, соответствующие текущей настройке начисления.
Риски использования: На больших базах данных эта процедура может выполняться очень долго. Кроме того, если вы ранее вносили ручные корректировки данных для среднего заработка (нажимая на значок "карандаша" в документах), эти правки могут быть потеряны, так как регистры будут перезаписаны по данным первичных документов начисления.
Если объем данных велик и запускать полное обновление среднего заработка нецелесообразно, можно рассмотреть точечное изменение регистров. Однако это требует понимания структуры хранения данных 1С:ЗУП.
Необходимо скорректировать два ключевых регистра:
Регистр накопления "Данные для расчета среднего заработка по начислениям": здесь необходимо найти записи по нужному начислению и заменить измерение Индексируется.Регистр накопления "Данные о начислениях для расчета среднего заработка (общий)": в этом регистре суммы разделяются по признаку индексации. При изменении настройки нужно перебросить суммы из одной строки (где Индексируется = Истина) в другую (где Индексируется = Ложь).Посмотрим на пример логики изменения данных в регистрах:
// Пример логики обновления регистра (схематично)
НаборЗаписей = РегистрыНакопления.ДанныеОНачисленияхДляРасчетаСреднегоЗаработкаОбщий.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(ДокументНачисления);
НаборЗаписей.Прочитать();
Для Каждого Запись Из НаборЗаписей Цикл
Если Запись.Начисление = СсылкаНаСовмещение Тогда
Запись.Индексируется = Ложь; // Устанавливаем новое значение
КонецЕсли;
КонецЦикла;
НаборЗаписей.Записать();
Этот путь является трудоемким и рискованным, поэтому рекомендуется использовать типовую обработку обновления данных, описанную в Способе 2.
Если вы хотите избежать программного "взлома" настроек и потенциальных проблем при будущих обновлениях конфигурации, разберем более корректный с точки зрения архитектуры программы метод:
Замена начислений или документа Изменение плановых начислений заменим старое начисление на новое у всех сотрудников.Этот метод гарантирует, что при следующем обновлении 1С:ЗУП ваши настройки не "слетят", так как вы используете пользовательское начисление с доступными настройками, а не правите типовые объекты "под капотом".
Подводя итог, отметим: если вам необходимо убрать индексацию доплат за совмещение, самым быстрым способом будет связка "Групповое изменение реквизитов" + "Обновить данные для расчета среднего заработка". Однако, если вы заботитесь о долгосрочной стабильности базы и соблюдении методологии 1С, лучше рассмотреть создание нового начисления с назначением "Прочие выплаты".
Не забывайте также проверить настройки Совокупной тарифной ставки (Настройка — Расчет зарплаты). Если доплата за совмещение входит в ее состав, это может влиять на расчет коэффициента индексации в документах Индексация заработка. Тщательно анализируйте последствия каждого изменения, так как средний заработок — один из самых чувствительных участков учета.