Gruparea la momentul scrierii. Gruparea într-o interogare Vikoristan a constructorului de interogare

Gruparea la momentul scrierii. Gruparea într-o interogare Vikoristan a constructorului de interogare

Acest mecanism de alimentare servește la organizarea afișărilor câmpurilor de grup selectate.

De exemplu, pentru cea mai mare sarcină: calculați suma tuturor vânzărilor contrapărții pentru perioada, încasarea maximă și medie.

traversare suedeză

Sintaxa de baza:

VIBRAȚI<ГруппировочныеПоля>, <СУММА(<РасчетноеПоле>)>
Z<Источник>
A SE GRUPA CU
<ГруппировочныеПоля>

Rezultă că în directiva GROUP BY sunt duplicate toate câmpurile cu VIBRAȚIE, pe lângă cele care sunt sortate. Când adăugați un câmp în constructor, acesta va funcționa automat, doar adăugați-l singur cu mâinile, altfel veți fi avertizat: „Nu intrați în câmp înaintea grupului”.

Respect că valorile primitive (număr, dată, rând) și detaliile celor deja prezente în grup sunt rugate să fie adăugate fără obligație.

Toate funcțiile agregate zilnice pot fi, de asemenea, dezactivate, ceea ce va duce la vibrarea masacrului.

//Această interogare elimină numărul de nomenclaturi unice care au trecut prin depozitul de piele din sistem
VIBRAȚI
Mărfuri și materiale Zalishki. Depozit,
CALITATE(RIZNI ZALISHKITTMTS.Nomenclatura) Nomenclatura YAK,
1,
DATETIME(2017,1,12),
Mărfuri și materiale Zalishki. Depozit. Nume
Z
ÎnregistrareAcumulare. Articole de inventar Zalishki Articole de inventar YAK Zalishki

A SE GRUPA CU
Mărfuri și materiale Zalishki.Depozit

Funcții de grupare (agregare)

  • SUMA (<Поле>)
  • CALITATE(<Поле>)
  • CALITATE (RUSIA)<Поле>)
  • MAXIM (<Поле>)
  • MINIM (<Поле>)
  • MIJLOC(<Поле>)

Alte posibilitati de grupare

Este permisă utilizarea operatorilor matematici peste funcții de grupare (+,*,/,-), precum și designul VIBIR deasupra unității și în mijloc (în funcție de cerințe)

VIBRAȚI
,
SUMA (Solduri de inventarTurnover.AmountTurnover) YAK AmountTurnover,
AMOUNT(Solduri de mărfuri și materialeTurnover.QualityTurnover) YAKQualityTurnover,
VIBIR
KOLI AMOUNT(Excedent de mărfuri și materialeTurnover.QuantityTurnover) = 0
TODI 0
În caz contrar, SUMA (Solduri de inventar și materiale și cifra de afaceri. Suma cifrei de afaceri) / SUM (Baluri de stocuri și materiale și cifra de afaceri. Cantitatea cifrei de afaceri)
KINETS YAK Preț mediu
Z

A SE GRUPA CU
Cifra de afaceri a stocurilor rămase.Nomenclator

Fundul este umplut fără funcții:
VIBRAȚI
Cifra de afaceri a stocurilor rămase.Nomenclator
Z
ÎnregistrareAcumulare. Stocurile rămase.

A SE GRUPA CU
Cifra de afaceri a stocurilor rămase.Nomenclator

Puteți vicoriza agregatele peste tabele care sunt îmbinate, dar este recomandat să utilizați funcția NULL deasupra vicorist.

VIBRAȚI
RefNomenclature.Posilannya,
Є NULL (SUMA (Solduri de inventar și de materiale. Cifra de afaceri sumată), 0) YAK Suma
Z
Dovidnik.Nomenclatura YAK SprNomenclatura
CONEXIUNEA STANGA RegisterAcumulare. Stocurile rămase.
Software (rezerve de inventar și rotație de materiale. Nomenclatură = SprNomenclature. Posilannya)

A SE GRUPA CU

RefNomenclature.Posilannya

Gruparea în constructor

Întocmit cu un singur depozit.

  • Din câmpurile disponibile, selectați câmpurile de grup, precum și câmpurile subsumate (pentru fiecare, este selectată funcția de subsumare).
  • În mijloc există butoane pentru adăugarea sau eventual tragerea mouse-ului
  • Designerul alege singur funcția (asigurați-vă că vă verificați acțiunile)

Vrem să discutăm totul cu tine funcțiile filmului 1s, precum și construcții de interogări de film. Care este funcția designului? Funcția este activată cu brațele și posibilii lor parametri, iar designul este scris fără brațe. Nebun toate modelele și funcțiile interogărilor mov 1c pentru a încetini procesul de obținere a datelor care sunt atât flexibile, cât și bogat funcționale. Aceste funcții și modele sunt complet alimentate, iar funcțiile sunt, de asemenea, complet alimentate.

Funcțiile filmelor 1s

Fragmente dintr-o descriere înțeleaptă Funcția film 1c Este acoperit mult mai devreme, sub descrierea designului, am decis să începem să ne uităm la funcțiile în sine. Acum să aruncăm o privire mai atentă, descriindu-i sensul, sintaxa și aplicația și așa mai departe:

1. Funcţie DATA ORA- Această funcție creează un câmp constant de tip „Date”.

Sintaxă: DATA ORA(<Год>,<Месяц>,<День>,<Час>,<Минута>,<Секунда>)

fundul Vikoristan:

2. Varietate de funcții- Rotește diferența a două date într-o dimensiune (zi, lună, zi, an, an, secundă). Valoarea este transferată la parametru.

Sintaxă: REALIZEDDAT(<Дата1>, <Дата2>, <Тип>)

fundul Vikoristan:

Request.Text = "VIBRATI | REZNESTDAT(DATETIME(2015, 4, 17), DATETIME(2015, 2, 1), DAY) | YAK Kolvodniv";

3. Funcția VALUE- specifica un camp constant cu o inregistrare pre-valorizata din baza de date, este posibil si eliminarea unui mesaj gol de orice tip.

Sintaxă: VALUE(<Имя>)

fundul Vikoristan:

Request.Text = "VIBRATI //element de zoom | VALUE(Dovidnik.Currency.Dolar) YAK Dollar, //mesaj gol | Physioba) YAK PhysOblichya, // zoom rahunok |

4. Funcția VIBIR- Avem în fața noastră un analog al designului care este corectat în cod, așa cum este corectat în interogările 1C.

Sintaxă: VIBIR KOLI<Выражение>TODI<Выражение>In caz contrar<Выражение>KINETS

fundul Vikoristan:

Solicitare.Text = //dacă suma este mai mare de 7500, atunci poate exista o reducere de 300 de ruble, //de aceea este utilizată funcția //întoarce suma - 300 //în același mod se va transforma pur și simplu suma "VIBRATI | VIBIR | CÂND PM Nadhodzhenya .Suma > 7500 | TODI TCHNadhodzhennya.Suma - 300 | Inakshe TCHNadkhodzhennya.Suma |

5. Functia VIRASITI- vă permite să exprimați un câmp constant cu un tip de melodie.

Sintaxă: VIRAZITY(Nume câmp YA Tip Nume)

fundul Vikoristan:

Query.Text = "VIBRATI RIZNI | Sales.Registrar.Number, | VIBIR | WHEN Sales.Registrar POSILANNYA Document.Vidatkova | implementare | TODI VIRAZITI (Sales.Registrar YAK Document.Implementation) | KINETS | ... | K ІNETS YAK Number | Z | RegisterAcumulare.Achiziții YAKPurchased";

O altă opțiune este să folosiți funcția VARIATE în câmpuri de tipuri mixte, unde se apropie? Cel mai simplu exemplu este „Registrul” pentru orice registru. Atunci ar putea fi nevoie să verificăm tipul cu registratorul? Să aruncăm o privire asupra situației, dacă selectăm câmpul „Număr” de la registrator, din ce tabel se va trece numărul? Răspunsul corect este de la toată lumea! Prin urmare, pentru a putea efectua procedura, trebuie să specificăm un tip explicit pentru funcția suplimentară a VIRASITI

fundul Vikoristan:

Req.Text = "VIBRATI | VIRASITI(Nomenclature.Comment YAK Row(300)) YAK Comment, | VIRAZITI(Nomenclature.Sum YAK Number(15,2)) YAK Sum |Z | Dovidnik.Nomenclature YAK

6. Funcția ISNULL(ortografiat alternativ NULL) - dacă câmpul este de tip NULL, acesta este înlocuit cu un alt parametru de funcție.

Sintaxă: Є NULL (<Поле>, <ПодставляемоеЗначение>)

fundul Vikoristan:

De asemenea, este important ca tipul NULL să fie înlocuit FIRST ca valoare, deoarece Echivalarea tipului NULL duce întotdeauna la prostii, deoarece echivalați NULL cu NULL. Cel mai adesea, valorile NULL sunt adăugate la tabelul de unire (toate tipurile sunt unite, cu excepția celui intern).

Interogare.Text = //Selectați întreaga nomenclatură și surplusul pentru aceasta //dacă există un surplus în oricare dintre nomenclaturi va fi un câmp //NULL pentru a fi înlocuit cu valorile 0 „SELECT | Nom .Posylannya, | Zalishok |Z |Dovdnik.Nomenclatura YAK Nom |Live Z'ednannya RegisterAccumulation.GoodsInWarehouses.Suspended YAK GoodsInWarehousesZalishki |PZ (ProductsInWarehousesZalishki.Nomenclature = Nom.Posilannya)";

7. Funcția REPREZENTARE- vă permite să introduceți un anumit câmp într-o solicitare.

Sintaxă: REPREZENTANT(<НаименованиеПоля>)

fundul Vikoristan:

Request.Text = "VIBRATI | REPRESENTATION(Viln_ZalishkiZalishki.Nomenclature) YAK Nomenclature, | REPRESENTATION(Viln_ZalishkiZalishki.Warehouse) YAK Warehouse, |

Modele pentru mov zapitiv 1s

Cel mai mult ne-am uitat la tine funcțiile filmului 1s, acum a sosit momentul să aruncăm o privire modele pentru mov zapitiv 1s, duhoarea nu este mai puțin importantă decât rădăcinile, să începem.

1. Design POSILANNYA- este un operator logic pentru verificarea tipului de mesaj. Cel mai adesea apare atunci când se verifică câmpul unui tip pliat pentru un anumit tip. Sintaxă: POSILANNYA<Имя таблицы>

fundul Vikoristan:

Interogare.Text = //deoarece tipul de valoare al registratorului este documentul lui Pributkov, //apoi va fi scris pe rând „Fiabilitatea mărfurilor”, altfel „Vânzări de mărfuri” „VIBRATI | VIBIR | WHEN Zalishki.Registrar POSILANNYA Document . "" Vitrata "" | KINETS YAK Vidi ruhu | Z | Acumularea registrului.

2. Design МІж- Acest operator verifică și introduce valorile indicațiilor intervalului.

Sintaxă: MIZH<Выражение>І<Выражение>

fundul Vikoristan:

Solicitare.Text = //eliminarea tuturor nomenclaturii, al cărei cod se află în intervalul de la 1 la 100 "VIBRATI | Nomenclatură. Posilannya | Z | Dovidnik. Nomenclatura YAK Nomenclatura | DE | Nomenclatură.

3. Design B și B ІЄARCHY- verificați dacă valorile sunt în lista care este transferată (deoarece matrice, tabele de valori etc. pot fi transferate în listă). Operatorul B ІЄARCHY vă permite să vizualizați ierarhia (exemplu al Planului Vikoristan Rakhunkiv).

Sintaxă: ÎN(<СписокЗначений>), ÎN ІЄARCHІЇ(<СписокЗначений>)

fundul Vikoristan:

Solicitare.Text = // selectați toate subrahunki rakhunkovy "VIBRATI | Gosprozrakhunkovy. Posilannya YAK Rakhunok | Z | Plan Rakhunok. Gosprozrakhunkovy YAK Khozrozrakhunkovy | DE | Gosprozrakhunkovy.

4. CONSTRUCȚIE SPECIAL- Această funcție ne permite să rotim un rând dintr-un șablon de rând.

Sintaxă: SUPERB"<ТекстШаблона>"

Opțiuni de model de rând:

% - Secvență care poate găzdui cât mai multe simboluri.

Un simbol este suficient.

[...] - fie el un singur simbol, sau o succesiune de simboluri din brațele pătrate situate în mijloc. Rearanjarea poate fi setată la intervale, de exemplu a-z, ceea ce înseamnă ultimul caracter care merge înaintea intervalului, inclusiv capetele intervalului.

[^...] - fie un singur simbol, fie o succesiune de simboluri din lista din mijlocul brațelor pătrate, precum și cele enumerate în spatele semnului crucii.

fundul Vikoristan:

Solicitare.Text = //știm întreaga nomenclatură a modului în care se plasează rădăcina TABUR și începe //fie cu o literă mică, fie cu o literă mare „VIBRATI | Nomenclatură. Posilannya | Z | Nomenclatura YAK Nomenclatura | DE | Produse. Denumirea SIMILAR "" [Tt ]abur%""";

5. CONSTRUCȚIE PERMISĂ- Acest operator vă permite să selectați înregistrări din baza de date unde aveți dreptul de a citi. Aceste drepturi nu pot fi ajustate la nivel de înregistrări (RLS).

Sintaxă: PERMIS să fie scris după cuvântul cheie VIBRATE

fundul Vikoristan:

Request.Text = "PERMISIUNE VIBRATI | Counterparty.Posilannya |Z | Dovidnik.Counterparty YAK Counterparty";

6. Construcția mărimii- vă permite să selectați intrări care au intrări repetate zilnic.

Sintaxă: ІЗНІ este scris după cuvântul cheie VIBRATE

fundul Vikoristan:

Solicitare.Text = // selectează înregistrările pentru care cititorul are drepturi „VIBRATIYIZNI | Counterparties. Nume | Z | Adviser. Counterparties YAK Counterparties”;

De asemenea, Construcția RIZNI poate fi utilizată împreună cu operatorul PERMIS și alți operatori.

fundul Vikoristan:

Request.Text = // selectează diferite înregistrări pentru care drepturi deține cititorul „SELECT PERMISIUNI | Counterparties. Nume | Z | Avocat. Counterparties YAK Counterparties”;

7. Design PERSHI- selectează numărul de înregistrări specificat în parametru din rezultatul interogării.

Sintaxă: PERSHI<число>

fundul Vikoristan:

Cerere Text = // Selectați primele 4 numere ale VMD din documentul „VIBRAȚI PRIMILE 4 | Numerele VMD. Posilannya | Z | Documentul.

8. Design pentru schimbare- vă permite să blocați un tabel, care funcționează și în tranzacții (în special blocare automată).

Sintaxă: PENTRU MINTE<НаименованиеТаблицы>

fundul Vikoristan:

Cap.Text = „REVER |

9. Construcție COMANDA DE- pune datele în ordine în funcție de câmpul de cânt. Deoarece câmpul este un mesaj, atunci când instalați ensign Auto-aranjare baie Dacă se introduce steagul, atunci mesajele vor fi sortate după vechimea adresei poștale din memorie.

Sintaxă: ÎN ORDINE<НаименованиеПоля>Auto-aranjare baie

fundul Vikoristan:

Solicitare.Text = "VIBRATI | Vilni Zalishki Zalishki. Nomenclatura YAK Nomenclatura, | Vilni Zalishki Zalishki. CHIVANNYA";

10. Design GROUP BY- este folosit pentru gruparea rândurilor din spatele câmpurilor de cânt. Câmpurile numerice pot fi încălcate de orice funcție agregată.

Sintaxă: A SE GRUPA CU<НаименованиеПоля1>, .... , <НаименованиеПоляN>

fundul Vikoristan:

Solicitare.Text = "VIBRATI | BunuriInDepozite.Nomenclatura YAK Nomenclatura, | BunuriInDepozite.Depozit, | depozite.Depozit";

11. Design MAYUCHI- vă permite să setați funcția agregată a creierului de colectare a datelor, similar cu designul DDE.

Sintaxă: MAYUCHI<агрегатная функция с условием>

fundul Vikoristan:

