Jednostavan primjer korištenja prilagođenih polja u DCS izvještaju. Prilagođena polja u SKD 1s izvještavaju SKD prilagođena polja

Dodavanje vlastitih kolona u gotove izvještaje.
U izvještaje napravljene korištenjem "Sheme sastava podataka" iz korisničkog moda, možete dodati vlastita Polja, koja će biti prikazana tokom generiranja.
U ovim poljima možete koristiti aritmetičke operacije.

Davno sam napisao izvještaj „Prodaja robe pošiljkom“ http://infostart.ru/public/16477/. U ovoj publikaciji nećemo raspravljati o njenoj relevantnosti i prednostima. Ovaj izvještaj će se koristiti kao predložak za eksperimente i izmjene. Štaviše, u komentarima su pitali kako dodati polja.

Otvorite "Postavke..." i idite na karticu "Prilagođene postavke".

2. Dodajte “Novi izraz polja”

Dodavanje polja uključuje pisanje aritmetičkih operacija između dostupnih polja (ona mogu biti označena zelenim kvadratom). Također karakteristika, ako se ime takvog polja sastoji od dvije ili više riječi, mora biti zatvoreno u uglastim zagradama. Ispast će ovako - [Iznos prodaje].

Nakon pohranjivanja, ovo polje će postati dostupno za odabir:

Uz pomoć jednostavnih manipulacija dobijate vrednost koja vam je potrebna. Ova funkcija vam omogućava da dodate obavezna polja. U takvim opcijama proračuna koje vam trebaju. Profitabilnost, efikasnost i druge vrijednosti će se uzeti u obzir u vašoj logici aritmetičkog izračuna.

U tom slučaju, vaš rad neće biti izgubljen i možete ga koristiti sljedeći put kada otvorite izvještaj.

Funkcije koje se koriste prilikom pisanja polja.

  • Aritmetika "+, -, *, /" je razumljiva, mislim da nema potrebe objašnjavati princip njihovog rada.
  • Logički izrazi se koriste za određivanje odabira. « > ,< , = , >= , <= , <>, I, ILI, NE." Ovi izrazi se koriste s operacijom odabira.
  • Operacije selekcije. Koristi se za dobijanje jedne od mogućih vrednosti u skladu sa određenim uslovima

IZBOR
KADA< Операция выбора >ONDA<Выражение>
U suprotnom<Выражение>
KRAJ
primjer:
IZBOR
KADA je količina > 0 i količina > 0 ONDA “Tačno”
ELSE "Greška"
KRAJ

To se dešifruje na sljedeći način: pod uslovom da je količina veća od nule, a iznosi veći od nule, ispisuje se tekst “Točno”, a ako barem jedan od uslova nije ispunjen, ispisuje se “Greška”.

  • Ugrađena funkcija vam omogućava da izvršite određene transformacije s poljima.

SUB-STRING (“Izraz”, “Početna pozicija”, “Konačna pozicija”) - odabire dio “Izraza” ograničen okvirima “Start...” i “Final...”.
Kako se to događa kada je vrijednost nomenklature “Chocolate Paste”, formula Substring(Nomenclature,1,5) će prikazati vrijednost “Paste”

Za rad s datumom koristite funkcije

GODINA(<Дата>), KVARTAL(<Дата>), MJESEC(<Дата>), DAYYEAR(<Дата>), DAN(<Дата>), SEDMICA(<Дата>), WEEKDAY(<Дата>),SAT(<Дата>), MINUTE(<Дата>), SEKUNDA(<Дата>)

Bit će prikazana vrijednost koja odgovara nazivu funkcije.

POČETAK PERIODA(“Datum”, “Period smjene”), KRAJ PERIOD(“Datum”, “Period promjene”). Za podatke funkcije, vrijednost izraza datuma je na početku ili kraju navedenog datuma.

ADDCDATE (“Datum”, “Period pomaka”, “Iznos za koji želite da povećate datum”) - funkcija vam omogućava da povećate ili smanjite datum za određenu vrijednost.

DATUM RAZLIKA (“Date1”, “Date2”, “Shift period”) - Funkcija je dizajnirana da dobije razliku između dva datuma.

“Period smjena” je jedan od “minut, sat, dan, sedmica, mjesec, kvartal, godina, decenija, polugodišnji”.

5. Funkcije agregacije jezika upita koriste se prilikom grupisanja rezultata i izračunavanja ukupnih

SUMA (<>) aritmetički zbir svih vrijednosti uključenih u uzorak.
PROSJEČAN (<>) izračunava prosječnu vrijednost svih uključenih u uzorak
MINIMUM (<>) izračunava minimalnu vrijednost iz svih vrijednosti uključenih u uzorak
MAKSIMALNO (<>) izračunava maksimalnu vrijednost iz svih vrijednosti uključenih u uzorak
KOLIČINA (<>) broji broj vrijednosti parametara uključenih u uzorak. Ova funkcija vam omogućava da imate opcije za korištenje. COUNT(*) - omogućava vam da prebrojite broj redova u rezultatu. KOLIČINA (RAZLIČITI „Izraz”) - omogućava vam da prebrojite broj različitih vrijednosti navedenog polja.

Iznos (izbor
Kada je podniz(nomenklatura, 1, 5) = "Zalijepi"
Tada količina *0.2
Inače Količina *0,35
kraj)

Rezultat je zbir vrijednosti kada se na početku naziva nomenklatura nalazi, u ovom slučaju količina se povećava za 0,2;

Godina ([Dokument.Datum])

Prikazaće se godina kada je dokument snimljen/objavljen.

Složeniji primjer, bez dekodiranja.

Izbor
Kada je kvartal ([Dokument.Datum]) = 1 I podniz (nomenklatura, 1, 5) = "Zalijepi"
Tada je količina * 0,2
Inače Izbor
Kada je kvartal([Dokument.Datum]) = 2
Tada je količina * 0,3
Inače Izbor
Kada je kvartal([Dokument.Datum]) = 3
Tada je količina * 0,4
Inače Izbor
Kada je kvartal([Dokument.Datum]) = 4
Tada je količina * 0,5
Kraj
Kraj
Kraj
Kraj

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

Za pregled ili promjenu postavki 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.

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 odnosa, 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 korištenjem 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 znači sam po sebi 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:

Sales 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 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 – ;
  • *, /, %;
  • Unarno +, Unarno -.

Funkcije jezika za sastavljanje podataka sistema ekspresije

Izračunati

Funkcija Calculate je dizajnirana da izračuna izraz u kontekstu nekog grupisanja. 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 s 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.

BrojByOrder()

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

DifferenceDate

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. String čija je dužina specificirana.

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škovi.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 tablicu.

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 modula opće konfiguracije.

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

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

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 obrađeni u prvom dijelu članka.

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

Odjeljak postavki opcija izvještaja daje korisniku široke mogućnosti da konfiguriše izvješ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 stavke 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 grupacije konfigurisane u oblasti „Struktura izveštaja“ i moraju koristiti agregatne funkcije („Zbroj“, „Minimum“, „Maksimalni“, „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. Prilikom dodavanja grupe, 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.

mob_info