Почему в 1С начисляется зарплата при наличии невыходов и отпуска за свой счет?

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

В практической работе бухгалтеров-расчетчиков и специалистов по кадрам, работающих со старыми, но до сих пор популярными конфигурациями на платформе 1С (такими как Зарплата и Управление Персоналом 2.5, Комплексная автоматизация 1.1 или Управление производственным предприятием 1.3), регулярно возникает одна и та же неприятная проблема. При заполнении документа Начисление зарплаты работникам организаций сотрудникам начисляется оклад или тарифная ставка за те дни, в которые они фактически отсутствовали, хотя в информационной базе проведены кадровые документы (например, отпуск за свой счет) и в табеле учета рабочего времени корректно отображаются символы ДО (отпуск за свой счет) или НН (неявка по невыясненным причинам).

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

Причина 1. Двухдокументная схема учета: кадры против расчета

Главная архитектурная особенность конфигураций линейки 1С 8.2 (ЗУП 2.5, КА 1.1) заключается в строгом разделении кадрового и расчетного учета. Кадровый документ (например, Отпуска организаций с видом отпуска "Отпуск без сохранения платы") фиксирует лишь факт намерения сотрудника отсутствовать на работе. Он необходим для кадровой отчетности, унифицированных форм и для вывода символа ДО в отчет Табель учета рабочего времени.

Однако для расчетного механизма 1С этого документа недостаточно. Чтобы система "вырезала" время отсутствия из планового начисления (например, из оклада), в программе обязательно должен быть проведен соответствующий расчетный документ — Невыходы в организациях. Проанализируем типичный ошибочный сценарий:

  1. Кадровик ввел документ Отпуска организаций.
  2. В табеле учета рабочего времени автоматически проставился код ДО.
  3. Расчетчик, ориентируясь на красивый табель, сразу переходит к заполнению документа Начисление зарплаты работникам организаций.
  4. Результат: программа полностью начисляет оклад, игнорируя отпуск.

Решение: Всегда соблюдайте цепочку документов. На основании кадрового документа Отпуска организаций расчетчик обязан ввести расчетный документ Невыходы в организациях. Сделать это можно через обработку "Анализ неявок" или напрямую путем ввода на основании. Только проведение расчетного невыхода делает запись в регистр расчета Основные начисления работников организаций, которая физически вытесняет оклад. Для автоматической проверки таких расхождений подойдет отчет по анализу кадровых и расчетных неявок для ЗУП 2.5.

Причина 2. Нарушение последовательности создания документов

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

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

Для отслеживания таких ситуаций в программе существует скрытый, но очень важный инструмент — Регистр сведений: Перерасчеты зарплаты. Когда мы проводим документ отклонения (невыход) позже, чем документ начисления, система делает запись в этот регистр, сигнализируя о том, что данные сотрудника устарели.

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

Причина 3. Отсутствие вытеснения в настройках видов расчета

Если и кадровый, и расчетный документы проведены в правильной последовательности, но оклад все равно начисляется в полном объеме, дело в настройках планов видов расчета. В 1С расчет времени и сумм базируется на механизме вытеснения (Priority/Displacement).

Выясним причину, заглянув в настройки основных начислений. Для этого откроем план видов расчета Основные начисления организаций:

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

В этом списке обязательно должны присутствовать такие виды начислений, как:

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

Также важно проверить настройки самого созданного начисления-отклонения на вкладке Время. Убедитесь, что там выбран правильный вид времени, например, Неотработанные полные смены, а также командировки. Если там ошибочно указано рабочее время, механизм вытеснения работать не будет.

Для технических специалистов приведем пример структуры метаданных, описывающей связь вытеснения в планах видов расчета:


// Концептуальный запрос для проверки настроек вытеснения в базе данных
ВЫБРАТЬ
    ОсновныеНачисления.Ссылка КАК ВидРасчета,
    Вытесняющие.ВытесняющийВидРасчета КАК Вытесняющий
ИЗ
    ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисления
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ВытесняющиеВидыРасчета КАК Вытесняющие
    ПО ОсновныеНачисления.Ссылка = Вытесняющие.Ссылка
ГДЕ
    ОсновныеНачисления.Ссылка = &Оклад

Причина 4. Не нажата кнопка "Рассчитать" в расчетном документе невыхода

Это одна из самых неочевидных ошибок расчетчиков. При заполнении документа Невыходы в организациях пользователь вводит период невыхода (например, с 01.08 по 02.08) и выбирает вид невыхода. Строка выглядит заполненной, документ успешно проводится.

Однако в документе Невыходы в организациях расчетный механизм устроен так, что программа должна зафиксировать количество дней и часов отсутствия в специальных колонках. Для этого в документе обязательно нужно нажать кнопку Рассчитать (или "Рассчитать - Начисления").

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

Решение: Возьмите за правило — любой расчетный документ (невыходы, больничные, отпуска) должен быть не просто заполнен и проведен, но и обязательно рассчитан внутренней кнопкой расчета документа.

