Урок №7: Создание внешней печатной формы (часть 1) (программирование и администрирование)

Пора начать программировать легкие вещи в 1С. Я предлагаю сделать это с помощью внешних печатных форм. Видео сделала из двух частей: в первой части – как запустить и вывести параметры, во второй части – как подставить реквизиты из документа в саму печатную форму. Ниже указан кусок кода, о котором говориться в видео. Приятного просмотра) Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = Новый Структура; ПараметрыРегистрации.Вставить(“Вид“, “ПечатнаяФорма“); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов... МассивНазначений = Новый Массив; МассивНазначений.Добавить(“Документ.ПоступлениеТоваровУслуг“);//Указыв аем документ к которому делаем внешнюю печ. форму ПараметрыРегистрации.Вставить(“Назначение“, МассивНазначений); ПараметрыРегистрации.Вставить(“Наименование“, “Моя ПФ“); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок ПараметрыРегистрации.Вставить(“БезопасныйРежим“, ЛОЖЬ); // Зададим право обработке на использование безопасного режима. Более подробно можно узнать в справке к платформе (метод УстановитьБезопасныйРежим) ПараметрыРегистрации.Вставить(“Версия“, “1.0“); // эти два параметра играют больше информационную роль, ПараметрыРегистрации.Вставить(“Информация“, “Моя первая ПФ“); // т.е. это то, что будет видеть пользователь в информации к обработке ТаблицаКоманд = ПолучитьТаблицуКоманд(); ДобавитьКоманду(ТаблицаКоманд, “Моя ПФ“, “МояПФ“, “ВызовСерверногоМетода“, Истина, “ПечатьMXL“); ПараметрыРегистрации.Вставить(“Команды“, ТаблицаКоманд); Возврат ПараметрыРегистрации; КонецФункции Функция ПолучитьТаблицуКоманд() Команды = Новый ТаблицаЗначений; Команды.Колонки.Добавить(“Представление“, Новый ОписаниеТипов(“Строка“));//как будет выглядеть описание печ.формы для пользователя Команды.Колонки.Добавить(“Идентификатор“, Новый ОписаниеТипов(“Строка“)); //имя макета печ.формы Команды.Колонки.Добавить(“Использование“, Новый ОписаниеТипов(“Строка“)); //ВызовСерверногоМетода Команды.Колонки.Добавить(“ПоказыватьОповещение“, Новый ОписаниеТипов(“Булево“)); Команды.Колонки.Добавить(“Модификатор“, Новый ОписаниеТипов(“Строка“)); Возврат Команды; КонецФункции Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = ““) НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = Представление; НоваяКоманда.Идентификатор = Идентификатор; НоваяКоманда.Использование = Использование; НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; НоваяКоманда.Модификатор = Модификатор; КонецПроцедуры Процедура Печать(МассивОбъектовНазначения, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, “МояПФ“) Тогда ТабличныйДокумент = ПечатьВнешнейПечатнойФормы(МассивОбъектовНазначения, ОбъектыПечати, ““); УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, “МояПФ“, “Моя первая пФ“, ТабличныйДокумент); КонецЕсли; КонецПроцедуры Функция ПечатьВнешнейПечатнойФормы(МассивОбъектов, ОбъектыПечати, Подписант) Экспорт ТабДок = Новый ТабличныйДокумент; ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; Макет = ПолучитьМакет(“Макет_1“); Область_1 = Макет.ПолучитьОбласть(“Шапка“); ТабДок.Вывести(Область_1); Возврат ТабДок; КонецФункции
Back to Top