1c kontrollerat formval. Hur öppnar man ett listformulär med något urval? Inställningsval i konfiguratorn

Kod 1C v 8.x DirectoryList.Selection.Reset();
DirectoryList.Selection.status.ComparisonType=ComparisonType.Innehåller;
DirectoryList.Selection.Status.Value="Accepted";
DirectoryList.Selection.Status.Set();

För 1C 8.2:
Det finns flera sätt att öppna ett listformulär med ett visst förinställt urval. Låt oss titta på dem i ordning:

1. Den första metoden är att när du öppnar formuläret kan du ställa in parametern Urvalsformulär och öppna listformuläret med denna parameter. Parametern Selection representerar strukturen. Namnen på elementen motsvarar namnen på de fält som valet görs med, och värdena innehåller urvalsvärdena. Detta är ett dynamiskt listhanterat formulärtilläggsalternativ. Det vill säga, det finns för formulär vars huvudattribut är ett attribut av typen Dynamic List, till exempel listformulär och urvalsformulär.

När formuläret öppnas kommer urval att göras baserat på det angivna fältet.
Kod 1C v 8.2 UPP // Till exempel, i följande exempel, öppnas en lista med fakturor med val av nummerfältet lika med 333.
Urvalsvärde = Ny struktur("Nummer", "333");
SelectionParameters = New Structure("Selection", SelectionValue);

OpenForm("Dokument. Kvittofaktura. Listformulär", urvalsalternativ);

// Följande exempel öppnar till exempel en lista med fakturor
// med val av entreprenörsfältet lika med "OJSC Horns and Hooves".
Urvalsvärde = Ny struktur("Motpart", "OJSC horn och hovar");
SelectionParameters = New Structure("Selection", SelectionValue);
OpenForm("Dokument. Kvittofaktura. Listformulär", urvalsalternativ);

2. Du kan öppna ett listformulär utan parametrar:
Kod 1C v 8.2 UE OpenForm("Dokument. Kvittofaktura.Listformulär");

Och sedan, i händelsehanteraren av formuläret för listan med fakturor When CreatedOnServer, skriv kod som skapar ett urval i den dynamiska listan, som är formulärets huvudattribut:
Kod 1C v 8.2 UP &OnServer

Selection Element = List.Selection.Elements.Add(Type("DataComposition Selection Element"));
SelectionElement.LeftValue = NewDataCompositionField("Number");

SelectionElement.DisplayMode = ElementDisplayModeDataCompositionSettings.Inaccessible;
SelectionElement.RightValue = "000000001";
Slutprocedur

&På server
Procedur när skapad på server (fel, standardbearbetning)
Selection Element = List.Selection.Elements.Add(Type
("DataCompositionSelectionElement"));
SelectionElement.LeftValue = NewDataCompositionField("DocumentAmount");
SelectionElement.ComparisonView = DataCompositionComparisonView.More;
SelectionElement.Use = Sant;
SelectionElement.RightValue = 150000;
Slutprocedur

Fördelar den här metodenär att jämförelsevyn för val kan du ställa in inte bara lika, som i det första fallet, utan även mer, mindre, etc.

Men denna metod har också en mycket betydande nackdel: med detta val kommer formuläret alltid att öppnas. Var hon än kallades ifrån. Därför bör denna blankett inte betecknas som den huvudsakliga. Och om det ändå är det viktigaste, så innan du installerar urvalet är det nödvändigt att tillhandahålla någon form av analys av varifrån detta formulär öppnas. Till exempel att analysera formulärparametrar.

3. Slutligen kan urvalsvillkoret placeras i en anpassad fråga som väljer data för en dynamisk lista. Vi behöver till exempel öppna en lista med fakturor som innehåller den punkt som är markerad i artikellistan.

För att göra detta, i form av en lista över objekt, skapa ett kommando och motsvarande knapp Kvitto fakturor.

Låt oss fylla i exekveringshanteraren för detta kommando enligt följande:
Kod 1C v 8.2 UP &OnClient
ProcedurkvittonFakturor (kommando)

ListForm = GetForm("Document.Invoice.ListForm");
ListForm.FilterByProduct = Elements.List.CurrentRow;
ListForm.Open();

Slutprocedur

I den här hanteraren tar vi emot formuläret för faktureringslistan och skickar länken till den aktuella artikeln i artikellistan till formulärparametern FilterByProduct och öppnar formuläret med denna parameter.

Sedan kommer vi att skapa ett formulär för listan med dokument: Kvittofaktura och skapa ett formulärattribut FilterBy Product, som vi kommer att använda som parameter för formuläret när vi öppnar det. Låt oss nu öppna egenskapspaletten för huvudattributet i List-formuläret. Ställ in ArbitraryRequest-flaggan och klicka på raden Listinställningar Öppen.

I fältet Begäran anger du följande text för begäran:
Kod 1C v 8.2 UPPVAL
Dokument kvitto fakturanummer.
Dokumentkvitto Faktura.Datum
FRÅN
Document.ReceiptInvoice AS DocumentReceiptInvoice
VAR
Dokumentkvitto Invoice.Products.Product = &Produkt

I begäran använder vi parametern Artikel, som kommer att få en länk till den aktuella raden i artikellistan, som finns i formulärparametern FilterBy Item fakturalista. För att göra detta kommer vi att skriva kod i OnOpen-listans formulärhändelsehanterare för att ställa in värdet på parametern Product request:
Kod 1C v 8.2 UP
&OnClient
Öppningsprocedur (misslyckande)

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

Slutprocedur

Här Lista.Alternativär en lista över dynamiska listbegäranparametrar för attributet List. Värdet på parametern Product sätts lika med värdet på formulärparametern FilterByProduct.

Som ett resultat, genom att klicka på knappen Kvitto fakturor i form av en lista med artiklar, kommer vi att få en lista över endast de fakturor som innehåller de artiklar som är markerade i det här ögonblicket i nomenklaturlistan.

Information hämtad från sajten

Urval på hanterade formulär i 1C 8.3

Artikeln kommer att diskutera alternativ för att installera urval i hanterade former 1C 8.3. Valet för en dynamisk lista kan ställas in statiskt eller dynamiskt, i användargränssnitt eller konfigurator. Vi kommer att överväga alla urvalsalternativ nedan.

  • Inställningsval i konfiguratorn

Inställningsval i användarläge

En dynamisk lista, i motsats till en tabell eller värdeträd, är en mer lämplig lösning för att implementera formulär som innehåller listor, eftersom Den dynamiska listan ger det bredaste utbudet av verktyg för att arbeta med urval, fältgruppering och sortering. Detta val kan ställas in när du arbetar i användarläge eller konfiguratorn, principen är densamma.

För att ställa in val i företagsläge måste du anropa kommandot "Anpassa lista".

Ett fönster öppnas.


Fliken "urval" visar en lista över fält som finns i den aktuella listan. Välj de listfält som vi ska filtrera efter. Detta kan göras genom att dubbelklicka eller genom att dra och släppa.


Vi ställer in jämförelsetyp och värde, klicka på "Slutför redigering", valet är inställt.


När du ställer in urval i företagsläge skapas automatiskt så kallade snabbvalsfält på listformuläret.


För att 1C-plattformen automatiskt ska skapa snabbvalsfält, när du utvecklar ett formulär i konfiguratorn, måste du ange en grupp användarinställningar.


Detta val kommer endast att sparas för den aktuella användaren, vilket möjliggör flexibel anpassning av den dynamiska listan. Men om uppgiften är att göra ett fast urval för en specifik lista för alla användare av systemet kan vi lösa det endast genom konfiguratorn.

Inställningsval i konfiguratorn

Genom att arbeta i konfiguratorn kan vi ställa in två typer av dynamiskt listval – fast och dynamisk. Fast val kan konfigureras en gång, dynamiskt eller programmatiskt val kan ställas in beroende på vilken data som helst i systemet.

Principen för att ställa in ett fast val i konfiguratorn skiljer sig inte från att ställa in det i användarläget som beskrivs ovan. För att ställa in valet måste vi öppna de dynamiska listinställningarna.


Ett fönster öppnas.


Val ställs in på samma sätt som i användarläge.

Alternativet "Inkludera i användarinställningar" bestämmer om valet i konfiguratorn kommer att vara tillgängligt i användarläge via menyalternativet "Anpassa lista".


Dynamiskt val (mjukvara).

Ofta finns det behov av att ställa in urval programmatiskt, till exempel när vi öppnar ett urvalsformulär, när vi behöver öppna ett kontrollerat formulär med urval. En parameter skickas till formuläret och urvalet ställs in baserat på denna parameter. Ett vanligt exempel på detta är att välja katalogobjekt efter ägare.

Metoder