Причина 5. Методологический конфликт: "Табель" против "Метода отклонений"

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

  1. Метод отклонений. Время рассчитывается автоматически исходя из графика работы сотрудника за вычетом зарегистрированных документов-отклонений (больничные, отпуска, невыходы). Документ Табель учета рабочего времени при этом методе вводить вообще не нужно. Это наиболее простой и надежный способ ведения учета.
  2. Метод сплошной регистрации (по Табелю). В конце месяца вводится документ Табель учета рабочего времени, в котором вручную или полуавтоматически проставляются все явки и неявки. При этом расчет зарплаты ориентируется исключительно на данные этого документа.

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

Если вы используете документ Табель учета рабочего времени, помните: он имеет наивысший приоритет при расчете времени. Если в табеле за конкретный день по какой-то причине зафиксировано рабочее время (например, "Я/8"), то даже при наличии проведенного документа Невыходы в организациях программа может начислить оклад, так как табель "перекрыл" отклонение.

Решение: Если у вас нет сложного посменного учета с постоянными отклонениями от графиков, откажитесь от использования документа Табель учета рабочего времени. Ведите учет методом отклонений. Вводите только документы отсутствия (командировки, отпуска, больничные, невыходы), и программа сама идеально рассчитает отработанное время по графику сотрудника.

Причина 6. Ошибка "Пустого результата" при отсутствии рабочих дней в месяце

В конфигурациях Комплексная автоматизация 1.1 и Управление производственным предприятием 1.3 встречается системная ошибка расчета, связанная с ситуацией, когда сотрудник весь месяц находится в отпуске за свой счет.

Посмотрим на алгоритм работы программы в этом случае. Если у сотрудника в текущем расчетном периоде (месяце) нет ни одного фактически отработанного дня (весь месяц заполнен документами отклонений), то при автоматическом заполнении документа Начисление зарплаты система может проигнорировать вытеснение и рассчитать полный оклад.

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

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

Причина 7. Особенности расчета при увольнении

При увольнении сотрудника расчет всех причитающихся ему сумм производится специальным документом — Расчет при увольнении сотрудника (в ЗУП 2.5). Этот документ содержит в себе функционал расчета как компенсации отпуска, так и начисления зарплаты за последний рабочий месяц увольняемого.

Если расчетчик сначала делает Расчет при увольнении, а затем в конце месяца проводит общий документ Начисление зарплаты по всей организации, возникает задвоение или некорректный расчет времени. Общий документ начисления зарплаты может "не увидеть" расчеты, произведенные в документе увольнения, особенно если даты увольнения и документов невыхода пересекаются.

Решение: При увольнении сотрудника соблюдайте строгую последовательность шагов:

  1. Проведите все документы-отклонения (отпуска за свой счет, больничные) до даты увольнения включительно.
  2. Создайте и проведите кадровый документ Увольнение из организаций.
  3. Создайте документ Расчет при увольнении, рассчитайте его. Начисления за последний месяц увольняемого должны быть рассчитаны именно в нем на соответствующей вкладке.
  4. При заполнении итогового документа Начисление зарплаты в конце месяца убедитесь, что уволенный сотрудник не попал в общий список начислений, чтобы избежать повторного начисления оклада.

Резюме: Чек-лист для быстрой диагностики проблемы

Если вы обнаружили, что сотруднику начислен оклад за дни отпуска за свой счет или невыходов, последовательно пройдите по следующему чек-листу:

  1. Проверьте наличие расчетного документа. Есть ли в базе документ Невыходы в организациях (а не только кадровый приказ на отпуск)?
  2. Проверьте расчет времени в невыходах. Нажата ли кнопка "Рассчитать" в документе невыхода? Заполнены ли колонки дней и часов?
  3. Проверьте последовательность проведения. Не был ли документ начисления зарплаты проведен раньше, чем документ невыхода? Если да, перезаполните сотрудника в начислении зарплаты.
  4. Проверьте настройки вытеснения. Зайдите в план видов расчета Основные начисления организаций, откройте оклад сотрудника и убедитесь, что используемый вид невыхода (отпуск б/с, отсутствие и т.д.) находится в списке вытесняющих начислений на вкладке "Прочее".
  5. Проверьте табель. Если в базе проведен документ Табель учета рабочего времени, убедитесь, что в нем за спорные дни стоят символы ДО или НН, а не рабочие часы. По возможности рассмотрите переход на метод отклонений без использования табелей.

Соблюдение этих простых методологических правил позволит вам полностью исключить ошибки при начислении заработной платы и избавит от необходимости ручных корректировок в программе 1С. Если в качестве долгосрочного решения вы рассматриваете выделение кадрового учета из устаревшей УПП 1.3 в отдельную базу, для миграции истории можно задействовать перенос данных из УПП 1.3 в ЗУП 3.

← На главную