Prijenos parametara u upravljane i regularne forme. Prosljeđivanje parametara u upravljane i regularne obrasce Gdje obraditi proslijeđene parametre u obrazac

Imamo obradu s ovim osnovnim obrascem:

Iz ovog obrasca trebamo otvoriti neki dodatni obrazac, a tekst iz polja obrasca prenijeti u otvoreni obrazac. Dodatni obrazac je sljedeći:

Dakle, kada kliknete na gumb "Pokreni", otvara se dodatni obrazac s već unesenim tekstom u polje:

Razmotrimo način rješavanja takvog problema.

Riješenje

Za prijenos parametara između uobičajenih obrazaca možete koristiti varijablu globalnog izvoza modula obrasca ili stvoriti atribut obrasca. Razmotrimo obje metode za naš zadatak.

1. Korištenje globalne izvozne varijable modula obrasca.

Dodajte sljedeći kod u glavni obrazac za postupak rukovatelja gumbom "Pokreni":

Procedura ButtonExecutePress(Button)Form = GetForm(" Dodatni obrazac" ) ; // "Tekst" je globalna izvozna varijabla modula obrasca koji se otvara Oblik. Tekst = Elementi obrasca. Tekst. Značenje; Oblik. Otvoren() ;

Kraj postupka

Varijabla teksta dodana je u modul obrasca koji se otvara zajedno s rukovateljem događaja "BeforeOpen": Izvoz varijabilnog teksta; Procedura prije otvaranja(greška, standardna obrada)elemenata obrasca. TransmittedText. Vrijednost = Tekst; Kraj postupka

Problem je riješen, i to vrlo jednostavno!

2. Korištenje rekvizita obrasca.

Za drugu metodu ne moramo čak ni prepisivati ​​rukovatelje gumbima "Run" i "BeforeOpen". Sve što je potrebno je dodati atribut “Tekst” sa vrstom stringa u otvorenu formu.

zaključke

U upravljanim oblicima prosljeđivanje parametara je mnogo lakše. U konvencionalnim oblicima, opisani pristup se koristi u većini slučajeva.

Možete obraditi primjer iz članka preuzmite s poveznice.

Programsko otvaranje obrazaca u upravljanoj 1C aplikaciji značajno se razlikuje od otvaranja u običnoj aplikaciji. Pogledajmo prvo staru metodu. Sastoji se od primanja obrasca i njegovog otvaranja u normalnom ili modalnom načinu (kada se otvori u modalnom načinu, obrazac blokira program).

GetForm() . Otvoren()

Ovo je najsporiji način otvaranja obrazaca. Međutim, omogućuje programsku obradu obrasca prije otvaranja. Za obradu koda morate malo promijeniti:

Obrazac = GetForm( "Dokument. Potvrda o primitku robe i usluga. Obrazac dokumenta") ;
//Ovdje izvodimo radnje s formom
Oblik. Otvoren() ;

Treba uzeti u obzir da će se po primitku obrasca izvršiti druga procedura događaja WhenCreatedOnServer.

Pogledajmo druge metode koje vam omogućuju brže i praktičnije otvaranje obrazaca u upravljanoj 1C aplikaciji. Ovisno o konkretnoj situaciji, mogu se koristiti različite metode.

1. Kako otvoriti obrazac objekta u upravljanoj aplikaciji ako postoji poveznica na njega.

U ovom slučaju, sve je krajnje jednostavno.

RefLink = Imenici. Nomenklatura. FindByCode("000000001" ) ;
OpenValue(RefLink) ;

2. Kako otvoriti obrazac za odabir i zatim dobiti odabranu vrijednost.

Za to postoji funkcija UnesiteVrijednost(). Funkcija ima 3 parametra:

  • Varijabla u koju će biti zapisana odabrana vrijednost;
  • Savjet koji će se prikazati u prozoru za odabir;
  • Opis tipova odabranih vrijednosti. Može postojati nekoliko vrsta, au tom slučaju od vas će se tražiti da odaberete vrstu prije odabira određene vrijednosti.

