Internet ablakok Android

1s 8.3 példa a feltételes tervezésre. Miért nem működik a feltételes stílus a kezelt űrlapon?

A kezelt űrlapok feltételes stílusa.

Azok többsége, akik már dolgoztak az ACS-szel és készítettek jelentéseket az ACS-ről, első kézből ismerik a feltételes formázást. Egy mező betűtípusának, cellaszínének vagy megjelenítésének megváltoztatása egy másik mező értéke alapján gyakori dolog.

De a kezelt űrlapok feltételes kialakításával ritkábban találkozunk. Bár ez nem kevésbé erős, funkcionális és szükséges mechanizmus.
Mit képvisel. És minden ugyanaz. Bármilyen feltétellel beállíthatjuk a táblázatos űrlapelemek mezőinek nézeteit vagy tulajdonságait, és azok menet közben változnak.

A dinamikus listamezőkről és a táblázatmezőkről beszélek. Itt a kódból hivatkozhatunk egy külön oszlopra, és egyszerre állíthatjuk be a teljes oszlop tulajdonságait, de külön mező tulajdonságait nem állíthatjuk be.

Idézet

Fontos!!! Sokan tapasztalják ezt és vesztegetik az idejüket. A feltételes stílus nem működik normál űrlapmezők esetén (nem táblázat).

Ahol a színező mezők mellett használható. Nos, egy klasszikus példa a nézetek megjelenítése a táblázatos részben. A könyvelésnél alapból három lehet. És általában az egyik mezőn sorakoznak, egyik a másik alatt. Mivel minden sornak saját fiókja lehet, az elemző összetétele eltérő lehet. És általában, ha minden sorban 3 elemzőt jelenít meg, akkor sok helyet foglal el. És miért tegyük ezt, ha feltételezzük, hogy valahol egy alkonto elég, valahol kettő.

Az űrlap tulajdonságainak beállítása

Tekintsük a feldolgozás során létrehozott táblázatos rész példáját.

Hozzon létre egy feldolgozást, ahol hozzáadjuk táblázatos rész három Subconto attribútummal, és adja hozzá a Subconto Quantity attribútumot is, amely jelzi a sorban lévő alkontonok számát.

Az űrlap feltételes megjelenését a Megjelenés lap űrlap tulajdonságai között állíthatja be.

Most az a feladatunk, hogy megmondjuk a programnak, hogy ha a mezősorban szereplő érték Subconto Quantity 1, akkor csak a Subconto1 kell megjelennie, ha az érték 2: Subconto1 és Subconto2, ha az érték 3: Subconto1, Subconto2, Subconto3.

Ehhez használja a feltételes formázás beállítására szolgáló űrlapot.

A Kitöltött mezők oszlopban adja meg a Subconto1, Subconto2, Subconto3 mezőket. Mivel minden mezőhöz más-más dizájn lesz, ezért 3 sort indítunk.

Jelezzük, hogy a láthatósági ingatlant mi fogjuk kialakítani.

És állítsa be azt a feltételt is, amely mellett a láthatóság kikapcsol.

Lássuk, mi történt a vállalkozásban. Ugyanakkor sorokat adunk a táblázatos részhez, és elrendezzük az értékeket az alszámlálások számához.

Mint látható, a különböző sorok eltérő számú mezőt jelenítenek meg.

Beállítás kóddal

A tulajdonságokon keresztül történő testreszabás mellett ezt a beállítást programkóddal lehet megtenni.
Ha a -ra épített konfigurációt használ, az így fog kinézni (ez minden tipikusra vonatkozik):

ElementUO = Feltételes Tervezés.Elemek.Hozzáadás();
Data CompositionClientServer.AddFieldField(ElementUO.Fields, "TablePartSubconto2");

General PurposeClientServer.AddLayoutItem(ElementUO.Selection,
"TableSectionSubconto Quantity", DataCompositionComparisonType.Less, 2);

ElementUO.Design.SetParameterValue("Láthatóság", False);


Ha nem használ BSP-t, a kód valamivel hosszabb lesz. Egyszerűen megadom a tipikus eljárásokat ugyanattól a BSP-től.

Funkció AddScheduledField(ClosedFieldsCollection,FieldName) Export

ItemField = GyűjteményDíszítendő mezők.Items.Add();
ElementField.Field = New DataCompositionField(FieldName);

ReturnFieldItem;

EndFunctions


Függvény AddCompositionItem(AddArea,
ValueFieldName,
Value KindComparison,
érték RightValue = meghatározatlan,
Értékábrázolás = meghatározatlan,
Értékhasználat = meghatározatlan,
valueDisplayMode = Nincs meghatározva,
valueCustomSettingId = Undefined) Exportálás

