Izražajni jezik sustava sastava podataka (1Cv8). Jezik izraza sustava sastava podataka (1Cv8) 1c prilagođeno polje izraza

Detaljno smo ispitali postavke izvješća implementiranih na temelju sustava kontrole pristupa. Sada pogledajmo suptilnije i detaljnije postavke za opcije izvješća. Prozor za “napredne” postavke opcije izvješća poziva se naredbom “Više” - “Ostalo” - “Promijeni opciju izvješća”.

Prozor za promjenu verzije izvješća podijeljen je u dva dijela:

1. Struktura izvješća.

2. Postavke izvješća.


Odjeljak strukture opcije izvješća sličan je kartici "Struktura" standardnih postavki izvješća. Svrha i konfiguracija grupiranja detaljno se raspravlja u 1. dijelu članka.

Tablica varijante strukture izvješća, osim stvarnog stupca s grupiranjima, sadrži nekoliko dodatnih stupaca:

Odjeljak s postavkama opcije izvješća daje korisniku brojne mogućnosti za konfiguriranje izvješća kako bi odgovaralo njegovim potrebama. Gotovo se u potpunosti podudara sa standardnim postavkama izvješća o kojima se raspravljalo u 1. dijelu. Pogledajmo sve kartice odjeljka i uočimo razlike.

Odjeljak postavki sastoji se od sljedećih kartica:

1. Parametri. Sadrži ACS parametre dostupne korisniku.

Parametar SKD je vrijednost koja se koristi za dobivanje podataka izvješća. To može biti vrijednost uvjeta za odabir ili provjeru podataka, kao i pomoćna vrijednost.


Tablica parametara prikazana je u formatu "Parametar" - "Vrijednost". Ako je potrebno, možete promijeniti vrijednosti parametara. Klikom na gumb "Svojstva elementa prilagođenih postavki" otvaraju se prilagođene postavke elementa.


U ovom prozoru možete odabrati hoće li element biti uključen u korisničke postavke (odnosno, vidljiv korisniku prilikom postavljanja izvješća), postaviti prezentaciju elementa i način uređivanja (brzi pristup u zaglavlju izvješća, normalan u postavke izvješća i nedostupan).

Svojstva stavki prilagođenih postavki također imaju polja koja se mogu grupirati, margine, odabire i elemente uvjetnog izgleda.

2. Prilagođena polja. Sadrži polja koja generira sam korisnik na temelju podataka odabranih izvješćem.


Korisnik može dodati dvije vrste polja:

  • Novo polje za odabir...
  • Novo polje izraza...

Polja za odabir omogućuju izračunavanje vrijednosti na temelju zadanog uvjeta. Prozor za uređivanje polja odabira sadrži naslov polja i tablicu u kojoj se navodi odabir, vrijednost i prikaz polja. Odabir je uvjet, ovisno o kojem će se željena vrijednost zamijeniti.


Na primjer, izračunajmo procjenu broja prodaja. Pretpostavit ćemo da ako je prodano manje od 10 jedinica proizvoda, prodali smo malo, a ako je više od 10 jedinica, prodali smo puno. Da bismo to učinili, postavit ćemo 2 vrijednosti za izračunato polje: prva će biti s odabirom "Broj robe manji od ili jednak "10"", druga s odabirom "Broj robe veći od "10 ””.

Polja izraza omogućuju vam izračunavanje vrijednosti pomoću proizvoljnih algoritama. Mogu koristiti funkcije jezika upita i ugrađenog programskog jezika 1C. Prozor za uređivanje polja izraza sadrži dva polja za izraze detaljnih i sumarnih zapisa. Ukupni zapisi su grupiranja konfigurirana u području "Struktura izvješća"; moraju koristiti agregatne funkcije ("Zbroj", "Minimum", "Maksimum", "Količina").

Na primjer, izračunajmo prosječni postotak popusta. Prosječni postotak popusta izračunava se po formuli: [Iznos prodaje bez popusta] - [Iznos prodaje s popustom] / [Iznos prodaje bez popusta]. Važno je zapamtiti da iznos prodaje bez popusta može biti nula, pa za provjeru koristimo operator SELECT. Dobijamo sljedeće izraze:

· Za detaljne unose:

Izbor

Kada je [Iznos prodaje bez popusta] = 0

Zatim 0

Inače [Iznos prodaje bez popusta] - [Iznos prodaje s popustom] / [Iznos prodaje bez popusta]

Kraj

· Za zbirnu evidenciju:

Izbor

Kada je iznos ([iznos prodaje bez popusta]) = 0

Zatim 0

Inače Zbroj([Iznos prodaje bez popusta]) - Zbroj([Iznos prodaje s popustom]) / Zbroj([Iznos prodaje bez popusta])

Kraj

Kao što je ranije spomenuto, u izrazu ukupnih zapisa koristimo agregatnu funkciju "Zbroj".

3. Polja koja se mogu grupirati. Sadrži polja po kojima će se grupirati rezultati varijante izvješća. Grupirana polja konfiguriraju se zasebno za svako grupiranje, ali možete postaviti opća grupirana polja za opciju izvješća ako odaberete korijen "Izvješće" u stablu strukture. Možete dodati polje iz rezultata izvješća, prilagođeno polje ili odabrati automatsko polje, a zatim će sustav automatski odabrati polja. Ova vam kartica također omogućuje promjenu redoslijeda grupiranih polja.


4. Polja. Sadrži polja koja će biti ispisana kao rezultat varijante izvješća. Polja se zasebno konfiguriraju za svako grupiranje, ali možete postaviti zajednička polja za opciju izvješća ako odaberete korijenski "Izvješće" u stablu strukture. Možete dodati polje iz rezultata izvješća, prilagođeno polje ili odabrati automatsko polje, a zatim će sustav automatski odabrati polja. Ova vam kartica također omogućuje promjenu redoslijeda polja.

Polja se mogu grupirati kako bi se logično istaknuo bilo koji dio izvješća ili kako bi se odredio poseban raspored stupaca. Prilikom dodavanja grupe, stupac “Lokacija” postaje aktivan i omogućuje odabir jedne od opcija lokacije:

  • Auto - sustav automatski postavlja polja;
  • Horizontalno - polja su postavljena horizontalno;
  • Okomito - polja su poredana okomito;
  • U posebnom stupcu - polja se nalaze u različitim stupcima;
  • Zajedno - polja se nalaze u jednom stupcu.


5. Odabir. Sadrži odabire korištene u varijanti izvješća. O postavljanju odabira detaljno je bilo riječi u 1. dijelu ovog članka. Filtri se zasebno konfiguriraju za svako grupiranje, ali možete postaviti opće filtere za opciju izvješća ako odaberete korijenski "Izvješće" u stablu strukture.


6. Razvrstavanje. Sadrži polja sortiranja koja se koriste u varijanti izvješća. O postavljanju polja sortiranja detaljno je bilo riječi u 1. dijelu ovog članka. Razvrstavanje se zasebno konfigurira za svako grupiranje, ali možete postaviti opća polja za razvrstavanje za opciju izvješća ako odaberete korijenski "Izvješće" u stablu strukture.


7. Uvjetna registracija. Sadrži elemente uvjetnog dizajna koji se koriste u varijanti izvješća. Postavljanje uvjetnog izgleda detaljno je objašnjeno u 1. dijelu ovog članka. Uvjetni izgled konfigurira se zasebno za svako grupiranje, ali možete postaviti opće elemente uvjetnog izgleda za opciju izvješća ako odaberete korijenski "Izvješće" u stablu strukture.


8. Dodatne postavke. Sadrži dodatne postavke dizajna izvješća. Omogućuje odabir općeg izgleda izvješća, lokacije polja, grupiranja, detalja, resursa, ukupnih iznosa, postavljanje postavki grafikona, kontrolu prikaza naslova, parametara i odabira, određivanje položaja resursa i popravljanje zaglavlja i grupiranja stupci verzije izvješća.


Zaključno, želio bih napomenuti da se postavke izvješća ne mogu spremiti samo kao opcija izvješća, već i učitati u datoteku (izbornik "Više" - "Spremi postavke"). Za preuzimanje morate odabrati "Učitaj postavke" i odabrati spremljenu datoteku. Stoga možemo prenijeti postavke varijanti izvješća između različitih baza podataka koje imaju istu konfiguraciju.


Na temelju toga možemo sažeti da korisnik ne samo da može samostalno prilagoditi izvješće prema svojim potrebama, već i spremiti svoje postavke i koristiti ih u budućnosti ako je potrebno.

Izražajni jezik sustava sastava podataka

Jezik izraza sustava za sastavljanje podataka dizajniran je za pisanje izraza koji se koriste u različitim dijelovima sustava.

Izrazi se koriste u sljedećim podsustavima:

  • dijagram rasporeda podataka - za opisivanje izračunatih polja, ukupnih polja, izraza odnosa itd.;
  • postavke izgleda podataka - za opisivanje prilagođenih izraza polja;
  • izgled izgleda podataka - za opisivanje izraza za povezivanje skupova podataka, opisivanje parametara izgleda itd.

Literali

Izraz može sadržavati literale. Moguće su sljedeće vrste literala:

  • Crta;
  • Broj;
  • Datum od;
  • Booleov.

Crta

String literal je napisan znakovima “”, na primjer:

“String literal”

Ako trebate koristiti znak “” unutar literala niza, trebali biste koristiti dva takva znaka.

Na primjer:

“Doslovno ““pod navodnicima”““

Broj

Broj se ispisuje bez razmaka, u decimalnom formatu. Razlomak se odvaja simbolom "." Na primjer:

10.5 200

datum

Datumski literal se piše korištenjem ključnog literala DATETIME. Nakon ove ključne riječi, godina, mjesec, dan, sati, minute, sekunde navedeni su u zagradama, odvojeni zarezima. Specifikacija vremena nije potrebna.

Na primjer:

DATETIME(1975, 1, 06) – 6. siječnja 1975. DATETIME(2006, 12, 2, 23, 56, 57) – 2. prosinca 2006., 23 sata 56 minuta 57 sekundi, 23 sata 56 minuta 57 sekundi

Booleov

Booleove vrijednosti mogu se napisati pomoću literala True (True), False (False).

Značenje

Za navođenje literala drugih tipova (sustavna enumeracija, unaprijed definirani podaci) koristi se ključna riječ Value, iza koje slijedi naziv literala u zagradama.

Vrijednost (AccountType. Active)

Operacije nad brojevima

Unarni –

Ova operacija je namijenjena za promjenu predznaka broja u suprotni predznak. Na primjer:

Prodaja. Količina

Unarni +

Ova operacija ne izvodi nikakve radnje na broju. Na primjer:

Prodaja. Količina

Binarno -

Ova operacija je namijenjena za izračunavanje razlike dvaju brojeva. Na primjer:

ResidualsAndTurnovers.InitialRemaining – RemainingsAndTurnovers.FinalResidualsRemainingsAndTurnovers.InitialRemaining - 100 400 – 357

Binarno +

Ova operacija je dizajnirana za izračunavanje zbroja dvaju brojeva. Na primjer:

RemainingsAndTurnover.InitialRemaining + RemainingAndTurnover.Turnover ResiduesAndTurnover.InitialRemaining + 100 400 + 357

Raditi

Ova operacija je dizajnirana za izračunavanje umnoška dvaju brojeva. Na primjer:

Nomenklatura.Cijena * 1.2 2 * 3.14

Podjela

Ova je operacija osmišljena za dobivanje rezultata dijeljenja jednog operanda s drugim. Na primjer:

