1s SKD ei näytä kokonaistuloksia. Esimerkkejä scd-funktion käytöstä - laske lauseke. Raportin esitysasetusten luominen

Raportteja luotaessa on useita tehtäviä, jotka suoraan ratkaistuna johtavat usein kirjoittamiseen raskaat kyselyt tai kyselyt silmukassa tai tietojen manuaalinen tulostus taulukkoon.

Tässä on esimerkkejä tällaisista tehtävistä:

  • Kasvavan myyntivolyymin saaminen kuukausittain esimerkiksi tuotokselle kaavion muodossa
  • Kuluvan ja edellisen kauden myynnin eron laskeminen - kaikille raporttiriveille
  • Kunkin johtajan myyntivolyymin vertailu viitearvoon, joka lasketaan tämän raportin luomisen yhteydessä
  • Kumulatiivisten kokonaismäärien saaminen vaakasuunnassa ja pystysuunnassa ristikkäisvälilehdissä

Ja kaikki nämä ongelmat ratkaistaan ​​yksinkertaisesti käyttämällä ACS-toimintoja - kirjaimellisesti parissa minuutissa. Ilman kyselyitä silmukassa ja kieroa koodia.

Tänään tarkastelemme joidenkin ACS-toimintojen käyttöä erityisten esimerkkien avulla.

Video 1. Kuinka saada raportissa oleva summa kumulatiiviseksi kokonaissummaksi?

Vastaavia ongelmia kohdataan usein käytännössä. Tyypillisin esimerkki on, että raportissa tulee esittää myynti jaksoittain; sinun on tiedettävä kuluvan kuukauden myynnin määrän lisäksi myös kumulatiivinen kokonaissumma raportin luomisen alusta.

Itse asiassa tämä ongelma voidaan ratkaista kyselyllä (ilman ACS-toimintoja), mutta ongelmaa on kaksi:

  • Sinänsä tällainen pyyntö on monimutkainen - sen kehittäminen ja virheenkorjaus vie aikaa.
  • Tällainen pyyntö kuormittaa järjestelmää vakavasti - ja mitä enemmän tietoa, sitä hitaammin se toimii.

ACS-toimintoja käyttämällä tämä tehtävä ratkaistaan ​​yhdellä koodirivillä ja raportti toimii mahdollisimman nopeasti, katso:

Video 2. Kuinka saada arvo raportin edelliseltä riviltä?

Tästä toiminnallisuudesta voi olla hyötyä, kun on tarpeen seurata tietyn resurssin trendiä - edelliseen tilaan verrattuna on laskua tai kasvua, ja delta on laskettava.

Tässä on muutamia esimerkkejä, joissa tästä voi olla hyötyä:

  • Myyntisaamisten analyysi päiväkohtaisesti - laskemme trendin ja velan absoluuttisen kasvun tai laskun edelliseen kauteen verrattuna
  • Valuuttakurssien analyysi ja valuuttakurssieroista aiheutuvien voittojen tai tappioiden arviointi - sinun on saatava nykyisen ja aiemman kurssien välinen delta ja kerrottava varojen saldolla valuutassa.

Tällaisten ongelmien ratkaiseminen kyselyn avulla on myös työlästä, mutta ACS:ssä tämä tehdään yhdellä rivillä:

Video 3. Kuinka verrata nykyisen rivin kokonaissummaa viitearvoon?

Esimerkki siitä, milloin tämä toiminto voi olla hyödyllinen:

  • Järjestelmä pitää kirjaa esimiesten myynnistä
  • Osaston johtaja hoitaa henkilökohtaista myyntiä esimiehen kanssa
  • Esimiehen on näytettävä myyntiraportti
  • Raportissa on myös näytettävä delta suhteessa osastopäällikön myyntimäärään.

Eli puhumme tarpeesta verrata johtajan myyntiä kutakin riviä osastopäällikön myyntiin.

Ja näitä tietoja voidaan käyttää esimerkiksi bonusten laskemiseen.

Ja jälleen, SKD:n avulla tämä ongelma ratkaistaan ​​yhdellä rivillä:

Video 4. Kumulatiivisen kokonaissumman saaminen ristiinvälilehdellä

Välilehtien välisessä raportissa juokseva kokonaissumma voidaan laskea sekä pystysuunnassa (riveittäin) että vaakasuunnassa (sarakkeittain).

Näytämme kuinka ohjataan kokonaissumman laskentasuuntaa yhdellä ACS-parametrilla:

Video 5. Taulukkoosan näyttäminen erillisessä raporttisolussa

Oletetaan, että sinun on kehitettävä raportti, joka näyttää tietoja asiakirjoista. Tässä tapauksessa erillisessä solussa on oltava asiakirjan taulukkomuotoinen osa.

Jos haluat ratkaista samanlaisen ongelman tavallisella kyselyllä, sinun on kirjoitettava tulos manuaalisesti laskentataulukkoasiakirjaan.

Katsotaanpa esimerkkiä:

Useita tavarayksiköitä toimitetaan asiakkaalle eri alennuksin. Sinun on näytettävä kunkin tuotteen alennusarvot raportissa ja laskettava keskimääräinen alennus. Luodaan kulunvalvontajärjestelmästä raportti.
Kaikille kentille, joiden kokonaissummat on näytettävä, asetamme lausekkeen (menetelmän) niiden laskemiseen Resurssit-välilehdessä. Aseta "Alennus"-kenttään laskentamenetelmäksi "Keskiarvo".

Annamme raportin:

Kuten näette, "Alennus"-kentän summa lasketaan kentän arvojen aritmeettisena keskiarvona, ts. kaikkien arvojen summa jaettuna arvojen lukumäärällä. Mutta koska Koska eri alennuksilla toimitettujen tavaroiden määrät ovat erilaisia, keskimääräinen alennus voidaan laskea toisella tavalla: esimerkiksi alennus huomioiden lähetettyjen tavaroiden kokonaismäärän suhteessa lähetettyjen tavaroiden kokonaismäärään. Mutta tässä herää kysymys: jos voit kirjoittaa kaavan ACS:n yksityiskohtaisten tietueiden kenttien arvojen laskemiseksi, summat lasketaan automaattisesti "Resurssit" -välilehdellä määritetyn lausekkeen mukaan, ja näimme aiemmin, "Keskiarvo" lasketaan näytettyjen arvojen aritmeettisena keskiarvona, kuten Pitäisikö tässä tapauksessa laskea tämän sarakkeen kokonaissumma omalla kaavallani?
Se ei itse asiassa ole vaikeaa. Tätä varten muokkaamme raporttiamme lisäämällä siihen tarvittavat kentät, jotka osallistuvat laskentaan, meidän tapauksessamme nämä ovat "AmountWithDiscount" ja "AmountAtPrice".

"Opettaaksemme" ACS:n näyttämään tulokset, suoritamme seuraavat vaiheet:
1. Määritä "Asetukset"-välilehdellä ryhmittelylle nimi "", esimerkiksi "ResultSKD", avaa ryhmittelyn kontekstivalikko ja napsauta "määritä nimi";

2. Lisää "Asettelut"-välilehdelle "ryhmittelyotsikon asettelu", jossa valitsemme aiemmin määritetyn nimen "TotalSKD";

3. piirrämme asettelun viivan, johon jätämme kaikki tulokset, joiden laskeminen meille sopii, sellaisina kuin ne ovat ja keskimääräisen alennusprosentin laskemiseksi kirjoitamme laskentakaavan;

Jos kaikki on oikein, raporttia esitettäessä sen alapuolelle tulee kaksi kokonaisriviä, ensin automaattisesti luotu rivi ja sitten luomasi rivi.

Jos haluat jättää vain kokonaisrivin tulosteen, sinun on poistettava asettelutulosteen "Muut asetukset" -osiossa "Asetukset"-välilehdeltä "Horisontaalinen kokonaiskokonaisasettelu" ja "Pystykokonaisasettelu" -tulosteet.

Tässä lyhyessä muistiinpanossa haluan näyttää, kuinka voit tehdä yhteenvedon arvoista raportin eri ryhmittelytasoilla käyttämällä tietojen kokoonpanojärjestelmää.
Kuten kuvassa näkyy, vain "Tuoteryhmät"-ryhmittelytasolla "Tilaus"-resurssi lasketaan, se näyttää, kuinka paljon nykyiselle tuoteryhmälle on tilattava tietyin ehdoin:


Tämä arvo voidaan laskea vain tällä ryhmittelytasolla, koska laskettavia arvoja ei ole ylä- tai alapuolella. Esimerkiksi yksityiskohtaisten tietueiden tasolla ei ole tietoa ryhmän enimmäismäärästä, koska tämä tieto koskee vain ryhmää kokonaisuutena, ei sen yksittäisiä komponentteja.

