Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Windows 8
  • Kako otvoriti obrazac popisa s nekim odabirom? Kako postaviti odabir u obrascu popisa imenika? Otvorite obrazac za odabir u uobičajenom obrascu.

Kako otvoriti obrazac popisa s nekim odabirom? Kako postaviti odabir u obrascu popisa imenika? Otvorite obrazac za odabir u uobičajenom obrascu.

Postoji nekoliko načina za otvaranje obrasca popisa s nekim unaprijed postavljenim odabirom. Pogledajmo ih:

  1. Prvi način je da prilikom otvaranja forme možete postaviti parametar forme Izbor, i otvorite obrazac popisa s ovim parametrom. Parametar Izbor predstavlja strukturu. Nazivi elemenata odgovaraju nazivima polja po kojima se vrši odabir, a vrijednosti sadrže vrijednosti
    izbor. Ovo je opcija proširenja obrasca za upravljanje dinamičkim popisom. Odnosno, postoji za forme čiji je glavni atribut type atribut Dinamički popis, kao što su obrasci popisa i obrasci odabira.

Prilikom otvaranja obrasca odabir će se vršiti prema navedenom polju. Na primjer, u sljedećem primjeru otvara se popis faktura s odabirom polja Suprotna ugovorna strana jednakog "OJSC Horns and Hooves".

Vrijednost odabira = Nova struktura ("Protustrana strana" , "JSC Rogovi i kopita");
Mogućnosti odabira= Nova struktura("Selection", SelectionValue);
OpenForm (“Dokument. Račun. Popisni obrazac”, Mogućnosti odabira);

2. Možete otvoriti obrazac s popisom bez parametara:

OpenForm (“Dokument. Račun. Popisni obrazac”);

Zatim, u rukovatelju događajima obrasca popisa faktura Kada se kreira na poslužitelju napisati kod koji stvara odabir u dinamičnoj listi, što je glavni atribut forme:

&Na poslužitelju
Postupak Kada se kreira na poslužitelju(Odbijanje, Standardna obrada)
Element odabira = Lista. Izbor. Elementi. Dodaj (vrsta
(“Element odabira sastava podataka”));
Element odabira .LeftValue = Novo Polje rasporeda podataka("Iznos dokumenta");
Element odabira. Usporedni prikaz = Usporedni prikaz podataka. Više ;
Element odabira. upotreba = istina;
Element odabira. RightValue = 150000;
Kraj postupka

Prednosti ove metode su da Pogledaj Usporedbu izbor se može postaviti ne samo Jednako, kao u prvom slučaju, i Više, Manje i tako dalje.

Ali ova metoda također ima vrlo značajan nedostatak: ovim odabirom obrazac će se uvijek otvoriti. Odakle god je bila pozvana. Stoga ovaj oblik ne treba označavati kao glavni. A ako je ipak glavni, tada je prije instaliranja odabira potrebno dati neku vrstu analize odakle se ovaj obrazac otvara. Na primjer, analiziranje parametara obrasca.

3. I konačno, uvjet odabira može se postaviti u prilagođeni zahtjev, koji odabire podatke za dinamički popis. Na primjer, trebamo otvoriti popis faktura koje sadrže stavku označenu na popisu stavki.

Da biste to učinili, u obliku popisa stavki kreirajte naredbu i odgovarajući gumb Računi za potrošni materijal

Ispunimo rukovatelj izvršavanjem za ovu naredbu na sljedeći način:

&NaKlijentu
Postupak Računi za potrošni materijal(Tim )
ListForm = GetForm("Dokument.Račun.ListForm");
ListForm. FilterByProduct = Stavke. popis . CurrentRow ;
ListForm. Otvoren();
Kraj postupka

U ovom rukovatelju primamo obrazac popisa faktura i prosljeđujemo ga parametru obrasca Filtriraj po proizvodu povežite se s trenutnom stavkom u popisu stavki i otvorite obrazac s ovim parametrom.
Zatim ćemo izraditi obrazac popisa dokumenata Prodajni račun i kreirajte atribute obrasca Filtriraj po proizvodu, koji ćemo koristiti kao parametar obrasca prilikom otvaranja. Sada otvorimo paletu svojstava glavnih atributa forme Popis. Postavimo zastavu CustomRequest i u
crta Postavljanje popisa pritisnujmo Otvoren.

