Modber Сообщество
профессионалов по 1С

  
Сообщений: 8

0
Добрый день подскажите если можете, есть ли в ресурсах нашего интернета инструкции для создания разных внешних печатных форм для управляемых форм или где можно посмотреть хоть похожий пример разработки?
Сообщений: 5

+1
Посмотрим... навроде бы, нужноотправить запрос итаким же запросом получить содержимое реквизитов документа в ТЗ (выборку) и работать исключительно с ними, лучшене работайте с исходными документами на прямую. А, разве во внешней напечатанной форме нельзя распечатать не сохраненный документ ?
Сообщений: 7

0
Если вы думаете на предприятии 3,0 данный механизм так просто покатит? Я в этом очень сомневаюсь...
Сообщений: 34

+3
Создание внешней печатной формы. Управляемое приложение Определить сведения о ВПФ: Функция СведенияОВнешнейОбработке() Экспорт // Объявим переменную, в которой мы сохраним и вернем "наружу" необходимые данные ПараметрыРегистрации = Новый Структура; // Объявим еще одну переменную, которая нам потребуется ниже МассивНазначений = Новый Массив; // Первый параметр, который мы должны указать - это какой вид обработки системе должна зарегистрировать. // Допустимые типы: ДополнительнаяОбработка, ДополнительныйОтчет, ЗаполнениеОбъекта, Отчет, ПечатнаяФорма, СозданиеСвязанныхОбъектов ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); // Теперь нам необходимо передать в виде массива имен, к чему будет подключена наша ВПФ // Имейте ввиду, что можно задать имя в таком виде: Документ.* - в этом случае обработка будет подключена ко всем документам в системе, // которые поддерживают механизм ВПФ МассивНазначений.Добавить("Документ.ЗаказКлиента"); ПараметрыРегистрации.Вставить("Назначение", МассивНазначений); // Теперь зададим имя, под которым ВПФ будет зарегистрирована в справочнике внешних обработок ПараметрыРегистрации.Вставить("Наименование", "Заказ клиента (в виде счета)"); // Зададим право обработке на использование безопасного режима. Более подробно можно узнать в справке к платформе (метод УстановитьБезопасныйРежим) ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина); // Следующие два параметра играют больше информационную роль, т.е. это то, что будет видеть пользователь в информации к обработке ПараметрыРегистрации.Вставить("Версия", "1.0"); ПараметрыРегистрации.Вставить("Информация", "Дополнительная печатная форма 'Счет' к документу заказ клиента"); // Создадим таблицу команд (подробнее смотрим ниже) ТаблицаКоманд = ПолучитьТаблицуКоманд(); // Добавим команду в таблицу ДобавитьКоманду(ТаблицаКоманд, "Счет покупателю", "Заказ клиента (в виде счета)", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); // Сохраним таблицу команд в параметры регистрации обработки ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); // Теперь вернем системе наши параметры Возврат ПараметрыРегистрации; КонецФункции Функция ПолучитьТаблицуКоманд() // Создадим пустую таблицу команд и колонки в ней Команды = Новый ТаблицаЗначений; // Как будет выглядеть описание печатной формы для пользователя Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); // Имя нашего макета, что бы могли отличить вызванную команду в обработке печати Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); // Тут задается, как должна вызваться команда обработки // Возможные варианты: // - ОткрытиеФормы - в этом случае в колонке идентификатор должно быть указано имя формы, которое должна будет открыть система // - ВызовКлиентскогоМетода - вызвать клиентскую экспортную процедуру из модуля формы обработки // - ВызовСерверногоМетода - вызвать серверную экспортную процедуру из модуля объекта обработки Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); // Следующий параметр указывает, необходимо ли показывать оповещение при начале и завершению работы обработки. Не имеет смысла при открытии формы Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")); // Для печатной формы должен содержать строку ПечатьMXL Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")); Возврат Команды; КонецФункции Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "") // Добавляем команду в таблицу команд по переданному описанию. // Параметры и их значения можно посмотреть в функции ПолучитьТаблицуКоманд НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = Представление; НоваяКоманда.Идентификатор = Идентификатор; НоваяКоманда.Использование = Использование; НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; НоваяКоманда.Модификатор = Модификатор; КонецПроцедуры Сделать процедуру Печать в модуле объетка и сформировать ТабличныйДокумент: // Сформировать печатные формы объектов // // ВХОДЯЩИЕ: // ИменаМакетов - Строка - Имена макетов, перечисленные через запятую // МассивОбъектов - Массив - Массив ссылок на объекты которые нужно распечатать // // ИСХОДЯЩИЕ: // КоллекцияПечатныхФорм - Таблица значений - Сформированные табличные документы // ПараметрыВывода - Структура - Параметры сформированных табличных документов // Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ВПФ Заказ клиента (в виде счета)") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ВПФ Заказ клиента (в виде счета)", "Счет на оплату", СформироватьПечатнуюФорму("Счет", МассивОбъектов, ОбъектыПечати)); КонецЕсли; КонецПроцедуры // Печать() // Функция формирует печатную форму документа. // // Параметры: // Тип - Строка - тип печатной формы: Заказ или Счет // МассивОбъектов - Массив - массив документов для печати // ОбъектыПечати - СписокЗначений // // Возвращаемое значение: // ТабличныйДокумент // Функция СформироватьПечатнуюФорму(Тип, МассивОбъектов, ОбъектыПечати) .... КонецФункции // СформироватьПечатнуюФорму() Подключить ВПФ через справочник "Дополнительные отчеты и обработки"
В начало страницы 
|
Перейти на форум: