Kalimi i parametrave në forma të menaxhuara dhe të rregullta. Kalimi i parametrave në format e menaxhuara dhe të rregullta Kalimi i parametrave nga formularët në strukturë c

25.06.2023

Ky artikull përshkruan se si mjete të rregullta kaloni një vlerë si parametër kur hapni një formular të menaxhuar 8.2 në krahasim me mënyrën se si një operacion i ngjashëm mund të zbatohej në forma të rregullta.

Si kalohen parametrat në forma të rregullta

Në forma të zakonshme, kishte 2 mundësi për kalimin e një parametri:
1) një metodë më pak e zakonshme: në formën e objektit në skedën "Detajet", u shtuan atribute, dhe nëse ishte e nevojshme, qasja u përcaktua me mjete vizuale
2) një metodë më e zakonshme: një variabël eksporti u deklarua në modulin e formularit dhe vlera u përpunua në mbajtësin "Para hapjes".

në të dyja rastet thirrja e formularit dukej diçka si kjo:

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

Si kalohen parametrat forma të kontrolluara

Formularët e menaxhuar tani kanë aftësinë për të kaluar menjëherë parametrat kur të merret formulari. Parametrat kalohen si strukturë:

Parametrat = Struktura e re ("Vlera aktuale", LastElement);
SelectionForm = GetForm("Directory. Nomenklature.SelectionForm", Parametrat);
FoundItem = SelectionForm.OpenModal();

Gjithashtu, forma e menaxhuar tani ka "zgjatje formulari" (objekt, libër referimi, dokument, raport). Në varësi të llojit të objektit, përcaktohet përbërja e parametrave të disponueshëm. Për shembull, nëse në formularin e përzgjedhjes së drejtorisë duhet të poziciononi në një element specifik, atëherë përdoret parametri "CurrentValue". Avantazhi i madh është se vetë forma nuk kërkon shkrimin e mbajtësve për parametrat e paracaktuar, gjë që zvogëlon sasinë e kodit.

Zhvilluesi gjithashtu ka mundësinë të përcaktojë parametrat e tij (në projektuesin e formës së menaxhuar, skeda "Parametrat"). Jetëgjatësia e parametrave është e kufizuar nga mbajtësi OnCreationOnServer, gjë që është logjike sepse parametrat kërkohen vetëm kur krijohet një formular, por nëse ky parametër përcakton veçantinë e formularit (flamuri "parametri kryesor" është vendosur në vetitë e parametrave), ai do të jetë i disponueshëm në mbajtës të tjerë.

Për të kaluar një parametër specifik manipulimi, duhet të bëni pak më shumë:

1) Përcaktoni parametrin në një formë të kontrolluar.
Në trajtuesin OnCreationOnServer, përcaktoni përpunimin e këtij parametri (qasja në parametrat e kaluar përmes veçorisë "Parameters", e cila ka llojin FormDataStructure)
2) Përshkruani marrjen e formularit dhe kaloni vlerën e parametrit të ri në parametrat e funksionit GetForm.
Kështu kodi do të duket si ky:
- Në vendin ku merrni formularin

Parametrat = Struktura e re ("NewParameter", LastElement);
SelectionForm = GetForm("Directory. Nomenklature.SelectionForm", Parametrat);

Në një modul të formës së menaxhuar

&Në server
Procedura kur krijohet në server (Dështim, përpunim standard)
If Parameters.Property("NewParameter") Pastaj
// këtu është kodi i përpunimit të parametrave
fundNëse;
Përfundimi i procedurës

konkluzioni

Ndoshta ky artikull do të jetë i dobishëm për dikë, do të kursejë kohë dhe do t'ju shpëtojë nga kodi i panevojshëm. Për më shumë informacion i detajuar O listën e plotë Për parametrat e formës së menaxhuar, rekomandohet të shikoni ndihmën "Ndërfaqja e menaxhuar\Forma e menaxhuar".

[Duhet të regjistroheni për të parë lidhjen]

Për të mbështetur ndërveprimin automatik ndërmjet formave, sistemi ofron një numër të parametrat standardë, të cilat përdoren për të menaxhuar format kur ato hapen. Duke përdorur këto parametra, sistemi zbaton në fushat e formës zgjedhjen nga formularët e përzgjedhjes, hapjen e formularëve të objektit, funksionimin e komandave standarde, etj. Pra, ato ofrojnë skenarë të ndryshëm të funksionimit të ndërfaqes të integruara në sistem. Por zhvilluesi gjithashtu mund t'i përdorë këto parametra në gjuhën e integruar, duke i kaluar ato kur thërret metodën OpenForm().

Ne listojmë parametrat e ofruar nga sistemi dhe qëllimin e tyre:

  • Mënyra e përzgjedhjes– forma hapet në modalitetin e përzgjedhjes. Ofrohet nga një shtesë e formës së menaxhuar listë dinamike.
  • Rreshti aktual– një varg që do të aktivizohet në listë kur të hapet. Kalohet një vlerë që identifikon vargun. Ofrohet nga shtesa e formularit të menaxhuar të listës dinamike.
  • Zgjedhja e Grupeve dhe Elementeve- Nga këtë parametër vendoset vetia SelectionGroupsIElements e tabelës së atributit të formës kryesore. Ofrohet nga shtesa e formularit të menaxhuar të listës dinamike.
  • AllowSelectRoot– përcakton aftësinë për të zgjedhur një rrënjë në një formë me një listë dinamike të shfaqur si një pemë. Ofrohet nga një zgjatje e formës së menaxhuar për një listë dinamike të shfaqur si pemë.
  • Përzgjedhja– përzgjedhja e vendosur në një listë dinamike. Përfaqëson një strukturë. Emrat e elementeve korrespondojnë me emrat e fushave me të cilat bëhet përzgjedhja, dhe vlerat përmbajnë vlerat e përzgjedhjes. Ofrohet nga shtesa e formularit të menaxhuar të listës dinamike.
  • Celës– një vlerë që identifikon objektin që redaktohet në formë. Nëse vlera mungon ose është e pasaktë, krijohet një objekt i ri duke përdorur parametrat e mbetur. Ofrohet nga shtesat e formularit të objektit dhe menaxheri i regjistrit të informacionit.
  • Vlera e kopjimit– një vlerë që identifikon objektin që do të përdoret për kopjim gjatë krijimit të një objekti të ri. Ofrohet nga shtesat e formularit të objektit dhe menaxheri i regjistrit të informacionit.
  • Plotësoni vlerat– vlerat për plotësimin e detajeve të një objekti të ri. Përfaqëson një strukturë. Emrat e elementeve korrespondojnë me emrat e detajeve, dhe vlerat përmbajnë të dhënat që do të përdoren për të plotësuar detajet e specifikuara. Ofrohet nga shtesat e formularit të objektit dhe menaxheri i regjistrit të informacionit.
  • Baza– një vlerë që identifikon objektin që do të përdoret si bazë kur krijoni një objekt të ri duke futur në bazë. Ofrohet nga shtesat e formës së objektit.
  • Ky grup– përcakton llojin e objektit të ri: grup ose element. Ofrohet nga shtesat e formës së objektit.

Një shembull i punës me parametrat e formës

Për të demonstruar se si funksionojnë parametrat e formës, le të shohim zbatimin e zgjedhjes së një elementi në një fushë hyrëse. Thelbi i shembullit do të jetë zbatimi i mekanizmit për zgjedhjen e një elementi nga një listë në gjuhën e integruar.

Në kohën kur filloni të punoni me shembullin, duhet të keni një konfigurim me vetitë e mëposhtme:

  • Mënyra kryesore e nisjes – Aplikacioni i menaxhuar;
  • ekziston një direktori Produktet me një hierarki grupesh dhe elementesh;
  • ekziston një direktori Analoge me atributin SelectedProduct të llojit DirectoryLink.Products;
  • të dy drejtoritë kanë forma të menaxhuara të elementeve.

Tani le të zbatojmë në këtë konfigurim të gjithë mekanizmat që përdor platforma për të zgjedhur një element nga lista në gjuhën e integruar. Duke vepruar kështu, ne do të shohim se si përdoren parametrat e formularit standard; si i përdor vetë sistemi; se si një zhvillues mund t'i përdorë ato.

Le të shtojmë një flamur shtesë që do të kontrollojë mbylljen e formularit të përzgjedhjes pas zgjedhjes së një elementi. Le ta quajmë këtë flamur CloseAfterSelection (lloji Boolean). Le ta shtojmë atë si një parametër të formës Forma për zgjedhjen e drejtorisë së Produkteve.

Për të hapur formularin e përzgjedhjes së elementit, duhet të krijoni një mbajtës ngjarjesh për ngjarjen Fillimi i Përzgjedhjes për elementin e formularit të Produktit të Zgjedhur në formën e elementit të drejtorisë Analoge:

&OnClient

Procedura SelectedProductStartSelection (Artikulli, Përpunimi standard)

StandardProcessing = False;

SelectionParameters = Struktura e re; 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);

Përfundimi i procedurës

Është e nevojshme të ndalemi veçmas në parametrin e tretë të metodës OpenForm(). Ky parametër përcakton se kush do të jetë pronari i formularit të përzgjedhjes dhe kush do të njoftohet për përzgjedhjen e bërë. Në këtë rast, ne specifikuam vetë elementin e formës si pronar të formularit të përzgjedhjes, por mund të specifikojmë edhe vetë formularin me këtë parametër. Në këtë rast, do të jetë e nevojshme të implementohet trajtuesi i përpunimit të përzgjedhjes së modulit të formës dhe në të të vendoset se në cilin atribut të formës do të vendosen të dhënat e përzgjedhura.

Print (Ctrl+P)

Opsionet e formularit

1. Informacion i përgjithshëm

Parametrat e formularit (skeda e opsioneve) shërbejnë për dy qëllime:
● Përshkruani grupin e të dhënave që do të ndikojnë në hapjen e formularit (parametizimi i formularit). Për ta bërë këtë, duhet të listoni të gjithë parametrat e nevojshëm dhe të tregoni llojet e tyre.
● Përcaktoni parametrat që do të ndikojnë në çelësin e unicitetit të formularit. Për ta bërë këtë ju duhet të vendosni pronën Parametri kryesor ato parametra që duhet të marrin pjesë në formimin e çelësit të unicitetit të formës. Kur përpiqeni të hapni një formular, sistemi kërkon një formë ekzistuese duke përdorur çelësin e unike të formës së krijuar. Nëse një formular me çelësin e marrë ekziston në sistem
unike, është kjo formë që kthehet; nëse jo, krijohet një formë e re.
Kur thirrni një formular, vlerat e parametrave të krijuar nga zhvilluesi mund të specifikohen në strukturën e parametrave së bashku me parametrat e sistemit të formularëve (nëse ka).
Parametrat e formës mund t'i kalohen formularit në momentin e krijimit të tij. Analiza e parametrave të kaluar mund të kryhet në rast WhenCreatingOnServer() (Koleksioni i Parametrave është një veti e objektit Forma e menaxhuar):

// Në vendndodhjen e thirrjes.
// Krijo një parametër të formës.
Parametrat = Struktura e re();
Opsionet.Fut("Rëndësia", Vlera e paracaktuar(“Enumeration.Rëndësia.I rëndësishëm”));
// Hapni formularin me parametra.
OpenForm (“GeneralForm.ViewForm”, Parametrat);

// Në modulin e formës.
&Në server
Procedura WhenCreatingOnServer (Dështim, përpunim standard)
Nëse Parametrat.Rëndësia = Enumerations.Rëndësia.I rëndësishëm o Pastaj

fundNëse;
Përfundimi i procedurës

KUJDES! Pasi të telefononi mbajtësin e ngjarjes Kur KrijohetOnServer të gjithë parametrat e formës jo kyç hiqen nga koleksioni i Parametrave.
Këshilla. Parametrat jo kyç të formularit të kërkuar për punë të mëtejshme duhet të ruhen në të dhënat e formularit.

2. Parametrat standarde të formës

Për të mbështetur ndërveprimin automatik ndërmjet formularëve, sistemi ofron një numër parametrash standardë që përdoren për të kontrolluar formularët kur ato hapen. Duke përdorur këto parametra, sistemi zbaton në fushat e formës zgjedhjen nga formularët e përzgjedhjes, hapjen e formularëve të objektit, funksionimin e komandave standarde, etj. Pra, ato ofrojnë skenarë të ndryshëm të funksionimit të ndërfaqes të integruara në sistem.
Por zhvilluesi gjithashtu mund t'i përdorë këto parametra në gjuhën e integruar, duke i kaluar ato kur thërret metodën OpenForm().
Një listë e parametrave të formularit standard në varësi të llojit të zgjerimit të formularit mund të gjendet në seksionet Gjuha e integruar - Ndërfaqja
(menaxhuar) – Forma e menaxhuar – Shtrirë... e integruar certifikatat

3. Shembull i punës me parametrat e formës

Për të demonstruar se si funksionojnë parametrat e formës, le të shohim zbatimin e zgjedhjes së një elementi në një fushë hyrëse. Thelbi i shembullit do të jetë zbatimi i mekanizmit për zgjedhjen e një elementi nga një listë në gjuhën e integruar.
Në kohën kur filloni të punoni me shembullin, duhet të keni një konfigurim me vetitë e mëposhtme:
● ekziston një direktori Produktet me një hierarki grupesh dhe elementesh;
● ka një direktori Analoge me detajet SelectedProduct type DirectoryLink.Produktet;
● të dy drejtoritë kanë forma elementësh.
Tani le të zbatojmë në këtë konfigurim të gjithë mekanizmat që përdor platforma për të zgjedhur një element nga lista në gjuhën e integruar. Në këtë rast do të shohim:
● si përdoren parametrat e formularit standard;
● si i përdor vetë sistemi;
● si mund t'i përdorë një zhvillues.
Le të shtojmë një parametër shtesë që do të kontrollojë mbylljen e formularit të përzgjedhjes pas zgjedhjes së një elementi. Le ta quajmë këtë parametër MbyllePas Zgjedhjes(lloji Boolean). Le ta shtojmë si një parametër të formës Forma për zgjedhjen e drejtorisë Produkte.
Për të hapur formularin e përzgjedhjes së elementit, duhet të krijoni një mbajtës ngjarjesh për ngjarjen Start of Selection për elementin e formularit SelectedProduct në formën e elementit të drejtorisë Analogues.

&OnClient
Procedura SelectedProductStartSelection (Artikulli, Përpunimi standard)
Përpunimi standard= E rreme;
Opsionet e përzgjedhjes= Struktura e re;
Opsionet e përzgjedhjes.Insert("SelectionMode", E vërtetë);
Opsionet e përzgjedhjes.Insert("Zgjedhja e grupeve dhe elementeve", Duke përdorur GroupsAndElements.Elements);
Opsionet e përzgjedhjes.Insert("AllowRootSelection", False);
Opsionet e përzgjedhjes.Insert("Linja aktuale", Objekti.Produkti i Zgjedhur);
Opsionet e përzgjedhjes.Insert(“CloseAfterSelection”, False);
OpenForm ("Directory.Products.SelectionForm", Opsionet e përzgjedhjes, Artikujt.Produkti i Zgjedhur);
Përfundimi i procedurës
Është e nevojshme të ndalemi veçmas në parametrin e tretë të metodës OpenForm(). Ky parametër përcakton se kush do të jetë pronari i formularit të përzgjedhjes dhe kush do të njoftohet për përzgjedhjen e bërë. Në këtë rast, ne specifikuam vetë elementin e formës si pronar të formularit të përzgjedhjes, por mund të specifikojmë edhe vetë formularin me këtë parametër. Në këtë rast, do të jetë e nevojshme të zbatohet një mbajtës Përpunimi Zgjedhja formoni modulin dhe vendosni në të cilin atribut të formës do të vendosni të dhënat e përzgjedhura.
SHËNIM. Nëse nuk e implementojmë mbajtësin e ngjarjeve StartSelection, atëherë vetë sistemi do të kryejë veprimet e tij. Kjo është gjithashtu e vërtetë për të gjithë trajtuesit e mëtejshëm që janë përdorur në shembull.
Tani duhet të përpunoni parametrat e kaluar në formularin e përzgjedhjes. Le ta bëjmë këtë në mbajtës Kur KrijohetOnServer() të modulit të formularit të përzgjedhjes.

&Në server
Procedura WhenCreatingOnServer (Dështim, Përpunimi standard)
Përpunimi standard= E rreme;
Elements.List.SelectingGroupsAndElements = Parametrat.SelectingGroupsAndElements;
Elements.List.AllowRootSelection = Parametrat.AllowRootSelection;
Elements.List.CurrentRow = Parametrat.Razhi aktual;
CloseOnSelection = Options.CloseAfterSelection;
Përfundimi i procedurës
Për të kontrolluar funksionalitetin e parametrave të formularit që kemi vendosur, përdorni konfiguruesin për të vendosur veçorinë List për tabelën e formularit të përzgjedhjes. Zgjedhja e Grupeve dhe Elementeve te vlera e Grupeve (pa përdorur parametrin, zgjedhja e elementeve të drejtorisë nuk do të jetë e disponueshme).
SHËNIM. Nëse tabela Lista që shfaq një listë produktesh nuk e ka veçorinë SelectionMode të caktuar në True, atëherë zgjedhja e produkteve nuk do të jetë e disponueshme.
Tani duhet të trajtojmë zgjedhjen e elementit të dëshiruar në formularin e përzgjedhjes. Për ta bërë këtë, ju duhet të përcaktoni një mbajtës për ngjarjen SelectValue të tabelës së formularit.

&OnClient
Procedura ListValueSelection (Elementi, Përpunimi standard, Vlera)
Përpunimi standard= E rreme;
NotifyOfSelection(Vlera);
Përfundimi i procedurës
Gjithçka që duhet të bëjmë është të zbatojmë përpunimin e përzgjedhjes së elementeve në vetë fushën e hyrjes. Për ta bërë këtë ju duhet të trajtoni ngjarjen Përpunimi Zgjedhja fushën tonë të hyrjes Produkti i zgjedhur.

&OnClient
Procedura SelectedItemSelectionProcessing(Artikulli,Vlera e zgjedhur,Përpunimi standard)
Përpunimi standard= E rreme;
Object.SelectedProduct = Vlera e Zgjedhur;
Përfundimi i procedurës
Ne zbatuam në mënyrë të pavarur një mekanizëm sistemi për zgjedhjen e një vlere në një fushë hyrëse në një formular.
KUJDES! Ky shembull nuk ka mbaruar. Qëllimi i tij i vetëm është të demonstrojë mekanizmat për të punuar me parametrat e formës.
Nëse gjatë krijimit të parametrave (trajtues SelectedProductStartSelection()) zëvendësoni rreshtin:

Opsionet e përzgjedhjes.Insert("CloseAfterSelection", E vërtetë);
për rresht:
Opsionet e përzgjedhjes.Insert(“CloseAfterSelection”, False) ;
atëherë formulari i përzgjedhjes nuk do të mbyllet më pasi të jetë bërë përzgjedhja. Kjo mund të përdoret, për shembull, për të zbatuar një formular përzgjedhjeje (përzgjedhja e disa produkteve pa mbyllur formularin e përzgjedhjes).

Ne kemi përpunim me këtë formë bazë:

Nga kjo formë duhet të hapim ndonjë formë shtesë, dhe teksti nga fusha e formularit duhet të transferohet në formën e hapur. Formulari shtesë është si më poshtë:

Kështu, kur klikoni në butonin "Run", hapet një formë shtesë me tekstin e futur tashmë në fushë:

Le të shqyrtojmë një mënyrë për të zgjidhur një problem të tillë.

Zgjidhje

Për të transferuar parametra midis formave të rregullta, mund të përdorni ose variablin e eksportit global të modulit të formës ose të krijoni një atribut të formës. Le të shqyrtojmë të dyja metodat për detyrën tonë.

1. Përdorimi i variablës globale të eksportit të modulit të formës.

Shtoni kodin e mëposhtëm në formularin kryesor për procedurën e mbajtësit të butonit "Run":

Butoni i procedurësExecutePress(Button)Form = GetForm(" Formulari Shtesë" ) ; // "Text" është një variabël globale e eksportit të modulit të formës që hapet Forma. Teksti = FormElements. Teksti. Kuptimi;

Forma. Open(); Përfundimi i procedurës

Ndryshorja e tekstit është shtuar në modulin e formularit që hapet së bashku me mbajtësin e ngjarjeve "BeforeOpen": Eksporti i tekstit të ndryshueshëm;// Variabla të cilës i kalon vlera nga një formë tjetër

Procedura Para Hapjes (Dështimi, Përpunimi standard) FormElements. Teksti i transmetuar. Vlera = Tekst; Përfundimi i procedurës

Problemi është zgjidhur, dhe fare thjesht!

2. Përdorimi i mbështetësve të formës.

Për metodën e dytë, ne as nuk kemi nevojë të rishkruajmë mbajtësit e butonave "Run" dhe "BeforeOpen". Gjithçka që është e nevojshme është të shtoni atributin "Text" me llojin e vargut në formën e hapur.

konkluzionet

Në format e menaxhuara, kalimi i parametrave është shumë më i lehtë. Në format konvencionale, qasja e përshkruar përdoret në shumicën e rasteve. Ju mund ta përpunoni shembullin nga artikulli.

shkarko nga lidhja Hapja programatike e formularëve në aplikacion i menaxhuar

1C është dukshëm i ndryshëm nga hapja e tyre në një aplikim të rregullt. Le të shohim së pari metodën e vjetër. Ai konsiston në marrjen e një formulari dhe më pas hapjen e tij në modalitetin normal ose modal (kur hapet në modalitet, forma bllokon programin).

Kjo është metoda më e ngadaltë e hapjes së formularëve. Megjithatë, ju lejon të përpunoni në mënyrë programore formularin përpara se ta hapni atë. Për të përpunuar kodin, duhet të ndryshoni pak:

Formulari = GetForm( "Dokument. Pranimi i Mallrave dhe Shërbimeve. Formulari i Dokumentit") ;
//Këtu kryejmë veprime me formularin
Forma. Open();

Duhet pasur parasysh që kur të merret formulari, do të ekzekutohet një procedurë tjetër e ngjarjes WhenCreatedOnServer.

Le të shohim metoda të tjera që ju lejojnë të hapni formularët në një aplikacion të menaxhuar 1C më shpejt dhe më lehtë. Në varësi të situatës specifike, mund të përdoren metoda të ndryshme.

1. Si të hapni një formular objekti në një aplikacion të menaxhuar nëse ka një lidhje me të.

Në këtë rast, gjithçka është jashtëzakonisht e thjeshtë.

RefLink = Drejtoritë. Nomenklatura. FindByCode("000000001");
OpenValue (RefLink);

2. Si të hapni formularin e përzgjedhjes dhe më pas të merrni vlerën e zgjedhur.

Ekziston një funksion për këtë EnterValue (). Funksioni ka 3 parametra:

  • Variabla në të cilën do të shkruhet vlera e zgjedhur;
  • Një aluzion që do të shfaqet në dritaren e përzgjedhjes;
  • Përshkrimi i llojeve të vlerave të zgjedhura. Mund të ketë disa lloje, në të cilin rast do t'ju kërkohet të zgjidhni një lloj përpara se të zgjidhni një vlerë specifike.

Si rezultat i ekzekutimit të funksionit, do të hapet forma e përzgjedhjes së paracaktuar për një objekt të llojit të specifikuar.

Vlera e ndryshueshme;
Array= Array i ri;
Array. Shto(Lloji( "DirectoryLink.Nomenklatura") ) ;
Array. Shto(Lloji( "DirectoryLink. Kundërpalët") ) ;

TypeDescription= new TypeDescription(Array) ;

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

Metodat e mëparshme ju lejonin vetëm të hapni format e paracaktuara për objektet (forma e objektit ose formulari i përzgjedhjes). Nëse keni nevojë të hapni një formular të personalizuar, mund të përdorni funksionin OpenForm().

Ky funksion ka mjaft parametra. Le të shohim disa prej tyre:

  • Emri i formularit— këtu mund të zgjidhni një nga format standarde të objektit, për shembull, Formulari i përzgjedhjes ose Formulari i listës. Ose një formë specifike e krijuar nga zhvilluesit.
  • Opsione— ju lejon ta transferoni atë në formularin në formular strukturat disa parametra para hapjes së tij, duke përcaktuar kështu të dhënat dalëse. Parametrat mund të jenë çdo e dhënë që mund të kalohet nga klienti në server. Parametrat e kaluar gjatë hapjes së formularit mund të përpunohen në procedurë WhenCreatingOnServer() në formularin që hapet.
  • Mënyra e hapjes së formularit— ka 3 opsione: i pavarur, bllokimi i të gjithë ndërfaqes, bllokimi i formularit të pronarit.

Le të shohim se si përdoret funksioni OpenForm() në situata të ndryshme.

3. Si të hapet forma e një objekti ekzistues

Çdo formë ka një atribut kyç. Ai theksohet me shkronja të zeza në listën e detajeve të formularit dhe zakonisht quhet Nje objekt në trajtat e elementeve të librave referues dhe dokumenteve. Objektet e tjera mund të kenë një emër tjetër. Për të hapur një formë të një objekti ekzistues, duhet të kaloni një parametër në formularin që hapet Celës me vlerën si referencë për një objekt.

&OnClient
Komanda e procedurës 1 (Komanda)
Parametri= strukturë e re;
Parametri. Insert("Key" , FindC() );
OpenForm(, Parametri);
Përfundimi i procedurës

&Në server
Funksioni FindC();
Drejtoritë e Kthimit. Kundërpalët. FindByRequisites ("TIN", "745107734623")
Funksioni i Fundit

4. Si të hapni një formular të ri objekti

Këtu do të funksionojë një funksion i thjeshtë OpenForm() pa asnjë parametër.

&OnClient
Komanda e procedurës 1 (Komanda)
OpenForm( "Drejtoria. Kundërpalët. Formulari i objektit") ;
Përfundimi i procedurës

5. Si të hapni një formular të ri objekti dhe ta plotësoni atë bazuar në diçka

Ju duhet të kaloni një parametër Baza, vlera e së cilës do të jetë një referencë për objektin bazë të mbushjes. Kjo do të fillojë procedurën ProcessFill().

&OnClient
Komanda e procedurës 1 (Komanda)
Parametri= strukturë e re;
Parametri. Insert ("Baza", LinkToBuyerAccount) ;
OpenForm( "Dokument. Shitjet e Mallrave dhe Shërbimeve. Formulari i Objektit", Parametri);
Përfundimi i procedurës

Ky shembull do të krijojë një dokument Shitjet e mallrave dhe shërbimeve dhe plotësohet në bazë të një faturë për pagesë ndaj blerësit, lidhja në të cilën është transmetuar.

6. Si të hapni një formular dhe të vendosni një përzgjedhje në të

Përzgjedhja në format 1C mund të jetë e thjeshtë ose komplekse. Përzgjedhja e thjeshtë përfshin shprehje si Organizata = Horns and Hooves LLC. Përzgjedhja komplekse përfshin lloje të tjera krahasimi, p.sh. Në listë. Në këtë artikull do të shqyrtojmë organizimin e përzgjedhjes së thjeshtë, dhe një artikull i veçantë do t'i kushtohet përzgjedhjes komplekse.

Për të organizuar një përzgjedhje të thjeshtë, duhet të kaloni një parametër me një çelës në formularin që hapet Përzgjedhja, vlera do të jetë një strukturë në të cilën çelësi është emri i fushës së listës dinamike dhe vlera është të dhënat që kërkohen.

Për shembull, le të hapim formularin e listës së drejtorive Numrat GTD dhe bëni një përzgjedhje atje sipas elementit të pronarit - drejtorisë Nomenklatura.

&OnClient
Komanda e procedurës 1 (Komanda)
Parametri= strukturë e re;

përzgjedhja= Struktura e re;
Përzgjedhja. Insert("Owner", LinkToNomenklature) ;

Parametri. Insert("Zgjedhja", Përzgjedhja) ;

OpenForm( "Direktori. Numrat GTD. Formulari i listës", Parametri);
Përfundimi i procedurës

7. Si të hapet formulari i regjistrimit të regjistrit të informacionit

Për ta bërë këtë, do t'ju duhet çelësi i regjistrimit të regjistrit të informacionit.

Çelësi i regjistrimit- këto janë vlerat e të gjitha matjeve dhe periudha (nëse regjistri është periodik). Kjo do të thotë, një çelës regjistrimi është parametri me të cilin një rekord mund të identifikohet në mënyrë unike.

Algoritmi i hapjes është si më poshtë:

  1. Ne futim të dhënat kryesore të regjistrimit me vlerat e nevojshme në strukturë.
  2. Ne vendosim strukturën që rezulton në një grup.
  3. Ne krijojmë një çelës regjistrimi nga grupi.
  4. Ne kalojmë një parametër në formularin që hapet Celës me çelësin e regjistrimit nga hapi 3 si vlerë.

&OnClient
Komanda e procedurës 1 (Komanda)
Parametri= strukturë e re;

KeyParameters= Struktura e re;
Parametrat kyç. Insert("Nomenklatura", LinkToNomenklatura) ;
Parametrat kyç. Insert("PriceType", LinkToPriceType) ;
Parametrat kyç. Insert("Periudha", Data);

KeyArray = Array i ri;
KeyArray. Shto (Parametrat kyçe) ;

EntryKey = E re( "Çelësi i regjistrimit të informacionit. Nomenklatura e çmimeve", KeyArray);

Parametri. Insert("Key", Record Key) ;

OpenForm( "Regjistri i informacionit. Çmimet e nomenklaturës. Formulari i regjistrimit", Parametri);
Përfundimi i procedurës