Element = Terület hozzáadása.Elements.Add(Type("AdatösszetételKiválasztási elem"));
Element.LeftValue = New DataComposition Field(FieldName);
Element.ComparisonType = ComparisonType;

Ha DisplayMode = Undefined Akkor
Element.DisplayMode = ElementDisplayModeDataCompositionSettings.Unavailable;
Másképp
Element.DisplayMode = DisplayMode;
EndIf;

Ha a RightValue<>Undefined Akkor
Element.RightValue = RightValue;
EndIf;

Ha Képviselet<>Undefined Akkor
Element.View = Nézet;
EndIf;

Ha Használ<>Undefined Akkor
Element.Usage = Használat;
EndIf;

// Fontos: Az azonosító beállítást meg kell tenni
// az elembeállítás végén, ellenkező esetben a rendszer átmásolja
// ban ben felhasználói beállítások részben kitöltve.
Ha a CustomSettingId<>Undefined Akkor
Element.CustomSettingId = CustomSettingId;
ElseIf Element.DisplayMode<>ElementDisplayModeDataCompositionSettings.Unavailable Akkor
Element.CustomSettingId = Mezőnév;
EndIf;

Áru visszaküldés;

Ebben a kiadványban egy példát veszünk figyelembe a dokumentumnaplóban (dinamikus lista) lévő késedelmes dokumentumok vonalainak színezésére az aktuális dátumtól és időponttól.

Feladatunk, hogy ha a Határidő kisebb, mint az Aktuális dátum, akkor a vonalat rózsaszínre színezzük, figyelembe véve, hogy az aktuális dátum folyamatosan változik. Vagyis az aktuális dátumot dinamikusan kell olvasni, és nem az első megnyitáskor kell meghatározni.

Megtanuljuk, hogyan kell kezelt formában:

Használjon várakozási kezelőt;

Konfigurálás programozottan feltételes tervezés dinamikus lista

Tegyük fel, hogy van egy "Intelligens rendelés" dokumentumunk "Határidő" attribútummal és "Dátum" típussal (a dátum összetétele "Dátum és idő"):

És a „SmartOrder” dokumentumnapló az ehhez az attribútumhoz tartozó „Határidő” oszloppal:

Feladatunk, hogy ha a Határidő kisebb, mint az Aktuális dátum, akkor a vonalat rózsaszínre színezzük, figyelembe véve, hogy az aktuális dátum folyamatosan változik.

Hozzunk létre egy kezelt űrlapot:

Most a szerveren történő létrehozáskor a sorok színezésére szolgáló eljárást "UpdatesDisplayDelayOnServer"-nek nevezzük. És ezt az eljárást adott gyakorisággal fogjuk hívni.

Van valamilyen lista, például a "Felhasználói jogok" jellemző típusú tervelemek a "Manufacturing Enterprise Management" 1.3-as verziójában.

A forma, amint látja, kezelhető. A listát úgy kell formáznunk, hogy az elemcsoportok összes sora zölddel legyen kiemelve. Lássunk neki!

Példa

A vezérelt űrlapelemek stílusa feltételes űrlapstílussal történik:

Problémánk megoldásához adjunk hozzá egy feltételes tervezési elemet a következő beállításokkal:


Az űrlap következő megnyitásakor a jellemzőtípusok tervének csoportsorait zölddel kell kiemelni. De... ez nem történik meg!


A helyzet az, hogy a jellemzőtípusok tervének elemeinek és csoportjainak listája megjelenik az űrlapon egy "Dinamikus lista" típusú űrlapobjektum segítségével. Dinamikus listák használja az adatösszeállítási rendszer lehetőségeit, beleértve a kijelöléseket és a feltételes formázást. Ez utóbbi csak a lista végső kialakítását határozza meg, figyelmen kívül hagyva magának az űrlapnak a feltételes kialakításának beállításait. Adjunk hozzá hasonló feltételes tervezési beállításokat a dinamikus listához.


Az egyetlen különbség az, hogy a stílusozandó mezők listájához hozzá kell adni a lista összes látható mezőjét, amelyre feltételes stílust kell alkalmazni.

Kimenet

Gyakran hallottam, hogy a feltételes stílus a kezelt űrlapokon nem mindig működik. Ennek eredményeként kiderült, hogy Ön csak az űrlaphoz ad meg beállításokat, nem pedig a dinamikus listához.

Remélem, hogy a cikk időt takarít meg valakinek a feltételes formázással kapcsolatos problémák megoldása során.