Jezik izraza sistema sastava podataka (1Cv8). Jezik izraza sistema kompozicije podataka (1Cv8) 1c prilagođeno polje izraza

Detaljnije smo ispitali postavke izvještaja implementiranih na osnovu sistema kontrole pristupa. Pogledajmo sada suptilnije i detaljnije postavke za opcije izvještaja. Prozor za “napredne” postavke opcije izvještaja poziva se komandom “Više” - “Ostalo” - “Promijeni opciju izvještaja”.

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

1. Struktura izvještaja.

2. Postavke izvještaja.


Odjeljak strukture opcije izvještaja sličan je kartici „Struktura“ u standardnim postavkama izvještaja. Svrha i konfiguracija grupisanja detaljno su razmotreni u prvom dijelu članka.

Tablica strukture varijante izvještaja, pored stvarne kolone sa grupisanjima, sadrži nekoliko dodatnih kolona:

Odeljak podešavanja opcija izveštaja daje korisniku široke mogućnosti da konfiguriše izveštaj tako da odgovara njihovim potrebama. Gotovo se u potpunosti poklapa sa standardnim postavkama izvještaja o kojima se govori u 1. dijelu. Pogledajmo sve kartice ovog odjeljka i uočimo razlike.

Odjeljak postavki sastoji se od sljedećih kartica:

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

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


Tabela parametara je predstavljena u formatu “Parametar” - “Vrijednost”. Ako je potrebno, možete promijeniti vrijednosti parametara. Klikom na dugme „Svojstva elementa prilagođenih postavki“ otvaraju se prilagođena podešavanja elementa.


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

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

2. Prilagođena polja. Sadrži polja koja generira sam korisnik na osnovu podataka odabranih u izvještaju.


Korisnik može dodati dvije vrste polja:

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

Polja za odabir vam omogućavaju da izračunate vrijednost na osnovu datog uslova. Prozor za uređivanje polja za izbor sadrži naslov polja i tabelu u kojoj su specificirani izbor, vrijednost i prikaz polja. Odabir je uvjet u zavisnosti od kojeg će se željena vrijednost zamijeniti.


Na primjer, izračunajmo procjenu broja prodaja. Pretpostavićemo da ako se proda manje od 10 jedinica proizvoda, malo smo prodali, a ako je više od 10 prodali smo mnogo. Da bismo to uradili, postavićemo 2 vrednosti za izračunato polje: prva će biti sa izborom „Broj robe manji od ili jednaka „10”, druga sa izborom „Broj robe veći od „10 ””.

Polja izraza vam omogućavaju da izračunate vrijednost pomoću proizvoljnih algoritama. Mogu koristiti funkcije jezika upita i ugrađenog 1C programskog jezika. Prozor za uređivanje polja izraza sadrži dva polja za izraze detaljnih i zbirnih zapisa. Ukupni zapisi su grupisanja konfigurirana u području „Struktura izvještaja“; oni moraju koristiti agregatne funkcije („Zbroj“, „Minimum“, „Maksimum“, „Količina“).

Na primjer, izračunajmo prosječan postotak popusta. Prosječni postotak popusta se izračunava pomoću formule: [Iznos prodaje bez popusta] - [Iznos prodaje sa popustom] / [Iznos prodaje bez popusta]. Važno je zapamtiti da iznos prodaje bez popusta može biti nula, pa koristimo SELECT operator za provjeru. 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 sa popustom] / [Iznos prodaje bez popusta]

Kraj

· Za sažete zapise:

Izbor

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

Zatim 0

Inače Suma([Iznos prodaje bez popusta]) - Suma([Iznos prodaje sa popustom]) / Suma([Iznos prodaje bez popusta])

Kraj

Kao što je ranije spomenuto, u izražavanju ukupnih zapisa koristimo agregatnu funkciju “Sum”.

3. Polja koja se mogu grupirati. Sadrži polja po kojima će se grupirati rezultati varijante izvještaja. Grupisana polja se konfigurišu zasebno za svako grupisanje, ali možete postaviti opšta grupisana polja za opciju izveštaja ako izaberete koren „Izveštaj“ u stablu strukture. Možete dodati polje iz rezultata izvještaja, prilagođeno polje ili odabrati automatsko polje, tada će sistem automatski odabrati polja. Ova kartica vam takođe omogućava da promenite redosled grupisanih polja.


4. Polja. Sadrži polja koja će biti ispisana kao rezultat varijante izvještaja. Polja se konfigurišu zasebno za svako grupisanje, ali možete postaviti zajednička polja za opciju izvještaja ako odaberete korijenski “Izvještaj” u stablu strukture. Možete dodati polje iz rezultata izvještaja, prilagođeno polje ili odabrati automatsko polje, tada će sistem automatski odabrati polja. Ova kartica vam takođe omogućava da promenite redosled polja.

Polja se mogu grupirati da bi logički istakli bilo koji dio izvještaja ili da bi se specificirao poseban raspored kolona. Kada dodajete grupu, stupac "Lokacija" postaje aktivan i omogućava vam da odaberete jednu od opcija lokacije:

  • Auto - sistem automatski postavlja polja;
  • Horizontalno - polja su pozicionirana horizontalno;
  • Vertikalno - polja su raspoređena okomito;
  • U posebnoj koloni - polja se nalaze u različitim kolonama;
  • Zajedno - polja se nalaze u jednoj koloni.


5. Odabir. Sadrži odabire korištene u varijanti izvještaja. Postavljanje odabira je detaljno razmotreno u prvom dijelu ovog članka. Filteri se konfigurišu zasebno za svako grupisanje, ali možete postaviti opće filtere za opciju izvještaja ako odaberete korijenski “Izvještaj” u stablu strukture.


6. Sortiranje. Sadrži polja za sortiranje koja se koriste u varijanti izvještaja. Postavljanje polja za sortiranje detaljno je razmotreno u prvom dijelu ovog članka. Sortiranje se konfiguriše zasebno za svako grupisanje, ali možete postaviti opšta polja za sortiranje za opciju izveštaja ako izaberete osnovni „Izveštaj“ u stablu strukture.


7. Uslovna registracija. Sadrži uslovne elemente dizajna koji se koriste u varijanti izvještaja. Postavljanje uvjetnog izgleda detaljno je razmotreno u 1. dijelu ovog članka. Uslovni izgled se konfiguriše zasebno za svako grupisanje, ali možete postaviti opšte elemente uslovnog izgleda za opciju izveštaja ako izaberete osnovni „Izveštaj“ u stablu strukture.


8. Dodatne postavke. Sadrži dodatne postavke dizajna izvještaja. Omogućava vam da odaberete opći izgled izvještaja, lokaciju polja, grupiranja, detalja, resursa, totala, postavite postavke grafikona, kontrolišete prikaz naslova, parametara i odabira, odredite poziciju resursa i popravite zaglavlje i grupiranje kolone verzije izvještaja.


U zaključku, želio bih napomenuti da se postavke izvještaja ne mogu samo sačuvati kao opcija izvještaja, već i prenijeti u datoteku (meni “Više” - “Sačuvaj postavke”). Za preuzimanje morate odabrati “Učitaj postavke” i odabrati sačuvani fajl. Tako možemo prenijeti postavke varijante izvještaja između različitih baza podataka koje imaju istu konfiguraciju.


Na osnovu toga možemo rezimirati da korisnik može ne samo samostalno prilagoditi izvještaj svojim potrebama, već i sačuvati svoja podešavanja i koristiti ih u budućnosti ako bude potrebno.

Sistemski jezik za sastavljanje podataka

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

Izrazi se koriste u sljedećim podsistemima:

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

Literali

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

  • Line;
  • Broj;
  • Datum;
  • Boolean.

Linija

Literal stringa se piše u znakovima "", na primjer:

“String literal”

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

Na primjer:

„Doslovno „„pod navodnicima“““

Broj

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

10.5 200

datum

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

Na primjer:

DATETIME(1975, 1, 06) – 6. januar 1975. DATUM (2006, 12, 2, 23, 56, 57) – 2. decembar 2006., 23 sata 56 minuta 57 sekundi, 23 sata 56 minuta 57 sekundi

Boolean

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

Značenje

Za specificiranje literala drugih tipova (sistemske enumeracije, unaprijed definirani podaci), koristi se ključna riječ Vrijednost, praćena imenom literala u zagradama.

Vrijednost (Tip računa. Aktivan)

Operacije na brojevima

unarno –

Ova operacija ima za cilj promjenu predznaka broja u suprotan predznak. Na primjer:

Sales.Quantity

Unary +

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

Sales.Quantity

binarni -

Ova operacija je namijenjena za izračunavanje razlike dva broja. Na primjer:

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

Binarno +

Ova operacija je dizajnirana da izračuna zbir dva broja. Na primjer:

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

Posao

Ova operacija je dizajnirana za izračunavanje proizvoda dva broja. Na primjer:

Nomenklatura.Cijena * 1,2 2 * 3.14

Division

Ova operacija je dizajnirana da dobije rezultat dijeljenja jednog operanda drugim. Na primjer:

Nomenklatura.Cijena / 1.2 2 / 3.14

Ostatak divizije

Ova operacija je dizajnirana da dobije ostatak kada se jedan operand podijeli s drugim. Na primjer:

Nomenklatura Cijena % 1,2 2 % 3.14

Operacije sa stringovima

Konkatenacija (binarni +)

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

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

Sviđa mi se

