СуммаЗаПериодРасчета

Суммирует определённые начисления/удержания по сотруднику за период расчета.

Синтаксис

ЗаписьСотрудника.СуммаЗаПериодРасчета([ИмяНУ][[От,До]|[, ДатНач, ДатКнц]][, ШПЗ][, Отдел][, Лицо][, Должность])

Параметры

ИмяНУ (текст) – имя вида начисления/удержания или группы начислений/удержаний, по которым будут выбираться суммы.

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

Допускается указывать несколько имён начислений/удержаний через знаки "+" (плюс) или "-" (минус). Соответственно указанные начисления/удержания будут суммироваться или вычитаться.

Если имя начисления/удержания указано в квадратных скобках – "[…]", то будет браться не само это начисление/удержание, а виды, указанные в его таблице зависимостей, с учётом коэффициентов.

Учтите, что имя начисления/удержания должно идти именно первым параметром, иначе оно будет трактоваться, как шифр затрат.

ШПЗ (текст) – шифр затрат. Если указан, то будут суммироваться только значения с этим шифром затрат. Символ "*" (звёздочка) в шифре затрат означает "произвольное количество любых символов".

Параметр "ШПЗ" нельзя указывать первым параметром, в этом случае он будет трактоваться, как имя вида начисления/удержания.

От,До (число) – число месяцев, которые нужно вычесть из текущего месяца расчёта заработной платы, чтобы получить расчётный период функции. Например, необходимо подсчитать сумму начислений по сотруднику за период с января по март, рассматривая июль как текущий месяц расчета. Определяя смещение месяцев относительно текущего, мы должны написать так: СуммаЗаПериодРасчета(…, 6, 4,…).

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

ДатНач,ДатКнц (дата) – даты, задающие начало и конец расчётного периода. Если не указаны и не указан параметр "От,До", то в качестве периода, за который суммируются начисления/удержания по сотруднику, будет выступать месяц, установленный в качестве расчетного в задаче "Зарплата".

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

Лицо (объект) – объект аналитического учёта. Если он указан, выбираются суммы, у которых в поле "Аналитика" указано данное лицо. Если указать в качестве лица "Нет", то функция возьмет все суммы, у которых Лицо не заполнено и пропустит те, у которых Лицо заполнено.

Должность (объект) – запись должности сотрудника. Если указана должность, то сумма будет считаться только по постоянным начислениям/удержаниям указанной должности сотрудника.

Комментарии

Функция "СуммаЗаПериодРасчета" извлекает данные по полю "Дата расчета", то есть функция берёт суммы, рассчитанные в указанный период, независимо от того, за какой месяц начислялись/удерживались эти суммы.

Если функция вызывается в задаче "Зарплата", то суммы извлекаются только по текущий месяц расчёта. То есть не берутся суммы, рассчитанные "в будущем" (относительно текущего месяца расчета). В любой другой задаче комплекса нет понятия "месяц расчёта", поэтому функция будет брать все суммы, попадающие в указанный период.

Возвращает

Число – сумму указанных начислений/удержаний по сотруднику за указанный период.

Примеры

Необходимо посчитать суммы всех начислений из группы "НАЧ" по всем субсчетам 20-ого счёта за текущий месяц расчёта. Для этого можно воспользоваться следующим примером:

оСотр = Лицо("101", "Сотрудники");
Сумма = оСотр.Лицо_.СуммаЗаПериодРасчета("НАЧ", 0, 0, "20-*");

Обратите внимание на звёздочку в конце последнего параметра, благодаря ей, будут взяты все шифры затрат, начинающиеся со строки "20-", то есть и "20-1", и "20-2", и "20-1-1".

Для понимания разницы функций "СуммаЗаПериод" и "СуммаЗаПериодРасчета" давайте рассмотрим следующий фрагмент:

оСотр = Лицо("101", "Сотрудники");
пСумма1 = оСотр.Лицо_.СуммаЗаПериодРасчета("БОЛ");
пСумма2 = оСотр.Лицо_.СуммаЗаПериод("БОЛ",0,0);
пСумма3 = оСотр.Лицо_.СуммаЗаПериод("БОЛ",1,1);

Предположим, что у сотрудника в текущем месяце расчёта оформлен больничный, разбитый на две части: одна за прошедший месяц, вторая – за текущий. В этом случае в "Сумма1" будет сумма всего больничного, поскольку обе части введены в текущем месяце расчёта. А вот в "Сумма2" будет только вторая часть, поскольку у первой части дата начисления – предыдущий месяц. А вот в переменную "Сумма3" попадёт как раз первая часть больничного.

См. также:

•  СуммаЗаПериод

•  СуммаЗаМесяц

•  СуммаЗаГод