Как ввести сведения для расчета среднего заработка в 1С:ЗУП 3.1 и почему ручные правки в документах могут не сохраняться?

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

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

Однако на практике часто возникает неприятная ситуация: бухгалтер вводит данные вручную непосредственно в калькуляторе расчета среднего заработка (в форме, которая открывается по «зеленому карандашу» в документе «Отпуск» или «Командировка»), проводит документ, но при создании следующего расчета программа снова «не видит» эти данные. В этой статье мы подробно разберем, почему так происходит, как работает логика программы 1С:ЗУП 3.1 при сохранении ручных правок, какие ошибки присутствуют в старых релизах (в частности, в ветке 3.1.8) и как надежно внести сведения один раз и на все случаи жизни.

Проблема: Логика работы калькулятора среднего заработка

Для начала проанализируем, как сама программа позиционирует ручной ввод в калькуляторе среднего заработка. Многие пользователи полагают, что ручные изменения в форме редактирования среднего заработка — это универсальный способ наполнения базы историческими данными. На самом деле это не совсем так.

В программе реализовано два принципиально разных сценария поведения при ручном изменении данных в калькуляторе:

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

Почему же во втором случае данные часто не сохраняются? Давайте разберем технические причины и особенности релизов.

Выясняем причину: Баги релиза 3.1.8 и особенности платформы

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

При проведении документа «Отпуск» или «Командировка» программа должна делать записи в независимые регистры сведений:

Однако в релизах ветки 3.1.8 запись в эти регистры происходит некорректно — создаются пустые строки (без сумм и дней), либо записи не создаются вовсе. Из-за этого при расчете следующего документа (например, «Командировки» после «Отпуска») данные не подтягиваются.

Кроме того, существует неочевидная «особенность» интерфейса при использовании кнопки «Дополнить по данным ФОТ» в калькуляторе среднего заработка. Если вы нажали эту кнопку, данные заполнились на форме, и вы сразу нажали «ОК» — программа их не запишет как ручные корректировки! Чтобы система поняла, что данные введены пользователем намеренно, необходимо после автоматического заполнения по ФОТ вручную перебить (переписать) значения в ключевых ячейках. Только после этого изменения зафиксируются в памяти формы и запишутся при проведении документа. Этот баг был полностью устранен только в версии 3.1.10 и более поздних.

Решение 1: Настройка взаимодействия общего среднего и среднего для ФСС

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

  1. Перейдите в раздел Настройка — Расчет зарплаты.
  2. Найдите и установите флажок «Сведения для расчета общего среднего заработка принимать к учету для расчета пособий (и наоборот)».

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

Решение 2: Ввод данных через документ «Входящая справка о заработке» (для ФСС)

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

  1. Перейдите в раздел Кадры или Зарплата — См. также — Справки для расчета пособий (или найдите через поиск документ Входящая справка о заработке для расчета пособий).
  2. Создайте новый документ, выберите сотрудника и укажите его работодателя (предыдущего страхователя) и заработок за два предшествующих года по месяцам.
  3. В документах «Больничный лист» обязательно следите за тем, чтобы стояла галочка «Учитывать заработок предыдущих страхователей».

Решение 3: Универсальный и надежный ввод данных через «Перенос данных»

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

Рассмотрим этот процесс подробно и пошагово:

  1. Перейдите в раздел Администрирование — Перенос данных.
  2. Создайте новый документ. В поле «Номер» программа автоматически проставит код (например, ТЗ-00001). Рекомендуется использовать понятный префикс, например, СД (Средний Доход).
  3. Нажмите кнопку «Настройка состава регистров» на панели документа.
  4. В открывшемся окне перейдите на вкладку Регистры накопления и отметьте флажками следующие регистры:
    • Данные о начислениях для расчета среднего заработка (общий) — для расчета отпусков и командировок.
    • Данные о времени для расчета среднего (общий) — для учета дней и часов при расчете отпусков и командировок.
    • Данные о начислениях для расчета среднего заработка (ФСС) — для расчета больничных листов.
    • Данные о времени для расчета среднего (ФСС) — для учета дней болезни, ухода и других исключаемых периодов ФСС.
  5. Нажмите «ОК». В документе появятся вкладки, соответствующие выбранным регистрам.

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

Заполнение вкладки «Данные о начислениях для расчета среднего заработка (общий)»

Здесь фиксируются суммы заработка сотрудника. Каждая строка должна содержать:

Заполнение вкладки «Данные о времени для расчета среднего (общий)»

Без этих данных программа не сможет определить знаменатель формулы расчета среднего заработка (количество дней). Обратите внимание на ключевой реквизит:

Для наглядности приведем пример того, как программно выглядит запись данных о времени в этот регистр при переносе:


// Пример структуры записи в регистр "Данные о времени для расчета среднего (общий)"
НаборЗаписей = РегистрыНакопления.ДанныеОВремениДляРасчетаСреднегоОбщий.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(ДокументСсылка);

НоваяСтрока = НаборЗаписей.Добавить();
НоваяСтрока.Сотрудник = Справочники.Сотрудники.НайтиПоРеквизиту("Код", "00045");
НоваяСтрока.Месяц = '20180501'; // Май 2018 года
НоваяСтрока.КалендарныеДниДляОтпусков = 29.3;
НоваяСтрока.ОтработаноДней = 20;
НоваяСтрока.ОтработаноЧасов = 159;
НоваяСтрока.ПорядокРасчета = Перечисления.ПорядокРасчетаСреднегоЗаработка.Постановление2010;

НаборЗаписей.Записать();

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

Полезный инструмент: Обработка обновления данных среднего заработка

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

Чтобы не перепроводить документы начислений за целый год вручную, воспользуйтесь специализированной групповой обработкой:

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

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

← На главную