Ova operacija provjerava da li niz odgovara proslijeđenom uzorku.

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

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

  • % - procenat: niz koji sadrži nula ili više proizvoljnih znakova;
  • _ - donja crta: jedan proizvoljan znak;
  • […] - jedan ili više znakova u uglastim zagradama: jedan znak, bilo koji od onih navedenih u uglastim zagradama. Nabrajanje može sadržavati opsege, na primjer a-z, što znači proizvoljan znak uključen u raspon, uključujući krajeve raspona;
  • [^...] - u uglastim zagradama ikona negacije praćena jednim ili više znakova: bilo koji znak osim onih navedenih iza ikone negacije;

Bilo koji drugi simbol označava sam sebe i ne nosi nikakav dodatni teret. Ako jedan od navedenih znakova treba biti napisan kao sam, onda mu mora prethoditi<Спецсимвол>, navedeno iza ključne riječi SPECIAL CHARACTER (ESCAPE).

Na primjer, šablon

“%ABV[abvg]\_abv%” POSEBNI KARAKTER “\”

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

Operacije poređenja

Jednako

Ova operacija ima za cilj da uporedi dva operanda radi jednakosti. Na primjer:

Sales.Counterparty = Sales.NomenclatureMainSupplier

Nije jednako

Ova operacija ima za cilj da uporedi dva operanda za nejednakost. Na primjer:

Sales.Counterparty<>Sales.NomenclatureMainSupplier

Manje

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

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

Više

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

SalesCurrent.Sum > SalesPast.Sum

Manje ili jednako

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

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

Više ili jednako

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

SalesCurrent.Amount >= SalesPast.Amount

Operacija B

Ova operacija provjerava prisutnost vrijednosti u proslijeđenoj listi vrijednosti. Rezultat operacije će biti True ako je vrijednost pronađena, ili False u suprotnom. Na primjer:

Stavka B (&Proizvod1, &Proizvod2)

Operacija provjere prisutnosti vrijednosti u skupu podataka

Operacija provjerava prisutnost vrijednosti u navedenom skupu podataka. Skup podataka za validaciju mora sadržavati jedno polje. Na primjer:

Prodaja. Counterparty To Counterparties

Operacija provjere vrijednosti za NULL

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

Sales.Counterparty JE NULL

Operacija provjere vrijednosti za NULL nejednakost

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

Prodaja.Druga strana NIJE NULL

Logičke operacije

Logičke operacije prihvataju izraze tipa Boolean kao operande.

Operacija NE

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

NOT Document.Consignee = Dokument.Pošiljalac

Operacija I

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

Document.Consignee = Document.Consignor I Document.Consignee = &Counterparty

OR operacija

Operacija OR vraća True ako je jedan od njenih operanada Tačan, i False ako su oba operanda False. Na primjer:

Document.Consignee = Document.Consignor OR Document.Consignee = &Counterparty

Agregatne funkcije

Agregatne funkcije izvode neku radnju na skupu podataka.

Suma

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

Iznos(Prodaja.IznosPromet)

Količina

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

Količina (Sales.Counterparty)

Broj različitih

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

Količina (razne prodaje.Counterparty)

Maksimum

Funkcija dobiva maksimalnu vrijednost. Na primjer:

Maksimum (preostalo. Količina)

Minimum

Funkcija dobiva minimalnu vrijednost. Na primjer:

Minimum (preostalo. Količina)

Prosjek

Funkcija dobiva prosjek vrijednosti koje nisu NULL. Na primjer:

Prosjek (preostalo. Količina)

Ostale operacije

Operacija SELECT

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

Odaberite Kada iznos > 1000, zatim iznos inače 0 Kraj

Pravila za poređenje dvije vrijednosti

Ako se vrste vrijednosti koje se uspoređuju razlikuju jedna od druge, tada se odnosi između vrijednosti određuju na osnovu prioriteta tipova:

  • NULL (najniže);
  • Boolean;
  • Broj;
  • Datum;
  • Line;
  • Referentni tipovi

Odnosi između različitih tipova referenci određuju se na osnovu referentnih brojeva tabela koje odgovaraju određenom tipu.

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 Broj ima uobičajena pravila poređenja brojeva;
  • za tip Datuma, raniji datumi su manji od kasnijih;
  • za tip String - poređenje stringova u skladu sa utvrđenim nacionalnim karakteristikama baze podataka;
  • referentni tipovi se upoređuju na osnovu njihovih vrijednosti (broj zapisa itd.).

Rad sa NULL vrijednošću

Svaka operacija u kojoj je jedan od operanada NULL će proizvesti NULL rezultat.

Postoje izuzeci:

  • Operacija AND će vratiti NULL samo ako nijedan od operanada nije False;
  • Operacija OR će samo vratiti NULL ako nijedan od njenih operanada nije Tačan.

Operativni prioriteti

Operacije imaju sljedeće prioritete (prvi red ima najniži prioritet):

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

