Andmekoosseisu süsteemi väljenduskeele funktsioonid. Ressursside kasutamine juurdepääsukontrollisüsteemis välise tabeliaruande juurdepääsukontrollisüsteemi loomise näitel, et kuvada ressurss ainult rühmitatuna

Andmete koostises kogusummade seadistamine näeb välja pisut teistsugune kui taotlustes. Määratleme andmete koostamise süsteemis andmekogumi „Päring”.

Päringus endas me kogusummasid ei konfigureeri, vaid läheme andmete koostise vahekaardile „Ressursid”. Andmete koostamise skeemi tasemel me määrata ressursse. Need on väljad, mida tuleb rühmitamise tasemel loendada. Klõpsake nuppu “>>” ja süsteem ise edastab kõik numbriväljad ja määratleb need ressurssidena.

Samuti saate ressurssides määrata mittenumbrilisi välju. Näiteks kui valite atribuudi "Link", loendab süsteem meie rühmades olevate dokumentide arvu. See teave võib samuti olla kasulik. Niisiis, paigutusskeemis määratleme ainult ressursid ja rühmitused ise on konfigureeritud aruande variandi tasemel. Kasutaja saab luua ka rühmitused, mida ta soovib oma aruandevaliku seadetes näha.

Loome standardse andmekoosseisu sätte.
Klõpsake nuppu "Ava seadete kujundaja".

Valime aruande tüübi - loend. Klõpsake nuppu "Järgmine".

Valime kõik väljad ja tõstame vastaspoole välja ülemisele positsioonile. Klõpsake nuppu "Järgmine".

Valime kõik väljad ja tõstame vastaspoole välja ülemisele positsioonile. Klõpsake nuppu "OK".

Tulemuseks on järgmine seadistus:

Nagu näete, on aruandevaliku seadistamisel ressursid esile tõstetud rohelise ikooniga, et neid saaks kiiresti teistest väljadest eristada.

Kui avame oma aruande režiimis 1C:Enterprise ja genereerime selle, näeme, et lõplikud andmed genereeritakse rühmitamise tasemel. Tulemused kirjete ja osapoolte kaupa.

Ressursside seadistamine 1C andmete koostamise skeemis

Nüüd pöörame oma tähelepanu ressursside jaoks olemasolevad seaded. Väljal “Avaldis” saame määrata koondfunktsiooni, mida saab kasutada ressursi väärtuse saamiseks. Rippmenüüs näete mitmeid standardfunktsioone, kuid mitte kõiki. Näiteks puuduvad funktsioonid.

Siin väljale “Avaldis” saame kirjutada oma väljendi.

Väljal "Avaldis" pääseme ligi ka tavaliste moodulite funktsioonidele.

Lisaks saate väljal “Arvuta...” määrata, milliste rühmituste alusel ressurssi arvutada. Kui väli “Arvuta...” on täitmata, siis arvutatakse ressursi lõppväärtus kõigil grupeerimistasemetel, mis on aruande valiku seadistustes määratletud. Meie puhul peame täitma ressursi “Kogus” välja “Arvuta...”, kuna saame müüa erinevate mõõtühikutega kaupu. Näiteks: õli liitrites ja rattad tükkides. Kas pole tõsi, et nende kaupade koguste liitmine oleks ebaloogiline? Seetõttu peame jätma koguse liitmise kauba ja vastaspoole tasemele
Eemaldame summeerimise.

Kui koostame aruande, näeme, et koguste summad on arvutatud ainult artiklite kaupa ja töövõtjate kogusummad on tühjad.

Võimalused ressursside kirjeldamisel 1C andmete koostamise skeemis

kaalume hulk ressursside kirjeldamisega seotud mitteilmseid tunnuseid.

  • Iga ressurss saab määratleda mitu korda. Kuid sellel on mõtet ainult siis, kui
    ressurssi arvutatakse rühmituste erinevatel tasanditel. Näiteks kui kogus, siis ühel juhul
    on kirje jaoks summeeritud ja vastaspoolte puhul saame minimaalse väärtuse.

Kui koostame aruande, näeme, et vastaspoole “Deriya” minimaalne ost on viis ühikut “Isekleepuva paberi” tootevalikust.

  • Väljal „Avaldis” saate lisaks valemi kirjutamisele kasutada spetsiaalne andmete koostamise funktsioon nimega "Arvuta". See funktsioon võimaldab teil teatud valemi abil arvutada lõpliku väärtuse. Näiteks on iga osapoole jaoks vaja teada ostude protsenti naturaalsetes ühikutes kogumahust. Kuidas aga saada ostude kogumaht koguse järgi? Selleks kasutage funktsiooni "Arvuta" ja kirjutage väljale "Avaldis" järgmine avaldis:
Summa(kogus)/arvuta("Summa(kogus)", "kokku")*100

Nagu nähtud, kõik funktsiooni "Arvuta" parameetrid on stringid. Selleks, et koguse väli oleks aruandes ilusti kuvatud, konfigureerime selle vahekaardil „Andmekogumid”. Koguse realt leiame välja “Redigeerimisvalikud”. Avame dialoogi, otsime üles rida "Format" ja redigeerime selles vormingurida, määrates vahekaardil "Arv" väärtuse "Accuracy" väärtuseks kaks.

Käitame aruannet ja vaatame vastaspoole "AUPP KOS LLP" ostude protsendi arvutamise tulemust võrreldes
kogumaht:


Artikli lõpus tahan teile soovitada Anatoli Sotnikovi tasuta artiklit. See on kogenud programmeerija kursus. See näitab teile eraldi, kuidas juurdepääsukontrollisüsteemis aruandeid koostada. Peate lihtsalt hoolikalt kuulama ja meeles pidama! Saate vastused järgmistele küsimustele:
  • Kuidas luua lihtsat loendiaruannet?
  • Mille jaoks on vahekaardi „Väljad” veerud Väli, Tee ja Pealkiri?
  • Millised on paigutusväljade piirangud?
  • Kuidas rolle õigesti konfigureerida?
  • Millised on paigutusväljade rollid?
  • Kust leian päringus andmete koostise vahekaardi?
  • Kuidas konfigureerida parameetreid juurdepääsukontrollisüsteemis?
  • Läheb veelgi huvitavamaks...
Võib-olla ei peaks te proovima vajaliku teabe otsimiseks ise Internetis surfata? Pealegi on kõik kasutusvalmis. Lihtsalt alusta! Kõik üksikasjad tasuta videotundides sisalduva kohta

Siin on üks päringu andmete koostise järjehoidjate lisamise õppetundidest:

Vaatame näidet:

Kliendile saadetakse mitu kaubaühikut erinevate allahindlustega. Aruandes peate kuvama iga toote allahindlusväärtused ja arvutama keskmise allahindluse. Koostame läbipääsusüsteemi aruande.
Kõigi väljade jaoks, mille jaoks peame kogusummasid kuvama, määrame vahekaardil „Ressursid” nende arvutamiseks avaldise (meetodi). Määrake väljale "Allahindlus" arvutusmeetodiks "Keskmine".

Väljastame aruande:

Nagu näete, arvutatakse välja “Allahindlus” kogusumma välja väärtuste aritmeetilise keskmisena, s.o. kõigi väärtuste summa jagatud väärtuste arvuga. Aga sest Kuna erinevate allahindlustega saadetavate kaupade mahud on erinevad, saab keskmist allahindlust arvutada ka muul viisil: näiteks soodustust arvestades lähetatud kauba kogusumma suhtena lähetatud kauba kogusummasse. Kuid siin tekib küsimus: kui saate kirjutada valemi ACS-i üksikasjalike kirjete väljade väärtuste arvutamiseks, arvutatakse kogusummad automaatselt vastavalt vahekaardil "Ressursid" määratud avaldisele ja seal nagu nägime varem, "Keskmine" arvutatakse kuvatavate väärtuste aritmeetilise keskmisena, nagu Sel juhul peaksin selle veeru kogusumma arvutama oma valemi abil?
Tegelikult pole see raske. Selleks kohandame oma aruannet, lisades sellele vajalikud väljad, mis arvutuses osalevad, meie puhul on need “AmountWithDiscount” ja “AmountAtPrice”.

ACS-i "õpetamiseks" tulemusi kuvama teeme järgmised sammud:
1. määrake vahekaardil „Seaded” grupeeringule nimi, näiteks „ResultSKD”, selleks helistage rühmituse kontekstimenüüsse ja klõpsake nuppu "määrata nimi";

2. lisage vahekaardile "Layouts" "grupi päise paigutus", kus valime eelnevalt määratud nime "TotalSKD";

3. joonistame küljenduse joone, kuhu jätame kõik tulemused, mille arvutamine meile sobib, nii nagu need on ja keskmise allahindlusprotsendi arvutamiseks kirjutame arvutamise valemi;

Kui kõik on õige, siis aruande kuvamisel kuvatakse selle all kaks summaarset rida, kõigepealt automaatselt genereeritav, seejärel teie enda loodud rida.

Ainult kogurea väljundi jätmiseks peate paigutuse väljundi jaotises "Muud sätted" vahekaardil "Seaded" keelama väljundi "Horisontaalne üldpaigutus" ja "Vertikaalne üldpaigutus".

Artiklis kirjeldatakse näidet kaalutud keskmise praktilisest kasutamisest aruannete tulemustes. Näidatud on mõned juurdepääsukontrollisüsteemidega töötamise tehnikad. Artikkel on mõeldud koolitatud lugejale, kellel on vähemalt algoskused juurdepääsukontrollisüsteemide ja päringu koostajaga töötamiseks.

Kaalutud keskmise arvutamist kasutatakse aktiivselt juhtimisarvestuse ja muude äriliste arvutustega seotud ülesannetes.

A-prioor, - KAALUTU KESKMINE(kaalutud keskmine) on aritmeetiline keskmine, mis võtab arvesse iga termini kaalu, mille jaoks see keskmine arvutatakse.

Peaaegu kõigis juhtimisarvestuse õpikutes on kaalutud keskmise illustreerimiseks toodud näide sama toote kolme partii ostmisega - igal kaubapartiil on erinev ostuhind ja erinev kogus. Selge on see, et kui sellises olukorras võtta ostuhindade aritmeetiline keskmine, saame haigla keskmise temperatuuri - arvu, millel pole praktilist tähendust. Sellises olukorras on kaalutud keskmine mõte.

Sama õpikunäide: kaupa osteti kolmes partiis, millest üks oli 100 tonni 70 naela eest. Art. tonni kohta, teine ​​- 300 tonni 80 naela. Art. tonni kohta ja kolmandik - 50 tonni ja 95 naela. Art. tonni kohta, siis kokku ostab ta 450 tonni kaupa; tavaline keskmine ostuhind on (70 + 80 + 95): 3 = 81,7 naela. Art. Kaalutud keskmine hind, võttes arvesse iga partii mahtu, on võrdne (100 × 70) + (300 × 80) + (50 × 95) : 450 = 79,4 naela. Art. tonni kohta.

Valem:

Kus X on väärtused, mille kaalutud keskmist tahame saada, ja W on kaalud.

Siin see teooria lõpeb.

Sellega pidin tegelema, kui kuvasin kaupade müügiandmeid aruandes juhtide kaupa grupeerituna, kus oli vaja kasumlikkust saada. Aruande ridadel oli näidatud iga müüdud toote kasumlikkus, tulemustes oli vaja näha, millise kasumlikkusega juht töötas. Sellest lähtuvalt on kasumlikkus "väärtus" ja selle väärtuse "kaal" on tulu. Mitmed täpsustused pildi täiendamiseks. Tulu (müügimaht) on toote müügihind ja kogus korrutatuna. Brutokasum on tulu miinus kulud (kuidas täpselt kulu arvutati selle artikli kontekstis ei ole oluline). Ja lõpuks on meie kasumlikkus brutokasumi ja tulude suhe väljendatuna protsentides.

Tekib küsimus: millist kasumlikkust juht aruandeperioodil teenis? Sellele küsimusele õigesti vastamiseks peate arvutama kaalutud keskmise kasumlikkuse väärtuse.

Kasumlikkuse kaalutud keskmise saamiseks SKD-s loome päringukonstruktoris vormi abiväljameelevaldne väljend, kus registreerime kasumlikkuse ja tulude korrutise. Määrame sellele väljale aliase -Abiväli. Vaata allolevat pilti.