Om konfigurationen som utvecklas innehåller delsystemet BSP "Basic Functionality", kan val av programvara i den dynamiska listan installeras med standardmetoden:

GeneralPurposeClientServer.SetDynamicListSelectionElement()

Signatur för denna metod:

DynamicList Typ: DynamicList – Listan där du vill ställa in valet.

Fält namn Typ: String – Fältet som du vill ställa in valet med.

RightValue Typ: Godtycklig – Urvalsvärde (Valfritt. Standardvärde: Odefinierat. Obs: Om du klarar Undefined kommer värdet inte att ändras).

Visajämförelse Typ: DataComposition Comparison Type – Urvalsvillkor.

Prestanda Typ: String – Representation av ett datakompositionselement (Valfritt. Standardvärde: Odefinierat. Om angivet skrivs endast användningsflaggan med den angivna representationen ut (inget värde skrivs ut). En tom sträng måste skickas för att rensa så att värdet skrivs ut igen.)

Användande Typ: Boolean – Flagga för att använda detta val (Valfritt. Standard: Odefinierat).

Visningsläge Typ: ItemDisplayModeDataCompositionSettings – Hur detta val visas för användaren. Möjliga värden:

  • Element Display Mode Data Layout Settings.Quick Access – In Group snabba inställningar ovanför listan.
  • Element Display Mode Inställningar för datalayout Normal – I listinställningar (i undermenyn Mer).
  • ElementDisplayModeDataCompositionSettings.Inaccessible – Förhindra användaren från att ändra detta val.

IdentifierUserSettings Typ: String – Unik identifierare för detta val (Används för att kommunicera med användarinställningar).

För att ta bort ett urvalsvärde måste du använda standardmetoden:

General PurposeClientServer. RemoveGroupElementsSelectionDynamicList()

Signatur för denna metod:

DynamicList Typ: DynamicList – formulärattribut som du vill ställa in val för.

Fält namn Typ: String – namn på layoutfältet (används inte för grupper).

Prestanda Typ: String – Representation av ett layoutfält.

Om det inte finns någon BSP i systemet kan valet ställas in oberoende med hjälp av DataComposition Field-objektet.

Selection Element = List.Selection.Elements.Add(Type("DataComposition Selection Element")); Selection Element.LeftValue = NewDataCompositionField("Namn"); Selection Element.Comparison Type = DataComposition Comparison Type.Equal; Selection Element.DisplayMode = ElementDisplayModeDataCompositionSettings.QuickAccess; // Valfritt urvalselement RightValue = "Ivanov";

Detta val kommer att välja rader där värdet "Fullständigt namn" = "Ivanov".

För att använda logiska "AND", "ELLER", "NOT" är datatypen DataCompositionSelectionElementGroup avsedd

Selection Group = List.Selection.Elements.Add(Type("Group of DataComposition Selection Elements")); SelectionGroup.GroupType = DataCompositionSelectionElementGroupType.GroupOR; Selection Element = Selection Group Add(Type("Data Composition Selection Element")). Selection Element.LeftValue = NewDataCompositionField("Namn"); Selection Element.Comparison Type = DataComposition Comparison Type.Equal; Selection Element.RightValue = "Ivanov"; Selection Element = Selection Group Add(Type("Data Composition Selection Element")). Selection Element.LeftValue = NewDataCompositionField("Namn"); Selection Element.Comparison Type = DataComposition Comparison Type.Equal; SelectionElement.RightValue = "Petrov";

Detta val kommer att välja rader där värdet "Fullständigt namn" = "Ivanov" eller "Petrov".

Val i en dynamisk lista kan också göras genom att ändra texten i den dynamiska listbegäran. Detta alternativ fungerar när den dynamiska listan görs via en "anpassad begäran".


För att göra detta, lägg till villkoret "WHERE IS THE TRUE" i frågetexten...


Som du kan se är detta tillvägagångssätt mer kompakt när det gäller att skriva kod. Hur svårare förhållanden vi vill upprätta urvalet i tabelldelen, desto krångligare blir alternativet genom att välja genom Data Composition Selection Element. Men exemplet med att ändra texten i begäran har sina nackdelar - denna implementering är inte resistent mot kodändringar. Till exempel gjorde du en sådan implementering och glömde det, men om du i framtiden vill ändra förfrågningstexten genom att lägga till någon operatör efter WHERE (ORDER, GROUP), måste du komma ihåg att programkoden innehåller:

List.QueryText = List.QueryText + " And DirectoryUsers.Full Name V(""Ivanov"",""Petrov"")";

Om detta inte beaktas kommer det att uppstå ett fel, men för att undvika detta kan du ändra det till en annan implementering. Vi lägger till följande villkor i förfrågningstexten:

VAR (INTE &SelectionInstalled ELLER DirectoryUsers.Name IN (&PermittedName))

List.Parameters.SetParameterValue("SelectionSet", Fullständigt namn.Quantity() > 0); List.Parameters.SetParameterValue("Tillåtet fullständigt namn", fullständigt namn);

Här är det fullständiga namnet en array.

Som du kan se, 2 rader kod mot 10. Vilken metod du ska välja beror på den specifika applikationsuppgiften.

För att öppna urvalsformuläret med urval i 1s 8.2(vanliga former), måste vi utföra några åtgärder. Vi får det först. Efter det ställer vi in ​​valet och öppnar det programmatiskt, här är ett kodexempel:

Urval på formuläret i inmatningsfältet 1C 8.2 med flera värden

I exemplet ovan tittade vi på hur man ställer in urval på urvalsformuläret efter specifikt värde. Låt oss nu titta på en situation där du behöver ersätta flera värden, detta kan till exempel vara en array eller avlastas från ett frågeresultat. Detta är ett urval i inmatningsfältet 1c med flera betydelser.

Först får vi urvalsformuläret, skickar "Element" (ägare) i parametrarna, ställer in markeringslägesflaggan. Sedan skapar vi en lista med värden och en array, vi noterar att som ett urval när du ställer in typen av jämförelse i listan kan ett objekt endast vara närvarande med typen Listvärden. Vi lägger till element i arrayen och laddar sedan in denna array i listan över värden, som vi sedan ställer in i urvalet. Glöm inte heller att aktivera flaggan för att använda detta val och ange jämförelsetyp.

Ställa in val i inmatningsfältet på formuläret i 1C 8.3, Start of Selection-händelse

Låt oss nu överväga val i inmatningsfältet på ett hanterat formulär i 1C 8.3. Låt oss hitta elementet vi är intresserade av i formuläret, där vi kommer att ställa in valet, i vårt fall är detta fältet "Organisation". Vi hittar eventet "Start of Selection", klickar på förstoringsglaset och befinner oss i proceduren. Vi ser parametern Selection Data. Denna parameter är av typen ValueList. För att begränsa urvalet till de nödvändiga elementen måste vi fylla i värdelistan. Vi kan bara välja element på servern, så vi skapar en procedur med &OnServers kompileringsdirektiv. I denna procedur fyller du i urvalsdata.

Kod 1C v 8.x DirectoryList.Selection.Reset();
DirectoryList.Selection.status.ComparisonType=ComparisonType.Innehåller;
DirectoryList.Selection.Status.Value="Accepted";
DirectoryList.Selection.Status.Set();

För 1C 8.2:
Det finns flera sätt att öppna ett listformulär med ett visst förinställt urval. Låt oss titta på dem i ordning:

1. Den första metoden är att när du öppnar formuläret kan du ställa in parametern Urvalsformulär och öppna listformuläret med denna parameter. Parametern Selection representerar strukturen. Namnen på elementen motsvarar namnen på de fält som valet görs med, och värdena innehåller urvalsvärdena. Detta är ett dynamiskt listhanterat formulärtilläggsalternativ. Det vill säga, det finns för formulär vars huvudattribut är ett attribut av typen Dynamic List, till exempel listformulär och urvalsformulär.

När du öppnar formuläret kommer urval att göras baserat på det angivna fältet.
Kod 1C v 8.2 UPP // Till exempel, i följande exempel, öppnas en lista med fakturor med val av Nummerfältet lika med 333.
Urvalsvärde = Ny struktur("Number", "333");
SelectionParameters = New Structure("Selection", SelectionValue);

OpenForm("Dokument. Kvittofaktura. Listformulär", urvalsalternativ);

// Följande exempel öppnar till exempel en lista med fakturor
// med val av entreprenörsfältet lika med "OJSC Horns and Hooves".
Urvalsvärde = Ny struktur("Motpart", "OJSC horn och hovar");
SelectionParameters = New Structure("Selection", SelectionValue);
OpenForm("Dokument. Kvittofaktura. Listformulär", urvalsalternativ);

2. Du kan öppna ett listformulär utan parametrar:
Kod 1C v 8.2 UP OpenForm("Dokument. Kvittofaktura. Listformulär");