Funkcije jezika za sastavljanje podataka sistema ekspresije

Izračunati

Funkcija Calculate je dizajnirana da izračuna izraz u kontekstu određene grupe. Funkcija ima sljedeće parametre:

  • Izraz. Tip String. Sadrži izračunati izraz;
  • Grupisanje. Tip String. Sadrži naziv grupiranja u čijem kontekstu treba procijeniti izraz. Ako se kao ime grupisanja koristi prazan niz, proračun će se izvršiti u kontekstu trenutnog grupisanja. Ako se kao naziv grupe koristi string GrandTotal, izračunavanje će se izvršiti u kontekstu ukupnog zbroja. U suprotnom, proračun će se izvršiti u kontekstu nadređene grupe sa istim imenom. Na primjer:
Zbroj(Prodaja.Ukupan promet) / Izračunaj("Zbroj(Prodaja.Ukupan promet)", "Ukupno")

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

Nivo

Funkcija je dizajnirana da dobije trenutni nivo snimanja.

Nivo()

NumberInOrder

Uzmite sljedeći redni broj.

Broj po narudžbi()

NumberInOrderInGrouping

Vraća sljedeći redni broj u trenutnoj grupi.

BrojByOrderInGroup()

Format

Dobijte formatirani niz proslijeđene vrijednosti.

Niz formata je postavljen u skladu sa nizom formata 1C:Enterprise.

Opcije:

  • Značenje;
  • Format string.

Format (Računi. Iznos dokumenta, "NPV=2")

Početak perioda

Opcije:

    • Minute;
    • Dan;
    • Sedmica;
    • Mjesec;
    • Quarter;
    • Decenija;
    • Pola godine.

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

rezultat:

01.10.2002 0:00:00

Kraj perioda

Funkcija je dizajnirana da izdvoji određeni datum iz datog datuma.

Opcije:

  • Datum. Unesite datum. Navedeni datum;
  • Tip perioda. Tip String. Sadrži jednu od sljedećih vrijednosti:
    • Minute;
    • Dan;
    • Sedmica;
    • Mjesec;
    • Quarter;
    • Decenija;
    • Pola godine.

EndPeriod(DatumTime(2002, 10, 12, 10, 15, 34), "Sedmica")

rezultat:

13.10.2002 23:59:59

AddToDate

Funkcija je dizajnirana da doda određenu vrijednost datumu.

Opcije:

  • Vrsta uvećanja. Tip String. Sadrži jednu od sljedećih vrijednosti:
    • Minute;
    • Dan;
    • Sedmica;
    • Mjesec;
    • Quarter;
    • Decenija;
    • Pola godine.
  • Iznos – za koliko trebate povećati datum. Tip broj. Razlomački dio se zanemaruje.

AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Mjesec", 1)

rezultat:

12.11.2002 10:15:34

Razlika u datumu

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

Opcije:

  • Izraz. Unesite datum. Originalni datum;
  • Izraz. Unesite datum. Oduzeti datum;
  • Vrsta razlike. Tip String. Sadrži jednu od sljedećih vrijednosti:
    • Sekunda;
    • Minute;
    • Dan;
    • Mjesec;
    • Quarter;

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

rezultat:

Podniz

Ova funkcija je dizajnirana da izdvoji podniz iz niza.

Opcije:

  • Linija. Tip String. Niz iz kojeg se izdvaja podniz;
  • Pozicija. Tip broj. Pozicija znaka iz koje počinje podniz koji se izdvaja iz niza;
  • Dužina. Tip broj. Dužina dodijeljenog podniza.

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

Dužina linije

Funkcija je dizajnirana da odredi dužinu niza.

Parametar:

  • Linija. Tip String. Niz čija je dužina određena.

Linija (Counterparties.Adresa)

Godina

Ova funkcija je dizajnirana da izdvoji godinu iz vrijednosti tipa datuma.

Parametar:

  • Datum. Unesite datum. Datum do kojeg je određena godina.

GODINA (Trošak.Datum)

Kvart

Ova funkcija je dizajnirana da izdvoji broj četvrtine iz vrijednosti tipa datuma. Broj četvrtine se obično kreće od 1 do 4.

Parametar

  • Datum. Unesite datum. Datum do kojeg se utvrđuje tromjesečje
KVARTAL(Trošak.Datum)

Mjesec

Ova funkcija je dizajnirana da izdvoji broj mjeseca iz vrijednosti tipa datuma. Broj mjeseca se obično kreće od 1 do 12.

  • Datum. Unesite datum. Datum do kojeg se određuje mjesec.
MJESEC (Trošak.Datum)

Dan u godini

Ova funkcija je dizajnirana da dobije dan u godini iz vrijednosti tipa Datum. Dan u godini se obično kreće od 1 do 365 (366).

  • Datum. Unesite datum. Datum do kojeg je određen dan u godini.
DAYYEAR(Račun troškova.Datum)

Dan

Ova funkcija je dizajnirana da dobije dan u mjesecu iz vrijednosti tipa Datum. Dan u mjesecu se obično kreće od 1 do 31.

  • Datum. Unesite datum. Datum do kojeg je određen dan u mjesecu.
DAY (Trošak.Datum)

Sedmica

Ova funkcija je dizajnirana da dobije broj sedmice u godini iz vrijednosti tipa datuma. Sedmice u godini se numerišu počevši od 1.

  • Datum. Unesite datum. Datum do kojeg se određuju brojevi sedmica.
SEDMICA(Trošak.Datum)

Dan u tjednu

Ova funkcija je dizajnirana da dobije dan u sedmici iz vrijednosti tipa Datum. Uobičajeni dan u sedmici kreće se od 1 (ponedjeljak) do 7 (nedjelja).

  • Datum. Unesite datum. Datum do kojeg se određuje dan u sedmici.
DAN U SJEDICI (Trošak.Datum)

Sat

Ova funkcija je dizajnirana da dobije sat u danu iz vrijednosti tipa datuma. Sat u danu kreće se od 0 do 23.

  • Datum. Unesite datum. Datum do kojeg se određuje sat u danu.
HOUR (Trošak.Datum)

Minuta

Ova funkcija je dizajnirana da dobije minute u satu iz vrijednosti tipa datuma. Minuta u satu kreće se od 0 do 59.

  • Datum. Unesite datum. Datum do kojeg se određuje minuta u satu.
MINUTE(Trošak.Datum)

Sekunda

Ova funkcija je dizajnirana da dobije sekundu minute iz vrijednosti tipa datuma. Sekunda u minuti se kreće od 0 do 59.

  • Datum. Unesite datum. Datum do kojeg se određuju sekunde minuta.
SECOND (Trošak.Datum)

Express

Ova funkcija je dizajnirana da izdvoji tip iz izraza koji može sadržavati složeni tip. Ako izraz sadrži tip koji nije potreban, bit će vraćeno NULL.

Opcije:

  • Izraz za pretvaranje;
  • Indikacija tipa. Tip String. Sadrži niz tipa. Na primjer, "Broj", "String" itd. Pored primitivnih tipova, ovaj red može sadržavati naziv tabele. U ovom slučaju, pokušat će se izraziti referenca na navedenu tabelu.

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

IsNull

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

U suprotnom će biti vraćena vrijednost prvog parametra.

DaNULL(Iznos(Prodaja.IznosPromet), 0)

Funkcije zajedničkih modula

Izraz mašine za sastav podataka može sadržavati pozive funkcijama globalnih zajedničkih konfiguracijskih modula. Za pozivanje takvih funkcija nije potrebna dodatna sintaksa.

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

Imajte na umu da je korištenje zajedničkih funkcija modula dozvoljeno samo ako je specificiran odgovarajući parametar procesora sastava podataka.

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

Za kompetentan menadžment, svakoj trgovačkoj organizaciji potreban je brzi prijem informacija o trenutnom stanju robe, prodaji i dobiti. Međutim, ako uzmemo u obzir da organizacije često rade sa širokim spektrom robe i velikim brojem partnera, onda alat za prilagođavanje analitičkih izvještaja igra važnu ulogu u dobivanju potrebnih informacija. Pogledajmo bliže kako raditi sa prilagođenim poljima u standardnim programskim izvještajima (rev. 11).

Razvoj platforme 1C: Enterprise 8 korisnicima nudi sve više mogućnosti. Na primjer, u verziji 8.2, izvještaji su postali fleksibilniji, omogućavajući im da budu prilagođeni različitim zahtjevima bez pomoći kvalifikovanih programera.

Promjena postavki izvještaja

Da pogledate ili promijenite postavke izvještaja, idite na meni „Sve radnje“ i izaberite komandu „Promeni opciju“. Nakon toga, pred korisnikom se otvara prozor sa postavkama za otvoreni izvještaj.

U gornjem dijelu prozora postavki možete vidjeti strukturu izvještaja, koja nije ništa drugo do vizualni odraz stupaca izvještaja i grupiranja njegovih redova, što u suštini omogućava da se zamisli redoslijed u kojem se nalaze analitički podaci. prikazano u ovom izvještaju.

Na dnu prozora postavki prikazuju se stvarne informacije i postavke polja, koje se odnose ili na izvještaj ili na elemente njegove strukture (kolone i grupiranje redova).

Prilagođena polja

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

U prozoru za uređivanje postavki i strukture izvještaja, posebno bismo skrenuli pažnju korisnika na karticu „Prilagođena polja“ koja vam omogućava da kreirate svoja polja i dodate ih u izvještaj. Treba podsjetiti da je ranije korisnik mogao koristiti samo ona polja koja je implementirao programer.