U polju Zahtjev Unesite sljedeći tekst zahtjeva:

BIRAJTE

Dokument Prijemna faktura Broj,
Dokument Prijemna faktura. Datum
IZ
Document.ReceiptInvoice KAO DocumentReceiptInvoice
GDJE
Račun za primitak dokumenta.Proizvodi.Proizvod = &Proizvod

U zahtjevu koristimo parametar Proizvod, na koju će biti poslana poveznica na trenutni redak u popisu stavki sadržanih u atributu obrasca popisa faktura Filtriraj po proizvodu. Da biste to učinili, u obrascu popisa rukovatelj događajima Prilikom otvaranja Napišimo kod za postavljanje vrijednosti parametra zahtjeva za proizvod:

&NaKlijentu
Postupak otvaranja (neuspjeh)
popis . Mogućnosti. PostaviVrijednostParametra("Proizvod", FilterPoProizvodu);
Kraj postupka

Ovdje Popis.Opcije— ovo je popis parametara zahtjeva za dinamički popis za atribut List. Vrijednost parametra Proizvod postavlja se jednako vrijednosti parametra forme Filtriraj po proizvodu. Kao rezultat, pritiskom na gumb Fakture u obliku popisa artikala dobit ćemo popis samo onih računa koji sadrže artikl koji je trenutno odabran u popisu artikala.

— ovo je popis parametara zahtjeva za dinamički popis za atribut List.

Kako otvoriti obrazac popisa s nekim odabirom?

Postoji nekoliko načina za otvaranje obrasca popisa s nekim unaprijed postavljenim odabirom. Pogledajmo ih redom:

1. Prva metoda je da prilikom otvaranja obrasca možete postaviti parametar obrasca za odabir i otvoriti obrazac s popisom s ovim parametrom. Parametar odabira predstavlja strukturu. Nazivi elemenata odgovaraju nazivima polja po kojima se vrši odabir, a vrijednosti sadrže vrijednosti odabira. Ovo je opcija proširenja obrasca za upravljanje dinamičkim popisom. Odnosno, postoji za forme čiji je glavni atribut type atribut Dinamički popis, kao što su obrasci popisa i obrasci odabira.

Prilikom otvaranja obrasca odabir će se vršiti prema navedenom polju. Na primjer, u sljedećem primjeru otvara se popis faktura odabirom polja Broj, jednakog 333.

Vrijednost odabira = Nova struktura ("Broj", "333");

SelectionParameters = Nova struktura("Selection", SelectionValue);

OpenForm("Dokument. Račun. Popisni obrazac", Mogućnosti odabira);

2. Možete otvoriti obrazac s popisom bez parametara:

OpenForm("Dokument.Račun.Obrazac popisa");

Zatim, u rukovatelju događajima obrasca popisa faktura Kada se kreira na poslužitelju napisati kod koji stvara odabir u dinamičnoj listi, što je glavni atribut forme:

&Na poslužitelju

Procedura prilikom kreiranja na poslužitelju (greška, standardna obrada)

Element odabira = List.Selection.Elements.Add(Type("Element odabira sastava podataka"));

SelectionElement.LeftValue = NewDataCompositionField("Broj");

SelectionElement.ComparisonView = DataCompositionComparisonView.More;

SelectionElement.Use = True;

SelectionElement.DisplayMode = ElementDisplayModeDataCompositionSettings.Iaccessible;

SelectionElement.RightValue = "000000001";

Kraj postupka

Prednosti ove metode su u tome što se Vrsta usporedbe za odabir može postaviti ne samo Jednako, kao u prvom slučaju, već i Više, Manje itd.

Ali ova metoda također ima vrlo značajan nedostatak: ovim odabirom obrazac će se uvijek otvoriti. Odakle god je bila pozvana. Stoga ovaj oblik ne treba označavati kao glavni. A ako je ipak glavni, tada je prije instaliranja odabira potrebno dati neku vrstu analize odakle se ovaj obrazac otvara. Na primjer, analiziranje parametara obrasca.

