// добавляем в ГМ или допГМ // предопределенная процедура Formex.dll Процедура ПриНажатииКнопкиКлавиатуры(Конт, КодКл, Альт, Шифт, Контрол, Символ, ФСО) ФормаРасш = СоздатьОбъект("РасширениеФормы"); Попытка ФормаРасш.УстановитьФорму(Конт.Форма); Исключение Возврат; КонецПопытки; Тип=ФормаРасш.ТипОбъекта(); Если Тип="Документ" Тогда // Распечатка документа по горячим клавишам CTRL+ALT+P //(форма документа должна быть интерактивно открыта) Если (Контрол=1) И (Альт=1) И (КодКл=80) Тогда Вид=Конт.Вид(); Таб=СоздатьОбъект("Таблица"); Область=Таб.Область(1,1); Область.РазмерШрифта(10); Область.Полужирный(1); Область.ВысотаСтроки(12); Область.Текст= Конт.ТекущийДокумент(); Область=Таб.Область(2,1); Область.РазмерШрифта(10); Область.Полужирный(1); Область.ВысотаСтроки(12); Область.РамкаОбвести(3,3,3,3); Область.ЦветФона(200,250,225); Область.ШиринаСтолбца(20); Область.Текст= "ВР"; Область=Таб.Область(2,2); Область.РазмерШрифта(10); Область.Полужирный(1); Область.ВысотаСтроки(12); Область.РамкаОбвести(3,3,3,3); Область.ЦветФона(200,250,225); Область.ШиринаСтолбца(20); Область.Текст= "Реквизит"; Область=Таб.Область(2,3); Область.РазмерШрифта(10); Область.ВысотаСтроки(12); Область.Полужирный(1); Область.РамкаОбвести(3,3,3,3); Область.ЦветФона(200,250,225); Область.ШиринаСтолбца(20); Область.Текст= "Значение"; Стр=2; // Общие реквизиты Для А=1 По Метаданные.ОбщийРеквизитДокумента() Цикл Стр=Стр+1; ИД=Метаданные.ОбщийРеквизитДокумента(А).Идентификатор; Область=Таб.Область(Стр,1); Область.РамкаОбвести(3,3,3,3); Область.РазмерШрифта(10); Область.Текст= "ОБЩ"; Область=Таб.Область(Стр,2); Область.РамкаОбвести(3,3,3,3); Область.РазмерШрифта(10); Область.Текст= ИД; Область=Таб.Область(Стр,3); Область.РамкаОбвести(3,3,3,3); Область.РазмерШрифта(10); Область.Контроль(2); Область.Текст= Конт.ПолучитьАтрибут(ИД); КонецЦикла; // Реквизиты шапки Для А=1 По Метаданные.Документ(Вид).РеквизитШапки() Цикл Стр=Стр+1; ИД=Метаданные.Документ(Вид).РеквизитШапки(А).Идентификатор; Область=Таб.Область(Стр,1); Область.РамкаОбвести(3,3,3,3); Область.РазмерШрифта(10); Область.Текст= " Ш"; Область=Таб.Область(Стр,2); Область.РамкаОбвести(3,3,3,3); Область.РазмерШрифта(10); Область.Текст= ИД; Область=Таб.Область(Стр,3); Область.РамкаОбвести(3,3,3,3); Область.РазмерШрифта(10); Область.Контроль(2); Область.Текст= Конт.ПолучитьАтрибут(ИД); КонецЦикла; Если Конт.КоличествоСтрок()>0 Тогда Стр=Стр+1; // выводим заголовки ТЧ (идентификаторы реквизитов) Для А=1 По Метаданные.Документ(Вид).РеквизитТабличнойЧасти() Цикл ИД=Метаданные.Документ(Вид).РеквизитТабличнойЧасти(А).Идентификатор; Область=Таб.Область(Стр,А); Область.РазмерШрифта(10); Область.Полужирный(1); Область.ВысотаСтроки(12); Область.РамкаОбвести(3,3,3,3); Область.ЦветФона(200,250,225); Область.ШиринаСтолбца(20); Область.Контроль(2); Область.Текст= ИД; КонецЦикла; // Выводим значения реквизитов ТЧ Конт.ВыбратьСтроки(); Пока Конт.ПолучитьСтроку()=1 Цикл Стр=Стр+1; Для А=1 По Метаданные.Документ(Вид).РеквизитТабличнойЧасти() Цикл ИД=Метаданные.Документ(Вид).РеквизитТабличнойЧасти(А).Идентификатор; Область=Таб.Область(Стр,А); Область.РамкаОбвести(3,3,3,3); Область.РазмерШрифта(10); Если Найти(ИД,"Номенклатура")=0 Тогда Область.Текст= Конт.ПолучитьАтрибут(ИД); Иначе Атр=Конт.ПолучитьАтрибут(ИД); Если Атр.НеВключатьВПрайс=1 Тогда Область.Текст= "З:"+Конт.ПолучитьАтрибут(ИД); Иначе Область.Текст= "П:"+Конт.ПолучитьАтрибут(ИД); КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; КонецЕсли; Таб.Опции(0,0,1,0); Таб.Показать("Документ "+Вид); КонецЕсли; КонецЕсли; ФормаРасш =""; КонецПроцедуры
Горячая печать реквизитов (их значений ) документов с использованием FormEx
14.04.08
Учетные задачи - Печатные формы
Иногда хочется увидеть все реквизиты документа, в том числе и те, которые на форме отсутствуют.
Особенно, если они автоматом понаустанавливались.
Приведенный код позволяет по горячим клавишам CTRL+ALT+P получить распечатку ВСЕХ реквизитов, начиная от общих, заканчивая ТЧ. Код необходимо вставить в Глобальный модуль, или в Дополнительный глобальный модуль, подключенный с помощью Formex
Особенно, если они автоматом понаустанавливались.
Приведенный код позволяет по горячим клавишам CTRL+ALT+P получить распечатку ВСЕХ реквизитов, начиная от общих, заканчивая ТЧ. Код необходимо вставить в Глобальный модуль, или в Дополнительный глобальный модуль, подключенный с помощью Formex