Pogledajmo upotrebu ove funkcije na primjeru.

Pretpostavimo da šef trgovačke kompanije koja prodaje robu u Moskvi i regionima želi da prilagodi izveštaj „Istorija prodaje“ svojim zahtevima, želeći da u njemu prikaže podatke o prodaji proizvoda u Moskvi i regionima uopšte, kao kao i partnerima. Ovo je vrlo lako učiniti koristeći prilagođena polja.

Dakle, jasan primjer pokazuje da su fleksibilne postavke za prilagođena polja u standardnom programu 1C: Upravljanje trgovinom 8 pružaju korisniku široke mogućnosti za prilagođavanje izvještaja, omogućavajući im da brzo dobiju potrebne informacije u prikladnom obliku.

Svakoj organizaciji, da bi donijela pravovremene i ispravne upravljačke odluke, potrebne su operativne informacije o dostupnosti robe u skladištima, njenoj cijeni i prodaji. Trgovinske organizacije rade sa velikim brojem artikala i partnera, a za to je potrebno dobro postavljeno analitičko računovodstvo i brzo dobijanje potrebnih informacija iz svojih podataka. Članak govori o osnovnim tehnikama rada sa standardnim izvještajima u standardnom rješenju „1C: Upravljanje trgovinom 8“ (izdanje 11), izgrađenom na bazi sistema za sastavljanje podataka, i daje korisne praktične preporuke koje će biti korisne i početnicima. i oni koji su prešli na novo izdanje sa prethodnih izdanja.

Na primjer, uzmimo izvještaj

  • Analiza dostupnosti proizvoda;

Postavke.

U koloni Vrsta poređenja Nomenklatura

  • Jednako
  • Nije jednako
  • Na listi
  • Nije na listi
  • U grupi Nomenklatura;
  • Ne u grupi Nomenklatura;
  • U grupi sa liste Nomenklatura;
  • Nije u grupi sa liste Nomenklatura.

Značenje

"Brzi izbori"

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

Nove mogućnosti koje pruža sistem za sastavljanje podataka (DCS) omogućavaju vam da iskusite prednosti mogućnosti 1C:Enterprise 8 prilikom kreiranja izvještaja kao nikada prije. I, uprkos činjenici da je interfejs izveštaja pretrpeo značajne promene (u poređenju sa izdanjem 10.3 konfiguracije „Upravljanje trgovinom“, u daljem tekstu UT), podešavanja izveštaja su i dalje dostupna prosečnom korisniku. Pogledajmo neke osnovne tehnike za rad s njima.

Prva stvar na koju možete obratiti pažnju je brz odabir. Omogućavaju vam da prikažete podatke u izvještaju na osnovu određenih vrijednosti polja izvještaja prema željama korisnika.

Na primjer, uzmimo izvještaj Analiza dostupnosti proizvoda u UT. Odmah napominjemo da će se cjelokupna demonstracija mogućnosti izvještavanja u UT 11 odvijati na primjeru dva izvještaja:

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

Odabir po nekim poljima može se izvršiti direktno u obrascu izvještaja ili pomoću dugmeta Postavke.

U koloni Vrsta poređenja korisnik može odabrati različite uslove poređenja. Na primjer, za polje Nomenklatura Možete odabrati sljedeće vrste poređenja:

  • Jednako- izvještaj će biti napravljen samo za odabranu stavku;
  • Nije jednako- izvještaj će se generirati za cijeli asortiman proizvoda, osim za odabranu stavku;
  • Na listi- izvještaj će biti zasnovan na listi stavki;
  • Nije na listi- izvještaj će se graditi na cjelokupnom asortimanu, osim na odabranim artiklima;
  • U grupi- izvještaj će biti izgrađen na cijeloj stavci koja se nalazi u odabranoj mapi direktorija Nomenklatura;
  • Ne u grupi- izvještaj će biti izgrađen na cijelom asortimanu proizvoda, osim za stavke koje se nalaze u odabranoj mapi direktorija Nomenklatura;
  • U grupi sa liste- slično poređenju Na listi se kao vrednosti liste biraju samo fascikle u direktorijumu Nomenklatura;
  • Nije u grupi sa liste- slično poređenju. Nisu na listi, samo fascikle u direktorijumu se biraju kao vrednosti liste Nomenklatura.

Polje za potvrdu lijevo od polja za izbor označava da je odabir za ovo polje „omogućen“, odnosno da je uzet u obzir u izvještaju.

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

Ovisno o odabranoj vrsti poređenja u koloni Značenje naznačen je određeni element ili fascikla (grupa) direktorijuma, ili lista elemenata ili fascikli.

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

Primjer jednostavne promjene postavki izvještaja

Za pregled/promjenu postavki izvještaja potrebno je da odete u meni Sve radnje - Promjena opcije.

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

