ACS nuk është vetëm për raporte - zbatimi i përzgjedhjeve universale. Përdorimi i zgjedhjeve në SCD Si të bëni zgjedhje pa SDS

Për të shkruar përpunimin, programuesit shpesh duhej të përdornin pyetje për të marrë të dhëna dhe më pas për t'i përpunuar ato. Të dhënat, nga ana tjetër, janë marrë nga kërkesa. Epo, një kërkesë pa përzgjedhje ose filtër është e rrallë. Le të flasim për zgjedhjet në kërkesa të tilla, duke përdorur shembullin e kërkesës:

Për të organizuar zgjedhjen sipas palës për përdoruesin në një formë të rregullt, programuesi duhej të vendoste tre elementë në formular, i cili dukej diçka si kjo:

Sa përpjekje i duhet një programuesi për të përshkruar lloje të ndryshme krahasimesh (të barabarta, jo të barabarta, në një listë, në një grup...) dhe, bazuar në këto lloje krahasimesh, të përsosë kërkesën e tij përfundimtare për marrjen e të dhënave.

Le të shohim se si mund të bëhet kjo duke përdorur ACS. Në përpunimin tonë, le të krijojmë një Layout me llojin e Skemës së Përbërjes së të Dhënave dhe ta plotësojmë atë me kërkesën tonë:

Në skedën Cilësimet, ne do të shtojmë një grupim të ri pa detaje dhe, në shembullin tonë, fushën e llogarisë, pasi në fund do të marrim gjithçka në tabelën e vlerave:

Dhe në skedën Përzgjedhja, shtoni palën tjetër në përzgjedhje:

Tani le të fillojmë të krijojmë formularin. Le të shfaqim në vetë formularin e përpunimit Përzgjedhjen me të cilën do të punojë përdoruesi. Ne do të shfaqim një element të llojit të fushës së tabelës në formular dhe do t'i japim emrin Selection me llojin e të dhënave Composer.Settings.Selection:

Tani le të krijojmë mbajtës të ngjarjeve për formularin OnOpen dhe një mbajtës për të klikuar butonin Run, kodi paraqitet më poshtë:

Perem Layout; Procedura ButtonExecuteShtyp (Button) Rezultati.Clear(); LayoutLinker = newDataLayoutLayoutLinker; Layout Layout = Layout Composer.Execute(Layout, Composer.GetSettings(), Type("DataCompositionLayoutGeneratorForValueCollection")); CompositionProcessor = newDataCompositionProcessor; LayoutProcessor.Initialize(LayoutLayout); Procesori i daljes = Përpunuesi i ri i daljes së rezultatit të përbërjes së të dhënave në një koleksion vlerash; OutputProcessor.SetObject(Rezultati); OutputProcessor.Output(CompositionProcessor); Nëse FormElements.Result.Columns.Quantity() = 0 Pastaj FormElements.Result.CreateColumns(); fundNëse; EndProcedure ProcedureOnOpen() Layout = GetLayout("Layout"); SourceAvailableSettings = Burimi i riAvailableSettingsDataComposition(Layout); Linker.Initialize(SourceAvailableSettings); Linker.LoadSettings(Layout.DefaultSettings); Fundi i procedurës

Përpunimi është gati, pasi ta keni nisur atë, mund të shihni menjëherë në Përzgjedhjen tonë palën tjetër që është shfaqur në Përzgjedhjen tonë, nga e cila mund të zgjidhni çdo lloj krahasimi, si dhe të shtoni linja shtesë përzgjedhjeje duke përdorur detajet e drejtorisë së Kundërpalëve:

Kjo është e gjitha, shpresoj se ky artikull do t'ju ndihmojë të përmirësoni fleksibilitetin e përzgjedhjeve në përpunimin tuaj.

Kononov Sergej

Për çfarë mund të përdoret SKD?

Opinioni i krijuar është për qëllime raportimi.

Në fakt Aftësitë ACS shkojnë përtej krijimit të raporteve universale.

Dhe sot ne do të tregojmë se si duke përdorur sistemin e kontrollit të aksesit, përdoruesi do të jetë në gjendje të konfigurojë zgjedhjen fleksibël të të dhënave. Më tej, kjo përzgjedhje do të përdoret gjatë marrjes dhe përpunimit të të dhënave.

Për cilat detyra do të jetë e dobishme kjo?

