1С не определены базовые начисления

  • автор:

Есть несколько хороших статей по использованию видов расчета с произвольными формулами в ЗУП 2.5. В ЗУП 3.0 эта схема претерпела некоторые изменения. Об этом и пойдет речь в публикации.

В этой статье речь пойдет о том, как настроить подобное в ЗУП 3.0. Тестировалось на версии 3.0.19.71.

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

Чтобы реализовать такую схему в ЗУП 3.0, нужно сделать следующее:

1. Принимаем на работу сотрудника, назначаем ему оклад.

📌 Реклама Отключить

2. Идем в «Настройка» — «Показатели расчета зарплаты» и создаем там показатели для расчета наших премий.

3. Переходим в «Настройка» — «Начисления» и создаем новые виды расчета. Выбираем «Рассчитывать по формуле» и включаем в формулу нужные показатели.

📌 Реклама Отключить

Настраиваем расчетную базу.

4. Теперь нужно сделать так, чтобы эти начисления рассчитывались каждый месяц автоматически. Для этого воспользуемся документом «Изменение плановых начислений» («Зарплата» — «Изменение оплаты сотрудников»).

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

📌 Реклама Отключить

Для ввода разовых показателей по сотрудникам и постоянных по подразделениям и организации 1С предлагает использовать другой документ — «Данные для расчета зарплаты» («Зарплата» — «Данные для расчета зарплаты»). Чтобы использовать документ для ввода собственных показателей, нужно сначала настроить соответствующие шаблоны («Настройка» — «Шаблоны ввода исходных данных»).

📌 Реклама Отключить

Также можно указывать значения показателей непосредственно в документе «Начисление зарплаты».

5. Ну и, собственно, результат — в «Начисление зарплаты» автоматически попала и рассчиталась наша премия. По кнопке «Показать подробности расчета» можно полюбоваться на показатели, используемые при расчете.

📌 Реклама Отключить

Простая реализация сложных начислений в программе «1С:Зарплата и Управление Персоналом 8»

Лобынцева Елена
Компания RG-Soft

Об авторе: Лобынцева Елена — сертифицированный специалист 1С в области построения автоматизированных систем управленческого и регламентированного учета заработной платы в прикладных решениях «1С:Предприятие 8». Руководитель ряда крупных проектов по автоматизации Российских и транснациональных корпораций.

Расчет заработной платы на производственных предприятиях и в бюджетных учреждениях – достаточно сложный процесс. При этом, автоматизировать этот процесс, учитывая современный уровень программного обеспечения, можно и нужно. Автоматизация расчета заработной платы должна предусматривать возможные изменения в сфере оплаты труда и соответствовать действующим стандартам. Однако, это не всегда так. Количество ошибок и вопросов, касающихся расчета заработной платы, растет вместе с количеством персонала на предприятии. Многообразие надбавок, премий и доплат, с одной стороны, является стимулирующим фактором для работников и мотивирует их к трудовой активности, а, с другой стороны, является головной болью для многих бухгалтеров. Эта непростая бухгалтерская задача порождает множество вопросов. Каким образом учесть и быстро рассчитать всевозможные начисления сотрудникам? Как грамотно построить безошибочную систему начислений, чтобы был доволен и сотрудник и работодатель? И при этом надо не забывать и всегда отслеживать и учитывать изменения российского законодательства. Все это многообразие палитры задач, связанных с учетом начислений и расчетом заработной платы, верной дорогой приводит нас к мысли об автоматизации данного процесса.

Основываясь на опыте построения нами расчета заработной платы в Службе энергохозяйства ГУП «Мосгортранс», предлагаем рассмотреть в этой статье особенности многоуровневых, объемных и многоэтапных начислений, а также сложные случаи расчета с использованием программы «1С:Зарплата и Управление Персоналом 8» (ред. 2.5).

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

Оклад

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

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

Реализация в программе «1С:Зарплата и Управление Персоналом 8»

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

Тарифная ставка месячная / Норма времени за месяц в днях * Отработанное время в днях;

Во втором случае формула следующая:

Тарифная ставка месячная / Норма времени за месяц в часах * Отработанное время в часах

В Плане видов расчета возможен выбор типа расчета по тарифным ставкам, доступный для выбора, если способ расчета – регламентированный «По месячной тарифной ставке».

Если необходимо использовать индивидуальный размер оклада для каждого сотрудника, то необходимо выбрать тип расчета по тарифным ставкам «Тарифная ставка задается в денежных единицах».

Если необходимо использовать один тарифный разряд для нескольких сотрудников, то необходимо выбрать тип расчета по тарифным ставкам «Требуется ввод тарифного разряда».

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

Тарифы назначаются документами «Прием на работу в организацию» или «Ввод сведений о плановых начислениях работникам организации» путем подбора Тарифного разряда из справочника «Тарифные разряды».

Система премирования

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

Реализация в программе «1С:Зарплата и Управление Персоналом 8»

Разовые премии в программе задаются в Плане видов расчета «Дополнительные начисления организаций», а плановые в Плане видов расчета «Основные начисления организаций» по предопределенным формулам:

Формула от суммы: Фиксированная сумма.

Формула от процента: Процент * Расчетная база.

Расчетная база задается на закладке «Прочее» в разделе «Базовые начисления» выбором требуемых начислений.

Разовые премии на форме элемента плана видов расчета «Дополнительные начисления организаций» на закладке «Использование» отмечены как премия. Вводятся же разовые премии документом «Премии работников организации». А плановые премии назначаются документом «Ввод сведений о плановых начислениях работникам организации». Если премия назначается на определенный срок (квартал, полугодие, работа в зимнее время или в летнее время), то важно указать не только дату начала, но и дату окончания.

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

Пособия

Пособие – безвозмездная денежная выплата, выплачиваемая за счет государства.

Пособия, выплачиваемые за счет ФСС, назначаются документом «Начисление единовременных пособий за счет ФСС». В этом документе, выбрав вид пособия (при рождении ребенка, при постановке на учет в ранние сроки беременности, в связи со смертью, при усыновлении ребенка) и дату события, при нажатии кнопки «Рассчитать» автоматически выведется сумма пособия.

Надбавки

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

Реализация в программе «1С:Зарплата и Управление Персоналом 8»

Надбавки в системе задаются в Плане видов расчета «Основные начисления организаций»

Формула: Процент * Расчетная база.

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

Дополнительные нагрузки

На любом предприятии на рабочих могут быть возложены дополнительные нагрузки. И эти дополнительные нагрузки могут рассчитываться как от оклада (оклада по тарифной ставке) работника, так и от оклада, назначенного согласно штатному расписанию (минимальное или максимальное значение, определяемое приказом). Доплата за сверхурочную работу и ненормированный рабочий день производятся согласно статьям 149, 152, 119 ТК РФ.

Реализация в программе «1С:Зарплата и Управление Персоналом 8»

Вышеуказанные доплаты реализуются с использованием Плана видов расчета «Основные начисления организаций»

При расчете доплаты за дополнительные нагрузки от оклада работника используется следующая формула:

Процент * Расчетная база.

Расчетная база задается на закладке «Прочее» в разделе «Базовые начисления». В данном случае это оклад/оклад по тарифной ставке. Процент назначается документом «Ввод сведений о плановых начислениях организаций».

В свою очередь, расчет выплат от оклада по ставке согласно штатному расписанию мы предлагаем вести с использованием следующей формулы:

Процент * Оклад по штатному расписанию * Количество отработанных дней / норма дней.

Был создан параметр «Оклад по штатному расписанию» со следующими показателями:

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

Совмещение профессий

Зачастую предприятие сталкивается с нехваткой квалифицированных кадров или с временным отсутствием сотрудника. В таких случаях работник может совмещать несколько профессий. Доплаты за совмещение профессий из-за отсутствующего сотрудника или в случаях некомплекта оговариваются статьями 149 и 151 ТК РФ.

Реализация в программе «1С:Зарплата и Управление Персоналом 8»

Доплаты за совмещение профессий реализуются с использованием Плана видов расчета «Основные начисления организаций».

