// добавляем в ГМ или допГМ
// предопределенная процедура 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);
Таб.Показать("Документ "+Вид);
КонецЕсли;
КонецЕсли;
ФормаРасш ="";
КонецПроцедуры
Вступайте в нашу телеграмм-группу Инфостарт