Sen mukaisesti nyt on tarpeen laskea yllä olevien ryhmien ("Varasto", "Varastotyypit") kokonaissummat ja kokonaissumma.
Voit tehdä tämän käyttämällä toimintoa CalculateExpressionWithGroupArray:
ARVIOI LAUMARYHMÄMAARJAN kanssa (EVALEXPRESSIONWITHGROUPARRAY)
Syntaksi:
EvaluateExpressionWithGroupArray(,)
Kuvaus:
Funktio palauttaa taulukon, jonka jokainen elementti sisältää lausekkeen arvioinnin tuloksen ryhmittelyä varten määritetyn kentän mukaan.
Asettelun kokoaja muuntaa asettelua luodessaan funktioparametrit tietojen koostumuksen asettelukentiksi. Esimerkiksi Tili-kenttä muunnetaan DataSet.Account-muotoon.
Kun asettelun rakennustyökalu luo lausekkeita mukautetun kentän tulosteelle, jonka lauseke sisältää vain CalculateArrayWithGroupArray() -funktion, luo tuloslausekkeen siten, että tulosteen tiedot on järjestetty. 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)),Sum(DataSet.AmountTurnover)",,"DataSet.Account"),"2")))

Vaihtoehdot:

Tyyppi: merkkijono. Arvioitava lauseke. Merkkijono, esimerkiksi Summa(AmountTurnover).

Tyyppi: merkkijono. Ryhmittelykenttälausekkeet – ryhmittelykenttien lausekkeet pilkuilla erotettuina. Esimerkiksi urakoitsija, osapuoli.

Tyyppi: merkkijono. Lauseke, joka kuvaa yksityiskohtien tietueisiin käytettyä valintaa. Lauseke ei tue aggregaattifunktioiden käyttöä. Esimerkiksi DeletionFlag = False.

Tyyppi: merkkijono. Lauseke, joka kuvaa ryhmätietueisiin käytettyä valintaa. Esimerkiksi Summa(SummaKierto) > &Parametri1.
Esimerkki:

Maksimi(CalculateExpressionWithGroupArray("Summa(Kiirtomäärä)", "Vastapuoli"));

Yksityiskohtainen kuvaus funktion syntaksista löytyy osoitteesta http://its.1c.ru/db/v837doc#bookmark:dev:TI000000582
Nyt laskentaa varten kopioimme "Tilaa"-kentän eri arvoilla "Calculate by..." käyttämällä seuraavia lausekkeita. Huomaa, että jokaisella korkeammalla tasolla käytetään ryhmittelyjen alapuolella olevien tasojen arvoja .

Tuloksena saamme seuraavan rakenteen:

Laske lauseke on melko vaikeasti ymmärrettävä ACS-toiminto, ja sovellusesimerkkejä on viitetiedoissa melko vähän. Tässä artikkelissa käsitellään esimerkkejä, joista on varmasti hyötyä jokaiselle kehittäjälle:

  1. kumulatiivinen kokonaismäärä ryhmittelyssä;
  2. kumulatiivinen kokonaissumma ristiinvälilehdellä;
  3. saada aikaisempi arvo;
  4. PM-lähtö yhdellä rivillä.

1. Indikaattorin saaminen suoriteperusteisesti

Otetaan tavaroiden määrä kumulatiivisena summana ryhmittelytasolla. Voit tehdä tämän luomalla lasketun kentän (katso kuva 1).
Aseta "Resurssit"-välilehdellä lasketun kentän funktio:
LaskeLauseus("Summa(Määräliikevaihto)", "Ensimmäinen", "Nykyinen")
joka summaa tuotteiden määrän ensimmäisestä tietueesta nykyiseen (katso kuva 2).

Jos tuotteen kumulatiivinen kokonaismäärä on hankittava yksityiskohtaisten tietueiden tasolla, asetamme Lasketut kentät -välilehden lasketun kentän CalculateExpression-funktion (katso kuva 3).
Kumulatiivisen kokonaissumman saamisen tasosta riippuen luomme ryhmittelyn (katso kuva 4): resurssitasolla - tavaroiden ryhmittely, kauko-ohjaustasolla - yksityiskohtaisten tietueiden ryhmittely.
Kuva 4. Raporttien ryhmittelyt kumulatiivisilla kokonaismäärillä

2. Ilmaisimen arvon hakeminen edelliseltä riviltä