Если совмещение может происходить довольно продолжительное время (в ближайшее время не планируется занимать эту должность), тогда это начисление мы предлагаем рассчитывать по формуле:Оклад совмещаемой должности * Процент * Количество отработанных дней/ норма дней

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

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

Оклад совмещаемой должности * Процент *Кол-во дней отсутствия работника согласно табелю / Норма времени в днях.

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

Временное заместительство

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

Реализация в программе «1С:Зарплата и Управление Персоналом 8»

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

Формула: (Оклад замещаемого – оклад заместителя) * Кол-во дней отсутствия замещаемого согласно табелю/ Норма времени в днях.

Был создан показатель «Время в днях для ввода руками» со следующими параметрами:

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

Надбавка за классность

Надбавка за классность (например, после прохождения курсов повышения квалификации) может назначаться в виде надбавки в размере ставки за отработанный день. Очень распространена надбавка за классность водителям. Эта надбавка устанавливается локальными актами организации, трудовым и (или) коллективным договором; в бюджетных организациях устанавливается Правительством РФ, органами государственной власти соответствующего субъекта РФ, органами местного самоуправления (ст. 144 ТК РФ).

Реализация в программе «1С:Зарплата и Управление Персоналом 8»

В Плане видов расчета «Основные начисления организаций» используется следующая формула:

Фиксированная сумма * Отработанные дни в месяце.

Фиксированная сумма задается как тарифный разряд в справочнике Тарифные разряды, отработанные дни — согласно табелю. Рассмотрим другой случай. Например, надбавка за классность водителям составляет:

За 2 класс – 10 %

За 1 класс – 21 %

Предположим, что работник имеет квалификацию второго класса, а его тарифная ставка составляет 20 000 рублей. Допустим, отработал он не все положенные 184 часа в месяц, а 160, а остальные 24 по не зависящим от него причинам (например, поломка) участвовал в других работах на предприятии. Тогда его надбавка составит 1739 рублей: 20000 (тарифная ставка) * 160(выработка в часах)*10%(процент надбавки за классность)/184(норма часов в месяц). Таким образом, в случае, когда надбавка выражена в процентах, используется следующая формула:

Оклад/Норма часов*Отработанные часы в месяце*Процент

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

Порядок имеет значение

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

1. Ввод сведений о плановых начислениях,
2. Ввод сведений о разовых начислениях,
3. Премии работников организации,
4. Начисление отпуска работникам организации,
5. Оплата по больничному листу,
6. Ввод табелей учета рабочего времени/ Отсутствие по невыясненной причине. После ввода всех вышеперечисленных документов в программу «1С:Зарплата и Управление Персоналом 8» (ред. 2.5) можно документом «Начисление зарплаты работникам организации» правильно и быстро рассчитать все начисления за месяц, а также корректно рассчитать причитающийся НДФЛ с учетом вычетов. А далее быстро и точно рассчитать ЕСН и сформировать затраты на оплату труда.

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

Учебный курс: Подготовка на 1С:Специалист по платформе 1С:Предприятие 8.3

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

В данном примере рассмотрим задачу по изменению оклада, но ее решение можно легко адаптировать для других задач, где изменяются параметры для других видов расчета. Приведенное здесь решение может использоваться в задачах 3.8, 3.9, 3.14, а также других.

Задача

«Сотрудники предприятия получают оплату по окладу пропорционально отработанному времени в днях. В течение расчетного периода тарифная ставка для расчета оклада может быть неоднократно изменена. Расчет оклада должен производиться исходя из действующей на рассчитываемую дату тарифной ставки. Например, если тарифная ставка изменилась 15 сентября, то до 15 сентября при расчете берется старое значение, а начиная с 15 сентября – новое.»

Решение

Для хранения истории изменения оклада будем использовать имеющийся в системе периодический регистр сведений (периодичность День) СведенияОСотрудниках. Первое измерение регистра Сотрудник (Справочник ФизическиеЛица), необходимое для хранения истории изменения оклада в разрезе сотрудников, оставим без изменений.

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

