Предаване на параметри към управлявани и редовни форми. Предаване на параметри към управлявани и редовни форми Предаване на параметри от форми към структура c

25.06.2023

Тази статия описва как редовни средствапредаване на стойност като параметър при отваряне на управляван формуляр 8.2 в сравнение с това как подобна операция може да бъде приложена в обикновени формуляри.

Как се предават параметрите в редовни форми

В обикновените форми имаше 2 възможности за предаване на параметър:
1) по-рядко срещан метод: в обектната форма в раздела „Подробности“ бяха добавени атрибути и, ако е необходимо, достъпът беше определен чрез визуални средства
2) по-често срещан метод: променлива за експортиране е декларирана в модула на формуляра и стойността е обработена в манипулатора „Преди отваряне“

и в двата случая извикването на формуляра изглеждаше по следния начин:

Form = Object.GetForm("SelectionForm",FormOwner, UniquenessKey);
Form.Parameter = ParameterValue;
Form.Open();

Как се предават параметрите на контролирани форми

Управляваните формуляри вече имат способността незабавно да предават параметри, когато формулярът бъде получен. Параметрите се предават като структура:

Параметри = Нова структура ("CurrentValue", LastElement);
SelectionForm = GetForm("Директория. Номенклатура.SelectionForm", параметри);
FoundItem = SelectionForm.OpenModal();

Освен това управляваният формуляр вече има „разширения на формуляра“ (обект, справочник, документ, отчет). В зависимост от вида на обекта се определя съставът на наличните параметри. Например, ако във формата за избор на директория трябва да позиционирате конкретен елемент, тогава се използва параметърът „CurrentValue“. Голямото предимство е, че самата форма не изисква писане на манипулатори за предварително дефинирани параметри, което намалява количеството код.

Разработчикът също има възможност да дефинира свои собствени параметри (в дизайнера на управлявани формуляри, раздела „Параметри“). Животът на параметрите е ограничен от манипулатора OnCreationOnServer, което е логично, защото параметрите се изискват само при създаване на формуляр, но ако този параметър определя уникалността на формуляра (флагът „ключов параметър“ е зададен в свойствата на параметъра), той ще бъде наличен в други манипулатори.

За да предадете конкретен манипулационен параметър, трябва да направите малко повече:

1) Дефинирайте параметъра в контролирана форма.
В манипулатора OnCreationOnServer дефинирайте обработката на този параметър (достъп до предадените параметри чрез свойството „Параметри“, което има тип FormDataStructure)
2) Опишете получаването на формуляра и предайте стойността на новия параметър в параметрите на функцията GetForm.
Така кодът ще изглежда така:
- На мястото, където получавате формуляра

Параметри = Нова структура ("NewParameter", LastElement);
SelectionForm = GetForm("Директория. Номенклатура.SelectionForm", параметри);

В модул за управлявана форма

&На сървъра
Процедура при създаване на сървър (неуспех, стандартна обработка)
Ако Parameters.Property("NewParameter") Тогава
// тук е кодът за обработка на параметъра
endIf;
Край на процедурата

Заключение

Може би тази статия ще бъде полезна за някого, ще спести време и ще ви спести от ненужен код. За повече подробна информацияО пълен списъкЗа параметри на управляван формуляр се препоръчва да погледнете помощта „Управляван интерфейс\Управляван формуляр“.

[трябва да се регистрирате, за да видите връзката]

За да поддържа автоматичното взаимодействие между формулярите, системата предоставя редица стандартни параметри, които се използват за управление на формуляри, когато се отварят. Използвайки тези параметри, системата реализира в полетата на формуляри избора от формуляри за избор, отваряне на формуляри на обекти, работа със стандартни команди и т.н. Те предоставят различни сценарии за работа на интерфейса, вградени в системата. Но разработчикът може също да използва тези параметри във вградения език, като ги предава при извикване на метода OpenForm().

Ние изброяваме параметрите, предоставени от системата и тяхното предназначение:

  • Режим на избор– формата се отваря в режим на избор. Предоставя се от разширение за управляван формуляр динамичен списък.
  • CurrentRow– низ, който ще се активира в списъка при отваряне. Подава се стойност, която идентифицира низа. Осигурява се от разширението за формуляр за управляван динамичен списък.
  • Избор на групи и елементи- От този параметъре зададено свойството SelectionGroupsAndElements на таблицата на главния атрибут на формуляра. Осигурява се от разширението за формуляр за управляван динамичен списък.
  • AllowSelectRoot– дефинира възможността за избор на корен във формуляр с динамичен списък, показан като дърво. Предоставя се от разширение за управляван формуляр за динамичен списък, показан като дърво.
  • Избор– набор от селекция в динамичен списък. Представлява структура. Имената на елементите съответстват на имената на полетата, чрез които се извършва изборът, а стойностите съдържат стойностите за избор. Осигурява се от разширението за формуляр за управляван динамичен списък.
  • Ключ– стойност, идентифицираща обекта, който се редактира във формата. Ако стойността липсва или е неправилна, се създава нов обект с помощта на останалите параметри. Осигурява се от разширения на обектни формуляри и мениджър на записи на информационен регистър.
  • Копиране на стойност– стойност, идентифицираща обекта, който ще се използва за копиране при създаване на нов обект. Осигурява се от разширения на обектни формуляри и мениджър на записи на информационен регистър.
  • Попълване на стойности– стойности за попълване на детайлите на нов обект. Представлява структура. Имената на елементите съответстват на имената на детайлите, а стойностите съдържат данните, които ще се използват за попълване на посочените детайли. Осигурява се от разширения на обектни формуляри и мениджър на записи на информационен регистър.
  • База– стойност, идентифицираща обекта, който ще се използва като основа при създаване на нов обект чрез въвеждане на базата. Осигурява се от разширения на обектна форма.
  • Това е група– определя вида на новия обект: група или елемент. Осигурява се от разширения на обектна форма.

Пример за работа с параметри на формата

За да демонстрирате как работят параметрите на формуляра, разгледайте изпълнението на избиране на елемент в поле за въвеждане. Същността на примера ще бъде внедряването на механизма за избор на елемент от списък на вградения език.

Докато започнете да работите с примера, трябва да имате конфигурация със следните свойства:

  • Основен режим на стартиране – Управлявано приложение;
  • има директория Продукти с йерархия на групи и елементи;
  • има директория Analogs с атрибут SelectedProduct от типа DirectoryLink.Products;
  • и двете директории имат формуляри за управлявани елементи.

Сега нека внедрим в тази конфигурация всички механизми, които платформата използва за избор на елемент от списъка на вградения език. По този начин ще видим как се използват стандартните параметри на формуляра; как самата система ги използва; как един разработчик може да ги използва.

Нека добавим допълнителен флаг, който ще контролира затварянето на формата за избор след избиране на елемент. Нека наречем този флаг CloseAfterSelection (тип Boolean). Нека го добавим като параметър на формата Форма за избор на директория Продукти.

За да отворите формуляра за избор на елемент, трябва да създадете манипулатор на събитие за събитието Начало на избора за елемента на формуляра Избран продукт под формата на елемента на директория Analogues:

&На клиент

Процедура SelectedProductStartSelection(Item, StandardProcessing)

StandardProcessing = False;

SelectionParameters = Нова структура;

SelectionParameters.Insert("SelectionMode", True);

SelectionParameters.Insert("SelectingGroupsAndElements", UsingGroupsAndElements.Elements);

SelectionParameters.Insert("AllowRootSelection", False);

SelectionParameters.Insert("CurrentRow", Object.SelectedProduct);

SelectionParameters.Insert("CloseAfterSelection", False);

OpenForm("Directory.Products.SelectionForm", SelectionParameters, Elements.SelectedProduct);
Край на процедурата
Необходимо е да се спрем отделно на третия параметър на метода OpenForm(). Този параметър определя кой ще бъде собственик на формата за избор и кой ще бъде уведомен за направения избор. В този случай сме посочили самия елемент на формуляра като собственик на формуляра за избор, но можем също да посочим самия формуляр с този параметър. В този случай ще е необходимо да се внедри манипулаторът Form Module Selection Processing и в него да се реши в кой атрибут на формуляр да се поставят избраните данни. Печат (Ctrl+P) Опции на формуляра
1. Обща информация
Параметрите на формуляра (раздел Опции) служат за две цели:
● Опишете набора от данни, които ще повлияят на отварянето на формуляра (параметризиране на формуляра). За да направите това, трябва да посочите всички необходими параметри и да посочите техните видове. ● Определете параметрите, които ще повлияят на ключа за уникалност на формуляра. За да направите това, трябва да зададете свойството Ключов параметър тези параметри, които трябва да участват във формирането на ключа за уникалност на формата. Когато се опитате да отворите формуляр, системата търси съществуващ формуляр, като използва генерирания ключ за уникалност на формуляра. Ако формуляр с получения ключ съществува в системата):

