При изменении законодательства пользователи часто сталкиваются с тем, что в старых версиях программ (например, 1С:ЗУП 3.0 или ERP ранних редакций) размеры пособий не обновляются автоматически. Это происходит, если конфигурация снята с поддержки или не обновляется вовремя. Рассмотрим подробно, где хранятся эти данные и какими способами можно внести изменения, если стандартный интерфейс блокирует редактирование.
Все ключевые цифры по государственным пособиям в 1С:ЗУП 3.0 и ERP хранятся в специализированном регистре сведений. Проанализируем, как его найти. Разберем ситуацию: вам необходимо изменить минимальный порог пособия по уходу за первым ребенком. Основным источником данных является регистр РазмерыГосударственныхПособий. В нормальной ситуации он заполняется автоматически при обновлении программы или через интернет-поддержку.
Чтобы найти этот регистр вручную, выполним следующие действия:
Размеры государственных пособий.Здесь хранятся записи с привязкой к дате (периоду). Однако часто пользователи обнаруживают, что записи в этом регистре имеют свойство «Только просмотр», и кнопка изменения неактивна.
Прежде чем приступать к программному изменению данных, проверим штатную возможность редактирования через административный раздел. Перейдем в раздел «Администрирование», далее выберем пункт «Поддержка и обслуживание». В некоторых релизах здесь присутствует ссылка «Законодательные значения».
Эта форма позволяет переопределять значения, которые заблокированы в самих регистрах. Если нужный показатель (например, минимальный размер пособия) доступен в списке, мы можем создать новую строку с нужной датой (например, с 01.02.2017) и указать актуальную сумму. Система при расчете будет отдавать приоритет значениям, введенным вручную в этой форме.
Если форма законодательных значений не помогает, а регистр закрыт, воспользуемся стандартной обработкой «Групповое изменение реквизитов». Это позволит обойти ограничение интерфейса на редактирование. Разберем этот метод по шагам:
Размеры государственных пособий.В ситуациях, когда интерфейс полностью блокирует работу с регистром, наиболее надежным способом будет написание небольшого программного кода (внешней обработки). Выясним причину, почему это работает: программный метод Записать() у менеджера записи регистра может игнорировать настройки формы «Только просмотр».
Пример кода для программного добавления записи:
МенеджерЗаписи = РегистрыСведений.РазмерыГосударственныхПособий.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Период = '20170201'; // Дата вступления изменений в силу
МенеджерЗаписи.ВидПособия = Перечисления.ВидыГосударственныхПособий.ПособиеПоУходуДоПолутораЛет;
МенеджерЗаписи.Размер = 3000; // Новое значение минимума
МенеджерЗаписи.Записать();
Такой код можно выполнить через консоль кода или создав простую внешнюю обработку. Это гарантированно добавит запись в базу данных.
Рассмотрим ситуацию, упомянутую в обсуждении: при переносе данных из версии 2.5 показатели могут иметь три знака после запятой (например, 9.999), а ЗУП 3.0 округляет их до двух (9.99). Проанализируем ситуацию: в ЗУП 3.0 точность большинства денежных показателей жестко ограничена в метаданных.
Если вам критически важна точность до тысячных, простым изменением настроек в пользовательском режиме это не решить. Потребуется использование расширений конфигурации, чтобы изменить точность типа данных в соответствующих ресурсах регистра или показателях расчета зарплаты. Без снятия с поддержки или расширений система всегда будет отсекать «лишние» знаки.
Если вы не хотите менять типовой регистр, можно пойти по пути изменения формулы расчета. Посмотрим, как это реализовать:
МинимумПособияПоУходуПользовательский.Этот способ более трудозатратный, так как требует ручного контроля, но он позволяет полностью контролировать суммы выплат без вмешательства в программный код и скрытые регистры.