Рисунок 1 – Измерение ВидРасчета регистра СведенияОСотрудниках

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

В завершение переименуем ресурс Оклад в Размер для хранения числового показателя в разрезе сотрудника и вида расчета.

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

По аналогии с предыдущими главами приступим к настройкам документа НачислениеЗарплаты, а также плану видов расчетов ОсновныеНачисления и одноименного регистра расчетов. Подробно останавливаться не будем, а только кратко обозначим основные моменты.

Включим использование периода действия у плана видов расчета ОсновныеНачисления.

Рисунок 2 – План видов расчета ОсновныеНачисления

Создадим регистр расчета ОсновныеНачисления, укажем в нем одноименный планов видов расчета и свяжем с регистром ГрафикиРаботы.

Рисунок 3 – Закладка Основные регистра расчета ОсновныеНачисления

Перейдем на закладку Данные и добавим:

  • измерение Сотрудник (Справочник ФизическиеЛица)
  • ресурс Результат (Число 10, 2)
  • реквизит Размер (Число 10, 2).

Рисунок 4 – Закладка Данные регистра расчета ОсновныеНачисления

В документ НачислениеЗарплаты добавим реквизит ПериодРегистрации (Дата).

Рисунок 5 – Закладка Данные Документа НачислениеЗарплаты

На закладке Движения укажем, что документ является регистратором для регистра ОсновныеНачисления и что документу не требуется оперативное проведение.

Рисунок 6 – Закладка Движения Документа НачислениеЗарплаты

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