Struktura izvještaja je prikazana na vrhu prozora. U suštini, ovo je vizuelni prikaz grupiranja redova i kolona izveštaja, odnosno kojim redosledom će se analitički podaci prikazati u izveštaju u redovima i kolonama.

Na dnu prozora se prikazuju informacije koje se odnose na izvještaj u cjelini (ako je odabran najviši nivo u strukturi izvještaja Izvještaj), ili na određeno grupisanje redova ili kolona izvještaja (ako je odabrano grupisanje na nižem nivou), postavke za prikaz informacija i oblikovanje polja.

Primjer 1

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

Odaberite polje Karakteristično i kliknite na dugme Izbriši komandna tabla.

Potvrdite promjene postavki izvještaja klikom na dugme Završi uređivanje u donjem lijevom uglu ekrana.

Korak 2. Nakon uklanjanja karakteristike, naš zadatak, prema uslovima primjera, bit će dodavanje cjenovne grupe. U suštini, ovo grupisanje treba da bude na nivou nižem od grupisanja po skladištu, ali na nivou višem od grupisanja po artiklima. Stoga ćemo u strukturi izvještaja izdvojiti grupisanje Stock.

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

U prozoru za uređivanje polja grupisanja koji se otvori, izaberite Nomenklatura.Cijenovna grupa.

Klikom na dugme uredu, vidjet ćemo da je izvještaju dodana nova grupa, podređena grupi Stock.

Sada odaberimo grupiranje po proizvodu i, bez puštanja desne tipke miša, povucite ga unutar (tj. ispod) grupiranja prema grupi cijena. Dobićemo strukturu prikazanu na slici 1. Rezultat postavljanja izveštaja je prikazan na slici 2.

Rice. 1. Rezultirajuća struktura izvještaja

Rice. 2. Rezultat prilagođavanja izvještaja

Rad sa prilagođenim poljima

Pogledajmo sada bliže nove opcije za prilagođavanje izvještaja u programu 1C: Trade Management 8.

U obliku uređivanja strukture i postavki našeg izvještaja, obratimo pažnju na karticu Prilagođena polja.

Ranije smo dodali polja u izvještaj, čiju je listu unaprijed odredio programer. Koristeći ovu karticu, možemo kreirati vlastita polja koja su nam potrebna - Polje za izbor ili Polje izraza.

Primjer 2

Prilagodimo izvještaj "Historija prodaje" (opcija izvještaja "Prihodi i troškovi prodaje"). Prikazat ćemo podatke o prodaji po partnerima i asortimanu proizvoda. Pretpostavimo da naša kompanija prodaje robu u Moskvi iu regionima. Dakle, svaki klijent u bazi podataka pripada određenoj geografskoj regiji (atribut “Poslovna regija” u imeniku “Partneri”). Lako možemo grupirati podatke o prodaji u izvještaju po regijama, ali šta ako nas zanima više agregirana statistika, posebno odgovor na pitanje „Koliko je robe prodato u Moskvi, a koliko u svim ostalim regijama zajedno”? Ovdje dobro dolaze „prilagođena polja“.

Korak 1. Hajde da otvorimo izveštaj. Idemo na obrazac za postavljanje strukture izvještaja ( Sve akcije -> Promjena opcije). Izbrišemo redom sve grupe prethodno kreirane u izvještaju - da biste to učinili, odaberite svaku od njih i kliknite na dugme Izbriši komandnu tablu ili koristite taster DEL.

Kao iu prethodnom primjeru, dodajmo u izvještaj grupiranje po partneru, a zatim po stavci. Već znamo kako to da uradimo, tako da neće trebati mnogo vremena.

Korak 2. Kreirajmo novo prilagođeno polje. Hajde da otvorimo obeleživač Prilagođena polja i izvršite naredbu Dodaj -> Novo Odaberi polje.

Dajmo ime našem novom polju - Region uopšte.

Hajde da kliknemo na dugme Dodati. U novom redu kliknite na dugme u koloni Odabir. U obrascu za uređivanje odabira koji se pojavi dodajte odabir po polju Partner.Poslovna regija. Odaberimo vrstu poređenja Jednako, znači - Moskva.

Hajde da kliknemo na dugme uredu, nakon čega ćemo se vratiti na prozor za uređivanje prilagođenog polja. Zatim morate kliknuti na dugme u koloni Značenje i na listi za odabir tipa podataka koja se pojavi, odaberite Linija i napišite kao vrijednost Moskva.

Ponovimo operaciju. Dodajmo još jedan red u tabelu. Ovaj put za odabir po oblastima Partner.Poslovna regija izaberite vrstu poređenja Nije jednako.

Vraćanje na prozor za uređivanje prilagođenog polja, u koloni Značenje hajde pisati Druge regije(vidi sliku 3).

Rice. 3. Uređivanje prilagođenog polja

