При обновлении конфигурации Зарплата и управление персоналом на релиз 3.1.23.165 многие пользователи и разработчики столкнулись с ошибкой проведения документа Начисление зарплаты и взносов. Ошибка часто проявляется при выполнении фонового задания ДлительныеОперации.ВыполнитьСКонтекстомКлиента и указывает на невозможность проведения документа из-за выхода индекса за границы диапазона или критических сбоев в модуле менеджера.
Прежде чем приступать к глубокому анализу данных, убедитесь, что в вашу конфигурацию загружены актуальные исправления от фирмы «1С». Одной из наиболее частых причин ошибки является некорректная обработка нулевых значений для районного коэффициента (РК) и северной надбавки (СН) при их отражении в среднем заработке.
Проверьте наличие установленного патча EF_20173568. Данный патч исправляет ситуацию, когда при проведении документа возникала ошибка, если у сотрудника включено отражение РК и СН в среднем заработке, а их значения равны нулю. Если патч не установлен, загрузите его через стандартный механизм «Исправления (патчи)» в разделе «Администрирование».
Поскольку ошибка часто возникает в крупных документах, содержащих тысячи строк, найти конкретного сотрудника «глазами» невозможно. Рассмотрим пошаговый алгоритм поиска проблемного сотрудника:
Начисление зарплаты и взносов.ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение).После того как вы вычислили сотрудника, обратите внимание на следующие параметры его кадровой истории:
УчетСреднегоЗаработка при попытке удаления строк из массива начислений, которые должны быть исключены. Проверьте, нет ли у сотрудника наложений или некорректно оформленных периодов командировок.Текущие кадровые данные сотрудников. Убедитесь, что для данного сотрудника нет дублей записей и все кадровые приказы (прием, кадровый перевод) проведены корректно.Часто проблема кроется не только в коде конфигурации, но и в несовместимости с текущей версией платформы. Релиз 3.1.23.165 и последующие версии 3.1.23.ххх предъявляют специфические требования к версии платформы 1С.
Разберем пример кода, который проверяет допустимость платформы:
Функция ЭтоВерсияЗащищенногоПрограммногоКомплекса(Версия)
Версии = Новый СписокЗначений;
Версии.Добавить("8.3.18.1616");
// Если ваша платформа ниже требуемой, функционал может работать нестабильно
Возврат Версии.НайтиПоЗначению(Версия) <> Неопределено;
КонецФункции
Если вы ограничены в обновлении платформы, обратите внимание, что для корректной работы ЗУП 3.1.23.167 и выше критически важно использовать платформу версии не ниже 8.3.18.1616. В сложных случаях, когда ошибка не лечится патчами, рекомендуется все же рассмотреть обновление до версии платформы 8.3.20.2180, которая показала высокую стабильность при работе с актуальными релизами ЗУП.
Если после проверки данных сотрудника ошибка сохраняется, рекомендуем выполнить следующие действия:
Начисления зарплаты на наличие «мусорных» записей по данному сотруднику.EF_20173568.Помните, что работа в системе 1С — это процесс, требующий внимательного отношения к данным. Анализируйте модули ОбщийМодуль.УчетСреднегоЗаработка и Документ.НачислениеЗарплаты.МодульМенеджера при помощи отладчика, если вышеуказанные способы не привели к решению, так как ошибка может быть скрыта в специфических отраслевых настройках вашей организации.