3. Konačno, uvjet odabira može se postaviti u prilagođeni upit koji odabire podatke za dinamički popis. Na primjer, trebamo otvoriti popis faktura koje sadrže stavku označenu na popisu stavki.

Da biste to učinili, u obliku popisa stavki kreirajte naredbu i odgovarajući gumb Prijemni računi.

Ispunimo rukovatelj izvršavanjem za ovu naredbu na sljedeći način:

&NaKlijentu

Procedura Primici Računi (naredba)

ListForm = GetForm("Dokument.Račun.ListForm");

ListForm.FilterByProduct = Elements.List.CurrentRow;

ListForm.Open();

Kraj postupka

U ovom rukovatelju primamo obrazac za popis faktura i prosljeđujemo vezu na trenutnu stavku u popisu stavki parametru obrasca FilterByProduct i otvaramo obrazac s tim parametrom.

Zatim ćemo izraditi obrazac popisa dokumenata Račun za kupnju i izraditi atribut obrasca FilterByProduct koji ćemo koristiti kao parametar obrasca prilikom otvaranja. Sada otvorimo paletu svojstava glavnog atributa obrasca List. Postavimo zastavu CustomRequest i u liniji Postavljanje popisa kliknite Otvori.

U polje Zahtjev unesite sljedeći tekst zahtjeva:

BIRAJTE

Dokument Prijemna faktura Broj,

Dokument Prijemna faktura. Datum

IZ

Document.ReceiptInvoice KAO DocumentReceiptInvoice

GDJE

Račun za primitak dokumenta.Proizvodi.Proizvod = &Proizvod

U zahtjevu koristimo parametar Item, koji će dobiti poveznicu na trenutni redak u popisu artikala, koji se nalazi u parametru obrasca popisa faktura FilterBy Item. Da bismo to učinili, u rukovatelju događajima obrasca liste OnOpen napisat ćemo kod za postavljanje vrijednosti parametra zahtjeva za proizvod:

&NaKlijentu

Postupak otvaranja (neuspjeh)

List.Parameters.SetParameterValue("Proizvod", FilterByProduct);

Kraj postupka

Ovdje Popis.Opcije je popis parametara zahtjeva za dinamički popis za atribut List. Vrijednost parametra Product postavljena je jednako vrijednosti parametra obrasca FilterByProduct.

Kao rezultat, pritiskom na gumb Prijemni računi u obliku popisa artikala dobit ćemo popis samo onih računa koji sadrže artikl koji je trenutno odabran u popisu artikala.

Demo primjer za 3. opciju nalazi se u direktoriju 1CITS/EXE/FAQ/OpenFormWithSelection.dt. Primjer je izveden na verziji platforme 8.2.9.356.

Kod 1C v 8.x DirectoryList.Selection.Reset();
DirectoryList.Selection.status.ComparisonType=ComparisonType.Contains;
DirectoryList.Selection.Status.Value="Prihvaćeno";
DirectoryList.Selection.Status.Set();

Za 1C 8.2:
Postoji nekoliko načina za otvaranje obrasca popisa s nekim unaprijed postavljenim odabirom. Pogledajmo ih redom:

1. Prva metoda je da prilikom otvaranja obrasca možete postaviti parametar obrasca za odabir i otvoriti obrazac s popisom s ovim parametrom. Parametar odabira predstavlja strukturu. Nazivi elemenata odgovaraju nazivima polja po kojima se vrši odabir, a vrijednosti sadrže vrijednosti odabira. Ovo je opcija proširenja obrasca za upravljanje dinamičkim popisom. Odnosno, postoji za obrasce čiji je glavni atribut atribut tipa Dinamički popis, na primjer, obrasci popisa i obrasci za odabir.

Prilikom otvaranja obrasca odabir će se vršiti prema navedenom polju.
Kod 1C v 8.2 UP // Na primjer, u sljedećem primjeru otvara se popis faktura s odabirom polja Broj jednakog 333.
Vrijednost odabira = Nova struktura ("Broj", "333");
SelectionParameters = Nova struktura("Selection", SelectionValue);

OpenForm("Dokument. Račun. Popisni obrazac", Mogućnosti odabira);