Процедура ОбработкаПроведения(Отказ, РежимПроведения) // 1. Установка маркера Записи у регистра Движения.ОсновныеНачисления.Записывать = Истина; Запрос = Новый Запрос; Запрос.Текст = // 2. Получение данных из документа «ВЫБРАТЬ | ОсновныеНачисления.Ссылка.ПериодРегистрации КАК ПериодРегистрации, | ОсновныеНачисления.НомерСтроки КАК НомерСтроки, | ОсновныеНачисления.Сотрудник КАК Сотрудник, | ОсновныеНачисления.ВидРасчета КАК ВидРасчета, | ОсновныеНачисления.ДатаНачала КАК НачалоПериода, | КонецПериода(ОсновныеНачисления.ДатаОкончания, ДЕНЬ) КАК КонецПериода |ПОМЕСТИТЬ ВТДокумент |ИЗ | Документ.НачислениеЗарплаты.ОсновныеНачисления КАК ОсновныеНачисления |ГДЕ | ОсновныеНачисления.Ссылка = &Ссылка | |ИНДЕКСИРОВАТЬ ПО | Сотрудник, | ВидРасчета, | КонецПериода |; | |//////////////////////////////////////////////////////////////////////////////// // 3. Получение плановых начислений |ВЫБРАТЬ | ВТДокумент.ПериодРегистрации, | ВТДокумент.НомерСтроки КАК НомерСтроки, | ВТДокумент.Сотрудник КАК Сотрудник, | ВТДокумент.ВидРасчета КАК ВидРасчета, | ЕСТЬNULL(ПлановыеНачисления.Период, ВТДокумент.НачалоПериода) КАК Период, | ЕСТЬNULL(ПлановыеНачисления.Размер, 0) КАК Размер, | ВТДокумент.НачалоПериода, | ВТДокумент.КонецПериода |ПОМЕСТИТЬ ВТПлановыеНачисления |ИЗ | ВТДокумент КАК ВТДокумент | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСотрудниках КАК ПлановыеНачисления | ПО ВТДокумент.Сотрудник = ПлановыеНачисления.Сотрудник | И ВТДокумент.ВидРасчета = ПлановыеНачисления.ВидРасчета | И ВТДокумент.КонецПериода >= ПлановыеНачисления.Период | |ИНДЕКСИРОВАТЬ ПО | Сотрудник, | ВидРасчета, | Период |; | |//////////////////////////////////////////////////////////////////////////////// // 4. Получение последней записи по плановым начислениям на начало периода |ВЫБРАТЬ | ВТПлановыеНачисления.Сотрудник КАК Сотрудник, | ВТПлановыеНачисления.ВидРасчета КАК ВидРасчета, | МАКСИМУМ(ВТПлановыеНачисления.Период) КАК Период |ПОМЕСТИТЬ ВТПериоды |ИЗ | ВТПлановыеНачисления КАК ВТПлановыеНачисления |ГДЕ | ВТПлановыеНачисления.Период <= ВТПлановыеНачисления.НачалоПериода | |СГРУППИРОВАТЬ ПО | ВТПлановыеНачисления.Сотрудник, | ВТПлановыеНачисления.ВидРасчета | |ИНДЕКСИРОВАТЬ ПО | Период, | Сотрудник, | ВидРасчета |; | |//////////////////////////////////////////////////////////////////////////////// // 5. Получение плановых начислений на начало периода |ВЫБРАТЬ | ВТПлановыеНачисления.ПериодРегистрации, | ВТПлановыеНачисления.НомерСтроки КАК НомерСтроки, | ВТПлановыеНачисления.Сотрудник, | ВТПлановыеНачисления.ВидРасчета, | ВТПлановыеНачисления.НачалоПериода КАК Период, | ВТПлановыеНачисления.Размер, | ВТПлановыеНачисления.НачалоПериода КАК НачалоПериода, | ВТПлановыеНачисления.КонецПериода КАК КонецПериода |ИЗ | ВТПлановыеНачисления КАК ВТПлановыеНачисления | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТПериоды КАК ВТПериоды | ПО ВТПлановыеНачисления.Сотрудник = ВТПериоды.Сотрудник | И ВТПлановыеНачисления.ВидРасчета = ВТПериоды.ВидРасчета | И ВТПлановыеНачисления.Период = ВТПериоды.Период | |ОБЪЕДИНИТЬ ВСЕ | // 6. Получение плановых начислений, которые изменялись в текущем месяце |ВЫБРАТЬ | ВТПлановыеНачисления.ПериодРегистрации, | ВТПлановыеНачисления.НомерСтроки, | ВТПлановыеНачисления.Сотрудник, | ВТПлановыеНачисления.ВидРасчета, | ВТПлановыеНачисления.Период, | ВТПлановыеНачисления.Размер, | ВТПлановыеНачисления.НачалоПериода, | ВТПлановыеНачисления.КонецПериода |ИЗ | ВТПлановыеНачисления КАК ВТПлановыеНачисления |ГДЕ | ВТПлановыеНачисления.Период > ВТПлановыеНачисления.НачалоПериода | |УПОРЯДОЧИТЬ ПО | НомерСтроки, | Период // 7. Группировка данных |ИТОГИ | МИНИМУМ(НачалоПериода), | МАКСИМУМ(КонецПериода) |ПО | НомерСтроки»; Запрос.УстановитьПараметр(«Ссылка», Ссылка); // 8. Формирование выборки для движений ВыборкаИтоги = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаИтоги.Следующий() Цикл ПредыдущаяЗапись = Неопределено; ПериодДействияНачало = ВыборкаИтоги.НачалоПериода; ПериодДействияКонец = ВыборкаИтоги.КонецПериода; Выборка = ВыборкаИтоги.Выбрать(); // если для одного номера строки табличной части запрос вернул несколько строк, // то это означает, что плановые начисления неоднократно изменялись в течение месяца Пока Выборка.Следующий() Цикл НоваяЗапись = Движения.ОсновныеНачисления.Добавить(); ЗаполнитьЗначенияСвойств(НоваяЗапись, Выборка); // 9. Первой всегда будет строка табличной части документа с показателем на начало периода действия надбавки // если размер надбавки изменялся в течение месяца, то начало периода действия должно совпадать с периодом ее изменения ПериодДействияНачало = Макс(Выборка.НачалоПериода, Выборка.Период); НоваяЗапись.ПериодДействияНачало = ПериодДействияНачало; НоваяЗапись.ПериодДействияКонец = ПериодДействияКонец; // 10. Окончание периода действия предыдущей строки должно предшествовать текущей Если ПредыдущаяЗапись <> Неопределено Тогда ПредыдущаяЗапись.ПериодДействияКонец = КонецДня(ПериодДействияНачало — 1); КонецЕсли; ПредыдущаяЗапись = НоваяЗапись; КонецЦикла; КонецЦикла; // 11. Предварительная запись движений документа Движения.Записать(); // 12. Выполнение расчетов для записанных наборов записей ПроведениеРасчетов.Рассчитать(Движения.ОсновныеНачисления, Ссылка); КонецПроцедуры

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

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