Nomenklatura.Cijena / 1.2 2 / 3.14

Ostatak podjele

Ova operacija je dizajnirana za dobivanje ostatka kada se jedan operand podijeli s drugim. Na primjer:

Nomenklatura Cijena % 1,2 2 % 3.14

Operacije nizova

Ulančanje (binarno +)

Ova operacija je dizajnirana za spajanje dva niza. Na primjer:

Nomenklatura.Članak + “: ”+ Nomenklatura.Naziv

Kao

Ovom operacijom se provjerava odgovara li niz proslijeđenom uzorku.

Vrijednost LIKE operatora je TRUE ako vrijednost<Выражения>zadovoljava obrazac, a FALSE inače.

Sljedeći likovi u<Строке_шаблона>imaju značenje različito od drugog znaka u retku:

  • % - postotak: niz koji sadrži nula ili više proizvoljnih znakova;
  • _ - podvlaka: jedan proizvoljan znak;
  • […] - jedan ili više znakova u uglatim zagradama: jedan znak, bilo koji od onih navedenih unutar uglatih zagrada. Nabrajanje može sadržavati raspone, na primjer a-z, što znači proizvoljni znak uključen u raspon, uključujući krajeve raspona;
  • [^...] - u uglatim zagradama ikona negacije iza koje slijedi jedan ili više znakova: bilo koji znak osim onih navedenih nakon ikone negacije;

Bilo koji drugi simbol znači sam za sebe i ne nosi nikakvo dodatno opterećenje. Ako jedan od navedenih znakova treba biti napisan kao sam, tada mu mora prethoditi<Спецсимвол>, navedeno nakon ključne riječi SPECIAL CHARACTER (ESCAPE).

Na primjer, predložak

“%ABV[abvg]\_abv%” POSEBAN ZNAK “\”

označava podniz koji se sastoji od niza znakova: slovo A; slova B; slova B; jedna znamenka; jedno od slova a, b, c ili d; donja crta; slova a; slova b; slova v. Štoviše, ovaj niz se može locirati počevši od proizvoljne pozicije u retku.

Operacije usporedbe

Jednako

Ova operacija je namijenjena za usporedbu dvaju operanda radi jednakosti. Na primjer:

Sales.Counterparty = Sales.NomenclatureMainSupplier

Nejednak

Ova operacija je namijenjena za usporedbu dva operanda za nejednakost. Na primjer:

Prodaja.Druga strana<>Prodaja.NomenklaturaGlavni dobavljač

Manje

Ova operacija je dizajnirana da provjeri je li prvi operand manji od drugog. Na primjer:

SalesCurrent.Amount< ПродажиПрошлые.Сумма

Više

Ova operacija je osmišljena da provjeri je li prvi operand veći od drugog. Na primjer:

SalesCurrent.Sum > SalesPast.Sum

Manje ili jednako

Ova operacija je osmišljena da provjeri je li prvi operand manji ili jednak drugom. Na primjer:

SalesCurrent.Amount<= ПродажиПрошлые.Сумма

Više ili jednako

Ova operacija je osmišljena da provjeri je li prvi operand veći ili jednak drugom. Na primjer:

SalesCurrent.Amount >= SalesPast.Amount

Operacija B

Ova operacija provjerava prisutnost vrijednosti u proslijeđenom popisu vrijednosti. Rezultat operacije bit će True ako je vrijednost pronađena ili False u suprotnom. Na primjer:

Stavka B (&Proizvod1, &Proizvod2)

Operacija provjere prisutnosti vrijednosti u skupu podataka

Operacijom se provjerava prisutnost vrijednosti u navedenom skupu podataka. Skup podataka za provjeru valjanosti mora sadržavati jedno polje. Na primjer:

Prodaja. Druga ugovorna strana prema drugim ugovornim stranama

Operacija provjere vrijednosti za NULL

Ova operacija vraća True ako je vrijednost NULL. Na primjer:

Prodaja. Suprotna ugovorna strana JE NIŠTAVNA

Operacija provjere vrijednosti za NULL nejednakost

Ova operacija vraća True ako vrijednost nije NULL. Na primjer:

Prodaja. Protustrana strana NIJE NIŠTAVNA

Logičke operacije

Logičke operacije prihvaćaju izraze tipa Boolean kao operande.

Operacija NOT

Operacija NOT vraća True ako je njen operand False i False ako je njen operand True. Na primjer:

NIJE Dokument.Primatelj = Dokument.Pošiljatelj

Operacija I

Operacija AND vraća True ako su oba operanda True i False ako je jedan od operanda False. Na primjer:

Document.Consignee = Document.Consignor I Document.Consignee = &Druga strana

ILI operacija

Operacija ILI vraća True ako je jedan od njenih operanda True, i False ako su oba operanda False. Na primjer:

Document.Consignee = Document.Consignor ILI Document.Consignee = &Counterparty

Agregatne funkcije

Skupne funkcije izvode neke radnje na skupu podataka.

Iznos

Zbirna funkcija Sum izračunava zbroj vrijednosti izraza koji su joj proslijeđeni kao argument za sve zapise detalja. Na primjer:

Iznos(Prodaja.IznosPrometa)

Količina

Funkcija Count izračunava broj vrijednosti osim NULL. Na primjer:

Količina (Prodaja. Suprotna strana)

Broj različitih

Ova funkcija izračunava broj različitih vrijednosti. Na primjer:

Količina (razne prodaje. Protustrana)

Maksimum

Funkcija dobiva maksimalnu vrijednost. Na primjer:

Maksimalno (preostalo.količina)

Minimum

Funkcija dobiva minimalnu vrijednost. Na primjer:

Minimum (preostala. količina)

Prosjek

Funkcija dobiva prosjek vrijednosti koje nisu NULL. Na primjer:

Prosjek (preostalo.količina)

Ostale operacije

Operacija SELECT

