Внешние обработки 1С

Регистрация внешней обработки 8.3, БП 3.0

Я
   Sova789

Доброе утро! Создала внешнюю обработку, которая выводит на печать некоторую сводную информацию. В этом случае моя обработка не привязывается ни к какому объекту, т.е. пункт назначение — объект я пропускаю.

 
 

   vis_tmp

Продолжайте наблюдение.

   Sova789 //    2. Назначение — объект, для которого назначается данная обработка,    &nbsp//    Массив строк имен объектов метаданных.

Внешняя обработка в 1С 8.3

   &nbsp//    Примеры значений массива — "Документ.АвансовыйОтчет" или "Справочник.*", где * — означает все объекта данного вида.    &nbsp//    Для глобальных (не назначаемых) обработок параметр не имеет смысла.    &nbsp//////ОбъектыМетаданных = Новый Массив;    &nbsp//////ОбъектыМетаданных.Добавить("Документ.РеализацияТоваровУслуг");    &nbsp//////СведенияОбОбработке.Вставить("Назначение", ОбъектыМетаданных);

   Sova789

Вопрос такой. Зарегистрировала внешнюю обработку. Надо её увидеть в пункте меню Покупки. Как этого добиться? И, вообще, я её не могу никак запустить, разве что только из Главного меню

   Filippov

Указать Размещение на закладке Команды

   Sova789

(4) А где это, может где подсмотреть можно?

   Filippov

Администрирование/Печатные формы, отчеты, обработки/Дополнительные отчеты, обработки. Открываете элемент описания вашей обработки. Там

   План счетов

(4) там же где и регистрировала, там ищи.

   Sova789 (4) На закладке Команды, при моем раскладе:

СведенияОбОбработке.Вставить("Вид", "ПечатнаяФорма"); Нет такой возможности    Filippov

Смотрите в элементе, соответствующем вашей обработке. (8) — это не то

   Поpyчик-4

(8) В вашем случае это не внешняя печатная форма, а просто дополнительная обработка или отчет.

 
 

   Filippov

Ссылка в (6) соответствует ЗУП 3.0. в БП-3 видимо путь другой. И учтите замечание (10)

   Sova789

Если бы я написала:
СведенияОбОбработке.Вставить("Вид", "ДополнительнаяОбработка")
то в этом случае появляется возможность указания размещения. Но там происходит другая ошибка и обработка не запускается на выполнение:

   Sova789 А здесь здесь в моем случае верно я определяю? ДобавитьКоманду(ТаблицаКоманд, "Разница НДС", "Макет", "ВызовСерверногоМетода", Ложь,"ПечатьMXL");    Поpyчик-4

(12) У вас неправильный подход, нежелание учить матчасть и непонимание механизмов.

   Sova789 Появляется след.ошибка:
Команда Макет: Ошибка выполнения:
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(2343)}: Недостаточно фактических параметров
            ВнешнийОбъект.ВыполнитьКоманду(ИдентификаторКоманды);    Sova789

Ну, может, все-таки, поможете разобраться? )))

   Sova789

Я новичок в УФ

   Filippov Примерно так:
Функция СведенияОВнешнейОбработке() Экспорт   ПараметрыРегистрации = Новый Структура;   ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка");   ПараметрыРегистрации.Вставить("Назначение", "");   ПараметрыРегистрации.Вставить("Наименование", "Печать …");   ПараметрыРегистрации.Вставить("Версия", "1.0");   ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);   ПараметрыРегистрации.Вставить("Информация", "Выводит на печать ….");   ПараметрыРегистрации.Вставить("ВерсияБСП", "1.2.1.4"); ………    Filippov …..
  ДобавитьКоманду(ТаблицаКоманд,
          "Выполнить печать …",           "Выполнить",           "ОткрытиеФормы",           Истина,           "");    Sova789

Filippov , очень благодарю! Спасибо, что-то начинаю понимать )))

   Sova789

И, даже, все получилось!)))

   Filippov

Рад за вас!

Наведи порядок в своей работе используя конфигурацию 1C "Управление IT-отделом 8"

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Внешние  обработки, печатные формы, обработки по заполнению табличных частей

В данном материале описываются особенности реализации механизма подключения "Внешние  обработки, печатные формы, обработки по заполнению табличных частей" (далее ВПФО). Также перечисляются требования, предъявляемые к внешним обработкам, для возможности их использования данным механизмом.

