Доработал для своей ситуации (множество внутренних совместителей на суммированном учёте и сменном графике) Ваш отчёт.
По поводу того, что делать с внутренними совместителями на суммированном учёте мы тут пришли к мнению, что рассчитывать раздельно по основным и совместителям, а потом складывать средний заработок нельзя, т. к. понятия нормы времени для таких совместителей нет. Во-первых, они не могут работать больше половины нормы основного сотрудника, а во-вторых при сменном графике они могут отработать 5 часов за 3 месяца, а остальные дня выходные (не отпуск за свой счёт) и это всё законно.
В итоге среднечасовой заработок считается от суммы фактически отработанных часов и зарплаты основного и совместителя,
а индивидуальная норма часов (за вычетом периодов по п. 4 положения) - сложным 16-этажным запросом - только для основного сотрудника.
В помощь, если кто захочет повторить:
В общем, сделал в цикле по сотрудникам физлица заполнение и расчёт документа оплата по среднему и взял у документа совместителя табличную часть РасчетСреднего и подгрузил её в документ основного, после чего пересчитал документ основного, типа того :
Если ВсегоСотрудников>1 Тогда
ДокументОплатаПоСреднемуЗаработку.РасчетСреднего.Загрузить(ТЗПоСреднему);
ДокументОплатаПоСреднемуЗаработку.Записать();
ДокументОплатаПоСреднемуЗаработку.Рассчитать(Новый Структура("Начисления,РасчетСреднего",Истина,Ложь), Истина);
ДокументОплатаПоСреднемуЗаработку.Записать(РежимЗаписиДокумента.Проведение);
КонецЕсли;
Определение среднечасового заработка:
СреднечасовойЗаработок = ОплатаПоСреднемуЗаработкуПереопределяемый.РасчетСреднегоЗаработка(ДокументОплатаПоСреднемуЗаработку, Истина, МесяцевРасчетногоПериода, ДокументОплатаПоСреднемуЗаработку.ПериодРасчетаСреднегоЗаработкаНачало, ДокументОплатаПоСреднемуЗаработку.ПериодРасчетаСреднегоЗаработкаОкончание);
Чтобы в таблицу отсутствий попадали больничные, а они туда должны попадать переписал запрос:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Начисления.Сотрудник,
Начисления.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени КАК ПричинаОтсутствия,
Начисления.ПериодДействияНачало КАК ДатаОтсутствияНачала,
Начисления.ПериодДействияКонец КАК ДатаОтсутствияОкончания
ИЗ
РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК Начисления
ГДЕ
Начисления.Сотрудник = &Сотрудник
и Начисления.ВидРасчета.ВидВремени = Значение(Перечисление.ВидыВремени.ЦелодневноеНеотработанное)
и Начисления.ВидРасчета<>Значение(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ДниНеоплачиваемыеСогласноТабелю)
и Начисления.ВидРасчета<>Значение(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОплатаПоСреднемуОтпКалендарныеДни)
И Начисления.ПериодДействияКонец >= &ГраницаОтсутствий
УПОРЯДОЧИТЬ ПО
ДатаОтсутствияНачала
Показать