Interogare.Text = // selectează înregistrări grupate din câmpul Este evident mai mult de 3 "VIBRATI | Mărfuri în depozite. Nomenclator YAK Nomenclator, | Mărfuri în depozite. depozit, | SUM (Mărfuri în depozite. | Mărfuri în depozite. Nomenclator, | Mărfuri în depozite. Depozit | |MIYUCHI|SUMA(Articole ÎnDepozite.InDisponibilitate) > 3" ;

12. Design INDEXUVATI BY- Câmpul de căutare este folosit pentru indexare. Căutarea câmpurilor indexate va fi finalizată înainte de indexare. De asemenea, puteți vikoriza mese virtuale.

Sintaxă: INDEXUVATI BY<Поле1, ... , ПолеN>

fundul Vikoristan:

Solicitare.Text = „VIBRATI | Tz. Numele sistemului de operare, | Tz. Număr folder, | Tz. CodeOS, | Tz. Termen, | Tz. Tip | ENTER Data Tz | .KodOS”;

13. Design DE- vă permite să influențați mintea, fie că este vorba de câmpurile de alegere. Ca urmare, înregistrările care satisfac doar mintea sunt irosite.

Sintaxă: DE<Условие1 ОператорЛогСоединения УсловиеN>

fundul Vikoristan:

Request.Text = //selectează toate intrările din orice CompensationExcess<>0 і //AmountForRozchCompRemaining > 100 "VIBRATI | CompensationRRemains.Counterparty, | CompensationRRemains.Ditina, | CompensationRResults.CompensationRemaining, | CompensationRpostach. Statti YAK CompensationRPostacs |DE |CompensationRPOsurplus atsion.RPO<>0 | І CompensationRPORemains.AmountForRozchCompRemaining > 100" ;

14. Designul gentii... IN SPATEA COPEREI- designul specifică câmpurile care sunt afectate de saci și funcțiile agregate care sunt setate la câmpurile saci. Când nu există pungi pe câmpul pielii după proiectarea pungii, se realizează o grupare de date. Construcția discretă a capacului și structura vor asigura, de asemenea, o grupare suplimentară. Fundul rezultatului va fi spălat și coborât.

Sintaxă: SACI<АгрегатнаяФункция1, ... , АгрегатнаяФункцияN>PZ<ОБЩИЕ> <Поле1, ... , ПолеN>

fundul Vikoristan:

Solicitare.Text = „VIBRATI | Rozrahunki.Acord cu contrapartea.Tipul contractului YAK TipDogovir, | Rozrahunki.Acordul cu contrapartea Tratatul YAK, | Rozrahunki.Contrapartea, |

Cercul mic înconjoară grupările care au fost create în timpul căutării finale, în special mergând la secțiunea ÎNAPOI, iar celălalt la câmpul Contractul către contraparte la Contract.

; Depozite (în dezvoltare).

Fiabilitatea bunurilor și serviciilor.

File noi: Gruparea

Partea teoretică a lecției nr. 5

Gruparea la o înregistrare este combinația mai multor rânduri de selecții într-unul singur, în care sunt selectate două tipuri de câmpuri:

  • grup. Rânduri, în care seturi de aceste câmpuri capătă noi valori, un rând arde;
  • Grupate. Pentru rândurile arse, aceste câmpuri necesită funcții de agregare suplimentare:
    • Suma. Valorile câmpului se aplică tuturor rândurilor grupate;
    • Seredne. Valoarea mijlocie a câmpului din mijlocul rândurilor grupate este acoperită;
    • Maxim. Se calculează valoarea maximă a câmpului din mijlocul rândurilor grupate;
    • Minim. Se calculează valorile minime ale câmpului din mijlocul rândurilor grupate;
    • Cantitate. Se calculează numărul de rânduri grupate, indiferent de câmpul setat această funcție agregată;
    • Număr de diferite. Se calculează numărul de valori diferite ale acestui câmp pentru toate rândurile grupate.

Exemplul 1. Să creăm un tabel cu două câmpuri: Fructeі Cantitate. Grupați rândurile cu aceleași fructe și frecați un strat subțire peste fiecare fruct.

Voi pune câmpul în spatele creierului Fructe- grup, și câmpul Cantitate- grupate în spatele unei funcții agregate suplimentare Suma.

După grupare, tabelul nostru va arăta astfel:

Exemplul 2. Într-un depozit, fructele sunt depozitate în cutii, cutii etc. Fragmentele de fructe au ajuns în loturi diferite, a căror calitate poate varia. Obțineți prețuri maxime pentru fructe în recipiente tip piele.

Astfel, avem un tabel cu trei câmpuri Fructe, Tara, Preț. Este necesar să grupați rândurile după câmpuri Fructeі Tara, și peste câmp Preț distrează-te Maxim.

În acest exemplu, avem două câmpuri de grup și un câmp de grup. După grupare, tabelul nostru va arăta astfel:

Acum putem vedea cum este implementat mecanismul de grupare în designerul de interogări 1s. În designer, accesați fila Gruparea, este format din trei secțiuni:

  • Câmpuri (cadru roșu). Această secțiune conține toate câmpurile disponibile pentru grupare. Aceste câmpuri sunt tabelul de selecții din depozit Tabele și câmpuri. Acestea trebuie împărțite între următoarele două secțiuni;
  • Câmpuri de grup(cadru verde). In aceste sectiuni este necesar sa tragi (cu mouse-ul sau in spatele butoanelor) campurile in spatele carora se va realiza gruparea;
  • Câmpuri grupate(cadru albastru). În această secțiune, trebuie să trageți (cu mouse-ul sau butoanele) câmpurile ale căror valori vor fi acoperite de funcții agregate suplimentare. Această secțiune este un tabel, în care prima coloană conține câmpul care este grupat, iar în cealaltă coloană funcția de agregare este selectată din listă.

Dacă observați că, dacă grupați o interogare, atunci trebuie să împărțiți toate câmpurile selectate între secțiuni grupі grupează-te. Dacă nu câștigați nimic, atunci câmpurile care sunt pierdute vor merge automat la divizii gruparea. Nu este posibil să se creeze câmpuri care sunt create manual și să se modifice câmpuri din tabel (seriale și numerice, de exemplu). Ele nu sunt neapărat incluse în grupare; unele dintre valorile lor sunt, totuși, incluse în toate rândurile selecției.

Partea practică a lecției nr. 5

Să ne uităm la soluția problemei de la începutul lecției. Voi ghici:

Comanda: scade suma datorata pentru fluxul curent, defalcata pe luna. Pentru a extrage date din date, trimiteți documente Fiabilitatea bunurilor și serviciilor.

  • Creați unul nou;
  • Să lansăm constructorul de interogare;
  • Masa Vibemo Fiabilitatea produselor și serviciilor de la Gilki Documente;
  • De la masă Fiabilitatea produselor și serviciilor câmpuri de vibrații Dataі suma documentului;
  • Câmp vizibil Data apasa butonul Schimbați elementul de curgere, pentru a-l deschide în editorul de limbi suplimentare;

  • În separat Funcțiile prompturilor de film o cunoaștem pe Gilka Robotul funcționează cu date;
  • Cu aceste unghii le vom trage în secțiune folosind funcția Lunăși parametru înlocuibil Data Am creat un câmp cu data descoperirii;

  • Faceți clic pe butonul OK din partea de jos a editorului de expresii suplimentar;
  • Să mergem la filă Comunicare / Aliasuri poate fi inserat pentru câmpul cu numărul lunii și alias Lună;

  • Să mergem la fila Umovi;
  • În separat Câmpuri, deschide sticla Fiabilitatea produselor și serviciilor pentru ajutor suplimentar, utilizați butonul „+”;
  • Cunoaștem recuzita DataȘi să-l trageți în secțiunea de spălare, selectați operatorul de egalizare întreși, de exemplu, parametrii pentru începutul și finalizarea rocii, de exemplu Roku cobі Sfârșitul destinului;
  • Din sectiune Câmpuri putem trage recuzita Dirijată, să punem steagul lângă rând Mai multȘi acum îmi voi lua o parte din minte „= &Performed”;
  • Să mergem la filă Gruparea;
  • La divizie câmpuri de grup câmpul va fi depășit MІSYATS (Serviciul de disponibilitate a produsului. Data), și împărțit câmpuri grupatePrimirea BunurilorServiciul.SumaDocument. După instalare, instalați funcția unității Suma, acum suntem complet sub control;


  • Scrierea este finalizată, apăsați butonul Bine, pentru a închide constructorul de interogare;