Kao rezultat izvršavanja funkcije otvorit će se zadani obrazac za odabir objekta navedene vrste.

Varijabilna vrijednost;
Niz = novi niz;
Niz. Dodaj(Upišite( "DirectoryLink.Nomenclature") ) ;
Niz. Dodaj(Upišite( "DirectoryLink. Protustrane strane") ) ;

Opis tipa= novi opis tipa(niz) ;

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

Prethodne metode dopuštale su samo otvaranje zadanih obrazaca za objekte (oblik objekta ili obrazac za odabir). Ako trebate otvoriti prilagođeni obrazac, možete koristiti ovu funkciju OpenForm().

Ova funkcija ima dosta parametara. Pogledajmo neke od njih:

  • Naziv obrasca— ovdje možete odabrati jedan od standardnih oblika objekta, na primjer, Obrazac za odabir ili Obrazac popisa. Ili određeni obrazac koji su izradili programeri.
  • Mogućnosti— omogućuje vam da ga prenesete u obrazac u obrascu strukture neke parametre prije otvaranja, čime se određuju izlazni podaci. Parametri mogu biti bilo koji podaci koji se mogu prenijeti od klijenta do poslužitelja. Parametri proslijeđeni prilikom otvaranja obrasca mogu se obraditi u proceduri WhenCreatingOnServer() na obrascu koji se otvara.
  • Način otvaranja obrazaca— ima 3 opcije: neovisno, blokiranje cijelog sučelja, blokiranje obrasca vlasnika.

Pogledajmo kako se funkcija koristi OpenForm() u raznim situacijama.

3. Kako otvoriti formu postojećeg objekta

Svaki obrazac ima jedan ključni atribut. Označeno je masnim slovima na popisu detalja obrasca i obično se poziva Objekt u obliku elemenata priručnika i dokumenata. Ostali objekti mogu imati drugačije ime. Da biste otvorili obrazac postojećeg objekta, morate proslijediti parametar obrascu koji se otvara Ključ s vrijednošću kao referencom na objekt.

&NaKlijentu
Procedura Naredba1 (Naredba)
Parametar= nova struktura;
Parametar. Insert("Ključ" , FindC() ) ;
OpenForm(, Parametar);
Kraj postupka

&Na poslužitelju
Funkcija FindC() ;
Vratite direktorije. Protustranke. FindByRequisites ("TIN", "745107734623")
EndFunction

4. Kako otvoriti formu novog objekta

Ovdje će poslužiti jednostavna funkcija OpenForm() bez ikakvih parametara.

&NaKlijentu
Procedura Naredba1 (Naredba)
OpenForm( "Imenik. Protustrane. Obrazac objekta") ;
Kraj postupka

5. Kako otvoriti obrazac novog objekta i ispuniti ga na temelju nečega

Morate proslijediti parametar Baza, čija će vrijednost biti referenca na osnovni objekt punjenja. Ovo će pokrenuti postupak ProcessFill().

&NaKlijentu
Procedura Naredba1 (Naredba)
Parametar= nova struktura;
Parametar. Insert("Baza", LinkToBuyerAccount) ;
OpenForm( "Dokument. Prodaja roba i usluga. Obrazac objekta", Parametar);
Kraj postupka

Ovaj primjer će stvoriti dokument Prodaja roba i usluga a popunjava se na temelju računa za plaćanje kupcu, čiji je link prenesen.

6. Kako otvoriti formu i na njoj postaviti odabir

Odabir na 1C obrascima može biti jednostavan ili složen. Jednostavan odabir uključuje izraze poput Organizacija = Horns and Hooves LLC. Složeni odabir uključuje druge vrste usporedbe, npr. Na listi. U ovom ćemo članku razmotriti organizaciju jednostavne selekcije, a poseban članak bit će posvećen složenoj selekciji.