// Na primjer, sljedeći primjer otvara popis faktura
// s odabirom u polju Izvođač jednak "OJSC Horns and Hooves".
Vrijednost odabira = Nova struktura ("Protustrana strana", "OJSC Horns and Hooves");
SelectionParameters = Nova struktura("Selection", SelectionValue);
OpenForm("Dokument. Račun. Popisni obrazac", Mogućnosti odabira);

2. Možete otvoriti obrazac s popisom bez parametara:
Kod 1C v 8.2 UE OpenForm("Dokument. Primitak. Račun. Obrazac popisa");

Zatim u obradi događaja obrasca za popis faktura When CreatedOnServer upišite kod koji stvara odabir u dinamičkom popisu, što je glavni atribut obrasca:
Kod 1C v 8.2 UP & na poslužitelju

Element odabira = List.Selection.Elements.Add(Type("Element odabira sastava podataka"));
SelectionElement.LeftValue = NewDataCompositionField("Broj");

SelectionElement.DisplayMode = ElementDisplayModeDataCompositionSettings.Iaccessible;
SelectionElement.RightValue = "000000001";
Kraj postupka

&Na poslužitelju
Procedura prilikom kreiranja na poslužitelju (greška, standardna obrada)
Element odabira = List.Selection.Elements.Add(Type
(“Element odabira sastava podataka”));
SelectionElement.LeftValue = NewDataCompositionField("Iznos dokumenta");
SelectionElement.ComparisonView = DataCompositionComparisonView.More;
SelectionElement.Use = True;
SelectionElement.RightValue = 150000;
Kraj postupka

Prednosti ove metode su da Usporedni prikaz za odabir možete postaviti ne samo Jednako, kao u prvom slučaju, već i Više, Manje itd.

Ali ova metoda također ima vrlo značajan nedostatak: ovim odabirom obrazac će se uvijek otvoriti. Odakle god je bila pozvana. Stoga ovaj oblik ne treba označavati kao glavni. A ako je ipak glavni, tada je prije instaliranja odabira potrebno dati neku vrstu analize odakle se ovaj obrazac otvara. Na primjer, analiziranje parametara obrasca.

3. Konačno, uvjet odabira može se postaviti u prilagođeni upit koji odabire podatke za dinamički popis. Na primjer, trebamo otvoriti popis faktura koje sadrže stavku označenu na popisu stavki.

Da biste to učinili, u obliku popisa artikala kreirajte naredbu i odgovarajući gumb Računi za primitak.

Ispunimo rukovatelj izvršavanjem za ovu naredbu na sljedeći način:
Kod 1C v 8.2 UP &OnClient
Procedura Primici Računi (naredba)

ListForm = GetForm("Dokument.Račun.ListForm");
ListForm.FilterByProduct = Elements.List.CurrentRow;
ListForm.Open();

Kraj postupka

U ovom rukovatelju primamo obrazac za popis faktura i prosljeđujemo vezu na trenutnu stavku u popisu stavki parametru obrasca FilterByProduct i otvaramo obrazac s tim parametrom.

Zatim ćemo izraditi obrazac za popis dokumenata: Primka Račun i kreirati atribut obrasca FilterBy Product koji ćemo koristiti kao parametar obrasca prilikom otvaranja. Sada otvorimo paletu svojstava glavnog atributa obrasca List. Postavite oznaku ArbitraryRequest au liniji List settings kliknite Otvoren.

U polje Zahtjev unesite sljedeći tekst zahtjeva:
Šifra 1C v 8.2 UP SELECT
Dokument Prijemna faktura Broj,
Dokument Prijemna faktura. Datum
IZ
Document.ReceiptInvoice KAO DocumentReceiptInvoice
GDJE
Račun za primitak dokumenta.Proizvodi.Proizvod = &Proizvod

U zahtjevu koristimo parametar Item, koji će dobiti poveznicu na trenutni redak u popisu artikala, koji se nalazi u parametru obrasca popisa faktura FilterBy Item. Da bismo to učinili, u rukovatelju događajima obrasca liste OnOpen napisat ćemo kod za postavljanje vrijednosti parametra zahtjeva za proizvod:
Kod 1C v 8.2 UP
&NaKlijentu
Postupak otvaranja (neuspjeh)

List.Parameters.SetParameterValue("Proizvod", FilterByProduct);

Kraj postupka