Hajde da kliknemo na dugme uredu. Naš novi teren je spreman.

Korak 3. Dodajmo naše novo polje strukturi izvještaja. Odabir najvišeg nivoa mišem Izvještaj u strukturi, dodajte novo grupisanje. U rekvizitima Polje hajde da izaberemo Region uopšte.

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

Hajde da generišemo izveštaj i pogledamo rezultat (prikazano na slici 4).

Rice. 4. Rezultat generiranja izvještaja

Selekcija i sortiranje

Vratimo se na prozor za uređivanje strukture i postavki izvještaja i obratimo pažnju na oznake Odabir I Sortiranje.

Ako je osnovni element odabran u strukturi izvještaja ( Izvještaj), tada će se postavke napravljene na ovim karticama primijeniti na cijeli izvještaj u cjelini. Ako je odabrano grupiranje izvještaja, postavke će utjecati samo na to grupiranje.

Primjer 3

Kao rezultat toga, izvještaj Istorija prodaje Biće uključene samo one implementacije u kojima je naveden menadžer. Ivanov Ivan Fedorovič.

Primjer 4

Sačuvajte napravljene promjene

Ako promijenite strukturu izvještaja, uvijek ga možete sačuvati pomoću naredbe Sve akcije -> Sačuvaj opciju.

U obrascu za spremanje opcije možete koristiti prekidač za odabir Sačuvaj u postojeću verziju izvještaja(umjesto jedne od već dostupnih opcija), ili Sačuvajte novu verziju izvještaja.

U izvještaj se primaju stanja robe u skladištima u različitim dijelovima (karakteristike, serije, mjerne jedinice itd.). Kako ne bismo komplicirali primjer, ostavićemo samo grupiranje po stavkama i prikaz samo konačnog stanja na datum izvještaja. Konačna tabela prikazuje stanja artikla u skladištima.

Ali tada 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čunavanje konačnog stanja. U dodatnoj koloni korisnik želi vidjeti koje radnje je program izvršio da bi dobio konačnu vrijednost stanja. Odnosno, formula "Početni saldo + Promet = Završni saldo", gdje će se zamijeniti odgovarajuće vrijednosti.

Naravno, ovdje bi mogao intervenirati programer i promijeniti zahtjev za shemu sastava podataka i postavke izvještaja, ali ćemo zadatak izvršiti u korisničkom modu bez mijenjanja izvještaja u modu konfiguratora.

Dodatna polja

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

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

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

U podešavanjima treba da podesimo naslov polja koji će biti prikazan u izveštaju, kao i da podesimo izraze za generisanje vrednosti u polju detaljnih zapisa i u zbrojevima za ovo polje. Pošto nema potrebe da se upozorenje prikazuje u zbrojima, napisaćemo izraz samo za detaljne zapise.

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

"Izbor kada onda inače kraj"

slično kao operator u jeziku upita. Polja u izrazima prilagođenih polja specificiraju se njihovim predstavljanjem. Kako bi platforma shvatila da uneseni prikaz predstavlja određeno polje, naziv prikaza je okružen uglastim zagradama "". Ako je prikaz polja jedna riječ, uglaste zagrade nisu obavezne. U gornjem primjeru, gledamo polje Ending Balance.

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 sve numeričke vrijednosti pretvaramo u string koristeći metodu jezika SKD izraza „String()“, koja pretvara bilo koju vrijednost u string. Zatim izvodimo konkatenaciju nizova.
  2. Da bi polje bilo prikazano u ukupnim iznosima izvještaja, dodaćemo sličnu formulu izrazu ukupnih zapisa. Vi samo trebate dodati funkcije agregacije "SUM()" za svaku vrijednost u skladu sa ukupnim iznosima.

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

Postavljanje i generiranje izvještaja

Dodajte polje "Formula za izračunavanje konačnog stanja" u izlazna polja izvještaja:

Detaljnim zapisima o artiklima dodaćemo izraz „Obaveštenje“. Da biste to učinili, dodajte polje izraza “Obavijest” grupi “Nomenklatura”. Nakon toga, struktura izvještaja će poprimiti sljedeći oblik:

Postavljanje izvještaja je sada završeno. Ako je potrebno, dodana podešavanja se mogu sačuvati za ponovnu upotrebu. Hajde da napravimo izveštaj:

Kao što vidimo, polja su dodana u izveštaj u skladu sa uslovima zadatka. Istovremeno, nije bilo potrebe za modifikacijom izvještaja u modu konfiguratora. Ovo je glavna prednost prilagođenih polja! Korisnik obučen da ih koristi može ih koristiti za kreiranje izvještaja o svojim zahtjevima unutar kuće, bez pomoći programera.

Vjerujte mi, moguće ga je osposobiti za korištenje ovih funkcija, jer je to mnogo lakše nego pisati formule u Excel tabelama.