Lasketut kentät SKD:ssä. Tiedonmuodostusjärjestelmän ilmaisukieli (1Cv8)

Hei rakas lukija! Meillä on toinen oppitunti asettelujärjestelmän perusteista. Vuonna tutustuit SKD-ilmaisukielen toimintoihin, näit asettelujärjestelmän ominaisuudet ja ymmärsit myös asettelukenttien perusasetukset. Nyt tarkastellaan uutta materiaalia. Mennä!

Lisäasetukset ACS-kentille.

Sarake "Arvon tyyppi" Voit määrittää asettelukentän tietotyypin. Miksi määrittää tyyppi esimerkiksi "Nimikkeistö"-kenttään, jos tiedät jo, mikä tyyppi se on? Tämä on tarpeen, jos asettelukenttä on yhdistelmätyyppiä. Voit valita tietyn tyypin, jolloin tämän kentän perusteella valitaan tämän tyypin arvot.

Sarake "Saatavilla olevat arvot" voit määrittää valittavissa olevat arvot ja rajoittaa käyttäjän valinnan tiettyihin rajoihin.

Sarake "Sisustus" voit määrittää asettelukentän suunnittelun käyttämättä asetteluja. Voit määrittää fontin värin, kehyksen värin, tekstin suunnan jne.

Sarake "Muokkausvaihtoehdot" Voit määrittää, kuinka asettelukenttää muokataan. Voit esimerkiksi määrittää pikavalinnan elementtejä valinnassa olevasta luettelosta. Oletusarvon mukaan asettelukenttä perii kaikki muokkausvaihtoehdot metatietoobjektilta.

Lasketut kentät

Tietokoostumuksen "Lasketut kentät" -välilehdellä voit luoda omia laskettuja kenttiä.

Miksi tarvitset laskettuja kenttiä, kun voit luoda ne kyselytasolla? Kaikkia kenttiä ei voida kuvata kyselyllä. Jos sinun on luotava monimutkainen kenttä erilaisista tietojoukoista, esimerkiksi kyselystä ja objektista, et tule toimeen ilman laskettuja kenttiä. Et voi lisätä tietojen koostumuskenttää, jos tietolähde on kysely ja automaattinen täyttö on käytössä, mutta käyttämällä laskettuja kenttiä voit lisätä niin monta kenttää kuin haluat.

Lasketun kentän "Lauseke"-sarakkeeseen on kirjoitettava mielivaltainen lauseke, joka käyttää tiedonkoostumuskenttiä ja käyttää niiden polkua ("Tietojoukot"-välilehden "Polku"-sarake). Voit joko käyttää matemaattisia muunnosfunktioita tai käyttää yleisten moduulien toimintoja. Esimerkiksi kirjoitetaan "Data Path" -sarakkeeseen lasketun kentän nimi "Poikkeama" ja "Expression"-kenttään seuraava.

Tulevan julkaisun 8.2.14 valossa yritän kuvailla joitain uusia tiedonkokoonpanojärjestelmän toimintoja.

Avaa tietojen asettelukaavio mieluiten ulkoisessa raportissa muokkauksen helpottamiseksi.

Lisäämme kyselytyypin tietojoukon ja kirjoitamme joko manuaalisesti tai kyselyn suunnittelijalla yksinkertaisen kyselyn:

1. Aseta pyyntö kulunvalvontajärjestelmään.

2. Aseta lasketut kentät kulunvalvontajärjestelmään

3. Määritä tietojen asettelu Asetukset-välilehdellä

4. Käynnistä 1C Enterprise 8.2.14. Avaa raportti. Muodostamme, vastaanotamme.

Kuvaus itse uusista toiminnoista:

1. Nykyinen päivämäärä ()

Palauttaa järjestelmän päivämäärän. Kun laaditaan asettelua, kaikissa asettelussa olevissa lausekkeissa CurrentDate()-funktio korvataan nykyisen päivämäärän arvolla.

2. LASKELAUS()

Syntaksi:

Laske lauseke(,)

Kuvaus:

Funktio on suunniteltu arvioimaan lauseke jonkin ryhmittelyn yhteydessä.

Toiminto ottaa huomioon ryhmittelyjen valinnan, mutta ei ota huomioon hierarkkisia valintoja.

Toimintoa ei voi soveltaa ryhmittelyyn kyseisen ryhmän ryhmävalinnassa. Esimerkiksi nimikkeistöryhmittelyä valittaessa et voi käyttää lauseketta LaskeLauseke("Sum(Summaliikevaihto)", "TotalTotal") > 1000. Mutta tällaista lauseketta voidaan käyttää hierarkkisessa valinnassa.

Jos lopputietue edeltää aloitustietuetta, katsotaan, ettei tietueita ole yksityiskohtaisen tiedon laskemiseen ja aggregaattifunktioiden laskemiseen.

Laskettaessa aikavälilausekkeita loppusummalle (Ryhmittelyparametri on asetettu GrandTotal-arvoon), oletetaan, että yksityiskohtaisen tiedon laskemiseen ja koontifunktioiden laskemiseen ei ole tietueita.

Asettelulinkkeri luotaessa funktiolauseketta Laske lauseke, jos järjestyslauseke sisältää kenttiä, joita ei voi käyttää ryhmittelyssä, korvaa funktion Laske lauseke päällä TYHJÄ.

Vaihtoehdot

Tyyppi: Linja. Arvioitava lauseke.

Tyyppi: Linja. Sisältää sen ryhmän nimen, jonka yhteydessä lauseke arvioidaan. Jos ryhmittelyn nimenä käytetään tyhjää merkkijonoa, laskenta suoritetaan nykyisen ryhmittelyn yhteydessä. Jos GeneralTotal-merkkijonoa käytetään ryhmän nimenä, laskenta suoritetaan loppusumman yhteydessä. Muussa tapauksessa laskenta suoritetaan samannimisen pääryhmän yhteydessä.

Esimerkiksi:

Summa(Sales.SumTurnover)/Laske("Sum(Sales.SumTurnover)", "Total")

Tässä esimerkissä tulos on summan suhde kenttien mukaan Myynti.Summa Liikevaihto ryhmitellä tietueet saman kentän summaan koko asettelussa;

Tyyppi: Linja. Parametri voi saada seuraavat arvot:

· loppusumma— lauseke lasketaan kaikille ryhmittelytietueille.

· Hierarkia— lauseke arvioidaan päähierarkkiselle tietueelle, jos sellainen on, ja koko ryhmittelylle, jos päähierarkkista tietuetta ei ole.

· Ryhmittely— lauseke arvioidaan nykyiselle ryhmäryhmittelytietueelle.

· GroupingNonResource— Kun funktio lasketaan ryhmätietueelle resurssien mukaan, lauseke lasketaan alkuperäisen ryhmittelyn ensimmäiselle ryhmätietueelle.

Kun lasketaan funktiota Laske lauseke() merkityksen kanssa GroupingNonResource ryhmätietueille, joita ei ole ryhmitelty resurssien mukaan, funktio lasketaan samalla tavalla kuin se laskettaisiin, jos parametrin arvo olisi sama kuin arvo Ryhmittely.

Tiedon koostumuksen asettelun rakennustyökalu, kun se luo tietojen koostumuksen asettelua tulostettaessa resurssikenttää, jolla ryhmittely suoritetaan asettelulle, sijoittaa asetteluun lausekkeen, joka lasketaan funktiolla Laske lauseke() , joka osoittaa parametrin GroupingNonResource. Muiden resurssien osalta tavalliset resurssilausekkeet sijoitetaan resurssien ryhmittelyyn.

Tyyppi: Linja. Ilmaisee, mistä tietueesta fragmentin tulee alkaa, mistä aggregaattilausekefunktiot tulee laskea ja mistä tietueesta saadaan kenttäarvot aggregaattifunktioiden ulkopuolelta. Arvo voi olla jokin seuraavista:

· Ensimmäinen

· Viimeinen (viimeinen)

· Edellinen

· Seuraava (seuraava)

· Nykyinen

· LimitingValue(BoundaryValue) LimitingValue

Tyyppi: Linja. Osoittaa mihin tietueeseen fragmenttia tulee jatkaa, missä lausekkeen aggregaattifunktiot tulee laskea. Arvo voi olla jokin seuraavista:

· Ensimmäinen. Ensimmäinen ryhmittelytietue on hankittava. Suluissa olevan sanan jälkeen voit määrittää lausekkeen, jonka tulosta käytetään siirtymänä ryhmittelyn alusta. Tuloksena olevan arvon on oltava nollaa suurempi kokonaisluku. Esimerkiksi First(3) - vastaanottaa kolmannen tietueen ryhmittelyn alusta.

Jos ensimmäinen tietue on ryhmittelyn ulkopuolella, katsotaan, että tietueita ei ole. Esimerkiksi jos tietueita on 3 ja haluat saada First(4), katsotaan, että tietueita ei ole.

· Viimeinen (viimeinen). Sinun on hankittava viimeinen ryhmittelytietue. Suluissa olevan sanan jälkeen voit määrittää lausekkeen, jonka tulosta käytetään siirtymänä ryhmittelyn lopusta. Tuloksena olevan arvon on oltava nollaa suurempi kokonaisluku. Esimerkiksi Last(3) - vastaanottaa kolmannen tietueen ryhmän lopusta.

Jos viimeinen tietue on ryhmittelyn ulkopuolella, katsotaan, ettei tietueita ole. Esimerkiksi jos tietueita on 3 ja haluat saada Last(4), katsotaan, ettei tietueita ole.

· Edellinen. Sinun on hankittava edellinen ryhmittelytietue. Suluissa olevan sanan jälkeen voit määrittää lausekkeen, jonka tulosta käytetään siirtymänä takaisin nykyisestä ryhmittelytietueesta. Esimerkiksi Edellinen(2) - edellisen saaminen edellisestä tietueesta.

Jos edellinen tietue ylittää ryhmittelyn (esimerkiksi toiselle ryhmittelytietueelle on hankittava Edellinen(3)), saadaan ensimmäinen ryhmittelytietue.

Haettaessa edellistä tietuetta ryhmittelysummalle katsotaan, että ensimmäinen tietue on saatu.

· Seuraava (seuraava). Sinun on hankittava seuraava ryhmittelytietue. Suluissa olevan sanan jälkeen voit määrittää lausekkeen, jonka tulosta käytetään siirtymänä eteenpäin nykyisestä ryhmittelytietueesta. Esimerkiksi Seuraava(2) - seuraavaksi pääseminen seuraavasta tietueesta.

Jos seuraava tietue ylittää ryhmittelyn, katsotaan, että tietueita ei ole. Esimerkiksi, jos merkintöjä on 3 ja kolmas vastaanottaa Next() , niin katsotaan, että merkintöjä ei ole.

Kun ryhmittelysummalle vastaanotetaan seuraava tietue, katsotaan, ettei tietueita ole.

· Nykyinen. Sinun on hankittava nykyinen ennätys.

Kun haetaan ryhmittelysummaa, saadaan ensimmäinen tietue.

· LimitingValue(BoundaryValue). Tarve saada tietue määritetyllä arvolla. Sanan jälkeen LimitingValue suluissa on ilmoitettava lauseke, jonka arvolla haluat aloittaa fragmentin, ensimmäinen järjestyskenttä.

Ensimmäinen tietue, jonka järjestyskentän arvo on suurempi tai yhtä suuri kuin määritetty arvo, palautetaan tietueeksi. Esimerkiksi, jos Jakso-kenttää käytetään tilauskenttänä ja sen arvot ovat 01/01/2010, 02/01/2010, 03/01/2010 ja haluat saada Rajoitusarvo(PäiväysAika(2010, 1, 15)), sitten vastaanotetaan tietue, jonka päivämäärä on 1.2.2010.

Tyyppi: Linja. Luetteloi lausekkeet pilkuilla erotettuina, jotka kuvaavat järjestyssääntöjä. Jos sitä ei ole määritetty, järjestys suoritetaan samalla tavalla kuin ryhmittelylle, jolle lauseke arvioidaan. Jokaisen lausekkeen jälkeen voit määrittää avainsanan Ikä(tilataan nousevassa järjestyksessä), Laskeva(tilaus alenevassa järjestyksessä) ja Automaattinen tilaus(järjestääksesi viitekentät niiden kenttien mukaan, joiden mukaan haluat järjestää viitatun kohteen). Sana Automaattinen tilaus voidaan käyttää kuten sanaa Ikä, niin sanan kanssa Laskeva.

Tyyppi: Linja. Sama kuin parametri Lajittelu. Käytetään hierarkkisten tietueiden järjestämiseen. Jos sitä ei ole määritetty, asettelun rakentaja luo järjestyksen parametrissa määritetyn järjestyksen mukaisesti Lajittelu.

Tyyppi: Linja. Määrittää säännön edellisen tai seuraavan tietueen määrittämiseksi, jos tietueita on useita, joilla on sama järjestysarvo:

· Erikseen osoittaa, että järjestetyn tietueen sarjaa käytetään määrittämään edelliset ja seuraavat tietueet. Oletusarvo.

· Yhdessä osoittaa, että edellinen ja seuraava tietue määritetään järjestyslausekkeiden arvojen perusteella.

Jos tuloksena oleva sarja on esimerkiksi järjestetty päivämäärän mukaan:

Päivämäärä Koko nimi Merkitys
1 01. tammikuuta 2001

Ivanov M.

10
2 02 tammikuuta 2001 Petrov S. 20
3 03. tammikuuta 2001 Sidorov R. 30
4 04 tammikuuta 2001 Petrov S. 40

Erikseen, Tuo:

§ kohdan 3 edellinen merkintä on merkintä 2.

Nykyinen, nykyinen(vastaavasti parametrit alkaa Ja Loppu), tietueelle 2 tämä fragmentti koostuu yhdestä tietueesta 2. Lauseke on yhtä suuri kuin 20.

Jos parametrin arvo on Yhdessä, Tuo:

§ kohdan 3 edellinen merkintä on merkintä 1.

§ jos laskentafragmentti on määritelty Nykyinen, nykyinen(vastaavasti parametrit alkaa Ja Loppu), silloin tietueelle 2 tämä fragmentti koostuu tietueista 2 ja 3. Lauseke Laske lauseke("Sum(arvo)", Nykyinen, Nykyinen) on yhtä suuri kuin 50.

Kun määritetään parametrin arvo, joka on yhtä suuri kuin Yhdessä, parametreissa alkaa Ja Loppu et voi määrittää positioiden siirtymää Ensimmäinen, viimeinen, edellinen, seuraava.

LaskeLauseus("Summa(Summaliikevaihto)", "Ensimmäinen", "Nykyinen")

Jos haluat saada edellisen rivin ryhmittelyarvon, voit käyttää seuraavaa lauseketta:

CalculateExpression("Arvo", "Edellinen")

Lista Uusi toiminnot:

CalculateExpressionWithGroupArray(,) -

Funktio palauttaa taulukon, jonka jokainen elementti sisältää lausekkeen arvioinnin tuloksen ryhmittelyä varten määritetyn kentän mukaan.

CalculateExpressionWithGroupValueTable(,) -

Funktio palauttaa arvotaulukon, jonka jokainen rivi sisältää lausekkeiden arviointituloksen ryhmittelyä varten määritetyn kentän mukaan

Arvotäytetty() - Palauttaa True, jos arvo on muu kuin tämän tyypin oletusarvo, muu kuin NULL, muu kuin tyhjä viite, muu kuin Undefined. Boolen arvot tarkistetaan NULL-arvojen varalta. Merkkijonoista tarkistetaan, ettei niissä ole muita kuin välilyöntejä

Muoto(, ) - Vastaanota muotoiltu merkkijono välitetystä arvosta. Muotomerkkijono asetetaan 1C:Enterprise-järjestelmän muotomerkkijonon mukaisesti.

Alimerkkijono(, , ) - Tämä toiminto on suunniteltu poimimaan alimerkkijono merkkijonosta.

Linjan pituus() - Funktio on suunniteltu määrittämään merkkijonon pituus. Parametri on merkkijonolauseke

Linja() - Jos taulukko välitetään parametrina, funktio palauttaa merkkijonon, joka sisältää merkkijonoesitykset kaikista taulukon elementeistä erotettuna "; "-merkeillä. Jos arvotaulukko välitetään parametrina, funktio palauttaa merkkijonon, joka sisältää merkkijonoesitykset arvotaulukon kaikista riveistä, jolloin kunkin rivin soluesitykset on erotettu ";"-merkeillä ja rivit rivillä merkki. Jos elementin merkkijonoesitys on tyhjä, sen esityksen sijaan näytetään merkkijono.

Tulevan julkaisun 8.2.14 valossa yritän kuvailla joitain uusia tiedonkokoonpanojärjestelmän toimintoja.

