Помощь - Поиск - Пользователи - Календарь
Полная версия: метод ПроверитьВывод
1C-PRO - Форум по 1С > Форумы по платформе "1С:Предприятие 8.x" > (8.х) Конфигурирование на платформе "1С:Предприятие 8.x"
Russell82
Усем привед,

ну короче хрен знает что не так делаю,
но при использовании этого метода остается довольно таки много еще места внизу. Процентов наверно 40.
cry_1.gif
lazy
Друг, мы ж здесь не медиумы. :-) Ты бы код, али весь отчёт свой приложил, да скрины того, что у тебя получается при выводе. А то гадать не хочется. :-)
Russell82
Код
	Пока Категории.Следующий() Цикл

Категория = Категории.ПолучитьОбъект().Ссылка;
Если Категория.ПометкаУдаления Тогда
Продолжить;
КонецЕсли;

Отбор = Новый Структура("Категория",Категория);
МассивСтрок = ТаблицаВремени.НайтиСтроки(Отбор);
Если МассивСтрок.Количество() > 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;
КонецЦикла;

МассивСекций.Добавить(ОбластьСотрудник);

Если Таб.ПроверитьВывод(МассивСекций) Тогда
Таб.Вывести(ОбластьСотрудник);
Иначе

Таб.ВывестиГоризонтальныйРазделительСтраниц();
Таб.Вывести(ОбластьЦифры);
Таб.Вывести(ОбластьСотрудник);

МассивСекций.Очистить();
МассивСекций.Добавить(ОбластьЦифры);
МассивСекций.Добавить(ОбластьСотрудник);

КонецЕсли;
//Таб.Вывести(ОбластьСотрудник);
КонецЦикла;
КонецЕсли;
КонецЦикла;



Ну вот это самое безобразие....
Russell82
Кароче, разобралсо :)
lazy
Тыж и другим расскажи, что там было - придут люди через поиск на тему, а ты разобраться то разобрался, а как - человечеству не поведал :)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2009 Invision Power Services, Inc.