Общее описание

Механизм предназначен для подключения (без изменения конфигурации):

  • Внешних обработок для произвольного выполнения
  • Внешних обработок в качестве дополнительных печатных форм объектов (справочников и документов)
  • Обработок для заполнения табличных частей объектов

Внешние печатные формы и обработки создаются разработчиком с соблюдением определенных условий. Условия обязательны для выполнения на этапе создания внешней обработки, для ее корректной работы в качестве подключаемой к конфигурации.

Для реализации механизма ВПФО используется справочник "Внешние обработки".

Для справочника предусмотрены специализированные реквизиты*:

  • "Вид обработки" — описывает, какого вида данная ВПФО
    1. Произвольная обработка
    2. Обработка для заполнения табличных частей объектов
    3. Внешняя печатная форма
    • "Хранилище внешней обработки" — хранит  двоичные данные подключаемой внешней обработки. При использовании двоичные данные сохраняются на диск во временный файл, и обращение к файлу производится программно как к внешней обработке.

    ПРИМЕЧАНИЕ
    Полный перечень реквизитов будет описан ниже, в разделе Техническая реализация механизма "Внешние  обработки, печатные формы, обработки по заполнению табличных частей"

    Для удобства, формы списков ВПФО вызываются раздельно, с предустановленным отбором по реквизиту "Вид обработки", из подменю "Сервис".

    Добавлять и изменять ВПФО в базе данных может пользователь, обладающий правом администрирования дополнительных форм и обработок. Это отдельная роль в конфигурации.

    Для остальных пользователей назначаются права на чтение(использование) и запись(изменение) по каждому элементу справочника ВПФО.

    Преимущества  использования механизма ВПФО перед механизмом платформы открытия внешних обработок: 

    • Возможность использования механизма пользователями, НЕ имеющими права на интерактивное открытие внешних обработок
    • Ограничение доступа к использованию и изменению обработок на уровне записей (RLS), т.е. к каждой обработке отдельно
    • Целостность БД и неизменность функционала в зависимости от внешних факторов (переноса БД, сетевой работы пользователей, создания архивных копий БД и пр.)

    Описание видов справочника ВПФО и требования к подключаемым внешним обработкам

    Рассмотрим каждый вид ВПФО по отдельности.

    Произвольная обработка

    Для включения произвольных обработок в базу данных, необходимо указывать только внешнюю обработку, которая находится на диске.

    Открытие произвольных обработок в форме списка производится при выборе элемента ВПФО с видом "Произвольная обработка". При этом, производится сохранение двоичных данных из реквизита "Хранилище внешней обработки" на диск во временный файл. После этого, у сохраненной внешней обработки открывается основная форма.  

    Основная форма для произвольной обработки должна быть определена обязательно.

    Обработка для заполнения ТЧ объектов

    Для обработок заполнения ТЧ необходимо указывать внешнюю обработку (файл на диске, с расширением epf), список объектов и их ТЧ, для которых необходимо использовать данную обработку.

    В типовых конфигурациях объектами,  использующими данный механизм, являются все документы, содержащие хоть одну табличную часть.

    Перед открытием формы объекта в командных панелях табличных полей (источником данных для которых является табличная часть объекта), которым соответствуют определенные строки  в справочнике ВПФО, программно добавляются пункты в подменю "Заполнить" (если подменю "Заполнить" отсутствует на командной панели, оно создается).

    При нажатии на созданную перед открытием кнопку подменю "Заполнить" происходит сохранение соответствующей обработки на диск во временный файл,  для сохраненной внешней обработки вызывается процедура:

    Копировать в буфер обмена

    Инициализировать (Объект, ИмяТабличнойЧасти, ТабличноеПолеОбъекта)

    где:

    • Объект – ДокументОбъект, СправочникОбъект. Откуда был произведен вызов процедуры заполнения внешней обработки;
    • ИмяТабличнойЧасти  – Строка. Имя табличной части, для которой вызвана обработка;
    • ТабличноеПолеОбъекта  – Элемент формы: Табличное поле. Табличное поле формы, для которого вызвана обработка.

    Наличие экспортной процедуры "Инициализировать()"  в модуле объекта обработки с видом "Заполнение табличных частей" обязательно. В теле данной процедуры должен располагаться программный код, заполняющий табличную часть в соответствии с назначением обработки.

    Обработка так же может иметь в своем составе макет "Параметры_Авторегистрации",  используемый для автоматического заполнения принадлежности печатной формы в справочнике "Внешние обработки". Макет должен состоять из 2-х колонок – "полное имя объекта" и "имя табличной части".

    Пример макета Параметры_Авторегистрации:

    Внешняя печатная форма

    Для подключаемых внешних печатных форм указывается:

    • внешняя обработка
    • список объектов, для которых данная печатная форма используется

    Для каждого типа объекта дополнительно можно указать:

    • Отбор. Печатная форма будет доступной только для объектов, удовлетворяющих установленному отбору.
    • Отдельную печатную форму. Следует учитывать, что в списках печатных форм в объектах будет всегда появляться одинаковый пункт подменю.

      1С8 самоучитель. Быстрый старт с нуля. Пишем первую внешнюю обработку.

      Если отдельная печатная форма не указана, то будет использоваться печатная форма из шапки элемента ВПФО.

    • Встроенную печатную форму. При заполнении данного реквизита, указанная встроенная печатная форма будет заменена внешней.

    Вызов диалога настройка условий отбора осуществляется при начале выбора значения в колонке "отбор":

    В формах объектов, в командной панели формы (обычно это нижняя командная панель) формируется подменю кнопок печатных форм. Подменю формируется программно, при открытии формы и при записи объекта в форме (для обеспечения изменения пунктов меню в зависимости от данных объекта, и срабатыванию указанных в печатных формах условий отборов). В формируемом меню стандартные печатные формы отделяется от подключаемых разделителем.
    Например:

    Если находится подключаемая печатная форма, которой необходимо заменить стандартную, то она заменяется и показывается в списке стандартных печатных форм. В этом случае подключенная печатная форма отдельно в списке подключенных печатных форм не отображается.

    При нажатии на любую из кнопок печати происходит определение, соответствует ли данная кнопка внешней печатной форме или встроенной в конфигурацию.
    Для кнопок, соответствующих печатным формам встроенным в конфигурацию, вызывается встроенный механизм печати (данный механизм в рамках текущего проекта не рассматривается).
    Для кнопок, соответствующих внешним печатным формам, происходит сохранение соответствующей обработки на диск во временный файл.

    Для сохраненной внешней обработки:

    • заполняется реквизит "СсылкаНаОбъект" — тип "Любая ссылки", в который передается ссылка на объект, для которого необходимо выполнить печать;
    • вызывается функция "Печать()" (должна располагаться в модуле обработки с признаком "Экспорт") без параметров,  возвращающая табличный документ.

    Наличие реквизита "СсылкаНаОбъект" и экспортной функции "Печать()" в модуле объекта обработки с видом "Внешняя печатная форма" обязательно.

    В теле функции "Печать()" должен располагаться программный код, который формирует и возвращает табличный документ, в соответствии со значением реквизита "СсылкаНаОбъект".

    Обработка так же может иметь в своем составе макет "Параметры_Авторегистрации",  используемый для автоматического заполнения принадлежности печатной формы в справочнике "Внешние обработки" состоящий из одной колонки – полное имя объекта для которого будет создаваться соответствующая кнопка печати.

    Пример макета Параметры_Авторегистрации:

    При соблюдении этих требований пользователю будет достаточно указать при регистрации дополнительной печатной формы файл внешней обработки, после чего все реквизиты формы заполнятся автоматически.

    Техническая реализация механизма "Внешние  обработки, печатные формы, обработки по заполнению табличных частей"

    ** Используется только для элементов с видом обработки: "Заполнение табличных частей"
    *** Используется только для элементов с видом обработки: "печатная форма".

    Механизм дополнительных печатных форм является расширением стандартного механизма печатных форм объекта. Добавление дополнительной формы в общий список форм выполняется в процедурах модуля формы объекта перед открытием, после записи и при нажатии на кнопку "Установить печать по умолчанию".
    Подменю "Печать" и кнопка "Печать по умолчанию" в форме объекта не должны присутствовать в обязательном порядке. Они формируются программно, в том случае, если есть хоть одна печатная форма и задана печать по умолчанию.

    Добавить комментарий

    Ваш e-mail не будет опубликован. Обязательные поля помечены *