Bahay / Setting / 1c ipasa ang mga parameter sa form ng pagpili. Pagpasa ng mga parameter sa pinamamahalaan at regular na mga form. Paano magbukas ng isang piling form at pagkatapos ay makuha ang napiling halaga

1c ipasa ang mga parameter sa form ng pagpili. Pagpasa ng mga parameter sa pinamamahalaan at regular na mga form. Paano magbukas ng isang piling form at pagkatapos ay makuha ang napiling halaga

I-print (Ctrl+P)

Mga Pagpipilian sa Form

1. Pangkalahatang impormasyon

Ang mga parameter ng form (Mga Parameter ng tab) ay nagsisilbi sa dalawang layunin:
● Ilarawan ang set ng data na makakaapekto sa pagbubukas ng form (parametrization ng form). Upang gawin ito, kailangan mong ilista ang lahat ng kinakailangang mga parameter at tukuyin ang kanilang mga uri.
● Tukuyin ang mga parameter na makakaapekto sa key ng uniqueness ng hugis. Upang gawin ito, kailangan mong itakda ang ari-arian Key parameter yaong mga parameter na dapat lumahok sa pagbuo ng key ng pagiging natatangi ng form. Kapag sinubukan mong buksan ang isang form, maghahanap ang system ng isang umiiral nang form gamit ang nabuong form uniqueness key. Kung mayroong isang form na may natanggap na susi sa system
pagiging natatangi, ang form na ito ay ibinalik; kung hindi, isang bagong form ang nilikha.
Kapag na-invoke ang isang form, maaaring tukuyin ang mga value ng parameter na ginawa ng developer sa istraktura ng parameter, kasama ang mga parameter ng system ng form (kung mayroon man).
Ang mga parameter ng form ay maaaring ipasa sa form sa oras ng paggawa nito. Maaaring isagawa ang pagsusuri ng mga naipasa na parameter sa kaganapan OnCreateOnServer() (Ang koleksyon ng Mga Parameter ay isang pag-aari ng bagay ManagedForm):

// Sa site ng tawag.
// Bumuo ng parameter ng form.
Mga Parameter = Bagong Struct();
Mga Pagpipilian.Idikit("Kahalagahan", PredefinedValue(“Enumeration.Importance.Important”));
// Buksan ang form na may mga parameter.
OpenForm("GeneralForm.ViewForm", Parameter);

// Sa form module.
&Sa server
Pamamaraan OnCreateOnServer(Failure, StandardProcessing)
Kung ang Parameter.Kahalagahan = Enums.Kahalagahan.Mahalaga Oh Pagkatapos

Tapusin kung;
EndProcedure

PANSIN! Matapos tawagan ang event handler OnCreateOnServer lahat ng hindi pangunahing parameter ng form ay tinanggal mula sa koleksyon ng Mga Parameter.
Payo. Ang mga non-key na parameter ng form na kinakailangan para sa karagdagang trabaho ay dapat na naka-imbak sa data ng form.

2. Mga karaniwang opsyon sa form

Upang masuportahan ang awtomatikong pakikipag-ugnayan sa pagitan ng mga form, ang system ay nagbibigay ng ilang karaniwang mga parameter, na ginagamit upang kontrolin ang mga form kapag binuksan ang mga ito. Sa tulong ng mga parameter na ito, ipinapatupad ng system sa mga patlang ng form ang pagpili mula sa mga form ng pagpili, ang pagbubukas ng mga form ng object, ang pagpapatakbo ng mga karaniwang command, atbp. Iyon ay, nagbibigay sila ng iba't ibang mga senaryo ng operasyon ng interface na naka-embed sa system.
Ngunit magagamit din ng developer ang mga parameter na ito sa 1C:Enterprise na wika sa pamamagitan ng pagpasa sa mga ito kapag tumatawag sa OpenForm() na paraan.
Ang listahan ng mga karaniwang parameter ng form depende sa uri ng extension ng form ay makikita sa mga seksyon Naka-embed na Wika - Interface
(pinamamahalaan) - Pinamamahalaang form - Extension...inline mga sanggunian.

3. Isang halimbawa ng pagtatrabaho sa mga parameter ng form

