Отчет Переработки - аналог документа "Регистрация переработок" (Зарплата- Регистрация переработок) для расчета переработок сотрудников.
Удобно использовать для контроля за переработками для сотрудников с суммированным учетом времени. Отчет имеет два параметра - Период, за который рассчитываются переработки и Организация
Реализован в виде внешнего отчета, который можно подключать как дополнительный отчет в конфигурацию.
Отчет формируется программно, функционал отчета создан адаптацией функционала документа "Регистрация переработок".
Учтено возможное использование в рассылке отчетов.
Ниже часть кода, в котором можно увидеть, как реализуется "неотправка" пустого отчета при использовании рассылки отчетов.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Настройки = КомпоновщикНастроек.ПолучитьНастройки(); // настройки отчета
ПериодОтчета =
КомпоновщикНастроек.ПолучитьНастройки().ПараметрыДанных.Элементы.Найти("ПериодОтчета").Значение;
Организация =
КомпоновщикНастроек.ПолучитьНастройки().ПараметрыДанных.Элементы.Найти("Организация").Значение;
ТЗ = Новый ТаблицаЗначений;
Если ЗначениеЗаполнено(Организация) Тогда
// Получаем список сотрудников, работавших на суммированном учете в этот период.
МассивСотрудников = ЗаполнитьСотрудниковНовый(Организация,ПериодОтчета.ДатаНачала,ПериодОтчета.ДатаОкончания);
ТЗ=РассчитатьСотрудниковНовый(МассивСотрудников,ПериодОтчета.ДатаНачала,ПериодОтчета.ДатаОкончания);
КонецЕсли;
Если ТЗ.Количество()>0 Тогда
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
// Инициализирую макет компоновки используя схему компоновки данных
// и созданные ранее настройки и данные расшифровки
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,
Настройки, ДанныеРасшифровки);
// компоновка результата
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,
Новый Структура("Данные", ТЗ),
ДанныеРасшифровки);
ДокументРезультат.Очистить();
// Вывод в табличный документ
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
Иначе
ДопСвойства=КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства;
ДопСвойства.Вставить("ОтчетПустой",Истина);
КонецЕсли;
КонецПроцедуры
Проверялась на редакции конфигурации ЗУП 3.1.2.238. Платформа 8.3.9.2170