Saņemt pēc dokumenta datuma pieprasījuma. Iezīme, lai saņemtu atbrīvošanu jaunākajiem ierakstiem informācijas reģistrā saņemt cenu dokumenta datumā pieprasījuma

/
Datu apstrādes īstenošana

Rezultātu izšķirtspēja periodiskiem informācijas reģistriem

Darbības joma: kontrolēta lietojumprogramma, mobilā lietojumprogramma, parastā lietošana.

1.1. Par periodiskiem informācijas reģistriem ieteicams atrisināt rezultātus, ja ir izpildīti visi šādi nosacījumi:

  • reģistrā ir sagaidāms liels datu apjoms (piemēram, pamatots reģistram ar nomenklatūras cenu; bet tas nav jēgas reģistrēties valūtas kursos);
  • konfigurācija nodrošina biežumu pieprasījumus pēdējo reizi un / vai pirmās sadaļās, lai iegūtu aktuālus datus (I.E., kad periods nav norādīts virtuālo tabulu parametros Gulētun Sagriešana);
  • tajā pašā laikā, atlikušie apstākļi virtuālajām tabulām Gulēt un Sagriešana ir norādīti tikai uz mērījumu vērtībām (un separatoriem režīmā Patstāvīgi un kopā);
  • piekļuves ierobežojumos tiek izmantoti tikai mērījumi (un dalītāji režīmā Patstāvīgi un kopā).

Pilns saraksts ar visiem nosacījumiem, kad informācijas reģistra rezultāti ir iesaistīti vaicājumos, skatietdokumentācija 1C platformai: Enterprise.

Piemēram, ja konfigurācijā tiek sniegti bieži darbojas reģistra pieprasījumi Prāvasnacis Lai iegūtu pašreizējās nomenklatūras cenas:

Izvēlieties nomenklatūru. Raksts kā raksts, procentu cena. Cena kā cena ,. . . No kataloga. Nomenklatūra kā nomenklatūra kreiso savienojumu ar reģistru. Laidnet. CIRCLING-LASTING (, VIDITIONES \u003d & Vidzena) kā cenas Cenu jautājums. Nomenklatūra \u003d nomenklatūra. Saite. . .

kas ir pakļauts visiem citiem iepriekš uzskaitītajiem nosacījumiem, īpašuma noteikšanu Atļaut rezultātus: samazināt pēdējo Ievērojami paātrina šādu pieprasījumu izpildi, tiek skaitīts, ka paraugs tiks izpildīts tieši no papildu tabulām, kurās tiek glabātas tikai pēdējās vērtības (jaunākajai griezumam) un pirmās vērtības (pirmās sadaļām) ).

1.2. Turklāt ir jāuzskata, ka alternatīvas iespējas pārskatīt reģistru pieprasījumus tā, lai veiktu šos nosacījumus.

Piemēram, ja dažos gadījumos dati reģistrā Prāvasnacis Ieraksta nākotnes datumā un kad preču izvēle vienmēr ir vaicājums pašreizējam datumam (datums ir skaidri noteikts virtuālā tabulas parametrā Sagriešana) Rezultāti netiks paātrināti šādu pieprasījumu izpildi. Tā kā rezultāti ir veidoti tikai pirmajam un pēdējam reģistra ierakstus.

Tomēr, ja jūs atverat formu izvēli preču, analizēt, vai ir reģistratūras ar nākamo datumu, un, ja nav - veikt vēl vienu pieprasījumu uz pēdējo izgriezumu pēdējā neinstalējot datumu, tad šāds pieprasījums strādās ātrāk.

2. Visos citos gadījumos nevajadzētu atrisināt periodiskiem informācijas reģistriem. Pirmkārt, ja

  • visbiežāk (vienmēr) uz pirmās / pēdējās periodiskās informācijas reģistra sadaļām virtuālajām tabulām, vaicājumi tiek izpildīti konkrētajā periodā (piemēram, dokumenta datumā).
  • virtuālo tabulu apstākļos Gulēt un Sagriešana Visbiežāk (vienmēr) izmanto subqueries un savienojumus (cirkulāciju "caur punktu" uz asociēto tabulu laukiem). Piemēram, šajā gadījumā:

3. Nav nepieciešams nodrošināt atsevišķa mehānisma konfigurāciju rezultātu pārrēķināšanai, jo rezultātu tabulu aktualizācija tiek automātiski veikta ar katru ierakstu ierakstu reģistrā.