Upang ipakita kung paano gumagana ang mga parameter ng form, isaalang-alang natin ang pagpapatupad ng pagpili ng isang elemento sa input field. Ang kakanyahan ng halimbawa ay ang pagpapatupad ng mekanismo para sa pagpili ng isang elemento mula sa listahan sa built-in na wika.
Sa oras na magsimula kang magtrabaho kasama ang halimbawa, kailangan mong magkaroon ng configuration na may mga sumusunod na katangian:
● mayroong direktoryo ng Mga kalakal na may hierarchy ng mga pangkat at elemento;
● mayroong isang direktoryo na Analogues na may uri ng attribute na SelectedProduct DirectoryLink.Mga Produkto;
● Ang parehong mga reference na libro ay may mga form ng item.
Ngayon ay ipinapatupad namin sa pagsasaayos na ito ang lahat ng mga mekanismo na ginagamit ng platform upang pumili ng isang elemento mula sa listahan, sa built-in na wika. Sa paggawa nito, makikita natin:
● kung paano ginagamit ang mga karaniwang parameter ng form;
● kung paano ginagamit ng system ang mga ito;
● kung paano magagamit ng isang developer ang mga ito.
Dagdagan natin karagdagang parameter Isang na magkokontrol sa pagsasara ng piling form pagkatapos mapili ang isang item. Tawagan natin ang parameter na ito CloseAfterSelection(uri ng boolean). Idagdag natin ito bilang parameter ng form na Selection form ng Goods directory.
Upang mabuksan ang form ng pagpili ng elemento, kinakailangan na lumikha ng isang event handler para sa SelectStart na kaganapan sa SelectedItem form na elemento sa anyo ng Analogues directory element.

&AtClient
Pamamaraan SelectedItemSelectionStart(Item, StandardProcessing)
Karaniwang Pagproseso= mali ;
Mga Pagpipilian sa Pagpipilian= Bagong Istraktura ;
SelectionParameters.Insert(“SelectionMode”, True);
SelectionParameters.Insert(“SelectGroupsAndItems”, UsingGroupsAndItems.Items);
SelectionParameters.Insert(“AllowRootSelection”, Mali);
SelectionParameters.Insert(“CurrentLine”, Object.SelectedItem);
SelectionParameters.Insert(“CloseAfterSelection”, Mali);
OpenForm("Catalog.Products.ChoiceForm", Mga Pagpipilian sa Pagpipilian, Items.SelectedProduct);
EndProcedure
Dapat nating talakayin nang hiwalay ang ikatlong parameter ng OpenForm() na pamamaraan. Tinutukoy ng parameter na ito kung sino ang magiging may-ari ng form ng pagpili at kung sino ang aabisuhan sa ginawang pagpili. AT kasong ito tinukoy namin ang mismong elemento ng form bilang may-ari ng form ng pagpili, ngunit maaari rin naming tukuyin ang form mismo gamit ang parameter na ito. Sa kasong ito, kakailanganing ipatupad ang handler HandlingChoice form ng module at magpasya dito kung saang form attribute ilalagay ang napiling data.
TANDAAN. Kung hindi namin ipapatupad ang event handler StartChoice , ang system mismo ang gagawa ng mga aksyon nito. Ito ay totoo para sa lahat ng karagdagang mga humahawak na ginagamit sa halimbawa.
Ngayon kailangan nating iproseso ang mga naipasa na mga parameter sa piliin na form. Gawin natin sa handler OnCreateOnServer() ng select form na module.

&Sa server
Pamamaraan OnCreateOnServer(Failure, StandardProcessing)
Karaniwang Pagproseso= mali ;
Elements.List.SelectGroupsAndItems = Parameters.SelectGroupsAndItems;
Elements.List.AllowSelectRoot = Parameters.AllowSelectRoot;
Items.List.CurrentRow = Parameters.CurrentRow;
CloseOnSelection = Parameters.CloseAfterSelection;
EndProcedure
Upang masuri ang pagganap ng mga parameter ng form na itinakda namin, itatakda namin, gamit ang configurator, ang List property ng selection form table SelectGroupsAndItems sa value ng Groups (nang hindi inilalapat ang parameter, hindi magiging available ang pagpili ng mga elemento ng diksyunaryo).
TANDAAN. Kung ang talahanayan ng Listahan, na nagpapakita ng listahan ng mga produkto, ay walang SelectionMode property na nakatakda sa True , hindi magiging available ang pagpili ng mga produkto.
Ngayon kailangan nating hawakan ang pagpili ng nais na item sa form ng pagpili. Upang gawin ito, kailangan mong tukuyin ang isang tagapangasiwa ng kaganapan para sa kaganapan ng SelectValues ​​ng talahanayan ng form.