Operacija Select namijenjena je odabiru jedne od nekoliko vrijednosti kada su ispunjeni određeni uvjeti. Na primjer:

Odaberite When Amount > 1000 Zatim Amount Inače 0 End

Pravila za usporedbu dviju vrijednosti

Ako se vrste vrijednosti koje se uspoređuju razlikuju jedna od druge, tada se odnosi između vrijednosti određuju na temelju prvenstva vrsta:

  • NULL (najniža);
  • Booleov;
  • Broj;
  • Datum od;
  • Crta;
  • Referentne vrste

Odnosi između različitih vrsta referenci određuju se na temelju referentnih brojeva tablica koje odgovaraju određenoj vrsti.

Ako su tipovi podataka isti, tada se vrijednosti uspoređuju prema sljedećim pravilima:

  • za Boolean tip vrijednost TRUE je veća od vrijednosti FALSE;
  • tip Number ima uobičajena pravila usporedbe za brojeve;
  • za tip Datum, raniji datumi su manji od kasnijih;
  • za tip String - usporedba nizova u skladu s utvrđenim nacionalnim obilježjima baze podataka;
  • referentni tipovi se uspoređuju na temelju njihovih vrijednosti (broj zapisa itd.).

Rad s NULL vrijednošću

Svaka operacija u kojoj je jedan od operanda NULL proizvest će rezultat NULL.

Postoje iznimke:

  • Operacija AND vratit će NULL samo ako nijedan od operanda nije False;
  • Operacija OR vratit će NULL samo ako nijedan od njezinih operanda nije True.

Operativni prioriteti

Operacije imaju sljedeće prioritete (prva linija ima najniži prioritet):

  • B, JE NULL, NIJE NULL;
  • =, <>, <=, <, >=, >;
  • Binarno +, Binarno – ;
  • *, /, %;
  • Unarni +, Unarni -.

Kompozicija podataka Sustav Izraz Jezične funkcije

Izračunati

Funkcija Calculate dizajnirana je za izračunavanje izraza u kontekstu određenog grupiranja. Funkcija ima sljedeće parametre:

  • Izraz. Tip String. Sadrži izračunati izraz;
  • Grupiranje. Tip String. Sadrži naziv grupiranja u čijem kontekstu se izraz treba procijeniti. Ako se kao naziv grupiranja koristi prazan niz, izračun će se izvesti u kontekstu trenutnog grupiranja. Ako se niz GrandTotal koristi kao naziv grupe, izračun će se izvršiti u kontekstu ukupnog zbroja. Inače će se izračun izvršiti u kontekstu nadređene grupe s istim imenom. Na primjer:
Suma(Sales.SumTurnover) / Izračunaj("Sum(Sales.SumTurnover)", "Ukupno")

U ovom primjeru, rezultat će biti omjer iznosa za polje "Sales.AmountTurnover" zapisa grupiranja i iznosa istog polja u cijelom izgledu.

Razina

Funkcija je dizajnirana za dobivanje trenutne razine snimanja.

Razina()

NumberInOrder

Dobijte sljedeći redni broj.

Broj Po Redu()

NumberInOrderInGrouping

Vraća sljedeći redni broj u trenutnom grupiranju.

BrojPoReduUGrupi()

Format

Dobijte formatirani niz proslijeđene vrijednosti.

Niz formata postavlja se u skladu s nizom formata 1C:Enterprise.

Mogućnosti:

  • Značenje;
  • Oblikovanje niza.

Format(Fakture.Iznos dokumenta, "NPV=2")

Početak razdoblja

Mogućnosti:

    • Minuta;
    • Dan;
    • Tjedan;
    • Mjesec;
    • Četvrtina;
    • Desetljeće;
    • Pola godine.

Početni period(DatumVrijeme(2002, 10, 12, 10, 15, 34), "Mjesec")

Proizlaziti:

01.10.2002 0:00:00

Kraj razdoblja

Funkcija je dizajnirana za izdvajanje određenog datuma iz zadanog datuma.

Mogućnosti:

  • Datum od. Upišite Datum. Navedeni datum;
  • Vrsta razdoblja. Tip String. Sadrži jednu od sljedećih vrijednosti:
    • Minuta;
    • Dan;
    • Tjedan;
    • Mjesec;
    • Četvrtina;
    • Desetljeće;
    • Pola godine.

EndPeriod(DateTime(2002, 10, 12, 10, 15, 34), "Tjedan")

Proizlaziti:

13.10.2002 23:59:59

DodajDatumu

Funkcija je dizajnirana za dodavanje određene vrijednosti datumu.

Mogućnosti:

  • Vrsta povećanja. Tip String. Sadrži jednu od sljedećih vrijednosti:
    • Minuta;
    • Dan;
    • Tjedan;
    • Mjesec;
    • Četvrtina;
    • Desetljeće;
    • Pola godine.
  • Iznos – za koliko trebate povećati datum. Vrsta broja. Razlomački dio se zanemaruje.

DodajDatumu(DatumVrijeme(2002, 10, 12, 10, 15, 34), "Mjesec", 1)

Proizlaziti:

12.11.2002 10:15:34

Datumska razlika

Funkcija je dizajnirana da dobije razliku između dva datuma.

Mogućnosti:

  • Izraz. Upišite Datum. Izvorni datum;
  • Izraz. Upišite Datum. Oduzeti datum;
  • Vrsta razlike. Tip String. Sadrži jednu od sljedećih vrijednosti:
    • Drugi;
    • Minuta;
    • Dan;
    • Mjesec;
    • Četvrtina;

DATEDIFFERENCE(DATUMVRIJEME(2002, 10, 12, 10, 15, 34), DATETIME(2002, 10, 14, 9, 18, 06), "DAN")

Proizlaziti:

Podniz

Ova je funkcija dizajnirana za izdvajanje podniza iz niza.