Da biste organizirali jednostavan odabir, morate proslijediti parametar s ključem obrascu koji se otvara Izbor, vrijednost će biti struktura u kojoj je ključ naziv polja dinamičkog popisa, a vrijednost podaci koji se traže.

Na primjer, otvorimo obrazac s popisom imenika GTD brojevi i tamo napravite odabir prema vlasniku - element imenika Nomenklatura.

&NaKlijentu
Procedura Naredba1 (Naredba)
Parametar= nova struktura;

izbor= nova struktura;
Izbor. Insert("Owner", LinkToNomenclature) ;

Parametar. Umetni("Odabir", Odabir) ;

OpenForm( "Imenik. GTD brojevi. Obrazac popisa", Parametar);
Kraj postupka

7. Kako otvoriti obrazac za upis u registar podataka

Da biste to učinili, trebat će vam ključ za unos u registar podataka.

Ključ za snimanje— to su vrijednosti svih mjerenja i period (ako je registar periodičan). To jest, ključ zapisa su parametri po kojima se zapis može jedinstveno identificirati.

Algoritam otvaranja je sljedeći:

  1. U strukturu unosimo podatke o ključu zapisa s potrebnim vrijednostima.
  2. Dobivenu strukturu postavljamo u niz.
  3. Kreiramo ključ zapisa iz polja.
  4. Formi koja se otvara prosljeđujemo parametar Ključ s ključem snimanja iz koraka 3 kao vrijednošću.

&NaKlijentu
Procedura Naredba1 (Naredba)
Parametar= nova struktura;

KeyParameters= nova struktura;
Ključni parametri. Insert("Nomenklatura", LinkToNomenclature) ;
Ključni parametri. Insert("PriceType", LinkToPriceType) ;
Ključni parametri. Umetni("Razdoblje", Datum) ;

KeyArray = Novi niz;
KeyArray. Dodaj(KljučniParametri) ;

EntryKey = Novo( "Ključ zapisa registra informacija. Nomenklatura cijena", niz ključeva);

Parametar. Umetni("Ključ",Ključ za snimanje) ;

OpenForm( "Registar informacija. Cijene nomenklature. Obrazac evidencije", Parametar);
Kraj postupka

Kako bi podržao automatsku interakciju između obrazaca, sustav nudi niz standardnih parametara koji se koriste za kontrolu obrazaca kada se otvore. Pomoću ovih parametara sustav u poljima obrasca implementira izbor iz selekcijskih obrazaca, otvaranje objektnih obrazaca, rad standardnih naredbi itd. Odnosno, daju različite scenarije rada sučelja ugrađenih u sustav. Ali programer također može koristiti te parametre u ugrađenom jeziku, prosljeđujući ih prilikom pozivanja metode OpenForm().

