1s 8.3 SCD ataskaitos apskaičiuoti laukai. Duomenų komponavimo sistemos išraiškos kalba (1Cv8)

Atsižvelgdamas į būsimą 8.2.14 leidimą, pabandysiu aprašyti kai kurias naujas duomenų komponavimo sistemos funkcijas.

Atidarykite duomenų išdėstymo diagramą, pageidautina išorinėje ataskaitoje, kad būtų lengviau redaguoti.

Pridedame užklausos tipo duomenų rinkinį ir rankiniu būdu arba naudodami užklausos dizainerį įrašome paprastą užklausą:

1. Nustatykite užklausą prieigos kontrolės sistemoje.

2. Įeigos kontrolės sistemoje nustatykite apskaičiuotus laukus

3. Nustatymų skirtuke sukonfigūruokite duomenų išdėstymą

4. Paleiskite 1C Enterprise 8.2.14. Atidarykite ataskaitą. Formuojame, gauname.

Pačių naujų funkcijų aprašymas:

1. Dabartinė data ()

Grąžina sistemos datą. Sudarant maketo maketą visose makete esančiose išraiškose funkcija CurrentDate() pakeičiama dabartinės datos reikšme.

2. COMPUTEEXPRESSIJA()

Sintaksė:

Apskaičiuokite išraišką(,)

Apibūdinimas:

Funkcija skirta įvertinti išraišką tam tikros grupės kontekste.

Funkcija atsižvelgia į grupių pasirinkimą, bet neatsižvelgia į hierarchinius pasirinkimus.

Funkcija negali būti taikoma grupei pasirinkus tos grupės grupę. Pavyzdžiui, pasirinkdami nomenklatūros grupavimą, negalite naudoti išraiškos CalculateExpression("Suma(SumApyvarta)", "Iš viso") > 1000. Tačiau tokia išraiška gali būti naudojama hierarchinėje atrankoje.

Jei pabaigos įrašas yra prieš pradžios įrašą, tada laikoma, kad nėra įrašų, skirtų išsamiems duomenims skaičiuoti ir suvestinėms funkcijoms skaičiuoti.

Skaičiuojant bendrosios sumos intervalų išraiškas (parametras Grupavimas nustatytas į GrandTotal), daroma prielaida, kad nėra įrašų, skirtų išsamiems duomenims ir suvestinėms funkcijoms skaičiuoti.

Išdėstymo nuoroda generuojant funkcijos išraišką Apskaičiuokite išraišką, jei eilės išraiškoje yra laukų, kurių negalima naudoti grupuojant, pakeičia funkciją Apskaičiuokite išraiškąįjungta NULL.

Galimybės

Tipas: Linija. Vertinama išraiška.

Tipas: Linija. Jame yra grupės, kurios kontekste turi būti įvertinta išraiška, pavadinimas. Jei kaip grupavimo pavadinimas naudojama tuščia eilutė, skaičiavimas bus atliktas esamos grupės kontekste. Jei eilutė „GeneralTotal“ naudojama kaip grupės pavadinimas, skaičiavimas bus atliktas atsižvelgiant į bendrą sumą. Kitu atveju skaičiavimas bus atliktas to paties pavadinimo pagrindinės grupės kontekste.

Pavyzdžiui:

Suma(Pardavimai.SumaApyvarta)/Apskaičiuoti("Suma(Pardavimas.SumaApyvarta)", "Iš viso")

IN šiame pavyzdyje rezultatas bus sumos pagal lauką santykis Pardavimai.SumaApyvarta grupuoti įrašus į to paties lauko sumą visame makete;

Tipas: Linija. Parametras gali turėti šias reikšmes:

· iš viso— išraiška bus apskaičiuojama visiems grupavimo įrašams.

· Hierarchija— išraiška bus įvertinta pirminiam hierarchiniam įrašui, jei toks yra, ir visai grupei, jei nėra pirminio hierarchinio įrašo.

· Grupavimas— išraiška bus įvertinta esamam grupės grupavimo įrašui.

· GrupavimasNonResource— apskaičiuojant grupės įrašo funkciją pagal išteklius, išraiška bus apskaičiuojama pirmajam pradinės grupės įrašui.

Skaičiuojant funkciją CalculateExpression() su prasme GrupavimasNonResource grupės įrašams, kurie nėra sugrupuoti pagal išteklius, funkcija apskaičiuojama taip pat, kaip būtų apskaičiuojama, jei parametro reikšmė būtų lygi reikšmei Grupavimas.

Duomenų sudėties išdėstymo kūrimo priemonė, generuodama duomenų sudėties išdėstymą, kai išveda išteklių lauką, pagal kurį atliekamas maketo grupavimas, išdėstyme įdeda išraišką, kuri apskaičiuojama naudojant funkciją CalculateExpression() , nurodant parametrą GrupavimasNonResource. Kitiems ištekliams įprastos išteklių išraiškos dedamos į išteklių grupavimą.

Tipas: Linija. Nurodo, nuo kurio įrašo turėtų prasidėti fragmentas, kuriame apibendrintos išraiškos funkcijos turėtų būti skaičiuojamos ir iš kurio įrašo būtų gautos lauko reikšmės, nepriklausančios suvestinėms funkcijoms. Vertė gali būti viena iš šių:

· Pirmas

· Paskutinis (paskutinis)

· Ankstesnis

· Kitas (Kitas)

· Dabartinė

· LimitingValue(BoundaryValue) LimitingValue

Tipas: Linija. Nurodo, į kurį įrašą reikia tęsti fragmentą, kuriame turi būti skaičiuojamos suminės išraiškos funkcijos. Vertė gali būti viena iš šių:

· Pirmas. Būtina gauti pirmąjį grupavimo įrašą. Po žodžio skliausteliuose galite nurodyti išraišką, kurios rezultatas bus naudojamas kaip poslinkis nuo grupavimo pradžios. Gauta reikšmė turi būti sveikasis skaičius, didesnis už nulį. Pavyzdžiui, First(3) – trečiojo įrašo gavimas nuo grupavimo pradžios.

Jei pirmasis įrašas yra už grupės ribų, tada laikoma, kad įrašų nėra. Pavyzdžiui, jei yra 3 įrašai ir norite gauti First(4), tada laikoma, kad įrašų nėra.

· Paskutinis (paskutinis). Turite gauti paskutinį grupavimo įrašą. Po žodžio skliausteliuose galite nurodyti išraišką, kurios rezultatas bus naudojamas kaip poslinkis nuo grupavimo pabaigos. Gauta reikšmė turi būti sveikasis skaičius, didesnis už nulį. Pavyzdžiui, Last(3) – trečiojo įrašo gavimas iš grupės pabaigos.

Jei paskutinis įrašas yra už grupės ribų, laikoma, kad įrašų nėra. Pavyzdžiui, jei yra 3 įrašai ir norite gauti Last(4), tada laikoma, kad įrašų nėra.

· Ankstesnis. Turite gauti ankstesnį grupavimo įrašą. Po žodžio skliausteliuose galite nurodyti išraišką, kurios rezultatas bus naudojamas kaip poslinkis atgal nuo esamo grupavimo įrašo. Pavyzdžiui, Ankstesnis(2) – ankstesnio įrašo gavimas iš ankstesnio įrašo.

Jei ankstesnis įrašas viršija grupavimą (pavyzdžiui, antrajam grupavimo įrašui reikia gauti ankstesnį (3)), tada gaunamas pirmasis grupavimo įrašas.

Gaunant ankstesnį grupavimo sumos įrašą, laikoma, kad gautas pirmasis įrašas.

· Kitas (Kitas). Turite gauti kitą grupavimo įrašą. Po žodžio skliausteliuose galite nurodyti išraišką, kurios rezultatas bus naudojamas kaip poslinkis į priekį nuo esamo grupavimo įrašo. Pavyzdžiui, Next(2) – sekantis iš kito įrašo.