Mogućnosti:

  • Crta. Tip String. Niz iz kojeg je izdvojen podniz;
  • Položaj. Vrsta broja. Položaj znaka od kojeg počinje podniz koji se izdvaja iz niza;
  • Duljina. Vrsta broja. Duljina dodijeljenog podniza.

PODNIZ(Računi.Adresa, 1, 4)

Duljina linije

Funkcija je dizajnirana za određivanje duljine niza.

Parametar:

  • Crta. Tip String. Niz čija je duljina navedena.

Redak (Druge strane. Adresa)

Godina

Ova je funkcija dizajnirana za izdvajanje godine iz vrijednosti tipa Datum.

Parametar:

  • Datum od. Upišite Datum. Datum prema kojem se utvrđuje godina.

YEAR(Troškovi.Datum)

Četvrtina

Ova je funkcija dizajnirana za izdvajanje broja kvartala iz vrijednosti tipa Datum. Broj četvrtine obično se kreće od 1 do 4.

Parametar

  • Datum od. Upišite Datum. Datum do kojeg se utvrđuje kvartal
QUARTER(Troškovi.Datum)

Mjesec

Ova je funkcija dizajnirana za izdvajanje broja mjeseca iz vrijednosti tipa Datum. Broj mjeseca obično se kreće od 1 do 12.

  • Datum od. Upišite Datum. Datum prema kojem se određuje mjesec.
MONTH(Troškovi.Datum)

Dan u godini

Ova je funkcija dizajnirana za dobivanje dana u godini iz vrijednosti tipa datuma. Dan u godini obično se kreće od 1 do 365 (366).

  • Datum od. Upišite Datum. Datum prema kojem se određuje dan u godini.
DAYYEAR(Račun Troškova.Datum)

Dan

Ova je funkcija dizajnirana za dobivanje dana u mjesecu iz vrijednosti tipa Datum. Dan u mjesecu obično se kreće od 1 do 31.

  • Datum od. Upišite Datum. Datum prema kojem se određuje dan u mjesecu.
DAY(Troškovi.Datum)

Tjedan

Ova je funkcija dizajnirana za dobivanje broja tjedna u godini iz vrijednosti tipa Datum. Tjedni u godini numerirani su počevši od 1.

  • Datum od. Upišite Datum. Datum do kojeg se određuju brojevi tjedana.
TJEDAN(Troškovi.Datum)

Dan u tjednu

Ova je funkcija dizajnirana za dobivanje dana u tjednu iz vrijednosti tipa Datum. Uobičajeni dan u tjednu kreće se od 1 (ponedjeljak) do 7 (nedjelja).

  • Datum od. Upišite Datum. Datum prema kojem se određuje dan u tjednu.
DAN U TJEDNU (Datum fakture troškova)

Sat

Ova je funkcija dizajnirana za dobivanje sata u danu iz vrijednosti tipa datuma. Sat u danu kreće se od 0 do 23.

  • Datum od. Upišite Datum. Datum prema kojem se određuje sat u danu.
SAT(Troškovi.Datum)

Minuta

Ova je funkcija osmišljena za dobivanje minute sata iz vrijednosti tipa datuma. Minuta sata kreće se od 0 do 59.

  • Datum od. Upišite Datum. Datum do kojeg se određuje minuta u satu.
MINUTE(Troškovi.Datum)

Drugi

Ova je funkcija osmišljena za dobivanje sekunde minute iz vrijednosti tipa datuma. Sekunda minute kreće se od 0 do 59.

  • Datum od. Upišite Datum. Datum prema kojem se određuju sekunde minute.
SECOND(Troškovi.Datum)

Izraziti

Ova je funkcija dizajnirana za izdvajanje tipa iz izraza koji može sadržavati složeni tip. Ako izraz sadrži tip koji nije traženi, vratit će se NULL.

Mogućnosti:

  • Izraz za pretvorbu;
  • Oznaka tipa. Tip String. Sadrži niz tipa. Na primjer, "Broj", "Niz" itd. Osim primitivnih tipova, ovaj red može sadržavati naziv tablice. U ovom slučaju, pokušat će se izraziti referenca na navedenu tablicu.

Express(Data.Props1, "Broj(10,3)")

IsNull

Ova funkcija vraća vrijednost drugog parametra ako je vrijednost prvog parametra NULL.

U suprotnom će se vratiti vrijednost prvog parametra.

YesNULL(Iznos(Prodaja.IznosPrometa), 0)

Funkcije zajedničkih modula

Izraz stroja za sastavljanje podataka može sadržavati pozive funkcija globalnih zajedničkih konfiguracijskih modula. Za pozivanje takvih funkcija nije potrebna nikakva dodatna sintaksa.

U ovom primjeru, funkcija "AbbreviatedName" bit će pozvana iz općeg konfiguracijskog modula.

Imajte na umu da je korištenje uobičajenih funkcija modula dopušteno samo ako je naveden odgovarajući parametar procesora za sastav podataka.

Osim toga, funkcije zajedničkih modula ne mogu se koristiti u prilagođenim izrazima polja.

Za kompetentno upravljanje svaka trgovačka organizacija treba brzo primati informacije o trenutnom stanju robe, prodaje i dobiti. Međutim, ako uzmemo u obzir da organizacije često rade sa širokim spektrom roba i velikim brojem partnera, tada alat za prilagodbu analitičkog izvješća igra važnu ulogu u dobivanju potrebnih informacija. Pogledajmo pobliže kako raditi s prilagođenim poljima u standardnim programskim izvješćima (rev. 11).

Razvoj platforme 1C: Enterprise 8 korisnicima nudi sve više mogućnosti. Na primjer, u verziji 8.2, izvješća su postala fleksibilnija, dopuštajući njihovu prilagodbu različitim zahtjevima bez pomoći kvalificiranih programera.

Promjena postavki izvješća