&AtClient
Pamamaraan ListSelectionValues(Item, StandardProcessing, Value)
Karaniwang Pagproseso= mali ;
NotifySelection(Value);
EndProcedure
Nananatili para sa amin na ipatupad ang pagpoproseso ng pagpili ng elemento sa mismong input field. Upang gawin ito, kailangan mong pangasiwaan ang kaganapan HandlingChoice aming input field SelectedProduct.

&AtClient
Pamamaraan SelectedItemProcessingChoice(Item, SelectedValue, StandardProcessing)
Karaniwang Pagproseso= mali ;
Object.SelectedItem = SelectedValue;
EndProcedure
Independyente kaming nagpatupad ng mekanismo ng system para sa pagpili ng value sa input field sa form.
PANSIN! Ang halimbawang ito ay hindi kumpleto. Ang tanging layunin nito ay ipakita ang mga mekanika ng pagtatrabaho sa mga parameter ng form.
Kung kapag lumilikha ng mga parameter (handler SelectedItemSelectionStart()) palitan ang linya:

SelectionParameters.Insert(“CloseAfterSelection”, True );
sa linya:
SelectionParameters.Insert(“CloseAfterSelection”, Mali);
pagkatapos ay titigil sa pagsasara ang form ng pagpili pagkatapos gawin ang pagpili. Magagamit ito, halimbawa, upang ipatupad ang isang form ng pagpili (pagpili ng maraming produkto nang hindi isinasara ang form ng pagpili).

Upang masuportahan ang awtomatikong pakikipag-ugnayan sa pagitan ng mga form, ang system ay nagbibigay ng isang bilang ng mga karaniwang opsyon na ginagamit upang kontrolin ang mga form kapag binuksan ang mga ito. Sa tulong ng mga parameter na ito, ipinapatupad ng system sa mga patlang ng form ang pagpili mula sa mga form ng pagpili, ang pagbubukas ng mga form ng object, ang pagpapatakbo ng mga karaniwang command, atbp. Iyon ay, nagbibigay sila ng iba't ibang mga senaryo ng operasyon ng interface na naka-embed sa system. Ngunit magagamit din ng developer ang mga parameter na ito sa 1C:Enterprise na wika sa pamamagitan ng pagpasa sa mga ito kapag tumatawag sa OpenForm() na paraan.

Inilista namin ang mga parameter na ibinigay ng system at ang kanilang layunin:

  • Mode ng Pagpili– bubukas ang form sa selection mode. Ibinigay sa pamamagitan ng extension pinamamahalaang form dynamic na listahan.
  • CurrentLine– isang string na isaaktibo sa listahan kapag binuksan. Isang value ang ipinasa na nagpapakilala sa string. Ibinibigay ng extension ng form ng pinamamahalaang dynamic na listahan.
  • SelectGroupsAndItems– ang parameter na ito ay nagtatakda ng SelectGroupAndItems property ng talahanayan ng pangunahing katangian ng form. Ibinibigay ng extension ng form ng pinamamahalaang dynamic na listahan.
  • AllowSelectionRoot– tinutukoy kung ang ugat ay maaaring piliin sa form na may isang dynamic na listahan na ipinapakita bilang isang puno. Ibinibigay ng pinamamahalaang extension ng form ng isang dynamic na listahan na ipinapakita bilang isang puno.
  • Pagpili– itinakda ang pagpili sa isang dynamic na listahan. Kumakatawan sa isang istraktura. Ang mga pangalan ng mga elemento ay tumutugma sa mga pangalan ng mga patlang kung saan ginawa ang pagpili, at ang mga halaga ay naglalaman ng mga halaga ng pagpili. Ibinibigay ng extension ng form ng pinamamahalaang dynamic na listahan.
  • Susi– halaga na nagpapakilala sa bagay na ini-edit sa form. Kung nawawala o mali ang value, gagawa ng bagong object gamit ang natitirang mga parameter. Ibinibigay ng mga form ng bagay at impormasyon sa pagpaparehistro ng mga extension ng record manager.
  • ValueCopy– isang halaga na nagpapakilala sa bagay na gagamitin para sa pagkopya kapag gumagawa ng bagong bagay. Ibinibigay ng mga form ng bagay at impormasyon sa pagpaparehistro ng mga extension ng record manager.
  • Punan ang mga Halaga- mga halaga para sa pagpuno sa mga detalye ng bagong bagay. Kumakatawan sa isang istraktura. Ang mga pangalan ng mga elemento ay tumutugma sa mga pangalan ng mga katangian, at ang mga halaga ay naglalaman ng data na gagamitin upang punan ang mga tinukoy na katangian. Ibinibigay ng mga form ng bagay at impormasyon sa pagpaparehistro ng mga extension ng record manager.
  • Base– isang halaga na nagpapakilala sa bagay na gagamitin bilang batayan kapag lumilikha ng bagong bagay sa pamamagitan ng pag-input sa batayan. Ibinigay ng mga extension ng object form.
  • Grupong ito– tumutukoy sa uri ng bagong bagay: pangkat o elemento. Ibinigay ng mga extension ng object form.

