Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Hekuri
  • Pse stilimi i kushtëzuar mund të mos funksionojë në një formë të menaxhuar. Dizajni i kushtëzuar i formularëve të menaxhuar 1C 8.3 shembull i projektimit të kushtëzuar

Pse stilimi i kushtëzuar mund të mos funksionojë në një formë të menaxhuar. Dizajni i kushtëzuar i formularëve të menaxhuar 1C 8.3 shembull i projektimit të kushtëzuar

Stilimi i kushtëzuar i formave të menaxhuara.

Shumica e atyre që kanë punuar me sistemet e kontrollit të aksesit dhe duke krijuar raporte mbi sistemet e kontrollit të aksesit e dinë nga dora e parë për dizajnin e kushtëzuar. Ndryshimi i fontit, ngjyrës së qelizës ose paraqitjes së një fushe në varësi të vlerës në një fushë tjetër është tashmë mjaft e zakonshme.

Por më rrallë hasim dizajn të kushtëzuar të formave të kontrolluara. Edhe pse ky nuk është mekanizëm më pak i fuqishëm, funksional dhe i domosdoshëm.
Si eshte ai? Por gjithçka është e njëjtë. Bazuar në çdo kusht, ne mund të konfigurojmë pamjet ose vetitë e fushave të elementeve të formës tabelare dhe ato do të ndryshojnë menjëherë.

Unë jam duke folur për fushat dinamike të listës dhe fushat e tabelës. Këtu, nga kodi, ne mund të hyjmë në një kolonë të veçantë dhe të vendosim vetitë për të gjithë kolonën menjëherë, por nuk mund të vendosim vetitë e një fushe individuale.

Citim

E rëndësishme!!! Shumë njerëz luftojnë me këtë dhe humbasin kohën e tyre. Stili i kushtëzuar nuk funksionon për fushat e formës së rregullt (jo për fushat e tabelës).

Ku mund të përdoret kjo përveç fushave të ngjyrosjes. Epo, një shembull klasik është prezantimi i pamjeve në një seksion tabelor. Për kontabilitetin, mund të ketë tre prej tyre si standard. Dhe zakonisht ata janë të rreshtuar në një fushë, njëra poshtë tjetrës. Meqenëse çdo rresht mund të ketë llogarinë e vet, përbërja e analitikës mund të ndryshojë. Dhe në përgjithësi, nëse shfaqni 3 analitikë në çdo rresht, ajo merr shumë hapësirë. Pse ta bëjmë këtë nëse na lejohet të kemi një nënkonto diku, ose dy diku.

Vendosja e vetive të formës

Le të shohim shembullin e një seksioni tabele që krijuam në përpunim.

Le të krijojmë një përpunim ku do të shtojmë një pjesë tabelare me tre detaje Subconto, dhe gjithashtu do të shtojmë atributin Subconto Quantity, i cili do të tregojë numrin e subcontos në rresht.

Vendosja e pamjes së kushtëzuar të formularit gjendet në vetitë e formës në skedën "Dukja".

Tani detyra jonë është t'i tregojmë programit se nëse vlera në rreshtin e fushës Sasia e Subconto është 1, duhet të shfaqet vetëm Subconto1, me vlerë 2: Subconto1 dhe Subconto2, me vlerë 3: Subconto1, Subconto2. , Nënkonto3.

Për ta bërë këtë, përdorni formularin e cilësimeve të paraqitjes së kushtëzuar.

Në kolonën Fushat e formatuara, ne tregojmë fushat Subconto1, Subconto2, Subconto3. Meqenëse secila fushë do të ketë një dizajn të ndryshëm, ne do të krijojmë 3 rreshta.

Le të tregojmë se do të projektojmë vetinë e dukshmërisë.

Ne gjithashtu do të vendosim një kusht në të cilin dukshmëria do të fiket.

Le të shohim se çfarë ndodhi në ndërmarrje. Në të njëjtën kohë, ne do të shtojmë rreshta në pjesën tabelare dhe do të rregullojmë vlerat e numrit të nënkontos.

Siç mund ta shihni, numra të ndryshëm fushash shfaqen në rreshta të ndryshëm.

Vendosja me kod

Përveç cilësimit duke përdorur vetitë, ky cilësim mund të bëhet duke përdorur kodin e programit.
Nëse përdorni një konfigurim të ndërtuar në , do të duket kështu (kjo vlen për të gjitha standardet):

ElementUO = ConditionalDesign.Elements.Add();
DataCompositionClientServer.AddDesignField(ElementUO.Fields, "TabularPartSubconto2");

GeneralPurposeClientServer.AddLayoutElement(ElementUO.Selection,
"TabularPartQuantitySubconto", DataCompositionComparisonType.Less, 2);

ElementUO.Design.SetParameterValue("Dukshmëri", False);


Nëse BSP nuk përdoret, kodi do të jetë pak më i gjatë. Unë thjesht do të jap procedura standarde nga e njëjta BSP.

Funksioni AddDesignableField(CollectionofDesignableFields,FieldName) Eksporto

ElementField = Koleksioni i FormatedFields.Elements.Add();
ItemField.Field = NewDataCompositionField(Field Emri);

returnItemField;

Funksioni i Fundit