Le të japim shembuj nga konfigurimet tipike:

  • Përpunimi "Ngarkimi i të dhënave në sit"
  • Formimi i një liste çmimesh
  • Ngarkimi i të dhënave në TSD (terminali i mbledhjes së të dhënave)
  • Segmentimi i produkteve, partnerët
  • Formimi i porosive (klientëve, furnitorëve) sipas nevojave
  • Planifikimi i riparimit në 1C:ERP.

Kjo do të thotë, mjeti është i dobishëm kudo që është e nevojshme t'i ofrojë përdoruesit opsione të gjera përzgjedhjeje.

Krijimi i një përzgjedhjeje të rastësishme në një formë të kontrolluar duke përdorur ACS

Mësimi përfshin punën me ndërtues i cilësimeve Skemat e paraqitjes së të dhënave:

  • Prodhimi i përzgjedhjes në formular
  • Lidhja e softuerit midis ndërtuesit të cilësimeve dhe diagramit të paraqitjes
  • Krijimi i zgjedhjeve të paracaktuara në sistemin e kontrollit të aksesit.

Marrja e të dhënave nga baza e të dhënave me filtrim sipas përzgjedhjes ACS

Videoja tregon se si mund të zgjidhni të dhënat duke përdorur përzgjedhjen e vendosur më parë në ndërtuesin e cilësimeve.

Përdoret një objekt "i frikshëm" - ProcessorOutputResultCompositionDataIntoValueCollection.

Në fakt, jo gjithçka është aq e ndërlikuar - ne e zgjidhim problemin në 8 minuta.

Ruajtja e zgjedhjeve SKD në bazën e informacionit

Në mësim do të shikojmë duke ruajtur cilësimet e ndërtuesit ACS duke përdorur Value Store.

Le të kuptojmë se si ta zgjidhim këtë problem në konfigurimin "1C: Manufacturing Enterprise Management 1.3".

Shijojeni shikimin! :)

Në përgjithësi, ACS ofron shumë mundësi.

Këtu janë disa "mashtrime" që nuk patëm kohë t'i përshkruanim në faqen e kursit.

Nëse keni nevojë për të mbledhur të dhëna nga burime të ndryshme, ka tre opsione.

Mund të përpiqeni të krijoni një pyetje "universale" për të gjitha të dhënat (e gjatë), mund të shfaqni të dhënat e disa pyetjeve në një lak (strukturë e ngurtë, jofleksibile) - ose thjesht mund të përdorni ACS dhe lidhja e grupeve të të dhënave në vend të një kërkese.

Në të njëjtën kohë, është e rëndësishme të merren rezultate të sakta - kjo ka veçoritë e saj nëse ka disa burime

Me ndihmën e SKD ju mund të thjesht merrni një fotografi të më të fundit për çdo datë në raport.

Ose, për qartësi, - merrni çmimin e produktit për çdo datë shitje.

Me ndihmën e ACS ju mund të organizoni duke shfaqur të gjitha datat për periudhën në raport, dhe jo vetëm ato për të cilat kishte të dhëna në raport (shtimi i datave pa programim, vetëm me aftësitë e sistemit të kontrollit të aksesit)

Duke përdorur ACS, ju mund të organizoni grupime të mbivendosura me shtimin e periudhave (vit/tremuaj/muaj, etj.)

Organizoni raportin sipas dëshirës, ​​për shembull, shfaqni kokën e kolonës vertikalisht dhe të dhënat në këtë kolonë horizontalisht.

Lejo përdoruesin të zgjedhë shpeshtësinë me të cilën të dhënat do të shfaqen në raport (sipas vitit, tremujorit, muajit) - vetëm sipas cilësimeve, pa modifikuar modulin e raportit.

Si të kombinohen disa kushte duke përdorur OSE në një raport? Ky opsion, për shembull, nuk është i disponueshëm në ndërtuesin e raporteve, por është i disponueshëm në ACS

Nëse shfaqni të dhëna përmbledhëse në formën e një grafiku, duhet të jeni në gjendje të kontrolloni me saktësi pamjen e saj: dukshmërinë e shënuesve për një seri, ngjyrat e alternuara të serive të grafikëve, ndarja e të dhënave të kaluara nga të dhënat e ardhshme në një grafik me një vijë vertikale. , etj.

Sigurisht, ka nuanca të cilave duhet t'i kushtohet vëmendje.

Gjatë krijimit të raportit, zhvilluesi korrigjoi tekstin e pyetjes, por kur përdor këtë pyetje në një raport në sistemin e kontrollit të aksesit, sistemi prodhon një rezultat të pasaktë.

Prandaj, është e rëndësishme të jeni në gjendje të merrni pyetjen që sistemi ekzekuton në të vërtetë për të marrë të dhëna nga baza e të dhënave dhe të korrigjoni një pyetje të tillë.

Kur shtohen detaje në një regjistrues dokumentesh në një raport, sistemi ndonjëherë prodhon bilancet e hapjes dhe mbylljes "të pasakta".

Prandaj, është e rëndësishme të konfiguroni saktë fushat në raport në sistemin e kontrollit të aksesit, në mënyrë që balancat të shfaqen saktë si me dhe pa detaje në dokument.

Rezultati i raportit mund të ndryshojë në varësi të vendit ku është konfiguruar zgjedhja sipas vlerës së burimit - në nivelin e raportit dhe në nivelin e një grupi individual, ju duhet ta monitoroni këtë.

Nëse dëshironi zotëroni ACS në mënyrë profesionale dhe çdo ditë aplikoni në punën tuaj, regjistrohu për kursin:

Mbështetje - 2 muaj. Fusha e kursit - 34 orë mësimore.

Mos i vononi studimet!

Zgjerimi i gjuhës së pyetjes për sistemin e përbërjes së të dhënave

Zgjerimi i gjuhës së pyetjes për sistemin e përbërjes së të dhënave kryhet duke përdorur udhëzime të veçanta sintaksore të mbyllura në kllapa kaçurrelë dhe të vendosura drejtpërdrejt në tekstin e pyetjes.

Elementet sintaksore të zgjerimit të gjuhës së pyetjeve të sistemit të përbërjes së të dhënave

ZGJIDHNI

Kjo fjali përshkruan fushat që përdoruesi do të jetë në gjendje të zgjedhë për dalje. Pas kësaj fjale kyçe, emërtimet e fushave nga lista kryesore e përzgjedhjes së pyetjeve që do të jenë të disponueshme për konfigurim renditen, të ndara me presje.

Për shembull:

(ZGJIDH artikullin, Magazina)

Pas pseudonimit të fushës mund të ketë një kombinim të karaktereve “.*”, që tregon mundësinë e përdorimit të fushave fëmijë nga kjo fushë.

Për shembull, shënimi Nomenklature.* tregon mundësinë e përdorimit të fushave fëmijë të fushës "Nomenklatura" (për shembull, fusha "Nomenklature.Code"). Elementi SELECT mund të shfaqet vetëm në pyetjen e parë të bashkimit.

KU

Përshkruhen fushat në të cilat përdoruesi mund të aplikojë përzgjedhjen. Ky propozim përdor fushat e tabelës. Përdorimi i pseudonimeve të fushave të listës së përzgjedhjes nuk lejohet. Çdo pjesë e bashkimit mund të përmbajë elementin e vet WHERE.

(WHERE Nomenklatura.*, Magazina)

Një shembull i thjeshtë

Është e nevojshme të merrni shitje për periudhën + të shfaqni të gjithë artikullin, pavarësisht nëse ka pasur shitje apo jo. Kjo do të thotë, ju duhet të zgjidhni të dhënat nga tabela e qarkullimit të regjistrit të shitjeve, të dhëna nga drejtoria e nomenklaturës. Le të anashkalojmë pyetjen se pse na duhet gjithë nomenklaturë.

Për të zgjidhur problemin, mund të krijoni një pyetje që lidh artikullin dhe tabelën e qarkullimit të shitjeve me një bashkim majtas, si rezultat, për artikullin që nuk u shit në periudhën e zgjedhur, do të marrim vlerat e fushës Kundërpartia, Marrëveshja, sasi, Shuma= Nul. Kjo kërkesë:

SELECT Nomenklatura e Referencës.Lidhja AS Nomenklatura, ShitjetQurtimi.Kontraparti, ShitjaTurnimi.Marrëveshja e Kundërpartisë,ShitjetQurtimi.SasiaQurtimi AS Sasia,ShitjaQurtimi.KostoTurnover AS Kosto NGA Referenca.Nomenklatura ASNJËRREF AS SalesTurnover PO SprNomenclature.Link = SalesTurnover.Nomenklature

Ja rezultati:

Kundërpartia Marrëveshja Nomenklatura sasi Shuma
i pavlefshëm i pavlefshëm _Test1 i pavlefshëm i pavlefshëm
LLC "Brirët dhe thundrat" Marrëveshja 1 Pantofla 10 1200
"Gazprom" Kontratë e bukur Çizme 5 13000
i pavlefshëm i pavlefshëm Galoshët i pavlefshëm i pavlefshëm
i pavlefshëm i pavlefshëm Pllakat i pavlefshëm i pavlefshëm

Në këtë shembull, nuk kishte shitje të artikujve: "Mbi këpucët" dhe "Pantofla"

Dhe gjithçka do të ishte mirë, nëse grupojmë kampionin sipas palës tjetër, atëherë të gjithë artikujt e pashitur do të bien në një grup të veçantë, ku Counterparty = Null, por klienti dëshiron të ketë një përzgjedhje të rastësishme në raport nga fusha e palës tjetër (natyrisht, kjo nënkupton palën tjetër nga regjistri i shitjeve). Cfare duhet te bej? Në fund të fundit, në fakt, ne vetëm duhet të filtrojmë tabelën Shitjet. Nëse përdorim plotësimin automatik në konstruktorin ACS, atëherë fushat e përzgjedhjes në dispozicion do të përfshijnë fushën Kundërpartia, duket se gjithçka është në rregull, por gjatë ekzekutimit të një raporti me përzgjedhje nga pala tjetër, do të humbasim të gjitha regjistrimet nga lidhja me artikullin. Për shembull, le të vendosim përzgjedhjen: Kundërpartia = LLC "Brirë dhe thundra". Rezultati do të duket si ky:

Nuk është aspak ajo që na nevojitet, apo jo?

Për të zgjidhur problemin, natyrisht, mund të shtoni një parametër në pyetje, për shembull, në parametrat e një tabele virtuale Qarkullimi i shitjeve, por në të njëjtën kohë humbet fleksibiliteti i vendosjes së llojit të krahasimit.

Ekziston një zgjidhje: për këtë në ndërtues pyetjesh në skedën Përbërja e të dhënave => Tabelat shtoni një fushë kushti në kushtet e tabelës virtuale Qarkullimi i shitjeve dhe ndryshoni pseudonimin e tij në Zgjedhja e kundërpartisë

Për të mos ngatërruar përdoruesin me fushat e përzgjedhjes, ne do të çaktivizojmë fushën e kushtit Kundërpartia dhe ndryshoni titullin e fushës Zgjedhja e kundërpartisë


Si rezultat i ekzekutimit të kësaj skeme me përzgjedhjen e aktivizuar nga fusha e palës tjetër, pyetja që rezulton do të marrë formën:

SELECT SprNomenclature.Link AS Nomenklature, SalesTurnover.Counterparty AS Counterparty, SalesTurnover.Marrëveshja e kundërpalës AS Marrëveshje e kundërpartit, ShitjaTurnover.SasiaTurnover AS >Sasia, SalesQurnover.CostATIONTurnover.CostATIONTurnoverTunrENT Kontrata kundërpalës një Prezantim, PRESENTATIONLINK(SalesTurnover.Counterparty ) AS Kundërpartia Prezantimi, SprNomenklatura.Prezantimi AS NomenklaturaPrezantimi FROM Directory.Nomenklatura AS SprNomenklatura Sa LIDHJA E LEFT LIDHJE Regjistro akumulimet.Shitjet.Qarkullimi(&P , , , Kundërpartia = &P3NomenkrynT.Nr.Nr. klature

Dhe në përputhje me rrethanat rezultati:

Kundërpartia Marrëveshja Nomenklatura sasi Shuma
i pavlefshëm i pavlefshëm _Test1 i pavlefshëm i pavlefshëm
LLC "Brirët dhe thundrat" Marrëveshja 1 Pantofla 10 1200
i pavlefshëm i pavlefshëm Çizme i pavlefshëm i pavlefshëm
i pavlefshëm i pavlefshëm Galoshët i pavlefshëm i pavlefshëm
i pavlefshëm i pavlefshëm Pllakat i pavlefshëm i pavlefshëm

Test1 është një grup në drejtorinë e Nomenklaturës në të cilin ndodhet gjithçka

Publikimit i është bashkangjitur skema XML e raportit të përdorur në publikim. Kam krijuar qarkun në Automatizimin e Integruar, por mendoj se gjithçka do të funksionojë mirë si në UPP ashtu edhe në UT 10

Duke përmbledhur

Ky shembull tregon se si të krijoni cilësimet tuaja të përzgjedhjes në sistemin e kontrollit të hyrjes dhe çaktivizoni ato të krijuara automatikisht nëse jeni duke projektuar një qark me flamurin të aktivizuar Plotësimi automatik.

Nëse keni përvojë të mjaftueshme për të krijuar qarqe pa përdorur Plotësimi automatik- atëherë kjo këshillë nuk ka kuptim.

Softueri i përdorur

  • Programi i pamjes së ekranitSnimOK!
  • Redaktori i skedarëve XML