Для анализа запроса будут следующие исходные данные:

Начисляется заработная плата за февраль месяц. У сотрудника Бельдыева оклад изменялся следующим образом:

Дата

Сотрудник Оклад

01.01.2019

Бельдыев 10 000

15.01.2019

Бельдыев 20 000

05.02.2019

Бельдыев 25 000

10.02.2019

Бельдыев 23 000

15.03.2019

Бельдыев 30 000

Получение данных из документа (п.2)

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

Рисунок 7 – Результат первого пакета запроса

Получение плановых начислений (п.3)

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

Рисунок 8 – Результат второго пакета запроса

Получение последней записи по плановым начислениям на начало периода (п.4)

Получим информацию о том, какая запись об изменении оклада действовала на начало начисления заработной платы (в рассматриваемом примере 01.02.2019). Для этого выберем необходимые поля из временной таблицы ВТПлановыеНачисления и с помощью условия ВТПлановыеНачисления.Период <= ВТПлановыеНачисления.НачалоПериода отсечем лишние данные. Чтобы получить последнюю запись, сгруппируем поля, для поля Период воспользуемся функцией Максимум. Поместим результат во временную таблицу ВТПериоды.

Рисунок 9 – Результат третьего пакета запроса

Получение плановых начислений на начало периода (п.5)

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

Рисунок 10 – Результат первого запроса третьего пакета запроса

Получение плановых начислений, которые изменялись в текущем месяце (п.6)

Получим значения плановых начислений, которые изменялись в текущем месяце. Для этого возьмем данные из временной таблицы и наложим условие ВТПлановыеНачисления.Период > ВТПлановыеНачисления.НачалоПериода.

Рисунок 11 – Результат второго запроса четвертого пакета запроса

Группировка данных (п.7)

Секция ИТОГИ позволяет получить сгруппированные и детальные записи по номерам строк табличной части документа с разбивкой по периоду изменения плановых начислений.

В результате выполнения всего четвертого пакета получается следующий результат:

Рисунок 12 – Результат четвертого пакета запроса

Формирование движений (п.8, п.9, п.10)

Для формирования движений сформируем и обойдем выборку в цикле. Для каждой строки документа может быть несколько строк движений (если оклад изменялся несколько раз в текущем месяце).

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

Постановка задачи говорит о том, что расчеты должны производиться в днях, а не в часах, поэтому скорректируем алгоритм обработки ЗаполнениеГрафика так, чтобы в ресурс Значение регистра ГрафикиРаботы записывалась информация о количестве рабочих днях. Для этого откроем модуль объекта обработки и скорректируем процедуру ЗаполнитьГрафик() следующим образом: найдем участки кода, где записывается количество часов равное 8, и заменим на 1, таких мест в модуле 4.

Рисунок 13 – Изменение записи регистра ГрафикРаботы ресурса Значение

Запустим конфигурацию в режиме «1С:Предприятие» и проверим выполненные доработки. Для начала заполним график.

Далее заполним тестовые данные регистра сведений о сотрудниках:

Рисунок 14 – Данные регистра СведенияОСотрудниках

Введем тестовые данные в документ и проведём его.

Рисунок 15 – Пользовательские данные документа НачислениеЗарплаты

Рисунок 16 – Движения документа Начисление зарплаты регистра Основные начисления

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

  • с 15.01 по 04.02 – 20 000
  • с 05.02 по 09.02 – 25 000
  • с 10.02 по 15.03 – 23 000.

В феврале всего 20 рабочих дней. В периоды изменения оклада Бельдыева:

  • с 15.01 по 04.02 – 2 рабочих дня
  • с 05.02 по 09.02 – 4 рабочих дня
  • с 10.02 по 15.03 – 14 рабочих дней

Рассчитаем результат:

  • 01.02 – 04.02: 20 000 * 2 / 20 = 2 000
  • 05.02 – 09.02: 25 000 * 4 / 20 = 5 000
  • 10.02 – 28.02: 23 000 * 14 / 20 = 16 100

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

Перейти к следующей теме:
“Как рассчитать зарплату по шкале ставок в зависимости от отработанного времени” (№ 11)

Настройка нестандартных видов расчета с применением собственных показателей в 1С:ЗУП

Основные процессы в ЗУП 8.3 автоматизированы. Но бывают ситуации, когда пользователи вынуждены вводить какие-то данные вручную. Например, для расчета доплаты по произвольным формулам, в которых используются показатели, не связанные с окладом напрямую или зависящие от него через формулу.

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

Пример 1.

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

  • при монтаже кровли работник получает 1 тыс. руб. за кв. метр;
  • каждое примыкание кровли к круглой трубе стоит 2 тыс. руб.;
  • к квадратной трубе – 1,5 тыс. руб.

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

Как настроить новый постоянный показатель в ЗУП 3.1?

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

Порядок введения всех показателей одинаков. Если организация планирует использовать их постоянно, надо установить галочку рядом со строкой «Во всех месяцах после ввода значения».

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

Настройка ежемесячных показателей

Чтобы ввести данные по сделанным работам, также вводятся показатели. Ниже рассматривается показатель для введения площади перекрытия кровли сотрудником.

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

Не можете разобраться, как настраивать и вводить собственные показатели в 1С:ЗУП? Звоните! Наши специалисты с радостью вам помогут разобраться.

Шаблоны ввода исходных данных

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

Ввод формы документа осуществляется с помощью «Шаблона ввода исходных данных». Этот документ находится в «Настройках». Для каждого вида «Данных для расчета зарплаты» создается отдельный шаблон.

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

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

Там же задаются параметры заполнения. Но в данном примере они использованы не будут.

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

На вкладке «Дополнительно» можно отметить, что данные будут вводиться для нескольких сотрудников:

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

Как создается «Вид начислений» по произвольной формуле?

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

Все делается через меню «Настройки». Тем, кто привык пользоваться ранней версией программы ЗУП 2.5, надо запомнить, что в ЗУП 3 нет дополнительных начислений, есть только основные. Итак, надо создать и настроить начисление, которое называется «Оплата кровельных работ»:

В строке «Назначения» следует выбрать «Прочие начисления и выплаты». Чтобы система могла рассчитать начисление, надо ввести все нужные значения (площадь сделанного участка кровли, выполненные примыкания). Главное при создании начисления – формула. Команда «Редактировать формулу» открывает меню для составления любых формул с использованием всех введенных показателей:

Для данного примера нужна следующая формула:

Расченка за квадратную трубу * Примыкание квадратной трубы + Примыкание круглой трубы * Расченка за круглую трубу + Площадь * Расценка кровельных работ за 1 квадратный метр

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

Если оператор не понимает, как применять произвольные формулы, наши специалисты ответят на все его вопросы и объяснят ему все нюансы!

Введение данных

Чтобы ввести нужные данные выработки, надо зайти в раздел «Зарплата» и выбрать «Данные для расчета зарплаты»:

У этого документа много модификаций. Каждая из них соответствует своему шаблону ввода данных. В открывшемся окне надо ввести расценки для всех видов работ:

Когда все 3 поля заполнены, следует ввести данные по выработке конкретного сотрудника. В рассматриваемом примере работник Крокодилов состоит в штате с октября 2019 года и получает оклад. Данные о доплатах в документе приема отсутствуют:

Далее следует ввести документ «Данные для расчета зарплаты» и заполнить «Показатели для кровельных работ»:

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

Расчет зарплаты