Och sedan, i händelsehanteraren av formuläret för listan med fakturor When CreatedOnServer, skriv kod som skapar ett urval i den dynamiska listan, som är formulärets huvudattribut:
Kod 1C v 8.2 UP &OnServer

Selection Element = List.Selection.Elements.Add(Type("DataComposition Selection Element"));
SelectionElement.LeftValue = NewDataCompositionField("Number");


SelectionElement.DisplayMode = ElementDisplayModeDataCompositionSettings.Inaccessible;
SelectionElement.RightValue = "000000001";
Slutprocedur

&På server
Procedur när skapad på server (fel, standardbearbetning)
Selection Element = List.Selection.Elements.Add(Type
("DataCompositionSelectionElement"));
SelectionElement.LeftValue = NewDataCompositionField("DocumentAmount");
SelectionElement.ComparisonView = DataCompositionComparisonView.More;
SelectionElement.Use = Sant;
SelectionElement.RightValue = 150000;
Slutprocedur

Fördelarna med denna metod är att jämförelsevyn för val kan du ställa in inte bara lika, som i det första fallet, utan även mer, mindre, etc.

Men denna metod har också en mycket betydande nackdel: med detta val kommer formuläret alltid att öppnas. Var hon än kallades ifrån. Därför bör denna blankett inte betecknas som den huvudsakliga. Och om det ändå är det viktigaste, så innan du installerar urvalet är det nödvändigt att tillhandahålla någon form av analys av varifrån detta formulär öppnas. Till exempel att analysera formulärparametrar.

3. Slutligen kan urvalsvillkoret placeras i en anpassad fråga som väljer data för en dynamisk lista. Vi behöver till exempel öppna en lista med fakturor som innehåller den punkt som är markerad i artikellistan.

För att göra detta, i form av en lista över objekt, skapa ett kommando och motsvarande knapp Kvitto fakturor.

Låt oss fylla i exekveringshanteraren för detta kommando enligt följande:
Kod 1C v 8.2 UP &OnClient
ProcedurkvittonFakturor (kommando)

ListForm = GetForm("Document.Invoice.ListForm");
ListForm.FilterByProduct = Elements.List.CurrentRow;
ListForm.Open();

Slutprocedur

I den här hanteraren tar vi emot formuläret för faktureringslistan och skickar länken till den aktuella artikeln i artikellistan till formulärparametern FilterByProduct och öppnar formuläret med denna parameter.

Sedan kommer vi att skapa ett formulär för listan med dokument: Kvittofaktura och skapa ett formulärattribut FilterBy Product, som vi kommer att använda som parameter för formuläret när vi öppnar det. Låt oss nu öppna egenskapspaletten för huvudattributet i List-formuläret. Ställ in ArbitraryRequest-flaggan och klicka på raden Listinställningar Öppen.

I fältet Begäran anger du följande text för begäran:
Kod 1C v 8.2 UPPVAL
Dokument kvitto fakturanummer.
Dokumentkvitto Faktura.Datum
FRÅN
Document.ReceiptInvoice AS DocumentReceiptInvoice
VAR
Dokumentkvitto Invoice.Products.Product = &Produkt

I begäran använder vi parametern Artikel, som kommer att få en länk till den aktuella raden i artikellistan, som finns i formulärparametern FilterBy Item fakturalista. För att göra detta kommer vi att skriva kod i OnOpen-listans formulärhändelsehanterare för att ställa in värdet på parametern Product request:
Kod 1C v 8.2 UP
&OnClient
Öppningsprocedur (misslyckande)

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

Slutprocedur

Här Lista.Alternativär en lista med parametrar för dynamisk listbegäran för attributet List. Värdet på parametern Product sätts lika med värdet på formulärparametern FilterByProduct.

Som ett resultat av detta, genom att klicka på knappen Kvittofakturor i artikellistans formulär, får vi en lista över endast de fakturor som innehåller den artikel som för närvarande är vald i artikellistan.

Hur öppnar man ett listformulär med något urval?

Det finns flera sätt att öppna ett listformulär med ett visst förinställt urval. Låt oss titta på dem i ordning:

1. Den första metoden är att när du öppnar formuläret kan du ställa in parametern Urvalsformulär och öppna listformuläret med denna parameter. Parametern Selection representerar strukturen. Namnen på elementen motsvarar namnen på de fält som valet görs med, och värdena innehåller urvalsvärdena. Detta är ett dynamiskt listhanterat formulärtilläggsalternativ. Det vill säga, det finns för former vars huvudattribut är typattributet Dynamisk lista, såsom listformulär och urvalsformulär.