Ca urmare, va fi eliminat din textul următor.

Alimente Ocolirea cererii prin grupare, deoarece datele sunt colectate din cerere cu designul PAD PACK PZ. Este posibil să fie necesar să se organizeze un ciclu în care matricea de contracte să se formeze între Contrapărți și Adrese de Livrare. Cum poți câștiga bani?
Vіdpovid Noi scriem:

1C (Cod)

Zapit . Text = „VIBRAȚI // Adresele de livrare sunt incluse în „VIRAZITY”, deoarece în metadatele Adresei de livrare - un rând de dovzhin necircumscris și cum să nu îl convertești într-un rând de dozhin închis, //atunci va fi imposibil să vikorizați în designul „PODBAGS” // Respingem notificările despre mila minții " Câmp nevalid pentru grupare" |DE | Aranjamente pentru Avansare.Efectuat | |Comandă după |PIDBAGS ON | contrapartidă, | Adrese de livrare";

Zapit< spanclass="k" > . < /span>Text< spanclass="k" > =< /span>

< spanclass="s" >„VIBRAȚI

„> | usStatusDocuments.Status Stare YAK,

„>// Adresele de livrare sunt incluse în „ VIRAZITATE ", deoarece în metadatele Adresei de livrare există un rând de dovzhin necircumscris și cum nu poate fi convertit într-un rând de dovzhin circumscris,

„>// Respingem notificarea despre mila minții”< strong>Câmp nevalid pentru grupare< /strong> "

| VIRAZITI(usDeliveryNaVidvantazhennya.DeliveryAddressYAKROW(350))YAKDeliveryAddresses

| Registrul Vizualizărilor.usStarea documentelor YAK usStarea documentelor

„> | ON usStatusDocument.Document = usaControlNaVidvantazhenya.Posilannya

|DE

|

|Ordonează după

|PIDBAGS ON

| contrapartidă,

; < /span>

Rezultatul acestei interogări va fi o colecție de date care arată cam așa:

Antreprenorul 1

  • Adrese de livrare1

Antreprenorul 1

  • Adrese de livrare2

Contrapartea 2

  • Adrese de livrare3

Acum trebuie să selectăm trei matrice:
- Cererea 1, Cererea 2, Cererea 3
- Ordinul 4, Ordinul 5
- Cererea 6
Pentru a elimina aceste matrice, este necesar să ocoliți comanda „Grupare cu ierarhie”:

1C (Cod)

Metoda de selecție = BypassResultRequest .În spatele grupărilor sub ierarhie ; Rezultat = Zapit .Viconati(); VibirkaPershogoRivnya = Rezultat . Vibrati ( Metoda de selecție ); Buwai VibirkaPershogoRivnya . ofensator () Ciclu VibirkaAlt oraș = VibirkaPershogoRivnya . Vibrati ( Metoda de selecție ); msvzamovlen . clar (); Buwai VibirkaAlt oraș . ofensator () Ciclu // la mijlocul nivelului de piele al ierarhiei, ordinea este în ordine: „Creat”, „La locul de muncă”, „Lucrare în curs”, „Pregătit pentru extindere” (ordinea instalațiilor în reorganizare în sine este în aceasta comanda) Vibirka din a treia Rivnya = VibirkaAlt oraș . Vibrati ( BypassResultRequest . Drept ); Buwai Vibirka din a treia Rivnya . ofensator () Ciclu // la mijlocul nivelului de piele al ierarhiei, ordinea este în ordine: „Creat”, „La locul de muncă”, „Lucrare în curs”, „Pregătit pentru extindere” (ordinea instalațiilor în reorganizare în sine este în aceasta comanda) msvzamovlen . Adăuga ( Vibirka din a treia Rivnya . Posilannya ); KinetsCycle; Formula Vidbir Pentru acorduri ( msvzamovlen ); KinetsCycle; KinetsCycle;

Metoda de selecție< spanclass="k" > =< /span>BypassResultRequest< spanclass="k" > . < /span>În spatele grupărilor sub ierarhie< spanclass="k" > ; < /span>

Rezultat< spanclass="k" > =< /span>Zapit< spanclass="k" > . < /span> < spanclass="k" >Viconati< /span> < spanclass="k" > (< /span> < spanclass="k" > ) < /span> < spanclass="k" > ; < /span>

VibirkaPershogoRivnya< spanclass="k" > =< /span>Rezultat< spanclass="k" > . < /span>Vibrati< spanclass="k" > (< /span>Metoda de selecție< spanclass="k" > ) < /span> < spanclass="k" > ; < /span>

< spanclass="k" >Buwai< /span>VibirkaPershogoRivnya< spanclass="k" > . < /span>ofensator< spanclass="k" > (< /span> < spanclass="k" > ) < /span> < spanclass="k" >Ciclu< /span> < spanclass="c" > // la mijlocul nivelului de piele al ierarhiei, ordinea este în ordine: „Creat”, „La locul de muncă”, „Lucrare în curs”, „Pregătit pentru extindere” (ordinea instalațiilor în reorganizare în sine este în aceasta comanda)

VibirkaAlt oraș< spanclass="k" > =< /span>VibirkaPershogoRivnya< spanclass="k" > . < /span>Vibrati< spanclass="k" > (< /span>Metoda de selecție< spanclass="k" > ) < /span> < spanclass="k" > ; < /span>

msvzamovlen< spanclass="k" > . < /span>clar< spanclass="k" > (< /span> < spanclass="k" > ) < /span> < spanclass="k" > ; < /span> < spanclass="c" > // S-a șters înainte de a-l adăuga pe primul pe listă

< spanclass="k" >Buwai< /span>VibirkaAlt oraș< spanclass="k" > . < /span>ofensator< spanclass="k" > (< /span> < spanclass="k" > ) < /span> < spanclass="k" >Ciclu< /span> < spanclass="c" > // la mijlocul nivelului de piele al ierarhiei, ordinea este în ordine: „Creat”, „La locul de muncă”, „Lucrare în curs”, „Pregătit pentru extindere” (ordinea instalațiilor în reorganizare în sine este în aceasta comanda)

Vibirka din a treia Rivnya< spanclass="k" > =< /span>VibirkaAlt oraș< spanclass="k" > . < /span>Vibrati< spanclass="k" > (< /span>BypassResultRequest< spanclass="k" > . < /span>Drept< spanclass="k" > ) < /span> < spanclass="k" > ; < /span> < spanclass="c" > // este posibil ca parametrul să nu fie transmis, în funcție de metoda de selecție directă

< spanclass="k" >Buwai< /span>Vibirka din a treia Rivnya< spanclass="k" > . < /span>ofensator< spanclass="k" > (< /span> < spanclass="k" > ) < /span> < spanclass="k" >Ciclu< /span> < spanclass="c" > // la mijlocul nivelului de piele al ierarhiei, ordinea este în ordine: „Creat”, „La locul de muncă”, „Lucrare în curs”, „Pregătit pentru extindere” (ordinea instalațiilor în reorganizare în sine este în aceasta comanda)

msvzamovlen< spanclass="k" > . < /span>Adăuga< spanclass="k" > (< /span>Vibirka din a treia Rivnya< spanclass="k" > . < /span>Posilannya< spanclass="k" > ) < /span> < spanclass="k" > ; < /span>

< spanclass="k" >KinetsCycle< /span> < spanclass="k" > ; < /span>

Formula Vidbir Pentru acorduri< spanclass="k" > (< /span>msvzamovlen< spanclass="k" > ) < /span> < spanclass="k" > ; < /span> < spanclass="c" > // Aici selectăm tablourile necesare într-o buclă: [cererea 1, cererea 2, cererea 3], apoi [cererea 4, cererea 5] și [cererea 6]

< spanclass="k" >KinetsCycle< /span> < spanclass="k" > ; < /span>

< spanclass="k" >KinetsCycle< /span> < spanclass="k" > ; < /span>

