Почему не сохраняются сведения о среднем заработке в документе «Отпуск» и как это исправить?

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

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

Разберем принцип работы формы ввода среднего заработка

Для начала проанализируем, как система 1С:ЗУП 3.1 обрабатывает данные, которые мы вводим вручную в окне редактирования среднего заработка. Это окно открывается при нажатии на символ «зеленого карандаша» или на ссылку с суммой среднего заработка в документе Отпуск.

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

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

Проанализируем ситуацию с историческими данными

Если эксплуатация программы началась недавно, и данные за прошлые периоды (например, за предыдущий год) не были перенесены в полном объеме, их приходится вводить вручную. Рассмотрим правила, по которым 1С позволяет это делать:

Ввод и редактирование данных в форме среднего заработка доступны только до того месяца, в котором в программе было зарегистрировано первое начисление зарплаты. Как только вы создали и провели хотя бы один документ Начисление зарплаты и взносов, система начинает считать, что учет ведется «внутри» нее. С этого момента ручное редактирование в документах отклонений (отпусках, командировках) за «учетные» периоды становится ограниченным.

Если автоматическое заполнение вас не устраивает, рекомендуется не просто править цифры в каждом отпуске, а устранить причину — внести правильные данные в первичные документы или специализированные регистры.

Рассмотрим использование документа «Перенос данных»

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

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

  1. Данные о начислениях для расчета среднего заработка (общий) — здесь мы фиксируем суммы, которые должны войти в расчетную базу.
  2. Данные о времени для расчета среднего заработка (общий) — здесь мы указываем отработанные дни и часы, а также календарные дни для расчета отпусков.

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


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

Важный момент: при ручном заполнении через Перенос данных обязательно следите за тем, чтобы Физическое лицо было указано корректно. Если данные внесены на одного сотрудника, а расчет ведется по другому (например, при внутреннем совместительстве), система может не увидеть эти суммы, если настройки программы не предполагают объединение заработка.

Выясним причину обнуления данных при наличии записей в регистрах

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

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

Как проверить влияние расширений

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

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

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

Итоги и рекомендации

Подведем итог нашему анализу и составим пошаговый алгоритм действий, если данные о среднем заработке не сохраняются или не отображаются:

Соблюдение этих правил позволит вам избежать ошибок при расчете отпускных и обеспечит прозрачность учета в системе 1С:ЗУП 3.1.

← На главную