: Gulēt un Sagriešana Apsveriet darbu ar šiem virtuālajiem galdiem, izmantojot 1C. Daudz biežāk piemērota Sagriešana, tā kopā ar viņu un sāksim.

Pēdējās padziļinājumi ļauj iegūt jaunāko informācijas reģistra ierakstu uz norādīto datumu mērījumu kontekstā. Par griešanas tabulu pēdējā (pirmā) ir iespēja iekavās, lai norādītu divus parametrus caur komatu. Pirmajā parametrā tiek nosūtīts datums, uz kuru tiek veikts griezums (ja parametrs nenorāda, ka šķēle tiek veikta pašreizējā datumā). Otrais parametrs attēlo nosacījumu 1C vaicājuma valodā un ļauj instalēt dažādus izvēli. Parasti mērījumus izmanto šajos Seborāros. Tas viss izklausās pietiekami miglains, tāpēc bez piemēru jūs nevarat darīt.
Tāpēc ļaujiet mums būt periodisks informācijas reģistrs Cena kurā cenas tiek glabātas preču un piegādātāju kontekstā. Reģistra biežums ir diena.

Reģistram ir šādi ieraksti

Lai sāktu ar, mēs saņemsim pēdējo, neizmantojot parametrus pēc šī pieprasījuma.

Izvēlieties nodošanas cenu. Periods kā periods, priceRext. Sungwar kā produkts, pricerexstrighted. Saraksts ir kā piegādātājs, nodošanas cena. Piemēram, reģistrācijas summa. Cena. Cena.

Tā kā parametri nav norādīti, griezums tiek veikts pašreizējā datumā - 01.02.2017. Tā rezultātā mēs saņemam šo tabulu

Šeit mēs redzam, ka mērīšanas preču kombinācija + piegādātājs ir unikāls, i.e. Katrai reģistra mērījumu kombinācijai tika veikts ieraksts ar maksimālo datumu, un ieraksta datums ir mazāks vai vienāds ar pašreizējo datumu.

Pieņemsim, ka mums ir jādara tāds pats, bet ieraksti, kurus mēs vēlamies saņemt ar datumu, kas ir mazāk vai vienāds ar 2017. gada 15. janvāri. Lai to izdarītu, jums ir nepieciešams mainīt virkni vaicājumā ar neseno griezuma tabulu šādi.

No reģistrācijas. Cena. Preventīvais (& dejotājs) kā cena par pārskaitījumu

Pirms pieprasījuma veikšanas noteikti ir nepieciešams nodot parametru. & Dataseca. Tagad vaicājuma rezultāts izskatīsies

Un beidzot iedomājieties, ka mums ir nepieciešams, lai saņemtu griezumu uz to pašu datumu ar nosacījumu, ka mums ir preces Zīmulisun piegādātājs Kancelejas preces. Lai to izdarītu, norādiet otro parametru vaicājumā.

No reģistrācijas. Cena. Preventīvais (& dejotājs, produkts \u003d un preces un piegādātājs \u003d & piegādātājs) kā PriceRext

Tā rezultātā mēs saņemam tikai vienu ierakstu

Lai nebūtu sajaukt visos šajos kronšteinos un komatos, labāk ir izmantot pieprasījuma dizaineru. Es jums parādīšu pēdējo vaicājumu piemēru.

Pēc tam, kad izvēlaties vaicājuma galda dizaineri ar pēdējā griezumu, jums ir noklikšķiniet uz pogas Virtuālā tabulas iestatījumi un logā, kas atvērts reģistrēties

Nav grūti uzminēt, ka pirmais darbības princips ir tāds pats, izņemot to, ka pirmais ieraksts tiek izvēlēts pēc griešanas datuma.

Divas virtuālās tabulas ir pieejamas periodiskām informācijas reģistriem: Gulēt un Sagriešana Apsveriet darbu ar šiem virtuālajiem tabulām, izmantojot 1C pieprasījumus. Daudz biežāk piemērota Sagriešana, tā kopā ar viņu un sāksim.

Pēdējās padziļinājumi ļauj iegūt jaunāko informācijas reģistra ierakstu uz norādīto datumu mērījumu kontekstā. Par griešanas tabulu pēdējā (pirmā) ir iespēja iekavās, lai norādītu divus parametrus caur komatu. Pirmajā parametrā tiek nosūtīts datums, uz kuru tiek veikts griezums (ja parametrs nenorāda, ka šķēle tiek veikta pašreizējā datumā). Otrais parametrs attēlo nosacījumu 1C vaicājuma valodā un ļauj instalēt dažādus izvēli. Parasti mērījumus izmanto šajos Seborāros. Tas viss izklausās pietiekami miglains, tāpēc bez piemēru jūs nevarat darīt.