Navodimo parametre koje pruža sustav i njihovu svrhu:

  • Način odabira– obrazac se otvara u načinu odabira. Omogućuje proširenje obrasca za upravljanje dinamičkim popisom.
  • CurrentRow– niz koji će se aktivirati u listi kada se otvori. Prosljeđuje se vrijednost koja identificira niz. Omogućuje proširenje obrasca za upravljanje dinamičkim popisom.
  • Odabir grupa i elemenata– ovaj parametar postavlja svojstvo Odabir grupa i elemenata tablice glavnog atributa forme. Omogućuje proširenje obrasca za upravljanje dinamičkim popisom.
  • AllowSelectRoot– definira mogućnost odabira korijena u obliku s dinamičkim popisom prikazanim kao stablo. Omogućuje proširenje upravljanog obrasca za dinamički popis prikazan kao stablo.
  • Izbor– skup odabira u dinamičnoj listi. Predstavlja strukturu. Nazivi elemenata odgovaraju nazivima polja po kojima se vrši odabir, a vrijednosti sadrže vrijednosti odabira. Omogućuje proširenje obrasca za upravljanje dinamičkim popisom.
  • Ključ– vrijednost koja identificira objekt koji se uređuje u obrascu. Ako vrijednost nedostaje ili je netočna, stvara se novi objekt pomoću preostalih parametara. Omogućuje ekstenzije obrasca objekta i upravitelj zapisa registra informacija.
  • Vrijednost kopiranja– vrijednost koja identificira objekt koji će se koristiti za kopiranje prilikom stvaranja novog objekta. Omogućuje ekstenzije obrasca objekta i upravitelj zapisa registra informacija.
  • Ispuni vrijednosti– vrijednosti za popunjavanje detalja novog objekta. Predstavlja strukturu. Nazivi elemenata odgovaraju nazivima detalja, a vrijednosti sadrže podatke koji će se koristiti za popunjavanje navedenih detalja. Omogućuje ekstenzije obrasca objekta i upravitelj zapisa registra informacija.
  • Baza– vrijednost koja identificira objekt koji će se koristiti kao osnova pri stvaranju novog objekta unosom na osnovu. Omogućeno ekstenzijama obrasca objekta.
  • Ova grupa– definira tip novog objekta: grupa ili element. Omogućeno ekstenzijama obrasca objekta.

Primjer rada s parametrima forme

Da biste demonstrirali kako funkcioniraju parametri obrasca, razmotrite implementaciju odabira elementa u polju za unos. Suština primjera bit će implementacija mehanizma za odabir elementa s popisa u ugrađenom jeziku.

Do trenutka kada počnete raditi s primjerom, morate imati konfiguraciju sa sljedećim svojstvima:

  • Glavni način pokretanja – Upravljana aplikacija;
  • postoji imenik Proizvodi s hijerarhijom grupa i elemenata;
  • postoji direktorij Analogi s atributom SelectedProduct tipa DirectoryLink.Products;
  • oba direktorija imaju upravljane oblike elemenata.

Implementirajmo sada u ovu konfiguraciju sve mehanizme koje platforma koristi za odabir elementa s popisa na ugrađenom jeziku. Pritom ćemo vidjeti kako se koriste standardni parametri forme; kako ih sam sustav koristi; kako ih programer može koristiti.

Dodajmo dodatnu zastavicu koja će kontrolirati zatvaranje obrasca za odabir nakon odabira elementa. Nazovimo ovu zastavu CloseAfterSelection (tip Boolean). Dodajmo ga kao parametar forme Obrazac za odabir imenika proizvoda.

Kako biste otvorili obrazac za odabir elementa, potrebno je kreirati rukovatelj događajem za događaj Početak odabira za element obrasca Odabrani proizvod u obliku elementa imenika Analogi:

&NaKlijentu

Procedura SelectedProductStartSelection(Item, StandardProcessing)

Standardna obrada = False;

SelectionParameters = Nova struktura; 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);

Kraj postupka

Potrebno je posebno se zadržati na trećem parametru metode OpenForm(). Ovaj parametar određuje tko će biti vlasnik obrasca za odabir i tko će biti obaviješten o izvršenom odabiru. U u ovom slučaju Naveli smo sam element obrasca kao vlasnika obrasca za odabir, ali također možemo odrediti samu formu s ovim parametrom. U tom slučaju bit će potrebno implementirati rukovatelj obrade odabira modula obrasca iu njemu odlučiti u koji atribut obrasca smjestiti odabrane podatke.

Ispis (Ctrl+P)

Mogućnosti obrasca

1. Opće informacije

Parametri obrasca (kartica Opcije) služe u dvije svrhe:
● Opišite skup podataka koji će utjecati na otvaranje forme (parametrizacija forme). Da biste to učinili, morate navesti sve potrebne parametre i navesti njihove vrste.
● Odredite parametre koji će utjecati na ključ jedinstvenosti obrasca. Da biste to učinili, morate postaviti svojstvo Ključni parametar onih parametara koji bi trebali sudjelovati u formiranju ključa jedinstvenosti forme. Kada pokušate otvoriti obrazac, sustav traži postojeći obrazac pomoću generiranog ključa jedinstvenosti obrasca. Ako obrazac s primljenim ključem postoji u sustavu
jedinstvenost, to je taj oblik koji se vraća; ako nije, kreira se novi obrazac.
Prilikom pozivanja obrasca, vrijednosti parametara koje je kreirao programer mogu se navesti u strukturi parametara zajedno sa sistemskim parametrima obrazaca (ako postoje).
Parametri obrasca mogu se proslijediti obrascu u trenutku njegovog stvaranja. Analiza prošlih parametara može se izvršiti u događaju WhenCreatingOnServer() (kolekcija Parametri je svojstvo objekta ManagedForm):

// Na mjestu poziva.
// Kreirajte parametar obrasca.
Parametri = nova struktura();
Mogućnosti.Umetni("Važnost", Unaprijed definirana vrijednost(“Nabrajanje.Važnost.Važno”));
// Otvaranje obrasca s parametrima.
OpenForm (“Opći obrazac.ViewForm”, parametri);

// U modulu obrasca.
&Na poslužitelju
Postupak WhenCreatingOnServer(Failure, StandardProcessing)
Ako Parametri. Važnost = Nabrajanja.Važnost.Važno o Zatim

završi ako;
Kraj postupka

PAŽNJA! Nakon poziva rukovatelja događajima Kada se kreira na poslužitelju svi ne-ključni parametri obrasca uklanjaju se iz zbirke Parametri.
Savjet. Neključne parametre obrasca potrebne za daljnji rad potrebno je spremiti u podatke obrasca.

2. Standardni parametri obrasca

Kako bi podržao automatsku interakciju između obrazaca, sustav nudi niz standardnih parametara koji se koriste za kontrolu obrazaca kada se otvore. Pomoću ovih parametara sustav u poljima obrasca implementira izbor iz selekcijskih obrazaca, otvaranje objektnih obrazaca, rad standardnih naredbi itd. Odnosno, daju različite scenarije rada sučelja ugrađenih u sustav.
Ali programer također može koristiti te parametre u ugrađenom jeziku, prosljeđujući ih prilikom pozivanja metode OpenForm().
Popis standardnih parametara obrasca ovisno o vrsti proširenja obrasca nalazi se u odjeljcima Ugrađeni jezik - sučelje
(upravljano) – Upravljani obrazac – Proširenje... ugrađeno potvrde

3. Primjer rada s parametrima forme

Da biste demonstrirali kako funkcioniraju parametri obrasca, razmotrite implementaciju odabira elementa u polju za unos. Suština primjera bit će implementacija mehanizma za odabir elementa s popisa u ugrađenom jeziku.
Do trenutka kada počnete raditi s primjerom, morate imati konfiguraciju sa sljedećim svojstvima:
● postoji imenik Proizvodi s hijerarhijom grupa i elemenata;
● postoji direktorij Analozi s pojedinostima o odabranoj vrsti proizvoda DirectoryLink.Proizvodi;
● oba imenika imaju oblike elemenata.
Implementirajmo sada u ovu konfiguraciju sve mehanizme koje platforma koristi za odabir elementa s popisa na ugrađenom jeziku. U ovom slučaju ćemo vidjeti:
● kako se koriste standardni parametri obrasca;
● kako ih sam sustav koristi;
● kako ih programer može koristiti.
Dodajmo dodatni parametar koji će kontrolirati zatvaranje obrasca za odabir nakon odabira elementa. Nazovimo ovaj parametar Zatvori nakon odabira(Booleov tip). Dodajmo ga kao parametar obrasca Obrazac za odabir imenika Proizvodi.
Kako biste otvorili obrazac za odabir elementa, potrebno je kreirati rukovatelja događajem za događaj Početak odabira za element obrasca SelectedProduct u obliku elementa imenika analogija.

&NaKlijentu
Postupak SelectedProductStartSelection(Item, StandardProcessing)
Standardna obrada= Netočno;
Mogućnosti odabira= Nova struktura ;
Mogućnosti odabira. Umetanje("Način odabira", Istina);
Mogućnosti odabira. Umetanje(“Odabir grupa i elemenata”, Korištenje GroupsAndElements.Elements);
Mogućnosti odabira. Umetanje(“AllowRootSelection”, False);
Mogućnosti odabira. Umetanje(“Trenutni redak”, Object.SelectedProduct);
Mogućnosti odabira. Umetanje(“Zatvori nakon odabira”, False);
OpenForm(“Imenik.Proizvodi.Obrazac za odabir”, Mogućnosti odabira, Stavke.Odabrana stavka);
Kraj postupka
Potrebno je posebno se zadržati na trećem parametru metode OpenForm(). Ovaj parametar određuje tko će biti vlasnik obrasca za odabir i tko će biti obaviješten o izvršenom odabiru. U ovom slučaju naveli smo sam element obrasca kao vlasnika obrasca za odabir, ali također možemo odrediti samu formu ovim parametrom. U ovom slučaju bit će potrebno implementirati rukovatelj ProcessingSelection modul obrasca i u njemu odlučiti u koji atribut obrasca smjestiti odabrane podatke.
BILJEŠKA. Ako ne implementiramo rukovatelj događajima StartSelection, tada će njegove radnje izvršiti sam sustav. Ovo vrijedi za sve daljnje rukovatelje koji se koriste u primjeru.
Sada morate obraditi proslijeđene parametre u obrascu za odabir. Učinimo to u rukovatelju Kada se kreira na poslužitelju() modula obrasca za odabir.

&Na poslužitelju
Postupak WhenCreatingOnServer(Failure, StandardProcessing)
Standardna obrada= Netočno;
Elements.List.SelectingGroupsAndElements = Parameters.SelectingGroupsAndElements;
Elements.List.AllowRootSelection = Parameters.AllowRootSelection;
Elements.List.CurrentRow = Parameters.CurrentRow;
CloseOnSelection = Options.CloseAfterSelection;
Kraj postupka
Kako bismo provjerili funkcionalnost parametara obrasca koje smo postavili, pomoću konfiguratora postavit ćemo svojstvo List za tablicu obrasca za odabir. Odabir grupa i elemenata na vrijednost Grupe (bez korištenja parametra odabir elemenata imenika neće biti dostupan).
BILJEŠKA. Ako tablica s popisom koja prikazuje popis proizvoda nema svojstvo SelectionMode postavljeno na True, odabir proizvoda neće biti dostupan.
Sada moramo odabrati željeni element u obrascu za odabir. Da biste to učinili, trebate definirati rukovatelja za događaj SelectValue tablice obrasca.

&NaKlijentu
Postupak ListValueSelection(Element, StandardProcessing, Value)
Standardna obrada= Netočno;
NotifyOfSelection(Vrijednost);
Kraj postupka
Sve što trebamo učiniti je implementirati obradu odabira elemenata u samo polje za unos. Da biste to učinili, morate obraditi događaj ProcessingSelection naše polje za unos SelectedProduct.

&NaKlijentu
Postupak SelectedItemSelectionProcessing(Stavka, SelectedValue, StandardProcessing)
Standardna obrada= Netočno;
Object.SelectedProduct = SelectedValue;
Kraj postupka
Samostalno smo implementirali sistemski mehanizam za odabir vrijednosti u polju za unos na obrascu.
PAŽNJA! Ovaj primjer nije završeno. Njegova jedina svrha je pokazati mehanizme za rad s parametrima forme.
Ako prilikom kreiranja parametara (rukovatelj SelectedProductStartSelection()) zamijenite redak:

Mogućnosti odabira. Umetanje(“Zatvori nakon odabira”, Istina);
po redu:
Mogućnosti odabira. Umetanje(“Zatvori nakon odabira”, False) ;
tada se obrazac za odabir više neće zatvoriti nakon što je odabir napravljen. To se može koristiti, na primjer, za implementaciju obrasca za odabir (odabir nekoliko proizvoda bez zatvaranja obrasca za odabir).

Ovaj članak opisuje kako koristiti standardna sredstva za prosljeđivanje vrijednosti kao parametra prilikom otvaranja upravljanog obrasca 8.2, u usporedbi s načinom na koji bi se slična operacija mogla implementirati u regularnim obrascima.

Kako se parametri prosljeđuju u regularnim oblicima

U običnim oblicima postojale su 2 mogućnosti za prosljeđivanje parametra:
1) manje uobičajena metoda: u obrascu objekta na kartici "Detalji" dodani su atributi, a ako je potrebno, pristup je određen vizualnim sredstvima
2) češća metoda: izvozna varijabla deklarirana je u modulu obrasca i vrijednost je obrađena u rukovatelju "Prije otvaranja".

u oba slučaja poziv forme izgledao je otprilike ovako:

Obrazac = Object.GetForm("SelectionForm",FormOwner, UniquenessKey);
Obrazac.Parametar = ParametarVrijednost;
Obrazac.Otvori();

Kako se parametri prosljeđuju u upravljanim obrascima

Upravljani obrasci sada imaju mogućnost odmah proslijediti parametre kada se obrazac primi. Parametri se prosljeđuju kao struktura:

Parametri = Nova struktura("TrenutnaVrijednost", ZadnjiElement);
SelectionForm = GetForm("Imenik. Nomenklatura.SelectionForm", Parametri);
Pronađena stavka = Obrazac za odabir.OpenModal();

Također, upravljani obrazac sada ima "proširenja obrasca" (objekt, referentna knjiga, dokument, izvješće). Ovisno o vrsti objekta, određuje se sastav raspoloživih parametara. Na primjer, ako u obrascu za odabir imenika trebate postaviti određeni element, tada se koristi parametar "CurrentValue". Velika prednost je što sama forma ne zahtijeva pisanje rukovatelja za unaprijed definirane parametre, što smanjuje količinu koda.

Programer također ima priliku definirati vlastite parametre (u dizajneru upravljanog obrasca, kartica "Parametri"). Životni vijek parametara ograničen je rukovateljem OnCreationOnServer, što je i logično jer parametri su potrebni samo prilikom kreiranja obrasca, ali ako ovaj parametar određuje jedinstvenost obrasca (oznaka "ključni parametar" postavljena je u svojstvima parametra), bit će dostupan u drugim rukovateljima.

Da biste proslijedili određeni parametar manipulacije, morate učiniti nešto više:

1) Definirajte parametar u kontroliranom obliku.
U OnCreationOnServer rukovatelju definirajte obradu ovog parametra (pristup proslijeđenim parametrima kroz svojstvo “Parameters” koje ima tip FormDataStructure)
2) Opišite primanje forme i proslijedite vrijednost novog parametra u parametre funkcije GetForm.
Tako će kod izgledati ovako:
- Na mjestu gdje primate obrazac

Parametri = Nova struktura("NoviParametar", ZadnjiElement);
SelectionForm = GetForm("Imenik. Nomenklatura.SelectionForm", Parametri);

U modulu upravljanog obrasca

&Na poslužitelju
Procedura prilikom kreiranja na poslužitelju (greška, standardna obrada)
If Parameters.Property("NewParameter") Zatim
// ovdje je kod za obradu parametra
završi ako;
Kraj postupka

Zaključak

Možda će ovaj članak nekome biti koristan, uštedjet će vrijeme i spasiti vas od nepotrebnog koda. Za detaljnije informacije o puni popis Za parametre upravljanog obrasca preporuča se pogledati pomoć “Upravljano sučelje\Upravljani obrazac”.

[morate se registrirati da vidite link]



Publikacije na temu