Ovdje Popis.Opcije je popis parametara zahtjeva za dinamički popis za atribut List. Vrijednost parametra Product postavljena je jednako vrijednosti parametra obrasca FilterByProduct.

Kao rezultat toga, klikom na gumb Potvrde računa u obrascu popisa artikala dobit ćemo popis samo onih računa koji sadrže artikl koji je trenutno odabran u popisu artikala.

Informacije preuzete sa stranice

Kod 1C v 8.x DirectoryList.Selection.Reset();
DirectoryList.Selection.status.ComparisonType=ComparisonType.Contains;
DirectoryList.Selection.Status.Value="Prihvaćeno";
DirectoryList.Selection.Status.Set();

Za 1C 8.2:
Postoji nekoliko načina za otvaranje obrasca popisa s nekim unaprijed postavljenim odabirom. Pogledajmo ih redom:

1. Prva metoda je da prilikom otvaranja obrasca možete postaviti parametar obrasca za odabir i otvoriti obrazac s popisom s ovim parametrom. Parametar odabira predstavlja strukturu. Nazivi elemenata odgovaraju nazivima polja po kojima se vrši odabir, a vrijednosti sadrže vrijednosti odabira. Ovo je opcija proširenja obrasca za upravljanje dinamičkim popisom. Odnosno, postoji za obrasce čiji je glavni atribut atribut tipa Dinamički popis, na primjer, obrasci popisa i obrasci za odabir.

Prilikom otvaranja obrasca odabir će se vršiti prema navedenom polju.
Kod 1C v 8.2 UP // Na primjer, u sljedećem primjeru otvara se popis faktura s odabirom polja Broj jednakog 333.
Vrijednost odabira = Nova struktura ("Broj", "333");
SelectionParameters = Nova struktura("Selection", SelectionValue);

OpenForm("Dokument. Račun. Popisni obrazac", Mogućnosti odabira);

// Na primjer, sljedeći primjer otvara popis faktura
// s odabirom u polju Izvođač jednak "OJSC Horns and Hooves".
Vrijednost odabira = Nova struktura ("Protustrana strana", "OJSC Horns and Hooves");
SelectionParameters = Nova struktura("Selection", SelectionValue);
OpenForm("Dokument. Račun. Popisni obrazac", Mogućnosti odabira);

2. Možete otvoriti obrazac s popisom bez parametara:
Kod 1C v 8.2 UE OpenForm("Dokument. Primitak. Račun. Obrazac popisa");

Zatim u obradi događaja obrasca za popis faktura When CreatedOnServer upišite kod koji stvara odabir u dinamičkom popisu, što je glavni atribut obrasca:
Kod 1C v 8.2 UP & na poslužitelju

Element odabira = List.Selection.Elements.Add(Type("Element odabira sastava podataka"));
SelectionElement.LeftValue = NewDataCompositionField("Broj");


SelectionElement.DisplayMode = ElementDisplayModeDataCompositionSettings.Iaccessible;
SelectionElement.RightValue = "000000001";
Kraj postupka

&Na poslužitelju
Procedura prilikom kreiranja na poslužitelju (greška, standardna obrada)
Element odabira = List.Selection.Elements.Add(Type
(“Element odabira sastava podataka”));
SelectionElement.LeftValue = NewDataCompositionField("Iznos dokumenta");
SelectionElement.ComparisonView = DataCompositionComparisonView.More;
SelectionElement.Use = True;
SelectionElement.RightValue = 150000;
Kraj postupka

Prednosti ove metode su da Usporedni prikaz za odabir možete postaviti ne samo Jednako, kao u prvom slučaju, već i Više, Manje itd.

Ali ova metoda također ima vrlo značajan nedostatak: ovim odabirom obrazac će se uvijek otvoriti. Odakle god je bila pozvana. Stoga ovaj oblik ne treba označavati kao glavni. A ako je ipak glavni, tada je prije instaliranja odabira potrebno dati neku vrstu analize odakle se ovaj obrazac otvara. Na primjer, analiziranje parametara obrasca.

3. Konačno, uvjet odabira može se postaviti u prilagođeni upit koji odabire podatke za dinamički popis. Na primjer, trebamo otvoriti popis faktura koje sadrže stavku označenu na popisu stavki.