Me ei kuva seda välja aruandes, vajame andmeid tulemuste arvutamiseks. Arvutame tulemused vahekaardil ACSVahendid.

Teine meetod ACS-iga töötamiseks vahekaardil „Ressursid”, kus on näidatud kogusummade arvutamine, on võimalus kasutada avaldisi väljal „Avaldis” välja „Saadaolevad väljad” andmetega. Vaata allolevat pilti.

Aruande veergu “Kasumlikkuse protsent” kirjutame avaldise Summa(abiväli)/summa(tulu).

Kokkuvõtteks on kõigepealt oluline mõista, mis on kaalutud keskmine ja kus tuleb kasutada ainult aritmeetilist keskmist ja kus kaalutud keskmist. Tehnilisest vaatenurgast võivad kaks punkti tekitada mõningaid raskusi – aruandes abivälja loomine ja võimalus kasutada ACS-i ressurssides suvalist avaldist vajalike tulemuste arvutamiseks.

Loodan, et see artikkel on kellelegi kasulik.

1. Arvutage (Eval)- on mõeldud avaldise hindamiseks mõne rühmituse kontekstis. Seda funktsiooni kasutatakse platvormi eelmiste versioonidega ühilduvuse tagamiseks. Selle asemel on soovitatav kasutada funktsiooni CalculateExpression.

Süntaks:
Arvuta (avaldis, rühmitamine, arvutustüüp)

Valikud:

  • Väljendus(Joon). Sisaldab arvutatud avaldist;
  • Rühmitamine(Joon). Sisaldab rühmituse nime, mille kontekstis avaldist hinnatakse. Kui rühmituse nimena kasutatakse tühja stringi, tehakse arvutus praeguse rühmituse kontekstis. Kui grupi nimena kasutatakse stringi GrandTotal, tehakse arvutus üldsumma kontekstis. Vastasel juhul tehakse arvutus sama nimega emarühma kontekstis.
    Näiteks:
    Summa(Müük.Summakäive) / Arvuta("Sum(Müük.Summakäive)", "Kokku").
    Selles näites on tulemuseks rühmitamiskirje välja "Müük.Käive" summa ja kogu paigutuse sama välja summa suhe.
  • Arvutuse tüüp(Joon). Kui selle parameetri väärtuseks on seatud "TotalTotal", arvutatakse avaldis kõigi rühmituskirjete jaoks. Kui parameetri väärtus on "Rühmitamine", arvutatakse väärtused praeguse rühmitusrühma kirje jaoks.
2. Avaldise hindamine (EvalExpression) - on mõeldud avaldise hindamiseks mõne rühmituse kontekstis. Funktsioon võtab arvesse rühmituste valikut, kuid ei võta arvesse hierarhilisi valikuid. Funktsiooni ei saa rakendada selle rühmituse rühmavalikus olevale grupeeringule.

Süntaks:
Avaldise arvutamine (avaldis, rühmitamine, arvutuse tüüp, algus, lõpp, sortimine, hierarhiline sortimine, identsete järjekorraväärtuste töötlemine)

