Dobijanje na zahtjev datuma dokumenta. Značajka primitka oslobađanja najnovijih zapisa u registru informacija dobijte cijenu na datum dokumenta u zahtjevu

/
Provedba obrade podataka

Rezolucija rezultata za periodične registre informacija

Opseg: kontrolirana aplikacija, mobilna aplikacija, normalna aplikacija.

1.1. Za periodične registre informacija preporučuje se rješavanje rezultata ako su ispunjeni svi sljedeći uvjeti:

  • očekuje se veliki iznos podataka u registru (na primjer, opravdano za registar sa cijenom nomenklature; ali nema smisla registrirati se sa tečajevima valuta);
  • konfiguracija pruža frekvencijsku zahtjeve za prošlim radnim vremenom i / ili na dijelove prvog za dobivanje aktualnih podataka (I.E., kada period nije naveden u parametrima virtualnih tablica Spavatii Rezanje);
  • istovremeno, preostali uslovi za virtualne tablice Spavati i Rezanje su navedeni samo na mjernim vrijednostima (i separatorima u režimu) Nezavisno i zajedno);
  • u ograničenjima pristupa podacima koriste se samo mjerenja (i razdjelnici u režimu) Nezavisno i zajedno).

Kompletna lista svih uvjeta kada su rezultati registra podataka uključeni u upite, pogledajtedokumentacija za 1C platformu: Enterprise.

Na primjer, ako se često pokreće zahtjeve za registracijom pružaju u konfiguraciji CijeneNaktore Da biste dobili trenutne cijene nomenklature:

Odaberite nomenklaturu. Članak kao članak, cijena interesa. Cijena kao cijena ,. . . Iz direktorija. Nomenklatura kao nomenklatura lijeva veza registra. CENENTNET. Kružno-trajanje (, vidioni- \u003d & Vidzena) kao cijene Cijena. Nomenklatura \u003d nomenklatura. Veza. . .

to podliježe svim gore navedenim drugim uvjetima, postavljanju nekretnine Dopustite rezultate: presjekli zadnji Značajno ubrzava izvršenje takvih zahtjeva, računa se da će uzorak izvršiti izravno iz dodatnih tablica u kojima su pohranjene samo posljednje vrijednosti (za nedavne rez) i prve vrijednosti (za prve vrijednosti (za prve vrijednosti) ).

1.2. Pored toga, treba uzeti u obzir alternativne opcije za reviziju zahtjeva za reviziju na takav način da se ovi uvjeti obavljaju.

Na primjer, ako u nekim slučajevima podaci u registru CijeneNaktore Zabilježen budućim datumom, a kada je odabir robe uvijek upit trenutnog datuma (datum je jasno postavljen u parametri virtualne tablice Rezanje) Rezultati neće ubrzati izvršenje takvih zahtjeva. Budući da se rezultati izrađuju samo za prve i posljednje unose u registraciju.

Međutim, ako otvorite oblik odabira robe, analizirajte postoje li registracije sa budućim datumom, a ako ne postoji - za obavljanje drugog zahtjeva za posljednji izrez potonje, a zatim takav zahtjev će raditi brže.

2. U svim ostalim slučajevima ne treba riješiti za periodične informacijske registre. Prije svega, ako

  • najčešće (uvijek) do virtualnih tablica odjeljaka prvog / posljednjeg periodičnog registra podataka, upiti se izvršavaju u određeno vrijeme (na primjer, na datum dokumenta).
  • u uslovima za virtualne tablice Spavati i Rezanje Najčešće (uvijek) koristi jabuke i veze (cirkulacija "kroz poen" na polja povezanih tablica). Na primjer, u ovom slučaju:

3. Nije potrebno osigurati konfiguraciju zasebnog mehanizma za ponovno preračunje rezultata, jer se aktualizacija ishodnih tablica automatski vrši automatski sa svakom snimkom zapisa u registru.

: Spavati i Rezanje Razmislite o radu s ovim virtualnim tablicama pomoću 1c. Mnogo češće primenjeno Rezanje, pa s njim i krenimo.

Udubljenje potonjih omogućava vam da dobijete najnoviji zapis registra podataka na određeni datum u kontekstu mjerenja. Za tablicu rezanja posljednjeg (prvo) postoji prilika u zagradama da odredite dva parametra kroz zarez. U prvom parametru datum se prenosi na koji se izrađuje rez (ako parametar ne odredi krišku se vrši na trenutni datum). Drugi parametar predstavlja stanje na 1C jeziku upita i omogućava vam instaliranje različitih odabira. U pravilu se mjerenja koriste u ovim seborarama. Sve ovo zvuči dovoljno maglovito, pa bez primjera ne možete učiniti.
Pa neka imamo periodični registar informacija Cijena u kojima se cijene pohranjuju u kontekstu robe i dobavljača. Učestalost registra je dan.

Registar ima sledeće unose

Za početak, izrezamo se potonji, bez korištenja parametara, nakon ovog zahtjeva.

Odaberite cijenu predaje. Period kao period, Cenext. Sungwar kao proizvod, cenaxtred. Lista je kao dobavljač, cijena predaje. Cijena. Preventivna kao cijenu prevođenja

Budući da parametri nisu navedeni, rez se izvodi na trenutnom datumu - 01.02.2017. Kao rezultat toga, dobivamo ovu tablicu

Ovdje vidimo da je kombinacija mjerne robe + dobavljača jedinstvena, i.e. Za svaku kombinaciju mjerenja registra, zapis je snimljen maksimalnim datumom, a datum zapisa je manje ili jednak trenutnom datumu.

Pretpostavimo da trebamo učiniti isto, ali zapise koje želimo dobiti s danom manje ili jednakom 15. januara 2017. godine. Da biste to učinili, morate promijeniti niz u upitu s nedavnim reznim tablicom na sljedeći način.

Od registracije. Cijena. Preventivni (i plesač,) kao cijena transvestcije

Prije izvođenja zahtjeva, sigurno je potrebno prenijeti parametar. & Dataseca. Sada će izgledati rezultat upita

I na kraju zamislite da trebamo dobiti rez izrezati isti datum sa stanjem koje imamo robu Olovkai dobavljač Dopisnica. Da biste to učinili, navedite drugi parametar u upitu.

Od registracije. Cijena. Preventivni (i plesač, proizvod \u003d i roba i dobavljač \u003d & dobavljač) kao cjenik

Kao rezultat toga, dobivamo samo jedan zapis

Da se ne bismo zbunili u svim tim zagradama i zarezima, bolje je koristiti dizajner zahtjeva. Pokazaću vam na primer zadnjeg upita.

Nakon odabira u dizajnu tablice upita s rezom potonjeg, morate kliknuti na gumb Postavke virtualnog stola i u prozoru koji se otvara registrirati

Nije teško pogoditi da je za rezanje prvog principa djelovanja isto, osim što je prvi zapisnik odabran nakon datuma rezanja.

Dostupne su dvije virtualne tablice za periodične informativne registre: Spavati i Rezanje Razmislite o radu s ovim virtualnim tablicama pomoću 1C zahtjeva. Mnogo češće primenjeno Rezanje, pa s njim i krenimo.

Udubljenje potonjih omogućava vam da dobijete najnoviji zapis registra podataka na određeni datum u kontekstu mjerenja. Za tablicu rezanja posljednjeg (prvo) postoji prilika u zagradama da odredite dva parametra kroz zarez. U prvom parametru datum se prenosi na koji se izrađuje rez (ako parametar ne odredi krišku se vrši na trenutni datum). Drugi parametar predstavlja stanje na 1C jeziku upita i omogućava vam instaliranje različitih odabira. U pravilu se mjerenja koriste u ovim seborarama. Sve ovo zvuči dovoljno maglovito, pa bez primjera ne možete učiniti.

Pa neka imamo periodični registar informacija Cijena u kojima se cijene pohranjuju u kontekstu robe i dobavljača. Učestalost registra je dan.

Registar ima sledeće unose

Za početak, izrezamo se potonji, bez korištenja parametara, nakon ovog zahtjeva.

Odaberite cijenu predaja. Period je kao razdoblje, cijena posljednjeg. Proizvod kao roba, cijeni-trajanje. Dobavljač kao dobavljač, uskrsnuće cijene. Iznos je kao zbroj registracija. Cijena. Kruži kao cijenu prevedenog

Budući da parametri nisu navedeni, rez se izvodi na trenutnom datumu - 01.02.2017. Kao rezultat toga, dobivamo ovu tablicu

Period | Proizvod | Dobavljač | Suma

16.01.2017. | Olovka | Ltd. "Lesprot" | petnaest

01.02.2017. | Olovka | PJSC "Dopisnice" | 31.

01.02.2017. | Ručka | PJSC "Dopisnice" | 145.

Ovdje vidimo da je kombinacija mjerne robe + dobavljača jedinstvena, i.e. Za svaku kombinaciju mjerenja registra, zapis je snimljen maksimalnim datumom, a datum zapisa je manje ili jednak trenutnom datumu.

Pretpostavimo da trebamo učiniti isto, ali zapise koje želimo dobiti s danom manje ili jednakom 15. januara 2017. godine. Da biste to učinili, morate promijeniti niz u upitu s nedavnim reznim tablicom na sljedeći način.

Iz registracija. Cijena. Cirkus-trajan (& amp; plesač,) kao cijenu sačuvanog

Prije izvođenja zahtjeva, sigurno je potrebno prenijeti parametar. & Dataseca. Sada će izgledati rezultat upita

Period | Proizvod | Dobavljač | Suma

01.01.2017 | Olovka | Ltd. "Lesprot" | 10

01.01.2017 | Olovka | PJSC "Dopisnice" | 27.

01.01.2017. | Ručka | PJSC "Dopisnice" | 137.

I na kraju zamislite da trebamo dobiti rez izrezati isti datum sa stanjem koje imamo robu Olovkai dobavljač Dopisnica. Da biste to učinili, navedite drugi parametar u upitu.

Iz registracija. Cijena. Kružnica-trajna (& amp; plesač, proizvod \u003d & amp; proizvod i dobavljač \u003d & amp; dobavljač) kao prevedena cijena

