впф с открытием формы
Открытие формы настроек при запуске печатной формы в управляемом приложении
При запуске печатной формы из 1С Предприятия может потребоваться интерактивный выбор каких либо настроек для продолжения печати. Для решения этой задачи необходимо в печатную форму внедрить механизм вывода формы настроек, на которой будут расположены определенные настройки. В типовых конфигурациях, в управляемом приложении печатные формы программируются и подключаются по другому, чем в обычном приложении.
Обработка для внешней печатной формы
Обработка содержит две формы: ФормаТестов, ФормаНастроек.
В функции СведенияОВнешнейОбработке() для свойства «Использование» нужно установить значение «ВызовКлиентскогоМетода». Это означает, что при запуске печатной формы из 1С Предприятия, будет автоматически запускаться экспортная функция Печать() ИЗ ОСНОВНОЙ ФОРМЫ ОБРАБОТКИ, при этом форма не открывается.
Форма тестов
Так как в свойствах команды было указано «ВызовКлиентскогоМетода», то экспортная функция Печать(), должна быть расположена в модуле основной формы обработки (в данном случае ФормаТестов), сама форма открыта не будет. Но для отладки, печатная форма будет запускаться через главное меню Файл->Открыть. Поэтому предусмотрим на форме тестов команду для вызова экспортной функции Печать().
Форма настроек
На форме настроек расположим несколько полей ввода. Зададим обработчик действия для кнопки «ПродолжитьПечать».
Еще нужно добавить 2 параметра формы: ИдентификаторКоманды, МассивОбъектов, которые передаются при открытии формы. Эти параметры должны быть с признаком Ключевой параметр.
В модуле объекта обработки, разместим экспортную функцию печать, которая занимается формированием табличного документа.
1. Владислав 13.09.2018 11:14 |
<ВнешняяОбработка.ВнешняяОбработка1.Форма.ФормаНастроек.Форма(17)>: Поле объекта не обнаружено (ИдентификаторКоманды) КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(Параметры.ИдентификаторКоманды); Подскажите, в чем ошибка? |
2. Admin 04.10.2018 10:20 |
Возможно в форме настроек не добавлен параметр ИдентификаторКоманды типа «строка» с признаком Ключевой параметр. |
Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться
Из модуля ВПФ открыть форму ВПФ
Добрый день.
Подскажите каким макаром открыть форму внешней печтаной формы (далее ВПФ) из модуля этой внешней печатной формы.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
ВПФ Счет-фактуры
Проблема с печатной формой. Выводится на 2-ую страницу шапка таблицы после строки (на скрине.
ВПФ для РеализацииТоваровУслуг
Здравствуйте! Делаю ВПФ для Реализации. Конфа БП 3.0. Раньше никогда не работал с упр. приложением.
Создание ВПФ Счет на оплату для УТ 11
Тренируюсь на создании ВПФ. Делаю Счет на оплату для УТ 11 под УП. Дошел до момента //Вывести.
Не, так не катит.
Если сделать так, то он ругается на то что «ПолучитьФорму» только для тонкого клиента, а если сделать в модуле обработки функцию с директивой &НаКлиенте, то он просто не увидит эту функцию.
Наверное надо было уточнить что это управляемые формы платформа 8.3.11
ой удалите этот позорный пост
McGoblin, это не постановка задачи, вы пишите что Вам надо, а не какую конечную цель преследуете.
Возможна выбранный путь реализации изначально неверный.
Постановка задачи выглядит так:
Из документа Реализация товаров и услуг необходимо распечатать список товаров, при нажатии кнопки печать, пользователю открывается форма выбора склада, (ввода комментария, что угодно), на который необходимо отгрузить реализованные товары, выбранный склад также передается в макет на печать.
Недавно реализовал похожую задачу. Не знаю, поможет ли вам.
Смысл такой: в подменю печати добавляется своя команда «Печать с параметрами». При нажатии открывается вн. обработка, в которой выбираются уже нужные параметры и в которой содержатся требуемые макеты. Ну и уже в ней мы выбираем макет, параметры и печатаем.
Реализовано так:
(В модуле ВПФ)
Программно открыть форму из ВПФ
но система ругается. Как быть, как правильно обратиться к реквизитам обработки?
Тип: Форма; УправляемаяФорма.
Окно приложения, в котором будет открыта форма.
Применимо только для управляемой формы. Окном может быть только основное окно приложения или вспомогательное окно формы.
В случае использования ВариантОткрытияОкна, окно формы будет создано согласно выбранному варианту.
Возвращаемое значение:
Тип: Форма; УправляемаяФорма.
Открывает и возвращает форму или управляемую форму. В тонком и веб-клиенте только управляемую форму. Перед открытием осуществляется поиск уже открытой такой же формы. Поиск осуществляется по типу формы, значениям ключевых параметров формы, владельцу формы, пользовательскому ключу уникальности.
Можно открывать уже полученную форму. В этом случае в параметрах передается уже полученная форма и окно, в котором открыть форму.
Можно открыть по имени формы. В этом случае в параметры передаются имя формы, параметры формы, владелец, ключ уникальности и окно, в котором должна быть открыта форма.
Тонкий клиент, веб-клиент, толстый клиент.
Примечание:
Для варианта «По названию» параметры вызова аналогичны параметрам метода ПолучитьФорму.
Обычные формы внешних обработок не поддерживаются.
В управляемом приложении не следует выполнять программное открытие и закрытие одной и той же формы в одном вызове встроенного языка.
Если при открытии обычной формы в параметре указано не стандартное имя формы, передаваемые параметры не обрабатываются.
В процессе выполнения может быть несколько обращений к серверу. Часть из них кэшируются. Как минимум одно обращение к серверу есть всегда и оно не кэшируется. Кэширование зависит от версии платформы и версии конфигурации в целом. Если установлена низкая скорость соединения и не указывается текущая строка, то кэшируется форма выбора. Очистка кэша осуществляется с периодичностью в 20 мин. Удаляются формы, которые не использовались в этот период времени.
См. также:
Глобальный контекст, метод ПолучитьФорму
Короче, решил сделать немного по-другому: тупо открываю внешнюю обработку, выбираю нужный документ, нажимаю кнопку Заполнить (форма заполняется данными из дока) и вывожу уже на печать. Сейчас вот такая проблема нарисовалась: при попытке вывода на печать вылетает ошибка:
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: param Форма: Элемент Тип:
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘
Насколько понял из прочитанного в инете, такая ошибка может говорить о разном, но всё же, в моём случае, что могло быть сделано не так?
Создание ВПФ за 5 минут
Итак, для чего же она вообще нужна? Например, Вам нужно в макете печатной формы изменить буквально несколько символов или добавить строку или что-то убрать. Снимать с поддержки конфигурацию, чтобы потом при каждом обновлении испытывать трудности? Зачем? Лучше использовать внешнюю печатную форму!
Начнем, обработка запускается в 1С:Предприятие. Так выглядит главное окно:
Для примера, нам нужно изменить печатную форму документа «Приходный кассовый ордер», для этого в поле Вид документа выбираем его. Заходим в конфигуратор и копируем весь модуль документа «Приходный кассовый ордер». Затем вставляем его в поле «Исходный текст», как изображено на следующей картинке:
Следующим этапом вводим имя макета который будет выводится на печать и который мы будем изменять, как показано:
Дальше по очереди «Сформировать» => «Скомпилировать» => «Сохранить».
Сразу же откроем ее для проверки! Откроется форма обработки, в поле выбирем нужный документ для печати РКО, кнопка формы «Выполнить» и внешняя печатная форма готова.
Из формы обработки, так же можно легко зарегистрировать внешнюю печатную форму, для этого есть специальная кнопка на форме, после чего из появляется возможность печати из документа. Вот и все, теперь можно вносить изменения в макет печати. Удачи!
Внешние печатные формы в 1С 8.2 и 8.3
Изменение встроенных в типовые конфигурации печатных форм — это, вероятно, одна из наиболее распространенных доработок типовых конфигураций. Чтобы каждый раз не изменять саму конфигурацию, компания «1С» создала механизм внешних печатных форм.
Внешняя печатная форма — это обычная внешняя обработка, соответствующая определенным требованиям. Такую обработку можно подключить к какой-либо типовой конфигурации и тем самым добавить новую печатную форму и/или заменить существующую.
Кроме этого, нужно отметить, что создание внешних печатных форм различается для обычного приложения (Бухгалтерия 2.0.*, ЗиУП 2.5.*, УТ 10.3.*) и управляемого приложения (Бухгалтерия 3.0.*, ЗиУП 3.*, УТ 11.*). В статье будут рассмотрены оба варианта.
Также нужно сказать, что вопросы отладки внешних печатных форм и для управляемого и для обычного приложения рассматриваются в отдельной статье.
Внешняя печатная форма в управляемом приложении
Начнем с того, что в настоящее время встречается чаще — с управляемого приложения. В тексте ниже будет приведен пример создания и подключения внешней печатной формы для документа «Приходный кассовый ордер» (Бухгалтерия предприятия, редакция 3.0).
Создание
Как уже было сказано выше, внешняя печатная форма — это просто-напросто внешняя обработка соответствующая некоторым требованиям. Первым требованием является реализация в модуле печатной формы экспортной функции СведенияОВнешнейОбработке().
Итак, создаем новую внешнюю обработку и в модуле объекта этой обработки размещаем примерно такой код:
Код в основном прокомментирован, но некоторые моменты нужно обговорить отдельно. Функция СведенияОВнешнейОбработке() является общей для всех внешних объектов. Вид внешнего объекта указывается в параметре «Вид» (у нас указана «ПечатнаяФорма»).
Большинство параметров не являются обязательными для заполнения. В нашем случае обязательно указать параметры «Вид», «Версия» и «Команды» — это обязательные параметры для всех видов внешних объектов («Команды» необязательны для отчетов). Кроме этого будет полезно указать параметры «Назначение». Но вообще, желательно указывать как можно больше информации — это поможет не запутаться как Вашим клиентам так и Вам самим.
Параметр «БезопасныйРежим» со значением «Истина» накладывает следующие ограничения:
Параметру «БезопасныйРежим» рекомендуется присваивать значение «Истина». Если необходима какая-либо функциональность, запрещаемая безопасным режимом, то можно получить дополнительное разрешения на эту функциональность (как в примере выше).
Кроме функции СведенияОВнешнейОбработке() необходимо реализовать еще одну экспортную функцию — Печать(). Эта функция должна иметь следующие параметры:
Пример реализации функции Печать():
- впуск на весту нового образца
- впф счет фактура 534