При разработке правил переноса данных, доработке типовых конфигураций или программном создании документов в 1С:Зарплата и управление персоналом 3.1 разработчики часто сталкиваются с неочевидной на первый взгляд структурой кадровых документов. В частности, в документе Кадровый перевод присутствуют две связанные табличные части: Показатели и Начисления. Разберем подробно, за что отвечает каждая из них, где именно сохраняется размер оклада и в какие регистры сведений попадают данные после проведения.
Для понимания архитектуры расчета заработной платы в 1С:ЗУП 3.1 проанализируем разделение понятий самого показателя расчета и планового начисления:
Показатели: именно здесь хранится непосредственный числовой размер оклада (или тарифной ставки). В реквизите Показатель указывается ссылка на предопределенный или пользовательский показатель (например, Оклад), а в реквизите Значение фиксируется его исходная сумма в рублях за полную ставку (месячная тарифная ставка).Начисления: содержит перечень назначенных сотруднику плановых начислений (вид расчета из плана видов расчета Начисления, например, Оплата по окладу). Реквизит Размер в этой табличной части отражает не сам тарифный оклад, а вклад данного начисления в фонд оплаты труда (ФОТ).Рассмотрим, почему значения в этих табличных частях могут различаться. Если сотрудник принимается или переводится на неполную ставку (например, 0.5 ставки при окладе 50 000 рублей), в табличной части Показатели для показателя Оклад будет сохранено базовое значение 50 000, а в табличной части Начисления в колонке Размер (вклад в ФОТ) будет рассчитано значение 25 000. Таким образом, система разделяет тариф сотрудника и плановую сумму расходов на оплату труда с учетом занимаемой доли ставки.
Табличные части документа не существуют изолированно. Они связаны между собой через служебный числовой реквизит ИдентификаторСтрокиВидаРасчета. Каждая строка показателя в ТЧ Показатели ссылается на конкретную строку начисления из ТЧ Начисления. Это необходимо для ситуаций, когда сотруднику назначено несколько начислений, зависящих от разных или одинаковых показателей.
Посмотрим на пример правильного заполнения структуры при программном формировании документа:
// Пример программного сопоставления строк начислений и показателей
НоваяСтрокаНачисления = ДокументОбъект.Начисления.Добавить();
НоваяСтрокаНачисления.ИдентификаторСтрокиВидаРасчета = 1;
НоваяСтрокаНачисления.Начисление = ПлановыйВидРасчета;
НоваяСтрокаНачисления.Действие = Перечисления.ДействияСНачислениямиИУдержаниями.Назначить;
НоваяСтрокаНачисления.Размер = 50000; // Вклад в ФОТ
НоваяСтрокаПоказателя = ДокументОбъект.Показатели.Добавить();
НоваяСтрокаПоказателя.ИдентификаторСтрокиВидаРасчета = 1;
НоваяСтрокаПоказателя.Показатель = Справочники.ПоказателиРасчетаЗарплаты.Оклад;
НоваяСтрокаПоказателя.Значение = 50000; // Исходное значение показателя
Документ Кадровый перевод является регистратором для целого комплекса кадровых и расчетных регистров сведений:
ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников: именно сюда попадают данные из табличной части Показатели. Расчетные механизмы конфигурации (документ Начисление зарплаты и взносов) считывают размер оклада именно из этого регистра.ПлановыеНачисления: фиксирует факт назначения, изменения или прекращения действия начислений сотрудника на определенный период.ПлановыйФОТИтоги и ФОТСотрудников: фиксируют плановый фонд оплаты труда для управленческого учета и отчетности.ТекущаяТарифнаяСтавкаСотрудников: оклад попадает в этот регистр только в том случае, если показатель включен в состав совокупной тарифной ставки в настройках расчета зарплаты организации.Если вы переносите документы через правила конвертации данных (КД 2.0 / 3.0) или создаете их программно, обратите внимание на следующие критические параметры:
ИзменитьНачисления: данный реквизит шапки документа обязательно должен принимать значение Истина. Если флаг не установлен, система при проведении полностью проигнорирует строки табличных частей оплаты труда и не сформирует движения по расчетным регистрам.ФОТ в шапке и колонка Размер являются расчетными. При программном переносе рекомендуется вызывать типовые экспортные процедуры пересчета ФОТ из модулей конфигурации (например, процедуры пересчета оплаты труда кадровых документов), чтобы исключить расхождения между базовым окладом и плановым фондом.ШтатноеРасписание). При переносе важно корректно передавать признак индивидуального изменения начислений сотрудника.