Чтобы рассчитать доплату за кровельные работы, надо в «Начислении зарплаты» выбрать команду «Заполнить». В документе, где содержатся данные о заработке сотрудника Крокодилова, следует заполнить 2 строки:

Удостовериться, что подсчеты выполнены правильно, позволяет команда «Показать подробности расчета».

Там высветится оклад сотрудника и расценки на те виды работ, по которым предусмотрена доплата:

Там же указана выработка данного сотрудника:

Проверка расчета: 23 * 1500 + 23 * 2000 + 10 * 1000 = 90500.

Это начисление не было назначено работнику, оно лишь было выбрано в «Данных для расчета зарплаты».

Чтобы быстро проверить правильность формулы, достаточно поменять количество манипуляций с кровлей в окне расчета данных. Это позволит тут же пересчитать зарплату сотрудника. Например, можно везде установить значение, равное 1, и рассчитать размер оплаты в упрощенном варианте:

Программа выдаст совсем другой результат: 1 * 1500 + 1 * 2000 + 1 * 1000 = 4500.

Если размер доплаты зависит от оклада сотрудника

Пример 2.

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

Количество студентов:

  • от 1 до 5 – процент доплаты будет равен 50%;
  • от 5 до 10 – процент доплаты будет равен 60%;
  • более 10 – процент доплаты будет равен 70%.

Как вводятся показатели?

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

Действие аналогично тому, как вводились показатели по сотруднику в Примере 1. А вот чтобы установить зависимость процента доплаты от числа студентов, показатель придется вводить по-другому:

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

Шаблон ввода

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

Если в организации обучением занимается всего один сотрудник, все данные вводятся на вкладке «Показатели зарплаты». Вкладку «Дополнительно» менять не нужно. Все расчеты программа сделает автоматически.

Как создать новый вид начисления?

Далее надо ввести новое начисление, где будет рассчитываться доплата за обучение студентов:

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

Оклад * Процент доплаты за обучение сотрудников / 100.

Как назначить сотруднику начисление?

В данном примере придется назначить плановое начисление. Это делается в документе «Назначение планового начисления», где в строке «Дата назначения» можно установить ноябрь 2019 года:

Как ввести данные за ноябрь?

Чтобы указать число обучающихся, надо открыть «Данные для расчета зарплаты», документ «Количество студентов». Он появляется после того, как пользователь проведет шаблон с этим названием. На рисунке показаны все виды документа, относящиеся к «Данным данным для расчета зарплаты»:

Документ относится лишь к одному сотруднику, поэтому выглядит не так, как в предыдущем примере. Главное отличие – отсутствие табличной части. Здесь надо ввести количество студентов, которых обучает Крокодилов:

Форма изменилась потому, что на вкладке «Дополнительно» в шаблоне не была установлена галочка «В документе используется несколько сотрудников»:

Итак, показатели, относящиеся к обучению студентов в ноябре, уже введены. Кровельные работы выполнялись в октябре, поэтому данные о них не потребуются. Можно сразу переходить к расчету зарплаты.

Как рассчитать заработную плату?

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

То есть, программа произвела расчет, учитывая количество обучаемых. Их было более 10, поэтому доплата составила 70% от оклада Крокодилова: 20000 * 70 / 100 = 14000.

Из рассмотренных здесь примеров видно, что пользователь легко справится с настройкой собственных показателей. Главное – разобраться, какая формула должна быть использована, и какие данные надо ввести. Не следует бояться вводить в 1С:ЗУП новые варианты начислений! Чтобы попрактиковаться, можно сделать описанные в статье настройки в демонстрационной базе и повторить все вычисления.

Остались вопросы? Закажите бесплатную консультацию наших специалистов!

Понравилась статья? Поделитесь с друзьями!

#1С:ЗУП #Инструкция

Нет времени читать? Пришлем вам на почту!

Заказать бесплатную консультацию эксперта!

Заказать бесплатную консультацию эксперта!

Заказать бесплатную консультацию эксперта!

Заказать бесплатную консультацию эксперта!

Заказать бесплатную консультацию эксперта!

Заказать бесплатную консультацию эксперта!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *