При работе в программе 1С:Зарплата и управление персоналом 3.1 (особенно на релизах ветки 3.1.15) пользователи могут столкнуться с критической ошибкой, которая блокирует заполнение ведомостей на выплату зарплаты. Программа выдает сообщение: «Недопустимый способ получения зарплаты к выплате». Эта проблема часто возникает внезапно, даже если до этого начисления и выплаты проходили в штатном режиме.
Рассмотрим детально причины возникновения этой ошибки и разберем пошагово методы её устранения, опираясь на технический анализ модулей системы и опыт решения подобных ситуаций.
Проанализируем стек вызова, который обычно сопровождает данное сообщение. Ошибка инициируется в общем модуле ВзаиморасчетыССотрудникамиБазовый. Система пытается сформировать временную таблицу ЗарплатаКВыплате, но сталкивается с тем, что тип или значение способа выплаты, переданное в параметрах, не соответствует ожидаемым значениям перечисления.
Типичный текст ошибки в журнале регистрации выглядит следующим образом:
{ОбщийМодуль.ВзаиморасчетыССотрудникамиБазовый.Модуль(233)}: ВызватьИсключение(НСтр("ru = 'Недопустимый способ получения зарплаты к выплате.'"));
{ОбщийМодуль.ВзаиморасчетыССотрудникамиРасширенный.Модуль(938)}: ВзаиморасчетыССотрудникамиБазовый.СоздатьВТЗарплатаКВыплате(МенеджерВременныхТаблиц, ТолькоРазрешенные, Параметры, ИмяВТСотрудники)
{ОбщийМодуль.ВедомостьНаВыплатуЗарплаты.Модуль(1241)}: ВзаиморасчетыССотрудниками.СоздатьВТЗарплатаКВыплате(...)
Выясним причину: программа ожидает конкретный способ (через кассу, через банк, через раздатчика), но в данных сотрудника или организации закралась логическая ошибка. Это может быть связано с некорректным обновлением, скрытыми патчами или повреждением ссылочной целостности в регистрах сведений.
В современных версиях 1С реализован механизм автоматической установки патчей (исправлений). Иногда патч, выпущенный для исправления одной ошибки, начинает конфликтовать с логикой нового релиза. Проанализируем список установленных патчей.
EF_... и имеют отношение к выплатам или взаиморасчетам.Чаще всего ошибка кроется в данных конкретных сотрудников, которые попадают в ведомость. Даже если визуально в карточке всё заполнено верно, внутренний идентификатор (индекс) перечисления может быть поврежден.
Рассмотрим алгоритм «лечения» данных:
Важный момент: если ошибка возникает при заполнении ведомости по договорникам (ГПХ), обязательно проверим способ выплаты в документе Договор (работы, услуги) или Авторский заказ. Именно там часто «зависает» неверное значение.
Если в ведомости выбран способ заполнения «По организации», программа обращается к глобальным настройкам. Проанализируем их:
Если вышеуказанные действия не помогли, необходимо заглянуть «под капот» системы. Выясним, нет ли битых ссылок в регистре, отвечающем за способы выплат.
Способы выплаты зарплаты сотрудников.В релизах ветки 3.1.15 была изменена логика работы со способом выплаты «Через раздатчика». Если в вашей базе когда-либо использовался этот механизм, а потом вы от него отказались, в данных могли остаться «хвосты».
Проанализируем ситуацию: если программа при заполнении документа ВедомостьВКассу натыкается на сотрудника, у которого в регистре всё еще числится способ «Через раздатчика», код модуля ВзаиморасчетыССотрудникамиБазовый может выдать исключение, так как этот способ недопустим для текущего типа ведомости.
В таком случае поможет только массовое обновление способа выплаты через обработку «Изменение оплаты сотрудников» или ручной перевыбор способа в карточках всех активных сотрудников.
Ошибка «Недопустимый способ получения зарплаты к выплате» является следствием строгой типизации данных в последних релизах ЗУП 3.1. Для её устранения мы рекомендуем начинать с удаления патчей и перезаписи способа выплаты в карточках организации и сотрудников. В большинстве случаев эти простые действия позволяют восстановить работоспособность программы без привлечения программиста для изменения программного кода.