Avaa tietojen asettelukaavio mieluiten ulkoisessa raportissa muokkauksen helpottamiseksi.

Lisäämme kyselytyypin tietojoukon ja kirjoitamme joko manuaalisesti tai kyselyn suunnittelijalla yksinkertaisen kyselyn:

1. Aseta pyyntö kulunvalvontajärjestelmään.

2. Aseta lasketut kentät kulunvalvontajärjestelmään

3. Määritä tietojen asettelu Asetukset-välilehdellä

4. Käynnistä 1C Enterprise 8.2.14. Avaa raportti. Muodostamme, vastaanotamme.

Kuvaus itse uusista toiminnoista:

1. Nykyinen päivämäärä ()

Palauttaa järjestelmän päivämäärän. Kun laaditaan asettelua, kaikissa asettelussa olevissa lausekkeissa CurrentDate()-funktio korvataan nykyisen päivämäärän arvolla.

2. LASKELAUS()

Syntaksi:

Laske lauseke(,)

Kuvaus:

Funktio on suunniteltu arvioimaan lauseke jonkin ryhmittelyn yhteydessä.

Toiminto ottaa huomioon ryhmittelyjen valinnan, mutta ei ota huomioon hierarkkisia valintoja.

Toimintoa ei voi soveltaa ryhmittelyyn kyseisen ryhmän ryhmävalinnassa. Esimerkiksi nimikkeistöryhmittelyä valittaessa et voi käyttää lauseketta LaskeLauseke("Sum(Summaliikevaihto)", "TotalTotal") > 1000. Mutta tällaista lauseketta voidaan käyttää hierarkkisessa valinnassa.

Jos lopputietue edeltää aloitustietuetta, katsotaan, ettei tietueita ole yksityiskohtaisen tiedon laskemiseen ja aggregaattifunktioiden laskemiseen.

Laskettaessa aikavälilausekkeita loppusummalle (Ryhmittelyparametri on asetettu GrandTotal-arvoon), oletetaan, että yksityiskohtaisen tiedon laskemiseen ja koontifunktioiden laskemiseen ei ole tietueita.

Asettelulinkkeri luotaessa funktiolauseketta Laske lauseke, jos järjestyslauseke sisältää kenttiä, joita ei voi käyttää ryhmittelyssä, korvaa funktion Laske lauseke päällä TYHJÄ.

Vaihtoehdot

Tyyppi: Linja. Arvioitava lauseke.

Tyyppi: Linja. Sisältää sen ryhmän nimen, jonka yhteydessä lauseke arvioidaan. Jos ryhmittelyn nimenä käytetään tyhjää merkkijonoa, laskenta suoritetaan nykyisen ryhmittelyn yhteydessä. Jos GeneralTotal-merkkijonoa käytetään ryhmän nimenä, laskenta suoritetaan loppusumman yhteydessä. Muussa tapauksessa laskenta suoritetaan samannimisen pääryhmän yhteydessä.

Esimerkiksi:

Summa(Sales.SumTurnover)/Laske("Sum(Sales.SumTurnover)", "Total")

Tässä esimerkissä tulos on summan suhde kenttien mukaan Myynti.Summa Liikevaihto ryhmitellä tietueet saman kentän summaan koko asettelussa;

Tyyppi: Linja. Parametri voi saada seuraavat arvot:

· loppusumma— lauseke lasketaan kaikille ryhmittelytietueille.

· Hierarkia— lauseke arvioidaan päähierarkkiselle tietueelle, jos sellainen on, ja koko ryhmittelylle, jos päähierarkkista tietuetta ei ole.

· Ryhmittely— lauseke arvioidaan nykyiselle ryhmäryhmittelytietueelle.

· GroupingNonResource— Kun funktio lasketaan ryhmätietueelle resurssien mukaan, lauseke lasketaan alkuperäisen ryhmittelyn ensimmäiselle ryhmätietueelle.

Kun lasketaan funktiota Laske lauseke() merkityksen kanssa GroupingNonResource ryhmätietueille, joita ei ole ryhmitelty resurssien mukaan, funktio lasketaan samalla tavalla kuin se laskettaisiin, jos parametrin arvo olisi sama kuin arvo Ryhmittely.

Tiedon koostumuksen asettelun rakennustyökalu, kun se luo tietojen koostumuksen asettelua tulostettaessa resurssikenttää, jolla ryhmittely suoritetaan asettelulle, sijoittaa asetteluun lausekkeen, joka lasketaan funktiolla Laske lauseke() , joka osoittaa parametrin GroupingNonResource. Muiden resurssien osalta tavalliset resurssilausekkeet sijoitetaan resurssien ryhmittelyyn.

Tyyppi: Linja. Ilmaisee, mistä tietueesta fragmentin tulee alkaa, mistä aggregaattilausekefunktiot tulee laskea ja mistä tietueesta saadaan kenttäarvot aggregaattifunktioiden ulkopuolelta. Arvo voi olla jokin seuraavista:

· Ensimmäinen

· Viimeinen (viimeinen)

· Edellinen

· Seuraava (seuraava)

· Nykyinen

· LimitingValue(BoundaryValue) LimitingValue

Tyyppi: Linja. Osoittaa mihin tietueeseen fragmenttia tulee jatkaa, missä lausekkeen aggregaattifunktiot tulee laskea. Arvo voi olla jokin seuraavista:

· Ensimmäinen. Ensimmäinen ryhmittelytietue on hankittava. Suluissa olevan sanan jälkeen voit määrittää lausekkeen, jonka tulosta käytetään siirtymänä ryhmittelyn alusta. Tuloksena olevan arvon on oltava nollaa suurempi kokonaisluku. Esimerkiksi First(3) - vastaanottaa kolmannen tietueen ryhmittelyn alusta.

Jos ensimmäinen tietue on ryhmittelyn ulkopuolella, katsotaan, että tietueita ei ole. Esimerkiksi jos tietueita on 3 ja haluat saada First(4), katsotaan, että tietueita ei ole.

· Viimeinen (viimeinen). Sinun on hankittava viimeinen ryhmittelytietue. Suluissa olevan sanan jälkeen voit määrittää lausekkeen, jonka tulosta käytetään siirtymänä ryhmittelyn lopusta. Tuloksena olevan arvon on oltava nollaa suurempi kokonaisluku. Esimerkiksi Last(3) - vastaanottaa kolmannen tietueen ryhmän lopusta.

Jos viimeinen tietue on ryhmittelyn ulkopuolella, katsotaan, ettei tietueita ole. Esimerkiksi jos tietueita on 3 ja haluat saada Last(4), katsotaan, ettei tietueita ole.

· Edellinen. Sinun on hankittava edellinen ryhmittelytietue. Suluissa olevan sanan jälkeen voit määrittää lausekkeen, jonka tulosta käytetään siirtymänä takaisin nykyisestä ryhmittelytietueesta. Esimerkiksi Edellinen(2) - edellisen saaminen edellisestä tietueesta.

Jos edellinen tietue ylittää ryhmittelyn (esimerkiksi toiselle ryhmittelytietueelle on hankittava Edellinen(3)), saadaan ensimmäinen ryhmittelytietue.

Haettaessa edellistä tietuetta ryhmittelysummalle katsotaan, että ensimmäinen tietue on saatu.

· Seuraava (seuraava). Sinun on hankittava seuraava ryhmittelytietue. Suluissa olevan sanan jälkeen voit määrittää lausekkeen, jonka tulosta käytetään siirtymänä eteenpäin nykyisestä ryhmittelytietueesta. Esimerkiksi Seuraava(2) - seuraavaksi pääseminen seuraavasta tietueesta.

Jos seuraava tietue ylittää ryhmittelyn, katsotaan, että tietueita ei ole. Esimerkiksi, jos merkintöjä on 3 ja kolmas vastaanottaa Next() , niin katsotaan, että merkintöjä ei ole.

Kun ryhmittelysummalle vastaanotetaan seuraava tietue, katsotaan, ettei tietueita ole.

· Nykyinen. Sinun on hankittava nykyinen ennätys.

Kun haetaan ryhmittelysummaa, saadaan ensimmäinen tietue.

· LimitingValue(BoundaryValue). Tarve saada tietue määritetyllä arvolla. Sanan jälkeen LimitingValue suluissa on ilmoitettava lauseke, jonka arvolla haluat aloittaa fragmentin, ensimmäinen järjestyskenttä.

Ensimmäinen tietue, jonka järjestyskentän arvo on suurempi tai yhtä suuri kuin määritetty arvo, palautetaan tietueeksi. Esimerkiksi, jos Jakso-kenttää käytetään tilauskenttänä ja sen arvot ovat 01/01/2010, 02/01/2010, 03/01/2010 ja haluat saada Rajoitusarvo(PäiväysAika(2010, 1, 15)), sitten vastaanotetaan tietue, jonka päivämäärä on 1.2.2010.

Tyyppi: Linja. Luetteloi lausekkeet pilkuilla erotettuina, jotka kuvaavat järjestyssääntöjä. Jos sitä ei ole määritetty, järjestys suoritetaan samalla tavalla kuin ryhmittelylle, jolle lauseke arvioidaan. Jokaisen lausekkeen jälkeen voit määrittää avainsanan Ikä(tilataan nousevassa järjestyksessä), Laskeva(tilaus alenevassa järjestyksessä) ja Automaattinen tilaus(järjestääksesi viitekentät niiden kenttien mukaan, joiden mukaan haluat järjestää viitatun kohteen). Sana Automaattinen tilaus voidaan käyttää kuten sanaa Ikä, niin sanan kanssa Laskeva.

Tyyppi: Linja. Sama kuin parametri Lajittelu. Käytetään hierarkkisten tietueiden järjestämiseen. Jos sitä ei ole määritetty, asettelun rakentaja luo järjestyksen parametrissa määritetyn järjestyksen mukaisesti Lajittelu.

Tyyppi: Linja. Määrittää säännön edellisen tai seuraavan tietueen määrittämiseksi, jos tietueita on useita, joilla on sama järjestysarvo:

· Erikseen osoittaa, että järjestetyn tietueen sarjaa käytetään määrittämään edelliset ja seuraavat tietueet. Oletusarvo.

· Yhdessä osoittaa, että edellinen ja seuraava tietue määritetään järjestyslausekkeiden arvojen perusteella.

Jos tuloksena oleva sarja on esimerkiksi järjestetty päivämäärän mukaan:

Päivämäärä Koko nimi Merkitys
1 01. tammikuuta 2001

Ivanov M.

10
2 02 tammikuuta 2001 Petrov S. 20
3 03. tammikuuta 2001 Sidorov R. 30
4 04 tammikuuta 2001 Petrov S. 40

Erikseen, Tuo:

§ kohdan 3 edellinen merkintä on merkintä 2.

Nykyinen, nykyinen(vastaavasti parametrit alkaa Ja Loppu), tietueelle 2 tämä fragmentti koostuu yhdestä tietueesta 2. Lauseke on yhtä suuri kuin 20.

Jos parametrin arvo on Yhdessä, Tuo:

§ kohdan 3 edellinen merkintä on merkintä 1.

§ jos laskentafragmentti on määritelty Nykyinen, nykyinen(vastaavasti parametrit alkaa Ja Loppu), silloin tietueelle 2 tämä fragmentti koostuu tietueista 2 ja 3. Lauseke Laske lauseke("Sum(arvo)", Nykyinen, Nykyinen) on yhtä suuri kuin 50.

Kun määritetään parametrin arvo, joka on yhtä suuri kuin Yhdessä, parametreissa alkaa Ja Loppu et voi määrittää positioiden siirtymää Ensimmäinen, viimeinen, edellinen, seuraava.

LaskeLauseus("Summa(Summaliikevaihto)", "Ensimmäinen", "Nykyinen")

Jos haluat saada edellisen rivin ryhmittelyarvon, voit käyttää seuraavaa lauseketta:

CalculateExpression("Arvo", "Edellinen")

Lista Uusi toiminnot:

CalculateExpressionWithGroupArray(,) -

Funktio palauttaa taulukon, jonka jokainen elementti sisältää lausekkeen arvioinnin tuloksen ryhmittelyä varten määritetyn kentän mukaan.

CalculateExpressionWithGroupValueTable(,) -

Funktio palauttaa arvotaulukon, jonka jokainen rivi sisältää lausekkeiden arviointituloksen ryhmittelyä varten määritetyn kentän mukaan

Arvotäytetty() - Palauttaa True, jos arvo on muu kuin tämän tyypin oletusarvo, muu kuin NULL, muu kuin tyhjä viite, muu kuin Undefined. Boolen arvot tarkistetaan NULL-arvojen varalta. Merkkijonoista tarkistetaan, ettei niissä ole muita kuin välilyöntejä

Muoto(, ) - Vastaanota muotoiltu merkkijono välitetystä arvosta. Muotomerkkijono asetetaan 1C:Enterprise-järjestelmän muotomerkkijonon mukaisesti.

Alimerkkijono(, , ) - Tämä toiminto on suunniteltu poimimaan alimerkkijono merkkijonosta.

Linjan pituus() - Funktio on suunniteltu määrittämään merkkijonon pituus. Parametri on merkkijonolauseke

Linja() - Jos taulukko välitetään parametrina, funktio palauttaa merkkijonon, joka sisältää merkkijonoesitykset kaikista taulukon elementeistä erotettuna "; "-merkeillä. Jos arvotaulukko välitetään parametrina, funktio palauttaa merkkijonon, joka sisältää merkkijonoesitykset arvotaulukon kaikista riveistä, jolloin kunkin rivin soluesitykset on erotettu ";"-merkeillä ja rivit rivillä merkki. Jos elementin merkkijonoesitys on tyhjä, sen esityksen sijaan näytetään merkkijono.

1. Laske (Eval)- on tarkoitettu arvioimaan ilmaisua jonkin ryhmittelyn yhteydessä. Toimintoa käytetään yhteensopivuuden varmistamiseen alustan aikaisempien versioiden kanssa. Sen sijaan on suositeltavaa käyttää CalculateExpression-toimintoa.

Syntaksi:
Laske (lauseke, ryhmittely, laskentatyyppi)

Vaihtoehdot:

  • Ilmaisu(Linja). Sisältää lasketun lausekkeen;
  • Ryhmittely(Linja). Sisältää sen ryhmän nimen, jonka yhteydessä lauseke arvioidaan. Jos ryhmittelyn nimenä käytetään tyhjää merkkijonoa, laskenta suoritetaan nykyisen ryhmittelyn yhteydessä. Jos GrandTotal-merkkijonoa käytetään ryhmän nimenä, laskenta suoritetaan loppusumman yhteydessä. Muussa tapauksessa laskenta suoritetaan samannimisen pääryhmän yhteydessä.
    Esimerkiksi:
    Summa(Myynti.Summaliikevaihto) / Laske("Summa(Myynti.Summaliikevaihto)", "Yhteensä").
    Tässä esimerkissä tulos on ryhmittelytietueen "Sales.AmountTurnover" -kentän summan suhde saman kentän määrään koko asettelussa.
  • Laskentatyyppi(Linja). Jos tämän parametrin arvoksi on asetettu "TotalTotal", lauseke lasketaan kaikille ryhmittelytietueille. Jos parametrin arvo on "Ryhmittäminen", arvot lasketaan nykyiselle ryhmittelyryhmätietueelle.
2. Arvioi lauseke (EvalExpression) - on tarkoitettu arvioimaan ilmaisua jonkin ryhmittelyn yhteydessä. Toiminto ottaa huomioon ryhmittelyjen valinnan, mutta ei ota huomioon hierarkkisia valintoja. Toimintoa ei voi soveltaa ryhmittelyyn kyseisen ryhmän ryhmävalinnassa.

Syntaksi:
Laske lauseke (lauseke, ryhmittely, laskentatyyppi, alku, loppu, lajittelu, hierarkkinen lajittelu, prosessointiIdenticalOrderValues)