Otetaan päivämäärän ja edellisen päivämäärän vaihtokurssi. Luo tätä varten laskettu kenttä ja kirjoita lausekekenttään seuraava lauseke (katso kuva 5):
CalculateExpression("Arvo", "Edellinen", "Edellinen")
joka ottaa nykyisen rivin valuuttakurssin edellisen arvon, funktion viimeinen parametri rajoittaa tietojen vastaanottamista.
Koska työskentelemme yksityiskohtaisten tietueiden tasolla, siirrymme heti "Asetukset" -välilehteen ja luomme ryhmittelyn - yksityiskohtaiset tietueet.

3. Indikaattorin saaminen kumulatiivisena kokonaissummana ristiinvälilehdellä

Otetaan tavaroiden määrä suoriteperusteisesti jaksoittain. Voit tehdä tämän luomalla lasketun kentän (katso kuva 1). "Resurssit"-välilehdellä määritämme lasketun kentän seuraavan lausekkeen (katso kuva 6):
LaskeLauseus("Summa(Määräliikevaihto)", "Jakso", "Ensimmäinen", "Nykyinen")
joka ryhmittelytasolla laskee tavaroiden määrän ensimmäiseltä riviltä nykyiseen jakson yhteydessä kunkin nimikkeen osalta.
Luo "Asetukset"-välilehdellä taulukko, jossa on ryhmittely kohteen mukaan rivillä ja ryhmittely pisteen mukaan sarakkeessa (katso kuva 7).

4. Taulukkotietojen tulostaminen yhdelle riville

Menetelmiä taulukkotietojen näyttämiseksi yhdellä rivillä, mukaan lukien menetelmä CalculateExpression-funktiolla, käsitellään artikkelissa

Tietojen koostumuksessa kokonaissumman asettaminen näyttää hieman erilaiselta kuin pyynnöissä. Määritellään "Kysely"-tietojoukko tiedon kokoonpanojärjestelmässä.

Itse pyynnössä emme määritä summia, vaan siirrymme tietojen koostumuksen "Resurssit" -välilehteen. Tietojen koostumuksen mallitasolla me määrittää resurssit. Nämä ovat kentät, jotka on laskettava ryhmittelytasolla. Napsauta ”>>”-painiketta ja järjestelmä itse siirtää kaikki numeeriset kentät ja määrittelee ne resursseiksi.

Voit määrittää resursseihin myös ei-numeerisia kenttiä. Jos esimerkiksi valitset "Linkki"-attribuutin, järjestelmä laskee ryhmissämme olevien asiakirjojen määrän. Nämä tiedot voivat myös olla hyödyllisiä. Niin, asettelukaaviossa määrittelemme vain resurssit, ja itse ryhmittelyt määritetään raporttiversion tasolla. Käyttäjä voi myös luoda ryhmittelyt, jotka hän haluaa nähdä raporttiasetusten asetuksissa.

Luodaan standardi tietojen koostumuksen asetus.
Napsauta "Avaa asetusten suunnittelija" -painiketta.

Valitaan raportin tyyppi - lista. Napsauta "Seuraava" -painiketta.

Valitaan kaikki kentät ja siirretään vastapuolikenttä ylimpään kohtaan. Napsauta "Seuraava" -painiketta.

Valitaan kaikki kentät ja siirretään vastapuolikenttä ylimpään kohtaan. Napsauta "OK"-painiketta.

Tuloksena on seuraava asetus:

Kuten näet, raporttivaihtoehtoa määritettäessä resurssit on korostettu vihreällä kuvakkeella, jotta ne voidaan nopeasti erottaa muista kentistä.

Jos avaamme raporttimme 1C:Enterprise-tilassa ja luomme sen, näemme, että lopulliset tiedot luodaan ryhmittelytasolla. Tulokset eritellen ja vastapuolittain.

Resurssien määrittäminen 1C-tietojen koostemallissa

Käännetään nyt huomiomme resursseille olemassa olevat asetukset. "Lauseke"-kentässä voimme määrittää koontifunktion, jota voidaan käyttää resurssin arvon saamiseksi. Avattavasta luettelosta näet useita vakiotoimintoja, mutta et kaikkia. Esimerkiksi toimintoja ei ole.

Täällä "Expression"-kenttään voimme kirjoittaa oman lausekkeen.

"Expression"-kentässä pääsemme myös yleisten moduulien toimintoihin.