уникалност, именно тази форма се връща; ако не, се създава нов формуляр.
При извикване на формуляр стойностите на параметрите, създадени от разработчика, могат да бъдат посочени в структурата на параметрите заедно със системните параметри на формулярите (ако има такива)..
Параметрите на формуляра могат да бъдат предадени на формуляра в момента на неговото създаване. Анализ на предадените параметри може да се извърши в събитието
WhenCreatingOnServer()(колекцията Parameters е свойство на обекта ManagedForm// На мястото на обаждането.
// Отваряне на формата с параметри.
OpenForm (“GeneralForm.ViewForm”, параметри);

// В модула формуляр.
&На сървъра
Процедура WhenCreatingOnServer(Failure, StandardProcessing)
Ако Параметри. Важност = Изброявания.Важност.Важно o Тогава

endIf;
Край на процедурата

ВНИМАНИЕ!! След извикване на манипулатора на събитияКогато е създаден на сървъра
всички неключови параметри на формуляра се премахват от колекцията Параметри.

съвет. Неключовите параметри на формуляра, необходими за по-нататъшна работа, трябва да бъдат запазени в данните на формуляра.

2. Стандартни параметри на формата
За да поддържа автоматичното взаимодействие между формулярите, системата предоставя редица стандартни параметри, които се използват за контрол на формулярите, когато се отварят. Използвайки тези параметри, системата реализира в полетата на формуляри избора от формуляри за избор, отваряне на формуляри на обекти, работа със стандартни команди и т.н. Те предоставят различни сценарии за работа на интерфейса, вградени в системата.
Но разработчикът може също да използва тези параметри във вградения език, като ги предава при извикване на метода OpenForm(). Списък на стандартните параметри на формуляра в зависимост от вида на разширението на формуляра може да бъде намерен в разделите
Вграден език - Интерфейс(управляван) – Управляван формуляр – Разширяване... вграден

сертификати

За да демонстрирате как работят параметрите на формуляра, разгледайте изпълнението на избиране на елемент в поле за въвеждане. Същността на примера ще бъде внедряването на механизма за избор на елемент от списък на вградения език.
3. Пример за работа с параметри на формата
Докато започнете да работите с примера, трябва да имате конфигурация със следните свойства:
● има директория Продукти с йерархия на групи и елементи; ● има директория с аналози с детайлите SelectedProduct type;
DirectoryLink.Продукти
● и двете директории имат форми на елементи.
Сега нека внедрим в тази конфигурация всички механизми, които платформата използва за избор на елемент от списъка на вградения език. В този случай ще видим:
● как се използват стандартните параметри на формата;
● как самата система ги използва;
● как един разработчик може да ги използва. Нека добавим допълнителен параметър, който ще контролира затварянето на формата за избор след избиране на елемент. Нека наречем този параметър CloseAfterSelection
(булев тип). Нека го добавим като параметър на формата Форма за избор на директория Продукти.

За да отворите формуляра за избор на елемент, трябва да създадете манипулатор на събитие за събитието Начало на избора в елемента формуляр на елемента формуляр Избран продукт.
Процедура &На клиент
SelectedProductStartSelection(Item, StandardProcessing)Стандартна обработка
= невярно;Опции за избор
= Нова структура;Опции за избор. Вмъкване
= Нова структура;(„Избор на групи и елементи“, Използване на GroupsAndElements.Elements);
= Нова структура;(„AllowRootSelection“, False);
= Нова структура;(„Текуща линия“, Object.SelectedProduct);
= Нова структура;(“CloseAfterSelection”, False);
OpenForm(“Директория.Продукти.Формуляр за избор”, = невярно;, Items.SelectedItem);
Край на процедурата
Необходимо е да се спрем отделно на третия параметър на метода OpenForm(). Този параметър определя кой ще бъде собственик на формата за избор и кой ще бъде уведомен за направения избор. В този случай сме посочили самия елемент на формуляра като собственик на формуляра за избор, но можем също да посочим самия формуляр с този параметър. В този случай ще е необходимо да се внедри манипулатор Обработка на селекциямодул формуляр и решете в него в кой атрибут на формуляр да поставите избраните данни.
ЗАБЕЛЕЖКА. Ако не внедрим манипулатора на събитието StartSelection, тогава неговите действия ще се извършват от самата система. Това важи за всички допълнителни манипулатори, които се използват в примера.
Сега трябва да обработите предадените параметри във формуляра за избор. Нека направим това в манипулатора След извикване на манипулатора на събития() на модула за формуляр за избор.

&На сървъра
Процедура WhenCreatingOnServer(Failure, StandardProcessing)
SelectedProductStartSelection(Item, StandardProcessing)Стандартна обработка
Elements.List.SelectingGroupsAndElements = Parameters.SelectingGroupsAndElements;
Elements.List.AllowRootSelection = Parameters.AllowRootSelection;
Elements.List.CurrentRow = Parameters.CurrentRow;
CloseOnSelection = Опции.CloseAfterSelection;
Край на процедурата
За да проверим функционалността на зададените от нас параметри на формуляра, с помощта на конфигуратора ще зададем свойството List за таблицата на формата за избор Избор на групи и елементикъм стойността на Групи (без използване на параметъра изборът на елементи от директорията няма да бъде наличен).
ЗАБЕЛЕЖКА. Ако таблицата със списък, показваща списък с продукти, няма свойството SelectionMode, зададено на True, тогава изборът на продукти няма да бъде наличен.
Сега трябва да се справим с избора на желания елемент във формата за избор. За да направите това, трябва да дефинирате манипулатор за събитието SelectValue на таблицата на формуляра.

За да отворите формуляра за избор на елемент, трябва да създадете манипулатор на събитие за събитието Начало на избора в елемента формуляр на елемента формуляр Избран продукт.
Процедура ListValueSelection(Element, StandardProcessing, Value)
SelectedProductStartSelection(Item, StandardProcessing)Стандартна обработка
NotifyOfSelection(Стойност);
Край на процедурата
Всичко, което трябва да направим, е да внедрим обработка за избор на елемент в самото поле за въвеждане. За да направите това, трябва да управлявате събитието Обработка на селекциянашето поле за въвеждане SelectedProduct.

За да отворите формуляра за избор на елемент, трябва да създадете манипулатор на събитие за събитието Начало на избора в елемента формуляр на елемента формуляр Избран продукт.
Процедура SelectedItemSelectionProcessing(Item, SelectedValue, StandardProcessing)
SelectedProductStartSelection(Item, StandardProcessing)Стандартна обработка
Object.SelectedProduct = SelectedValue;
Край на процедурата
Ние независимо внедрихме системен механизъм за избор на стойност в поле за въвеждане на формуляр.
ВНИМАНИЕ! Този примерне е завършено. Единствената му цел е да демонстрира механизмите за работа с параметри на формата.
Ако при създаване на параметри (манипулатор SelectedProductStartSelection()) заменете реда:

= Нова структура;(“CloseAfterSelection”, True);
на ред:
= Нова структура;(“CloseAfterSelection”, False) ;
тогава формулярът за избор вече няма да се затвори, след като изборът е направен. Това може да се използва, например, за прилагане на формуляр за избор (избиране на няколко продукта без затваряне на формуляра за избор).

Имаме обработка с този основен формуляр:

От тази форма трябва да отворим допълнителна форма, като текстът от полето на формата трябва да се прехвърли в отворената форма. Допълнителният формуляр е както следва:

Така, когато щракнете върху бутона „Изпълни“, се отваря допълнителна форма с вече въведения текст в полето:

Нека да разгледаме начин за решаване на такъв проблем.

Решение

За да прехвърлите параметри между обикновени формуляри, можете или да използвате глобалната експортна променлива на модула на формуляра, или да създадете атрибут на формуляр. Нека разгледаме и двата метода за нашата задача.

1. Използване на променливата за глобален експорт на модула на формуляра.

Добавете следния код към главния формуляр за процедурата за манипулиране на бутона "Изпълнение":

Процедура ButtonExecutePress(Button)Form = GetForm(" Допълнителна форма" ) ; // "Текст" е глобална експортна променлива на отворения модул на формуляраформа. Текст = FormElements. Текст. Значение; форма. Отваряне();

Край на процедурата

Текстовата променлива е добавена към модула на отваряния формуляр заедно с манипулатора на събитие "BeforeOpen": Експортиране на променлив текст;// Променлива, към която се предава стойността от друга форма

Процедура BeforeOpen(Failure, StandardProcessing)FormElements. Предаден текст. Стойност = Текст;

Край на процедурата

Проблемът е решен и то съвсем просто!

2. Използване на подпори за формуляри.

За втория метод дори не е необходимо да пренаписваме манипулаторите на бутоните „Run“ и „BeforeOpen“. Всичко, което е необходимо, е да добавите атрибута „Текст“ с тип низ към отворената форма.

Изводи В управляваните форми предаването на параметри е много по-лесно. В конвенционалните форми в повечето случаи се използва описаният подход..

Можете да обработите примера от статията изтеглете от връзкатаПрограмно отваряне на формуляри в

управлявано приложение

Това е най-бавният метод за отваряне на формуляри. Въпреки това ви позволява да обработите формуляра програмно, преди да го отворите. За да обработите кода, трябва да промените малко:

Формуляр = GetForm( "Документ. Получаване на стоки и услуги. Форма на документ") ;
//Тук извършваме действия с формата
форма. Отваряне();

Трябва да се има предвид, че когато формулярът бъде получен, ще се изпълни друга процедура за събитие WhenCreatedOnServer.

Нека да разгледаме други методи, които ви позволяват да отваряте формуляри в управлявано 1C приложение по-бързо и по-удобно. В зависимост от конкретната ситуация могат да се използват различни методи.

1. Как да отворите обектна форма в управлявано приложение, ако има връзка към нея.

В този случай всичко е изключително просто.

RefLink = Директории. Номенклатура. FindByCode("000000001" ) ;
OpenValue(RefLink);

2. Как да отворите формуляра за избор и след това да получите избраната стойност.

Има функция за това Въведете стойност().Функцията има 3 параметъра:

  • Променливата, в която ще бъде записана избраната стойност;
  • Подсказка, която ще се покаже в прозореца за избор;
  • Описание на видовете избрани стойности. Може да има няколко типа, в който случай ще бъдете подканени да изберете тип, преди да изберете конкретна стойност.

В резултат на изпълнение на функцията ще се отвори стандартната форма за избор на обект от посочения тип.

Променлива стойност;
Array = нов масив;
Масив. Добавяне(Тип( "Връзка към директория. Номенклатура") ) ;
Масив. Добавяне(Тип( "DirectoryLink. Контрагенти") ) ;

TypeDescription= ново TypeDescription(Array) ;

Res = EnterValue(Value, "Hint" , TypeDescription) ;

Предишните методи ви позволяваха само да отваряте формулярите по подразбиране за обекти (формуляр за обект или формуляр за избор). Ако трябва да отворите персонализиран формуляр, можете да използвате функцията OpenForm().

Тази функция има доста параметри. Нека да разгледаме някои от тях:

  • Име на формуляра— тук можете да изберете една от стандартните форми на обект, напр. Формуляр за изборили Формуляр за списък. Или конкретна форма, създадена от разработчиците.
  • Опции— ви позволява да го прехвърлите във формуляра във формуляра структуринякои параметри, преди да го отворите, като по този начин определяте изходните данни. Параметрите могат да бъдат всякакви данни, които могат да бъдат предадени от клиента към сървъра. Параметрите, предадени при отваряне на формата, могат да бъдат обработени в процедурата ● Определете параметрите, които ще повлияят на ключа за уникалност на формуляра. За да направите това, трябва да зададете свойствотовъв формата, която се отваря.
  • Режим на отваряне на формуляр— има 3 опции: независима, блокиране на целия интерфейс, блокиране на формата на собственика.

Нека да разгледаме как се използва функцията OpenForm()в различни ситуации.

3. Как да отворите формата на съществуващ обект

Всяка форма има един ключов атрибут. Той е подчертан с удебелен шрифт в списъка с подробности за формуляра и обикновено се извиква Обектпод формата на елементи от справочници и документи. Други обекти може да имат различно име. За да отворите форма на съществуващ обект, трябва да предадете параметър на формата, която се отваря Ключсъс стойността като препратка към обект.

За да отворите формуляра за избор на елемент, трябва да създадете манипулатор на събитие за събитието Начало на избора в елемента формуляр на елемента формуляр Избран продукт.
Процедура Команда1 (Команда)
Параметър= нова структура;
Параметър. Insert("Key" , FindC() ) ;
OpenForm(, параметър);
Край на процедурата

&На сървъра
Функция FindC();
Връщане на директории. Контрагенти. FindByRequisites ("TIN", "745107734623")
EndFunction

4. Как да отворите нов формуляр за обект

Една проста функция ще свърши работа тук OpenForm()без никакви параметри.

За да отворите формуляра за избор на елемент, трябва да създадете манипулатор на събитие за събитието Начало на избора в елемента формуляр на елемента формуляр Избран продукт.
Процедура Команда1 (Команда)
OpenForm( "Директория. Контрагенти. Обектна форма") ;
Край на процедурата

5. Как да отворите формуляр за нов обект и да го попълните въз основа на нещо

Трябва да подадете параметър База, чиято стойност ще бъде препратка към основния обект за пълнене. Това ще стартира процедурата ProcessFill().

За да отворите формуляра за избор на елемент, трябва да създадете манипулатор на събитие за събитието Начало на избора в елемента формуляр на елемента формуляр Избран продукт.
Процедура Команда1 (Команда)
Параметър= нова структура;
Параметър. Insert("Base", LinkToBuyerAccount) ;
OpenForm( "Документ. Продажби на стоки и услуги. Формуляр за обект", параметър);
Край на процедурата

Този пример ще създаде документ Продажба на стоки и услугии се попълва на базата на фактура за плащане към купувача, връзката към която е предадена.

6. Как да отворите формуляр и да зададете селекция върху него

Изборът на формуляри 1C може да бъде прост или сложен. Простият избор включва изрази като Организация = Horns and Hooves LLC.Сложният подбор включва други видове сравнение, напр. В списъка. В тази статия ще разгледаме организацията на простата селекция, а отделна статия ще бъде посветена на сложната селекция.

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

Например, нека отворим формата за списък с директории GTD номераи направете избор там по собственик - елемент на директория Номенклатура.

За да отворите формуляра за избор на елемент, трябва да създадете манипулатор на събитие за събитието Начало на избора в елемента формуляр на елемента формуляр Избран продукт.
Процедура Команда1 (Команда)
Параметър= нова структура;

Избор= нова структура;
Избор. Insert("Собственик", LinkToNomenclature) ;

Параметър. Insert("Selection", Selection) ;

OpenForm( "Указател. GTD номера. Формуляр за списък", параметър);
Край на процедурата

7. Как да отворите формата за въвеждане на информационен регистър

За да направите това, ще ви е необходим ключ за въвеждане на информационен регистър.

Ключ за запис— това са стойностите на всички измервания и периодът (ако регистърът е периодичен). Тоест ключът на записа е параметрите, чрез които записът може да бъде уникално идентифициран.

Алгоритъмът за отваряне е както следва:

  1. Въвеждаме ключовите данни за запис с необходимите стойности в структурата.
  2. Поставяме получената структура в масив.
  3. Създаваме ключ за запис от масива.
  4. Предаваме параметър на формата, която се отваря Ключс ключа за запис от стъпка 3 като стойност.

За да отворите формуляра за избор на елемент, трябва да създадете манипулатор на събитие за събитието Начало на избора в елемента формуляр на елемента формуляр Избран продукт.
Процедура Команда1 (Команда)
Параметър= нова структура;

KeyParameters= нова структура;
Ключови параметри. Insert("Номенклатура", LinkToNomenclature) ;
Ключови параметри. Insert("PriceType", LinkToPriceType) ;
Ключови параметри. Вмъкване ("Период", Дата) ;

KeyArray = Нов масив;
KeyArray. Добавяне (ключови параметри);

EntryKey = Нов( "Информационен регистър. Ключ на запис. Номенклатура на цените", KeyArray);

Параметър. Insert("Key", RecordKey) ;

OpenForm( "Регистър на информацията. Цени на номенклатурата. Регистърна форма", параметър);
Край на процедурата