Подскажите, можно ли вид времени "Командировка" из табеля учитывать как отработанное время для среднего заработка.
Получается как, сотрудник устроен работал 5 дней едет в командировку на месяц, возвращается и снова едет в командировку на месяц.
получается, что для расчета среднего у него всего 5 отработанных дней а значит сумма премий итд будет делиться на 5 дней и у него будет запредельный средний заработок.
А вот пункты отработано часов и отработано дней не проставляет. Можно ли как то включить командировки в средний заработок?
(1) Командировки сами оплачиваются по среднему заработку, а вы хотите этот средний ещё раз включать в средний заработок. К тому же пребывание в командировке это не работа, а исполение поручения работодателя, а по ПП 922 средний заработок рассчитывается исключительно из заработка. Если хотите, чтобы не было "запредельных сумм среднего, лучше выплатить за командировку отдельную премию, по ст. 191 ТК РФ, которая не входит в оплату труда (ст. 129 ТК РФ) и не будет с соответствующими настройками учитываться при расчёте среднего.
- я не хочу) Я показал реализацию устроившую заказчиков - методологическая проработка на их стороне. Помню, что там спорный момент по которому разные позиции у МинТруда и ФНС. Могу только сказать, что это реализовано в компании с несколькими сотнями сотрудников и 4- й год эти изменения 'живут' и не вызывают нареканий.
(3) давайте прикинем, пришел сотрудник через 5 дней едет в командировку, получает 250к, приезжает на 5 дней и снова едет и снова 250к получает итд ... ну я примерно ... а потом идет в отпуск и у него средний заработок 50000 в день ... умножаете на отпуск и получаете 1,400,000 отпускных, я примерно прикинул, что бы вы понимали о чем я.
Если это не сделать в программе, то бух все равно будет пересчитывать, представьте удивление когда больничный будет получать такой сотрудник =)
(1) Штатно нет, нужна небольшая доработка - 2 строчки в общих модулях
привожу листинг где я менял (коммент zomi , ввели также специальную константу)
см. Общий модуль УчетСреднегоЗаработка :
// Процедура выполняет регистрацию данных о начисленных суммах и отработанном времени
// для использования при расчете общего среднего заработка.
//
// Параметры: см. комментарий к методу ЗарегистрироватьДанныеСреднегоЗаработка.
//
Процедура ЗарегистрироватьДанныеОбщегоСреднегоЗаработка(Движения, Отказ, МенеджерВременныхТаблиц, ЗаписыватьДвижения = Ложь)
// Время нахождения работника в служебной командировке,
// а также начисленные за это время суммы исключаются при исчислении среднего заработка.
// - определяем начисления, которые зависят от расчета времени и при этом не вытесняются командировкой,
// - определяем фактический период действия командировок этих сотрудников в выбранных периодах действия,
// - при регистрации начислений:
// * получаем расчетную базу таких начислений за периоды командировок,
// * вычитаем расчетную базу из регистрируемых начислений,
// - при регистрации времени:
// * получаем данные времени выбранных начислений за фактический период действия командировок,
// * вычитаем количество дней и часов из регистрируемого отработанного времени.
// Если нет таких начислений или не случилось командировок, ничего не делаем, добавляем пустышку в запрос.
ИсключатьВПериодКомандировок = Истина;
//Jira BASE1-2464 zomi 28.03.19
Если Константы.Jira_ВключатьВСреднийЗаработокДоплатыКомандировка.Получить() Тогда //РольДоступна("Jira_Служебная") И
Сообщить("Включаем в расчет среднего заработка доплаты при командировках", СтатусСообщения.Важное);
ИсключатьВПериодКомандировок = Ложь;
КонецЕсли;
//Jira BASE1-2464 zomi 28.03.19
СоздатьВТДляИсключенияКомандировок(МенеджерВременныхТаблиц, ИсключатьВПериодКомандировок);
ЗарегистрироватьНачисленияДляРасчетаОбщегоСреднегоЗаработка(Движения, Отказ, МенеджерВременныхТаблиц, ИсключатьВПериодКомандировок, ЗаписыватьДвижения);
ЗарегистрироватьДанныеВремениДляРасчетаОбщегоСреднегоЗаработка(Движения, Отказ, МенеджерВременныхТаблиц, ИсключатьВПериодКомандировок, ЗаписыватьДвижения);
КонецПроцедуры
// Создает временную таблицу ВТИсключаемыеВПериодКомандировки, если есть исключаемые периоды,
// будет создана таблица ВТПериодыКомандировок.
//
// Параметры:
// МенеджерВременныхТаблиц - менеджер временных таблиц, должен содержать таблицу ВТНачисления
// с полями Сотрудник,Начисление,ПериодДействия
// ИсключатьНачисленияВПериодКомандировок - Булево, переменная для оповещение вызывающей стороны о результатах работы.
//
Процедура СоздатьВТДляИсключенияКомандировок(МенеджерВременныхТаблиц, ИсключатьНачисленияВПериодКомандировок) Экспорт
УдалитьВТ = Новый Массив;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("КатегорииПрогула", ПланыВидовРасчета.Начисления.КатегорииПрогула());
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВидыКомандировок.Ссылка,
| Начисления.Начисление КАК ВидРасчета,
| ВЫБОР
| КОГДА ИсключаемыеВПериодКомандировки.ЗачетОтработанногоВремени
| ИЛИ ИсключаемыеВПериодКомандировки.КатегорияНачисленияИлиНеоплаченногоВремени В (&КатегорииПрогула)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ИсключатьВремя
|ПОМЕСТИТЬ ВТИсключаемыеВПериодКомандировки
|ИЗ
| ВТНачисления КАК Начисления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовРасчета.Начисления КАК ВидыКомандировок
| ПО (ВидыКомандировок.КатегорияНачисленияИлиНеоплаченногоВремени = ЗНАЧЕНИЕ(Перечисление.КатегорииНачисленийИНеоплаченногоВремени.ОплатаКомандировки)
| ИЛИ ВидыКомандировок.КатегорияНачисленияИлиНеоплаченногоВремени = ЗНАЧЕНИЕ(Перечисление.КатегорииНачисленийИНеоплаченногоВремени.ДенежноеСодержаниеНаПериодКомандировки))
| И (ВидыКомандировок.ЗачетНормыВремени)
| И (ВидыКомандировок.Ссылка <> Начисления.Начисление)
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовРасчета.Начисления КАК ИсключаемыеВПериодКомандировки
| ПО (ИсключаемыеВПериодКомандировки.Ссылка = Начисления.Начисление)
| И (ИсключаемыеВПериодКомандировки.ТребуетсяРасчетВремени)
| И (НЕ ИСТИНА В
| (ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
| ИЗ
| ПланВидовРасчета.Начисления.ВытесняющиеВидыРасчета КАК ВытесняющиеВидыРасчета
| ГДЕ
| ВытесняющиеВидыРасчета.Ссылка = Начисления.Начисление
| И ВытесняющиеВидыРасчета.ВидРасчета = ВидыКомандировок.Ссылка))
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА КАК Поле1
|ИЗ
| ВТИсключаемыеВПериодКомандировки КАК ИсключаемыеВПериодКомандировки";
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
ИсключатьНачисленияВПериодКомандировок = Ложь;
Возврат;
КонецЕсли;
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ФПДКомандировки.Регистратор КАК Регистратор,
| ФПДКомандировки.НомерСтроки КАК НомерСтроки,
| ФПДКомандировки.Сотрудник КАК Сотрудник,
| ФПДКомандировки.ВидРасчета КАК ВидРасчета,
| ФПДКомандировки.ПериодДействияНачало КАК Начало,
| ФПДКомандировки.ПериодДействияКонец КАК Окончание,
| ФПДКомандировки.СторнируемыйДокумент КАК СторнируемыйДокумент
|ПОМЕСТИТЬ ВТПериодыКомандировокПредварительно
|ИЗ
| РегистрРасчета.Начисления.ФактическийПериодДействия(
| (Сотрудник, ПериодДействия) В
| (ВЫБРАТЬ
| Начисления.Сотрудник,
| Начисления.ПериодДействия
| ИЗ
| ВТНачисления КАК Начисления)
| И ВидРасчета В
| (ВЫБРАТЬ
| ВидыКомандировок.Ссылка
| ИЗ
| ВТИсключаемыеВПериодКомандировки КАК ВидыКомандировок)
| И СторноТекущегоПериода = НЕОПРЕДЕЛЕНО) КАК ФПДКомандировки
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПериодыКомандировокСторно.СторнируемыйДокумент КАК СторнируемыйДокумент
|ПОМЕСТИТЬ ВТСторнируемыеДокументы
|ИЗ
| ВТПериодыКомандировокПредварительно КАК ПериодыКомандировокСторно
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТПериодыКомандировокПредварительно КАК ПериодыКомандировокПредварительно
| ПО ПериодыКомандировокСторно.СторнируемыйДокумент = ПериодыКомандировокПредварительно.Регистратор
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ПериодыКомандировокПредварительно.Регистратор КАК Регистратор,
| ПериодыКомандировокПредварительно.НомерСтроки КАК НомерСтроки,
| ПериодыКомандировокПредварительно.Сотрудник КАК Сотрудник,
| ПериодыКомандировокПредварительно.ВидРасчета КАК ВидРасчета,
| ПериодыКомандировокПредварительно.Начало КАК Начало,
| ПериодыКомандировокПредварительно.Окончание КАК Окончание
|ПОМЕСТИТЬ ВТПериодыКомандировок
|ИЗ
| ВТПериодыКомандировокПредварительно КАК ПериодыКомандировокПредварительно
| ЛЕВОЕ СОЕДИНЕНИЕ ВТСторнируемыеДокументы КАК СторнируемыеДокументы
| ПО ПериодыКомандировокПредварительно.Регистратор = СторнируемыеДокументы.СторнируемыйДокумент
| ЛЕВОЕ СОЕДИНЕНИЕ ВТСторнируемыеДокументы КАК СторнирующиеДокументы
| ПО ПериодыКомандировокПредварительно.СторнируемыйДокумент = СторнирующиеДокументы.СторнируемыйДокумент
|ГДЕ
| СторнируемыеДокументы.СторнируемыйДокумент ЕСТЬ NULL
| И СторнирующиеДокументы.СторнируемыйДокумент ЕСТЬ NULL
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА КАК Поле1
|ИЗ
| ВТПериодыКомандировок КАК ФПДКомандировки";
РезультатЗапроса = Запрос.Выполнить();
УдалитьВТ.Добавить("ВТПериодыКомандировокПредварительно");
УдалитьВТ.Добавить("ВТСторнируемыеДокументы");
ЗарплатаКадры.УничтожитьВТ(МенеджерВременныхТаблиц, УдалитьВТ);
Если РезультатЗапроса.Пустой() Тогда
ИсключатьНачисленияВПериодКомандировок = Ложь;
Возврат;
КонецЕсли;
//Jira BASE1-2464 zomi 28.03.19
Если Константы.Jira_ВключатьВСреднийЗаработокДоплатыКомандировка.Получить() Тогда
ИсключатьНачисленияВПериодКомандировок = Ложь;
Возврат;
КонецЕсли;
//Jira BASE1-2464 zomi 28.03.19
ИсключатьНачисленияВПериодКомандировок = Истина;
КонецПроцедуры
Кажется, вам надо не чтобы дни в командировке включались в отработано дней(тогда у вас средний все равно неверный будет, вы же получается будете зарплату основную делить на большее количество дней), а чтобы сумма премии включалась при расчете премии пропорционально отработанному времени. Переставьте настройку в премии на "Премии, учитываемые частично", кажется что это то, что вам нужно.
(1) Премии бывают разные. Если укажите, что премию надо пересчитывать пропорционально отработанному времени, то в средний войдет она не вся, а только та, которая приходится на явки без командировок. Например: СуммаПремии / 20 дней план * 5 дней явки.
Если отработанного времени будет = 0, то вообще не войдет.
(9) У вас премия попадает в премия учитываемая полностью. Если она будет попадать в премия учитываемая частично, то будет попадать в средний не вся.
Что бы проще объяснить.
Средний заработок регламентируется ТК РФ и Положением 123. Вы его поменять и нарушать не можете. По этому закону время командировок исключается. Что 1С и делает.
Раз вы не можете поменять ТК РФ и Положение 123, то меняйте свою систему мотивации, либо настройку премии, что бы она включалась частично.
Дело не в том как учитывается премия, а в том что есть Числитель и Знаменатель!
Где в числителе стоит премия, а в знаменателе 0. 0 потому что человек был в командировке.
Надо что бы дни в командировке, по табелю и часы попадали в расчет среднего заработка.
Но ты не объяснишь буху, ей плевать, а я че должен теперь хлопнуть дверью и сказать "увольняюсь, вы не верно считаете командировки, мне так на форуме сказали! Теперь форум будет кормить моих детей! "
(17) Антон, вы не слышите. Сделайте другой вид расчета премии, аналогичный текущему, только или исключите его из расчета среднего заработка, или укажите как частично учитываемую и начисляйте ему премию отдельным документом. Тогда средний будет исчисляться только из оклада или из оклада + часть премии, пропорционально отработанному времени (но за учётный период!). Ведь время командировки вы обязаны по ПП 922 исключить из расчёта. Иначе у вас всегда будет "херь какая то".
Я прекрасно знаю как учитывается премия, я знаю как рассчитывается среднее в командировках, но тут сидит "Баба Клава" и срать она хотела, на чье либо мнение, ей надо так!
Вы конечно ярые Гардемарины, я вас ценю и понимаю, но ей срать =))) по этому я пришел попросить помощи =)
(14)Ну вы ей контрпример. Человек в командировке, но за этот месяц нет премии. Получается в расчет среднего попадет только к примеру 5000 оклада из 40000 за полный месяц, а отработано дней будет целиком за месяц? Средний существенно занизится, ее ж на вилы первую посадят)
(18)Ну смотрите, у человека оклад 40000 тысяч, норма 20 дней, 5 дней он работает("Я"), 15 дней в командировке("К"), т.е, по логике буха, человек отработал полный месяц(для среднего).
Оклад он получит 40000/20*5 = 10000 р.
При вашем варианте в средний ему попадет сумма 10000(сумму командировочных же мы не включаем в расчет среднего), а количество дней - полное.
(15) в том и дело, что есть сотрудник с Окладом и Премией и у него 0 Явок, получается если у него
"полностью премию учитывать" = средний заработок по 100.000
"если частично" = то херь какая то.
В чем? В том что сотрудник по окладу не работал, а премию получил? А за что он её получил? К празднику?
Если получил за время в командировке, то это система мотивации таковая, что бы сотрудники в командировки чаще ездили и за это будут больше получать.
Ещё вариант время командировки не начислять по среднему заработку, а платить по окладу. Т.е. для сотрудников разъезды это и есть их обычное время провождение. :-) Но это дело надо всё правильно оформить.
Если вы включите в отработанное время командировку, которую рассчитываете не по окладу, а по среднему, то любая трудовая инспекция вас легко нагреет за включение этого времени в отработанное и заставит не только штраф заплатить, но и пересчитать.
(24) Тогда как полный оклад получается как в (21)?
Бухгалтера и финансисты уже должны до конца определиться либо это оклад либо по среднему. А то как-то на половину. Тут смотреть, тут не смотреть, а тут я рыбу заворачивал. :-)