Tāpēc ļaujiet mums būt periodisks informācijas reģistrs Cena kurā cenas tiek glabātas preču un piegādātāju kontekstā. Reģistra biežums ir diena.

Reģistram ir šādi ieraksti

Lai sāktu ar, mēs saņemsim pēdējo, neizmantojot parametrus pēc šī pieprasījuma.

Izvēlieties nodošanas cenu. Laika posms ir pēdējā cena. Produkts kā preces, pricertere-ilgstoša. Piegādātājs kā piegādātājs, cenu augšāmcelšanās. Summa ir par reģistra summu. Cenu. Circling kā tulkotāja cena

Tā kā parametri nav norādīti, griezums tiek veikts pašreizējā datumā - 01.02.2017. Tā rezultātā mēs saņemam šo tabulu

Periods | Produkts | Piegādātājs | Summa

01/25/2017 | Zīmulis | SIA "Lesprot" | piecpadsmit

02/01/2017 | Zīmulis | PJSC "Kancelejas preces" | 31.

02/01/2017 | Rokturis | PJSC "Kancelejas preces" | 145.

Šeit mēs redzam, ka mērīšanas preču kombinācija + piegādātājs ir unikāls, i.e. Katrai reģistra mērījumu kombinācijai tika veikts ieraksts ar maksimālo datumu, un ieraksta datums ir mazāks vai vienāds ar pašreizējo datumu.

Pieņemsim, ka mums ir jādara tāds pats, bet ieraksti, kurus mēs vēlamies saņemt ar datumu, kas ir mazāk vai vienāds ar 2017. gada 15. janvāri. Lai to izdarītu, jums ir nepieciešams mainīt virkni vaicājumā ar neseno griezuma tabulu šādi.

No reģistrācijām. Cenu. Cirka ilgstoša (& amp; dejotājs) kā konservēta cena

Pirms pieprasījuma veikšanas noteikti ir nepieciešams nodot parametru. & Dataseca. Tagad vaicājuma rezultāts izskatīsies

Periods | Produkts | Piegādātājs | Summa

01.01.2017 | Zīmulis | SIA "Lesprot" | 10

01.01.2017 | Zīmulis | PJSC "Kancelejas preces" | 27.

01/03/2017 | Rokturis | PJSC "Kancelejas preces" | 137.

Un beidzot iedomājieties, ka mums ir nepieciešams, lai saņemtu griezumu uz to pašu datumu ar nosacījumu, ka mums ir preces Zīmulisun piegādātājs Kancelejas preces. Lai to izdarītu, norādiet otro parametru vaicājumā.

No reģistrācijām. Cenu. Circling-ilgstoša (& amp; dejotājs, produkts \u003d & amp; Produkts un piegādātājs \u003d & amp; piegādātājs) kā tulkota cena

Tā rezultātā mēs saņemam tikai vienu ierakstu

Periods | Produkts | Piegādātājs | Summa

01.01.2017 | Zīmulis | PJSC "Kancelejas preces" | 27.

Lai nebūtu sajaukt visos šajos kronšteinos un komatos, labāk ir izmantot pieprasījuma dizaineru. Es jums parādīšu pēdējo vaicājumu piemēru.
Pēc tam, kad izvēlaties vaicājuma galda dizaineri ar pēdējā griezumu, jums ir noklikšķiniet uz pogas Virtuālā tabulas iestatījumi un logā, kas atvērts reģistrēties

Nav grūti uzminēt, ka pirmais darbības princips ir tāds pats, izņemot to, ka pirmais ieraksts tiek izvēlēts pēc griešanas datuma.