Jei kitas įrašas viršija grupavimą, laikoma, kad įrašų nėra. Pavyzdžiui, jei yra 3 įrašai, o trečiasis gauna Next() , tada laikoma, kad įrašų nėra.

Kai gaunamas kitas grupavimo sumos įrašas, laikoma, kad įrašo nėra.

· Dabartinė. Turite gauti dabartinį įrašą.

Kai gaunama grupavimo suma, gaunamas pirmasis įrašas.

· LimitingValue(BoundaryValue). Poreikis gauti įrašą pagal nurodytą reikšmę. Po žodžio LimitingValue skliausteliuose reikia nurodyti išraišką, kurios reikšme norima pradėti fragmentą, pirmąjį užsakymo lauką.

Pirmasis įrašas, kurio užsakymo lauko reikšmė yra didesnė arba lygi nurodytai vertei, bus grąžintas kaip įrašas. Pavyzdžiui, jei laukas Laikotarpis naudojamas kaip užsakymo laukas ir jo reikšmės yra 2010-01-01, 2010-02-01, 2010-01-03 ir norite gauti Limiting Value (DataLaikas (2010, 1, 15)), tada bus gautas įrašas su 2010-02-01 data.

Tipas: Linija. Išvardija posakius, atskirtus kableliais, apibūdinančius eilės taisykles. Jei nenurodyta, tada sutvarkymas atliekamas taip pat, kaip ir grupavimui, kuriam vertinama išraiška. Po kiekvienos išraiškos galite nurodyti raktinį žodį Amžius(užsakant didėjančia tvarka), Mažėjantis(užsakant mažėjančia tvarka) ir Automatinis užsakymas(norėdami sutvarkyti nuorodos laukus pagal laukus, pagal kuriuos norite rūšiuoti nurodytą objektą). Žodis Automatinis užsakymas gali būti vartojamas kaip su žodžiu Amžius, taip ir su žodžiu Mažėjantis.

Tipas: Linija. Tas pats kaip parametras Rūšiavimas. Naudojamas hierarchiniams įrašams tvarkyti. Jei nenurodyta, maketo kūrėjas sugeneruoja užsakymą pagal parametre nurodytą tvarką Rūšiavimas.

Tipas: Linija. Nurodo ankstesnio arba kito įrašo nustatymo taisyklę, jei yra keli įrašai su ta pačia tvarka:

· Atskirai nurodo, kad ankstesniems ir kitiems įrašams nustatyti naudojama sutvarkytų įrašų seka. Numatytoji reikšmė.

· Kartu rodo, kad ankstesni ir kiti įrašai nustatomi pagal eilės išraiškų reikšmes.

Pavyzdžiui, jei gauta seka yra išdėstyta pagal datą:

data Pilnas vardas Reikšmė
1 2001 m. sausio 01 d

Ivanovas M.

10
2 2001 m. sausio 2 d Petrovas S. 20
3 2001 m. sausio 03 d Sidorovas R. 30
4 2001 m. sausio 4 d Petrovas S. 40

Atskirai, Tai:

§ ankstesnis 3 įrašo įrašas bus 2 įrašas.

Dabartinis, dabartinis(atitinkamai, parametrai Pradėti Ir Galas), tada 2 įrašui šį fragmentą sudarys vienas įrašas 2. Išraiška bus lygi 20.

Jei parametro reikšmė yra Kartu, Tai:

§ ankstesnis 3 įrašo įrašas bus 1 įrašas.

§ jei skaičiavimo fragmentas apibrėžtas kaip Dabartinis, dabartinis(atitinkamai, parametrai Pradėti Ir Galas), tada 2 įrašui šį fragmentą sudarys 2 ir 3 įrašai. Išraiška Apskaičiuokite išraišką ("Suma(vertė)", dabartinis, dabartinis) bus lygus 50.

Nurodant parametro reikšmę, lygią Kartu, pagal parametrus Pradėti Ir Galas negalite nurodyti pozicijų poslinkio Pirmas, paskutinis, ankstesnis, kitas.

CalculateExpression ("Suma(SumaApyvarta)", "Pirmas", "Dabartinis")

Jei norite gauti grupavimo reikšmę ankstesnėje eilutėje, galite naudoti šią išraišką:

CalculateExpression ("Įvertis", "Ankstesnis")

Sąrašas naujas funkcijos:

CalculateExpressionWithGroupArray(,) -

Funkcija grąžina masyvą, kurio kiekviename elemente yra išraiškos įvertinimo rezultatas grupavimui pagal nurodytą lauką.

CalculateExpressionWithGroupValueTable(,) -

Funkcija grąžina reikšmių lentelę, kurios kiekvienoje eilutėje yra grupavimo pagal nurodytą lauką išraiškų įvertinimo rezultatas

Vertė užpildyta() – grąžina True, jei reikšmė skiriasi nuo vertės šio tipo numatytasis, išskyrus NULL, išskyrus tuščią nuorodą, išskyrus Undefined. Būlio reikšmės tikrinamos, ar nėra NULL reikšmės. Tikrinamos eilutės, ar nėra ne tarpų simbolių

Formatas(, ) – gaukite suformatuotą perduodamos reikšmės eilutę. Formato eilutė nustatoma pagal 1C: Enterprise sistemos formato eilutę.

Poeilutė(, , ) – ši funkcija skirta poeilutei ištraukti iš eilutės.

Linijos ilgis() – funkcija skirta nustatyti eilutės ilgį. Parametras yra eilutės išraiška

Linija() – jei masyvas perduodamas kaip parametras, funkcija grąžina eilutę, kurioje yra visų masyvo elementų eilutės, atskirtos simboliais „;“. Jei reikšmių lentelė perduodama kaip parametras, funkcija grąžina eilutę, kurioje yra visų verčių lentelės eilučių atvaizdai, kiekvienos eilutės langeliai atskirti simboliais „;“, o eilutės – nauja eilute charakteris. Jei elemento eilutės atvaizdas yra tuščias, vietoj jo atvaizdavimo rodoma eilutė.

Šioje trumpoje pastaboje noriu parodyti, kaip galite apibendrinti reikšmes įvairiais grupavimo lygiais ataskaitoje, naudodami duomenų sudarymo sistemą.
Kaip parodyta paveikslėlyje, tik „Prekių grupių“ grupavimo lygiu apskaičiuojamas „Užsakymo“ išteklius, rodomas, kiek reikia užsakyti esamai prekių grupei, atsižvelgiant į tam tikras sąlygas:


Šią vertę galima apskaičiuoti tik šiame grupavimo lygyje, nes nėra jokių verčių, kurios būtų didesnės ar mažesnės. Pavyzdžiui, detalių įrašų lygmenyje nėra duomenų apie maksimalų kiekį grupėje, nes šie duomenys galioja tik visai grupei, o ne atskiriems jos komponentams.

Atitinkamai, dabar reikia apskaičiuoti pirmiau minėtų grupuočių („Sandėliai“, „Sandėlių tipai“) sumas ir bendrą sumą.
Norėdami tai padaryti, naudokite funkciją CalculateExpressionWithGroupArray:
ĮVERTINTI IŠRAIŠKĄWITHGROUPARRAY (EVALEXPRESSIONWITHGROUPARRAY)
Sintaksė:
EvaluateExpressionWithGroupArray(,)
Apibūdinimas:
Funkcija grąžina masyvą, kurio kiekviename elemente yra išraiškos įvertinimo rezultatas grupavimui pagal nurodytą lauką.
Išdėstymo kompozitorius, generuodamas maketą, konvertuoja funkcijų parametrus į duomenų sudėties išdėstymo laukus. Pavyzdžiui, laukas Paskyra bus konvertuotas į DataSet.Account.
Išdėstymo kompozitorius generuojant išvesties išraiškas pasirinktinis laukas, kurio išraiškoje yra tik funkcija CalculateArrayWithGroupArray(), generuoja išvesties išraišką taip, kad išvesties informacija būtų sutvarkyta. Pavyzdžiui, tinkintam laukui su išraiška:

CalculateExpressionWithGroupArray("Suma(SumaApyvarta)", "Sandorio šalis")
Išdėstymo kūrimo priemonė generuos šią išvesties išraišką:

ConnectRows(Array(Order(CalculateExpressionWithGroupingValueTable("Rodinys(Sum(Duomenų rinkinys.SumosApyvarta)),Sum(DataSet.AmountTnover)",,"DataSet.Account"),"2")))

Galimybės:

Tipas: Styga. Vertinama išraiška. Eilutė, pvz., Suma(AmountTurnover).

Tipas: Styga. Grupavimo laukų išraiškos – grupavimo laukų išraiškos, atskirtos kableliais. Pavyzdžiui, rangovas, šalis.

Tipas: Styga. Išraiška, apibūdinanti detalių įrašų pasirinkimą. Išraiška nepalaiko suvestinių funkcijų. Pavyzdžiui, „DeletionFlag“ = „False“.

Tipas: Styga. Išraiška, apibūdinanti grupės įrašams taikomą pasirinkimą. Pavyzdžiui, Suma(SumaApyvarta) > &1 parametras.
Pavyzdys:

Maksimalus(CalculateExpressionWithGroupArray("Suma(SumaApyvarta)", "Sandorio šalis"));

Išsamų funkcijos sintaksės aprašymą rasite adresu http://its.1c.ru/db/v837doc#bookmark:dev:TI000000582
Dabar skaičiavimui dubliuojame lauką „Užsakymas“ su skirtingomis reikšmėmis „Apskaičiuoti pagal...“, naudodami šias išraiškas, atkreipkite dėmesį, kad kiekviename aukštesniame lygyje yra naudojamos žemiau grupių reikšmės. .

Dėl to gauname tokią konstrukciją:

Vienas iš patogiausių ir unikaliausių 1C kūrimo įrankių yra duomenų sudarymo sistema (DCS). Mažai bet kurioje Informacinės sistemos kūrėjai gali kurti ataskaitas neįrašydami jokio kodo. Šis mechanizmas buvo sukurtas siekiant supaprastinti ir pagreitinti ataskaitų formų kūrimą ir suteikti daugiau galimybių vartotojams dirbti su išvesties duomenimis. Pastarąjį labai vertina pažengę vartotojai, kurie dėl to gali savarankiškai pritaikyti ataskaitą pagal savo poreikius, nelaukdami kūrėjų veiksmų.

Ataskaitos kūrimas 1C per SKD

Ataskaitos kūrimo procesą naudojant ACS galima suskirstyti į šiuos etapus:

  1. Prašymo kūrimas. Galite parašyti užklausą rankiniu būdu arba apsieiti be kodo naudodami patogią sąsają;
  2. Ataskaitos nustatymas. Pasirinkti laukus, sumas, grupes, parametrus, ataskaitos dizainą;
  3. Po to belieka bet kokiu prieinamu būdu prijungti gautą ataskaitą prie konfigūracijos.

Nepaisant to, kad vartotojai gali tinkinti prieigos kontrolės sistemos ataskaitas, jos turi būti sukurtos naudojant konfigūratorių.

Pažvelkime į išorinės prieigos kontrolės sistemos ataskaitos kūrimo pavyzdį:


Dabar einame į 1C, atidarykite ataskaitą, kad įsitikintumėte, jog atlikti veiksmai yra teisingi. Visi duomenys atsispindi, grupes galima sutraukti ir išplėsti. Kaip matote, prieigos kontrolės sistema leidžia gauti visavertes ataskaitas neįrašant kodo, išskyrus nestandartinius reikalavimus. Atsižvelgiant į tai, kad daugumos ataskaitų struktūra panaši, prieigos kontrolės sistemos žinojimas žymiai sumažins šių objektų kūrimo laiką.

Šis mechanizmas tapo labai populiarus, nes palaiko plačias ataskaitų teikimo galimybes. Be to, jais gali naudotis ne tik kūrėjai, bet ir paprasti vartotojai.

ACS galimybės

Būna situacijų, kai padarome ataskaitą, o tada ateina vartotojas ir prašo atlikti nedidelę modifikaciją. Pavyzdžiui, vietoj gaminių pavadinimų rodykite gaminių numerius. SKD leidžia vartotojams atlikti tokius pakeitimus savarankiškai, naudojant mygtuką „Daugiau“ - „Keisti parinktį...“.


Atsidarantis langas yra panašus į nustatymų langą konfigūravimo priemonės ataskaitoje, taip pat turi panašias funkcijas. Norėdami išspręsti užduotį, vartotojas turi eiti į skirtuką „Laukai“ ir pakeisti lauką „Nomenklatūra“. Šis redagavimo laukas atidaromas dukart spustelėjus ir atsiranda mygtukas „Pasirinkti...“.


Atsidariusiame lange galime pasirinkti bet kurią reikšmę, kuri bus rodoma lauke „Nomenklatūra“. Kai kurie laukai turi pliuso ženklą kairėje – kūrėjas šiuose laukuose įdėjo nuorodas, vadinasi, galime matyti jų detales. Atidarome „Nomenklatūrą“ ir matome mums reikalingą straipsnį. Pasirinkite jį ir pasirinkite jį.


Ataskaitų parinkčių keitimo lange yra daug naudingų duomenų sudarymo sistemos funkcijų. Pavyzdžiui, vartotojas gali savarankiškai keisti grupavimo tvarką, pridėti pasirinkimą arba taikyti sąlyginį dizainą. Mes užbaigiame redagavimą ir sugeneruojame ataskaitą – kaip matote, visas prekių asortimentas dabar rodomas straipsnių pavidalu.


SKD 1C:Enterprise 8.3 mechanizmas taip pat turi išplėstas funkcijas kūrėjams. Kurdami ataskaitą naudojome tik 2 skirtukus - „Duomenų rinkiniai“ ir „Nustatymai“, tačiau ACS jų yra daug daugiau. Norėdami naudotis visomis duomenų komponavimo sistemos funkcijomis, turite suprasti, kam skirtas kiekvienas skirtukas:

  1. Duomenų rinkiniai – čia pateikiamos visos užklausos, susijusios su ataskaitos generavimu;
  2. Duomenų rinkinių ryšiai – naudojami ryšiams tarp skirtingų užklausų kurti iš pirmo skirtuko;
  3. Apskaičiuoti laukai – ne iš užklausos pridėtų laukų sąrašas. Dažniausiai naudojamas tais atvejais, kai, remiantis kelių laukų reikšmėmis, iš užklausos reikia gauti 1 reikšmę;
  4. Ištekliai. 1C tai yra laukų, kurių rezultatus reikia žinoti, pavadinimas. Ištekliai palaiko įvairius aritmetinės operacijos– kiekis, kiekis, maksimalus ir kiti;
  5. Galimybės. Jie naudojami, jei generuojant ataskaitą vartotojui reikia įvesti tam tikrus duomenis – pvz., datą, skyrius ar nomenklatūrą;
  6. Maketai. Sukurta atvejams, kai vartotojai nori matyti unikalaus dizaino ataskaitą. Galite sukurti atskirą vietą parašams arba naują viršutinę ataskaitos dalį – visa tai galite padaryti čia;
  7. Įdėtos diagramos. Jie reikalingi, kai jūsų ataskaitoje turi būti kitų ataskaitų duomenų;
  8. Nustatymai. Skyriuje deklaruojami rodomi laukai, grupės ir konfigūracijos išvaizda ataskaita.


Galimybių, kurias kūrėjai įtraukė į ACS mechanizmą, skaičius yra didelis, tačiau daugelis jų naudojamos itin retai. Net patyrę 1C programuotojai gali nenaudoti kai kurių funkcijų po daugelio metų darbo. Norint sėkmingai pradėti dirbti prieigos kontrolės sistemoje, pakanka žinoti pagrindines sąvokas ir dažnai naudojamus nustatymus. Retais atvejais dokumentai ateis į pagalbą.

Prisijunkite prie svetainės kaip studentas

Prisijunkite kaip mokinys, kad galėtumėte pasiekti mokyklos medžiagą

