Външна обработка, печатни форми, таблична обработка
Този материал описва характеристиките на изпълнението на механизма за свързване "Външна обработка, печатни форми, обработка за попълване на таблични части" (по-нататък VPFO). Той също така изброява изискванията за външна обработка, за възможността за използването им от този механизъм.
общо описание
Механизмът е предназначен за свързване (без промяна на конфигурацията):
- Външна обработка за произволно изпълнение
- Външна обработка като допълнителни печатни форми на обекти (справочници и документи)
- Обработка за попълване на таблични части на обекти
Външните печатни форми и обработки се създават от разработчика при определени условия. Условията са задължителни за изпълнение на етапа на създаване на външна обработка, за коректната й работа като плъгин към конфигурацията.
За прилагане на механизма WPFO се използва справочникът "Външна обработка".
За директорията са предоставени специализирани подробности *:
- "Тип обработка" - описва какъв тип е този VPFO
- Произволна обработка
- Обработка за попълване на таблични части на обекти
- Външна печатна форма
- "Съхранение на външна обработка" - съхранява двоичните данни на свързаната външна обработка. Когато се използват, двоичните данни се записват на диск във временен файл и достъпът до файла се осъществява програмно като външна обработка.
ЗАБЕЛЕЖКА Пълният списък с подробности ще бъде описан по-долу, в раздела Техническа реализация на механизма "Външна обработка, печатни форми, обработка за попълване на таблични части"
За удобство формите на ВПФО списъците се извикват отделно, с предварително дефиниран избор по атрибут "Вид обработка", от подменюто"Обслужване".
Потребител с право на администриране на допълнителни форми и обработка може да добавя и променя VPFO в базата данни. Това е отделна роля в конфигурацията.
За други потребители се присвояват права за четене (използване) и запис (промяна) за всеки елемент от VPFO директорията.
Предимства на използването на механизма VPFO пред механизма на платформата за отваряне на външна обработка:
- Възможност за използване на механизма от потребители, които НЯМАТ право на интерактивно отваряне на външна обработка
- Ограничаване на достъпа до използването и модифицирането на обработка на ниво запис (RLS), т.е. за всяко лечение поотделно
- Целостта на базата данни и неизменността на функционалността в зависимост от външни фактори (миграция на базата данни, мрежова работа на потребителите, създаване на архивни копия на базата данни и др.)
Описание на типовете VPFO директория и изискванията за свързана външна обработка
Нека разгледаме всеки тип VPFO поотделно.
Произволна обработка
За да включите произволна обработка в базата данни, е необходимо да посочите само външната обработка, която е на диска.
Отварянето на произволна обработка под формата на списък се извършва чрез избиране на елемента на VPFO с тип "Свободна обработка". В същото време бинарните данни от атрибута "Съхранение на външна обработка" се записват на диск във временен файл. След това се отваря основната форма за записаната външна обработка.
Трябва да се дефинира основната форма за произволна обработка.
Обработка за попълване на PM обекти
За обработка на попълване на PM е необходимо да се посочи външна обработка (файл на диск, с разширение epf), списък с обекти и техните PM, за които да се използва тази обработка.
В типичните конфигурации обектите, използващи този механизъм, са всички документи, съдържащи поне една таблична секция.
Преди да отворите формуляра на обект в командните панели на таблични полета (източник на данни, за който е табличната част на обекта), които съответстват на определени редове в справката за VPFO, елементите се добавят програмно към подменюто "Попълване" (ако подменюто "Попълване" не е в командния панел, то се създава).
Когато щракнете върху бутона на подменюто "Попълване", създадено преди отваряне, съответната обработка се записва на диска във временен файл, процедурата се извиква за запазената външна обработка:
Initialize(Object, TabularPartName, TabularObjectField)
- Обект - DocumentObject, DirectoryObject. Откъде беше извикването на процедурата за попълване на външна обработка?
- TablePartName - низ. Името на частта от таблицата, за която се извиква обработката;
- TabularObjectField – Елемент на формуляр: поле на таблица. Полето на формуляра на таблицата, на което се извиква обработката.
Наличието на процедурата за експорт "Initialize()" в модула на обекта за обработка с тип "Попълване на таблични части" е задължително. Тялото на тази процедура трябва да съдържа програмния код, който попълва табличния раздел в съответствие с целта на обработката.
Обработката може да включва и оформлението „Параметри_Автоматична регистрация“, използвано за автоматично попълване на собствеността върху отпечатания формуляр в справочника „Външна обработка“. Оформлението трябва да се състои от 2 колони - "пълно име на обект" и "име на част от таблица".
Пример за оформлението Parameters_Autoregistration:
Външна печатна форма
За свързани външни печатни форми, посочете:
- външенлечение
- списък на обектите, за които се използва този файл за печат
За всеки тип обект можете допълнително да посочите:
- Избор. Печатният формуляр ще бъде достъпен само за обекти, които отговарят на установената селекция.
- Отделна печатна форма. Моля, обърнете внимание, че един и същ елемент от подменюто винаги ще се появява в списъците с печатни елементи в обекти. Ако не е посочен отделен печат, тогава ще се използва този за печат от заглавката на VPFO елемента.
- Вграден печат. При попълване на този атрибут посоченият вграден печат ще бъде заменен с външен.
Диалоговият прозорец за задаване на условия за избор се извиква, когато започнете да избирате стойност в колоната "селекция":
В обектните форми в командната лента на формуляра (обикновено това е долната командна лента) се формира подменю с бутони за печат. Подменюто се формира програмно, при отваряне на формуляра и при писане на обект във формуляра (за да се гарантира, че елементите от менюто се променят в зависимост от данните на обекта и се задействат условията за избор, посочени в отпечатаните формуляри). В генерираното меню стандартните печатни формуляри са разделени от свързаните с разделител. Например:
Ако има добавка за печат, която трябва да замени стандартната, тя се заменя и се показва в списъка със стандартни за печат. В този случай свързаният файл за печат не се показва отделно в списъка на свързаните материали за печат.
Когато щракнете върху някой от бутоните за печат, се определя дали този бутон съответства на външен печат или вградена конфигурация. За бутони, съответстващи на вградени в конфигурацията печатни елементи, се извиква вграденият механизъм за печат (този механизъм не е наличен в рамките на текущия проект).се разглежда). За бутони, съответстващи на външни печатни форми, съответната обработка се записва на диск във временен файл.
За запазена външна обработка:
Наличието на атрибут "LinkToObject" и експортна функция "Print()" в модула на обекта за обработка с тип "Външна печатна форма" е задължително.
Тялото на функцията "Print()" трябва да съдържа програмния код, който генерира и връща документ от електронна таблица, в съответствие със стойността на атрибута "ObjectReference".
Обработката може да включва и оформлението "Параметри_Авторегистрация", използвано за автоматично попълване на аксесоарите на формата за печат в справочника "Външна обработка", състоящо се от една колона - пълното име на обекта, за който ще бъде създаден съответният бутон за печат.
Пример за оформлението Parameters_Autoregistration:
Ако тези изисквания са изпълнени, ще бъде достатъчно потребителят да посочи външен файл за обработка при регистрация на допълнителен печатен формуляр, след което всички данни на формуляра ще бъдат попълнени автоматично.
Техническо изпълнение на механизъм "Външна обработка, печатни форми, обработка за попълване на таблични части"
В базата данни външна обработка, печатни форми, обработка за попълване на таблични части се съхраняват в директория "Външна обработка". Директорията има следната структура:
- StorageExternalProcessing. Съхранение на стойност, съхранява данните за двоична обработка, дефинирани за целия елемент.
- Обработка на типове. EnumReference. Видове допълнителни външни обработки, определя вида на VPFO, всеки тип (формуляр за печат, попълване на таблични части, обработка) се разглежда отделно в раздела „Описание на видовете справочници на VPFO и изисквания за свързана външна обработка“.
- Коментар. Низ с неограничена дължина.
- Коментар върху изходния файл. Низ с неограничена дължина съхранява параметри на файла, дата на създаване и др. Попълва се автоматично в момента на интерактивен избор на файл за външна обработка. Потребителят не се променя.
TabularPart.Affiliation. Съхранява типовете обекти, за които са зададени VPFO и други параметри, описани по-долу. Табличната част се използва за елементи с вид обработка: "Печатна форма" или "Попълване на таблични части".
Подробности за табличната част:
- Представяне на обекта. Низ с неограничена дължина съхранява низовото представяне на избрания обект за показване на потребителя.
- ObjectReference. DirectoryReference, DocumentReference, съдържа празна препратка към конфигурационния обект. защото Тъй като атрибутът тип "Тип" за табличния раздел не може да бъде определен, тогава празна препратка определя типа на обекта, за който трябва да бъде свързана външна форма за печат или обработка за попълване на табличния раздел. Препратка към празна стойност от определен тип е полезна при заявки.
- TablePartName**. Ред, 100. Съдържа името на PM на обекта, за който се задава VPFO.
- TablePartView**. Низ с неограничена дължина. Съдържа синоним на PM на обекта, използван за показване на потребителя на изглед на табличната част на обекта, за който е зададен.
- BuilderSettingsForSelection***. Съхранението на стойност може да съдържа настройки на инструмента за създаване на отчети, разтоварени от него селекции за избрания обект.
- ExternalProcessing Storage***. ValueStorage може да съдържа двоични данни от външна обработка, която може да бъде включена, която ще бъде използвана на първо място, вместо обработка, разположена в заглавката.
- ReplaceablePrintForm***. линия,200. Името на печатаемата вградена форма на обекта, която да бъде заменена с добавената.
- PrintFormFileName***. Низ с неограничена дължина - името на файла на свързания печат.
- ViewBuilderSelection***. Низ с неограничена дължина съхранява изгледа за избор на конструктора и се използва за показване на изгледа за избор в табличния раздел на формата на референтния елемент „Външна обработка“.
** Използва се само за елементи с тип обработка: "Попълване на таблични части" *** Използва се само за елементи с вид обработка: "форма за печат".
Свързване на допълнителни форми за печат към форми на конфигурационни обекти
Допълнителният двигател на плочата е разширение на стандартния двигател на плочата на обекта. Добавянето на допълнителен формуляр към общия списък с формуляри се извършва в процедурите на модула формуляр на обекта преди отваряне, след запис и при натискане на бутона "Задаване на печат по подразбиране". Подменюто "Печат" и бутонът "Печат по подразбиране" във формуляра на обекта не е необходимо да присъстват. Те се генерират програмно, ако има поне една форма за печат и е зададен печат по подразбиране.
Свързване на обработка за попълване на таблични части към формулярите на конфигурационни обекти
Трябва да са налице следните процедури и функции, за да може механизмът да бъде свързан под формата на обект: