Где в 1С:ЗУП 3.0 и ERP изменить минимальный размер пособия по уходу за ребенком?

Программист 1С:Зарплата и Управление Персоналом
← На главную

При изменении законодательства пользователи часто сталкиваются с тем, что в старых версиях программ (например, 1С:ЗУП 3.0 или ERP ранних редакций) размеры пособий не обновляются автоматически. Это происходит, если конфигурация снята с поддержки или не обновляется вовремя. Рассмотрим подробно, где хранятся эти данные и какими способами можно внести изменения, если стандартный интерфейс блокирует редактирование.

Регистр «Размеры государственных пособий»

Все ключевые цифры по государственным пособиям в 1С:ЗУП 3.0 и ERP хранятся в специализированном регистре сведений. Проанализируем, как его найти. Разберем ситуацию: вам необходимо изменить минимальный порог пособия по уходу за первым ребенком. Основным источником данных является регистр РазмерыГосударственныхПособий. В нормальной ситуации он заполняется автоматически при обновлении программы или через интернет-поддержку.

Чтобы найти этот регистр вручную, выполним следующие действия:

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

Здесь хранятся записи с привязкой к дате (периоду). Однако часто пользователи обнаруживают, что записи в этом регистре имеют свойство «Только просмотр», и кнопка изменения неактивна.

Способ 1: Использование формы «Законодательные значения»

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

Эта форма позволяет переопределять значения, которые заблокированы в самих регистрах. Если нужный показатель (например, минимальный размер пособия) доступен в списке, мы можем создать новую строку с нужной датой (например, с 01.02.2017) и указать актуальную сумму. Система при расчете будет отдавать приоритет значениям, введенным вручную в этой форме.

Способ 2: Групповое изменение реквизитов

Если форма законодательных значений не помогает, а регистр закрыт, воспользуемся стандартной обработкой «Групповое изменение реквизитов». Это позволит обойти ограничение интерфейса на редактирование. Разберем этот метод по шагам:

  1. Откроем «Функции для технического специалиста» и найдем в разделе «Обработки» пункт «Групповое изменение реквизитов».
  2. В поле «Выбирать элементы типа» укажем наш регистр Размеры государственных пособий.
  3. Нажмем кнопку «Дополнительные параметры» и установим флаги «Показывать служебные реквизиты» и «Редактировать в режиме записи».
  4. Это позволит нам либо изменить существующую запись, либо (при определенных навыках) создать условия для корректировки записей напрямую. Внимание: данный способ требует осторожности, так как он вносит изменения в обход проверок конфигурации.

Способ 3: Программная запись в регистр

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

Пример кода для программного добавления записи:


МенеджерЗаписи = РегистрыСведений.РазмерыГосударственныхПособий.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Период = '20170201'; // Дата вступления изменений в силу
МенеджерЗаписи.ВидПособия = Перечисления.ВидыГосударственныхПособий.ПособиеПоУходуДоПолутораЛет;
МенеджерЗаписи.Размер = 3000; // Новое значение минимума
МенеджерЗаписи.Записать();

Такой код можно выполнить через консоль кода или создав простую внешнюю обработку. Это гарантированно добавит запись в базу данных.

Проблема округления и точности (тысячные доли)

Рассмотрим ситуацию, упомянутую в обсуждении: при переносе данных из версии 2.5 показатели могут иметь три знака после запятой (например, 9.999), а ЗУП 3.0 округляет их до двух (9.99). Проанализируем ситуацию: в ЗУП 3.0 точность большинства денежных показателей жестко ограничена в метаданных.

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

Альтернатива: Создание пользовательского показателя

Если вы не хотите менять типовой регистр, можно пойти по пути изменения формулы расчета. Посмотрим, как это реализовать:

  1. В справочнике «Показатели расчета зарплаты» создадим новый показатель, например, МинимумПособияПоУходуПользовательский.
  2. В настройках начисления (вид расчета «Отпуск по уходу за ребенком») заменим в формуле стандартный законодательный показатель на наш новый.
  3. Значение этого показателя можно будет задавать документом «Данные для расчета зарплаты» или «Изменение плановых начислений».

Этот способ более трудозатратный, так как требует ручного контроля, но он позволяет полностью контролировать суммы выплат без вмешательства в программный код и скрытые регистры.

← На главную