Atlases izmantošana SCD. Atlases izmantošana DCS Datu kompozīcijas sistēmas vaicājumu valodas paplašinājuma sintaktiskajiem elementiem

Vaicājuma valodas paplašinājums datu veidošanas sistēmai

Vaicājumu valodas paplašināšana datu kompozīcijas sistēmai tiek veikta, izmantojot īpašas sintaktiskās instrukcijas, kas ievietotas krokainajās iekavās un ievietotas tieši vaicājuma tekstā.

Datu kompozīcijas sistēmas vaicājumu valodas paplašinājuma sintaktiskie elementi

IZVĒLIES

Šajā teikumā ir aprakstīti lauki, kurus lietotājs varēs atlasīt izvadei. Pēc šī atslēgvārda tiek uzskaitīti galvenā vaicājumu atlases saraksta lauku aizstājvārdi, kas būs pieejami konfigurēšanai, atdalot tos ar komatiem.

Piemēram:

(ATLASĪT vienumu, noliktavu)

Aiz lauka aizstājvārda var būt rakstzīmju kombinācija “.*”, kas norāda uz iespēju izmantot šī lauka pakārtotos laukus.

Piemēram, ieraksts Nomenklatūra.* norāda uz iespēju izmantot lauka “Nomenklatūra” pakārtotos laukus (piemēram, lauku “Nomenklatūra.Kods”). Elements SELECT var parādīties tikai pirmajā savienojuma vaicājumā.

KUR

Ir aprakstīti lauki, kuros lietotājs var piemērot atlasi. Šajā priekšlikumā tiek izmantoti tabulas lauki. Atlases saraksta lauku aizstājvārdu izmantošana nav atļauta. Katra savienības daļa var saturēt savu WHERE elementu.

(KUR Nomenklatūra.*, Noliktava)

Vienkāršs piemērs

Vajag dabūt izpārdošanu par periodu + atrādīt visu preci neatkarīgi no tā, bija vai nebija izpārdošanas. Tas ir, jums ir jāatlasa dati no Pārdošanas reģistra apgrozījuma tabulas, dati no nomenklatūras direktorija. Izlaidīsim jautājumu par to, kāpēc mums ir vajadzīga visa nomenklatūra.

Problēmas risināšanai var izveidot vaicājumu, kas savieno preci un Pārdošanas apgrozījuma tabulu ar kreiso savienojumu, kā rezultātā precei, kas netika pārdota izvēlētajā periodā, mēs iegūsim lauku vērtības Darījuma partneris, vienošanās, Daudzums, Summa= Null. Šis pieprasījums:

SELECT ReferenceNomenclature.Link AS Nomenclature, SalesApgrozījums.Darījuma partneris, PārdošanasApgrozījums.Darījuma partnera līgums, PārdošanasApgrozījums.DaudzumsApgrozījums AS Daudzums, PārdošanasApgrozījums.IzmaksasApgrozījums AS Izmaksas NO Atsauces.Nomenklatūra AS AtsaucesNomenklatūra uz PārdošanasNomenklatūra jūs esat AAtsaucesNomenklatūra KREISĀS SAISTĪBAS. menklatūra.Saite = PārdošanaApgrozījums. Nomenklatūra

Lūk, rezultāts:

Darījuma partneris vienošanās Nomenklatūra Daudzums Summa
null null _Pārbaude1 null null
SIA "Ragi un nagi" Līgums1 Čības 10 1200
"Gazprom" Foršs līgums Zābaki 5 13000
null null Galoshes null null
null null Šīferis null null

Šajā piemērā netika pārdotas šādas preces: “Apakšapavi” un “Čības”.

Un viss būtu kārtībā, ja sagrupētu izlasi pēc darījuma partnera, tad visas nepārdotās preces nonāks atsevišķā grupā, kur Darījuma partneris = Null, bet klients vēlas, lai pārskatā būtu izlases veida atlase pēc darījuma partnera lauka (protams, ka šis nozīmē darījumu partneri no Pārdošanas reģistra). Ko man darīt? Galu galā mums ir tikai jāfiltrē tabula Pārdošana. Ja ACS konstruktorā izmantojam automātisko pabeigšanu, pieejamajos atlases laukos tiks iekļauts lauks Darījuma partneris, šķiet, ka viss ir kārtībā, bet, izpildot atskaiti ar darījuma partnera atlasi, mēs zaudēsim visus ierakstus no savienojuma ar preci. Piemēram, iestatīsim atlasi: Darījuma partneris = SIA "Ragi un nagi". Rezultāts izskatīsies šādi:

Nepavisam nav tas, kas mums vajadzīgs, vai ne?

Lai atrisinātu problēmu, jūs, protams, varat pievienot parametru vaicājumam, piemēram, virtuālās tabulas parametriem Pārdošanas Apgrozījums, bet tajā pašā laikā tiek zaudēta elastība, nosakot salīdzināšanas veidu.

Ir risinājums: šim nolūkam vaicājumu veidotājs cilnē Datu sastāvs => Tabulas pievienojiet nosacījumu lauku virtuālās tabulas nosacījumiem Pārdošanas Apgrozījums un nomainiet viņa segvārdu uz Darījuma partnera izvēle

Lai nemulsinātu lietotāju ar atlases laukiem, nosacījuma lauku atslēgsim Darījuma partneris un mainiet lauka nosaukumu Darījuma partnera izvēle


Šīs shēmas izpildes rezultātā ar atlasi, kas iespējota darījuma partnera laukā, iegūtais vaicājums būs šāds:

SELECT Atsauces nomenklatūra.Saite AS Nomenklatūra, PārdošanasApgrozījums.Darījuma partneris AS Darījuma partneris, PārdošanasApgrozījums.Darījuma partnera līgums AS Darījuma partnera līgums, PārdošanasApgrozījums.DaudzumsApgrozījums AS >Daudzums, PārdošanasApgrozījums.IzmaksasApgrozījums AS Izmaksas, Pārdošanas Apgrozījums.LīgumsPartirdzniecības daļā. ENTATIONLINK (Pārdošanas apgrozījums. Darījuma partneris) AS Darījuma partnerisIevads, SprNomenklatūra.Presentation AS NomenclaturePresentation NO Directory.Nomenclature AS SprNomenclature LEFT CONNECTION Reģistrēties Uzkrājumi.Pārdošana.Apgrozījums(&P , , , Counterparty = &P3 ) ASY SprNomenclatureNr.

Un attiecīgi rezultāts:

Darījuma partneris vienošanās Nomenklatūra Daudzums Summa
null null _Pārbaude1 null null
SIA "Ragi un nagi" Līgums1 Čības 10 1200
null null Zābaki null null
null null Galoshes null null
null null Šīferis null null

Test1 ir grupa nomenklatūras direktorijā, kurā atrodas viss

Publikācijai pievienota publikācijā izmantotā atskaites XML shēma. Es izveidoju shēmu integrētajā automatizācijā, bet es domāju, ka viss darbosies labi gan UPP, gan UT 10

Apkopojot

Šajā piemērā parādīts, kā izveidot savus atlases iestatījumus piekļuves kontroles sistēmā un atspējot automātiski izveidotos iestatījumus, ja plānojat ķēdi ar iespējotu karogu Automātiskā aizpilde.

Ja jums ir pietiekami daudz pieredzes, lai izveidotu shēmas, neizmantojot Automātiskā aizpilde- tad šim ieteikumam nav jēgas.

Izmantotā programmatūra

  • Ekrānuzņēmumu programma SnimOK!
  • XML failu redaktors

Uzmanību! Šī ir nodarbības ievada versija, kuras materiāli var būt nepilnīgi.

Piesakieties vietnē kā students

Piesakieties kā students, lai piekļūtu skolas materiāliem

Datu kompozīcijas sistēma 1C 8.3 iesācējiem: datu kopu savienošana

  • Uzrakstiet pārskatu, kurā parādīti klienti un viņu iecienītākie produkti. Katram klientam ir iecienītākā krāsa, un katram produktam ir sava krāsa - pamatojoties uz šīm krāsām, jums ir jānosaka produkta “mīļākā”. Piemēram, ja Andreja mīļākā krāsa ir sarkana, tad viens no viņa iecienītākajiem ēdieniem būs tomāti (tie ir sarkani).
  • Lietojiet pārskatā divas datu kopas. Pirmā kopa ir dati no direktoriju tabulas "Klienti". Otrais ir dati no direktoriju tabulas “Pārtika”.
  • Īstenot savienojums starp šīm divām kopām, lai pārskatā būtu tikai katra klienta iecienītākie produkti.

Izveidojiet jaunu pārskatu

Konfiguratorā atveriet datu bāzi "Gastronom" un galvenajā izvēlnē izveidojiet jaunu pārskatu:

Dokumenta veids - "Ārējais pārskats":

Jaunas atskaites formā norādiet nosaukumu “6. nodarbība” un noklikšķiniet uz pogas “Atvērt datu sastāva diagrammu”:

Atstājiet noklusējuma shēmas nosaukumu:

Pirmās datu kopas pievienošana

Atvērtajā diagrammā dodieties uz cilni “Datu kopas” un atlasiet “Pievienot datu kopu — vaicājums”, izmantojot zaļo pluszīmi:

Zvaniet pieprasījuma konstruktoram:

Mēs norādām tabulu "Klienti" un laukus, kas jāiegūst no pieprasījuma:

Otrās datu kopas pievienošana

Pievienojiet otru datu kopu:

Atlasiet to (DataSet2) un vēlreiz izsauciet vaicājuma konstruktoru:

Mēs norādām direktorijas "Pārtika" tabulu un laukus, kas jāiegūst no pieprasījuma:

Iegūtais pieprasījuma teksts bija:

Lūdzu, ņemiet vērā, ka pašlaik pārskatā ir divas datu kopas: Data Set1 un Data Set2. Katram ir savs pieprasījuma teksts un dati.

Padarīt nosaukumus aprakstošākus

Skaidrības labad pārdēvēsim DataSet1 par Klienti un DataSet2 par Food.

Dariet to, veicot dubultklikšķi uz katras kopas:

Mēs varam savā pārskatā izmantot datus no katras kopas. Mēs piekļūsim šiem datiem, izmantojot laukus.

Pašlaik komplektā “Klienti” ir šādi lauki: “Vārds” un “Mīļākā krāsa”, bet komplektā “Ēdiens” ir: “Vārds” un “Krāsa”.

Mēs redzam, ka nosaukumi pārklājas, un mēs varam viegli sajaukt. Tāpēc mainīsim lauku nosaukumus, lai tie būtu aprakstošāki.

Atlasiet kopu “Klienti” un mainiet lauku nosaukumus šādi:

Pēc tam atlasiet kopu “Ēdiens” un mainiet lauku nosaukumus šādi:

Iestatījumu konstruktora izsaukšana

Visbeidzot, dodieties uz cilni “Iestatījumi” un noklikšķiniet uz burvju nūjiņas, lai atvērtu iestatījumu noformētāju:

Pārskata veids - "Saraksts...":

Atlasiet pārskata laukus no abām kopām:

Vai redzat, kāpēc bija tik svarīgi mainīt lauku nosaukumus? Datu kompozīcijas iestatījumu posmā mēs neredzam, no kurām kopām ir šie lauki. Mēs redzam tikai viņu vārdus.

Pārskata pārbaude

Mēs saglabājam pārskatu un ģenerējam to lietotāja režīmā:

Jā. Labi, bet ne īsti. Ir notikusi tā sauktā divu kopu savstarpējā savienošana (jums tas ir ļoti labi jāzina no savienojumiem vaicājumos, kurus mēs pētījām iepriekšējos moduļos). Katram ierakstam no tabulas Klienti ir atbilstošs ieraksts no tabulas Pārtika.

Bet no visiem šiem ierakstiem ir jāatstāj tikai tie, kuru lauks “Customer’s FavoriteColor” ir vienāds ar lauku “FoodColor”:

Mēs savienojam divas datu kopas

Lai to izdarītu, mēs savienosim divas datu kopas (Klienti un Pārtika), izmantojot laukus Klienta iecienītākā krāsa un FoodColor.

Dodieties uz cilni “Datu kopas saites” un noklikšķiniet uz pluszīmes pogas, lai pievienotu jaunu saiti:

Mēs konfigurējam parametrus, kā parādīts attēlā:

Es sniegšu paskaidrojumu.

Komunikācijas avots un saņēmējs. Nu šeit viss ir skaidrs. Mēs norādām pirmo datu kopu (Klienti) un otro datu kopu (Ēdiens). Īpašu uzmanību vēlos vērst uz to, ka komunikācija tiks veikta pēc principa ārējais kreisais savienojums(mēs to apskatījām iepriekšējos moduļos pieprasījumu tēmā). Pamatojoties uz to, jums jāizvēlas, kurš komplekts būs avots un kurš uztvērējs.

Izteiksmes avots.Šeit mēs norādām izteiksmi vai vienkārši lauku no avota datu kopas (mēs norādījām lauku ClientFavoriteColor no šeit iestatītās Klienti).

Uztvērēja izteiksme.Šeit mēs norādām izteiksmi vai vienkārši lauku no uztvērēja datu kopas (šeit mēs norādījām ColorFood lauku no pārtikas kopas).

Tādējādi šis savienojums no iepriekšējā saraksta atstās tikai tās rindas, kurām Klienta lauks FavoriteColor ir vienāds ar lauku FoodColor.

Saglabāsim pārskatu un palaidīsim to lietotāja režīmā:

Lieliski!

Es sniegšu paskaidrojumu par lauku " Komunikācijas stāvoklis", par ko iesācēju programmētāji tik bieži sit šķēpus.

Savienojuma nosacījums ir palīglauks. Tur var rakstīt izteicienus ietverot laukus tikai no saites avotā norādītās datu kopas.

Šajā gadījumā visām rindām no saites avota šī izteiksme (saites nosacījums) tiks pārbaudīta pirms saites izveides. Un, ja šī izteiksme ir TRUE, tad tiks mēģināts izveidot saites starp šo rindu un rindām no saites uztvērēja. Ja izteiksme ir FALSE, tad šādi mēģinājumi netiks veikti.

Piesakieties vietnē kā students

Datu kompozīcijas sistēma 1C 8.3 iesācējiem: pirmais ziņojums par SKD

Ja neesat izlasījis šī moduļa ievadu, lūdzu, izlasiet to: .

Lai pabeigtu nodarbības, kas jums būs nepieciešamas 1C 8.3 (ne zemāks 8.3.13.1644 ) .

Ja jums jau ir instalēta 1C versija 8.3, izmantojiet to. Ja nē, lejupielādējiet un instalējiet izglītojošo versiju, ko 1C ražo īpaši izglītojošiem nolūkiem: .

Darbvirsmā jāparādās šādai saīsnei:

Visām šīs sērijas nodarbībām izmantosim manis sagatavoto Gastronom datubāzi. Tas pilnībā sakrīt ar bāzi, ko izmantojām skolas moduļos, pētot vaicājumus. Tāpēc es sagaidu, ka esat iepazinies ar tās uzziņu grāmatām un dokumentiem.

Ja to izdzēsāt, lejupielādējiet to vēlreiz, izmantojot tālāk norādīto, izpakojiet to un pievienojiet datu bāzu sarakstam.

Visbeidzot, darbgalds ir iestatīts, un tagad mēs kopā izveidosim savu pirmo pārskatu, izmantojot datu kompozīcijas sistēmu. Būs ļoti vienkārši demonstrēt datu kompozīcijas sistēmas vispārējās iespējas (saīsināti SKD).

Mērķa izvirzīšana

Šīs nodarbības mērķis- izveidot pārskatu, kas lietotāja režīmā parāda klientu sarakstu ar šādiem laukiem:

  • Vārds
  • Stāvs
  • Klientu iecienītākā krāsa.

Ziņojumam jābūt ārējam. Tas nozīmē, ka tas tiks izveidots un konfigurēts konfiguratorā un pēc tam saglabāts kā atsevišķs (ārējs) fails datorā.

Lai izveidotu šādu pārskatu 1C, lietotājam būs jāpalaiž datu bāze lietotāja režīmā, jāatver šis fails un jānoklikšķina uz pogas “Ģenerēt”.

Aiziet!

Pārskata izveide

Mēs palaižam Gastronom datu bāzes konfiguratoru:

Galvenajā izvēlnē atlasiet "Fails" -> "Jauns...":

Izvēlieties "Ārējais ziņojums":

Datu izkārtojuma diagrammas izveide atskaitē

Tiek atvērts ārējā pārskata izveides logs. Nosaukumam ievadiet: " 1. nodarbība"un pēc tam nospiediet pogu " Atvērt datu kompozīcijas diagrammu":

Shēmas izveides dizainers ir sācies. Mēs piekrītam noklusējuma nosaukumam " Galvenā datu izkārtojuma shēma"un nospiediet pogu" Gatavs":

Ir atvērts galvenais darba logs ar daudzām cilnēm un laukiem, kuros mēs konfigurēsim savu datu izkārtojuma shēmu.

Nav jābaidās - šeit ir patiešām daudz iespēju, taču mums tās visas nav vajadzīgas. It īpaši pirmajā nodarbībā.

Tagad mēs esam pie grāmatzīmes " Datu kopas— Mēs tur paliksim.

Pieprasījumu rakstām caur konstruktoru

Datu kompozīcijas sistēma (saīsināti kā DCS) mums to pieprasa dati, ko tas parādīs lietotājam.

Vieglākais veids - uzrakstiet pieprasījumu uz bāzi. Skolā mēs mācījāmies rakstīt un saprast pieprasījumus - tāpēc es sagaidu, ka jums ir atbilstošas ​​prasmes.

Klikšķiniet uz zaļš plus zīme un nolaižamajā sarakstā atlasiet vienumu " Pievienot datu kopu — vaicājums":

Mūsu uzdevums ir šajā laukā ierakstīt pieprasījuma tekstu. Vai esat jau aizmirsis, kā to izdarīt?

Es jums došu mājienu:

Šajā vaicājumā esam atlasījuši trīs laukus (" Vārds", "Stāvs" Un " Mīļākā krāsa") no tabulas" Katalogs.Klienti".

Bet nesteidzieties rakstīt šo tekstu laukā “Pieprasījums” manuāli.

Tagad mēs izveidosim to pašu pieprasījumu vizuāli, tikai izmantojot peli. Šo metodi sauc par " Vaicājumu konstruktors".

Lai izsauktu šo konstruktoru, noklikšķiniet uz pogas " Vaicājuma konstruktors...", kas atrodas lauka "Pieprasījums" augšējā labajā stūrī:

Atvērtajā logā velciet tabulu " Klienti" no pirmās kolonnas uz otro, lai norādītu, ka dati tiks pieprasīti no šīs tabulas:

Tas izrādījās šādi:

Tālāk mēs atvērsim tabulu " Klienti"otrajā kolonnā ar zīmi" Plus"lai redzētu visus tā laukus un vilktu lauku" Vārds" no otrās kolonnas uz trešo, lai norādītu, ka no šīs tabulas mums ir jāvaicā lauks "Nosaukums":

Tas izrādījās šādi:

Darīsim to pašu ar laukiem" Stāvs" Un " Mīļākā krāsa Rezultāts būs šāds:

Noklikšķiniet uz pogas "OK", lai izietu no vaicājumu veidotāja un redzētu, vai vaicājuma teksts tiek automātiski pievienots laukam "Vaicājums".

Turklāt, pamatojoties uz pieprasījuma tekstu, 1C pats izvilka to lauku nosaukumus (apgabals virs pieprasījuma), kurus izmantos datu kompozīcijas shēma:

Tagad, kad esam apkopojuši pieprasījumu, ACS zina, kā iegūt datus pārskatam.

Datu prezentācijas iestatīšana

Tas kaut kā paliek vizualizēt šos datus lietotājam drukātas veidlapas veidā. Un šeit ACS var radīt brīnumus!

Lai radītu šādu brīnumu, pāriesim uz cilni " Iestatījumi un noklikšķiniet uz iestatījumu noformētāja pogas ( burvju nūjiņa):

Atvērtajā logā norādiet pārskata veidu " saraksts" un nospiediet " Tālāk":

Nākamajā logā atlasiet (velkot) laukus, kas jāparāda sarakstā (velciet visus mums pieejamos: " Mīļākā krāsa", "Vārds" Un " Stāvs"):

Iegūsim šo rezultātu un nospiedīsim pogu " labi":

Iestatījumu izstrādātājs aizvērts un vienums " Detalizēti ieraksti":

Pārskats ir gatavs, pārbaudīsim to. Lai to izdarītu, vispirms saglabājiet pārskatu kā ārēju failu.

Saglabājiet atskaiti kā failu

Atveriet galvenās izvēlnes vienumu " Fails"->"Saglabāt":

Es to saglabāšu savā darbvirsmā ar nosaukumu " 1. nodarbība":

Pārskata pārbaude lietotāja režīmā

Visbeidzot, aizveriet konfiguratoru un lietotāja režīmā pārejiet uz mūsu datu bāzi:

Lietotājvārds "Administrators", bez paroles:

Izvēlnē atlasiet vienumu " Fails"->"Atvērt...":

Un norādiet atskaites failu (es to saglabāju darbvirsmā ar nosaukumu “Lesson1.erf”):

Atvērta atskaites forma, noklikšķiniet uz pogas " Veidlapa":

Gatavs! Šeit ir mūsu izdrukājams saraksts ar klientu sarakstu, viņu iecienītāko krāsu un dzimumu:

Drukājamo veidlapu var viegli izdrukāt. Lai to izdarītu, vienkārši atlasiet vienumu " Fails"->"Ronis...":

Tieši tāpat bez programmēšanas mums izdevās izveidot pilnvērtīgu atskaiti, ko lietotāji var atvērt savās datubāzēs, ģenerēt un izdrukāt.

studenti - atbildu pa pastu, bet vispirms paskaties.

Piesakieties vietnē kā students

Piesakieties kā students, lai piekļūtu skolas materiāliem

Savā pēdējā rakstā es jau rakstīju, ka 1C ir paradoksāla platforma. Datu kompozīcijas sistēma ir viens no šiem paradoksiem. SKD ir paredzēts sarežģītu atskaišu izstrādei un ietver “manuālās” atskaišu programmēšanas aizstāšanu ar dizainu daudzfunkcionālā rīku komplektā. Iespēja izmantot piekļuves kontroles sistēmas parādījās astotajā versijā, taču pagāja ilgs laiks, līdz parādījās versija 8.2, lai 1C varētu to izmantot savos standarta produktos. No vienas puses, ACS ir daudzfunkcionāls rīku komplekts, ar kuru jūs varat izveidot ļoti sarežģītas atskaites bez vienas koda rindiņas. Tomēr piekļuves kontroles sistēmai ir diezgan augsts ienākšanas šķērslis; mācīties un sākt to pilnībā izmantot “lidojumā” ir ļoti grūti, jo interfeiss nav pilnīgi intuitīvs, un vispilnīgākās lietošanas rokasgrāmatas ir pieejamas tikai maksas literatūras forma.

Manā SKD pētījuma procesā radās problēma. Ir jāiegūst dati no trešās puses vērtību tabulas, izmantojot vaicājuma valodu, un pēc tam šie dati jādarbojas tāpat kā ar līdzīgiem datiem no datu bāzes tabulām (samazināšanas darbības, grupēšana utt.). Klasiskā formātā mēs izveidotu vaicājumu, kas saņem informāciju no tabulas, kas tiek nodota vaicājumam kā parametrs.

Pieprasījums = jauns pieprasījums(
"IZVĒLIES
| tabula. Nomenklatūra,
| Galds.Noliktava
|NO
| &TK AS tabula");
Request.SetParameter("TZ", TZ);

Bet ar SKD viss nav tik vienkārši. Diemžēl datu kompozīcijas sistēmā nav iespējams veikt iepriekš aprakstīto darbību. Tomēr sistēma ir ieviesusi iespēju ielādēt ārējās vērtību tabulas.

Šeit ir vērts veikt īsu atkāpi un runāt par datu kopām. Datu kopas ir informācijas avoti, no kuriem datu pārvaldības sistēma saņem datus, ko tā vēlāk apkopo atskaitē. Datu kopas tiek sadalītas tipos, galvenokārt izmantojot veidu “Vaicājums”, kura pamattekstā programmētājs ieraksta vaicājumu datu bāzē. Tips "Objekts" tiek izmantots, lai ielādētu datus no ārējiem objektiem. Abos gadījumos izvade ir noteikta lauku kopa, kas iegūta pieprasījuma izpildes vai ārēja objekta ielādes rezultātā. Vēlāk šos laukus var apstrādāt cilnē “Iestatījumi”, kā arī detalizētus atskaites struktūras iestatījumus. Lai savstarpēji savienotu dažādas kopas, ACS nodrošina iespēju norādīt savienojumus starp datu kopām tāda paša nosaukuma cilnē. Šie savienojumi ir tiešs analogs kreisajam savienojumam klasiskajā vaicājumā. Taču jāņem vērā, ka vaicājumi nevienā datu kopā “nezina” par citu datu kopu esamību, galu galā attiecības starp datu kopām ietekmēs datu izkārtojumu atbilstoši “ Iestatījumi” cilni.

Detalizēti aprakstīsim problēmu līdz piemēram. Ir standarta atskaite: Algu izraksti konfigurācijas organizēšanai ZiK 8. Nepieciešams, lai pārskatā aprēķinu veidi tiktu sagrupēti noteiktās grupās. Aprēķinu skata grupu atbilstības tiek saglabātas ārējā vērtību tabulā. Lai to ielādētu galvenajā datu izkārtojuma shēmā, mēs izveidojam “datu kopas objektu” ar nosaukumu “Grupas” (2. attēls). Mēs izveidojam savienojumu ar “vaicājuma datu kopu” - “Uzkrājumi” pēc aprēķina veida (3. attēls). “Pieprasījuma datu kopā” - “Uzkrājumi” ir informācija par grupām, mēs dzēšam visus ierakstus. Pēc tam cilnē “Iestatījumi” varam izmantot lauku “Grupa”, kura vērtība tiek ielādēta no ārēja datu avota (4. attēls). Atskaišu ģenerēšanas funkcijā papildinām ārējo datu ielādi.

Funkcija GenerateReport (rezultāts = nenoteikts, atšifrēšanas dati = nedefinēts, OutputInReportForm = patiess) Eksportēt

// nepieciešamās “Grupu” vērtību tabulas iegūšana vai izveidošana un ierakstīšana tāda paša nosaukuma mainīgajā

ExternalData = New Structure();//izveidojiet un aizpildiet ārējo datu struktūru
Ārējie dati.Ievietot(Grupas);

UserPanelValue = TipiskiReports.GetUserPanelSettingsValuesofObject(ThisObject);
DefaultSettings = SettingsComposer.GetSettings();
TipiskiReports.GetAppliedSetting(ThisObject);
Tipiski ziņojumi. ĢenerētTipisku pārskatu (Šis objekts, rezultāts, atšifrēšanas dati, izvade uz pārskata veidlapu, ārējie dati);
SettingsLinker.LoadSettings(DefaultSetting);
Atgriešanas rezultāts;

EndFunction

Ja mēs sagatavotu ziņojumu no jauna, pārskata ģenerēšanas palaišanas kods izskatītos šādi:

ExternalDataSets = jauna struktūra;
ExternalDataSets.Insert("Grupas", Grupas); //Grupas - vēlamā vērtību tabula
DataCompositionSchema = GetLayout("MainDataCompositionSchema"); //mūsu izkārtojums ar datu plūsmas diagrammu
Iestatījumi = DataCompositionScheme.DefaultSettings;
LayoutLinker = newDataLayoutLayoutLinker;
LayoutLayout = LayoutComposer.Execute(DataLayoutSchema, Settings);
DataCompositionProcessor = newDataCompositionProcessor;
DataCompositionProcessor.Initialize(LayoutLayout, ExternalDataSets);
TabDoc = jauns tabulas dokuments;
OutputProcessor = New OutputProcessorDataCompositionResultInTabularDocument;
OutputProcessor.SetDocument(TabDoc);
OutputProcessor.Output(DataCompositionProcessor);

Lasīt 9660 vienreiz

Laba diena, mani lasītāji! Šodien mēs turpināsim aplūkot izkārtojuma sistēmas pamatus. Šajā rakstu sērijā jūs uzzinājāt, kas ir piekļuves kontroles sistēma, un iepazināties ar piekļuves kontroles sistēmas galvenajām sastāvdaļām. Mēs arī apskatījām ievades datus atskaites izveidei un uzzinājām par piekļuves kontroles sistēmas atskaites palaišanas galvenajiem posmiem. Turklāt daudziem bija iespēja pārbaudīt savas zināšanas, nokārtojot īsu testu. Tagad varat ieskatīties raksta saturā un redzēt, kas tajā tiks apskatīts.

Datu kopa - vaicājums.

  1. Atšķirībā no parastā vaicājuma datu sastāva vaicājumā nav klauzulas REZULTĀTI. Tā vietā kopsummas tiek ģenerētas cilnē “Resursi”. Šajā cilnē atlasiet laukus, kuriem vēlaties iegūt galīgās izteiksmes. Un cilnē “Iestatījumi” ir norādīts, kurā sadaļā tiks iegūti rezultāti, tas ir, šeit tiek izveidotas atbilstošas ​​grupas un no tām tiek aprēķināti resursi. Vairāk par to varat lasīt rakstā.
  2. Nākamais punkts attiecas uz atlases iestatījumiem. Ir divas izpildes iespējas.
    1. Izmantojot atskaites opcijas iestatījumus. To var izdarīt cilnē "Iestatījumi" - "Atlase". Ja mēs izmantojam šo opciju, tad tā ir viselastīgākā, jo mēs varam norādīt dažādus salīdzināšanas veidus, kurus pat lietotājs var izvēlēties. Turklāt, izmantojot šo opciju, pašā vaicājumā tiek noteikti filtrēšanas nosacījumi. Ja atskaite ir balstīta uz pakešu vaicājumu, izmantojot pagaidu tabulas, atlase ietekmēs visas grupas vaicājuma tabulas, kurās ir atlases lauks.
    2. Pieprasījuma līmenī. Ja mēs izmantojam vaicājumu, mēs nevarēsim izmantot neko citu kā vienlīdzības operāciju.
      Izņēmums ir gadījums, kad mums ir jāveic “stingra” datu filtrēšana pēc noteiktas vērtības. Teiksim, pēc uzskaites vērtības. Cilnē “Parametri” mēs varam iestatīt nosacījumu. Ja mēs iespējosim karogu “Ierobežot pieejamību”, lietotājs nevarēs atcelt šo nosacījumu.
  3. Tāpat pareizāk ir piemērot šķirošanu atskaites opciju iestatījumu līmenī.
    1. Ja pieprasījumā norādāt šķirošanas lauku, tad lietotājs, uzstādot savu atskaites versiju, norādīs citu lauku, tad mūsu pieprasījuma līmenī veiktajam iestatījumam būs zemākā prioritāte. Vispirms tiks veikta kārtošana, ko lietotājs iestatījis pārskata varianta iestatījumos. Tāpēc, ja jums ir jāiestata kārtošana “pēc noklusējuma”, mēs izmantojam atskaites opcijas iestatījumus konfiguratorā.
    2. Ko darīt, ja pārskatā ir jāiestata “stingra” šķirošana, lai lietotājs to nevarētu mainīt? Pēc tam mēs iestatām kārtošanu vaicājuma līmenī un cilnē “Datu kopas” iestatām lauka ierobežojumu. Atlasiet nepieciešamo datu kopu un atzīmējiet izvēles rūtiņu ailē “Lauku ierobežojums” - “Pasūtīšana”.

Virtuālās tabulas parametri.

  • Grāmatvedības reģistru, uzkrāšanas reģistru un informācijas reģistru virtuālo tabulu izveide ir atkarīga no konkrētā datuma. Tas var būt vai nu viens datums, vai intervāls, piemēram, atlikumu un apgrozījuma tabulai. SDS ir izveidots tā, ka, ja atskaite ir balstīta uz virtuālo tabulu, tad ir jāļauj lietotājam izvēlēties, kādam intervālam vai datumam atskaiti ģenerēt. SKD izkārtojuma diagrammai automātiski pievieno nepieciešamos perioda parametrus.
  • Ja vaicājumā ir atlasīta virtuālā atlikumu tabula vai informācijas reģistru virtuālā tabula, tad automātiski tiek pievienots parametrs ar nosaukumu “Periods”.
  • Ja pieprasījumā ir atlasīta virtuālā atlikumu un apgrozījuma tabula vai virtuālā apgrozījuma tabula, tad automātiski tiek pievienoti parametri “Perioda sākums” un “Perioda beigas”.
  • Ko darīt, ja perioda beigās nepieciešams iegūt atlikumus? Ir divi veidi:
    1. Dodieties uz cilni “Parametri” un kolonnas “Izteiksmes” parametrā “Periods” ierakstiet:
      &Beigu periods. Mēs arī iespējosim karogu “Ierobežot pieejamību”.
    2. Mēs pilnībā atbrīvojamies no parametra “Periods” un aizstājam to ar parametru “Perioda beigas”. Konfigurēsim papildu virtuālās tabulas parametru:
      • Dodieties uz cilni “Datu kopas” un noklikšķiniet uz pogas “Vaicājumu veidotājs...”.
      • Cilnes “Datu kompozīcija” augšējā kreisajā stūrī noklikšķiniet uz pogas, lai atvērtu dialoglodziņu “Virtuālās tabulas opcijas” (šī ir pelēka kvadrātveida poga ar zobrata attēlu uz nelielas tabulas fona).
      • Dialoglodziņa laukā “Periods” mēs rakstām: &Perioda beigas.
      • Tagad datu kopas pieprasījuma tekstā virtuālās tabulas parametros šis parametrs parādīsies ap cirtainiem iekavām:
Uzkrāšanas reģistrs. Atlikušās preces. Atlikušais(((&EndPeriod) ), ) AS Atlikušais

Cirtainās figūriekavas norāda uz datu kompozīcijas vaicājuma valodas paplašinājumu. Tas arī norāda, ka šis parametrs nav obligāts. Tas nozīmē, ka, ja tas nav definēts datu kompozīcijas shēmā, tad atlikumi tiks iegūti uz kārtējo datumu.

Vaicājuma valodas paplašinājums.

Šīs ir īpašas instrukcijas, kas pieprasījuma pamattekstā ir ievietotas cirtainajās lencēs. Šīs instrukcijas norāda laukus un parametrus, ar kuriem var manipulēt, iestatot pārskata versiju. Dati no krokainajām lencēm būs redzami izkārtojuma diagrammā pat tad, ja izvēles rūtiņa Automātiskā pabeigšana ir atspējota.

Kad tiek izveidota vaicājuma datu kopa, pēc noklusējuma tiek automātiski aizpildīti pieejamie datu kompozīcijas shēmas lauki, pamatojoties uz izveidoto vaicājumu (cilnē “Datu kopas” ir atzīmēta izvēles rūtiņa “Automātiskā aizpildīšana”).

Kā darbojas pieejamo datu kompozīcijas shēmas lauku automātiskā pabeigšana?

    1. Kļūs pieejami lauki no vaicājumu atlases saraksta un to pakārtotie lauki.
    2. Ja atlasām no uzkrāšanas reģistra, tad datu sastāva laukos kļūst pieejami pat pieprasījumā neiekļautie reģistra lauki. Bet šie lauki ir pieejami tikai atlasei (nosacījuma izteiksmēs)
      un tos nevar izmantot kā izvades laukus.
    3. Virtuālo tabulu parametri “Periods”, “Perioda sākums” un “Perioda beigas” kļūst par
      pieejams atlasei.
    4. Ja pieprasījuma tekstā ir norādīts “cietais” nosacījums, šis parametrs tiks pievienots arī cilnei “Parametri”.

Ja izvēles rūtiņa Automātiskā pabeigšana ir notīrīta, datu kompozīcijas shēmas lauki tiek notīrīti, bet pieprasījuma tekstā iekavās ietvertie parametri paliek.

Kā pašam aizpildīt datu kompozīcijas shēmas laukus?

Noņemiet atzīmi no izvēles rūtiņas “Automātiskā aizpilde” cilnē “Datu kopas”.

Noklikšķiniet uz pogas “Vaicājumu veidotājs…”. Izveidosim šādu pieprasījumu:

ATLASĪT Atlikumus. Nomenklatūra AS Nomenklatūra, paliekas. Daudzums AS Daudzums ReģistrsUzkrāšanās. Atlikušās preces. Atlikušais(((&EndPeriod) ), ) AS Atlikušais

Cilnē “Tabulas” mēs varam iestatīt virtuālās tabulas parametrus visām tabulām.

Tagad cilnē “Datu izkārtojums” atlasiet cilni “Lauki”. Šeit mēs iestatām atlases laukus, kas
tiks parādīts izkārtojuma shēmā.

Lauks “Un...” nozīmē, ka atlasē tiks iekļauti bērnu ieraksti
sarežģīta tipa lauki, piemēram, direktoriji un dokumenti utt. Ja lauks ir tāds kā skaitlis, tad laukā “Un...” nevarēs ievietot karogu.

Atlasīsim divus laukus “Nomenklatūra” un “Daudzums”. Laukā “Nomenklatūra” iestatiet karogu “I.”,
lai tiktu atlasīti bērnu ieraksti. Jūs saņemsiet šādu vaicājumu:

ATLASĪT Atlikumus. Nomenklatūra AS Nomenklatūra, paliekas. Daudzums AS Daudzums (SELECT Nomenclature. * , Quantity) Uzkrāšanas reģistrs. Atlikušās preces. Atlikušais(((&EndPeriod) ), ) AS Atlikušais

Jaunajā pieprasījumā cirtainajās iekavās ir parādījusies vēl viena sadaļa SELECT - tas ir paplašinājuma teksts, kas norāda laukus, kas būs pieejami izkārtojumā. Lauks “Nomenklatūra.*” norāda, ka būs pieejams lauks “Nomenklatūra” un tā pakārtotā informācija, piemēram, “Kods”, “Nosaukums” utt. Tātad izkārtojuma laukus aizpildījām paši.

Bet tagad mēs nevaram izmantot laukus izkārtojuma apstākļos. Ja atverat cilni “Iestatījumi” un atlasāt cilni “Atlase”, jūs nevarat iestatīt nosacījumus nevienam laukam, ko atlasījām iepriekšējā rindkopā. Kāpēc?

Nosacījumu uzlikšana virtuālās tabulas parametriem ir jānorāda arī vaicājumu noformētāja cilnē “Datu sastāvs”. Augšējā kreisajā stūrī noklikšķiniet uz pogas, lai atvērtu dialoglodziņu “Virtuālās tabulas parametri”.
(šī ir pelēka kvadrātveida poga ar zobrata attēlu uz neliela galda fona). Dialoglodziņa laukā “Stāvoklis” mēs ierakstām: Nomenklatūra. Tagad datu kopas pieprasījuma tekstā virtuālās tabulas parametros šis “Nomenklatūras” parametrs parādīsies ieskauts ar krokainajām iekavām:

Uzkrāšanas reģistrs. Atlikušās preces. Atlikumi(((&Perioda beigas) ), ((Nomenklatūra) )) AS atlikumi

Parastajā vaicājumu valodā parametra norādīšana izskatās šādi: Nomenklatūra = &Nomenklatūra. Bet vaicājuma valodas paplašinājumā tas ir rakstīts savādāk. Tiek norādīts tikai lauka nosaukums. Šeit mēs nenorādām vienlīdzības, nevienlīdzības vai hierarhijas darbību, jo lietotājs pats izvēlēsies vajadzīgo darbību savos iestatījumos.

Vaicājumu veidotāja cilnē “Datu sastāvs” tiek parādīta cita cilne “Nosacījumi”. Tas ir nepieciešams, lai vaicājuma valodas paplašinājumā norādītu nosacījumus WHERE klauzulai. Atlasiet lauku “Daudzums”. Šis lauks tagad ir pieejams nosacījumos cilnē “Iestatījumi” — “Atlase”. Un pieprasījuma tekstā parādījās jaunas rindiņas, kas ietvertas cirtainās lencēs.

(KUR paliek. Daudzums)

Ja ir norādīta izvēle pēc daudzuma lauka, tad šis teikums tiks ievietots galīgajā pieprasījumā. Kur nosacījuma veids un salīdzinājuma vērtība tiks noteikta, iestatot atskaites opciju.

Tātad, manuprāt, šodienai materiāla ir pietiekami. Ja ir kādi neskaidri punkti, nevilcinieties jautāt, jo tāpēc ir iespējams komentēt. Šis materiāls tiks drīzumā sagatavots piespraušanai, tāpēc abonējiet atjauninājumus mūsu vietnē, lai nepalaistu garām!

Un šajā nodarbību sērijā mēs apskatīsim SKD izteiksmes valodas funkcijas, runāsim par izkārtojuma sistēmas iezīmēm, kā arī analizēsim izkārtojuma lauku pamata iestatījumus. Veiksmi izprast šo sarežģīto materiālu!

Raksta beigās es vēlos jums ieteikt bezmaksas rakstu no Anatolija Sotņikova. Šis ir pieredzējuša programmētāja kurss. Tas jums atsevišķi parādīs, kā izveidot atskaites piekļuves kontroles sistēmā. Jums tikai rūpīgi jāieklausās un jāatceras! Jūs saņemsiet atbildes uz šādiem jautājumiem:
  • Kā izveidot vienkāršu saraksta pārskatu?
  • Kam paredzētas slejas Lauks, Ceļš un Virsraksts cilnē Lauki?
  • Kādi ir izkārtojuma lauku ierobežojumi?
  • Kā pareizi konfigurēt lomas?
  • Kādas ir izkārtojuma lauku lomas?
  • Kur vaicājumā var atrast datu kompozīcijas cilni?
  • Kā konfigurēt parametrus piekļuves kontroles sistēmā?
  • Kļūst vēl interesantāk...
Varbūt jums nevajadzētu mēģināt pašam sērfot internetā, meklējot nepieciešamo informāciju? Turklāt viss ir gatavs lietošanai. Vienkārši sāciet! Visa informācija par bezmaksas video pamācībām ir atrodama autora lapā softmaker http://www..pngsoftmaker 2015-12-07 14:51:12 2018-06-12 13:14:13 Datu kompozīcijas sistēma (DCS). 2. daļa.