Notă. Construcție „ORDIN CONFORM STATUTULUI DOCUMENTE. Stare. Comanda” se va aplica in mijlocul masei de piele, apoi. Solicitările vor fi ordonate în funcție de starea pielii și a masivelor îndepărtate.

Pentru a vă asigura că pungile sunt despachetate, urmați descrierea din secțiunea Configurator

Îmi voi spăla pungile

Propunerea PIDBAGS vă permite să determinați dimensiunea pungilor necesare pentru spălare. Pe măsură ce rezultatele sunt analizate, valorile funcțiilor agregate din spatele eșantioanelor sunt calculate cu noile valori ale câmpurilor - puncte de control. Pungile sunt adăugate la rezultat ca și rânduri de pungi.

Procedura de despachetare a pungilor este descrisă în conformitate cu următoarele reguli:

<Описание итогов>

<Итоги> [<Список агрегатных функций>]

<Итоги>

genți [<Список итоговых_полей>] DE [ZAGALNI]<Список контрольных точек>

<Список итоговых_полей>

<Итоговое_поле> [,<Список_итоговых_полей> [, …]]

<Итоговое_поле>

<Агрегатная_функция> | <Выражение>[[YAK]<Псевдоним_поля>]

<Список контрольных точек>

<Контрольная точка> [, <Контрольная точка> [, …]]

<Контрольная точка>

<Выражение>[[TILKI] ІЄARARHIE] | [PERIOADE (A doua | Khvilina | An | Zi | Săptămâna | Lună | Trimestru | Râu | Deceniu | Pivrichcha
[,<Литерал типа DATE> | <Идентификатор параметра>]
[,<Литерал типа DATE> | <Идентификатор параметра>])] [[YAK] Alias ​​de câmp]

Descrierea pungilor începe cu cuvântul cheie obligatoriu PIDBAGS.

<Список агрегатных функций>conțin o listă de funcții agregate care trebuie acoperite în pungi. Funcțiile agregate sunt văzute în .

Pe lângă rezultatele ascunse, puteți seta defalcarea rezultatelor pe puncte de control. Pentru care după cuvântul cheie obligatoriu este necesar să se introducă<Список контрольных точек>. Kožna<Контрольная точка>răzbuna<Выражение>, care se calculează la ora scrierii. În funcție de combinația de piele, valorile acestor viruși vor fi rezolvate, iar rezultatele vor fi aplicate pe rândurile de pungi.

Deoarece punctul de control este un câmp - un subcontur al registrului contabil, atunci când punctul de control este eliminat, valorile NULL vor fi ignorate.

Funcțiile agregate ale interogărilor dvs

În interogările noastre, este transferată funcția de agregare, care va fi folosită pentru gruparea rezultatelor și va fi folosită pentru filtrarea pungilor. Funcțiile agregate sunt utilizate pentru a defini valoarea parametrului specificat. Sunt desemnate următoarele funcții agregate:

<Агрегатная функция>

SUMA (<Выражение>) |
MIJLOC (<Выражение>) |
MINIM (<Выражение>) |
MAXIM (<Выражение>) |
CALITATE ([SIZE]<Выражение> | *)

fund:

Vibrati
Factură.Nomenclatură.Nume,
Suma (Factură.Suma) Yak Suma,
Serednє (Factură. Sumă) Yak Serednє,
Maxim (Factură. Sumă) Yak Maxim,
Minimum (Factură.Suma) Yak Minimum,
Kilkist (Factură. Sumă) Yak Kilk

Z

A se grupa cu
Nomenclatură.

Pungi Zagalni

Rezultatul se scrie:

Nume Suma Seredne Maxim Minim Kilk
265 955,45 12 511,12 40 000,23 555 8
Pantaloni pentru copii 28 500,22 9 500,07 15 000 3 000 3
Cămașă „Cowboy” 24 000 8 000 16 000 4 000 3
Blugi femei 63 555 6 355,5 30 000 555 10
Sveter Childish 6 400 6 400 6 400 6 400 1
Chiuvetă „Lilia” 60 000,23 30 000,115 40 000,23 20 000 2
Miidodir „Acvariu” 65 500 21 833,33 40 000 8 000 3
Zmishuvach „Ultra” 15 000 15 000 15 000 15 000 1
Robot de bucatarie Krups 3 000 3 000 3 000 3 000 1

Funcțiile agregate pot fi incluse în lista de câmpuri de selecție, propoziții MAYUCHI, PIDBAGS, ORDER BY.

Funcția agregată SUMA

Funcția calculează suma aritmetică a tuturor valorilor câmpurilor care au fost utilizate în selecție.

Ca parametru de funcție, îl puteți specifica fără un câmp pentru a reprezenta o valoare numerică.

Dacă un câmp nu poate găzdui valori numerice, setarea funcției SUM la un astfel de câmp provoacă o resetare. Dacă câmpul poate conține valori numerice (este un tip de date de depozit), atunci această funcție poate fi stivuită într-un astfel de câmp. Dacă valoarea de mijloc a câmpului din selecție devine nenumerică (inclusiv valoarea NULL), aceasta declanșează o resetare.

Funcția agregată MEDIU

Funcția calculează valoarea medie a tuturor valorilor câmpurilor care au fost utilizate în selecție.

Ca parametru de funcție, îl puteți specifica în câmpurile care conțin valori numerice.

Dacă un câmp nu poate găzdui valori numerice, atunci setarea funcției MEDIU la un astfel de câmp va declanșa o resetare. Dacă câmpul poate conține valori numerice (este un tip de date de depozit), atunci această funcție poate fi stivuită într-un astfel de câmp. Dacă valoarea de mijloc a câmpului din selecție devine nenumerică (inclusiv valoarea NULL), aceasta declanșează o resetare.

Funcția agregată MINIM

Funcția calculează valorile minime ale tuturor valorilor câmpurilor care s-au pierdut în selecție.

Când valoarea minimă este setată, regulile de egalizare a valorii descrise în .

Funcția agregată MAXIM

Funcția calculează valoarea maximă a valorii totale a câmpului care a fost pierdută în selecție.

Ca parametru al unei funcții, puteți specifica intrări în câmpuri pentru a atribui valori oricărui tip.

Când valoarea maximă este setată, regulile de egalizare a valorii descrise în .

Funcția agregată CALITATE

Funcția ajustează cantitatea de valoare a parametrului care a fost pierdută în selecție. Pe lângă alte funcții agregate, funcția CALITATE permite trei metode de modificare.

  • În primul rând, funcția vă permite să protejați numărul de valori ale câmpului specificat care nu sunt egale cu NULL.
  • Într-un alt mod, funcția vă permite să protejați numărul de valori diferite ale câmpului specificat care nu sunt egale cu NULL. În acest scop, înainte de a specifica câmpul, trebuie să specificați cuvântul cheie RIZNI.
  • În al treilea rând, funcția vă permite să protejați numărul de rânduri din rezultatul căutării. Pentru acest parametru de funcție trebuie să introduceți o stea „*”.

Ca parametru al unei funcții, puteți specifica intrări în câmpuri pentru a atribui valori oricărui tip.

fund:

VIBRAȚI
Kilkіst (*) Yak Totul,
Cantitate (Factura Rizni. Nomenclator) Yak Rizni

Z
Document.Factura Vitratna.Factura Depozit Yak

Rezultatul se scrie:

Usyogo Masacru
24 8

Rozrakhunok zagalnyh pіdsumki

Pentru a organiza pungile de-a lungul tabelului, introduceți cuvântul BACKGROUND în propoziția PIDBAGS. Acest tip va calcula valorile funcțiilor agregate pentru toate înregistrările din tabel.

fund:



GANTĂ (Kіlkіst)

Rezultatul se scrie:

Produs Cantitate Număr Oderzhuvach
238
Atingeți 10 ARN-1 Uryupinskorg
Atingeți 8 ARN-3 Mag. "Gospodar"
Atingeți 44 ARN-4 Mag. "Gigant"
Atingeți 22 ARN-5 Uryupinskorg
Vantus 5 ARN-1 Uryupinskorg
Vantus 1 ARN-3 Mag. "Gospodar"
Vantus 14 ARN-4 Mag. "Gigant"
Steele 1 ARN-1 Uryupinskorg
Steele 15 ARN-2 Mag. "Mobila"
Steele 10 ARN-4 Mag. "Gigant"
Stilete 55 ARN-2 Mag. "Mobila"
Stilete 5 ARN-3 Mag. "Gospodar"
Stilete 32 ARN-4 Mag. "Gigant"
Stilete 16 ARN-5 Uryupinskorg