Halimbawa ng pagtatrabaho sa mga parameter ng form

Upang ipakita kung paano gumagana ang mga parameter ng form, isaalang-alang natin ang pagpapatupad ng pagpili ng isang elemento sa input field. Ang kakanyahan ng halimbawa ay ang pagpapatupad ng mekanismo para sa pagpili ng isang elemento mula sa listahan sa built-in na wika.

Sa oras na magsimula kang magtrabaho kasama ang halimbawa, kailangan mong magkaroon ng configuration na may mga sumusunod na katangian:

  • Ang pangunahing mode ng paglunsad ay Managed Application;
  • mayroong direktoryo ng Mga kalakal na may hierarchy ng mga pangkat at elemento;
  • mayroong isang direktoryo na Analogues na may katangiang SelectedItem ng DirectoryReference.Uri ng Goods;
  • parehong mga reference na libro ay may pinamamahalaang mga form ng item.

Ngayon ay ipinapatupad namin sa pagsasaayos na ito ang lahat ng mga mekanismo na ginagamit ng platform upang pumili ng isang elemento mula sa listahan, sa built-in na wika. Sa paggawa nito, makikita natin kung paano ginagamit ang mga karaniwang parameter ng form; kung paano ginagamit ng system mismo ang mga ito; kung paano magagamit ng isang developer ang mga ito.

Magdagdag tayo ng karagdagang bandila na magkokontrol sa pagsasara ng form ng pagpili pagkatapos mapili ang isang elemento. Tawagan natin itong watawat na CloseAfterSelection (uri ng Boolean). Idagdag natin ito bilang parameter ng form ng Goods directory Selection Form.

Upang mabuksan ang form ng pagpili ng elemento, kinakailangan na lumikha ng isang tagapangasiwa ng kaganapan para sa kaganapang SelectStart para sa elemento ng form na SelectedItem sa form ng elemento ng Analogues catalog:

&AtClient

Pamamaraan SelectedItemSelectionStart(Item, StandardProcessing)

StandardProcessing = Mali;

ChoiceParameters = Bagong Struct; SelectionParameters.Insert("SelectionMode", True); SelectionParameters.Insert("SelectGroupsAndItems", UseGroupsAndItems.Elements); SelectionParameters.Insert("AllowRootSelection", False); ChoiceParameters.Insert("CurrentRow", Object.SelectedItem); SelectionParameters.Insert("CloseAfterSelection", False); OpenForm("Catalog.Products.ChoiceForm", ChoiceParameters, Elements.SelectedProduct);

EndProcedure

Dapat nating talakayin nang hiwalay ang ikatlong parameter ng OpenForm() na pamamaraan. Tinutukoy ng parameter na ito kung sino ang magiging may-ari ng form ng pagpili at kung sino ang aabisuhan sa ginawang pagpili. Sa kasong ito, tinukoy namin ang mismong elemento ng form bilang may-ari ng form ng pagpili, ngunit maaari rin naming tukuyin ang form mismo gamit ang parameter na ito. Sa kasong ito, kakailanganing ipatupad ang SelectProcess handler ng form module at magpasya dito kung aling katangian ng form ang paglalagay ng napiling data.

