Как исправить ошибку «Недопустимый способ получения зарплаты к выплате» в 1С:ЗУП 3.1

Программист 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом
← На главную

При работе в программе 1С:Зарплата и управление персоналом 3.1 (особенно на релизах ветки 3.1.15) пользователи могут столкнуться с критической ошибкой, которая блокирует заполнение ведомостей на выплату зарплаты. Программа выдает сообщение: «Недопустимый способ получения зарплаты к выплате». Эта проблема часто возникает внезапно, даже если до этого начисления и выплаты проходили в штатном режиме.

Рассмотрим детально причины возникновения этой ошибки и разберем пошагово методы её устранения, опираясь на технический анализ модулей системы и опыт решения подобных ситуаций.

Анализ технической причины ошибки

Проанализируем стек вызова, который обычно сопровождает данное сообщение. Ошибка инициируется в общем модуле ВзаиморасчетыССотрудникамиБазовый. Система пытается сформировать временную таблицу ЗарплатаКВыплате, но сталкивается с тем, что тип или значение способа выплаты, переданное в параметрах, не соответствует ожидаемым значениям перечисления.

Типичный текст ошибки в журнале регистрации выглядит следующим образом:


{ОбщийМодуль.ВзаиморасчетыССотрудникамиБазовый.Модуль(233)}: ВызватьИсключение(НСтр("ru = 'Недопустимый способ получения зарплаты к выплате.'"));    
{ОбщийМодуль.ВзаиморасчетыССотрудникамиРасширенный.Модуль(938)}: ВзаиморасчетыССотрудникамиБазовый.СоздатьВТЗарплатаКВыплате(МенеджерВременныхТаблиц, ТолькоРазрешенные, Параметры, ИмяВТСотрудники)
{ОбщийМодуль.ВедомостьНаВыплатуЗарплаты.Модуль(1241)}: ВзаиморасчетыССотрудниками.СоздатьВТЗарплатаКВыплате(...)

Выясним причину: программа ожидает конкретный способ (через кассу, через банк, через раздатчика), но в данных сотрудника или организации закралась логическая ошибка. Это может быть связано с некорректным обновлением, скрытыми патчами или повреждением ссылочной целостности в регистрах сведений.

Решение 1: Проверка и удаление конфликтующих патчей (исправлений)

В современных версиях 1С реализован механизм автоматической установки патчей (исправлений). Иногда патч, выпущенный для исправления одной ошибки, начинает конфликтовать с логикой нового релиза. Проанализируем список установленных патчей.

  1. Перейдем в раздел Администрирование — Обслуживание.
  2. Развернем подраздел Обновление программы и выберем пункт Установленные исправления (патчи).
  3. В открывшемся списке найдем исправления, которые начинаются на EF_... и имеют отношение к выплатам или взаиморасчетам.
  4. Попробуем поочередно удалить последние установленные патчи и проверить работоспособность ведомости. Часто именно удаление старых патчей после перехода на новый релиз (например, с 3.1.15.40 на 3.1.15.67) решает проблему.

Решение 2: Перевыбор способа выплаты в карточке сотрудника

Чаще всего ошибка кроется в данных конкретных сотрудников, которые попадают в ведомость. Даже если визуально в карточке всё заполнено верно, внутренний идентификатор (индекс) перечисления может быть поврежден.

Рассмотрим алгоритм «лечения» данных:

  1. Откроем справочник Сотрудники.
  2. Перейдем по ссылке Выплаты, учет затрат.
  3. Обратим внимание на поле Выплата. Если там выбрано «Как всем», необходимо проверить настройки в карточке организации.
  4. Если выбран индивидуальный способ (например, «Зачислением на карточку» или «Через кассу»), попробуем изменить его на любой другой, сохранить карточку, а затем вернуть исходное значение.

Важный момент: если ошибка возникает при заполнении ведомости по договорникам (ГПХ), обязательно проверим способ выплаты в документе Договор (работы, услуги) или Авторский заказ. Именно там часто «зависает» неверное значение.

Решение 3: Проверка настроек организации

Если в ведомости выбран способ заполнения «По организации», программа обращается к глобальным настройкам. Проанализируем их:

  1. Откроем карточку Организации.
  2. Перейдем на вкладку Учетная политика и другие настройки.
  3. Выберем ссылку Бухучет и выплата зарплаты.
  4. На закладке Выплата зарплаты проверим способ выплаты. Даже если он заполнен, выполним процедуру перевыбора (выбрать другое значение — сохранить — вернуть старое — сохранить). Это принудительно обновит записи в соответствующих регистрах сведений.

Решение 4: Работа с регистрами сведений (для продвинутых пользователей)

Если вышеуказанные действия не помогли, необходимо заглянуть «под капот» системы. Выясним, нет ли битых ссылок в регистре, отвечающем за способы выплат.

  1. Воспользуемся меню Функции для технического специалиста (ранее «Все функции»).
  2. Найдем регистр сведений Способы выплаты зарплаты сотрудников.
  3. Проанализируем записи по сотрудникам, которые вызывают ошибку. Если мы видим пустые значения в колонке «Способ выплаты» или надписи типа «Объект не найден», такие записи необходимо удалить или скорректировать.

Решение 5: Особенности работы с «Раздатчиками»

В релизах ветки 3.1.15 была изменена логика работы со способом выплаты «Через раздатчика». Если в вашей базе когда-либо использовался этот механизм, а потом вы от него отказались, в данных могли остаться «хвосты».

Проанализируем ситуацию: если программа при заполнении документа ВедомостьВКассу натыкается на сотрудника, у которого в регистре всё еще числится способ «Через раздатчика», код модуля ВзаиморасчетыССотрудникамиБазовый может выдать исключение, так как этот способ недопустим для текущего типа ведомости.

В таком случае поможет только массовое обновление способа выплаты через обработку «Изменение оплаты сотрудников» или ручной перевыбор способа в карточках всех активных сотрудников.

Заключение

Ошибка «Недопустимый способ получения зарплаты к выплате» является следствием строгой типизации данных в последних релизах ЗУП 3.1. Для её устранения мы рекомендуем начинать с удаления патчей и перезаписи способа выплаты в карточках организации и сотрудников. В большинстве случаев эти простые действия позволяют восстановить работоспособность программы без привлечения программиста для изменения программного кода.

← На главную