При разработке и доработке конфигурации 1С:Зарплата и Управление Персоналом (редакция 3.1) разработчики часто сталкиваются с ситуацией, когда реквизит формы справочника Сотрудники (например, ТекущаяТарифнаяСтавка) оказывается уже заполненным в момент исполнения процедуры ПриСозданииНаСервере. Выясним, через какие программные события происходит заполнение данных и из каких регистров сведений платформа считывает информацию о тарифных ставках и плановом ФОТ.
В управляемых формах 1С при открытии существующего элемента справочника порядок вызова основных серверных обработчиков событий выглядит следующим образом:
ПриЧтенииНаСервере — вызывается на сервере при чтении данных объекта из базы данных до выполнения ПриСозданииНаСервере;ПриСозданииНаСервере — вызывается при непосредственном формировании элементов формы.Именно в обработчике события ПриЧтенииНаСервере типовая конфигурация производит программное заполнение дополнительных реквизитов формы. Для формы элемента справочника Сотрудники вызывается специализированный программный модуль:
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
СотрудникиФормы.СотрудникиПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецПроцедуры
Внутри процедуры СотрудникиФормы.СотрудникиПриЧтенииНаСервере запускается цепочка функций и динамическое формирование запросов для извлечения кадровой истории, окладов и действующих начислений.
Для повышения скорости работы 1С:ЗУП 3.1 не рассчитывает кадровые данные и тарифные ставки «на лету» при каждом открытии формы. Конфигурация использует специальные кэширующие и агрегирующие регистры сведений:
ПлановыйФОТИтоги — содержит итоговые данные по совокупной тарифной ставке и плановому фонду оплаты труда. Именно из этого регистра считываются значения тарифных ставок для карточки сотрудника и расчетных листков;ТекущиеКадровыеДанныеСотрудников — хранит актуальные сведения о подразделении, должности, виде занятости и графике работы;ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников — хранит историю изменений показателей расчета зарплаты (например, индивидуальных окладов).Прямое редактирование записей в регистрах сведений ПлановыйФОТИтоги или ТекущиеКадровыеДанныеСотрудников не является штатным решением. При любом проведении кадрового документа, изменении плановых начислений или запуске регламентных заданий система полностью пересчитывает плановый ФОТ и перезаписывает регистры актуальными данными из первичных документов.
Проанализируем штатные способы исправления некорректно отображаемой тарифной ставки:
Прием на работу, Кадровый перевод, Изменение оплаты труда или Начальная штатная расстановка). При проведении документ вызывает функции пересчета ФОТ и обновляет итоговые регистры.ПлановыйФОТИтоги.Таким образом, если необходимо программно переопределить значение реквизита ТекущаяТарифнаяСтавка в форме, сделать это нужно либо после выполнения процедуры СотрудникиФормы.СотрудникиПриЧтенииНаСервере, либо путем коррекции первичных кадровых документов и пересчета планового ФОТ.