Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 19:06

Опять макеты

Автор макс, 15 сен 2010, 05:43

0 Пользователей и 1 гость просматривают эту тему.

макс

С ориентацией разобрался :), вот только печается почему-то в 3 листа, не пойму почему, хотя по размеру влезает на 1

макс

Там походу какое-то разделение, страницы на з части в коде, такое может быть?

Dvdovin

может....может быть всё:)

Dvdovin

ещё посмотри настройки:
Файл -> Параметры страницы-> масштаб установи по ширене страницы

А вообще код выложил бы

макс

Функция СформироватьОтчет(Результат = Неопределено, ДанныеРасшифровки = Неопределено, ВыводВФормуОтчета = Истина) Экспорт

   ЗначениеПанелипользователя = ТиповыеОтчеты.ПолучитьЗначенияНастроекПанелиПользователяОбъекта(ЭтотОбъект);
   НастрокаПоУмолчанию = КомпоновщикНастроек.ПолучитьНастройки();
   ТиповыеОтчеты.ПолучитьПримененуюНастройку(ЭтотОбъект);
   
   Группировка = ТиповыеОтчеты.ДобавитьГруппировку(КомпоновщикНастроек, "Организация");
   ПолеГруппирвоки = Группировка.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
   ПолеГруппирвоки.Поле = Новый ПолеКомпоновкиДанных("Год");
   ПолеГруппирвоки.Использование = истина;
   //Если ЗначениеПанелипользователя <> Неопределено и ЗначениеПанелипользователя.Свойство("ГруппироватьПоПодразделению") и ЗначениеПанелипользователя.ГруппироватьПоПодразделению тогда
   ПолеГруппирвоки = Группировка.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
   ПолеГруппирвоки.Поле = Новый ПолеКомпоновкиДанных("ПодразделениеОрганизации");
   ПолеГруппирвоки.Использование = истина;
   //КонецЕсли;
   Группировка.Имя = "ДобавленнаяЧасть";
   Группировка = ТиповыеОтчеты.ДобавитьГруппировку(КомпоновщикНастроек, "Сотрудник");
   ТиповыеОтчеты.ДобавитьВыбранноеПоле(КомпоновщикНастроек, "ФИО");
   ТиповыеОтчеты.ДобавитьВыбранноеПоле(КомпоновщикНастроек, "ДатаРождения");
   ТиповыеОтчеты.ДобавитьВыбранноеПоле(КомпоновщикНастроек, "Инвалидность");
   ТиповыеОтчеты.ДобавитьВыбранноеПоле(КомпоновщикНастроек, "Оклад");
   ТиповыеОтчеты.ДобавитьВыбранноеПоле(КомпоновщикНастроек, "ДатаПриема");
   ТиповыеОтчеты.ДобавитьВыбранноеПоле(КомпоновщикНастроек, "ДатаУвольнения");
   ТиповыеОтчеты.ДобавитьВыбранноеПоле(КомпоновщикНастроек, "ДатаОтсчета");
   ТиповыеОтчеты.ДобавитьВыбранноеПоле(КомпоновщикНастроек, "РазмерДней");
   ТиповыеОтчеты.ДобавитьВыбранноеПоле(КомпоновщикНастроек, "РазмерМесяцев");
   
   МассивГруппировок = ТиповыеОтчеты.ПолучитьЭлементыСтруктуры(КомпоновщикНастроек);
   
   //Сгенерируем макет компоновки данных при помощи компоновщика макета
   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   
   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки, , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
   //Создадим и инициализируем процессор компоновки
   ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
   
   //Создадим и инициализируем процессор вывода результата
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
   
   ДеревоЗначений = Новый ДеревоЗначений;
   ПроцессорВывода.УстановитьОбъект(ДеревоЗначений);
   ПроцессорВывода.Вывести(ПроцессорКомпоновки, истина);
   
   Макет                          = ПолучитьМакет("форма504418");
   ШапкаКарточки                  = Макет.ПолучитьОбласть("ШапкаКарточки");
   ШапкаКарточки2                 = Макет.ПолучитьОбласть("ШапкаКарточки2");
   СтрокаКадровыхДокументов       = Макет.ПолучитьОбласть("СтрокаКадровыхДокументов");
   СтрокаКадровыхДокументов2      = Макет.ПолучитьОбласть("СтрокаКадровыхДокументов2");
   СтрокаКадровыхДокументовПустая = Макет.ПолучитьОбласть("СтрокаКадровыхДокументовПустая");
   СтрокаКадровыхДокументовПустая2= Макет.ПолучитьОбласть("СтрокаКадровыхДокументовПустая2");
   ШапкаОтпуска                   = Макет.ПолучитьОбласть("ШапкаОтпуска");
   СтрокаОтпуска                  = Макет.ПолучитьОбласть("СтрокаОтпуска");
   СтрокаОтпуска2                 = Макет.ПолучитьОбласть("СтрокаОтпуска2");
   СтрокаОтпускаПустая              = Макет.ПолучитьОбласть("СтрокаОтпускаПустая");
   СтрокаОтпускаПустая2           = Макет.ПолучитьОбласть("СтрокаОтпускаПустая2");
   Подчеркивание                  = Макет.ПолучитьОбласть("Подчеркивание");
   Подчеркивание2                 = Макет.ПолучитьОбласть("Подчеркивание2");
   ШапкаНачислений                  = Макет.ПолучитьОбласть("ШапкаНачислений");
   ШапкаНачислений2               = Макет.ПолучитьОбласть("ШапкаНачислений2");
   ДнейОтработано                  = Макет.ПолучитьОбласть("ДнейОтработано");
   ДнейОтработано2                  = Макет.ПолучитьОбласть("ДнейОтработано2");   
   Начисление                      = Макет.ПолучитьОбласть("Начисление");
   Начисление2                      = Макет.ПолучитьОбласть("Начисление2");
   ВсегоНачислений                  = Макет.ПолучитьОбласть("ВсегоНачислений");
   ВсегоНачислений2               = Макет.ПолучитьОбласть("ВсегоНачислений2");
   ВсегоУдержано                  = Макет.ПолучитьОбласть("ВсегоУдержано");
   ВсегоУдержано2                  = Макет.ПолучитьОбласть("ВсегоУдержано2");
   ВтомЧисле                      = Макет.ПолучитьОбласть("ВтомЧисле");
   ВтомЧисле2                      = Макет.ПолучитьОбласть("ВтомЧисле2");
   Итого                          = Макет.ПолучитьОбласть("Итого");
   Итого2                          = Макет.ПолучитьОбласть("Итого2");
   Шапка3стр                      = Макет.ПолучитьОбласть("Шапка3стр");
   Подвал                        = Макет.ПолучитьОбласть("Подвал");

   
   Результат.Очистить();
   СписокФизЛиц = ПолучитьФизЛиц(ДеревоЗначений);
   Если СписокФизЛиц.Количество() = 0 тогда
      ВывестиПустойОтчет(Результат);
      КомпоновщикНастроек.ЗагрузитьНастройки(НастрокаПоУмолчанию);
      Возврат Результат;
   КонецЕсли;
   
   ВыборкаКадровыхДокументов   = СформироватьДвиженияПоКадровымДокументам(СписокФизЛиц);
   ПлановыеНачисления          = СформироватьДанныеПоПлановымНачислениям(СписокФизЛиц);
   ВыборкаПоОтпускам           = СформироватьДвиженияПоОтпускам(СписокФизЛиц);
   ВыборкаНачислений           = СформироватьНачисления(СписокФизЛиц);
   ВыборкаПоПлановымУдержаниям = СформироватьПлановыеУдержаний(СписокФизЛиц);
   ВыборкаУдержаниий           = СформироватьУдержания(СписокФизЛиц);
   
   Результат.Очистить();
   Результат.НачатьАвтогруппировкуСтрок();
   ПечатьКарточекСчета(Результат, ДеревоЗначений.Строки, 0, МассивГруппировок);
   Результат.ЗакончитьАвтогруппировкуСтрок();
   
   Результат.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
   Результат.ПолеСлева      = 0;
   Результат.ПолеСправа     = 0;
   Результат.АвтоМасштаб    = истина;
   
   КомпоновщикНастроек.ЗагрузитьНастройки(НастрокаПоУмолчанию);
   Возврат Результат;
   
КонецФункции

макс

Где то в коде походу разделитель

макс

Разобрался с разделителями, теперь как уменьшить размеры макета программно?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск