При работе с программным продуктом 1С:Зарплата и Управление Персоналом (ЗКГУ) пользователи часто сталкиваются с ситуацией, когда сотрудник отработал неполное рабочее время (например, из-за больничного листа или отпуска), но в документе Начисление зарплаты и взносов для видов расчета, которые зависят от базы (в которую входит оклад), поле «Отработанное время» заполняется полностью, без учета неявок. При этом сумма самого начисления рассчитывается верно. Попытки использовать вытесняющие начисления на вкладке «Приоритет» могут привести к корректному отображению отработанного времени, но при этом могут возникнуть проблемы с перерасчетами – сумма начисления может некорректно уменьшаться.
Давайте разберем эту проблему подробнее и выясним, как добиться правильного отображения отработанного времени без возникновения побочных эффектов при перерасчетах.
Для начала, мы должны понимать, каким образом программа 1С:Зарплата и Управление Персоналом учитывает рабочее время. В системе существуют две основные методики:
Табель учета рабочего времени. В этом случае данные табеля имеют приоритет перед графиком и отклонениями, и заработная плата начисляется исходя из времени, указанного непосредственно в табеле.
В нашем случае, как правило, речь идет о ситуации, когда табель не ведется, и программа использует метод «отклонений» для расчета отработанного времени. Именно здесь и кроются ключевые моменты настройки.
Корректность заполнения отработанного времени для начислений, зависящих от базы, напрямую зависит от настроек конкретного вида расчета. Обратите внимание на две ключевые вкладки в карточке вида расчета: Учет времени и Приоритет.
Вкладка Приоритет определяет, какие начисления «вытесняют» текущее начисление, то есть какие виды отсутствий или других начислений приводят к уменьшению или полному прекращению действия данного вида расчета. Если в программе не ведется табель, то отработанное время для данного вида расчета будет определяться как плановое время минус те отклонения (неявки), которые перечислены на вкладке «Приоритет». Это критически важный момент.
Предположим, у сотрудника был больничный лист. Оклад, как правило, настроен так, что он вытесняется больничным, и его «Отработанное время» будет заполнено корректно (с учетом вычета дней больничного). Но если у вашего вида расчета, зависящего от оклада (например, «Нагрузка с повышающими»), на вкладке Приоритет не указаны виды расчета, соответствующие неявкам (например, «Больничный лист», «Отпуск основной»), то программа для этого начисления не «увидит» эти отклонения. Соответственно, она будет считать, что сотрудник полностью отработал норму времени, и заполнит поле «Отработанное время» полным значением.
Вкладка Учет времени предназначена для определения характера выполняемой работы (например, основное рабочее время, сверхурочные), вида учитываемого времени (в днях или часах) и вида стажа. Если на этой вкладке в настройках начисления указан вид времени (например, Явка), то программа будет выводить часы рабочего времени в соответствии с этим видом. Начисление будет выполняться только в том случае, если на этот месяц каким-либо способом (в графике, табеле или в документе Данные для расчета зарплаты) зарегистрировали время выбранного вида.
Иногда эта вкладка может быть неактивной или не отображать нужные настройки. В таких случаях можно использовать небольшой «трюк»: добавить в формулу расчета начисления фрагмент + ОтработанноеВремя * 0. Этот фрагмент сам по себе не изменит сумму начисления (поскольку умножается на ноль), но он принудительно активирует механизм учета отработанного времени для данного вида расчета, и вкладка Учет времени станет доступной для более детальной настройки. После этого вы сможете убрать этот фрагмент из формулы, так как вкладка уже будет активирована.
Давайте по шагам разберем, что нам необходимо проверить и настроить для корректного отображения отработанного времени.
Прежде всего, мы должны убедиться, что для нашего вида расчета, который неправильно заполняет отработанное время, на вкладке Приоритет указаны все необходимые вытесняющие начисления, соответствующие неявкам.
Приоритет.
Больничный листОтпуск основнойОтпуск без сохранения оплатыЕсли этих начислений нет в списке, мы должны добавить их, чтобы программа могла корректно вычесть время неявок из планового времени для этого вида расчета. Именно отсутствие этих настроек чаще всего является причиной того, что отработанное время показывается полным. Программа не знает, что этот вид расчета должен «вытесняться» больничным или отпуском, и поэтому считает, что время отработано полностью.
После настройки приоритетов, мы также должны проверить и при необходимости скорректировать настройки на вкладке Учет времени. Эта вкладка позволяет указать, какой вид времени должен учитываться для данного начисления.
Учет времени.
Вид времени или в разделе Основное время мы должны указать Явка. Это гарантирует, что начисление будет учитывать именно время присутствия сотрудника на работе.
Дополнительное время не заполнено никаких видов времени, которые могли бы искажать расчеты. Если там что-то есть, очистите эти поля.
Формула.Окр(РасчетнаяБаза/18*ЧасыПоОкладуДляНагрузкаCПовышающими ,2)) фрагмент + ОтработанноеВремя * 0.
Окр(РасчетнаяБаза/18*ЧасыПоОкладуДляНагрузкаCПовышающими ,2) + ОтработанноеВремя * 0
Учет времени. Теперь она должна стать доступной для редактирования.
Явка в основном времени).
+ ОтработанноеВремя * 0 из формулы, так как вкладка Учет времени уже будет активирована и ее настройки сохранятся.Автор исходного сообщения упоминал, что при добавлении вытесняющих начислений проблема с отображением отработанного времени решается, но возникают сложности с перерасчетами. Здесь мы должны обратить внимание на несколько моментов:
Приоритет в первую очередь влияют на определение количества отработанного времени для данного вида расчета. Если формула начисления проста (например, РасчетнаяБаза * Процент), то само по себе наличие вытесняющих не должно изменять логику расчета суммы, если база уже скорректирована с учетом неявок.
РасчетнаяБаза, то ее содержимое уже формируется с учетом всех предыдущих начислений, и она должна отражать фактически начисленную сумму по окладу (то есть, оклад с учетом неявок). Если же база для расчета не учитывает неявки (например, берет полный оклад, а не скорректированный), тогда проблема может быть в формировании самой базы. Мы должны убедиться, что РасчетнаяБаза для данного начисления включает именно тот оклад, который уже уменьшен на время неявок.
Рассмотрим формулу, приведенную в сообщении: Окр(РасчетнаяБаза/18*ЧасыПоОкладуДляНагрузкаCПовышающими ,2).
РасчетнаяБаза: Если эта база включает полный оклад, то и сумма будет рассчитана исходя из полного оклада, а не скорректированного. Мы должны убедиться, что в РасчетнаяБаза попадает уже скорректированный оклад. Настройка приоритетов для начисления «Оклад» критична для формирования корректной РасчетнойБазы.
ЧасыПоОкладуДляНагрузкаCПовышающими: Этот показатель, предположительно, должен отражать фактически отработанные часы. Если он также показывает полное время, то это указывает на проблему с тем, как этот показатель формируется, и, скорее всего, он связан с отсутствием вытесняющих или неправильными настройками учета времени для данного вида расчета.
Если РасчетнаяБаза формируется правильно (т.е., она уже уменьшена на сумму оклада за дни неявок), а ЧасыПоОкладуДляНагрузкаCПовышающими не уменьшаются, то это прямое указание на то, что для *этого конкретного начисления* программа не видит отсутствий. Настройка вкладки Приоритет для вида расчета «Нагрузка с повышающими» является ключевой для того, чтобы программа начала учитывать отклонения и, соответственно, уменьшать ЧасыПоОкладуДляНагрузкаCПовышающими и корректно отображать «Отработанное время».
Для корректного отображения отработанного времени в документе Начисление зарплаты и взносов для начислений, зависящих от базы, при наличии неявок, мы должны комплексно подойти к настройке видов расчета. Основными шагами являются тщательная проверка и настройка вкладки Приоритет для каждого такого вида расчета, чтобы он «видел» все вытесняющие начисления, соответствующие неявкам (больничные, отпуска). Дополнительно, мы должны убедиться в правильности настроек на вкладке Учет времени, указав Явка как основное время. Если табель не ведется, программа полагается именно на эти настройки для вычета отклонений из планового времени. Только при правильной настройке всех этих параметров отработанное время будет отображаться корректно, без необходимости бороться с аномалиями при перерасчетах.