ну короче хрен знает что не так делаю,
но при использовании этого метода остается довольно таки много еще места внизу. Процентов наверно 40.
Пока Категории.Следующий() Цикл
Категория = Категории.ПолучитьОбъект().Ссылка;
Если Категория.ПометкаУдаления Тогда
Продолжить;
КонецЕсли;
Отбор = Новый Структура("Категория",Категория);
МассивСтрок = ТаблицаВремени.НайтиСтроки(Отбор);
Если МассивСтрок.Количество() > 0 Тогда
ОбластьКатегория.Параметры.Категория = Категория;
МассивСекций.Добавить(ОбластьКатегория);
Если Таб.ПроверитьВывод(МассивСекций) Тогда
Таб.Вывести(ОбластьКатегория);
Иначе
Таб.ВывестиГоризонтальныйРазделительСтраниц();
Таб.Вывести(ОбластьЦифры);
Таб.Вывести(ОбластьКатегория);
МассивСекций.Очистить();
МассивСекций.Добавить(ОбластьЦифры);
МассивСекций.Добавить(ОбластьКатегория);
КонецЕсли;
//Таб.Вывести(ОбластьКатегория);
Для Каждого СтрокаТаблицы ИЗ МассивСтрок Цикл
Сотрудник = СтрокаТаблицы.Сотрудник;
Должность = СтрокаТаблицы.Должность;
Подразделение = СтрокаТаблицы.Подразделение;
ГрафикРаботы = СтрокаТаблицы.Табель;
ОбластьСотрудник.Параметры.Заполнить(СтрокаТаблицы);
ОбластьСотрудник.Параметры.НомерСтроки = СтрокаТаблицы.НомерСтроки;
ОбластьСотрудник.Параметры.Сотрудник = Гл_ФИО(Сотрудник) + Символы.ПС + Строка(Должность) + Символы.ПС + Строка(Подразделение) + Символы.ПС + Строка(СтрокаТаблицы.Категория);
ОбластьСотрудник.Параметры.ТабНомер = СтрокаТаблицы.ТабНомер;
ОбластьСотрудник.Параметры["КодВидаОплаты1"] = "";
ОбластьСотрудник.Параметры["Время1"] = "";
ОбластьСотрудник.Параметры["КодВидаОплаты2"] = "";
ОбластьСотрудник.Параметры["Время2"] = "";
ОбластьСотрудник.Параметры["КодВидаОплаты3"] = "";
ОбластьСотрудник.Параметры["Время3"] = "";
ОбластьСотрудник.Параметры.МесяцДн = СтрокаТаблицы.ЗаМесяцДней;
ОбластьСотрудник.Параметры.МесяцЧас = СтрокаТаблицы.ЧасЗаМесяц;
Код = 1;
Если СтрокаТаблицы.Сверх2чЗаМесяц <> 0 ИЛИ СтрокаТаблицы.СверхЗаМесяц <> 0 Тогда
ОбластьСотрудник.Параметры["КодВидаОплаты" + Код] = КодСверхурочные;
ОбластьСотрудник.Параметры["Время"+Код] = СтрокаТаблицы.Сверх2чЗаМесяц + СтрокаТаблицы.СверхЗаМесяц;
Код = Код + 1;
КонецЕсли;
Если СтрокаТаблицы.НочЗаМесяц <> 0 Тогда
ОбластьСотрудник.Параметры["КодВидаОплаты" + Код] = КодНочные;
ОбластьСотрудник.Параметры["Время"+Код] = СтрокаТаблицы.НочЗаМесяц;
Код = Код + 1;
КонецЕсли;
Если СтрокаТаблицы.ВечЗаМесяц <> 0 Тогда
ОбластьСотрудник.Параметры["КодВидаОплаты" + Код] = КодВечерние;
ОбластьСотрудник.Параметры["Время" + Код] = СтрокаТаблицы.ВечЗаМесяц;
КонецЕсли;
ОтработанноеВремяЗаПолМесяца1 = ОтработанноеВремяЗаПоловинуМесяца(1,СтрокаТаблицы);
ОтработанноеВремяЗаПолМесяца2 = ОтработанноеВремяЗаПоловинуМесяца(2,СтрокаТаблицы);
ОбластьСотрудник.Параметры.ПолМесяцаДн = ОтработанноеВремяЗаПолМесяца1.Дни;
ОбластьСотрудник.Параметры.ПолМесяцаЧас = ОтработанноеВремяЗаПолМесяца1.Часы;
ОбластьСотрудник.Параметры.ПолМесяцаДн2 = ОтработанноеВремяЗаПолМесяца2.Дни;
ОбластьСотрудник.Параметры.ПолМесяцаЧас2 = ОтработанноеВремяЗаПолМесяца2.Часы;
ТаблицаНеявокСотруднега = ПолучитьНеявки(Новый Структура("Сотрудник,Должность,Подразделение,ГрафикРаботы",Сотрудник,Должность,Подразделение,ГрафикРаботы));
Для у = 1 По 8 Цикл
ОбластьСотрудник.Параметры["Код" + у] = "";
ОбластьСотрудник.Параметры["Дни" + у] = "";
КонецЦикла;
й = 1;
Для Каждого СтрокаТН ИЗ ТаблицаНеявокСотруднега Цикл
ОбластьСотрудник.Параметры["Код" + й] = СтрокаТН.Обозначение;
ОбластьСотрудник.Параметры["Дни" + й] = СтрокаТН.Дни;
й = й + 1;
КонецЦикла;
МассивСекций.Добавить(ОбластьСотрудник);
Если Таб.ПроверитьВывод(МассивСекций) Тогда
Таб.Вывести(ОбластьСотрудник);
Иначе
Таб.ВывестиГоризонтальныйРазделительСтраниц();
Таб.Вывести(ОбластьЦифры);
Таб.Вывести(ОбластьСотрудник);
МассивСекций.Очистить();
МассивСекций.Добавить(ОбластьЦифры);
МассивСекций.Добавить(ОбластьСотрудник);
КонецЕсли;
//Таб.Вывести(ОбластьСотрудник);
КонецЦикла;
КонецЕсли;
КонецЦикла;