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