Lisäksi voit määrittää "Laskeperuste..." -kentässä, minkä ryhmien mukaan resurssi lasketaan. Jos Laskeperuste... -kenttää ei täytetty, resurssin lopullinen arvo lasketaan kaikilla raporttivaihtoehdon asetuksissa määritellyillä ryhmittelytasoilla. Meidän tapauksessamme meidän on täytettävä "Määrä"-resurssin "Laskeperuste..." -kenttä, koska voimme myydä tavaroita eri mittayksiköillä. Esimerkiksi: öljy litroina ja pyörät kappaleina. Eikö olekin totta, että olisi epäloogista laskea yhteen näiden tavaroiden määriä? Siksi meidän on jätettävä määrän summaus nimiketasolle ja vastapuolitasolle
Poistetaan summaus.

Jos luomme raportin, näemme, että kokonaismäärät lasketaan vain nimikkeittäin ja urakoitsijoiden kokonaismäärät ovat tyhjiä.

Mahdollisuudet kuvattaessa resursseja 1C-datakokoonpanokaaviossa

harkitaan useita ei-ilmeisiä ominaisuuksia, jotka liittyvät resurssien kuvaukseen.

  • Jokainen resurssi voi määritellä useita kertoja. Mutta tämä on järkevää vain, jos
    resurssi lasketaan eri ryhmittelytasoilla. Esimerkiksi jos määrä, yhdessä tapauksessa
    on summattu kohteelle, ja urakoitsijoiden osalta saamme vähimmäisarvon.

Jos luomme raportin, näemme, että vastapuolen "Deriya" vähimmäisosto on viisi kappaletta "itseliimautuvan paperin" tuotevalikoimasta.

  • "Lauseke"-kentässä voit käyttää kaavan kirjoittamisen lisäksi erityinen tietojen kokoamistoiminto nimeltä "Laske". Tämän toiminnon avulla voit laskea lopullisen arvon tietyn kaavan avulla. Jokaisen vastapuolen on esimerkiksi tiedettävä ostojen prosenttiosuus fyysisinä yksiköinä suhteessa kokonaisvolyymiin. Mutta kuinka saada ostojen kokonaismäärä määrien mukaan? Käytä tätä varten "Laske"-toimintoa ja kirjoita seuraava lauseke "Lauseke"-kenttään:
Summa(määrä)/Laske("Summa(määrä)", "Yhteensä")*100

Nähtynä, kaikki "Calculate"-funktion parametrit ovat merkkijonoja. Jotta määräkenttä näkyy kauniisti raportissa, määritämme sen Tietojoukot-välilehdellä. Määrärivillä on "Muokkausvaihtoehdot" -kenttä. Avataan valintaikkuna, etsitään "Muoto"-rivi ja muokataan siinä olevaa muotoriviä asettamalla "Tarkkuus"-arvoksi kaksi "Numero"-välilehdellä.

Suoritetaan raportti ja katsotaan tulos ostojen prosenttiosuuden laskemisesta vastapuolelle "AUPP KOS LLP" suhteessa
kokonaistilavuus:


Artikkelin lopussa haluan suositella sinulle ilmaista Anatoli Sotnikovia. Tämä on kokeneen ohjelmoijan kurssi. Se näyttää sinulle erikseen, kuinka kulunvalvontajärjestelmässä luodaan raportteja. Sinun tarvitsee vain kuunnella tarkkaan ja muistaa! Saat vastaukset seuraaviin kysymyksiin:
  • Kuinka luoda yksinkertainen luetteloraportti?
  • Mitä varten Kenttä-, Polku- ja Otsikko-sarakkeet ovat Kentät-välilehdellä?
  • Mitkä ovat asettelukenttien rajoitukset?
  • Kuinka roolit määritetään oikein?
  • Mitkä ovat asettelukenttien roolit?
  • Mistä löydän kyselyn tietojen koostumus-välilehden?
  • Kuinka konfiguroida parametrit kulunvalvontajärjestelmässä?
  • Siitä tulee vielä mielenkiintoisempaa...
Ehkä sinun ei pitäisi yrittää surffata Internetissä itse etsiäksesi tarvittavaa tietoa? Lisäksi kaikki on käyttövalmis. Aloita vain! Kaikki yksityiskohdat ilmaisten videotuntien sisällöstä

Tässä on yksi oppituneista tietojen koostumuksen lisäämisestä kirjanmerkkeihin kyselyssä:

KATEGORIAT

SUOSITTUJA ARTIKKEJA

2024 “kuroku.ru” - Lannoite ja ruokinta. Vihannekset kasvihuoneissa. Rakentaminen. Sairaudet ja tuholaiset