Vaihtoehdot:

  • Ilmaisu(Linja). Sisältää lasketun lausekkeen;
  • Ryhmittely(Linja). Sisältää sen ryhmän nimen, jonka yhteydessä lauseke arvioidaan. Jos ryhmän nimenä käytetään tyhjää merkkijonoa, laskenta suoritetaan nykyisen ryhmittelyn yhteydessä. Jos GrandTotal-merkkijonoa käytetään ryhmän nimenä, laskenta suoritetaan loppusumman yhteydessä. Muussa tapauksessa laskenta suoritetaan kyseisen nimen ylätason ryhmittelyn yhteydessä;
  • Laskentatyyppi(Linja). Jos tämän parametrin arvoksi on asetettu "TotalTotal", lauseke lasketaan kaikille ryhmittelytietueille. Jos parametrin arvo on "Ryhmittäminen", arvot lasketaan nykyiselle ryhmittelyryhmätietueelle. Jos parametrin arvoksi on asetettu "Ei resurssien ryhmittely", laskettaessa ryhmätietueen funktiota resurssin mukaan lauseke arvioidaan alkuperäisen ryhmittelyn ensimmäiselle ryhmätietueelle. Arvioitaessa CalculateExpression-funktiota arvolla "GroupingNonResource" ryhmätietueille, jotka eivät ole ryhmittelyjä resurssien mukaan, funktio arvioidaan samalla tavalla kuin se arvioitaisiin "Grouping"-parametrin arvolla. Kun tietojen koostumuksen asettelun rakennustyökalu luodaan tietojen koostumuksen asettelua tulostettaessa kenttä - resurssi, jonka avulla ryhmittely suoritetaan, asettelulle tulostetaan lauseke, joka on laskettu CalculateExpression-funktiolla määritetyn "GroupingNon-Resource"-parametrin kanssa. Muille resurssien mukaan ryhmitellyille resursseille palautetaan normaalit resurssilausekkeet. Jos parametrin arvoksi on asetettu "Hierarkia", lauseke on arvioitava hierarkkisen ylätietueen osalta, jos sellainen on, ja koko ryhmittelylle, jos ylätason hierarkkista tietuetta ei ole. Luodessaan lausekkeen % hierarkiaryhmässä -kenttään asettelun rakennustyökalu luo lausekkeen, joka sisältää resurssilausekkeen suhteen CalculateExpression-funktioon laskettavalle resurssilausekkeelle nykyiselle ryhmittelylle laskentatyypillä Hierarkia.
  • alkaa. Ilmaisee, mistä tietueesta fragmentin tulee alkaa, mistä aggregaattilausekefunktiot tulee laskea ja mistä tietueesta saadaan kenttäarvot aggregaattifunktioiden ulkopuolelta. Merkkijono, joka sisältää yhden seuraavista:
    • "Ensimmäinen" Ensimmäinen ryhmittelytietue on hankittava. Suluissa olevan sanan jälkeen voit määrittää lausekkeen, jonka tulosta käytetään siirtymänä ryhmittelyn alusta. Tuloksena olevan arvon on oltava nollaa suurempi kokonaisluku. Esimerkiksi First(3) – vastaanottaa kolmannen tietueen ryhmittelyn alusta. Jos ensimmäinen tietue on ryhmän ulkopuolella, katsotaan, että tietueita ei ole. Esimerkiksi jos tietueita on 3 ja haluat saada First(4), katsotaan, että tietueita ei ole.
    • "Kestää" Sinun on hankittava viimeinen ryhmittelytietue. Suluissa olevan sanan jälkeen voit määrittää lausekkeen, jonka tulosta käytetään siirtymänä ryhmittelyn lopusta. Tuloksena olevan arvon on oltava nollaa suurempi kokonaisluku. Esimerkiksi Last(3) – vastaanottaa kolmannen tietueen ryhmän lopusta. Jos viimeinen tietue on ryhmittelyn ulkopuolella, katsotaan, ettei tietueita ole. Esimerkiksi jos tietueita on 3 ja haluat saada Last(4), katsotaan, ettei tietueita ole.
    • "Edellinen" Sinun on hankittava edellinen ryhmittelytietue. Suluissa olevan sanan jälkeen voit määrittää lausekkeen, jonka tulosta käytetään siirtymänä takaisin nykyisestä ryhmittelytietueesta. Esimerkiksi Edellinen(2) – edellisen tietueen hakeminen. Jos edellinen tietue on ryhmittelyn ulkopuolella (esimerkiksi toinen ryhmittelytietue vaatii Edellinen(3)), saadaan ensimmäinen ryhmittelytietue. Kun vastaanotetaan ryhmittelysumman edellinen tietue, saadaan ensimmäinen tietue.
    • "Seuraava" Sinun on hankittava seuraava ryhmittelytietue. Suluissa olevan sanan jälkeen voit määrittää lausekkeen, jonka tulosta käytetään siirtymänä eteenpäin nykyisestä ryhmittelytietueesta. Esimerkiksi Next(2) – seuraavan saaminen seuraavasta tietueesta. Jos seuraava tietue ylittää ryhmittelyn, katsotaan, että tietueita ei ole. Esimerkiksi, jos merkintöjä on 3 ja kolmas vastaanottaa Seuraava, katsotaan, että merkintöjä ei ole. Kun ryhmittelysummalle vastaanotetaan seuraava tietue, katsotaan, ettei tietueita ole.
    • "Nykyinen". Sinun on hankittava nykyinen ennätys. Kun haetaan ryhmittelysummaa, saadaan ensimmäinen tietue.
    • "BoundaryValue". Tarve saada tietue määritetyllä arvolla. Suluissa olevan LimitingValue-sanan jälkeen on ilmoitettava lauseke, jonka arvolla haluat aloittaa fragmentin, ensimmäinen järjestyskenttä. Ensimmäinen tietue, jonka järjestyskentän arvo on suurempi tai yhtä suuri kuin määritetty arvo, palautetaan tietueeksi. Esimerkiksi jos Jakso-kenttää käytetään järjestyskenttänä ja sen arvot ovat 01/01/2010, 02/01/2010, 03/01/2010 ja haluat saada LimitingValue(DateTime(2010) , 1, 15)) saadaan tietue päivämäärällä 01.2.2010.
  • Loppu. Osoittaa, mihin tietueeseen fragmenttia tulee jatkaa, missä aggregaattilauseke lasketaan. Merkkijono, joka sisältää yhden seuraavista:
    • "Ensimmäinen"
    • "Kestää"
    • "Edellinen"
    • "Seuraava"
    • "Nykyinen".
    • "BoundaryValue".
  • Lajittelu. Merkkijono, joka luettelee pilkuilla eroteltuna lausekkeet, joiden suuntaan sekvenssi tulee järjestää. Jos sitä ei ole määritetty, järjestys suoritetaan samalla tavalla kuin ryhmittelylle, jolle lauseke arvioidaan. Jokaisen lausekkeen jälkeen voit määrittää avainsanan Nouseva, nousevaan järjestykseen, Laskeva, laskevaan järjestykseen, Automaattinen järjestys, jotta viitekentät järjestyvät niiden kenttien mukaan, joiden mukaan haluat järjestellä viitattavan kohteen. Sanaa Auto Order voidaan käyttää sekä sanan Nouseva että sanan Laskeva kanssa.
  • Hierarkkinen lajittelu. Samanlainen kuin lajittelu. Käytetään hierarkkisten tietueiden järjestämiseen. Jos sitä ei ole määritetty, asettelukompositori luo järjestyksen Lajittele-parametrissa määritetyn järjestyksen mukaisesti.
  • Käsittelee samoja tilausarvoja. Merkkijono, joka sisältää yhden seuraavista:
    • "Yhdessä" tarkoittaa, että järjestetyn tietueen sarjaa käytetään määrittämään edelliset ja seuraavat tietueet;
    • "Erikseen" tarkoittaa, että edellinen ja seuraava tietue määritetään järjestyslausekkeiden arvojen perusteella;
    Jos tuloksena oleva sarja on esimerkiksi järjestetty päivämäärän mukaan:
    1. 1. tammikuuta 2001 Ivanov M. 10
    2. 2. tammikuuta 2001 Petrov S. 20
    3. 2. tammikuuta 2001 Sidorov R. 30
    4. 3. tammikuuta 2001 Petrov S. 40
    Käytettäessä identtisten arvojen käsittelyä järjestyksessä "Erillisesti", edellinen tietueelle 3 on tietue 2, ja käytettäessä "Yhdessä" - tietue 1. Ja nykyisen tietueen fragmentti tietueelle 2 tietueelle 2 "Erillisesti" on tietue 2, ja "Yhdessä" - tietueet 2 ja 3. Siten nykyisen ennätyksen "Erillinen" kokonaissumma on 20 ja "Yhdessä" - 50. Kun "Yhdessä" on määritetty aloitus- ja Loppuparametrit, et voi määrittää siirtymää asemille “Ensimmäinen”, “Viimeinen”, “Edellinen”, “Seuraava”. Oletusarvo on "Erillinen".
Esimerkki:
Ryhmittelytietueen "Sales.AmountTurnover" -kentän summan ja saman kentän summan suhteen saaminen koko asettelussa:
Summa(Myynti.SummaKiinnitys) / LaskeLauseke("Summa(Myynti.SummaLiikevaihto)", "Yhteensä").

