Печать в портретном режиме, а хочу ландшафт!
Внешняя форма СФ с выбором подписантов
Везде, где только можно (и видимо, там где нельзя) наставил:
ТабДокумент.ОриентацияСтраницы ориентацияСтраницы.Ландшафт;
пробовал и
ТабДокумент.КлючПараметровПечати = «Параметры_Печати_СФ_1137»;
после чего в параметрах страницы менял на ландшафт, печатал, потом открываешь снова — опять 25 = портрет
Как сделать ландшафт?
ТабДокумент.ОриентацияСтраницы = ориентацияСтраницы.Ландшафт;
ТабДокумент.ОриентацияСтраницы = ориентацияСтраницы.Ландшафт;
чтобы наверняка?
Возврат ТабДокумент;
тогда перед ней
Процедура ПриОткрытии()
ТабДокумент = Новый ТабличныйДокумент;
Если Корректировочный Тогда
ТабДокумент = ПечатьКорректировочногоСчетаФактуры1137(СсылкаНаОб ъект);
Иначе
ТабДокумент = ПечатьСчетаФактуры1137(СсылкаНаОбъект);
КонецЕсли;
ТабДокумент.ПолеСверху = 13;
ТабДокумент.ПолеСлева = 0;
ТабДокумент.ПолеСнизу = 0;
ТабДокумент.ПолеСправа = 0;
ТабДокумент.ВерхнийКолонтитул.Выводить = Истина;
ТабДокумент.ВерхнийКолонтитул.НачальнаяСтраница = 2;
ТабДокумент.ВерхнийКолонтитул.ВертикальноеПоложени е = ВертикальноеПоложение.Низ;
ЗаголовокДляПечати = ОбщегоНазначения.СформироватьЗаголовокДокумента(Сс ылкаНаОбъект, «Счет-фактура») + » г.»;
ТабДокумент.ВерхнийКолонтитул.ТекстСлева = ЗаголовокДляПечати;
ТабДокумент.ВерхнийКолонтитул.ТекстСправа = «Лист [&НомерСтраницы]»;
ЭтаФорма.Заголовок = ЗаголовокДляПечати;
Элементыформы.ПолеТабличногоДокумента.ВставитьОбла сть(ТабДокумент.Область());
ЭлементыФормы.ПолеТабличногоДокумента.ОтображатьЗа головки = Ложь;
ЭлементыФормы.ПолеТабличногоДокумента.ОтображатьСе тку = Ложь;
ЭлементыФормы.ПолеТабличногоДокумента.Защита = Истина;
ЭлементыФормы.ПолеТабличногоДокумента.ТолькоПросмо тр = Истина;
Функция ПечатьСчетаФактуры1137(Ссылка) Экспорт
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.КлючПараметровПечати = «СчетФактура1137СчетФактура1137»;
Макет = ПолучитьМакет(«СчетФактура1137»);
ДанныеДляПечати = Неопределено;
УчетнаяПолитика = Неопределено;
СобратьДанныеДляПечати(Ссылка, ДанныеДляПечати, УчетнаяПолитика);
Если ТипЗнч(ДанныеДляПечати) = Тип(«Соответствие») Тогда
Возврат Ложь;
ИначеЕсли ДанныеДляПечати = Неопределено Тогда
Возврат Ложь;
КонецЕсли;
РеквизитыСФ = ОбщегоНазначения.ПолучитьЗначенияРеквизитов(Ссылка ,
«Дата,ВидСчетаФактуры,Исправление,НомерИсправления ,ДоговорКонтрагента»);
Дата = РеквизитыСФ.Дата;
ВидСчетаФактуры = РеквизитыСФ.ВидСчетаФактуры;
Исправление = РеквизитыСФ.Исправление;
НомерИсправления = РеквизитыСФ.НомерИсправления;
ДоговорКонтрагента = РеквизитыСФ.ДоговорКонтрагента;
СведенияОбПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице (ДанныеДляПечати.Покупатель, СсылкаНаОбъект.Дата);
СведенияОПоставщике = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице (ДанныеДляПечати.Поставщик, СсылкаНаОбъект.Дата);
ОбластьМакета = Макет.ПолучитьОбласть(«Шапка»);
ОбластьМакета.Параметры.Заполнить(ДанныеДляПечати) ;
Если СсылкаНаОбъект.Исправление Тогда
ОбластьМакета.Параметры.НомерИсправления = «Исправление №» + Строка(СсылкаНаОбъект.НомерИсправления) + » от » + Формат(СсылкаНаОбъект.Дата, «ДФ=’дд ММММ гггг'») + » г.»;
Иначе
ОбластьМакета.Параметры.НомерИсправления = «Исправление № — от —«;
КонецЕсли;
ОбластьМакета.Параметры.ПредставлениеПоставщика = «Продавец: »
+ ФормированиеПечатныхФорм.ОписаниеОрганизации(Сведе нияОПоставщике, «НаименованиеДляПечатныхФорм,»);
ОбластьМакета.Параметры.АдресПоставщика = «Адрес: » + ФормированиеПечатныхФорм.ОписаниеОрганизации(Сведе нияОПоставщике, «ЮридическийАдрес,»);
Если НЕ (СсылкаНаОбъект.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.Налоговы йАгент
И СсылкаНаОбъект.ДоговорКонтрагента.ВидАгентскогоДог овора = Перечисления.ВидыАгентскихДоговоров.Нерезидент) Тогда
КПП = ФормированиеПечатныхФорм.ОписаниеОрганизации(Сведе нияОПоставщике, «КПП,», Ложь);
Если ЗначениеЗаполнено(КПП) Тогда
КПП = «/» + КПП;
КонецЕсли;
ОбластьМакета.Параметры.ИННпоставщика = «ИНН/КПП продавца: »
+ ФормированиеПечатныхФорм.ОписаниеОрганизации(Сведе нияОПоставщике, «ИНН,», Ложь) + КПП;
Иначе
ОбластьМакета.Параметры.ИННпоставщика = «ИНН/КПП продавца: —»
КонецЕсли;
ЗаголовокДляПечати = ОбщегоНазначения.СформироватьЗаголовокДокумента(Да нныеДляПечати, «Счет-фактура»);
ОбластьМакета.Параметры.Номер = ЗаголовокДляПечати;
Если СсылкаНаОбъект.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАванс Тогда
ОбластьМакета.Параметры.ПредставлениеГрузоотправит еля = «Грузоотправитель и его адрес: —«;
ОбластьМакета.Параметры.ПредставлениеГрузополучате ля = «Грузополучатель и его адрес: —«;
СведенияОГрузоотправителе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице (
?(ДанныеДляПечати.Грузоотправитель = «он же», Неопределено, ДанныеДляПечати.Грузоотправитель), СсылкаНаОбъект.Дата);
СведенияОГрузополучателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице (
ДанныеДляПечати.Грузополучатель, СсылкаНаОбъект.Дата);
Иначе
Если ЗначениеЗаполнено(Строчка.СтранаПроисхождения) Тогда
ОбластьМакета.Параметры.ПредставлениеСтраны = СокрЛП(Строчка.СтранаПроисхождения.Наименование);
КонецЕсли;
КонецЕсли;
// Проставляем прочерки в незаполненные графы в соответствии с Постановлением
Если СсылкаНаОбъект.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАванс Тогда
ОбластьМакета.Параметры.Количество = «—«;
ОбластьМакета.Параметры.Цена = «—«;
ОбластьМакета.Параметры.Стоимость = «—«;
ОбластьМакета.Параметры.Акциз = «—«;
ОбластьМакета.Параметры.СтранаПроисхожденияКод = «—«;
ОбластьМакета.Параметры.ПредставлениеСтраны = «—«;
ОбластьМакета.Параметры.ПредставлениеГТД = «—«;
Если НЕ ЗначениеЗаполнено(ОбластьМакета.Параметры.ЕдиницаИ змерения) Тогда
ОбластьМакета.Параметры.ЕдиницаИзмерения = «—«;
ОбластьМакета.Параметры.ЕдиницаИзмеренияКод = «—«;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьМакета.Параметры.ЕдиницаИ змеренияКод) Тогда
ОбластьМакета.Параметры.ЕдиницаИзмеренияКод = «—«;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьМакета.Параметры.Количест во) Тогда
ОбластьМакета.Параметры.Количество = «—«;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ОбластьМакета.Параметры.Цена) Тогда
ОбластьМакета.Параметры.Цена = «—«;
КонецЕсли;
ОбластьМакета.Параметры.СтранаПроисхожденияКод = «—«;
ОбластьМакета.Параметры.ПредставлениеСтраны = «—«;
ОбластьМакета.Параметры.ПредставлениеГТД = «—«;
// Проверим возможность вывода табличного документа
СтрокаСПодвалом = Новый Массив;
СтрокаСПодвалом.Добавить(ОбластьМакета);
Если НомерСтроки = КоличествоСтрок Тогда
// Если последняя строка, то должен поместится итог и подвал
СтрокаСПодвалом.Добавить(ОбластьМакетаИтого);
СтрокаСПодвалом.Добавить(ОбластьМакетаПодвал);
КонецЕсли;
Если НЕ ФормированиеПечатныхФорм.ПроверитьВыводТабличногоД окумента(ТабДокумент, СтрокаСПодвалом) Тогда
Если КоличествоСтрок > 0 Тогда
// Вывод разделителя и заголовка таблицы на новой странице
ТабДокумент.ВывестиГоризонтальныйРазделительСтрани ц();
ТабДокумент.Вывести(ОбластьМакетаЗаголовокТаблицы) ;
КонецЕсли;
ИтогоСтоимость = ИтогоСтоимость + Строчка.СуммаБезНДС;
ИтогоСуммаНДС = ИтогоСуммаНДС + Строчка.СуммаНДС;
ИтогоВсего = ИтогоВсего + Строчка.СуммаСНДС;
Если ВыборкаСтрокТовары.Количество() > 0 Тогда
ТабДокумент.Область(ТабДокумент.ВысотаТаблицы,,Таб Документ.ВысотаТаблицы,).ВместеСоСледующим = Истина;
КонецЕсли;
// Выводим строку «Всего к оплате»
Если СсылкаНаОбъект.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАванс Тогда
ОбластьМакетаИтого.Параметры.ИтогоСтоимость = «—«;
Иначе
ОбластьМакетаИтого.Параметры.ИтогоСтоимость = ИтогоСтоимость;
КонецЕсли;
Если СчетФактураБезНДС Тогда
ОбластьМакетаИтого.Параметры.ИтогоСуммаНДС = «без НДС»;
Иначе
ОбластьМакетаИтого.Параметры.ИтогоСуммаНДС = ИтогоСуммаНДС;
КонецЕсли;
ОбластьМакетаИтого.Параметры.ИтогоВсего = ИтогоВСего;
Если СсылкаНаОбъект.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.Налоговы йАгент Тогда
ОбластьМакетаПодвал.Параметры.Свидетельство = ФормированиеПечатныхФорм.ОписаниеОрганизации(Сведе нияОбПокупателе, «Свидетельство,»);
Иначе
ОбластьМакетаПодвал.Параметры.Свидетельство = ФормированиеПечатныхФорм.ОписаниеОрганизации(Сведе нияОПоставщике, «Свидетельство,»);
КонецЕсли;
// Устанавливаем параметры печати и колонтитулы
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабДокумент.ПолеСверху = 13;
ТабДокумент.ПолеСлева = 0;
ТабДокумент.ПолеСнизу = 0;
ТабДокумент.ПолеСправа = 0;
Если ТипЗнч(СсылкаНаОбъект.ДокументОснование) <> Тип(«ДокументСсылка.ОказаниеУслуг») Тогда
ТабДокумент.ВерхнийКолонтитул.Выводить = Истина;
ТабДокумент.ВерхнийКолонтитул.НачальнаяСтраница = 2;
ТабДокумент.ВерхнийКолонтитул.ВертикальноеПоложени е = ВертикальноеПоложение.Низ;
ТабДокумент.ВерхнийКолонтитул.ТекстСлева = ЗаголовокДляПечати;
ТабДокумент.ВерхнийКолонтитул.ТекстСправа = «Лист [&НомерСтраницы]»;
КонецЕсли;
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
Возврат ТабДокумент;
Источник статьи: http://forums.kuban.ru/f1040/pechat-_v_portretnom_rezhime_hochu_landshaft-4455203.html
Использование макетов оформления
Макеты оформления компоновки данных предназначены для оформления отчетов. При помощи макетов оформления можно указывать различным областям отчета определенные цвета фона, текста, шрифты и т.д.
Типы областей макета оформления
Выводимый отчет можно разделить на области, указанные на рис. 1
Отчет | ||
Заголовок | ||
Информация | ||
Элемент отчета 1 | ||
Элемент отчета 2 | ||
. | ||
Элемент отчета N |
На указанном рисунке:
- заголовок — область отчета, содержащая заголовок отчета,
- информация — область отчета, содержащая текст установленных в отчете отборов, а также параметры данных,
- э лементы отчета представляют собой группировки, таблицы, диаграммы или вложенные отчеты.
Группировку отчета можно представить в виде областей, указанных на рис. 2
Группировка | ||||
Заголовок | ||||
Информация | ||||
Заголовок таблицы | ||||
Заголовок группировки уровень 1 | ||||
Заголовок группировки уровень 2 | ||||
. | ||||
Заголовок группировки уровень N | ||||
Детальные записи | ||||
Подвал группировки уровень N | ||||
. | ||||
Подвал группировки уровень 2 | ||||
Подвал группировки уровень 1 | ||||
Общие итоги по вертикали |
На указанном рисунке:
- заголовок — область группировки, содержащая заголовок группировки верхнего уровня,
- информация — область группировки, содержащая текст установленных для группировки верхнего уровня отборов,
- заголовок таблицы — область группировки, содержащая имена выводимых полей,
- заголовки группировки — области, содержащие значения выводимых полей группировки. Данные области выводятся в начале группировки,
- подвалы группировки — области, содержащие значения выводимых полей. Данные области выводятся в конце группировки,
- детальные записи — область, содержащая значения выводимых полей детальных записей,
- общие итоги по вертикали — область, содержащая итоги по группировке.
Следует заметить, что в качестве заголовков или подвалов группировки могут использоваться заголовки и подвалы иерархической группировки. Также перед заголовками группировок могут находиться области заголовка и информации , отображающие заголовок вложенной группировки и отбор соответственно.
Группировку отчета, отображаемую в виде списка, можно представить в виде областей, указанных на рис. 3
Группировка списка | |||||
Заголовок | |||||
Информация | |||||
Заголовок группировки списка уровень 1 | |||||
Заголовок группировки списка уровень 2 | |||||
. | |||||
Заголовок группировки списка уровень N | |||||
Детальные записи списка | |||||
Подвал группировки списка уровень N | |||||
. | |||||
Подвал группировки списка уровень 2 | |||||
Подвал группировки списка уровень 1 | |||||
Общие итоги по вертикали списка |
На указанном рисунке:
Следует заметить, что в качестве заголовков или подвалов группировки могут использоваться заголовки и подвалы иерархической группировки.
Таблицу можно представить в виде областей, указанных на рис. 4
Таблица | ||||||||||||||||
Заголовок | ||||||||||||||||
Информация | ||||||||||||||||
Заголовок таблицы | Заголовок группировки колонки уровень 1 | Подвал группировки колонки уровень 1 | ||||||||||||||
Заголовок группировки уровень 1 | Ресурсы заголовка группировки уровень 1 | |||||||||||||||
Заголовок группировки уровень 2 | Ресурсы заголовка группировки уровень 2 | |||||||||||||||
. | ||||||||||||||||
Заголовок группировки уровень N | Ресурсы заголовка группировки уровень N | |||||||||||||||
Детальные записи | Ресурсы детальных записей | |||||||||||||||
Подвал группировки уровень N | Ресурсы подвала группировки уровень N | |||||||||||||||
. | ||||||||||||||||
Подвал группировки уровень 2 | Ресурсы подвала группировки уровень 2 | |||||||||||||||
Подвал группировки уровень 1 | Ресурсы подвала группировки уровень 1 | |||||||||||||||
Общие итоги по вертикали |
На указанном рисунке:
Таким образом, в макете оформления существуют следующие типы областей :
- ЗаголовокГруппировки (GroupHeader) — область заголовка группировки . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
- ПодвалГруппировки (GroupFooter) — область подвала группировки . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
- ЗаголовокИерархическойГруппировки (HierarchicalGroupHeader) — область заголовка иерархической группировки . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
- ПодвалИерархическойГруппировки (HierarchicalGroupFooter) — область подвала иерархической группировки . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
- ЗаголовокГруппировкиСписка (ListGroupHeader) — область заголовка группировки списка . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
- ПодвалГруппировкиСписка (ListGroupFooter) — область подвала группировки списка . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
- ЗаголовокИерархическойГруппировкиСписка (ListHierarchicalGroupHeader) — область заголовка иерархической группировки списка . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
- ПодвалИерархическойГруппировкиСписка (ListHierarchicalGroupFooter) — область подвала иерархической группировки списка . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
- ЗаголовокГруппировкиКолонки (ColumnGroupHeader) — область заголовка колонки таблицы . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
- ПодвалГруппировкиКолонки (ColumnGroupFooter) — область подвала колонки таблицы . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
- ЗаголовокИерархическойГруппировкиКолонки (ColumnHierarchicalGroupHeader) — область заголовка иерархической колонки таблицы . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
- ПодвалИерархическойГруппировкиКолонки (ColumnHierarchicalGroupFooter) — область подвала иерархической колонки таблицы . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
- ДетальныеЗаписи (Detail) — область детальных записей. Для данной области значение уровня должно быть всегда равным 0;
- ДетальныеЗаписиСписка (ListDetail) — область детальных записей списка. Для данной области значение уровня должно быть всегда равным 0.
- РесурсыЗаголовкаГруппировки (ResourcesGroupHeader) — область ресурсов заголовка группировки . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
- РесурсыПодвалаГруппировки (ResourcesGroupFooter) — область ресурсов подвала группировки . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
- РесурсыЗаголовкаИерархическойГруппировки (ResourcesHierarchicalGroupHeader) — область ресурсов заголовка иерархической группировки . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
- РесурсыПодвалаИерархическойГруппировки (ResourcesHierarchicalGroupFooter) — область ресурсов подвала иерархической группировки . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
- РесурсыДетальныхЗаписей (ResourcesDetail) — область ресурсов детальных записей. Для данной области значение уровня должно быть всегда равным 0;
- ИтогПоРесурсамЗаголовкаГруппировки (ResourcesTotalGroupHeader) — область итогов по ресурсам заголовка группировки;
- ИтогПоРесурсамПодвалаГруппировки (ResourcesTotalGroupFooter) — область итогов по ресурсам подвала группировки;
- ИтогПоРесурсамЗаголовкаИерархическойГруппировки (ResourcesTotalHierarchicalGroupHeader) — область итогов по ресурсам заголовка иерархической группировки;
- ИтогПоРесурсамПодвалаИерархическойГруппировки (ResourcesTotalHierarchicalGroupFooter) — область итогов по ресурсам заголовка колонки таблицы;
- ИтогПоРесурсамДетальныхЗаписей (ResourcesTotalDetail) — область итога по ресурсам детальных записей. Для данной области значение уровня должно быть всегда равным 0;
- ОбщиеИтогиПоВертикали (VerticalOverall) — область общего итога по вертикали . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
- ОбщиеИтогиПоВертикалиСписка (ListVerticalOverall) — область общего итога по вертикали списка . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
- ЗаголовокТаблицы (TableHeader) — область заголовка таблицы или группировки. Для данной области значение уровня должно быть всегда равным 0;
- ПоУмолчанию (Default) — область по умолчании. Для данной области значение уровня должно быть всегда равным 0;
- Заголовок (Title) — область заголовка отчета . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию ;
- Информация (Information) — область информации . Для данной области можно указать значение уровня группировки, при этом значение уровня, равное 0, подразумевает область по умолчанию .
Существуют следующие особенности вывода заголовков и подвалов группировок :
- Если не задана область подвала неиерархической группировки, то в качестве области подвала выводится область заголовка группировки ;
- Если для иерархической группировки не задана область заголовка, то в качестве области заголовка выводится область заголовка неиерархической группировки ;
- Если не задана область подвала иерархической группировки, то в качестве области подвала выводится область заголовка иерархической группировки. Если же она не задана, то выводится область подвала неиерархической группировки . Если и эта область не задана, то выводится область заголовка неиерархической группировки.
Использование макетов оформления в отчетах
Система компоновки данных позволяет использовать различные макеты оформления в отчете. Причем существует возможность использования нескольких макетов оформления для различных элементов отчета. Для управления макетами оформления используются настройки компоновки данных. При использовании конструктора схемы компоновки данных необходимо перейти на закладку » Настройки » , а затем выбрать закладку » Другие настройки » . На данной закладке находится параметр Макет оформления , позволяющий указывать используемый макет оформления в отчете.
Существуют следующие предопределенные макеты оформления :
- Без оформления ;
- Основной — макет оформления по умолчанию ;
- Яркий ;
- Море ;
- Арктика ;
- Зеленый ;
- Античный.
Создание собственного макета оформления
Собственный макет оформления можно создать, используя конструктор макетов. Для этого необходимо добавить новый макет в папку Общие макеты , находящейся в папке Общие дерева объектов конфигурации. В открывшемся конструкторе макетов необходимо установить тип макета Макет оформления компоновки данных .
Открывшийся редактор макетов оформления позволяет редактировать цвета фона, текста и границы, шрифты, отступы и т.д. областей макета оформления. При этом имена областей, содержащих оформления областей, выделяются жирным шрифтом. Стоит отметить, что существует возможность использования предопределенного макета оформления — для этого необходимо использовать команду Стандартный макет. . Также существует возможность загрузки и сохранения макетов оформления в XML — формате.
Использование макетов оформления из встроенного языка
Для обращения к макетам оформления из встроенного языка предназначено свойство глобального контекста БиблиотекаМакетовОформленияКомпоновкиДанных . Данное свойство является коллекцией макетов оформления и содержит предопределенные макеты оформления, а также макеты оформления, определенные в общих макетах дерева конфигурации.
Данная коллекция имеет следующие методы :
- Индекс( ) — получает индекс элемента в библиотеке макетов оформления компоновки данных ;
- Количество() — возвращает количество элементов в библиотеке макетов оформления компоновки данных ;
- Найти( ) — осуществляет поиск элемента библиотеки макетов оформления компоновки данных по имени ;
- Получить( ) — получает элемент библиотеки макетов оформления компоновки данных по индексу.
Элементами библиотеки макетов оформления компоновки данных являются объекты типа ЭлементБиблиотекиМакетовОформленияКомпоновкиДанных . Данный объект имеет следующие свойства :
- Имя — имя макета оформления ;
- Представление — представление макета оформления.
Также данный объект имеет метод ПолучитьМакет() , который возвращает объект типа МакетОформленияКомпоновкиДанных .
Для редактирования макетов оформления предназначен объект встроенного языка КонструкторМакетаОформленияКомпоновкиДанных . Данный объект можно создать при помощи конструктора, который имеет необязательный параметр — макет оформления. Если макет оформления не указан, то создается новый макет, иначе открывается для редактирования указанный макет оформления. Конструктор макетов оформления имеет следующие методы:
- ПолучитьМакет() — данный метод предназначен для получения редактируемого макета оформления и возвращает значение типа МакетОформленияКомпоновкиДанных ;
- Редактировать( ) — данный метод открывает окно конструктора макета оформления. Параметр является необязательным и может содержать значение типа Форма — форму-владельца окна конструктора макетов оформления. При завершении редактирования и нажатии кнопки ОК, конструктор макета оформления вызывает у формы-владельца обработчик события «Обработка выбора». В обработчике данного события можно получить редактируемый макет оформления ;
- УстановитьМакет( ) — данный метод предназначен для установки макета оформления для редактирования и имеет один параметр — типа МакетОформленияКомпоновкиДанных .
Поясним использование конструктора макета оформления на следующем примере. Пусть необходимо добавить возможность создания собственного макета оформления в отчете о продажах. Для этого необходимо создать собственную форму отчета, добавить в командную панель данной формы кнопку создания макета оформления, а также переопределить действие по кнопке Сформировать .
В обработчике нажатия на кнопку » Создать макет оформления » происходит создание конструктора макета оформления :
Пример формы конструктора показан на указанном ниже рисунке.
В обработчике события ОбработкаВыбора формы происходить запоминание созданного в конструкторе макета оформления.
В обработчике нажатия на кнопку » Сформировать » происходит формирование отчета :
Источник статьи: http://its.1c.ru/db/content/metod8dev/src/platform81/metod/dcs/i8101592.htm