Expresii logice în interogările dvs

Există concluzii logice în căutările noastre în operațiunile de alegere și în mintea selecțiilor:

<Логическое выражение>

<Выражение> |
<Выражение> <Операция сравнения> <Выражение> |
<Выражение>[NU] ÎN [ІЄARCHY] (<Список значений> | <Массив значений>) |
<Выражение>[NU] ÎN [ІЄARCHY] (<Описание запроса>) |
<Выражение>[NU] MIZH<Выражение>І<Выражение> |
<Выражение>Є [NU] NULL |
<Выражение>POSILANNYA<Имя таблицы> |
<Выражение>[NU] similar<Литерал типа СТРОКА>
[CARACTER SPECIAL<Литерал типа СТРОКА>]

<Операция сравнения>

> | < | = | >= | <= | <>

<Список значений>

<Выражение>[, <Выражение> [, …]]

O expresie logică poate fi:

Valoarea de egalizare urmează regulile de egalizare a valorii, descrise mai jos.

Reguli de egalizare a valorilor

Fragmentele interogărilor dvs. pot egaliza valorile diferitelor tipuri; există reguli prin care se determină egalizarea a două valori. Aceste reguli sunt revizuite pentru:

  • valoarea de egalizare în operatorii de egalizare;
  • valoarea valorilor maxime și minime în funcțiile agregate MINIM și MAXIM;
  • Ordinea înregistrărilor va avea ca rezultat ordinea specificată în opțiunea ORDER BY.

Dacă tipurile de valori sunt împărțite într-un singur tip, liniile dintre valori sunt afișate în caseta de prioritate a tipului:

  • tastați NULL (cel mai mic);
  • tipul Bulyovo;
  • tip Număr;
  • tip Data;
  • tipul Rând;
  • teepee posilan.

Intrările dintre diferitele tipuri de e-mail sunt determinate pe baza numerelor interne de e-mail din tabel, care sunt similare fiecărui tip.

Dacă aceste tipuri de date sunt evitate, atunci se respectă următoarele reguli:

  • pentru tipul boolean, semnificația lui TRUE este mai mare decât semnificația lui FALSE;
  • pentru tipul Număr există reguli inițiale pentru alinierea numerelor;
  • în tipul Date, datele cele mai vechi sunt mai mici decât cele ulterioare;
  • la tipul Rând, nivelarea se efectuează în mod consecvent până când specificitățile naționale sunt stabilite în baza de date, fără a elimina compensațiile finale;
  • Vă rugăm să fiți sfătuit să comparați pe baza valorilor dvs. (numerele de înregistrare etc.);
  • Nu este permisă nivelarea câmpurilor dowzhin-ului nemărginit (rânduri ale dowzhin-ului nemărginit, Foaie de valori, câmp Tip valoare din tabelul de planuri de tipuri de caracteristici).

Important! Orice operație care egalizează două valori, fie cu o valoare NULL, dă un rezultat similar cu valoarea BRENS.

Operator de inversare a valorii

Formular operator B pentru verificarea unei pierderi cu una dintre reasigurări

Operatorul vă permite să verificați dacă valoarea virusului atribuită mâinii drepte este combinată cu unul dintre semnificațiile descrierilor virusului. Dacă doriți să evitați un lucru, rezultatul operatorului va fi ADEVĂRAT, în caz contrar va fi FALS. Stivuirea NU modifică activitatea operatorului la poartă. Potrivirea se realizează conform regulilor descrise în.

fund:

Vibrati

De
Dovidnik.Nomenclatura.Batko.Nume
În („Tehnologia Pobutova”, „Echipamente de birou”)

Formular operator pentru verificarea afilierii pe ierarhii

Pentru supraveghetori, verificarea se poate baza pe ierarhie. Rezultatul operatorului B ІЄARCHY va fi ADEVĂRAT, deoarece valoarea virusului este trimisă la elementul martor și intră până la multiplicitatea valorii celui dreptaci, sau este ierarhic să aparțină oricărui grup. care se încadrează în această multiplicitate:

fund:

// Cum este trecut forțat parametrul Grup
/ / De exemplu, grupul de experți Nomenclatura.

Vibrati
Dovidnik.Nomenclatura.Numirea

Întrucât semnificația este imaterială, procesul de verificare poate fi finalizat și rezultatul poate fi introdus. În acest caz, operatorul dreptaci trebuie să introducă o descriere a cererii.

fund:

Vibrati
Dovidnik.Nomenclatura.Numirea

Formular operator pentru verificarea unei valori cu unul dintre rezultatele unei interogări

Cu fundul acestui operator puteți face următoarele:

fund:


VIBRAȚI
Produse.Nume
Z
Dovidnik.Produse YAK
DE
Produse. Posilannya V
VIBRAȚI
CheltuieliInventar.Produs
Z

)

Rezultatul se scrie:

Pentru a găsi rezultatul opus, dacă trebuie să știți că valoarea nu este aceeași cu rezultatul interogării, interogarea arată ca următoarea ordine:

fund:

// Selectați numele mărfurilor care erau prezente pe facturi
VIBRAȚI
Produse.Nume
Z
Dovidnik.Produse YAK
DE
Produse.Posylannya NU IN
VIBRAȚI
CheltuieliInventar.Produs
Z
Document.RozkhInk.Depozit YAK CheltuieliSklad
)

Rezultatul se scrie:

Vă rugăm să rețineți că după intrarea în operație, este posibil să actualizați tabelul care a fost inclus în intrarea curentă înainte de apariția operației.

fund:

// Selectați numele mărfurilor care erau prezente pe facturi
VIBRAȚI
Produse.Nume
Z
Dovidnik.Produse YAK
DE
Produse. Posilannya V
VIBRAȚI
CheltuieliInventar.Produs
Z
Document.RozkhInk.Depozit YAK CheltuieliSklad
DE
Compoziția cheltuielilor.Produs = Products.Posylannya
)

Rezultatul se scrie:

Operator pentru conversia unei valori într-un interval

Operatorul MIL vă permite să verificați dacă valoarea mâinii drepte specificate este inclusă în intervalul de indicații (în același timp între interval). În orice caz, rezultatul operatorului va fi TRUE, altfel va fi FALS. Stivuirea NU modifică activitatea operatorului la poartă. Potrivirea se realizează conform regulilor descrise în.

fund:

Vibrati


De
Autor.Nomenclatură.Prețul de achiziție MIZH 100 І 1000

Operator de inversare a valorii NULL

Operatorul Є NULL vă permite să verificați valoarea unei expresii stângaci la NULL. Dacă valoarea este aceeași cu NULL, rezultatul operatorului va fi TRUE, în caz contrar va fi FALSE. Stivuirea NU modifică activitatea operatorului la poartă.

fund:

Vibrati
Dovidnik.Nomenclatura.Numirea,
Autor.Nomenclatură.PurchasingPrice
De
Autor.Nomenclatură.PurchasingPrice AND NULL

Operator de inversare a valorii de conversie

Operatorul POZIȚIE vă permite să verificați valoarea expresiei introduse cu mâna dreaptă, trimisă la tabel, introdusă pe cea cu mâna dreaptă. Astfel, rezultatul operatorului va fi TRUE, altfel va fi FALS. Denumirea tabelului este descrisă în paragraful „Denumirea câmpurilor”.

fund:

Vibrati
Dovidnik.Nomenclatura.Numirea,
Dovidnik. Nomenclatură. Unul Vimiryuvannya
De
Dovidnik.Nomenclature.UnitVimiryuvannya Mesaj Dovidnik.UnitVimiryuvannya

Operator pentru conversia unui rând într-un model

Operatorul vă permite, de asemenea, să egalizați valoarea expresiei specificate în mâna dreaptă. Rândul mamă este semnificativ. Dacă valoarea expresiei satisface șablonul, rezultatul operatorului va fi TRUE, în caz contrar va fi FALS.