Kao rezultat toga, dobivamo samo jedan zapis

Period | Proizvod | Dobavljač | Suma

01.01.2017 | Olovka | PJSC "Dopisnice" | 27.

Da se ne bismo zbunili u svim tim zagradama i zarezima, bolje je koristiti dizajner zahtjeva. Pokazaću vam na primer zadnjeg upita.
Nakon odabira u dizajnu tablice upita s rezom potonjeg, morate kliknuti na gumb Postavke virtualnog stola i u prozoru koji se otvara registrirati

Nije teško pogoditi da je za rezanje prvog principa djelovanja isto, osim što je prvi zapisnik odabran nakon datuma rezanja.

43
Null - nedostajuće vrijednosti. Ne brkajte sa nultom vrijednošću! Null nije broj koji nije jednak prostoru, praznu vezu, nedefinirano. Null - Vrijednost formiranja tipa, I.E. Postoji null tip i jedino značenje ove vrste. Null ... 26
Da biste formirali i izvršili upite na tablice baze podataka na 1C platformi, koristi se poseban objekt programiranja objekta. Ovaj se objekt kreira pozivom na novi zahtjev. Zahtjev je zgodan ... 18
Članak predstavlja korisne tehnike prilikom rada sa zahtjevima 1c V.8.2, kao i informacije koje nisu tako poznate po jeziku upita. Ne trudim se dati puni opis jezika zahtjeva, ali želim prestati samo na ... 13
Kao - operator provjerava nizu na liknom uzorku. Analogni kao u SQL-u. Operator poput toga omogućava vam da uporedite vrijednost izraza navedenog s lijeve strane, s nizom predloška navedenog na desnoj strani. Vrijednost izražavanja ...

Ponekad vam treba zahtjev za postizanje iz povremenih podataka informacija o informacijama za nekoliko datuma odmah. Tipičan primjer radi sa tečajevima valute. Razmislite o algoritmu da ovaj zadatak riješi na primjeru.

Formulacija problema

U bazi podataka stvorena je dokument "Provedba usluge", u kojem je uglavnom zaglavlja "valuta" valuta ". Za svaki dokument potreban je zahtjev za primanje stvarne stope valute od zaglavlja do datuma dokumenta. Skladištenje tečaja valute provodi se u periodičnom registru "Autorivalyut".
Odluka "na čelu" ovog problema mogla bi biti zahtjev u ciklusu: primanje svih dokumenata sa svojim datumima i valutima i u žalbi uzorka na virtualni tabl izlaska posljednjeg registra "KURSIVALYUT". Ali zato što Zahtjev u ciklusu je "loš", pokušajte implementirati zadatak jednim zahtjevom.

Odluka

Da bismo riješili problem, koristit ćemo činjenicu da su stolovi na zahtjev može se povezati ne samo na jednakost polja.

IZABERITE RealizatsiyaTovarovUslug.Ssylka, RealizatsiyaTovarovUslug.Valyuta, MAX (KursyValyut.Period) kao period VTPeriodyUstanovkiKursov PUT kako Dokument.RealizatsiyaTovarovUslug RealizatsiyaTovarovUslug ostavio pridruže RegistrSvedeniy.KursyValyut KAKO KursyValyut RealizatsiyaTovarovUslug.Valyuta \u003d KursyValyut.Valyuta I RealizatsiyaTovarovUslug.Data\u003e \u003d KursyValyut.Period grupisana prema implementaciji usluge. Veza, implementirajući ulice. Svaluta; ////////////////////////////////////////////////////////////// /////////// // // // // ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////// //// // // Odabir TveriodoresoSorekurs. Veza, Wtperiodoresostrovikurstovs.Valuta, kurseivat.kurs iz WtperiodorestoreCarsa kao spremljenih osnivača lijeve veze Registriranih. Kashivyuta kao postavke Vaporiodine. Period \u003d coarsevalyut.period i crtice MountIngCurs.valuta \u003d coarsevalyut.valuta

Postupak u upitu:

  1. Dobivanje tečaja valute za svaki dokument. Dokumenti su povezani sa fizičkim stolom "KURSIVALYUT". Ovdje biste trebali obratiti pažnju na uvjete veze. Valute moraju biti jednake, a datum dokumenta\u003e \u003d razdoblje registra podataka.
    Kao rezultat takve veze, za svaki dokument bit će dobiven skup nizova koji zadovoljavajući uvjet: svi zapisi određivanja valutnog tečaja najkasnije do datuma dokumenta.
    Završna faza bit će grupiranje žica za postizanje maksimalnog perioda kursa. Kao rezultat toga, za svaki dokument će se dobiti potrebno razdoblje ugradnje tečaja za željenu valutu (maksimalni datum ugradnje tečaja valute, ali ne više od datuma dokumenta). Rezultat se stavlja u privremenu tablicu sistema za preplate.
  2. Dobijanje kursa. Privremena tablica optužbi povezana je sa fizičkim stolom "Krasvalyut". Veza se javlja u skladu sa valutom dokumenta i razdoblja postavljanja predmeta definiran u drugom privremenom stolu.