Kyselynrakennustyökalun käyttö mahdollistaa. Työskentely kyselysuunnittelijan kanssa laskentataulukkoasiakirjaan tulostettaessa. Kun määrität pääsyrajoituksen Data Access Restrictions Designerissa, ehdon teksti

Kyselyn rakentajalla on melko yksinkertainen, intuitiivinen käyttöliittymä. Tarkastellaanpa kuitenkin kyselyn rakentajan käyttöä tarkemmin.

Kyselytekstin konstruktori käynnistetään pikavalikosta (hiiren oikea painike) haluamaasi paikkaan ohjelmakoodissa.

Katsotaanpa jokaista suunnittelijan välilehteä yksityiskohtaisemmin. Poikkeuksena on Builder-välilehti, joka on toisen keskustelun aihe.

Taulukot ja kentät -välilehti

Tämä välilehti määrittää tietolähteen ja kentät, jotka on näytettävä raportissa. Pohjimmiltaan tämä kuvaa SELECT... FROM -rakenteita.

Lähde voi olla fyysinen tietokantataulukko, virtuaalinen rekisteritaulukko, väliaikaiset taulukot jne.

Virtuaalitaulukoiden kontekstivalikossa voit asettaa näiden taulukoiden parametrit:

Yhteydet-välilehti

Välilehteä käytetään kuvaamaan useiden taulukoiden yhteyksiä ja se luo rakenteita sanalla CONNECTION.

Ryhmittely-välilehti

Tällä välilehdellä järjestelmä mahdollistaa taulukon tuloksen pakollisten kenttien ryhmittelyn ja yhteenvedon. Kuvaa rakenteiden GROUP BY, SUM, MINIMI, AVERAGE, MAXIMUM, QUANTITY, NUMBER OF DIFFERENT käyttöä.

Hanki 267 videotuntia 1C:llä ilmaiseksi:

Ehdot-välilehti

Vastaa kaikesta mitä tulee pyyntötekstiin WHERE-rakentamisen jälkeen, ts. kaikille vastaanotetuille tiedoille asetetuille ehdoille.

Lisäasetukset-välilehti

Tab Lisäksi täynnä kaikenlaisia ​​erittäin tärkeitä parametreja. Katsotaanpa jokaista ominaisuutta.

Ryhmittely Tietueiden valinta:

  • Ensimmäinen n— parametri, joka palauttaa kyselyyn vain N tietuetta (FIRST-operaattori)
  • Ei kaksoiskappaleita— varmistaa vastaanotettujen tietueiden ainutlaatuisuuden (operaattori ERI )
  • Sallittu— voit valita vain ne tietueet, jotka järjestelmä sallii sinun valita ottaen huomioon(suunnittelu SALLITTU)

Ryhmittely Pyynnön tyyppi määrittää, minkä tyyppinen pyyntö tulee olemaan: tietojen hakeminen, väliaikaisten taulukoiden luominen tai väliaikaisen taulukon tuhoaminen.

Alla on lippu Lukitse vastaanotetut tiedot myöhempää muokkausta varten. Sen avulla voit ottaa käyttöön mahdollisuuden asettaa tietojen lukitus, mikä varmistaa tietojen turvallisuuden sen lukemisesta sen vaihtamiseen asti (koskee vain Automaattinen lukitustila, suunnittelu).

Liitokset/aliakset-välilehti

Tämä kyselyn suunnittelijan välilehti määrittää mahdollisuuden yhdistää erilaisia ​​taulukoita ja aliaksia (HOW-rakenne). Taulukot näkyvät vasemmalla puolella, jos asetat liput taulukkoa vastapäätä, käytetään UNITE-konstruktioita, muussa tapauksessa - UNITE ALL (erot näiden kahden menetelmän välillä). Oikealla puolella näkyy eri taulukoiden kenttien vastaavuus, jos vastaavuutta ei ole määritetty, kysely palauttaa arvon NULL.