Funksioni AddLayoutElement(AddArea,
Vlera e emrit të fushës,
Lloji i krahasimit të vlerës,
Vlera RightValue = E Pacaktuar,
Përfaqësimi i vlerës = i papërcaktuar,
Përdorimi i vlerës = i papërcaktuar,
valueDisplayMode = E pacaktuar,
valueUserSettingsIdentifier = I Padefinuar) Eksporto

Element = AdditionArea.Elements.Add(Type("DataComposition Selection Element"));
Item.LeftValue = NewDataCompositionField(FieldName);
Element.ComparisonView = Tipi i Krahasimit;

Nëse DisplayMode = I Padefinuar Atëherë
Element.DisplayMode = ElementDisplayModeDataCompositionSettings.E padisponueshme;
Përndryshe
Element.DisplayMode = DisplayMode;
fundNëse;

Nëse RightValue<>E padefinuar Pastaj
Element.RightValue = RightValue;
fundNëse;

Nëse Përfaqësimi<>E padefinuar Pastaj
Artikulli.Pamje = Pamje;
fundNëse;

Nëse Përdorni<>E padefinuar Pastaj
Artikulli.Përdorimi = Përdorimi;
fundNëse;

// E rëndësishme: Vendosja e ID-së duhet të bëhet
// në fund të vendosjes së elementit, përndryshe ai do të kopjohet
// në cilësimet e përdoruesit janë plotësuar pjesërisht.
IfUserIdentifierSettings<>E padefinuar Pastaj
Element.UserSettingsIdentifier = UserSettingsIdentifier;
ElseIf Element.DisplayMode<>ItemDisplayModeDataLayoutSettings.E padisponueshme Pastaj
Item.UserSettingIdentifier = Emri i Fushës;
fundNëse;

Artikulli i Kthimit;

Në këtë botim, ne do të shikojmë një shembull të linjave ngjyrosëse të dokumenteve të vonuara në regjistrin e dokumenteve (lista dinamike) nga data aktuale dhe koha aktuale.

Detyra jonë është të ngjyrosim vijën rozë nëse data e synuar është më e vogël se data aktuale, duke marrë parasysh që data aktuale po ndryshon vazhdimisht. Kjo do të thotë, data aktuale duhet të lexohet në mënyrë dinamike dhe jo të përcaktohet me hapjen e parë.

Ne do të mësojmë se si, në mënyrë të kontrolluar:

Përdorni një mbajtës pritjeje;

Konfiguro në mënyrë programore pamjen e kushtëzuar të një liste dinamike

Le të themi se kemi një dokument "Smart Order" me atributin "Data e kontrollit" dhe llojin "Data" (përbërja e datës "Data dhe Ora"):

Dhe revista e dokumentit "SmartOrder" me kolonën "Data e kontrollit" që korrespondon me këtë detaj:

Detyra jonë është të ngjyrosim rreshtin rozë nëse data e synuar është më e vogël se data aktuale, duke marrë parasysh që data aktuale po ndryshon vazhdimisht.

Le të krijojmë një formë të menaxhuar:

Tani, kur krijojmë në server, ne do ta quajmë procedurën për ngjyrosjen e linjave "UpdatesDisplayOverdueOnServer". Dhe ne do ta quajmë këtë procedurë me një frekuencë të caktuar.

Ne kemi një formë liste, për shembull, të elementeve të planit të tipit karakteristik "Të drejtat e përdoruesit" në versionin 1.3 të konfigurimit "Manufacturing Enterprise Management".

Forma, siç mund ta shihni, është e menaxhueshme. ne duhet ta dizajnojmë listën në atë mënyrë që të gjitha rreshtat e grupeve të elementeve të theksohen me ngjyrë të gjelbër. Le të fillojmë!

Shembull

Elementet e formave të menaxhuara stilohen duke përdorur stilimin e formës së kushtëzuar:

Për të zgjidhur problemin tonë, le të shtojmë një element të kushtëzuar të projektimit me cilësimet e mëposhtme:


Kur hapni më pas formularin, rreshtat e grupit të planit të tipit karakteristik duhet të theksohen me të gjelbër. Por...kjo nuk ndodh!


Fakti është se lista e elementeve dhe grupeve të planit të llojeve karakteristike shfaqet në formular duke përdorur një objekt formulari me llojin "Lista Dinamike". Listat dinamike përfitojnë nga aftësitë e sistemit të përbërjes së të dhënave, duke përfshirë zgjedhjet dhe formatimin e kushtëzuar. Kjo e fundit përcakton modelin përfundimtar të listës, duke injoruar cilësimet e modelit të kushtëzuar të vetë formularit. Le të shtojmë cilësime të ngjashme të paraqitjes së kushtëzuar për listën dinamike.


Dallimi i vetëm është se ju duhet të shtoni të gjitha fushat e dukshme të listës në listën e fushave që do të formatohen për të cilat duhet të zbatohet dizajni i kushtëzuar.

konkluzioni

Kam dëgjuar shpesh se stilimi i kushtëzuar në format e menaxhuara nuk funksionon gjithmonë. Në fund, doli që thjesht po bëni cilësime për formularin, dhe jo për listën dinamike.

Shpresoj se ky artikull do t'i kursejë dikujt kohë kur zgjidh problemet me formatimin e kushtëzuar.

Artikujt më të mirë mbi këtë temë