Da biste to učinili, u obliku popisa artikala kreirajte naredbu i odgovarajući gumb Računi za primitak.

Ispunimo rukovatelj izvršavanjem za ovu naredbu na sljedeći način:
Kod 1C v 8.2 UP &OnClient
Procedura Primici Računi (naredba)

ListForm = GetForm("Dokument.Račun.ListForm");
ListForm.FilterByProduct = Elements.List.CurrentRow;
ListForm.Open();

Kraj postupka

U ovom rukovatelju primamo obrazac za popis faktura i prosljeđujemo vezu na trenutnu stavku u popisu stavki parametru obrasca FilterByProduct i otvaramo obrazac s tim parametrom.

Zatim ćemo izraditi obrazac za popis dokumenata: Primka Račun i kreirati atribut obrasca FilterBy Product koji ćemo koristiti kao parametar obrasca prilikom otvaranja. Sada otvorimo paletu svojstava glavnog atributa obrasca List. Postavite oznaku ArbitraryRequest au liniji List settings kliknite Otvoren.

U polje Zahtjev unesite sljedeći tekst zahtjeva:
Šifra 1C v 8.2 UP SELECT
Dokument Prijemna faktura Broj,
Dokument Prijemna faktura. Datum
IZ
Document.ReceiptInvoice KAO DocumentReceiptInvoice
GDJE
Račun za primitak dokumenta.Proizvodi.Proizvod = &Proizvod

U zahtjevu koristimo parametar Item, koji će dobiti poveznicu na trenutni redak u popisu artikala, koji se nalazi u parametru obrasca popisa faktura FilterBy Item. Da bismo to učinili, u rukovatelju događajima obrasca liste OnOpen napisat ćemo kod za postavljanje vrijednosti parametra zahtjeva za proizvod:
Kod 1C v 8.2 UP
&NaKlijentu
Postupak otvaranja (neuspjeh)

List.Parameters.SetParameterValue("Proizvod", FilterByProduct);

Kraj postupka

Ovdje Popis.Opcije je popis parametara zahtjeva za dinamički popis za atribut List. Vrijednost parametra Product postavljena je jednako vrijednosti parametra obrasca FilterByProduct.

Kao rezultat toga, klikom na gumb Potvrde računa u obrascu popisa artikala dobit ćemo popis samo onih računa koji sadrže artikl koji je trenutno odabran u popisu artikala.

Ovaj kod vam omogućuje da otvorite popis dokumenata s određenim odabirom; također možete otvoriti popis elemenata imenika sa željenim odabirom

Kod 1C v 8.2 UP Obrazac = OpenForm("Dokument. Račun.Obrazac.Obrazac Popisa"); //Otvori obrazac
SelectionOwner =Form.List.Selection.Elements.Add(Type("DataCompositionSelectionElement")); //Dodaj odabir
SelectionOwner.ComparisonView = DataCompositionComparisonView.Equals; //Kako ćemo usporediti
SelectOwner.Use = True; // Postavite potvrdni okvir za korištenje NewDataCompositionField("Nomenklatura")
SelectionOwner.LeftValue = NewDataCompositionField("Račun"); //Koje ćemo detalje koristiti za odabir?
SelectionOwner.RightValue = Object.Account; // I sam smisao selekcije

Da bi otvorite obrazac popisa s unaprijed definiranim odabirom koristite sljedeće metode:

Prvi način je da kada otvorite obrazac, možete postaviti parametar obrasca za odabir i otvoriti obrazac s popisom s ovim parametrom.

Parametar odabira predstavlja strukturu. Nazivi elemenata odgovaraju nazivima polja po kojima se vrši odabir, a vrijednosti sadrže vrijednosti odabira. Ovo je opcija proširenja obrasca za upravljanje dinamičkim popisom. Odnosno, postoji za obrasce čiji je glavni atribut atribut tipa DynamicList, na primjer, obrasci popisa i obrasci odabira.

Na primjer, u sljedećem primjeru otvara se popis faktura odabirom polja Broj, jednakog 333.

Kod 1C v 8.2 Vrijednost odabira UE = Nova struktura ("Broj", "333");
SelectionParameters = Nova struktura("Selection", SelectionValue);
OpenForm("Dokument. Račun. Popisni obrazac", Mogućnosti odabira);