Tilaus-välilehti

Tämä määrittää järjestyksen, jossa arvot lajitellaan (ORDER BY) - laskeva (DESC) tai nouseva (ASC).

Siellä on myös mielenkiintoinen lippu - Automaattinen tilaus(pyynnössä - AUTOMAATTINEN TILAUS). Oletusarvoisesti 1C 8.3 -järjestelmä näyttää tiedot "kaoottisessa" järjestyksessä. Jos asetat tämän lipun, järjestelmä lajittelee tiedot sisäisten tietojen mukaan.

Kysely Erä-välilehti

Voit käyttää kyselyn suunnittelija-välilehteä myös navigointina. Pyyntötekstissä paketit erotetaan merkillä ";" (puolipiste).

Kyselypainike kyselynmuodostimessa

Pyyntösuunnittelijan vasemmassa alakulmassa on Pyyntö-painike, jolla voit tarkastella pyyntötekstiä milloin tahansa:

Tässä ikkunassa voit tehdä muutoksia pyyntöön ja suorittaa sen.

Kyselysuunnittelija versioissa 1C 8.3 ja 8.2 on tehokas kehitystyökalu. Sen avulla voit kirjoittaa pyyntötekstiä käyttämällä erityistä visuaalista ympäristöä. Siten 1C-pyynnön luomiseksi ei tarvitse tietää sisäänrakennettua kyselykieltä, riittää navigointi suunnittelijan yksinkertaisessa ja intuitiivisessa käyttöliittymässä.

Kyselyn rakennustyökalu on joukko välilehtiä, joista jokainen vastaa omasta osastaan ​​kyselyä. Täytä siis välilehti Pöydät ja kentät Valitsemme taulukot, joista 1C-kysely vastaanottaa näiden taulukoiden tiedot ja kentät, jotka ovat tarpeen tietyn ongelman ratkaisemiseksi. Täyte muuraukseen ehdot asetamme valituille taulukoille ehtoja, jotta voimme valita niistä vain tarvitsemamme tiedot ja niin edelleen.

Kuvaus kyselyn suunnittelijasta virallisella 1C 8 -sivustolla: v8.1c.ru

Taulukot ja kentät; ; ; ; ; ; Sisäkkäiset kyselyt (kehitellään).

Jotta voit kutsua 1s 8 -kyselyn suunnittelijaa ohjelmakoodissa, sinun on:

  • Luo uusi pyyntö
Pyyntö = Uusi pyyntö;
  • Aseta tyhjä pyyntötekstirivi
Request.Text = "";
  • Aseta hiiren osoitin lainausmerkkien väliin ja paina hiiren oikeaa painiketta. Valitse kohde avautuvasta pikavalikosta Kyselyn rakentaja ja vastaa Joo kysymykseen uuden pyynnön luomisesta. Jos pyyntöteksti on jo kirjoitettu muistiin, sinun on napsautettava mitä tahansa sen sisällä ja soitettava rakentajalle ;

Tarkastellaan kaikkia kyselynmuodostajan päävälilehtiä käyttämällä pieniä esimerkkejä monimutkaisempia. Tämän lähestymistavan avulla aloitteleva 1C-ohjelmoija voi tutkia tehokkaammin rakentajaa ja kaikkia sen ominaisuuksia. Esimerkeissä käytämme kokoonpanoa Kirjanpito 3.0.

Oppitunti 1. Kyselyn rakentaja on yksinkertaisin käyttötapa.

Tehtävä: kirjoita pyyntö nimikkeistöhakemistoon, valitse hakemiston koko nimikkeistö.

Uudet välilehdet: Pöydät ja kentät.

Uudet mekanismit: pyyntötekstin katselu ja muokkaaminen "Pyyntö"-painikkeella.

Aloita pyynnön luominen luomalla uusi pyyntö ja soittamalla rakentajalle (kuten muutama kappale yllä kirjoitettu). Tämän jälkeen suunnitteluikkuna avautuu välilehdelle Pöydät ja kentät.