Tämä esimerkki laskee nykyisen hierarkian arvon:
Valinta
Kun Taso() > 0
Sitten EvaluateExpression("Viite", "Hierarkia")
Muuten Null
Loppu

Huomautuksia:
Toiminto ottaa huomioon ryhmittelyjen valinnan, mutta ei ota huomioon hierarkkisia valintoja. Toimintoa ei voi soveltaa ryhmittelyyn kyseisen ryhmän ryhmävalinnassa. Esimerkiksi nimikkeistön ryhmittelyä valittaessa et voi käyttää lauseketta CalculateExpression("Sum(SumTurnover)", "TotalTotal") > 1000 . Mutta tällaista lauseketta voidaan käyttää hierarkkisessa valinnassa. Jos lopputietue edeltää aloitustietuetta, katsotaan, ettei tietueita ole yksityiskohtaisen tiedon laskemiseen ja aggregaattifunktioiden laskemiseen. Laskettaessa aikavälilausekkeita loppusummalle (Ryhmittelyparametri on asetettu arvoon "GrossTotal"), oletetaan, ettei tietueita ole yksityiskohtaisten tietojen ja koontifunktioiden laskemista varten. Luodessaan lauseketta CalculateExpression-funktiolle, asettelukoostumus, jos järjestyslauseke sisältää kenttiä, joita ei voida käyttää ryhmittelyssä, korvaa CalculateExpression-funktion funktiolla NULL.

3. Arvioi lauseke ryhmätaulukolla (EvalExpression ryhmätaulukolla) - funktio palauttaa taulukon, jonka jokainen elementti sisältää lausekkeen laskennan tuloksen ryhmittelyä varten määritetyn kentän mukaan.

Syntaksi:
CalculateExpressionWithGroupArray (Expression, GroupFieldExpressions, SelectRecords, SelectGroups)

Vaihtoehdot:

  • Ilmaisu(String) - arvioitava lauseke. Esimerkiksi "Summa(AmountTurnover)";
  • FieldExpressiionsGroups
  • Tietueiden valinta
  • Ryhmien valinta- ryhmätietueisiin sovellettava valinta. Esimerkiksi: "Summa(Kiirtosumma) > &Parametri1".
Esimerkki:
Maksimi(CalculateExpressionWithGroupArray("Summa(Kiirtomäärä)", "Vastapuoli"));


Luodessaan lausekkeita mukautetun kentän näyttämiseksi, jonka lauseke sisältää vain CalculateArrayWithGroup-funktion, asettelun rakennustyökalu luo näyttölausekkeen siten, että näkymien näyttämät tiedot ja tiedot ovat järjestettyjä.
Esimerkiksi mukautettu kenttä, jossa on lauseke:
CalculateExpressionWithGroupArray("Summa(Kiirtomäärä)", "Vastapuoli")
Asettelun rakennusohjelma luo tulosteelle seuraavan lausekkeen:
ConnectRows(Array(Order(CalculateExpressionWithGroupingValueTable("View(Sum(DataSet.AmountTurnover)), Summa(DataSet.AmountTurnover)", "DataSet.Account"), "2")))

4. Laske lauseke GroupValueTable-taulukolla (EvalExpressionWithGroupValueTable) - funktio palauttaa arvotaulukon, jonka jokainen elementti sisältää lausekkeen laskennan tuloksen ryhmittelyä varten määritetyn kentän mukaan.

Syntaksi:
CalculateExpressionWithGroupValueTable (lauseke, ryhmäkenttälausekkeet, tietueiden valinta, ryhmän valinta)

Vaihtoehdot:

  • Ilmaisu(String) - arvioitava lauseke. Rivi voi sisältää useita pilkuilla erotettuja lausekkeita. Jokaisen lausekkeen jälkeen voi olla valinnainen avainsana AS ja arvotaulukon sarakkeen nimi. Esimerkki: "Vastapuoli, Summa (AmountTurnover) Myyntimääränä."
  • FieldExpressiionsGroups- ryhmittelykenttien lausekkeet pilkuilla erotettuina. Esimerkiksi "vastapuoli, osapuoli";
  • Tietueiden valinta- lauseke, jota käytetään yksityiskohtiin. Esimerkiksi "Poista lippu = false". Jos tämä parametri käyttää aggregaattifunktiota, dataa muodostettaessa tapahtuu virhe.
  • Ryhmien valinta- ryhmätietueisiin sovellettava valinta. Esimerkiksi: "Summa(Kiirtosumma) > &Parametri1".
Esimerkki:
CalculateExpressionWithGroupValueTable("Vastapuoli AS-vastapuoli, Summa(AmountTurnover) ASSalesVolume", "vastapuoli")

Tämän toiminnon tuloksena on arvotaulukko, jossa on sarakkeet Vastapuoli ja Myyntivolyymi, joka sisältää vastapuolet myyntimäärineen.
Asettelun rakennustyökalu muuntaa asettelua luodessaan funktioparametrit dataasettelun asettelukentiksi. Esimerkiksi Tili-kenttä muunnetaan DataSet.Account-muotoon.
Esimerkiksi mukautettu kenttä lausekkeella:
CalculateExpressionWithGroupValueTable("Tili, Summa(Kiirtomäärä)", "Tili")
Asettelun rakennusohjelma luo tulosteelle seuraavan lausekkeen:
ConnectRows(GetPart(Order(CalculateExpressionWithGroupingValueTable) ), "2, 4"))

5. Taso - toiminto on suunniteltu saamaan nykyinen tallennustaso.

Syntaksi:
Taso()

Esimerkki:
Taso()

6. SequenceNumber - hanki seuraava sarjanumero.

Syntaksi:
NumberByOrder()

Esimerkki:
NumberByOrder()

7. SequenceNumberInGrouping - palauttaa nykyisen ryhmittelyn seuraavan järjestysnumeron.

Esimerkki:
NumberByOrderInGroup()

8. Muoto - saada muotoiltu merkkijono välitetystä arvosta.

Syntaksi:
Muoto (arvo, muotomerkkijono)

Vaihtoehdot:

  • Merkitys- muotoiltava lauseke;
  • Muotomerkkijono- muotomerkkijono asetetaan 1C:Enterprise-muotoisen merkkijonon mukaisesti.
Esimerkki:
Muoto (Laskut. Asiakirjan summa, "NPV=2")

9. BeginOfPeriod

Syntaksi:
Aloituskausi (päivämäärä, ajanjakson tyyppi)

Vaihtoehdot:

  • Päivämäärä(Päivämäärä). määritetty päivämäärä;
  • Jakson tyyppi
Esimerkki:
Alkamisjakso(PäiväysAika(2002, 10, 12, 10, 15, 34), "Kuukausi")
Tulos: 10/01/2002 0:00:00

10. EndOfPeriod - toiminto on suunniteltu valitsemaan tietty päivämäärä tietystä päivämäärästä.

Syntaksi:
Loppukausi (päivämäärä, jaksotyyppi)

Vaihtoehdot:

  • Päivämäärä(Päivämäärä). määritetty päivämäärä;
  • Jakson tyyppi(Linja). Sisältää yhden seuraavista arvoista: Minute; Tunnin; Päivä; Viikko; Kuukausi; vuosineljännes; vuosi; vuosikymmen; Puoli vuotta.
Esimerkki:
Lopetusjakso(PäiväysAika(2002, 10, 12, 10, 15, 34), "viikko")
Tulos: 13.10.2002 23:59:59

11. AddKDate (DateAdd) - toiminto on suunniteltu lisäämään päivämäärään tietty arvo.

Syntaksi:
AddToDate (lauseke, lisäystyyppi, suuruus)

Vaihtoehdot:

  • Ilmaisu(Päivämäärä). Alkuperäinen päivämäärä;
  • Tyyppi Suurennus(Linja). Sisältää yhden seuraavista arvoista: Minute; Tunnin; Päivä; Viikko; Kuukausi; vuosineljännes; vuosi; vuosikymmen; Puoli vuotta.
  • Suuruus(Määrä). Kuinka paljon päivämäärää on lisättävä, murto-osa jätetään huomiotta.
Esimerkki:
AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Kuukausi", 1)
Tulos: 11/12/2002 10:15:34

12. Päivämääräero - toiminto on suunniteltu saamaan ero kahden päivämäärän välillä.

Syntaksi:
Eropäivämäärä (lauseke1, lauseke2, erotyyppi)