Duomenų komponavimo sistema 1C 8.3 pradedantiesiems: rezultatų (išteklių) skaičiavimas

Šios pamokos tikslas bus:

  • Parašykite ataskaitą, kurioje pateikiamas produktų sąrašas (Maisto katalogas), jų kalorijų kiekis ir skonis.
  • Grupuokite produktus pagal spalvą.
  • Sužinokite apie apibendrinimą (išteklius) ir apskaičiuotus laukus.

Sukurkite naują ataskaitą

Kaip ir ankstesnėse pamokose, atidarome duomenų bazę " Deli"konfigūravimo priemonėje ir meniu sukurkite naują ataskaitą" Failas"->"Nauja...":

Dokumento tipas - išorės ataskaita:

Ataskaitos nustatymo formoje parašykite pavadinimą " 3 pamoka“ ir paspauskite mygtuką “ Atidarykite duomenų sudėties diagramą":

Palikite numatytąjį schemos pavadinimą ir spustelėkite " Paruošta":

Prašymo pridėjimas per konstruktorių

Skirtuke " Duomenų rinkinys“ spustelėkite žalias pliuso ženklas ir pasirinkite " Pridėti duomenų rinkinį – užklausa":

Užuot rašę užklausos tekstą rankiniu būdu, paleidžiame jį dar kartą užklausų konstruktorius:

"skirtuke" Lentelės"vilkite stalą" Maistas“ iš pirmo stulpelio į antrą:

Pasirinkite iš lentelės " Maistas"laukai, kurių prašysime. Norėdami tai padaryti, vilkite ir numeskite laukus" vardas", "Skonis", "Spalva"Ir" Kalorijų kiekis“ iš antro stulpelio į trečią:

Tai pasirodė taip:

Paspausk mygtuką " Gerai“ – užklausos tekstas buvo sugeneruotas automatiškai:

Ataskaitų pateikimo nustatymų kūrimas

Eikite į skirtuką " Nustatymai“ ir spustelėkite stebuklinga lazdele, paskambinti nustatymų dizaineris:

Pasirinkite ataskaitos tipą " Sąrašas...“ ir paspauskite mygtuką „ Toliau":

Vilkite iš kairiojo stulpelio į dešinę laukus, kurie bus rodomi sąraše, ir spustelėkite " Toliau":

Vilkite iš kairiojo stulpelio į dešinįjį lauką " Spalva" - tai nutiks grupavimas ataskaitos eilutės. spustelėkite " Gerai":

Ir čia yra dizainerio darbo rezultatas. Mūsų ataskaitos hierarchija:

  • ataskaita kaip visuma
  • grupavimas "Spalva"
  • detalūs įrašai – eilutės su maisto produktų pavadinimais

Išsaugokite ataskaitą (mygtukas diskelis) Ir neuždarydamas Mes iš karto atidarysime konfigūratorių vartotojo režimu. Tai pasirodė taip:

Stulpelių tvarkos keitimas

Bet tegul pakeisime tvarką stulpelius (rodyklėmis aukštyn ir žemyn), kad jis atrodytų taip, kaip toliau pateiktame paveikslėlyje:

Išsaugokime ataskaitą ir vėl atidarykime naudotojo režimu:

Puiku, tai daug geriau.

Apibendrinkime kalorijų kiekį

Būtų malonu apibendrinti maisto produktų kalorijų kiekį pagal grupes. Norėdami pamatyti visų produktų kalorijų sumą, tarkime, baltos arba geltonos spalvos. Arba sužinokite bendrą visų produktų kalorijų kiekį duomenų bazėje.

Tam tikslui sukurtas išteklių apskaičiavimo mechanizmas.

Eikite į skirtuką " Ištekliai"ir vilkite lauką" Kalorijų kiekis"(mes tai apibendrinsime) iš kairiojo stulpelio į dešinę.

Tokiu atveju lauke pasirinkite išraišką iš išskleidžiamojo sąrašo " Kiekis (kalorijos)“, nes bendra suma bus visų į bendrą sumą įtrauktų elementų suma:

Išsaugome ir generuojame ataskaitą:

Dabar turime kiekvienos grupės ir visos ataskaitos rezultatus.

Apibendrinkime (vidutiniškai) pagal kalorijas

Dabar padarykime, kad jis būtų rodomas kitame stulpelyje vidutinis produktų kalorijų kiekis pagal grupes ir ataskaitoje kaip visuma.

Negalite paliesti esamo „kalorijų“ stulpelio – jame jau rodoma bendra suma sukurkime kitą lauką, kuri bus tiksli lauko „Kalorijos“ kopija.

Norėdami sukurti tokį „virtualų“ lauką, naudosime mechanizmą skaičiuojami laukai.

Eikite į skirtuką " Apskaičiuoti laukai“ ir paspauskite žalias pliuso ženklas:

Stulpelyje " Duomenų kelias"rašome naujo lauko pavadinimą ( sklandžiai, be tarpų). Tegul tai vadinasi " Vidutinė kalorijų", ir stulpelyje " Išraiška"rašome esamo lauko pavadinimą, kurio pagrindu bus skaičiuojamas naujas laukas. Rašome ten " Kalorijų kiekis". Stulpelis" Antraštė“ bus užpildytas automatiškai.