Simbolurile corespunzătoare din rândul șablonului sunt simboluri de serviciu și au un sens atribuit simbolului rândului:

  • % (în sute): secvență pentru a include cât mai multe caractere suplimentare posibil
  • _ (sub scaun): un caracter suplimentar
  • […] (brațele pătrate au unul sau mai multe simboluri): orice simbol unic din mijlocul brațelor pătrate
    Rearanjarea poate avea intervale mai înguste, de exemplu, a-z, ceea ce înseamnă următorul simbol care va fi inclus în interval, inclusiv capetele intervalului.
  • [^...] (în brațele pătrate există un simbol urmat de unul sau mai multe simboluri): orice simbol, în plus față de cele enumerate după simbol

Orice alt simbol înseamnă el însuși și nu o atracție suplimentară indispensabilă.

Dacă trebuie să notați unul dintre simbolurile enumerate pentru dvs., atunci puteți transfera<Спецсимвол>. Eu insumi<Спецсимвол>(orice simbol special) apare în același operator după cuvântul cheie CARACTER SPECIAL.

De exemplu, modelul „%ABV[abvg]_abv%” CARACTER SPECIAL „” înseamnă o secvență care constă dintr-o secvență de caractere:
litera a; litera B; literele U; un numere; una dintre literele a, b sau g; simbolul fotoliului; literele a; litera b; literele st.

Mai mult, poate exista un set suficient de caractere înaintea secvenței.

Genți din ierarhie

Și capacitatea de a deschide pungi din ierarhie. Pentru care, după denumirea câmpului pentru care se calculează sacii, trebuie să specificați cuvântul cheie IRARHIE. Ca urmare, pungile punctelor de control și pungile ierarhice pentru punctele de control vor fi extinse.

fund:

VIBRAȚE Doc.Item, Doc.Quality, Doc.Posylannya.Number, Doc.Posylannya.Otrimuvach
Z Document.RozhNakl.Warehouse Yak Dock
COMANDA PENTRU Articolul Doc
PÂNȚĂ PAD(CALITATE) DE Doc.Product ІЄARARHIE

Rezultatul se scrie:

Produs Cantitate Număr Oderzhuvach
Instalatii sanitare 104
Atingeți 84
Atingeți 10 ARN-1 Uryupinskorg
Atingeți 8 ARN-3 Mag. "Gospodar"
Atingeți 44 ARN-4 Mag. "Gigant"
Atingeți 22 ARN-5 Uryupinskorg
Vantus 20
Vantus 5 ARN-1 Uryupinskorg
Vantus 1 ARN-3 Mag. "Gospodar"
Vantus 14 ARN-4 Mag. "Gigant"
Mobila 134
Steele 26
Steele 1 ARN-1 Uryupinskorg
Steele 15 ARN-2 Mag. "Mobila"
Steele 10 ARN-4 Mag. "Gigant"
Stilete 108
Stilete 55 ARN-2 Mag. "Mobila"
Stilete 5 ARN-3 Mag. "Gospodar"
Stilete 32 ARN-4 Mag. "Gigant"
Stilete 16 ARN-5 Uryupinskorg

fund:

VIBRAȚE Doc.Item, Doc.Quality, Doc.Posylannya.Number, Doc.Posylannya.Otrimuvach
Z Document.RozhNakl.Warehouse Doc
COMANDA PENTRU Articolul Doc
PAD BAG(CALITATE) PE Doc.Product TILKI ІARCHY

Rezultatul se scrie:

Produs Cantitate Număr Oderzhuvach
Instalatii sanitare 104
Atingeți 10 ARN-1 Uryupinskorg
Atingeți 8 ARN-3 Mag. "Gospodar"
Atingeți 44 ARN-4 Mag. "Gigant"
Atingeți 22 ARN-5 Uryupinskorg
Vantus 5 ARN-1 Uryupinskorg
Vantus 1 ARN-3 Mag. "Gospodar"
Vantus 14 ARN-4 Mag. "Gigant"
Mobila 134
Steele 1 ARN-1 Uryupinskorg
Steele 15 ARN-2 Mag. "Mobila"
Steele 10 ARN-4 Mag. "Gigant"
Stilete 55 ARN-2 Mag. "Mobila"
Stilete 5 ARN-3 Mag. "Gospodar"
Stilete 32 ARN-4 Mag. "Gigant"
Stilete 16 ARN-5 Uryupinskorg
postat în Etichetat cu #

Ultima lecție am analizat filtrarea rezultatelor interogărilor. Pentru propunere suplimentară DE a cerut minții să selecteze din tabelul de ieșire, astfel încât intrările care sunt adevărate în minte să fie colectate. Mai mult decât atât, selecția creierului ar putea fi la fel de simplă și completată cu o expresie coerentă, logică. Scopul unei astfel de prelucrări este de a limita pe cât posibil obligațiile rezultate din setul de date rezultat. Ce altceva putem face cu lipsa datelor personale, din moment ce nu a fost posibilă separarea elementelor rămase pentru toți parametrii necesari?

1. Cum ar trebui grupate datele?

Capacitatea unei mame de a gestiona toate datele din sistem este, fara indoiala, o garantie a managementului eficient. Prote, așa cum ne-am reconectat, comercianții nu au nevoie de toate datele din toate tabelele bazei de date. Aceste date necesare nu sunt doar acolo, ci pentru un motiv.

Cu toate acestea, este dificil să analizați datele folosind această metodă în întregime corect: vor fi multe. Este imposibil să controlezi toate datele și pur și simplu este imposibil să le controlezi. Nu este surprinzător să afirmăm că esența managementului se rezumă la problema agregării (grupării) informațiilor.

Primul motiv pentru grupare este modifica cantitatea de informații, reducându-le la grupuri similare. De exemplu, vânzările și achizițiile sunt reduse la grupuri care servesc drept înregistrări contabile. Apoi, în spatele acestor indicatori deja stabiliți, se formează indicatori mai mari - grupuri de echilibru, diverși indicatori diferiți. Prote mai puțin, rakhunkom inferior, nu mai operează.

Planul de layout a fost modificat nu cu mult timp în urmă pentru a elimina afișajele acceptate în practica internațională fără o subsecțiune suplimentară. Sistemele moderne și diferite de indicatori cheie și indicatori agregați, de regulă, ating un nivel înalt.

Alt motiv - standardizarea display-urilor. Indicatorii standard (rentabilitatea, cifra de afaceri etc.) pot fi modificați (de exemplu, într-un mod diferit) și aliniați cu aceștia.

Al treilea motiv este Iertarea departamentelor analitice pentru reducerea dimensiunii. Dacă doriți să fixați o dimensiune, complexitatea se va schimba cu un ordin de mărime. De exemplu, alegeți un brand și analizați doar câteva poziții în acesta, dacă doriți să analizați mai multe mărci pe piețele competitive.

Aceasta nu este o listă exhaustivă (există și un alt aspect vizual). Este clar că gruparea informațiilor este importantă și necesară și poate fi făcută într-o varietate de moduri.

2. Ce este această grupare?

Gruparea este procesul de combinare, într-o ordine logică, a semnificațiilor care se repetă. pe Mic 1 vizualizări, un fragment din tabelul de produse, care poate fi grupat în spatele oricărui câmp. De exemplu, după culoarea corpului, există o ordine de apariție în cazurile de aceeași culoare, sau regiunea este vinificatorul - atunci respingem o altă grupare, unde ordinea de apariție a produselor din aceeași regiune. Pe cel mic, într-o culoare neagră, se pot vedea mărfuri în cutii de culoare argintie; Zhovtim - camarazi ai virobnitstva din Taiwan. Desigur, există diferite grupări, iar duhoarea poate să nu se schimbe. Produsele de producție de care avem nevoie în Taiwan pot fi sau nu disponibile în carcasa de argint.

3. Cum funcționează gruparea?

Gruparea datelor este un proces inteligent și simplu din punct de vedere tehnic.

Datele de ieșire dintr-o înregistrare pot fi grupate în spatele acelorași valori de câmp și le pot fi atribuite diferite funcții agregate. Înregistrările sunt grupate pentru a înlocui noile valori ale câmpului de grup. Câmp acceptabil Tată- si toate preparatele vor fi grupate, alcool etc. Kolir- si totul se grupeaza si se vinde pentru culori).