Valikud:

  • Väljendus(Joon). Sisaldab arvutatud avaldist;
  • Rühmitamine(Joon). Sisaldab rühmituse nime, mille kontekstis avaldist hinnatakse. Kui rühmituse nimena kasutatakse tühja stringi, tehakse arvutus praeguse rühmituse kontekstis. Kui grupi nimena kasutatakse stringi GrandTotal, tehakse arvutus üldsumma kontekstis. Vastasel juhul tehakse arvutus selle nimega ülemrühma kontekstis;
  • Arvutuse tüüp(Joon). Kui selle parameetri väärtuseks on seatud "TotalTotal", arvutatakse avaldis kõigi rühmituskirjete jaoks. Kui parameetri väärtus on "Rühmitamine", arvutatakse väärtused praeguse rühmitusrühma kirje jaoks. Kui parameetriks on seatud "Mitte-Ressursirühmitus", siis rühmakirje funktsiooni arvutamisel ressursi järgi hinnatakse avaldist algse rühmituse esimese rühmakirje jaoks. Funktsiooni CalculateExpression hindamisel väärtusega "GroupingNonResource" rühmakirjete jaoks, mis ei ole ressursipõhised rühmitused, hinnatakse funktsiooni samamoodi, nagu seda hinnataks parameetri "Grouping" väärtusega. Andmekoostise paigutuse koostaja, kui genereerib andmekoostise paigutuse välja – ressursi, mille abil rühmitamine toimub – väljastamisel, väljastab paigutusele avaldise, mis on arvutatud funktsiooniga CalculateExpression koos määratud parameetriga "GroupingNon-Resource". Muude ressursside järgi rühmitatud ressursside puhul tagastatakse tavalised ressursi avaldised. Kui parameetriks on seatud "Hierarhia", tuleb avaldist hinnata hierarhilise vanemakirje jaoks, kui see on olemas, ja kogu rühmituse jaoks, kui hierarhilist emakirjet pole. Paigutuse koostaja genereerib avaldise väljale % hierarhiarühmas avaldise genereerimisel avaldise, mis sisaldab ressursi avaldise seost funktsiooniga CalculateExpression praeguse arvutustüübiga Hierarhia arvutatava ressursiavaldise jaoks.
  • Alusta. Näitab, millisest kirjest fragment peaks algama, millisest koondväljenduse funktsioonid tuleks arvutada ja millisest kirjest saada välja väärtusi väljaspool koondfunktsioone. String, mis sisaldab ühte järgmistest:
    • "Esimene" Vaja on hankida esimene rühmitamise rekord. Sulgudes oleva sõna järel saab määrata avaldise, mille tulemust kasutatakse nihkena rühmitamise algusest. Saadud väärtus peab olema nullist suurem täisarv. Näiteks First(3) – kolmanda kirje saamine rühmitamise algusest. Kui esimene kirje on väljaspool rühmitust, siis loetakse, et rekordeid pole. Näiteks kui kirjeid on 3 ja soovite saada First(4), siis loetakse, et kirjeid pole.
    • "Viimane" Peate hankima viimase rühmitamise kirje. Sulgudes oleva sõna järel saab määrata avaldise, mille tulemust kasutatakse nihkena grupeerimise lõpust. Saadud väärtus peab olema nullist suurem täisarv. Näiteks Last(3) – kolmanda kirje saamine grupi lõpust. Kui viimane kirje on väljaspool rühmitust, siis loetakse, et rekordeid pole. Näiteks kui kirjeid on 3 ja soovite saada Last(4), siis loetakse, et kirjeid pole.
    • "Eelmine" Peate hankima eelmise rühmitamise rekordi. Sulgudes oleva sõna järel saab määrata avaldise, mille tulemust kasutatakse nihkena praegusest grupeerimiskirjest tagasi. Näiteks Previous(2) – eelmisest kirjest eelmise saamine. Kui eelmine kirje on väljaspool rühmitamist (näiteks teise rühmitamise kirje jaoks on vaja hankida Eelmine(3)), saadakse esimene rühmitamise kirje. Rühmitamise kogusumma eelmise rekordi saamisel saadakse esimene rekord.
    • "Järgmine" Peate hankima järgmise rühmitamise rekordi. Sulgudes oleva sõna järel saab määrata avaldise, mille tulemust kasutatakse nihkena praegusest rühmituskirjest edasi. Näiteks Next(2) – järgmise saamine järgmiselt kirjelt. Kui järgmine rekord läheb rühmitusest kaugemale, siis loetakse rekordeid puuduvaks. Näiteks kui on 3 kirjet ja kolmas kirje saab Next, siis loetakse, et kirjeid pole. Kui rühmitamise kogusumma kohta saadakse järgmine kirje, loetakse, et kirjet pole.
    • "Praegune". Peate hankima praeguse rekordi. Rühmitamise kogusumma otsimisel saadakse esimene kirje.
    • "BoundaryValue". Vajadus saada kirje määratud väärtuse järgi. Sulgudes oleva sõna LimitingValue järel tuleb märkida avaldis, mille väärtusega tahetakse fragmenti alustada, esimene järjestusväli. Kirjena tagastatakse esimene kirje, mille järjestusvälja väärtus on määratud väärtusest suurem või sellega võrdne. Näiteks kui tellimisväljana kasutatakse välja Periood ja sellel on väärtused 01/01/2010, 02/01/2010, 03/01/2010 ja soovite saada LimitingValue(DateTime(2010 , 1, 15)), siis saadakse rekord kuupäevaga 02/01. 2010.
  • Lõpp. Näitab, millisele kirjele tuleks fragmenti jätkata, millises koondavaldis arvutada. String, mis sisaldab ühte järgmistest:
    • "Esimene"
    • "Viimane"
    • "Eelmine"
    • "Järgmine"
    • "Praegune".
    • "BoundaryValue".
  • Sorteerimine. String, mis loetleb komadega eraldatud avaldised, mille suunas jada tuleks järjestada. Kui pole määratud, siis toimub järjestamine samamoodi nagu rühmituse puhul, mille jaoks avaldist hinnatakse. Iga avaldise järel saab määrata märksõna Ascending, järjestamiseks kasvavas järjekorras, Descending, järjestamiseks kahanevas järjekorras, Auto-Ordering, viiteväljade järjestamiseks väljade järgi, mille järgi soovite viidatavat objekti järjestada. Sõna Auto Order saab kasutada nii sõnaga Ascending kui ka sõnaga Descending.
  • Hierarhiline sortimine. Sarnaselt sorteerimisega. Kasutatakse hierarhiliste kirjete korrastamiseks. Kui pole määratud, genereerib paigutuse koostaja järjestuse vastavalt parameetris Sort (Sort) määratud järjestusele.
  • Tellimuse samade väärtuste töötlemine. String, mis sisaldab ühte järgmistest:
    • "Koos" tähendab, et eelmiste ja järgmiste kirjete määramiseks kasutatakse järjestatud kirjete jada;
    • "Eraldi" tähendab, et eelmine ja järgmine kirje määratakse järjestamisavaldiste väärtuste alusel;
    Näiteks kui saadud jada on järjestatud kuupäeva järgi:
    1. 01. jaanuar 2001 Ivanov M. 10
    2. 02. jaanuar 2001 Petrov S. 20
    3. 02. jaanuar 2001 Sidorov R. 30
    4. 03. jaanuar 2001 Petrov S. 40
    Kui kasutate järjestuse "eraldi" identsete väärtuste töötlemist, on 3. kirje eelmine kirje 2 ja "Koos" kasutamisel kirje 1. Ja praeguse kirje fragment 2 kirje jaoks "eraldi" on rekord 2 ja "Together" jaoks - rekordid 2 ja 3. Seega on praeguse rekordi "eraldi" kogusumma 20 ja "Koos" - 50. Kui "Koos" on määratud Start ja Lõppparameetrid ei saa määrata nihet positsioonidele "Esimene", "Viimane", "Eelmine", "Järgmine". Vaikeväärtus on "Separate".
Näide:
Rühmitamiskirje välja "Müük.Käive" summa ja kogu paigutuse sama välja summa suhte saamine:
Sum(Müük.Summakäive) / ArvutaAvaldis("Sum(Müük.Summakäive)", "Kokku").

See näide arvutab praeguse hierarhia väärtuse:
Valik
Kui Level() > 0
Seejärel EvaluateExpression ("Viide", "Hierarhia")
Muidu Null
Lõpp

Märkused:
Funktsioon võtab arvesse rühmituste valikut, kuid ei võta arvesse hierarhilisi valikuid. Funktsiooni ei saa rakendada selle rühmituse rühmavalikus olevale grupeeringule. Näiteks nomenklatuuri rühmituse valimisel ei saa te kasutada avaldist CalculateExpression("Sum(SumTurnover)", "TotalTotal") > 1000 . Kuid sellist väljendit saab kasutada hierarhilises valikus. Kui lõpukirje eelneb alguskirjele, siis loetakse, et detailandmete arvutamiseks ja koondfunktsioonide arvutamiseks kirjeid pole. Lõppsumma intervalli avaldiste arvutamisel (grupi parameeter on seatud väärtusele "GrossTotal") eeldatakse, et üksikasjalike andmete arvutamiseks ja koondfunktsioonide arvutamiseks pole kirjeid. Funktsiooni CalculateExpression jaoks avaldise genereerimisel asendab paigutuse koostaja, kui järjestamisavaldis sisaldab välju, mida ei saa rühmitamisel kasutada, funktsiooni CalculateExpression väärtusega NULL.

3. Avaldise hindamine rühmamassiiviga (EvalExpression rühmamassiiviga) - funktsioon tagastab massiivi, mille iga element sisaldab määratud välja järgi rühmitamiseks avaldise arvutamise tulemust.

Süntaks:
CalculateExpressionWithGroupArray (Expression, GroupFieldExpressions, SelectRecords, SelectGroups)

Valikud:

  • Väljendus(String) – hinnatav avaldis. Näiteks "Summa(Summakäive)";
  • FieldExpressiionsGroups
  • Kirjete valik
  • Rühmade valik- rühmakirjetele rakendatud valik. Näiteks: "Summa(Käivesumma) > &Parameeter1".
Näide:
Maksimum(CalculateExpressionWithGroupArray("Summa(Käivesumma)", "Vastaspool"));


Avaldiste genereerimisel kohandatud välja kuvamiseks, mille avaldis sisaldab ainult funktsiooni CalculateArrayWithGroup, genereerib paigutuse koostaja väljundavaldise nii, et kuvatavad andmed ja andmed on järjestatud.
Näiteks kohandatud välja jaoks, millel on avaldis:
CalculateExpressionWithGroupArray("Summa(Käivesumma)", "Vastaspool")
Paigutuse koostaja genereerib väljundi jaoks järgmise avaldise:
ConnectRows(Array(Order(CalculateExpressionWithGroupingValueTable("View(Sum(DataSet.AmountTurnover)), Summa(DataSet.AmountTurnover)", "DataSet.Account"), "2")))

4. Avaldise arvutamine rühmaväärtustabeliga (EvalExpressionWithGroupValueTable) - funktsioon tagastab väärtuste tabeli, mille iga element sisaldab määratud välja järgi rühmitamiseks avaldise arvutamise tulemust.

Süntaks:
CalculateExpressionWithGroupValueTable (avaldis, rühmavälja avaldised, kirjete valik, rühma valik)

Valikud:

  • Väljendus(String) – hinnatav avaldis. Rida võib sisaldada mitut komadega eraldatud väljendit. Iga avaldise järel võib olla valikuline märksõna AS ja väärtustabeli veeru nimi. Näiteks: "Vastaspool, Summa (Käivesumma) Müügimahuna."
  • FieldExpressiionsGroups- komadega eraldatud väljade rühmitamise avaldised. Näiteks "vastaspool, pool";
  • Kirjete valik– detailkirjetele rakendatav väljend. Näiteks "Kustutamislipp = vale". Kui see parameeter kasutab koondfunktsiooni, tekib andmete koostamisel viga;
  • Rühmade valik- rühmakirjetele rakendatud valik. Näiteks: "Summa(Käivesumma) > &Parameeter1".
Näide:
Avaldise arvutamine väärtuste rühmitamise tabeliga ("Konto AS-i vastaspool, summa (summa käive) AS-i müügimaht", "konto")

Selle funktsiooni tulemuseks on väärtuste tabel veergudega Vastaspool ja Müügimaht, mis sisaldab vastaspooli nende müügimahtudega.
Paigutuse koostaja teisendab paigutuse loomisel funktsiooni parameetrid andmekoostise paigutusväljadeks. Näiteks teisendatakse väli Konto väljaks DataSet.Account.
Näiteks kohandatud väli avaldisega:
CalculateExpressionWithGroupValueTable("Konto, Summa(Käivesumma)", "Konto")
Paigutuse koostaja genereerib väljundi jaoks järgmise avaldise:
ConnectRows(GetPart(Order(CalculateExpressionWithGroupingValueTable("Andmed ), "2, 4"))

5. Tase - funktsioon on loodud praeguse salvestustaseme saamiseks.

Süntaks:
Tase()

Näide:
Tase()

6. SequenceNumber - hankige järgmine seerianumber.

Süntaks:
NumberByOrder()

Näide:
NumberByOrder()

7. SequenceNumberInGrouping - tagastab praeguses grupeeringus järgmise järjekorranumbri.

Näide:
NumberByOrderInGroup()

8. Vorming - hankige edastatud väärtuse vormindatud string.

Süntaks:
Vorming (väärtus, vormingustring)

Valikud:

  • Tähendus- vormindamist vajav avaldis;
  • FormatString- vormingustring on seatud vastavalt vormingustringile 1C:Enterprise.
Näide:
Vorming (arved. Dokumendi summa, "NPV=2")

9. BeginOfPeriod

Süntaks:
Algusperiood (kuupäev, perioodi tüüp)

Valikud:

  • kuupäev(kuupäev). Määratud kuupäev;
  • Perioodi tüüp
Näide:
Algusperiood(kuupäevAeg(2002, 10, 12, 10, 15, 34), "kuu")
Tulemus: 10/01/2002 0:00:00

10. Perioodi lõpp - funktsioon on mõeldud konkreetse kuupäeva valimiseks antud kuupäevast.

Süntaks:
Lõppperiood (kuupäev, perioodi tüüp)

Valikud:

  • kuupäev(kuupäev). Määratud kuupäev;
  • Perioodi tüüp(Joon). Sisaldab ühte järgmistest väärtustest: Minute; Tund; Päev; Nädal; Kuu; Kvartal; Aasta; Kümme; Pool aastat.
Näide:
Lõppperiood(kuupäevAeg(2002, 10, 12, 10, 15, 34), "nädal")
Tulemus: 13.10.2002 23:59:59

11. AddKDate (DateAdd) - funktsioon on loodud kuupäevale teatud väärtuse lisamiseks.

Süntaks:
AddToDate (avaldis, juurdekasvu tüüp, suurusjärk)

Valikud:

  • Väljendus(kuupäev). Algne kuupäev;
  • Tüüp Suurendus(Joon). Sisaldab ühte järgmistest väärtustest: Minute; Tund; Päev; Nädal; Kuu; Kvartal; Aasta; Kümme; Pool aastat.
  • Suurusjärk(Arv). Kui palju kuupäeva tuleb suurendada, murruosa ignoreeritakse.
Näide:
AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Kuu", 1)
Tulemus: 11/12/2002 10:15:34

12. Kuupäevade erinevus - funktsioon on loodud kahe kuupäeva erinevuse leidmiseks.

Süntaks:
Erinevuskuupäev (avaldis1, avaldis2, erinevuse tüüp)

Valikud:

  • Väljend1(kuupäev). Lahutatud kuupäev;
  • Väljend2(kuupäev). Algne kuupäev;
  • TüüpErinevus(Joon). Sisaldab üht väärtustest: Second; minut; Tund; Päev; Kuu; Kvartal; aasta.
Näide:
KUUPÄEVADE DIFFERENCE(DATETIME(2002, 10, 12, 10, 15, 34),
DATETIME (2002, 10, 14, 9, 18, 06), "PÄEV")
Tulemus: 2

13. Alamstring - see funktsioon on loodud stringist alamstringi eraldamiseks.

Süntaks:
Alamstring (string, asukoht, pikkus)

Valikud:

  • Liin(Joon). String, millest alamstring ekstraheeritakse;
  • positsioon(Arv). Märgi asukoht, millest algab stringist eraldatav alamstring;
  • Pikkus(Arv). Eraldatud alamstringi pikkus.
Näide:
SUBSTRING(kontod.aadress, 1, 4)

14. StringLength - funktsioon on mõeldud stringi pikkuse määramiseks.

Süntaks:
Stringi pikkus (string)

Parameeter:

  • Liin(Joon). String, mille pikkus on määratud.
Näide:
Rida (vastaspooled. aadress)

15. Aasta- see funktsioon on mõeldud aasta väljavõtmiseks kuupäeva tüübi väärtusest.

Süntaks:
Aasta (kuupäev)

Parameeter:

  • kuupäev(kuupäev). Kuupäev, milleks aasta määratakse.
Näide:
YEAR (kulu.kuupäev)

16. Kvartal - see funktsioon on mõeldud kvartalinumbri eraldamiseks kuupäeva tüübi väärtusest. Kvartali number on tavaliselt vahemikus 1 kuni 4.

Süntaks:
Kvartal(kuupäev)

Parameeter:

  • kuupäev(kuupäev). Kuupäev, milleks kvartal määratakse
Näide:
KVARTAL(kulu.Kuupäev)

17. Kuu - see funktsioon on mõeldud kuu numbri eraldamiseks kuupäeva tüübi väärtusest. Kuu number on tavaliselt vahemikus 1 kuni 12.

Süntaks:
Kuu(kuupäev)

Parameeter:

  • kuupäev(kuupäev). Kuupäev, milleks kuu määratakse.
Näide:
KUU(kulu.Kuupäev)

18. Aasta päev (DayOfYear) - see funktsioon on mõeldud aastapäeva saamiseks kuupäeva tüübi väärtusest. Aastapäev on tavaliselt vahemikus 1 kuni 365 (366).

Süntaks:
Aasta päev (kuupäev)

Parameeter:

  • kuupäev(kuupäev). Kuupäev, milleks aastapäev määratakse.
Näide:
PÄEVAASTA (kulukonto.kuupäev)

19. Päev- see funktsioon on mõeldud kuupäeva saamiseks kuupäeva tüübi väärtusest. Kuu päev on tavaliselt vahemikus 1 kuni 31.

Süntaks:
Päev (kuupäev)

Parameeter:

  • kuupäev(kuupäev). Kuupäev, milleks kuu päev määratakse.
Näide:
PÄEV (kulu.kuupäev)

20. Nädal - see funktsioon on mõeldud aasta nädala numbri saamiseks kuupäeva tüübi väärtusest. Aasta nädalad on nummerdatud alates 1.

Süntaks:
Nädal (kuupäev)

Parameeter:

  • kuupäev(kuupäev). Kuupäev, milleks nädalanumbrid määratakse.
Näide:
NÄDAL (kulu.kuupäev)

21. Nädalapäev - see funktsioon on mõeldud nädalapäeva saamiseks kuupäeva tüübi väärtusest. Tavaline nädalapäev on vahemikus 1 (esmaspäev) kuni 7 (pühapäev).

Süntaks:
Nädalapäev (kuupäev)

Parameeter:

  • kuupäev(kuupäev). Kuupäev, milleks nädalapäev määratakse.
Näide:
NÄDALA PÄEV (kulu.Kuupäev)

22. Tund- see funktsioon on mõeldud kellaaja saamiseks kuupäeva tüübi väärtusest. Kellaaeg on vahemikus 0 kuni 23.

Süntaks:
Tund (kuupäev)

Parameeter:

  • kuupäev(kuupäev). Kuupäev, mille järgi määratakse kellaaeg.
Näide:
TUND(kulu.Kuupäev)

23. Minut - see funktsioon on mõeldud tunni minuti saamiseks kuupäeva tüübi väärtusest. Tunni minut on vahemikus 0 kuni 59.

Süntaks:
minut (kuupäev)

Parameeter:

  • kuupäev(kuupäev). Kuupäev, mille järgi määratakse tunni minut.
Näide:
MINUT (kulu.kuupäev)

24. Teiseks - see funktsioon on loodud minutisekundi saamiseks kuupäeva tüübi väärtusest. Minuti sekundi vahemik on 0 kuni 59.

Süntaks:
Teine (kuupäev)

Parameeter:

  • kuupäev(kuupäev). Kuupäev, milleks minuti sekundid määratakse.
Näide:
TEINE(kulu.kuupäev)

25. Valatud - see funktsioon on mõeldud tüübi eraldamiseks avaldisest, mis võib sisaldada liittüüpi. Kui avaldis sisaldab nõutavast erinevat tüüpi, tagastatakse NULL.

Süntaks:
Express (avaldis, tüübitähis)

Valikud:

  • Väljendus- teisendatav avaldis;
  • Tüübi tähistus(Joon). Sisaldab tüübistringi. Näiteks "Number", "String" jne. Lisaks primitiivsetele tüüpidele võib see rida sisaldada tabeli nime. Sel juhul püütakse väljendada viidet määratud tabelile.
Näide:
Express(Andmed.Props1, "Arv(10,3)")

26. IsNull (IsNull) - see funktsioon tagastab teise parameetri väärtuse, kui esimese parameetri väärtus on NULL. Vastasel juhul tagastatakse esimese parameetri väärtus.

Süntaks:
IsNull(avaldis1, avaldis2)

Valikud:

  • Väljend1- kontrollitav väärtus;
  • Väljend2- tagastab väärtuse, kui avaldis1 on NULL.
Näide:
JahNULL(summa(müügisumma.käive), 0)

27.ACos- arvutab kaarekoosinuse radiaanides.

Süntaks:
ACos (avaldis)

Parameeter:

  • Väljendus(Arv). Koosinusväärtus (vahemikus -1 ... 1), mille järgi nurk määratakse.
28.ASin- arvutab arsiini radiaanides.

Süntaks:
ASin (avaldis)

Parameeter:

  • Väljendus(Arv). Siinusväärtus (vahemikus -1 ... 1), mille järgi nurk määratakse.
29. ATan- arvutab arktangensi radiaanides.

Süntaks:
ATan (avaldis)

Parameeter:

  • Väljendus(Arv). Puutuja väärtus, mille järgi nurk määratakse.
30.Cos- arvutab koosinuse.

Süntaks:
Cos (avaldis)

Parameeter:

  • Väljendus
31. Exp- arvu e tõstmine astmeni.

Süntaks:
Exp (avaldis)

Parameeter:

  • Väljendus(Arv). Kraadi tähendus.
32.Logi- arvutab naturaallogaritmi.

Süntaks:
Logi (avaldis)

Parameeter:

  • Väljendus
33.Logi10- arvutab X-i logaritmi 10-ni.

Süntaks:
Log10 (avaldis)

Parameeter:

  • Väljendus(Arv). Algne arv on suurem kui 0.
34. Pow- astendamine.

Süntaks:
Pow (alus, indikaator)

Valikud:

  • Alus(Arv). Astendamise operatsiooni alus.
  • Indeks(Arv). Eksponent.
35. Patt- arvutab siinuse.

Süntaks:
Patt (väljend)

Parameeter:

  • Väljendus(Arv). Määratud radiaanides.
36. ruut- arvutab ruutjuure.

Süntaks:
Sqrt (avaldis)

Parameeter:

  • Väljendus(Arv). Mittenegatiivne arv.
37. Tan- arvutab puutuja.

Süntaks:
Tan (väljend)

Parameeter:

  • Väljendus(Arv). Siinusväärtus, mille järgi nurk määratakse.
38. Ümmargune- ümardab algarvu vajaliku bitisügavuseni. Ümardamisrežiim on standardne (1,5 kui 2).

Süntaks:
Env (avaldis, biti sügavus)

Valikud:

  • Väljendus(Arv). Originaalnumber;
  • Biti sügavus(Arv). Kümnendkohtade arv, milleni ümardada.
39. Int- lõikab ära arvu murdosa.

Süntaks:
Objekt (avaldis)

Parameeter:

  • Väljendus(Arv). Murdarv.
40. Tavaliste moodulite funktsioonid

Andmekompositsiooni mootori avaldis võib sisaldada väljakutseid globaalsete ühiste konfiguratsioonimoodulite funktsioonidele. Selliste funktsioonide kutsumiseks pole vaja täiendavat süntaksit.

Näide:
Lühendatud nimi (dokumendid. link, dokumendid. kuupäev, dokumendid. number)

Selles näites kutsutakse funktsiooni "AbbreviatedName" välja üldisest konfiguratsioonimoodulist.
Pange tähele, et tavaliste moodulifunktsioonide kasutamine on lubatud ainult siis, kui on määratud sobiv andmekoostise protsessori parameeter.
Lisaks ei saa tavaliste moodulite funktsioone kohandatud väljaavaldistes kasutada.

41. Pahameel - see funktsioon tagastab mitteprimitiivse tüübi edastatud väärtuse stringi. Primitiivset tüüpi väärtuste puhul tagastab väärtuse enda.

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

Näide:
Esitlus (vastaspool)

42. Nöör - see funktsioon teisendab edastatud väärtuse stringiks.

Kui parameetrina kasutatakse massiivi või väärtuste tabelit, tagastab funktsioon stringi, mis sisaldab kõigi massiivi elementide stringi, mis on eraldatud tähemärkidega ";". Kui mõnel elemendil on tühi stringi esitus, siis string "<Пустое значение>".

Näide:
Rida (müügikuupäev)

43. ValueIsFilled

NULL väärtuste korral tagastab Undefined alati False.
Boole'i ​​väärtuste korral tagastab see alati True.
Muude tüüpide puhul tagastab tõene, kui väärtus erineb antud tüübi vaikeväärtusest.

Näide:
Väärtus täidetud (tarnekuupäev)

44. LevelInGroup - see funktsioon hangib grupi suhtes praeguse salvestustaseme.

Saab kasutada kirje pesastustaseme saamiseks hierarhilises rühmituses.

Näide:
LevelInGroup()

45. ValueType

Süntaks:
ValueType (avaldis)

Parameeter:

  • Väljendus(Joon). Stringi väärtuse tüüp.
Tagastab väärtuse tüübiga Type, mis sisaldab funktsiooni parameetri väärtuse tüüpi.

Logige saidile õpilasena sisse

Koolimaterjalidele juurdepääsuks logige õpilasena sisse

Andmete koostamise süsteem 1C 8.3 algajatele: tulemuste (ressursside) loendamine

Selle õppetunni eesmärk on:

  • Koostage aruanne, mis kuvab toodete loendi (toidukataloog), nende kalorisisalduse ja maitse.
  • Rühmitage tooted värvi järgi.
  • Lugege kokkuvõtete (ressursside) ja arvutatud väljade kohta.

Looge uus aruanne

Nagu eelmistes tundides, avame andmebaasi " Deli"konfiguraatoris ja looge menüü kaudu uus aruanne" Fail"->"Uus...":

Dokumendi tüüp - välisaruanne:

Kirjutage aruande seadistusvormile nimi " Õppetund 3"ja vajutage nuppu" Ava andmete koostamise diagramm":

Jätke skeemi vaikenimi ja klõpsake nuppu " Valmis":

Taotluse lisamine konstruktori kaudu

Vahekaardil " Andmekogum"klõpsake roheline plussmärk ja valige " Andmestiku lisamine – päring":

Taotluse teksti käsitsi kirjutamise asemel käivitame selle uuesti päringu konstruktor:

"vahekaardil" Tabelid"lohistage lauda" Toit" esimesest veerust teise:

Valige tabelist " Toit"väljad, mida me taotleme. Selleks lohistage väljad" Nimi", "Maitse", "Värv"Ja" Kalorite sisaldus" teisest veerust kolmandasse:

See osutus järgmiselt:

Vajuta nuppu " Okei" - päringu tekst genereeriti automaatselt:

Aruande esitluse seadete loomine

Mine vahekaardile " Seaded"ja klõpsake nuppu võlukepp, helistama seadete kujundaja:

Valige aruande tüüp " Nimekiri..." ja vajutage nuppu " Edasi":

Lohistage loendis kuvatavad väljad vasakust veerust paremale ja klõpsake nuppu " Edasi":

Lohistage vasakust veerust paremale väljale " Värv" - see juhtub rühmitamine read aruandes. Klõpsake " Okei":

Ja siin on disaineri töö tulemus. Meie aruande hierarhia:

  • aruanne tervikuna
  • rühmitus "Värv"
  • üksikasjalikud sissekanded – read toiduainete nimetustega

Salvestage aruanne (nupp diskett) Ja ilma sulgemata Avame kohe konfiguraatori kasutajarežiimis. See osutus järgmiselt:

Veergude järjekorra muutmine

Aga olgu muudame järjekorda veerge (üles- ja allanooled), et see näeks välja nagu alloleval joonisel:

Salvestame aruande ja avame selle uuesti kasutajarežiimis:

Suurepärane, see on palju parem.

Võtame kalorisisalduse kokku

Hea oleks toitude kalorisisaldus rühmade kaupa kokku võtta. Et näha kõigi toodete, näiteks valge või kollase kalorisisalduse summat. Või uurige andmebaasist kõigi toodete kalorisisaldust.

Selleks on ressursside arvutamise mehhanism.

Mine vahekaardile " Vahendid"ja lohistage põld" Kalorite sisaldus"(teeme selle kokkuvõtte) vasakust veerust paremale.

Sel juhul valige väljal avaldis ripploendist " Kogus (kalorid)", kuna kogusumma on kõigi kogusummas sisalduvate elementide summa:

Salvestame ja koostame aruande:

Nüüd on meil tulemused iga rühma ja aruande kohta tervikuna.

Võtame selle kokku (keskmine) kalorite osas

Teeme selle nüüd mõnes teises veerus keskmine toodete kalorisisaldus rühmade kaupa ja aruandes tervikuna.

Te ei saa puudutada olemasolevat veergu "Kalorid" - kogusumma on selles juba kuvatud loome teise välja, mis on täpne koopia väljast "Kalor".

Sellise "virtuaalse" välja loomiseks kasutame mehhanismi arvutatud väljad.

Mine vahekaardile " Arvutatud väljad"ja vajutage roheline plussmärk:

Kolumnis" Andmete tee"kirjutame uue välja nime ( sujuvalt, ilma tühikuteta). Las seda nimetatakse " Keskmine kalorisisaldus" ja veerus " Väljendus"kirjutame olemasoleva välja nime, mille alusel uus väli arvutatakse. Kirjutame sinna " Kalorite sisaldus". Veerg " Pealkiri" täidetakse automaatselt.

Oleme lisanud uue välja (" Keskmine kalorisisaldus"), kuid see ei ilmu aruandesse iseenesest – peate kas uuesti helistama seadete kujundaja("võlukepp") või lisage see väli käsitsi.

Teeme seda teiseks tee. Selleks minge vahekaardile " Seaded", valige " Aruanne"(lõppude lõpuks tahame aruandesse lisada välja tervikuna), valige allosas olev vahekaart" Valitud väljad"ja lohistage põld" Keskmine kalorisisaldus"vasakust veerust paremale:

See osutus järgmiselt:

Salvestame ja koostame aruande:

Väli on ilmunud ja näeme, et selle väärtused on välja "Kalorid" väärtused. Suurepärane!

Selleks kasutame taas meile juba tuttavat mehhanismi ressursse(kokkuvõtte). Mine vahekaardile " Vahendid"ja lohistage põld" Keskmine kalorisisaldus"vasakust veerust paremale:

Veelgi enam, veerus " Väljendus"vali" Keskmine (keskmine kalorsus)":

Salvestame ja koostame aruande:

Näeme, et rühmade, see tähendab iga värvi ja aruande kui terviku jaoks arvutati keskmine väärtus absoluutselt õigesti. Aga nad on kohal lisakandedüksikute toodete (mitte rühmade) puhul, mille soovin aruandest eemaldada.

Kas teate, miks need ilmusid (väärtused mitte rühmade kaupa)? Sest kui lisasime välja Keskmine kalorisisaldus"Aruande seadetes valisime teises etapis kogu aruanne ja see uus väli sattus elemendisse " Üksikasjalik rekordid".

Parandame vea. Selleks minge tagasi vahekaardile " Seaded", valige " Üksikasjalikud sissekanded" kõigepealt ülalt (samm 2) ja siis" Üksikasjalikud sissekanded"alt (samm 3), minge järjehoidja juurde" Valitud väljad"ja me näeme selle paremas veerus elementi " Automaatne".

element" Automaatne" - see ei ole üks väli. Need on mitmed väljad, mis langevad siia automaatselt kõrgema taseme seadete alusel.

Nende väljade nägemiseks klõpsake elemendil " Automaatne" õige nuppu ja valige " Laienda":

element" Automaatne" laiendati järgmistele väljadele:

Ja siin on meie väli" Keskmine kalorisisaldus"mis tuli siia punktist" Aruanne"Kui me ta sinna tirisime. Lihtsalt eemaldame väljundi eemaldamiseks märkige selle välja kõrval olev ruut.