Pridėjome naują lauką (" Vidutinė kalorijų“), tačiau jis savaime ataskaitoje nepasirodys – reikia arba skambinti dar kartą nustatymų dizaineris(„stebuklinga lazdelė“) arba pridėkite šį lauką rankiniu būdu.

Padarykime tai antra būdu. Norėdami tai padaryti, eikite į skirtuką " Nustatymai“, pasirinkite „ Pranešimas"(juk mes norime į ataskaitą įtraukti visą lauką), pasirinkite skirtuką apačioje" Pasirinkti laukai"ir vilkite lauką" Vidutinė kalorijų"iš kairiojo stulpelio į dešinę:

Tai pasirodė taip:

Išsaugome ir generuojame ataskaitą:

Atsirado laukas ir matome, kad jo reikšmės yra lauko „Kalorijos“ reikšmės. Puiku!

Norėdami tai padaryti, vėl naudosime mums jau žinomą mechanizmą išteklių(apibendrinant). Eikite į skirtuką " Ištekliai"ir vilkite lauką" Vidutinė kalorijų"iš kairiojo stulpelio į dešinę:

Be to, stulpelyje " Išraiška"išsirinkti" Vidutinis (vidutinė kalorija)":

Išsaugome ir generuojame ataskaitą:

Matome, kad grupių, tai yra kiekvienos spalvos, ir visos ataskaitos vidutinė vertė buvo apskaičiuota visiškai teisingai. Bet jie yra papildomi įrašai atskiriems produktams (ne grupėms), kuriuos norėčiau pašalinti iš ataskaitos.

Ar žinote, kodėl jie atsirado (vertės ne pagal grupes)? Nes kai įtraukėme lauką " Vidutinė kalorijų„Ataskaitos nustatymuose, antrame žingsnyje pasirinkome visa ataskaita ir šis naujas laukas pateko į elementą " Detalus įrašų".

Ištaisykime klaidą. Norėdami tai padaryti, grįžkite į skirtuką " Nustatymai“, pasirinkite „ Išsamūs įrašai"pirmiausia iš viršaus (2 veiksmas) ir tada" Išsamūs įrašai"iš apačios (3 veiksmas), eikite į žymę" Pasirinkta laukai" ir dešiniajame stulpelyje pamatysime elementą " Automatinis".

Elementas " Automatinis“ – tai ne vienas laukas. Tai keli laukai, kurie čia patenka automatiškai, atsižvelgiant į aukštesnio lygio nustatymus.

Norėdami pamatyti, kas yra šie laukai, spustelėkite elementą " Automatinis" teisingai mygtuką ir pasirinkite " Išskleisti":

Elementas " Automatinis“ išskleistas į šiuos laukus:

O čia mūsų laukas“ Vidutinė kalorijų"kuris čia atėjo iš taško" Pranešimas“ kai nutempėme jį ten. Tiesiog pašalinkime pažymėkite langelį šalia šio lauko, kad pašalintumėte jo išvestį.

1. Apskaičiuokite (eval)- skirtas įvertinti išraišką tam tikros grupės kontekste. Funkcija naudojama suderinamumui su ankstesnėmis platformos versijomis. Vietoje to rekomenduojama naudoti funkciją CalculateExpression.

Sintaksė:
Apskaičiuoti (išraiška, grupavimas, skaičiavimo tipas)

Galimybės :

  • Išraiška(Eilutė). Yra apskaičiuota išraiška;
  • Grupavimas(Eilutė). Jame yra grupės, kurios kontekste turi būti įvertinta išraiška, pavadinimas. Jei kaip grupavimo pavadinimas naudojama tuščia eilutė, skaičiavimas bus atliktas esamos grupės kontekste. Jei GrandTotal eilutė naudojama kaip grupės pavadinimas, skaičiavimas bus atliktas atsižvelgiant į bendrą sumą. Kitu atveju skaičiavimas bus atliktas to paties pavadinimo pagrindinės grupės kontekste.
    Pavyzdžiui:
    Suma(Pardavimai.SumaApyvarta) / Apskaičiuoti("Suma(Pardavimas.SumaApyvarta)", "Iš viso").
    Šiame pavyzdyje rezultatas bus grupavimo įrašo lauko „Pardavimas.SumaApyvarta“ sumos ir to paties lauko sumos visame makete santykis.
  • Skaičiavimo tipas(Eilutė). Jei šis parametras nustatytas į „TotalTotal“, išraiška bus apskaičiuojama visiems grupavimo įrašams. Jei parametro reikšmė yra „Grupavimas“, reikšmės bus skaičiuojamos esamam grupavimo grupės įrašui.
2. Įvertinkite išraišką (EvalExpression) - skirtas įvertinti išraišką tam tikros grupės kontekste. Funkcija atsižvelgia į grupių pasirinkimą, bet neatsižvelgia į hierarchinius pasirinkimus. Funkcija negali būti taikoma grupei pasirinkus tos grupės grupę.

Sintaksė:
CalculateExpression (išraiška, grupavimas, skaičiavimo tipas, pradžia, pabaiga, rūšiavimas, hierarchinis rūšiavimas, apdorojimo identiškos užsakymo vertės)

Galimybės :

  • Išraiška(Eilutė). Yra apskaičiuota išraiška;
  • Grupavimas(Eilutė). Jame yra grupės, kurios kontekste turi būti įvertinta išraiška, pavadinimas. Jei kaip grupavimo pavadinimas naudojama tuščia eilutė, skaičiavimas bus atliktas esamos grupės kontekste. Jei GrandTotal eilutė naudojama kaip grupės pavadinimas, skaičiavimas bus atliktas atsižvelgiant į bendrą sumą. Kitu atveju skaičiavimas bus atliktas pirminės grupės su tuo pavadinimu kontekste;
  • Skaičiavimo tipas(Eilutė). Jei šis parametras nustatytas į „TotalTotal“, išraiška bus apskaičiuojama visiems grupavimo įrašams. Jei parametro reikšmė yra „Grupavimas“, reikšmės bus skaičiuojamos esamam grupavimo grupės įrašui. Jei parametras nustatytas į "Ne išteklių grupavimas", tada skaičiuojant grupės įrašo funkciją pagal išteklius, išraiška bus įvertinta pirmajam pradinės grupės įrašui. Vertinant funkciją CalculateExpression su reikšme "GroupingNonResource" grupės įrašams, kurie nėra grupavimas pagal išteklius, funkcija vertinama taip pat, kaip ji būtų vertinama naudojant parametro "Grouping" reikšmę. Duomenų kompozicijos maketo kūrimo priemonė, generuojant duomenų sudėties maketą, kai išvedamas laukas – išteklius, pagal kurį atliekamas grupavimas, į maketą išveda išraišką, apskaičiuotą naudojant funkciją CalculateExpression su nurodytu parametru „GroupingNon-Resource“. Kitų išteklių, sugrupuotų pagal išteklius, atveju grąžinamos įprastos išteklių išraiškos. Jei parametras nustatytas į „Hierarchija“, tada išraiška turi būti įvertinta pirminiam hierarchiniam įrašui, jei toks yra, ir visai grupei, jei nėra pirminio hierarchinio įrašo. Išdėstymo kūrimo priemonė, generuodama išraišką % lauke Hierarchijos grupė, sugeneruoja išraišką, kurioje yra išteklių išraiškos ryšys su funkcija CalculateExpression, skirta dabartinei grupei su skaičiavimo tipu Hierarchija.
  • Pradėti. Nurodo, nuo kurio įrašo turėtų prasidėti fragmentas, kuriame apibendrintos išraiškos funkcijos turėtų būti skaičiuojamos ir iš kurio įrašo būtų gautos lauko reikšmės, nepriklausančios suvestinėms funkcijoms. Eilutę, kurioje yra vienas iš:
    • "Pirmas" Būtina gauti pirmąjį grupavimo įrašą. Po žodžio skliausteliuose galite nurodyti išraišką, kurios rezultatas bus naudojamas kaip poslinkis nuo grupavimo pradžios. Gauta reikšmė turi būti sveikasis skaičius, didesnis už nulį. Pavyzdžiui, First(3) – trečiojo įrašo gavimas nuo grupavimo pradžios. Jei pirmasis įrašas yra už grupės ribų, tada laikoma, kad įrašų nėra. Pavyzdžiui, jei yra 3 įrašai ir norite gauti First(4), tada laikoma, kad įrašų nėra.
    • "Paskutinis" Turite gauti paskutinį grupavimo įrašą. Po žodžio skliausteliuose galite nurodyti išraišką, kurios rezultatas bus naudojamas kaip poslinkis nuo grupavimo pabaigos. Gauta reikšmė turi būti sveikasis skaičius, didesnis už nulį. Pavyzdžiui, Last(3) – trečio įrašo gavimas iš grupės pabaigos. Jei paskutinis įrašas yra už grupės ribų, laikoma, kad įrašų nėra. Pavyzdžiui, jei yra 3 įrašai ir norite gauti Last(4), tada laikoma, kad įrašų nėra.
    • "Ankstesnis" Turite gauti ankstesnį grupavimo įrašą. Po žodžio skliausteliuose galite nurodyti išraišką, kurios rezultatas bus naudojamas kaip poslinkis atgal nuo esamo grupavimo įrašo. Pavyzdžiui, ankstesnis(2) – ankstesnio įrašo gavimas iš ankstesnio įrašo. Jei ankstesnis įrašas yra už grupės ribų (pavyzdžiui, norint gauti antrąjį grupavimo įrašą, reikia gauti ankstesnį (3)), tada gaunamas pirmasis grupavimo įrašas. Gavus ankstesnį grupavimo sumos įrašą, gaunamas pirmasis įrašas.
    • "Kitas" Turite gauti kitą grupavimo įrašą. Po žodžio skliausteliuose galite nurodyti išraišką, kurios rezultatas bus naudojamas kaip poslinkis į priekį nuo esamo grupavimo įrašo. Pavyzdžiui, Next(2) – gauti kitą iš kito įrašo. Jei kitas įrašas viršija grupavimą, laikoma, kad įrašų nėra. Pavyzdžiui, jei yra 3 įrašai, o trečiasis gauna Next, tada laikoma, kad įrašų nėra. Kai gaunamas kitas grupavimo sumos įrašas, laikoma, kad įrašo nėra.
    • "Dabartinė". Turite gauti dabartinį įrašą. Kai gaunama grupavimo suma, gaunamas pirmasis įrašas.
    • „Ribinė vertė“. Poreikis gauti įrašą pagal nurodytą reikšmę. Po žodžio LimitingValue skliausteliuose reikia nurodyti reiškinį, kurio reikšme norima pradėti fragmentą, pirmąjį rikiavimo lauką. Pirmasis įrašas, kurio užsakymo lauko reikšmė yra didesnė arba lygi nurodytai vertei, bus grąžintas kaip įrašas. Pavyzdžiui, jei laukas Laikotarpis naudojamas kaip užsakymo laukas ir jo reikšmės yra 2010-01-01, 2010-02-01, 2010-01-03 ir norite gauti LimitingValue(DateTime(2010) , 1, 15)), tada bus gautas įrašas su data 2010 m. 01 d.
  • Galas. Nurodo, į kurį įrašą reikia tęsti fragmentą, kuriame turi būti skaičiuojama suminė išraiška. Eilutę, kurioje yra vienas iš:
    • "Pirmas"
    • "Paskutinis"
    • "Ankstesnis"
    • "Kitas"
    • "Dabartinė".
    • „Ribinė vertė“.
  • Rūšiavimas. Eilutė, kurioje išvardijami kableliais atskirti posakiai, kurių kryptimi seka turi būti išdėstyta. Jei nenurodyta, tada sutvarkymas atliekamas taip pat, kaip ir grupavimui, kuriam vertinama išraiška. Po kiekvienos išraiškos galite nurodyti raktinį žodį Ascending, rikiavimui didėjančia tvarka, Mažėjanti, rikiavimui mažėjančia tvarka, Auto-Ordering, nuorodos laukams rūšiuoti pagal laukus, pagal kuriuos norite rūšiuoti objektą, į kurį nukreipiama. Žodis „Auto Order“ gali būti naudojamas ir su žodžiu didėjanti, ir su žodžiu mažėjanti.
  • Hierarchinis rūšiavimas. Panašus į rūšiavimą. Naudojamas hierarchiniams įrašams tvarkyti. Jei nenurodyta, maketavimo sudarytojas sugeneruoja tvarką pagal tvarką, nurodytą parametre Rūšiuoti.
  • Apdorojamos tos pačios užsakymo vertės. Eilutę, kurioje yra vienas iš:
    • „Kartu“ reiškia, kad ankstesniems ir kitiems įrašams nustatyti naudojama sutvarkytų įrašų seka;
    • „Atskirai“ reiškia, kad ankstesni ir kiti įrašai nustatomi pagal eilės išraiškų reikšmes;
    Pavyzdžiui, jei gauta seka yra išdėstyta pagal datą:
    1. 2001 m. sausio 1 d. Ivanovas M. 10
    2. 2001 m. sausio 2 d. Petrovas S. 20
    3. 2001 m. sausio 2 d. Sidorovas R. 30
    4. 2001 m. sausio 3 d. Petrovas S. 40
    Naudojant identiškų eilės „Atskirai“ verčių apdorojimą, ankstesnė 3 įrašo vertė bus 2 įrašas, o naudojant „Kartu“ - 1 įrašas. Ir dabartinio įrašo fragmentas 2 įrašui „Atskirai“ bus 2 rekordas, o "Kartu" - 2 ir 3. Taigi, dabartinio "Atskirai" rekordo suma bus 20, o "Kartu" - 50. Kai "Kartu" yra nurodyta Pradžioje ir Pabaigos parametrai negali nurodyti pozicijų „Pirma“, „Paskutinė“, „Ankstesnis“, „Kitas“ poslinkio. Numatytoji reikšmė yra „Atskiras“.
Pavyzdys:
Grupavimo įrašo lauko „Pardavimas.SumaApyvarta“ sumos ir to paties lauko sumos santykio gavimas visame makete:
Suma(Pardavimai.SumaApyvarta) / ApskaičiuokiteIšraiška("Suma(Pardavimas.SumaApyvarta)", "Iš viso").

Šiame pavyzdyje apskaičiuojama dabartinės hierarchijos vertė:
Pasirinkimas
Kai Level() > 0
Tada EvaluateExpression ("Nuoroda", "Hierarchija")
Kitu atveju Null
Galas

Pastabos:
Funkcija atsižvelgia į grupių pasirinkimą, bet neatsižvelgia į hierarchinius pasirinkimus. Funkcija negali būti taikoma grupei pasirinkus tos grupės grupę. Pavyzdžiui, pasirinkdami nomenklatūros grupavimą, negalite naudoti išraiškos CalculateExpression("Sum(SumTrnover)", "TotalTotal") > 1000 . Tačiau tokia išraiška gali būti naudojama hierarchinėje atrankoje. Jei pabaigos įrašas yra prieš pradžios įrašą, tada laikoma, kad nėra įrašų, skirtų išsamiems duomenims skaičiuoti ir suvestinėms funkcijoms skaičiuoti. Skaičiuojant bendrosios sumos intervalų išraiškas (grupavimo parametras nustatytas į "GrossTotal"), daroma prielaida, kad nėra įrašų, skirtų išsamiems duomenims ir suvestinėms funkcijoms apskaičiuoti. Generuojant funkcijos CalculateExpression išraišką, išdėstymo sudarytojas, jei išdėstymo išraiškoje yra laukų, kurių negalima naudoti grupuojant, funkciją CalculateExpression pakeičia į NULL.

3. Įvertinkite išraišką naudojant grupės masyvą (EvalExpression su grupės masyvu) - funkcija grąžina masyvą, kurio kiekviename elemente yra grupavimo pagal nurodytą lauką išraiškos apskaičiavimo rezultatas.

Sintaksė:
CalculateExpressionWithGroupArray (Expression, GroupFieldExpressions, SelectRecords, SelectGroups)

Galimybės :

  • Išraiška(String) – išraiška, kurią reikia įvertinti. Pavyzdžiui, "Suma(SumaApyvarta)";
  • „FieldExpressiionsGroups“.
  • Įrašų pasirinkimas
  • Grupių pasirinkimas- grupės įrašams taikomas pasirinkimas. Pavyzdžiui: „Suma(SumaApyvarta) > &1 parametras“.
Pavyzdys:
Maksimalus(CalculateExpressionWithGroupArray("Suma(SumaApyvarta)", "Sandorio šalis"));


Išdėstymo kūrimo priemonė, generuodama išraiškas pasirinktiniam laukui, kurio išraiškoje yra tik funkcija CalculateArrayWithGroup, sugeneruoja rodymo išraišką, kad rodiniuose rodomi duomenys ir duomenys būtų sutvarkyti.
Pavyzdžiui, tinkintam laukui su išraiška:
CalculateExpressionWithGroupArray("Suma(SumaApyvarta)", "Sandorio šalis")
Išdėstymo kūrimo priemonė generuos šią išvesties išraišką:
ConnectRows(Array(Order(CalculateExpressionWithGroupingValueTable("Rodinys(Sum(DataSet.AmountTurnover)), Suma(DataSet.AmountTnover)", "DataSet.Account"), "2")))

4. Apskaičiuokite išraišką naudodami GroupValueTable (EvalExpressionWithGroupValueTable) - funkcija grąžina reikšmių lentelę, kurios kiekviename elemente yra grupavimo pagal nurodytą lauką išraiškos apskaičiavimo rezultatas.

Sintaksė:
CalculateExpressionWithGroupValueTable (išraiška, grupės lauko išraiškos, įrašų pasirinkimas, grupės pasirinkimas)

Galimybės :

  • Išraiška(String) – išraiška, kurią reikia įvertinti. Eilutėje gali būti keli posakiai, atskirti kableliais. Po kiekvienos išraiškos gali būti pasirenkamas raktinis žodis AS ir verčių lentelės stulpelio pavadinimas. Pavyzdžiui: „Sandorio šalis, suma (AmountTurnover) kaip pardavimo apimtis“.
  • „FieldExpressiionsGroups“.- grupavimo laukų išraiškos, atskirtos kableliais. Pavyzdžiui, „Darbo šalis, šalis“;
  • Įrašų pasirinkimas- išraiška, taikoma išsamiems įrašams. Pavyzdžiui, „Ištrynimo žyma = klaidinga“. Jei į šis parametras naudojama agregavimo funkcija, sudarant duomenis įvyks klaida;
  • Grupių pasirinkimas- grupės įrašams taikomas pasirinkimas. Pavyzdžiui: „Suma(SumaApyvarta) > &1 parametras“.
Pavyzdys:
CalculateExpressionWithGroupValueTable ("Sąskaita kaip sandorio šalis, suma (sumaApyvarta) ASSpardavimo apimtis", "Sąskaita")

Šios funkcijos rezultatas bus verčių lentelė su stulpeliais Sandorio šalis ir Pardavimo apimtis, kurioje bus nurodytos sandorio šalys su jų pardavimo apimtimis.
Išdėstymo kompozitorius, generuodamas maketą, konvertuoja funkcijų parametrus į duomenų sudėties išdėstymo laukus. Pavyzdžiui, laukas Paskyra bus konvertuotas į DataSet.Account.
Pavyzdžiui, pasirinktinis laukas su išraiška:
CalculateExpressionWithGroupValueTable("Sąskaita, Suma(AmountApyvarta)", "Sąskaita")
Išdėstymo kūrimo priemonė generuos šią išvesties išraišką:
ConnectRows(GetPart(Order(CalculateExpressionWithGroupingValueTable("Duomenų rinkinys.Paskyra, Duomenų rinkinys.Paskyros pateikimas, Suma(Duomenų rinkinys.Sumos apyvarta), Rodinys(Duomenų rinkinys.Sumos apyvarta), Duomenų rinkinys.Užsakymo laukas", A "Duomenų rinkinys", 3), ), "2, 4"))

5. Lygis - funkcija skirta dabartiniam įrašymo lygiui gauti.

Sintaksė:
Lygis ()

Pavyzdys:
Lygis ()

6. SequenceNumber - gauti kitą serijos numerį.

Sintaksė:
NumberByOrder()

Pavyzdys:
NumberByOrder()

7. SequenceNumberInGrouping - grąžina kitą eilės numerį dabartinėje grupėje.

Pavyzdys:
NumberByOrderInGroup()

8. Formatas - gauti suformatuotą perduodamos reikšmės eilutę.

Sintaksė:
Formatas (reikšmė, formato eilutė)

Galimybės :

  • Reikšmė- išraiška, kurią reikia suformatuoti;
  • FormatString- formato eilutė nustatyta pagal 1C:Enterprise formato eilutę.
Pavyzdys:
Formatas (vartojimo sąskaitos faktūros. Dokumento suma, "NPV=2")

9. BeginOfPeriod

Sintaksė:
Pradžios laikotarpis (data, laikotarpio tipas)

Galimybės :

  • data(Data). Nurodyta data;
  • Laikotarpio tipas
Pavyzdys:
Pradžios laikotarpis(dataLaikas(2002, 10, 12, 10, 15, 34), "mėnuo")
Rezultatas: 2002-10-01 0:00:00

10. EndOfPeriod - funkcija skirta pasirinkti konkrečią datą iš nurodytos datos.

Sintaksė:
Pabaigos laikotarpis (data, laikotarpio tipas)

Galimybės :

  • data(Data). Nurodyta data;
  • Laikotarpio tipas(Eilutė). Yra viena iš šių reikšmių: Minute; Valanda; Diena; Savaitė; Mėnuo; ketvirtis; Metai; Dešimtmetis; Pusė metų.
Pavyzdys:
Pabaigos laikotarpis (DataLaikas (2002, 10, 12, 10, 15, 34), "Savaitė")
Rezultatas: 2002-10-13 23:59:59

11. AddKDate (DateAdd) - funkcija skirta pridėti tam tikrą datos reikšmę.

Sintaksė:
AddToDate (išraiška, padidėjimo tipas, dydis)

Galimybės :

  • Išraiška(Data). Pradinė data;
  • Tipas Didinimas(Eilutė). Yra viena iš šių reikšmių: Minute; Valanda; Diena; Savaitė; Mėnuo; ketvirtis; Metai; Dešimtmetis; Pusė metų.
  • Didumas(Skaičius). Kiek reikia padidinti datą, trupmeninė dalis ignoruojama.
Pavyzdys:
AddToDate(DataLaikas(2002, 10, 12, 10, 15, 34), "Mėnuo", 1)
Rezultatas: 2002-11-12 10:15:34

12. Datos skirtumas - funkcija skirta gauti skirtumą tarp dviejų datų.

Sintaksė:
Skirtumo data (1 išraiška, 2 išraiška, skirtumo tipas)

Galimybės :

  • Išraiška1(Data). Atimta data;
  • Išraiška2(Data). Pradinė data;
  • Tipas Skirtumas(Eilutė). Yra viena iš reikšmių: Antra; Minutė; Valanda; Diena; Mėnuo; ketvirtis; Metai.
Pavyzdys:
DATOS SKIRTUMAS(DATETIME(2002, 10, 12, 10, 15, 34),
DATETIME (2002, 10, 14, 9, 18, 06), "DIENA")
Rezultatas: 2

13. Poeilutė - ši funkcija skirta ištraukti eilutę iš eilutės.

Sintaksė:
Poeilutė (eilutė, padėtis, ilgis)

Galimybės :

  • Linija(Eilutė). Eilutę, iš kurios išgaunama poeilutė;
  • Padėtis(Skaičius). Simbolio, nuo kurio prasideda eilutė, kurią reikia išgauti iš eilutės, padėtis;
  • Ilgis(Skaičius). Paskirtos poeilutės ilgis.
Pavyzdys:
SUBSTRING(Paskyros. Adresas, 1, 4)

14. Stygos ilgis - funkcija skirta nustatyti eilutės ilgį.

Sintaksė:
Stygos ilgis (eilutė)

Parametras :

  • Linija(Eilutė). Eilutė, kurios ilgis yra nurodytas.
Pavyzdys:
Eilutė (sandorio šalys. Adresas)

15. Metai- ši funkcija skirta ištraukti metus iš datos tipo reikšmės.

Sintaksė:
Metai (data)

Parametras :

  • data(Data). Data, iki kurios nustatomi metai.
Pavyzdys:
YEAR (išlaidos.data)

16. Ketvirtis - ši funkcija skirta ketvirčio numeriui ištraukti iš datos tipo reikšmės. Ketvirčio skaičius paprastai svyruoja nuo 1 iki 4.

Sintaksė:
ketvirtis (data)

Parametras :

  • data(Data). Data, iki kurios nustatomas ketvirtis
Pavyzdys:
KETVIRTIS (išlaidos.data)

17. Mėnuo - ši funkcija skirta ištraukti mėnesio skaičių iš datos tipo reikšmės. Mėnesio skaičius paprastai svyruoja nuo 1 iki 12.

Sintaksė:
Mėnuo (data)

Parametras :

  • data(Data). Data, iki kurios nustatomas mėnuo.
Pavyzdys:
MĖNESIS (išlaidos.data)

18. Metų diena (DayOfYear) - ši funkcija skirta gauti metų dieną iš datos tipo reikšmės. Metų diena paprastai svyruoja nuo 1 iki 365 (366).

Sintaksė:
Metų diena (data)

Parametras :

  • data(Data). Data, pagal kurią nustatoma metų diena.
Pavyzdys:
DIENA (išlaidų sąskaita. data)

19. Diena- ši funkcija skirta gauti mėnesio dieną iš datos tipo reikšmės. Mėnesio diena paprastai svyruoja nuo 1 iki 31.

Sintaksė:
Diena (data)

Parametras :

  • data(Data). Data, iki kurios nustatoma mėnesio diena.
Pavyzdys:
DIENA (išlaidos. data)

20. Savaitė - ši funkcija skirta gauti metų savaitės numerį iš datos tipo reikšmės. Metų savaitės skaičiuojamos nuo 1.

Sintaksė:
Savaitė (data)

Parametras :

  • data(Data). Data, pagal kurią nustatomi savaitės skaičiai.
Pavyzdys:
SAVAITĖ (išlaidos.data)

21. Savaitės diena - ši funkcija skirta savaitės dienai gauti iš datos tipo reikšmės. Įprasta savaitės diena svyruoja nuo 1 (pirmadienis) iki 7 (sekmadienis).

Sintaksė:
Savaitės diena (data)

Parametras :

  • data(Data). Data, pagal kurią nustatoma savaitės diena.
Pavyzdys:
SAVAITĖS DIENA (išlaidos. data)

22. Valanda- ši funkcija skirta dienos valandai gauti iš datos tipo reikšmės. Dienos valanda svyruoja nuo 0 iki 23.

Sintaksė:
valanda (data)

Parametras :

  • data(Data). Data, pagal kurią nustatoma paros valanda.
Pavyzdys:
VALANDA (išlaidos. data)

23. Minutė - ši funkcija skirta gauti valandos minutę iš datos tipo reikšmės. Valandos minutės svyruoja nuo 0 iki 59.

Sintaksė:
Minutė (data)

Parametras :

  • data(Data). Data, pagal kurią nustatoma valandos minutė.
Pavyzdys:
MINUTĖ (išlaidos.data)

24. Antra - ši funkcija skirta gauti minutės sekundę iš datos tipo reikšmės. Minutės sekundė svyruoja nuo 0 iki 59.

Sintaksė:
Antra (data)

Parametras :

  • data(Data). Data, iki kurios nustatomos minutės sekundės.
Pavyzdys:
ANTRA (galiojimo pabaigos data)

25. Lieta - ši funkcija skirta ištraukti tipą iš išraiškos, kurioje gali būti sudėtinis tipas. Jei reiškinyje yra kitoks nei reikalaujamas tipas, bus grąžintas NULL.

Sintaksė:
Express (išraiška, tipo nuoroda)

Galimybės :

  • Išraiška- konvertuojama išraiška;
  • Tipo indikacija(Eilutė). Yra tipo eilutė. Pavyzdžiui, „Skaičius“, „Eilutė“ ir kt. Be primityvių tipų, šioje eilutėje gali būti lentelės pavadinimas. Tokiu atveju bus bandoma išreikšti nuorodą į nurodytą lentelę.
Pavyzdys:
Express(Data.Props1, "Skaičius(10,3)")

26. IsNull (IsNull) - ši funkcija grąžina antrojo parametro reikšmę, jei pirmojo parametro reikšmė yra NULL. Priešingu atveju bus grąžinta pirmojo parametro reikšmė.

Sintaksė:
IsNull(1 išraiška, 2 išraiška)

Galimybės :

  • Išraiška1- tikrintina vertė;
  • Išraiška2- grąžinti vertę, jei 1 išraiška yra NULL.
Pavyzdys:
TaipNULL(suma(pardavimas.sumaApyvarta), 0)

27.ACos- apskaičiuoja lanko kosinusą radianais.

Sintaksė:
ACos (išraiška)

Parametras :

  • Išraiška(Skaičius). Kosinuso reikšmė (diapazone -1 ... 1), pagal kurią nustatomas kampas.
28.ASin- apskaičiuoja arcsinusą radianais.

Sintaksė:
ASin (išraiška)

Parametras :

  • Išraiška(Skaičius). Sinuso reikšmė (diapazone -1 ... 1), pagal kurią nustatomas kampas.
29.ATan- apskaičiuoja arctangentą radianais.

Sintaksė:
ATan (išraiška)

Parametras :

  • Išraiška(Skaičius). Tangentinė vertė, pagal kurią nustatomas kampas.
30.Kos- apskaičiuoja kosinusą.

Sintaksė:
Cos (išraiška)

Parametras :

  • Išraiška
31. Galiojimo laikas- skaičiaus e didinimas iki laipsnio.

Sintaksė:
Exp (išraiška)

Parametras :

  • Išraiška(Skaičius). Laipsnio prasmė.
32.Žurnalas- apskaičiuoja natūralųjį logaritmą.

Sintaksė:
Žurnalas (išraiška)

Parametras :

  • Išraiška
33.Žurnalas10- apskaičiuoja X logaritmą iki 10 bazės.

Sintaksė:
Log10 (išraiška)

Parametras :

  • Išraiška(Skaičius). Pradinis skaičius yra didesnis nei 0.
34. Pow- eksponencija.

Sintaksė:
Pow (pagrindas, indikatorius)

Galimybės :

  • Bazė(Skaičius). Eksponentiškumo operacijos pagrindas.
  • Indeksas(Skaičius). Rodiklis.
35. Nuodėmė- apskaičiuoja sinusą.

Sintaksė:
Nuodėmė (išraiška)

Parametras :

  • Išraiška(Skaičius). Nurodyta radianais.
36. kv- apskaičiuoja kvadratinę šaknį.

Sintaksė:
sqrt (išraiška)

Parametras :

  • Išraiška(Skaičius). Neneigiamas skaičius.
37. Įdegis- apskaičiuoja liestinę.

Sintaksė:
Tan (išraiška)

Parametras :

  • Išraiška(Skaičius). Sinuso reikšmė, pagal kurią nustatomas kampas.
38. Apvalus- apvalina pradinį skaičių iki reikiamo bito gylio. Apvalinimo režimas yra standartinis (1,5 kaip 2).

Sintaksė:
Env (išraiška, bitų gylis)

Galimybės :

  • Išraiška(Skaičius). Originalus numeris;
  • Bitelio gylis(Skaičius). Suapvalintinų skaitmenų po kablelio skaičius.
39. Tarpt- nukerta trupmeninė dalis numeriai.

Sintaksė:
Objektas (išraiška)

Parametras :

  • Išraiška(Skaičius). Trupmeninis skaičius.
40. Bendrųjų modulių funkcijos

Duomenų sudėties variklio išraiškoje gali būti iškvietimų į visuotinių bendrųjų konfigūracijos modulių funkcijas. Norint iškviesti tokias funkcijas, nereikia jokios papildomos sintaksės.

Pavyzdys:
Sutrumpintas pavadinimas (dokumentai. nuoroda, dokumentai. data, dokumentai. skaičius)

Šiame pavyzdyje funkcija "AbbreviatedName" bus iškviesta iš bendrojo konfigūravimo modulio.
Atkreipkite dėmesį, kad naudoti bendras modulio funkcijas leidžiama tik tuo atveju, jei nurodytas atitinkamas duomenų sudėties procesoriaus parametras.
Be to, įprastų modulių funkcijos negali būti naudojamos tinkintose lauko išraiškose.

41. Pasipiktinimas - ši funkcija grąžina neprimityviojo tipo perduodamos reikšmės eilutės atvaizdavimą. Primityvaus tipo reikšmėms grąžina pačią reikšmę.

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

Pavyzdys:
Pristatymas (sandorio šalis)

42. Styga - ši funkcija perduodamą reikšmę konvertuoja į eilutę.

Jei kaip parametras naudojamas masyvas arba verčių lentelė, funkcija grąžina eilutę, kurioje yra visų masyvo elementų eilutė, atskirta simboliais ";". Jei kurio nors elemento eilutės vaizdas yra tuščias, vietoj jos atvaizdavimo rodoma eilutė ".<Пустое значение>".

Pavyzdys:
Eilutė (pardavimo data)

43. ValueIsFilld

NULL reikšmėms Undefined visada pateikia False.
Būlio vertės visada pateikia True.
Kitų tipų atveju grąžina True, jei reikšmė skiriasi nuo numatytosios nurodyto tipo reikšmės.

Pavyzdys:
Užpildyta vertė (pristatymo data)

44. LevelInGroup - ši funkcija gauna dabartinį įrašymo lygį, palyginti su grupe.

Galima naudoti norint gauti įrašo įdėjimo lygį hierarchinėje grupėje.

Pavyzdys:
LevelInGroup()

45. ValueType

Sintaksė:
Vertės tipas (išraiška)

Parametras :

  • Išraiška(Eilutė). Eilutės vertės tipas.
Grąžina tipo Type reikšmę, kurioje yra funkcijos parametro vertės tipas.
mob_info