Za pregled ili promjenu postavki izvješća idite na izbornik "Sve akcije" i odaberite naredbu "Promijeni opciju". Nakon toga se pred korisnikom otvara prozor s postavkama za otvoreni izvještaj.

U gornjem dijelu prozora postavki možete vidjeti strukturu izvješća, koja nije ništa drugo nego vizualni odraz stupaca izvješća i grupiranja njegovih redaka, što u biti omogućuje zamisliti redoslijed analitičkih podataka prikazano u ovom izvješću.

Na dnu prozora s postavkama prikazuju se stvarne informacije i postavke polja, koje se odnose ili na izvješće ili na elemente njegove strukture (stupci i grupe redaka).

Prilagodljiva Polja

U programu 1C: Upravljanje trgovinom 8 Postavke izvješća izdanja 11 pružaju korisnicima više opcija u njihovoj generaciji.

U prozoru za uređivanje postavki i strukture izvješća korisnicima želimo skrenuti posebnu pozornost na karticu „Prilagođena polja“ koja omogućuje kreiranje vlastitih polja i njihovo dodavanje u izvješće. Treba podsjetiti da je ranije korisnik mogao koristiti samo ona polja koja je implementirao programer.

Pogledajmo korištenje ove funkcije na primjeru.

Pretpostavimo da čelnik trgovačke tvrtke koja prodaje robu u Moskvi i regijama želi prilagoditi izvješće "Povijest prodaje" svojim zahtjevima, želeći u njemu prikazati podatke o prodaji proizvoda u Moskvi i regijama općenito, kao kao i prema partnerima. To je vrlo jednostavno učiniti pomoću prilagođenih polja.

Dakle, jasan primjer pokazuje fleksibilne postavke za prilagođena polja u standardnom programu 1C: Upravljanje trgovinom 8 pružiti korisniku široke mogućnosti za prilagodbu izvješća, omogućujući mu brzo dobivanje potrebnih informacija u prikladnom obliku.

Svaka organizacija, kako bi donijela pravovremene i ispravne upravljačke odluke, treba operativne podatke o raspoloživosti robe u skladištima, njezinoj cijeni i prodaji. Trgovačke organizacije rade s velikim brojem artikala i protustranaka, a to zahtijeva dobro postavljeno analitičko računovodstvo i brzo dobivanje potrebnih podataka iz njegovih podataka. U članku se raspravlja o osnovnim tehnikama rada sa standardnim izvješćima u standardnom rješenju "1C: Trade Management 8" (izdanje 11), izgrađenom na temelju sustava za sastavljanje podataka, te daje korisne praktične preporuke koje će biti korisne i početnicima i oni koji su iz prethodnih izdanja prešli na novo izdanje.

Na primjer, uzmimo izvješće

  • Analiza dostupnosti proizvoda;

postavke.

U kolumni Vrsta usporedbe Nomenklatura

  • Jednako
  • Nejednak
  • Na listi
  • Nije na popisu
  • U grupi Nomenklatura;
  • Nije u grupi Nomenklatura;
  • U grupi s popisa Nomenklatura;
  • Nije u grupi s popisa Nomenklatura.

Značenje

"Brzi odabiri"

Kako se platforma 1C:Enterprise 8 razvija i pojavljuje se nova verzija 8.2, izvještaji u sustavima postaju sve fleksibilniji, a korisnici imaju sve više mogućnosti da ih prilagode svojim zahtjevima bez pomoći programera.

Nove mogućnosti koje pruža sustav za sastavljanje podataka (DCS) omogućuju vam da iskusite prednosti mogućnosti 1C:Enterprise 8 pri izradi izvješća kao nikada prije. I unatoč činjenici da je sučelje izvješća doživjelo značajne promjene (u usporedbi s izdanjem 10.3 konfiguracije "Trade Management", u daljnjem tekstu UT), postavke izvješća i dalje su dostupne prosječnom korisniku. Pogledajmo neke osnovne tehnike za rad s njima.

Prvo na što možete obratiti pozornost su brzi odabiri. Omogućuju prikaz podataka u izvješću na temelju određenih vrijednosti polja izvješća prema želji korisnika.

Na primjer, uzmimo izvješće Analiza dostupnosti proizvoda u UT. Odmah napomenimo da će se cijela demonstracija mogućnosti izvještavanja u UT 11 odvijati na primjeru dva izvješća:

  • Analiza dostupnosti proizvoda;
  • Prihodi i troškovi prodaje.

Odabir po pojedinim poljima može se izvršiti ili izravno u obrascu izvješća ili korištenjem gumba postavke.

U kolumni Vrsta usporedbe korisnik može odabrati različite uvjete usporedbe. Na primjer, za teren Nomenklatura Možete odabrati sljedeće vrste usporedbe:

  • Jednako- izvještaj će biti izgrađen samo za odabranu stavku;
  • Nejednak- izvješće će se generirati za cjelokupni asortiman osim za odabrani artikl;
  • Na listi- izvješće će se temeljiti na popisu stavki;
  • Nije na popisu- izvješće će biti izgrađeno na cjelokupnom asortimanu proizvoda, osim odabranih stavki;
  • U grupi- izvješće će biti izgrađeno na cijeloj stavci koja se nalazi u odabranoj mapi imenika Nomenklatura;
  • Nije u grupi- izvješće će biti izgrađeno na cijelom asortimanu proizvoda, osim za stavke koje se nalaze u odabranoj mapi imenika Nomenklatura;
  • U grupi s popisa- slično usporedbi Na popisu su samo mape u imeniku odabrane kao vrijednosti popisa Nomenklatura;
  • Nije u grupi s popisa- slično usporedbi Nije na popisu, samo su mape u imeniku odabrane kao vrijednosti popisa Nomenklatura.

Potvrdni okvir s lijeve strane polja za odabir označava da je odabir za ovo polje "omogućen", tj. uzet je u obzir izvješćem.

Neoznačena polja se ne uzimaju u obzir čak i ako ste odabrali određene vrijednosti za ta polja.

Ovisno o odabranoj vrsti usporedbe u stupcu Značenje naznačen je određeni element ili mapa (grupa) imenika ili popis elemenata ili mapa.

“Brzi odabiri” dostupni su u svim rješenjima na platformi 1C:Enterprise 8.

Primjer jednostavne promjene postavki izvješća

Za pregled/promjenu postavki izvješća morate ići na izbornik Sve akcije - Promjena opcije.

Pred nama se otvara prozor postavki za odabranu opciju izvješća.

Struktura izvješća prikazana je na vrhu prozora. U biti, radi se o vizualnom prikazu grupiranja redaka i stupaca izvješća, odnosno kojim redoslijedom će analitički podaci biti prikazani u izvješću u redovima i stupcima.

Na dnu prozora prikazuju se informacije koje se odnose na izvješće u cjelini (ako je odabrana najviša razina u strukturi izvješća izvješće), ili na određeno grupiranje redaka ili stupaca izvješća (ako je odabrano grupiranje na nižoj razini), postavke za prikaz informacija i dizajniranje polja.

Primjer 1

Korak 1. Moramo ukloniti grupiranje po karakteristikama proizvoda, ostavljajući samo grupiranje po proizvodu. Da biste to učinili, na vrhu prozora postavki izvješća kliknite na polje Nomenklatura, karakteristike. Na dnu prozora idite na karticu grupe.

Odaberite polje Karakteristično i kliknite na gumb Izbrisati komandna ploča.

Potvrdite promjene postavki izvješća klikom na gumb Završite uređivanje u donjem lijevom kutu ekrana.

Korak 2. Nakon uklanjanja karakteristike, naš će zadatak, prema uvjetima primjera, biti dodati cjenovnu skupinu. U biti, to grupiranje treba biti na nižoj razini od grupiranja po skladištu, ali na višoj razini od grupiranja po stavkama. Stoga ćemo u strukturi izvješća istaknuti grupiranje Zaliha.

Desnim klikom na njega odaberite naredbu iz kontekstnog izbornika Nova grupa.

U prozoru za uređivanje polja grupiranja koji se otvori odaberite Nomenklatura. Cjenovna skupina.

Klikom na gumb u redu, vidjet ćemo da je izvješću dodano novo grupiranje, podređeno grupiranju Zaliha.

Sada odaberite grupiranje po proizvodu i, bez otpuštanja desne tipke miša, povucite ga unutar (tj. ispod) grupiranja po cjenovnoj skupini. Dobit ćemo strukturu prikazanu na slici 1. Rezultat postavljanja izvješća prikazan je na slici 2.

Riža. 1. Rezultirajuća struktura izvješća

Riža. 2. Rezultat prilagodbe izvješća

Rad s prilagođenim poljima

Pogledajmo sada pobliže nove opcije za prilagodbu izvješća u programu 1C: Trade Management 8.

U obliku uređivanja strukture i postavki našeg izvješća, obratimo pozornost na karticu Prilagodljiva Polja.

Prethodno smo izvješću dodali polja, čiji je popis unaprijed odredio programer. Pomoću ove kartice možemo kreirati vlastita polja koja su nam potrebna - Polje za odabir ili Izrazno polje.

Primjer 2

Prilagodimo izvješće "Povijest prodaje" (opcija izvješća "Prihodi i troškovi prodaje"). Prikazat ćemo podatke o prodaji po partnerima i asortimanu. Pretpostavimo da naša tvrtka prodaje robu u Moskvi iu regijama. Dakle, svaki klijent u informacijskoj bazi pripada određenom zemljopisnom području (atribut "Poslovna regija" u imeniku "Partneri"). Podatke o prodaji možemo lako grupirati u izvješću po regijama, ali što ako nas zanima više agregiranih statistika, posebice odgovor na pitanje "Koliko je robe prodano u Moskvi, a koliko u svim ostalim regijama zajedno"? Ovdje dobro dolaze "prilagođena polja".

Korak 1. Otvorimo izvješće. Idemo na obrazac za postavljanje strukture izvješća ( Sve radnje -> Promjena opcije). Idemo redom izbrisati sve prethodno stvorene grupe u izvješću - da biste to učinili, odaberite svaku od njih i kliknite na gumb Izbrisati naredbenu ploču ili koristite tipku DEL.

Kao u prethodnom primjeru, dodajmo grupiranje u izvješće po partneru, a zatim po stavci. Već znamo kako to učiniti, tako da neće trebati puno vremena.

Korak 2. Kreirajmo novo prilagođeno polje. Otvorimo oznaku Prilagodljiva Polja i izvršiti naredbu Dodaj -> Novo odabrano polje.

Dajmo našem novom polju ime - Regija općenito.

Kliknimo na gumb Dodati. U novom retku kliknite na gumb u stupcu Izbor. U obrascu za uređivanje odabira koji se pojavi dodajte odabir po polju Partner.Poslovna regija. Odaberimo vrstu usporedbe Jednako, što znači - Moskva.

Kliknimo na gumb u redu, nakon čega ćemo se vratiti u prozor za uređivanje prilagođenog polja. Zatim morate kliknuti na gumb u stupcu Značenje i na popisu za odabir vrste podataka koji se pojavi odaberite Crta i zapišite kao vrijednost Moskva.

Ponovimo operaciju. Dodajmo još jedan red u tablicu. Ovaj put za izbor po oblastima Partner.Poslovna regija odaberite vrstu usporedbe Nejednak.

Povratak na prozor za uređivanje prilagođenog polja, u stupcu Značenje idemo pisati Ostale regije(vidi sliku 3).

Riža. 3. Uređivanje prilagođenog polja

Kliknimo na gumb u redu. Naš novi teren je spreman.

3. korak Dodajmo naše novo polje u strukturu izvješća. Odabir gornje razine mišem Izvješće u strukturi, dodajte novo grupiranje. U rekvizitima Polje izaberimo Regija općenito.

Povucite mišem grupiranje po partneru i podređeno grupiranje po artiklu unutar novostvorenog.

Generirajmo izvješće i pogledajmo rezultat (prikazano na slici 4).

Riža. 4. Rezultat generiranja izvješća

Izbor i sortiranje

Vratimo se na prozor za uređivanje strukture izvješća i postavki te obratimo pozornost na oznake Izbor I Sortiranje.

Ako je korijenski element odabran u strukturi izvješća ( izvješće), tada će se postavke napravljene na ovim karticama primijeniti na cijelo izvješće u cjelini. Ako je odabrano grupiranje izvješća, postavke će utjecati samo na to grupiranje.

Primjer 3

Kao rezultat toga, izvješće Povijest prodaje Bit će uključene samo one implementacije za koje je naveden upravitelj. Ivanov Ivan Fedorovič.

Primjer 4

Spremite učinjene promjene

Ako promijenite strukturu izvješća, uvijek ga možete spremiti pomoću naredbe Sve akcije -> opcija Spremi.

U obrascu za spremanje opcije možete koristiti prekidač za odabir Spremi u postojeću verziju izvješća(umjesto jedne od već dostupnih opcija), odn Spremi novu verziju izvješća.

Izvještaj prima stanja robe u skladištima u raznim rubrikama (karakteristike, serije, mjerne jedinice itd.). Kako ne bismo komplicirali primjer, ostavit ćemo samo grupiranje po stavkama i prikaz samo konačnog stanja na izvještajni datum. Konačna tablica će pokazati stanja artikala u skladištima.

Ali onda je korisnik prijavio da treba dodati dva dodatna polja:

  1. Upozorenje o količini. Ako je količina manja ili jednaka 5, tada je upozorenje "Nedovoljno". Ako je količina veća od 5, zatim manja ili jednaka 10, tada je upozorenje "Normalno". Ako je količina veća od 10, onda je "Preobilje".
  2. Formula za izračun konačnog stanja. U dodatnom stupcu korisnik želi vidjeti koje je radnje program izvršio da bi dobio konačnu vrijednost stanja. Odnosno, formula "Početno stanje + promet = konačno stanje", gdje će odgovarajuće vrijednosti biti zamijenjene.

Naravno, programer bi ovdje mogao intervenirati i promijeniti postavke zahtjeva za shemu sastava podataka i izvješća, ali mi ćemo izvršiti zadatak u korisničkom načinu rada bez promjene izvješća u načinu rada konfiguratora.

Dodatna polja

Dakle, počnimo. Idemo na postavke opcije izvješća:

Pred nama će se otvoriti dizajner postavki za opciju ACS izvješća. Odlaskom na karticu "Prilagođena polja" počet ćemo ih stvarati.

Snimka zaslona već prikazuje dva stvorena prilagođena polja, čija je funkcionalnost gore opisana. Pogledajmo postavke za svaki. Počnimo s poljem "Obavijest".

U postavkama je potrebno postaviti naslov polja koji će biti prikazan u izvještaju, kao i postaviti izraze za generiranje vrijednosti u polju detaljne evidencije iu zbrojevima za ovo polje. Budući da nema potrebe za prikazom upozorenja u zbrojevima, izraz ćemo napisati samo za detaljne zapise.

Sintaksa izraza slična je jeziku upita 1C:Enterprise. Postoje neke razlike, ali ih se nećemo detaljnije doticati u ovom članku. Izraz koristi operator odabira:

"Izbor kad pa inače kraj"

sličan operatoru u upitnom jeziku. Polja u prilagođenim izrazima polja određena su svojim prikazom. Kako bi platforma shvatila da uneseni prikaz predstavlja određeno polje, naziv pogleda je uokviren uglatim zagradama "". Ako je prikaz polja jedna riječ, uglate zagrade nisu obavezne. U gornjem primjeru gledamo polje Završno stanje.

Postavke za polje "Formula za izračun konačnog stanja" postavljaju se na isti način:


Ovdje je potrebno spomenuti neke nijanse:

  1. Formulu u ćeliji možemo prikazati samo kao liniju. Stoga pretvaramo sve numeričke vrijednosti u niz koristeći metodu jezika SKD izraza “String()”, koja pretvara bilo koju vrijednost u niz. Zatim izvodimo ulančavanje nizova.
  2. Kako bi polje bilo prikazano u ukupnim iznosima izvješća, dodat ćemo sličnu formulu izrazu ukupnih zapisa. Samo trebate dodati agregacijske funkcije "SUM()" za svaku vrijednost u skladu s ukupnim iznosima.

Spremni ste za korištenje polja u svom izvješću!

Postavljanje i generiranje izvješća

U izlazna polja izvješća dodajte polje "Formula za izračun konačnog stanja":

Dodat ćemo izraz "Obavijest" detaljnim zapisima stavki. Da biste to učinili, dodajte polje izraza "Obavijest" grupi "Nomenklatura". Nakon toga, struktura izvješća će imati sljedeći oblik:

Postavljanje izvješća je sada dovršeno. Ako je potrebno, dodane postavke mogu se spremiti za ponovnu upotrebu. Generirajmo izvješće:

Kao što vidimo, u izvješće su dodana polja u skladu s uvjetima zadatka. Istodobno, nije bilo potrebe mijenjati izvješće u načinu rada konfiguratora. Ovo je glavna prednost prilagođenih polja! Korisnik obučen za njihovo korištenje može ih koristiti za izradu izvješća o svojim zahtjevima unutar tvrtke, bez pomoći programera.

Vjerujte mi, moguće ga je istrenirati da koristi ove značajke, jer je to mnogo lakše nego pisati formule u Excel proračunskim tablicama.