När formuläret öppnas kommer urval att göras baserat på det angivna fältet. Till exempel, i följande exempel, öppnas en lista med fakturor med val av Nummer-fältet, lika med 333.

Urvalsvärde = Ny struktur("Number", "333");

SelectionParameters = New Structure("Selection", SelectionValue);

OpenForm("Dokument. Kvittofaktura. Listformulär", urvalsalternativ);

2. Du kan öppna ett listformulär utan parametrar:

OpenForm("Document.Invoice.ListForm");

Och sedan, i händelsehanteraren i fakturalistan När CreatedOnServer skriv kod som skapar ett urval i en dynamisk lista, vilket är formulärets huvudattribut:

&På server

Procedur när skapad på server (fel, standardbearbetning)

Selection Element = List.Selection.Elements.Add(Type("DataComposition Selection Element"));

SelectionElement.LeftValue = NewDataCompositionField("Number");

SelectionElement.ComparisonView = DataCompositionComparisonView.More;

SelectionElement.Use = Sant;

SelectionElement.DisplayMode = ElementDisplayModeDataCompositionSettings.Inaccessible;

SelectionElement.RightValue = "000000001";

Slutprocedur

Fördelarna med den här metoden är att jämförelsetypen för valet kan ställas in inte bara lika, som i det första fallet, utan även mer, mindre, etc.

Men denna metod har också en mycket betydande nackdel: med detta val kommer formuläret alltid att öppnas. Var hon än kallades ifrån. Därför bör denna blankett inte betecknas som den huvudsakliga. Och om det ändå är det viktigaste, så innan du installerar urvalet är det nödvändigt att tillhandahålla någon form av analys av varifrån detta formulär öppnas. Till exempel att analysera formulärparametrar.

3. Slutligen kan urvalsvillkoret placeras i en anpassad fråga som väljer data för en dynamisk lista. Vi behöver till exempel öppna en lista med fakturor som innehåller den punkt som är markerad i artikellistan.

För att göra detta, i form av en lista med objekt, skapa ett kommando och en motsvarande knapp Kvitto fakturor.

Låt oss fylla i exekveringshanteraren för detta kommando enligt följande:

&OnClient

ProcedurkvittonFakturor (kommando)

ListForm = GetForm("Document.Invoice.ListForm");

ListForm.FilterByProduct = Elements.List.CurrentRow;

ListForm.Open();

Slutprocedur

I den här hanteraren tar vi emot formuläret för faktureringslistan och skickar länken till den aktuella artikeln i artikellistan till formulärparametern FilterByProduct och öppnar formuläret med denna parameter.

Sedan skapar vi ett dokumentlistaformulär Inköpsfaktura och skapa formulärattributet FilterByProduct, som vi kommer att använda som en formulärparameter när vi öppnar det. Låt oss nu öppna egenskapspaletten för huvudattributet i List-formuläret. Låt oss sätta flaggan CustomRequest och i raden Listinställning klicka på Öppna.

I fältet Begäran anger du följande text för begäran:

VÄLJA

Dokument kvitto fakturanummer.

Dokumentkvitto Faktura.Datum

FRÅN

Document.ReceiptInvoice AS DocumentReceiptInvoice

VAR

Dokumentkvitto Invoice.Products.Product = &Produkt

I begäran använder vi parametern Artikel, som kommer att få en länk till den aktuella raden i artikellistan, som finns i formulärparametern FilterBy Item fakturalista. För att göra detta kommer vi att skriva kod i OnOpen-listans formulärhändelsehanterare för att ställa in värdet på parametern Product request:

&OnClient

Öppningsprocedur (misslyckande)

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

Slutprocedur

Här Lista.Alternativär en lista med parametrar för dynamisk listbegäran för attributet List. Värdet på produktparametern är lika med värdet på formulärparametern FilterByProduct.

Som ett resultat, med ett klick på en knapp Kvitto fakturor i form av en artikellista kommer vi att få en lista över endast de fakturor som innehåller den artikel som för närvarande är vald i artikellistan.

Ett demoexempel för det 3:e alternativet finns i katalogen 1CITS/EXE/FAQ/OpenFormWithSelection.dt. Exemplet utfördes på plattformsversion 8.2.9.356.




Topp