Ang pagbubukas ng mga form sa pamamagitan ng program sa isang pinamamahalaang 1C application ay makabuluhang naiiba sa pagbubukas ng mga ito sa isang regular na aplikasyon. Magsimula tayo sa lumang pamamaraan. Binubuo ito sa pagtanggap ng form at sa kasunod na pagbubukas nito sa normal o modal mode (kapag binuksan sa modal mode, hinaharangan ng form ang programa).

GetForm() . Buksan()

Ito ang pinakamabagal na paraan ng pagbubukas ng mga form. Gayunpaman, pinapayagan ka nitong iproseso ng programmatically ang form bago ito buksan. Upang maproseso ang code, kailangan mong baguhin nang kaunti:

Form= GetForm( "Dokumento. Pagtanggap ng Mga Kalakal at Serbisyo. Form ng Dokumento") ;
// Dito nagsasagawa kami ng mga aksyon gamit ang form
Ang porma. Buksan();

Dapat tandaan na kapag natanggap ang form, isa pang pamamaraan ng kaganapan ang isasagawa OnCreateOnServer.

Isaalang-alang ang iba pang mga pamamaraan na nagbibigay-daan sa iyong magbukas ng mga form sa isang pinamamahalaang 1C application nang mas mabilis at mas maginhawa. Maaaring gumamit ng iba't ibang paraan depende sa partikular na sitwasyon.

1. Paano buksan ang anyo ng isang bagay sa isang pinamamahalaang aplikasyon kung mayroong isang link dito.

Sa kasong ito, ang lahat ay napaka-simple.

RefReference= Mga Sanggunian. Nomenclature. FindByCode("000000001" );
OpenValue(ReferenceReference) ;

2. Paano magbukas ng selection form at pagkatapos ay makuha ang napiling value.

Mayroong isang function para dito EnterValue(). Ang function ay may 3 mga parameter:

  • Ang variable kung saan isusulat ang napiling halaga;
  • Ang tooltip na ipapakita sa window ng pagpili;
  • Paglalarawan ng mga uri ng mga napiling halaga. Maaaring may ilang mga uri, pagkatapos bago pumili ng isang partikular na halaga, ipo-prompt kang pumili ng isang uri.

Bilang resulta ng pagpapatupad ng function, magbubukas ang default na form ng pagpili para sa object ng tinukoy na uri.

Variable Value;
Array= bagong array;
Array. Magdagdag(Uri( "DirectoryLink.Nomenclature") ) ;
Array. Magdagdag(Uri( "DirectoryLink. Counterparty") ) ;

TypeDescription= bagong TypeDescription(Array) ;

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

Pinahintulutan ng mga nakaraang pamamaraan ang pagbubukas lamang ng mga form na itinakda para sa mga bagay bilang default (form ng object o form ng pagpili). Kung kailangan mong buksan ang isang arbitrary na form, maaari mong gamitin ang function OpenForm().

Ang function na ito ay may kaunting mga parameter. Isaalang-alang natin ang ilan sa mga ito:

  • Pangalan ng form- dito maaari mong piliin ang alinman sa mga karaniwang anyo ng bagay, halimbawa, FormSelect o FormList. O isang partikular na form na ginawa ng mga developer.
  • Mga pagpipilian- nagpapahintulot sa iyo na ilipat sa form sa form mga istruktura ilang mga parameter bago ito buksan, sa gayon ay tinutukoy ang output data. Ang mga parameter ay maaaring anumang data na maaaring maipasa mula sa kliyente patungo sa server. Ang mga parameter na naipasa kapag binubuksan ang form ay maaaring iproseso sa pamamaraan OnCreateOnServer() sa binuksan na form.
  • Form opening mode- May 3 pagpipilian: independyente, harangan ang buong interface, harangan ang form ng may-ari.

Tingnan natin kung paano ginagamit ang function OpenForm() sa iba't ibang sitwasyon.

3. Paano buksan ang anyo ng isang umiiral na bagay

Ang bawat form ay may isang pangunahing katangian. Ito ay naka-highlight sa bold sa listahan ng mga katangian ng form at karaniwang tinatawag Isang bagay sa mga anyo ng mga elemento ng mga direktoryo, mga dokumento. Maaaring may ibang pangalan ang ibang mga bagay. Upang buksan ang form ng isang umiiral na bagay, kailangan mong ipasa ang parameter sa binuksan na form Susi na may halaga bilang isang object reference.

&AtClient
Procedure Command1 (Command)
Parameter= bagong struct;
Parameter. Insert("Key" , FindC() );
OpenForm(, Parameter);
EndProcedure

&Sa server
FindC() function;
Ibalik ang mga Handbook. Counterparty. FindByAttribute ("TIN", "745107734623")
EndFunctions

4. Paano buksan ang anyo ng isang bagong bagay

Ito ay isang function lamang OpenForm() nang walang anumang mga parameter.

&AtClient
Procedure Command1 (Command)
OpenForm( "Reference book. Counterparty. Object form") ;
EndProcedure

5. Paano magbukas ng bagong object form at punan ito batay sa isang bagay

Kailangang magpasa ng isang parameter Base, na ang halaga ay magiging reference sa fill base object. Ito ay magsisimula sa pamamaraan HandleFill().

&AtClient
Procedure Command1 (Command)
Parameter= bagong struct;
Parameter. Insert("Dahilan" , LinkToAccountToBuyer);
OpenForm( "Dokumento. Pagsasakatuparan ng mga Kalakal at Serbisyo. Form ng Bagay", Parameter);
EndProcedure

Ang halimbawang ito ay lilikha ng isang dokumento Pagbebenta ng mga kalakal at serbisyo at nakumpleto batay sa invoice para sa pagbabayad sa mamimili, ang link kung saan inilipat.

6. Paano magbukas ng form at magtakda ng seleksyon dito

Ang pagpili sa mga 1C na form ay maaaring maging simple at kumplikado. Ang simpleng pagpili ay nagsasangkot ng mga expression tulad ng Organisasyon = Horns and Hooves LLC. Ang kumplikadong pagpili ay nagsasangkot ng iba pang mga uri ng paghahambing, halimbawa, Nakalista. Sa artikulong ito, isasaalang-alang namin ang samahan ng isang simpleng pagpili, at ang isang hiwalay na artikulo ay ilalaan sa kumplikado.

Upang ayusin ang isang simpleng pagpili, kailangan mong ipasa ang isang parameter na may susi sa binuksan na form Pagpili, ang value ay isang istraktura kung saan ang susi ay ang pangalan ng field ng dynamic na listahan, at ang value ay ang data na hahanapin.

Halimbawa, buksan natin ang form ng listahan ng paghahanap Hindi-GTE at gagawa kami ng pagpili doon ng may-ari - ang elemento ng direktoryo Nomenclature.

&AtClient
Procedure Command1 (Command)
Parameter= bagong struct;

Selection= bagong Structure;
Pagpili. Insert("May-ari", LinkToNomenclature);

Parameter. Insert("Selection", Selection);

OpenForm( "Directory.GTE Numbers.List Form", Parameter);
EndProcedure

7. Paano buksan ang form ng pagpasok ng rehistro ng impormasyon

Upang gawin ito, kakailanganin mo ang susi ng entry ng rehistro ng impormasyon.

Record Key ay ang mga halaga ng lahat ng mga sukat at ang panahon (kung ang rehistro ay pana-panahon). Iyon ay, ang susi ng talaan ay ang mga parameter kung saan ang talaan ay maaaring natatanging makilala.

Ang pambungad na algorithm ay ang mga sumusunod:

  1. Ipinasok namin ang record key data na may mga kinakailangang halaga sa istraktura.
  2. Inilalagay namin ang nagresultang istraktura sa isang array.
  3. Mula sa array, nilikha namin ang record key.
  4. Pagpasa ng parameter sa binuksan na form Susi na may record key mula sa item 3 bilang ang halaga.

&AtClient
Procedure Command1 (Command)
Parameter= bagong struct;

KeyParameters= bagong Struct;
Mga KeyParameter. Insert("Nomenclature", LinkToNomenclature) ;
Mga KeyParameter. Insert("PriceType" , LinkToPriceType) ;
Mga KeyParameter. Insert("Panahon", Petsa);

ArrayKey = Bagong Array;
ArrayKey. Magdagdag(KeyParameters);

RecordKey = Bago( "Information RegisterRecordKey.NomenclaturePrices", ArrayKey);

Parameter. Insert("Key", RecordKey);

OpenForm( "Rehistro ng Impormasyon. Mga Presyo ng Nomenclature. Form ng Record", Parameter);
EndProcedure

Inilalarawan ng artikulong ito kung paano magpasa ng value bilang parameter bilang parameter kapag nagbubukas ng pinamamahalaang form 8.2 kumpara sa kung paano maipapatupad ang isang katulad na operasyon sa mga regular na form.

Paano ipinapasa ang mga parameter sa mga normal na anyo

Sa mga normal na anyo, mayroong 2 posibilidad para sa pagpasa ng isang parameter:
1) isang hindi gaanong karaniwang paraan: sa anyo ng isang bagay sa tab na "Mga Detalye", ang mga detalye ay idinagdag, kung kinakailangan, ang pag-access ay tinutukoy sa pamamagitan ng visual na paraan
2) isang mas karaniwang paraan: ang isang export variable ay idineklara sa form na module at ang halaga ay naproseso sa "BeforeOpening" handler

sa parehong mga kaso, ang form na tawag ay mukhang ganito:

Form = Object.GetForm("ChoiceForm",FormOwner,UniqueKey);
Form.Parameter = ParameterValue;
Form.Open();

Paano ipinapasa ang mga parameter sa mga pinamamahalaang form

Ang mga pinamamahalaang form ay mayroon na ngayong kakayahang ipasa ang mga parameter kapag natanggap ang form. Ang mga parameter ay ipinasa bilang isang istraktura:

Mga Parameter = Bagong Structure("CurrentValue",LastItem);
ChoiceForm = GetForm("Catalog.Nomenclature.ChoiceForm",Mga Parameter);
FoundItem = ChoiceForm.OpenModal();

Gayundin, ang pinamamahalaang form ay may "mga extension ng form" (object, direktoryo, dokumento, ulat). Depende sa uri ng bagay, tinutukoy ang listahan ng mga magagamit na parameter. Halimbawa, kung kailangan mong magposisyon sa isang partikular na elemento sa form ng pagpili ng diksyunaryo, gagamitin ang parameter na "CurrentValue". Ang malaking plus ay na sa mismong form ay hindi kinakailangan na magsulat ng mga humahawak para sa mga paunang natukoy na mga parameter, na binabawasan ang dami ng code.

May pagkakataon din ang developer na tukuyin ang sarili niyang mga parameter (sa tagabuo ng pinamamahalaang form, ang tab na "Mga Parameter"). Ang haba ng buhay ng mga parameter ay nililimitahan ng OnCreateOnServer handler, na lohikal dahil kailangan lang ng mga parameter kapag gumagawa ng form, ngunit kung tinutukoy ng parameter na ito ang uniqueness ng form (ang flag na "key parameter" ay nakatakda sa mga katangian ng parameter), magiging available ito sa iba pang mga handler.

Upang maipasa ang isang partikular na parameter ng pagmamanipula, kailangan mong gumawa ng kaunti pa:

1) Tukuyin ang isang parameter sa isang pinamamahalaang form.
Sa handler ng OnCreateOnServer, tukuyin ang pagpoproseso ng parameter na ito (pag-access sa mga naipasa na parameter sa pamamagitan ng property na "Mga Parameter" ng uri ng FormDataStructure)
2) Ilarawan ang pagtanggap ng form at ipasa ang halaga ng bagong parameter sa mga parameter ng GetForm function.
Kaya ang code ay magiging ganito:
- Sa lugar ng pagtanggap ng form

Mga Parameter = Bagong Structure("NewParameter",LastElement);
ChoiceForm = GetForm("Catalog.Nomenclature.ChoiceForm",Mga Parameter);

Sa isang pinamamahalaang form na module

&Sa server
Pamamaraan Sa CreationOnServer(Failure, StandardProcessing)
Kung Parameters.Property("NewParameter") Then
// code sa pagpoproseso ng parameter dito
Tapusin kung;
EndProcedure

Konklusyon

Marahil ang artikulong ito ay magiging kapaki-pakinabang sa isang tao, nakakatipid ito ng oras at nakakatipid sa iyo mula sa hindi kinakailangang code. Para sa mas detalyadong impormasyon tungkol sa kumpletong listahan mga parameter ng isang pinamamahalaang form, inirerekomendang tingnan ang tulong na "Pinamamahalaang interface \ Pinamamahalaang form".

[kailangan mong magrehistro para makita ang link]