Vaihtoehdot:

  • Ilmaisu 1(Päivämäärä). vähennetty päivämäärä;
  • Ilmaisu 2(Päivämäärä). Alkuperäinen päivämäärä;
  • Tyyppiero(Linja). Sisältää yhden seuraavista arvoista: Second; Minuutti; Tunnin; Päivä; Kuukausi; vuosineljännes; vuosi.
Esimerkki:
PÄIVÄMÄÄRÄEROTUS(DATETIME(2002, 10, 12, 10, 15, 34),
PÄIVÄMÄÄRÄ (2002, 10, 14, 9, 18, 06), "PÄIVÄ")
Tulos: 2

13. Alimerkkijono - Tämä toiminto on suunniteltu poimimaan osamerkkijono merkkijonosta.

Syntaksi:
Osamerkkijono (merkkijono, sijainti, pituus)

Vaihtoehdot:

  • Linja(Linja). Merkkijono, josta osamerkkijono erotetaan;
  • asema(Määrä). Sen merkin paikka, josta merkkijonosta erotettava osamerkkijono alkaa;
  • Pituus(Määrä). Varatun alimerkkijonon pituus.
Esimerkki:
SUBSTRING(Tilit.Osoite, 1, 4)

14. StringLength - funktio on suunniteltu määrittämään merkkijonon pituus.

Syntaksi:
Merkkijonon pituus (merkkijono)

Parametri :

  • Linja(Linja). Merkkijono, jonka pituus on määritetty.
Esimerkki:
Rivi (vastapuolet. Osoite)

15. Vuosi- Tämä toiminto on suunniteltu poimimaan vuosi Date-tyypin arvosta.

Syntaksi:
Vuosi (päivämäärä)

Parametri :

  • Päivämäärä(Päivämäärä). Päivämäärä, johon mennessä vuosi määritetään.
Esimerkki:
YEAR(kustannus.päivämäärä)

16. Neljännes - Tämä toiminto on suunniteltu poimimaan vuosineljänneksen numero päivämäärätyypin arvosta. Neljännesluku vaihtelee tavallisesti välillä 1-4.

Syntaksi:
vuosineljännes (päivämäärä)

Parametri :

  • Päivämäärä(Päivämäärä). Päivämäärä, johon mennessä vuosineljännes määritellään
Esimerkki:
NELJÄNNES(kulut.Päivämäärä)

17. Kuukausi - Tämä toiminto on suunniteltu poimimaan kuukauden numero päivämäärätyypin arvosta. Kuukauden numero vaihtelee tavallisesti välillä 1-12.

Syntaksi:
Kuukausi(päivämäärä)

Parametri :

  • Päivämäärä(Päivämäärä). Päivämäärä, johon mennessä kuukausi määritetään.
Esimerkki:
KUUKAUSI(kulut.Päivämäärä)

18. Vuoden päivä (DayOfYear) - Tämä toiminto on suunniteltu hankkimaan vuoden päivä Date-tyypin arvosta. Vuoden päivä vaihtelee normaalisti välillä 1-365 (366).

Syntaksi:
Vuoden päivä (päivämäärä)

Parametri :

  • Päivämäärä(Päivämäärä). Päivämäärä, johon mennessä vuoden päivä määritetään.
Esimerkki:
PÄIVÄVUOSI (Kulutili.Päivämäärä)

19. Päivä- Tämä toiminto on suunniteltu hankkimaan kuukauden päivä Date-tyypin arvosta. Kuukauden päivä vaihtelee normaalisti välillä 1-31.

Syntaksi:
Päivä (päivämäärä)

Parametri :

  • Päivämäärä(Päivämäärä). Päivämäärä, johon mennessä kuukauden päivä määritetään.
Esimerkki:
PÄIVÄ (kulut.Päivämäärä)

20. Viikko - Tämä toiminto on suunniteltu hankkimaan vuoden viikon numero päivämäärätyypin arvosta. Vuoden viikot on numeroitu 1:stä alkaen.

Syntaksi:
Viikko (päivämäärä)

Parametri :

  • Päivämäärä(Päivämäärä). Päivämäärä, johon mennessä viikkonumerot määritetään.
Esimerkki:
VIIKKO (kulut.päivämäärä)

21. Viikonpäivä - Tämä toiminto on suunniteltu saamaan viikonpäivä päivämäärätyypin arvosta. Normaali viikonpäivä vaihtelee välillä 1 (maanantai) - 7 (sunnuntai).

Syntaksi:
Viikonpäivä (päivämäärä)

Parametri :

  • Päivämäärä(Päivämäärä). Päivämäärä, johon mennessä viikonpäivä määritetään.
Esimerkki:
VIIKONPÄIVÄ (kululaskupäivä)

22. Tunti- Tämä toiminto on suunniteltu saamaan vuorokauden tunti päivämäärätyypin arvosta. Kellonaika vaihtelee 0-23 välillä.

Syntaksi:
Tunti (päivämäärä)

Parametri :

  • Päivämäärä(Päivämäärä). Päivämäärä, johon mennessä vuorokauden tunti määritetään.
Esimerkki:
TUNTI(kulut.Päivämäärä)

23. Minuutti - Tämä toiminto on suunniteltu saamaan tunnin minuutit päivämäärätyypin arvosta. Tunnin minuutti vaihtelee välillä 0 - 59.

Syntaksi:
Minuutti (päivämäärä)

Parametri :

  • Päivämäärä(Päivämäärä). Päivämäärä, johon mennessä tunnin minuutti määritetään.
Esimerkki:
MINUUTI(Kulu.Pvm)

24. Toinen - Tämä toiminto on suunniteltu saamaan minuutin sekunti päivämäärätyypin arvosta. Minuutin sekunti vaihtelee välillä 0-59.

Syntaksi:
Toinen (päivämäärä)

Parametri :

  • Päivämäärä(Päivämäärä). Päivämäärä, johon mennessä minuutin sekunnit määritetään.
Esimerkki:
TOINEN (kustannus.päivämäärä)

25. Näyttelijät - Tämä toiminto on suunniteltu poimimaan tyyppi lausekkeesta, joka voi sisältää yhdistetyypin. Jos lauseke sisältää muun kuin vaaditun tyypin, palautetaan NULL.

Syntaksi:
Express (lauseke, tyyppimerkintä)

Vaihtoehdot:

  • Ilmaisu- muunnettava lauseke;
  • Tyyppimerkintä(Linja). Sisältää tyyppimerkkijonon. Esimerkiksi "numero", "merkkijono" jne. Alkuperäisten tyyppien lisäksi tämä rivi voi sisältää taulukon nimen. Tässä tapauksessa yritetään ilmaista viittaus määritettyyn taulukkoon.
Esimerkki:
Express(Data.Props1, "Numero(10,3)")

26. IsNull (IsNull) - tämä funktio palauttaa toisen parametrin arvon, jos ensimmäisen parametrin arvo on NULL. Muussa tapauksessa ensimmäisen parametrin arvo palautetaan.

Syntaksi:
IsNull(lauseke1, lauseke2)

Vaihtoehdot:

  • Ilmaisu 1- tarkistettava arvo;
  • Ilmaisu 2- palauttaa arvon, jos lauseke1 on NULL.
Esimerkki:
KylläNULL(määrä(Myynti.Määräliikevaihto), 0)

27.ACos- laskee kaarikosinin radiaaneina.

Syntaksi:
ACos (lauseke)

Parametri :

  • Ilmaisu(Määrä). Kosiniarvo (välillä -1 ... 1), jolla kulma määritetään.
28.ASin- laskee arcsinin radiaaneina.

Syntaksi:
ASin (lauseke)

Parametri :

  • Ilmaisu(Määrä). Siniarvo (välillä -1 ... 1), jolla kulma määräytyy.
29.ATan- laskee arktangentin radiaaneina.

Syntaksi:
Atan(lauseke)

Parametri :

  • Ilmaisu(Määrä). Tangentin arvo, jolla kulma määritetään.
30. Cos- laskee kosinin.

Syntaksi:
Cos (lauseke)

Parametri :

  • Ilmaisu
31. Exp- luvun e nostaminen potenssiin.

Syntaksi:
Exp (lauseke)

Parametri :

  • Ilmaisu(Määrä). Tutkinnon merkitys.
32.Loki- laskee luonnollisen logaritmin.

Syntaksi:
Loki (lauseke)

Parametri :

  • Ilmaisu
33.Loki10- laskee X:n logaritmin kantaan 10.

Syntaksi:
Loki10 (lauseke)

Parametri :

  • Ilmaisu(Määrä). Alkuperäinen luku on suurempi kuin 0.
34. Pow- eksponentiointi.