Oppitunnin nro 1 teoreettinen osa

Tab Pöydät ja kentät koostuu kolmesta osasta:

Tietokanta. Tässä osiossa esitellään kaikki tietokantataulukot, joita voidaan käyttää kyselyn muodostamiseen;

Taulukot. Tässä osiossa valitaan tähän kyselyyn tarvittavat taulukot. Siirrä ne sitten osiosta tietokanta tarvitsee:

  • Tai kaksoisnapsauta taulukkoa;
  • Tai käytä ">"- tai ">>"-painikkeita.

Yllä oleva jakso Taulukot Painikkeita on useita. Useimmista niistä keskustellaan yksityiskohtaisemmin seuraavilla oppitunneilla. Toistaiseksi annan vain lyhyitä selityksiä.

  • Luo alikysely(Punainen viiva). Suunniteltu luomaan uusi alikysely;
  • Luo väliaikainen taulukon kuvaus(keltainen viiva). Voit määrittää tämän kyselyn ulkopuolella sijaitsevan väliaikaisen taulukon nimen. Sitä voidaan käyttää myös arvotaulukon välittämiseen kyselyyn;
  • Vaihda nykyinen elementti(vihreä linja). Voit siirtyä valittuun alikyselyyn, väliaikaiseen taulukkoon tai väliaikaisen taulukon kuvaukseen.
  • Poista nykyinen kohde(sininen viiva). Poistaa valitun taulukon valituista taulukoista;
  • Vaihda pöytä(sininen viiva). Avaa valintaikkunan valitun taulukon korvaamista varten. Hyödyllinen, jos olet valinnut väärän rekisterin virtuaalitaulukon, koska paikannus tapahtuu luettelossa parhaillaan valitussa taulukossa.
  • Virtuaalipöydän asetukset(violetti viiva). Avaa virtuaalirekisteritaulukon parametrit.

Kentät. Tämä osio valitsee taulukon kentät edellisestä osiosta. Nämä kentät ovat kyselyn tuloksena saadun taulukon tai valinnan sarakkeita. Niitä tarvitaan ensisijaisesti siksi, että valituista taulukoista saadaan vain tietyssä tapauksessa tarpeelliset tiedot. Siirtääksesi ne osiosta Tarvittavat taulukot:

  • Tai kaksoisnapsauta kenttää;
  • Tai käytä ">"- tai ">>"-painikkeita;
  • Voit myös lisätä uuden kentän itse käyttämällä mielivaltaista lauseketta valittujen taulukoiden kentistä ja kyselykielifunktioista.

Yllä oleva jakso Kentät Painikkeita on useita. Kenttien luomista mielivaltaisilla lausekkeilla käsitellään yksityiskohtaisemmin seuraavilla oppitunneilla. Toistaiseksi annan vain lyhyitä selityksiä.

  • Lisätä(vihreä linja). Suunniteltu lisäämään uusi kenttä käyttämällä ilmaisueditoria;
  • Vaihda nykyinen elementti(Punainen viiva). Voit muuttaa valittua kenttää editorilla;
  • Poista nykyinen(sininen viiva). Poistaa valitun kentän luettelosta.

Oppitunnin nro 1 käytännön osa

Olemme käsitelleet tämän oppitunnin tehtävän suorittamiseen tarvittavaa teoriaa. Haluan muistuttaa, miltä se kuulostaa: kirjoita pyyntö nimikkeistöhakemistoon, valitse koko hakemiston nimikkeistö.

Aloitetaan kohteiden pyynnön luominen:

  • Luodaan uusi pyyntö ja avataan konstruktori oppitunnin alussa määritetyllä menetelmällä;
  • Luvussa Tietokanta, avataan ketju Hakemistot ja löydämme sieltä oppaan Nimikkeistö;
  • Valitse se ja siirrä se osioon ">" -painikkeella Taulukot;
  • Luvussa Taulukot avaa nimikkeistöhakemisto +-kuvakkeen avulla;
  • Etsi kenttä avautuvasta kenttäluettelosta Linkki ja siirrä se osioon Kentät käyttämällä ">"-painiketta
  • Tuotepyyntö on valmis, napsauta "OK"-painiketta suunnittelijaikkunan alaosassa.