Drugi način

Možete otvoriti obrazac s popisom bez parametara:

Kod 1C v 8.2 UE OpenForm("Dokument. Primitak. Račun. Obrazac popisa");

Zatim u obradi događaja obrasca za popis faktura When CreatedOnServer upišite kod koji stvara odabir u dinamičkom popisu, što je glavni atribut obrasca:

Kod 1C v 8.2 UP & na poslužitelju
Procedura prilikom kreiranja na poslužitelju (greška, standardna obrada)
Element odabira = List.Selection.Elements.Add(Type("Element odabira sastava podataka"));
SelectionElement.LeftValue = NewDataCompositionField("Broj");
SelectionElement.ComparisonView = DataCompositionComparisonView.More;
SelectionElement.Use = True;
SelectionElement.DisplayMode = ElementDisplayModeDataCompositionSettings.Iaccessible;
SelectionElement.RightValue = "000000001";
Kraj postupka

Prednosti ove metode su u tome što se Vrsta usporedbe za odabir može postaviti ne samo na Jednako, kao u prvom slučaju, već i na Više, Manje itd.

Ali ova metoda također ima vrlo značajan nedostatak: ovim odabirom obrazac će se uvijek otvoriti. Odakle god je bila pozvana. Stoga ovaj oblik ne treba označavati kao glavni. A ako je, ipak, glavni, tada je prije instaliranja odabira potrebno dati neku vrstu analize odakle se ovaj obrazac otvara. Na primjer, analiziranje parametara obrasca.

Treći način

Konačno, uvjet odabira može se postaviti u prilagođeni upit koji odabire podatke za dinamički popis.

Na primjer, trebamo otvoriti popis faktura koje sadrže stavku označenu na popisu stavki.

Da biste to učinili, u obliku popisa artikala kreirajte naredbu i odgovarajući gumb Računi za primitak.

Ispunimo rukovatelj izvršavanjem za ovu naredbu na sljedeći način:

Kod 1C v 8.2 UP &OnClient
Procedura Primici Računi (naredba)
SelectionParameters = New Structure("FilterByProduct", Elements.List.CurrentRow);
OpenForm("Dokument. Račun. Popisni obrazac", Mogućnosti odabira);
Kraj postupka

U ovom rukovatelju otvaramo obrazac za popis faktura, prosljeđujući vezu na trenutnu stavku na popisu stavki parametru obrasca FilterByProduct.

Zatim ćemo izraditi obrazac za popis dokumenata: Račun za primitak i kreirati parametar obrasca FilterBy Product, pomoću kojeg ćemo otvoriti obrazac sa traženim odabirom.

Sada otvorimo paletu svojstava glavnog atributa obrasca List. Postavite oznaku Custom Query i u retku List Settings kliknite Open.

U polje Zahtjev unesite sljedeći tekst zahtjeva:

Šifra 1C v 8.2 UP SELECT
Dokument Prijemna faktura Broj,
Dokument Prijemna faktura. Datum
IZ
Document.ReceiptInvoice KAO DocumentReceiptInvoice
GDJE
Račun za primitak dokumenta.Proizvodi.Proizvod = &Proizvod

U zahtjevu koristimo parametar Item, koji će dobiti poveznicu na trenutni redak u popisu artikala, koji se nalazi u parametru obrasca popisa faktura FilterBy Item.

Da bismo to učinili, u rukovatelju događajima obrasca popisa When CreatedOnServer, napisat ćemo kod za postavljanje vrijednosti parametra zahtjeva za proizvod:

Kod 1C v 8.2 UP &OnClient
Postupak otvaranja (neuspjeh)
List.Parameters.SetParameterValue("Proizvod", Parameters.FilterByProduct);
Kraj postupka

Ovdje je List.Parameters popis parametara zahtjeva za dinamički popis za atribut List. Vrijednost parametra Product postavljena je jednako vrijednosti parametra obrasca FilterByProduct.

Kao rezultat toga, klikom na gumb Potvrde računa u obrascu popisa artikala dobit ćemo popis samo onih računa koji sadrže artikl koji je trenutno odabran u popisu artikala.

Najbolji članci na temu