Syntaksi:
Pow (pohja, ilmaisin)

Vaihtoehdot:

  • Pohja(Määrä). Eksponenttioperaation perusta.
  • Indeksi(Määrä). Eksponentti.
35. Synti- laskee sinin.

Syntaksi:
Synti (ilmaus)

Parametri :

  • Ilmaisu(Määrä). Ilmoitettu radiaaneina.
36. Sqrt- laskee neliöjuuren.

Syntaksi:
Sqrt (lauseke)

Parametri :

  • Ilmaisu(Määrä). Ei-negatiivinen luku.
37. Tan- laskee tangentin.

Syntaksi:
Tan (lauseke)

Parametri :

  • Ilmaisu(Määrä). Siniarvo, jolla kulma määritetään.
38. Pyöreä- pyöristää alkuperäisen luvun vaadittuun bittisyvyyteen. Pyöristystila on vakio (1,5 as 2).

Syntaksi:
Env (lauseke, bittisyvyys)

Vaihtoehdot:

  • Ilmaisu(Määrä). Alkuperäinen numero;
  • Bittinen syvyys(Määrä). Pyöristettävien desimaalien määrä.
39. Int- katkaisee luvun murto-osan.

Syntaksi:
Objekti (lauseke)

Parametri :

  • Ilmaisu(Määrä). Murtoluku.
40. Yleisten moduulien toiminnot

Tiedon kokoonpanomoottorin lauseke voi sisältää kutsuja yleisten yleisten konfigurointimoduulien funktioille. Tällaisten funktioiden kutsumiseen ei tarvita ylimääräistä syntaksia.

Esimerkki:
Lyhennetty nimi (Dokumentit.Linkki, Asiakirjat.Päiväys, Asiakirjat.Numero)

Tässä esimerkissä "AbbreviatedName"-funktiota kutsutaan yleisestä konfigurointimoduulista.
Huomaa, että yleisten moduulitoimintojen käyttö on sallittua vain, jos asianmukainen tietojen koostumuksen prosessoriparametri on määritetty.
Lisäksi yleisten moduulien toimintoja ei voi käyttää mukautetuissa kenttälausekkeissa.

41. Resentaatio - tämä funktio palauttaa ei-primitiivityypin välitetyn arvon merkkijonoesityksen. Alkuperäisen tyypin arvoille palauttaa itse arvon.

<Пустое значение>".

Esimerkki:
Esitys (vastapuoli)

42. Kieli - Tämä funktio muuntaa välitetyn arvon merkkijonoksi.

Jos parametrina käytetään taulukkoa tai arvotaulukkoa, funktio palauttaa merkkijonon, joka sisältää merkkijonoesityksen kaikista taulukon elementeistä erotettuna merkeillä ";". Jos jollakin elementillä on tyhjä merkkijonoesitys, merkkijono "<Пустое значение>".

Esimerkki:
Rivi (myyntipäivämäärä)

43. ValueIsFilled

NULL-arvoille Undefined palauttaa aina False.
Boolen arvoille se palauttaa aina True.
Muille tyypeille palauttaa True, jos arvo poikkeaa tietyn tyypin oletusarvosta.

Esimerkki:
Arvotäytetty (toimituspäivä)

44. LevelInGroup - Tämä toiminto saa nykyisen tallennustason suhteessa ryhmittelyyn.

Voidaan käyttää tietueen sisäkkäisen tason saamiseksi hierarkkisessa ryhmittelyssä.

Esimerkki:
LevelInGroup()

45. ValueType

Syntaksi:
Arvotyyppi (lauseke)

Parametri :

  • Ilmaisu(Linja). Merkkijonoarvon tyyppi.
Palauttaa Type-tyypin arvon, joka sisältää funktioparametrin arvotyypin.

Tietojen kokoonpanokaavion (DCS) oikea käyttö mahdollistaa

  • vähentää merkittävästi raportin laatimiseen kuluvaa aikaa;
  • poistaa tarpeen luoda hallitun lomakkeen käsittelijä;
  • saat kauniin lopputuloksen, jonka käyttäjä voi mukauttaa lisää.

Mutta kaikki kehittäjät eivät hyödynnä järjestelmän ominaisuuksia, koska kaikki sen asetukset eivät ole ilmeisiä ja intuitiivisia. Erityisesti monet ihmiset tietävät, että 1C SKD:ssä on laskettuja kenttiä, mutta he eivät täysin ymmärrä niiden käytön laajuutta ja työskentelymenetelmiä niiden kanssa.

Mikä on laskettu kenttä

Useimmissa tapauksissa asettelukaavion tietolähde on kysely. Periaatteessa itse kyselyssä voi jo käyttää erilaisia ​​kaavoja, konstruktioita ja lausekkeita. Herää luonnollinen kysymys: miksi tarvitsemme päällekkäisiä toimintoja?

Tosiasia on, että kulunvalvontajärjestelmä on jotain muuta kuin vain kyselyn tuloksen näyttämistä, ja tämä näkyy selvästi kaavion luontilomakkeesta (kuva 1).

Laskettujen kenttien avulla voit suorittaa tiettyjä toimintoja luodulle tietojoukolle:

  • Tulostaa joukko pyynnön vastaanottamia tietoja tiettyyn soluun yhdistämällä useita rivejä yhdeksi;
  • Pääsy yleisen moduulin vientitoimintoihin;
  • Suorita asettelukielelle käytettävissä olevat lausekkeet ja käytä erityisiä EvaluateExpression-toimintoja.

Käydään tämä lista läpi.

Arvojen joukko yhdessä solussa

Simuloitetaan tilannetta, jossa on tarpeen saada kaikki vastapuolen kuittitositteen numerot erilliseen soluun:


Näin ollen olemme luoneet lisälaskentakentän kaavioihimme;


Kuten yllä olevasta esimerkistä näet, laskettujen kenttien lisäämisessä ja käsittelyssä ei ole vaikeuksia. Käytimme kahta funktiota: Array() ja ConnectRows().

Muutama sana jälkimmäisestä. Ensimmäisen parametrin, joka ilmaisee taulukon tunnisteen, arvojen tai arvon, lisäksi siihen voidaan asettaa kaksi muuta:

  1. Element Separator – osoittaa, mikä merkki erottaa yhden taulukon elementin tai yhden arvotaulukon rivin toisesta (tässä tapauksessa jätimme tämän parametrin pois ja rivinvaihto määritettiin oletuksena);
  2. Sarakeerotin – merkki, jota käytetään arvotaulukon sarakkeiden erottamiseen (puolipiste on oletuksena käytössä).

Yhteisen moduulin vientitoimintojen käyttö

Yhteisen moduulin toiminnot voivat toimia tietolähteenä lasketun kentän täyttämiseen.

Muutama tärkeä seikka:

  • Toiminnon on oltava vientikelpoinen;
  • Jos funktio sijaitsee yhteisessä moduulissa "Global"-attribuutilla, sitä kutsutaan suoraan nimellä, muuten funktiota on kutsuttava "Jaettu moduulin nimi" -mallin mukaisesti. "Kutsuttavan funktion nimi."

Käyttöesimerkkinä otamme saman pyynnön kuittiasiakirjoille ja näytämme sen erillisessä sarakkeessa. Emme kuvaa itse pyyntöä, siirrytään suoraan laskettuihin kenttiin:


Näin ollen näemme, että lähes mikä tahansa tietojenkäsittelylaite voidaan alustaa kulunvalvontajärjestelmästä, mikä laajentaa merkittävästi järjestelmän käyttömahdollisuuksia.

Asettelukielen ilmaisut

Melko usein kehittäjän työssä syntyy tilanne, kun on tarpeen näyttää jaon tulos ACS-kentässä:

  1. Laske tuotteen keskihinta;
  2. Kaikenlaisia ​​etuja;
  3. Keskiansioiden laskelmat jne.

Ongelmien välttämiseksi näissä tapauksissa on suositeltavaa syöttää laskettuun kenttään testi nollalla jakamiseksi.

Tämä voidaan tehdä käyttämällä konstruktiota "Valinta Milloin….Sitten… Muuten… Loppu".

Lopuksi muutama sana melko uudesta funktiosta CalculateExpression(). Sen avulla voit erityisesti laskea kulujen poikkeamia nykyisten ja edellisten rivien välillä, kumulatiivisen saldon jne.

Oletetaan, että saat asiakirjan määrän pyyntömme edelliseltä riviltä määrittämällä "Lauseke"-kenttään arvon Laske lauseke ("Tositemäärä", "Edellinen summa").