2. voit määrittää tarvittavat ohjausobjektit, jotka vastaavat aliobjektien koostumusta

3. kaikki yllä oleva on totta

4.40 Asiakirjan kaikki päämuodot on jo määritelty. Kun luot uutta lomaketta suunnittelijassa, aseta seuraavat valintaruudut (katso kuva). Mitä tapahtuu lomakkeen luomisen jälkeen?

1. Lomake2 määritetään pääasiakirjalomakkeeksi

2. Lomake2 nimetään asiakirjan pääluettelolomakkeeksi

3. Ei mitään, koska päälomakkeet on jo määritetty

4. Ei mitään, koska "Perusluettelo ja valintalomake" -valintaruutua ei ole valittu

4.41 Kyselynrakennustyökalun avulla voit:

2. Luo ohjelmakoodi, joka sisältää sisäänrakennetun kielen Request objektin luomisen, pyynnön tekstin ja pyynnön suorittamisen tuloksen saamisen

4. Vastaukset 1 ja 3 ovat oikein

5. Kaikki edellä mainitut

4.42 Kyselykonstruktorin käyttäminen tulosten käsittelyn kanssa mahdollistaa

1. Luo uuden pyynnön teksti

2. Luo ohjelmakoodi, joka sisältää sisäänrakennetun kielen Request objektin luomisen, pyynnön tekstin, pyynnön tuloksen vastaanottamisen ja käsittelyn

3. Muokkaa olemassa olevan pyynnön tekstiä

4. Vastaukset 1 ja 3 ovat oikein

5. Paino yläpuolella

4.43 Tallennettaessa uudelleen pyynnön suunnittelijalla avatun pyynnön tekstiä tekemättä muutoksia tähän tekstiin:

1. Kaikki alkuperäinen teksti säilyy ennallaan

2. Vain kommentit poistetaan alkuperäisestä tekstistä

3. Kommentit säilyvät alkuperäisessä tekstissä, ja vain raportin rakennustyökalun kyselykielirakenteet poistetaan

4. Sekä kommentit että raportin rakennustyökalun kyselykielirakenteet poistetaan alkuperäisestä tekstistä

4.44 Kyselyn rakennusohjelma voidaan kutsua:

1. Käytä päävalikon kohtaa "Teksti - Kyselynrakennus..."

2. Käytä "Suunnittelijat - Kyselyn rakentaja" -painiketta "Asettelut"-välilehdellä objektien muokkausikkunassa

3. Käytä ponnahdusikkunan kontekstivalikon kohtaa "Query Builder...", joka tulee näkyviin, kun napsautat hiiren kakkospainikkeella moduulin tekstiä

4. Kaikki edellä mainitut ovat totta

5. Vastaukset 1 ja 3 ovat oikein

4 .45 Kuka voi käyttää kyselynmuodostajaa?

1. Kehittäjät, koska vaaditaan kyselykielen taitoa

2. Pätevät käyttäjät ilman konfiguraattoria

3. Kaikki yllä oleva on totta

4. Ei oikeaa vastausta

4.46 Kirjanmerkillä"Pöydät ja kyselyn rakentajan kentät" on asetettu:

1. Kysely tietolähteistä, jotka voivat olla todellisia ja virtuaalisia taulukoita

2. Joukko kenttiä taulukoista - kysely tietolähteistä

3. Kentät mielivaltaisena lausekkeena

4. Verpa vastaa I ja 2

5. Kaikki yllä oleva on totta

4.47 Jos haluat luoda sisäkkäisen kyselyn kyselyn suunnittelijassa, sinun on:

1. Avaa Taulukot ja kentät -välilehti. Napsauta "Tietokanta"-puun yläpuolella olevassa komentopaneelissa "Lisää" -painiketta tai valitse samanniminen pikavalikosta kohta.

2. Avaa Taulukot ja kentät -välilehti. Napsauta "Taulukot"-puun yläpuolella olevassa komentopaneelissa "Lisää" -painiketta tai valitse samanniminen pikavalikosta kohta.

3. Avaa Taulukot ja kentät -välilehti. Napsauta "Kentät"-puun yläpuolella olevassa komentopaneelissa "Lisää" -painiketta tai valitse samanniminen pikavalikosta kohta.

4. Sisäkkäistä kyselyä ei voi luoda kyselyn suunnittelijassa

4.48 Jos haluat luoda lasketun kentän kyselyn suunnittelijassa, sinun on:

1. Avaa Taulukot ja kentät -välilehti. Napsauta "Taulukot"-puun yläpuolella olevassa komentopaneelissa "Muokkaa nykyistä elementtiä" -painiketta. Lisää uusi kenttä avautuvaan ikkunaan

2. Avaa Taulukot ja kentät -välilehti. Napsauta "Kentät"-puun yläpuolella olevassa komentopaneelissa "Lisää" -painiketta tai valitse samanniminen pikavalikosta kohta.

3. Avaa Yhteydet/aliakset-välilehti. Napsauta kenttäluettelon yläpuolella olevassa komentopaneelissa "Lisää" -painiketta tai valitse samanniminen pikavalikosta kohta

4. Voit luoda lasketun kentän vain muuttamalla kyselyn tekstiä "manuaalisesti"

4.49 Luodaksesi kyselyyn koontifunktioilla ryhmiteltyjä rivejä, kyselyn suunnittelijan "Ryhmittäminen"-välilehdelle on täytettävä seuraavat tiedot:

1. Vain luettelo ryhmäkentistä. Yhteenvetokenttien määrittäminen on valinnaista

2. Vain luettelo kentistä, joista tehdään yhteenveto, kun taas loput kentät kuuluvat automaattisesti pyyntötekstin GROUP BY -osioon

3. Sekä ryhmä- että summakentät on määritettävä

4.50 Kyselyn suunnittelijassa voidaan asettaa ehtoja aggregaattifunktioiden arvoille:

1. "Ryhmittäminen"-välilehden summakenttien luettelossa, kun valitset koostefunktiota

2. "Ehdot"-välilehdellä

3. "Yhteensä"-välilehden kokonaismääräkenttien luettelossa, kun valitset koostefunktiota

4. Et voi asettaa ehtoja koontifunktioiden arvoille kyselyn suunnittelijassa

4.51 Tietojen käyttörajoitusten suunnittelijassa:

1. Voit käyttää vain sen objektin kenttiä, jolle rajoitus on määritetty

2. Voit käyttää vain sen objektin kenttiä, jolle rajoitus on määritetty, ja sisäkkäisten taulukoiden kenttiä (suhteessa objektin kenttiin)

3. Kaikki taulukot, jotka voidaan liittää kyselyyn sen objektin kenttiin, jolle rajoitus on määritetty

4.52 Määritettäessä pääsyrajoituksia Data Access Restrictions Designerissa...

1. Pyyntötekstin voi luoda vain rakentaja itse

2. Pyyntöteksti voidaan syöttää vain manuaalisesti

3. pyyntöteksti voidaan luoda joko rakentajan itsensä toimesta tai manuaalisesti

4.53 Kun määrität pääsyrajoituksen Data Access Restrictions Designerissa:

1. Rajoitussääntö määritellään vain "Linkit"-välilehdellä

2. Rajoitussääntö määritellään vain "Ehdot"-välilehdellä

3. Suunnittelijan molemmilla välilehdillä tehdyt asetukset ovat mukana määritettäessä tietojen käyttöehtoja

4.54 Kun määritetään pääsyrajoitus tietojen käyttörajoitusten suunnittelijassa, ehdon teksti on:

1. Alkaa avainsanalla "Valitse"

2. Alkaa vain "Valitse eri" -rakenteella

3. Alkaa vain "Valitse sallittu" -rakenteella

4. "Valitse"-avainsanaa ei ole määritetty

5. Vaihtoehdot 1 ja 3 ovat hyväksyttäviä

4.55 Aggregaattikonstruktori on tarkoitettu aggregaattien muodostamiseen:

1. asiakirjat 2. hakemistot

3. keräysrekisterit

5. raportit

4.56 Aggregaattikonstruktoria voidaan kutsua:

1. Napsauta "Yksiköt"-painiketta konfigurointiobjektin muokkausikkunassa "Data"-välilehdellä

2. Avaa aggregaatit metatietopuun kontekstivalikon kautta.

3. Kontekstivalikon kautta metatietopuussa "Constructors - aggregate designer"

4. Oikeat vastaukset 1 ja 2

5. Oikeat vastaukset 1 ja 3

6. Kaikki verpa-vastaukset

4.57 Jos aggregaattien suunnittelija ei ole käytettävissä kertymärekisterissä, sinun on suoritettava seuraavat vaiheet:

1. Ota aggregaattien käyttö käyttöön kokoonpanossa

2. Muuta akkumulaatiorekisterin asetusta "Rekisterityyppi"

3. Avaa yksiköt ja lisää tarvittava akkumulaatiorekisteri asetuksiin

4.58 Jotta voit näyttää luettelon optimaalisista yksiköistä konstruktorissa, sinun on:

1. Ota optimaalisten yksiköiden näyttö käyttöön

2. Laske optimaaliset yksiköt konfiguraattorissa

3. Laske optimaaliset yksiköt 1C:Enterprise

4. Laske optimaaliset yksiköt 1C:Enterprisessa ja lataa ne Configuratorissa

4.59 Määritä tietolähdeskeema tietojen kokoonpanojärjestelmässä käyttämällä:

1. Kyselyn rakentaja

2. Kyselykonstruktori tuloskäsittelyllä

3. Tietojen kokoonpanon kaavion suunnittelija

4. Tietojen kokoonpanoasetusten suunnittelija

Mahdollisuus kirjoittaa kyselyteksti "manuaalisesti" ei ole koskaan ollut "turhaa", mutta on kätevämpää käyttää kyselyn suunnittelijaa.

Kommentti.

Valitettavasti hallitussa sovelluksessa et voi käyttää kyselyn suunnittelijaa "Tutustu kyselyyn" -käsittelyssä. Voit käyttää sitä tässä käsittelyssä vaihtamalla normaalitilaan, mutta emme tee tätä.

Luodaan "Request Constructor" -käsittely ja määritellään se "Raportit ja käsittely" -alijärjestelmässä.

Luodaan käsittelylomake ja lisätään siihen "Tabular Document" -tyypin "TabDoc"-muodon attribuutti sekä "Suorita kysely" -komento "Suorita kysely" -toiminnolla. Vedä ne seuraavaksi lomakkeeseen.

Lomakemoduulissa, jotta komento toimisi, kirjoitamme proseduurin:

&OnClient

Toimenpide Suorita kysely (komento)

ExecuteRequestServer();

Menettelyn loppu

&Palvelimella

Menettelyn loppu

Pääsemme palvelimella kutsutun proseduurin sisään ja kutsumme pikavalikosta "Kyselykonstruktori tuloskäsittelyllä" (Kuva 2.65).

Kuva 2.65 Kyselykonstruktori tuloskäsittelyllä

Aseta käsittelytyypiksi "Tulostus laskentataulukkoasiakirjaan" ja napsauta joko "Seuraava"-painiketta tai "Taulukot ja kentät" -välilehteä.

Suunnittelijan Taulukot ja kentät -välilehdellä voit tarkastella järjestelmässä tällä hetkellä olemassa olevia taulukoita (vasemman osan otsikko on "Tietokanta") (Kuva 2.66).

Kuva 2.67 Kyselyn rakentaja

Taulukot, joista kysely saa tietoja, siirretään "Tables"-alueelle kyselyn vaatimat kentät "Kentät"-alueelle. Tehdään se kuten kuvassa 2.68.

Kuva 2.68 Kyselyn rakentaja

Tästä olemme poistaneet luodun oletusnäkymäkentän - "ESITYS (TuotekuittiProducts.Nomenclature)"

Kun työskentelet suunnittelijan kanssa, voit tarkastella tuloksena olevaa pyyntötekstiä milloin tahansa. Suorittaaksesi tämän tehtävän, sinun on napsautettava suunnittelijalomakkeen vasemmassa alakulmassa olevaa "Pyyntö"-painiketta (Kuva 2.69).

Voit muokata pyyntötekstiä manuaalisesti napsauttamalla "Muokkaa" -painiketta.

Harjoitella. Napsauta "OK"-painiketta ja tarkista käsittelymme käyttäjätilassa. Jos analysoit pyyntöä suoritettaessa vastaanotettuja tietoja, voit törmätä nimikkeiden "toistoihin" (jos tämä ei toimi sinulle, voit kopioida ja lähettää minkä tahansa "Tavaroiden vastaanotto" -asiakirjan).

Palaamme ExecuteRequestServer() -menettelyyn "Request Constructor" -käsittelyssä ja kutsumme kontekstivalikosta uudelleen "Query Constructor with result processing".

Jos haluat "kutistaa" kyselyn tuloksen, voit käyttää tätä tarkoitusta varten kyselyn suunnittelijan "Ryhmittäminen" -välilehteä.

Ryhmittelyjä määriteltäessä on noudatettava seuraavaa sääntöä: kaikki kyselyn valintakentät on jaettu kenttiin, joilla ryhmittely (konvoluutio) suoritetaan, sisäkkäisten taulukoiden kenttiin (kentät, jotka summataan suhteessa niihin, joilla ryhmittely suoritetaan) ja aggregaat toimintoja. Määritellään ryhmittelyt (Kuva 2.70).

Kuva 2.70 Kyselynrakennustyökalu

Jos pyynnön vastaanottamat tiedot on valittava jonkin ehdon mukaan, voi tällöin olla tarpeen käyttää "Ehdot"-välilehteä. Valitaan TavaravastaanottoGoods.Quantity=10 (Kuva 2.71).

Kuva 2.71 Kyselykonstruktorin ehto.

Huomaa, että jos ehto määritellään samalla tavalla kuin kuvassa, pyyntöä ei suoriteta.

On kaksi tapaa korjata tilanne:

    Määrittelemällä ehto uudelleen tarkistamalla "P..."-lippu;

    Hyödyntämällä mahdollisuutta muuttaa itse pyyntötekstiä (saatu napsauttamalla "Muokkaa pyyntöä" -painiketta).

Itse manuaalinen muutos koostuu siitä, että "&"-symboli on poistettava ennen numeroa "10". Tämä symboli pyyntötekstissä määrittelee pyyntöparametrit, joihin osa arvoista on kirjoitettava myöhemmin (mutta ennen pyynnön suorittamista). Napsauta "Muokkaa kyselyä" -painiketta ja muokkaa (Kuva 2.72).

Kuva 2.73 Kyselyn muokkaaminen

"Lisäasetukset"-välilehdellä voit tarkistaa joukon lippuja (liittyvät kyselykielen "Valitse"-avainsanaan) ja määrittää kyselyn muuttamiseen tarkoitettujen taulukoiden koostumuksen (Kuva 2.74).

Kuva 2.74 Muut kyselytoiminnot

"Liittymät/aliakset" -välilehdellä voit muuttaa kenttien nimiä asettamalla "Aliases", mutta emme tee tätä.

"Tilaus"-välilehdellä voit määrittää tietueiden lajittelujärjestyksen kyselyn tuloksena (Kuva 2.75).

Kuva 2.75 Tietueiden lajittelujärjestys

Kiinnitä huomiota "Automaattinen tilaus" -merkkiin, sillä sitä voidaan käyttää viitetyypin kenttien järjestämiseen.

Kun määrität ”Yhteensä”-osion, sinun tulee varautua siihen, että kyselyn tuloksena tulee näkyviin ”lisämääräisiä” kokonaistietueita. Yhdessä näiden tietueiden kanssa kyselyn tuloksesta tulee hierarkkinen (Kuva 2.76).

Kuva 2.76. Kyselykonstruktorin tulokset.

On mahdollista määrittää useita tulostyyppejä:

    Elementit (kyselyn tulosvalikoima sisältää ryhmittelysummat ja yksityiskohtaiset tietueet);

    Hierarkia (kyselyn tulosten valinnassa on yleensä hierarkian yhteenvetotietueet, ryhmittelyn yhteenvetotietueet ja yksityiskohtaiset tietueet);

    Vain hierarkia (kyselytulosten valinnassa on yleensä yhteenvetotietueita hierarkian mukaan).

Kun olet napsauttanut rakentajan "Ok"-painiketta, "Layout" luodaan ja koodi ExecuteRequestServer() -proseduurille kirjoitetaan lomakemoduuliin:

&Palvelimella

Toimenpide ExecuteRequestServer()

//((QUERY_CONSTRUCTOR_WITH_RESULT_PROCESSING

// Tämän fragmentin on rakentanut rakentaja.

// Kun konstruktoria käytetään uudelleen, manuaalisesti tehdyt muutokset menetetään!!!

Layout = Processing.QueryConstructor.GetLayout("Asettelu");

Pyyntö = Uusi pyyntö;

Pyyntö.Teksti =

| Tavaroiden vastaanotto Tavaroiden nimikkeistö,

| SUM (Receept of Goods Goods. Quantity) AS Määrä,

| SUM(Tavaran vastaanotto.Tavaramäärä) AS Summa

| Asiakirja.Tavaroiden vastaanotto.Tavarat

| MITEN SAAT TUOTTEET

| Tavaran vastaanotto Tavaramäärä > 1

|GROUP BY

| Tavaroiden vastaanotto. Nimikkeistö

|TILAUS

| Määrä,

| Määrä VÄHENNÄ

| SUMMA(määrä),

| SUMMA(summa)

| NimikkeistöHIERARKIA";

Tulos = Query.Run();

HeaderArea = Layout.GetArea("Otsikko");

AreaFooter = Layout.GetArea("Alatunniste");

TableHeadArea = Layout.GetArea("Taulukon otsikko");

TableFooterArea = Layout.GetArea("Taulukon alatunniste");

AreaNomenclatureHierarchy = Layout.GetArea("Nimikkehierarkia");

AreaNomenclature = Layout.GetArea("Nimikkeistö");

TabDoc.Clear();

TabDoc.Output(AreaHeader);

TabDoc.Output(Table HeadArea);

TabDoc.StartAutoGroupingRows();

SelectionNomenclature = Result.Select(BypassQueryResult.ByGrouping);

Vaikka SelectionNomenclature.Next() Loop

Jos SelectionNomenclature.RecordType() = RequestRecordType.TotalByHierarchy, sitten

Alue = AreaNomenclatureHierarchy;

Alue = RegionNomenclature;

loppu Jos;

Area.Parameters.Fill(SelectionNomenclature);

TabDoc.Output(Area, SelectionNomenclature.Level());

EndCycle;

TabDoc.FinishAutoGroupingRows();

TabDoc.Output(Taulukon alatunnistealue);

TabDoc.Output(AreaFooter);

//))CONSTRUCTOR_QUERY_WITH_RESULT_PROCESSING