43
Nulles - trūkstošās vērtības. Nejauciet ar nulles vērtību! Null nav numurs, kas nav vienāds ar telpu, tukša saite, nenoteikta. Null - tipa veidošanas vērtība, ti.e. Ir nulles veids un vienīgā nozīme šāda veida. Nulles ... 26
Lai izveidotu un izpildītu vaicājumus datubāzes tabulās 1C platformā, tiek izmantots īpašs objekta programmēšanas valodas objekts. Šis objekts tiek izveidots, zvanot uz jaunu pieprasījumu. Pieprasījums ir ērts ... 18
Pants iepazīstina ar lietderīgām metodēm, strādājot ar pieprasījumiem 1c V.8.2, kā arī informāciju, kas nav tik labi pazīstama ar vaicājuma valodu. Man nav jācenšas sniegt pilnu pieprasījumu valodas aprakstu, bet es vēlos apstāties tikai uz ... 13
Tāpat - operators pārbauda virkni uz līdzīgu modeli. Analogā kā SQL. Tāds operators, kas ļauj salīdzināt vērtību izteikto pa kreisi no tā, ar virkni veidnes norādīto pa labi. Vērtība izteiksmes ...

Dažreiz jums ir nepieciešams pieprasījums saņemt no periodiskiem informācijas informācijas datiem par vairākiem datumiem nekavējoties. Tipisks piemērs strādā ar valūtas kursiem. Apsveriet algoritmu, lai atrisinātu šo uzdevumu par piemēru.

Problēmas formulēšana

Datu bāzē tika izveidots dokuments "Pakalpojuma ieviešana", kuras galvenē ir rekvizīti "Valūta". Katram dokumentam pieprasījums ir nepieciešams, lai saņemtu faktisko valūtas kursu no galvenes uz dokumenta datumu. Valūtas maiņas kursu uzglabāšana tiek veikta periodiskajā reģistrā "Carsivalyut".
Lēmums "pieres" šīs problēmas varētu būt pieprasījums ciklā: saņemt visus dokumentus ar datumiem un valūtām un paraugu pārsūdzēt uz virtuālo tabulu izlaišanas pēdējā reģistra "kursivilyut". Bet tāpēc, ka Pieprasījums ciklā ir "slikts", mēģiniet īstenot uzdevumu ar vienu pieprasījumu.

Lēmums

Lai atrisinātu problēmu, mēs izmantosim to, ka tabulas ir pieprasījumā var savienot ne tikai uz lauku vienlīdzību.

CHOOSE RealizatsiyaTovarovUslug.Ssylka, RealizatsiyaTovarovUslug.Valyuta, MAX (KursyValyut.Period) kā perioda VTPeriodyUstanovkiKursov izbāzt KĀ Dokument.RealizatsiyaTovarovUslug RealizatsiyaTovarovUslug kreisi pievienoties RegistrSvedeniy.KursyValyut Kā KursyValyut RealizatsiyaTovarovUslug.Valyuta \u003d KursyValyut.Valyuta Un RealizatsiyaTovarovUslug.Data\u003e \u003d KursyValyut.Period grupēti atbilstoši pakalpojuma ieviešanai. saite, ielas ieviešana. Svaltaa; //////////////////// / /////////////////////////////////////////////////1 //////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////-/////1) ///////////////////////////////////////////////////////////////////////////////////.. Wtperiodresostrovikurstovs.valtata, kursivalyut.Kurs no wtperiodorestorecars kā pārblīvēšanas institūcijas kreisā savienojuma reģistrā. Kashivalyuta kā krastoving tvaika nosaka iestatījumus. Periods \u003d coarsevalyut.period un clutterings montāžacurses.valtata \u003d coarsevaryut.valtata \u003d coarsevaryut.valta

Procedūra vaicājumā:

  1. Valūtas kursa iegūšana katram dokumentam. Dokumenti ir savienoti ar fizisko galdu "Kursivalyut". Šeit jums jāpievērš uzmanība savienojuma apstākļiem. Valūtām jābūt vienādām, un dokumenta datums\u003e \u003d informācijas reģistra periods.
    Šādas savienojuma rezultātā katram dokumentam tiks iegūti virknes, kas atbilst nosacījumam: visi valūtas maiņas kursa ieraksti ne vēlāk kā dokumenta datumā.
    Galīgais posms būs virknes grupēšana, lai iegūtu maksimālo kursa periodu. Rezultātā katram dokumentam tiks iegūts vajadzīgais kursa uzstādīšanas periods (maksimālais valūtas kursa uzstādīšanas datums, bet ne vairāk kā dokumenta datums). Rezultāts tiek ievietots pagaidu tabulā pārblīvēšanas sistēmu.
  2. Iegūstot kursu. Maksājumu pagaidu tabula ir savienota ar "Krasvalyut" fizisko tabulu. Savienojums notiek saskaņā ar dokumenta valūtu un kursa periodu, kas noteikta otrajā pagaidu tabulā.