Ca urmare a stagnării funcției agregate, rezultatul este că numărul de dispozitive disponibile în carcase de culoare argintie, în carcase negre etc. este rotit pentru toate grupurile care vor fi desemnate prin culoare.

Pentru a ilustra acest fund copilul 1 puteți îngheța funcția KILKIST (Colorcorps). Rândurile ca rezultat al calculului vor înlocui rezultatele calculului în funcțiile lor agregate (SUMA, CALITATE, MINIM, MAXIM, MEDIE), neasigurabil (grupat) conform datelor traverselor de iesire.

Funcțiile agregate sunt specificate în lista câmpurilor de selecție din râuri A SE GRUPA CUÎn acest caz, este necesar să se indice o listă de câmpuri pentru care este necesară gruparea. Dacă nu specificați gruparea, va exista un număr în spatele intrărilor (pentru câmpurile text - cantitate, pentru câmpurile numerice - suma tuturor înregistrărilor).

4. Loc când cereți o propunere A SE GRUPA CU

Pentru a crea o interogare, trebuie să știți unde să plasați parametrii specificați vizual atunci când îi traduceți de către constructor. Axa orașului râului A SE GRUPA CU Voi întreba între alte propuneri.

După cum vedeți, aceasta urmează după propoziție DE iar înainte de propunere ORDIN(cum sunt în scris).

5. Butt-ul creației va fi solicitat cu grupări folosind ajutorul designerului de interogări „1C:Enterprise 8.0”

Pentru întrebarea suplimentară creată de designer, dorim să selectăm numele mărfurilor vândute în perioada curentă, veniturile și profitul din vânzările lor, le grupăm pe grupe de produse și deducem suma veniturilor și profitul mediu pentru fiecare produs. grup.

Să întrebăm repede ce am făcut deja. Mai jos este textul (blocul de lângă cadrul verde), pe care l-am scris deja și nu îl vom schimba. O copie a intrării anterioare poate fi obținută de pe site Service - Consola Zvitiv, folosind instrumentele panoului de sus, apoi faceți clic pe butonul de editare pentru butoane suplimentare F2.

Generatorul de interogări poate fi accesat din butonul din bara de instrumente de jos a ferestrei de editare a interogărilor.

Să revenim la această parte a textului pe care am creat-o deja. Am selectat câmpurile de sub numele articolului vândut, valoarea vânzărilor (au numit-o venituri). În curând a fost posibil să se elimine imediat rezultatul calculului câmpurilor pentru a înlocui veniturile și profitul (au numit această diferență profit). Totul este împărțit în marcaje suplimentare Tabele și câmpuri, Porecle designer de interogări „1C:Enterprise”. Selecția câmpurilor este împărțită în tabelul distribuitorului, nomenclatorul și registrul vânzărilor acumulate ale companiei.

Pe stoc Zv'azki a fost introdus un tabel alăturat. Desigur, pentru această interogare am fi putut folosi un tabel, care ar fi dat prioritate unei alte grupări. La urma urmei, departamentul transferă mărfurile în grupuri și informații despre distribuția către grup (sau despre domeniu Tată) mergi la tabelul editorului propriu-zis, iar din registrul de acumulare, trebuie să te înscrii la mese. Perioada de eșantionare a fost stabilită prin trecerea parametrilor tabelului virtual (aceasta este una dintre caracteristicile importante ale constructorului de substituție de eșantionare, pe care am luat-o în considerare și noi).

Acum putem dizolva gruparea. Pentru cine folosești marcaje? Grupareaі Pungi.

Pe stoc Gruparea Alegem câmpul cu care ne vom grupa - câmpul Tată (Mic 2). Alte câmpuri (textul va fi introdus în caseta neagră) cu elementele prezentate pun un constructor. І mai jos în Câmp trimis (Mic 3) Furnizăm funcții agregate care necesită valorile de care avem nevoie - valoarea veniturilor pentru grup și profitul mediu pentru vânzări.

Ce este mai important aici? Cele care pot fi grupate doar în funcție de câmpurile specificate în lista de selecție. Întregul lucru este logic: dacă valorile câmpului nu sunt selectate, acestea sunt invizibile și nu se poate face gruparea. Cum vrem să suprapunem semnificația mentală a câmpului grupului cu o propoziție? MAYUCHI(de exemplu, au lăudat randamentul mediu și au ales doar acele grupuri, pentru care performanța lor era sub normă), erau obligați să fie grupați în spatele unor astfel de domenii. Această minte trebuie ajustată, pentru că nu este nevoie să studiezi câmpurile din pungi.

Ideea este clară: începutul trebuie grupat și desfășurat, iar apoi poate fi îmbunătățit, ceea ce confirmă rezultatul oricărei minți. Veți primi informații despre astfel de favoruri la ora verificării comenzii, sau mai bine zis, respectați-vă mama.

Acum să trecem la marcaj Pungi. Aici indicăm câmpurile de grup pe care dorim să le stocăm în pungile noastre ( Mic 4). În acest câmp vipadku tse tezh Tată. Dacă una dintre date este specificată ca tabel de consiliere, adesea una dintre grupări va fi ierarhia acesteia.

În continuare, indicăm funcțiile agregate ale căror valori trebuie eliminate și dorim să știm valoarea veniturilor pentru grup și profitul mediu ( Mic 5). Când parametrii acestui marcaj sunt modificați în text, puteți vedea textul în blocul următor.

Pe stoc Ordin Am comandat sortarea după câmp Vitorg pentru schimbari. Sună-ne, dacă suntem întrebați de tot felul de afișaje, în depărtare va fi sortare în spatele câmpurilor numerice. Dacă acest lucru nu se poate face, primul tabel va fi sortat din tabelul combinat (și nu tabelul consilierului „Nomenclatură”). Numele produselor vor fi sortate după nume.

Prin pungile, grupate și sortate, care au calificat articolele (au primit pseudonime - produs, venit, profit), puteți folosi denumirile calificate. Acum poți apăsa butonul Bineîn constructor - va exista o verificare sintactică și, dacă totul este bine, o puteți nota.

Dacă vrem să ne punem mintea pe grupuri, trebuie să ne punem mintea pe semnificația funcțiilor agregate ale câmpurilor de grup pentru propoziții suplimentare. MAYUCHI(urmează imediat după propoziție ZGROUPVATI). De exemplu, MULT MEDII(Venit) > 500 - și nu va exista niciun grup în set, în care venitul mediu pentru grup să nu ajungă la 500,01 UAH.

pe copilul 6 prezentate sunt cele care au ieșit ca rezultat (un fragment din tabel compilat cu date din versiunea demo a configurației „Trade Management for Ukraine 8.0” rev. 2.1, astfel încât să puteți implementa rezultatele).

Acest tip de pliabil este complet potrivit pentru lucru. Mai mult, dacă adăugați un alt câmp aici - profitabilitatea stocurilor (profituri, împărțiri în excedentul mediu zilnic de mărfuri pentru perioada), tabelul va include principalii indicatori cu care lucrează managerii în gestionarea stocurilor. Pentru a face acest lucru, trebuie să adăugați tabelul „Rezerve ale produselor companiei”, să vă alăturați tabelului și să parcurgeți din nou toate marcajele.

VIBRAȚI<поля1,поля2>

Z<таблица1,таблица2>

DE<условия>

A SE GRUPA CU<поля1,поля2>

ÎN ORDINE<поля1, поля2>

SACI<фукция1,функция2>

PZ<поле1,поля2>

RefNomenclature.Reprezentare,

Cifra de afaceri a companiei de vânzări. SumaVânzări și Cifra de afaceri

YAK Vitorg,

SalesCompanyTurnover.AmountSalesTurnoverSalesCompanyTurnover. SobivartistObig YAK Pributok

Z Dovidnik. Nomenclatură

YAK SprNomenclatura

CONEXIUNEA INTERNA-Acumularea GISTR.Vânzări ale companiei.Cifra de afaceri (&Data de începere, &Data de încheiere,)

Cifra de afaceri YAK SalesCompany

PO SalesCompanyOb-roty.Nomenclature = SprNomenclature.

A SE GRUPA CU

SprNomenclature.Batko,

RefNomenclatura.Reprezentare

ÎN ORDINE

 

 

Tse tsikavo: