Ierarhia în scris 1s 8.3. Aplicații pentru lucrul cu agenți ierarhici

Ierarhia în scris 1s 8.3. Aplicații pentru lucrul cu agenți ierarhici

Designul „ÎN IERARHIE” din interogările 1C:Enterprise 8.x vă permite să selectați elemente ordonate ale unui obiect de configurare ierarhică în funcție de o selecție dată. Astăzi, articolul va analiza impactul său asupra productivității, precum și asupra altor platforme DBMS și impactul său asupra productivității.

Vikoristannya

Să aruncăm o privire la un cap simplu al designului vikoristan „IN ІЄARCHІЇ”. Înainte de sfârșitul campaniei curente, elementele ordonate ale indicatorului ierarhic „Bunuri” vor fi eliminate pentru valoarea transferată a modificării „Posylannya”.

Text Zapitu = „VIBRATI | Produse . Posilannya,| Produse . Cod furnizor |Z| Dovidnik . Produse YAK|DE | Produse . Posilannya ÎN ІЄARCHІЇ(& Posilannya)"

Baza de date de testare are următoarele date de testare:

Desigur, nu toate înregistrările martorului sunt afișate în imagine. Captura de ecran arată structura stocării datelor pentru consilierul ierarhic. Tabelul de ghid salvează 10 grupuri de nivel superior, fiecare dintre ele conține 5 grupuri imbricate cu câte 200 de elemente fiecare.

Să trecem la întrebarea test. Parametrul „&Posilannya” este transferat în grupul „Grup - 1” (captură de ecran excelentă de mai sus). Apoi rezultatul căutării va arăta astfel:

Ca rezultat, întoarceți mesajul către grupul de sus însuși (transmis ca parametru) și introduceți intrările grupului cu elementele lor. Astfel, construcția vicoristică „În ierarhie” vă permite să eliminați manual datele ordonate ierarhic.

Sintaxa interogărilor mov 1C:Întreprinderi și SQL clasic foarte asemănătoare în anumite momente. Cu toate acestea, pentru expresia „B ІЄARARCHY” nu există un analog în limbajul interogărilor SQL, ca, de exemplu, pentru expresia limbajului platformei „B” există un operator SQL similar „IN”. Acesta este motivul pentru care platforma funcționează din SGBD cu alegerea acestui operator.

În spatele lui Lashtunki

Haide, să vedem. Pentru fundul lui vikorystvatimemo, înainte de a scrie, va fi scris înaintea autorului „Produse”. Vom analiza aceste platforme pentru două situații:

  1. Deoarece parametrul „&Posylannya” este transmis grupului de nivel superior „Grupul 1” (cum am făcut deja).
  2. Parametrul este trimis grupului „Grupul 1 - 1”, plasat în grupul de nivel superior „Grupul 1”.

Acum, în ordine. În primul caz, platforma conține următoarele acțiuni pe serverul SQL:

1. Instrucțiunea SQL va fi acum completată prin extragerea mesajului din grupul de agenți transmis ca parametru și din toate grupurile sale subordonate. Rezultatul se află în tabelul orar „#tt1”.

2. Într-o altă etapă a conversației, o nouă întrebare este completată:

Captura de ecran conține comentarii detaliate despre textul interogării SQL. Pe scurt, această comandă vă permite să selectați elemente ordonate pentru grupurile care apar în tabelul de timp. Se lipsește mâncarea: „Fetele își vor termina nunta?” Aici răspunsul este simplu: primul pas este eliminarea subelementelor pentru grupurile de primul nivel, care sunt deja localizate în tabelul de timp (secțiunea 1). Apoi, o altă interogare selectează elemente subordonate pentru grupurile subordonate de alt nivel. Mai există un grup de consilieri la nivelul trei al ierarhiei, care nu se va mai termina.

În cazul nostru, cealaltă cerere este probabil un rezultat gol, fragmentele pentru înregistrări, care se află la nivelul 3 al ierarhiei, nu au elemente subordonate (acolo nu există același grup).

3. Pentru a extrage rezultatul final al interogării, platforma formează următoarea interogare SQL:

Rezultatul interogării în sine poate fi procesat în continuare de algoritmii platformei instalate. Astfel, înregistrările din tabelul de ceas „#tt1” sunt selectate în scopul instalării unei selecții din tabelul indicator „_Reference41”.

4. În cele din urmă, platforma 1C:Enterprise 8.x șterge orarul „#tt1” și, ca urmare, nu mai există un vikorystvo.

În acest moment, procesul de vizualizare a operatorului „IN ІЄARCHІЇ” este încheiat. Permiteți-mi să vă reamintesc că ne-am uitat la secvența de acțiuni pe serverul SQL al Vikonana, când am trimis mesaje din partea platformei către grupul de nivel superior „Grupul - 1”. Cum se va comporta platforma atunci când parametrul „&Posylannya” este transferat unui grup de alt nivel „Grup - 1 - 1”? Totul va fi într-o ordine similară, cu excepția momentului curent: mai presus de toate, într-o altă etapă a conversiei de interogare SQL de către platformă, s-a scris că va fi folosit pentru a elimina elementele subordonate pentru următoarele două - la momentul respectiv de extragere a elementelor subordonate pentru grupa „Grupa - 1 - 1” nu este așa. Se va cere o singură dată.

În dreapta este că o serie de solicitări pentru conținutul elementelor minore se află într-un număr de grupuri ale ierarhiei. Cu alte cuvinte, dacă un grup dorește să fie situat pe ierarhia egală a elementelor, atunci va fi învins intreaba de la punctul 2.

Creșterea productivității

Utilizarea incorectă a oricărui operator într-o secvență poate duce la performanțe suboptime ale sistemului. Se pare că operatorul „IN ІЄARHY” nu este de vină. Este necesar să fim totuși atenți, deoarece algoritmul de conectare a interogărilor SQL la baza de date devine mai complex și astfel crește impactul asupra serverului DBMS.

Voi da un exemplu de întrebare neoptimală care poate duce la cele mai comune nume ale acestor moșteniri dubioase:

Produse VIBRATI. Posilannya Z Dovidnik. Tovari YAK Tovari DE (Produse. Posilannya V ІЄARARCHІЇ (& Posilannya) ABO Tovari. Posilannya V ІЄARARCHІЇ (& Posilannya1) ABO Tovari. Posilannya V ІЄARARCHІЇ (& Posilannya2) )

După cum ați putea ghici, acest lucru duce la formarea de interogări SQL impersonale, care determină o scădere a productivității sistemului informațional.

Incepe!

Visnovki robiti te. Voi spune, de asemenea, că operatorul „IN ІЄARARCHІЇ” este considerat o platformă pentru un sistem de compunere a datelor, dacă ținem cont de o selecție de „U GROUP”, „U GROUP WITH LIST” și altele. Nu cred că este ușor de explicat că, cu manipulări incorecte, dezvoltatorii pot instala o selecție foarte complexă și pot împinge căutarea către serverul 1C și DBMS de multe ori. Să modificăm setările doar pentru comercianții experimentați.

Așa este, atunci când scrieți mecanisme de putere, acordați atenție operatorului „IN ІЄARCHІЇ”. Foarte puternic pe o parte și neglijent pe de altă parte.

Dovdniki 1C este un obiect de arbore de metadate specializat care servește la salvarea informațiilor statice de natură dovdnik. De exemplu, în configurațiile tipice puteți vedea următoarele tipuri: , nomenclatură, echipamente, caracteristici principale etc. Informațiile furnizate de consilieri nu se vor modifica. Anchetatorii au început să cerceteze practic toate obiectele zonei ca o secțiune transversală a zonei și informațiile de probă.

Mai jos ne vom uita la ajustarea și proiectarea anexei din configurator privind aplicarea anexei „Nomenclatură”.

Fila Noțiuni de bază

În fila „De bază”, sunt indicate numele, sinonimul, reprezentarea obiectelor și descrierea scopului.

Fila „Ierarhia doctorului”

Aici se stabilește natura ierarhică a consilierului.

Există două tipuri de ierarhie în 1C 8.3 - grup de elemente"ta" elemente". Se pare că primul tip poate avea un folder (dosar), în timp ce celălalt tip poate avea un element.

„Aranjați grupurile pentru fiară” - steagul indică pentru afișarea grupurilor în formularul de listă.

De asemenea, în setări, puteți împărți un număr de grupuri din ierarhia liderului în setări separate.

Fila „Vlasniki”.

Consilierul poate fi subordonat altui consilier. Din aspectul configurației lui 1C 8.3, recuzita „Vlasnik” devine un element simplu. Un exemplu de astfel de conexiune a furnizorilor în configurațiile standard „Nomenclatură - Unități de variație”, „Contrapărți - Contracte ale contrapărților”.

Autorul documentului poate fi următoarele obiecte de metadate: , .

Fila „Omagiu”.

Vizionați 267 de lecții video de la 1C gratuit:

Cea mai importantă filă din perspectiva unui programator. Conține detaliile agentului.

Consilierul conține un set de detalii standard care nu sunt editate de programul 1C 8.2; o listă a acestora poate fi obținută făcând clic pe butonul „Detalii standard”:

Voi cerceta detaliile pielii:

  • Grupul Tse— recuzită cu tip boolean, care arată grupul și elementul. Disponibil doar consilierului ierarhic. Aduceți înapoi respectul Detaliile importante nu pot fi modificate în modul 1C: Antreprenoriat.
  • Cod- recuzită, tip de rând (call row). Numărul este atribuit automat de către sistem. De regulă, asigurarea se obține ca (cod frontal +1). Recomand să folosiți tipul de rând în sine, deoarece sortarea valorilor numerice nu va fi atât de ușoară pe cât este necesar. Puteți vikoristovat cum să trimiteți un document în listă și câmpurile de intrare. De regulă, este necesar să căutați un element sub ora de introducere la rând. Dacă trebuie să selectați câmpul Cod, introduceți zero în partea de jos a rândului.
  • Nume- Recuzită, obligatoriu la umplere, tip obișnuit. Lungimea maximă a unui rând este de 150 de caractere. Puteți vikoristovat cum să trimiteți un document în listă și câmpurile de intrare. De regulă, este necesar să căutați un element sub ora de introducere la rând. Dacă trebuie să selectați câmpul Nume, introduceți zero în partea de jos a rândului.
  • Tată- Recuzită care poate fi tipul Dovdnik Posilannya.<ИмяТекущегоСправочника>. Disponibil doar consilierului ierarhic. Indică marele părinte din ierarhie. Dacă un element sau un grup se găsește în rădăcina Consilierului, este indicată valoarea Consilier.<ИмяТекущегоСправочника>. Posilannya goală.
  • Vlasnik- Posilannya pe elementul-vlasnik al elementului de flux (grup) al dovdnikului. Disponibil numai unui furnizor subordonat 1C.
  • Insigna Vidalennya- Recuzită cu tip boolean. Indică faptul că pictograma de la distanță este afișată în sistem. Desemnarea pentru elementul șters nu este valabilă pentru vikoristanny, dar bătrânele din documente pot pierde informațiile despre cel nou.
  • Posilannya- Câmp de tip rând. Pentru ale cărui detalii este salvat un identificator unic de obiect GUID. Cei din sistem care sunt reprezentați vizual sub numele de „mesaj” sunt doar o manifestare a obiectului. Nu poate fi schimbat.
  • Zoom— un tip boolean care reprezintă un element inteligibil și mai presus de toate. Nu poate fi schimbat.

Fila „Date” indică și datele consilierului din sistem; înainte de versiunea 8.2.16, datele nu puteau avea cod sau nume. În noile versiuni ale platformei (începând cu 8.3), trimiterile pot fi descrise independent în modulul manager cu ajutorul secțiunii „Procesarea procesării trimiterii”.

Fila „Numerotare”.

Aici este indicată ajustarea agentului pentru numerotare. Este recomandat să folosiți autonumerotarea în sine. Controlul unicității este o regulă care vă ajută dacă trebuie să creați un cod unic. Dacă încercați să înregistrați un element de identificare cu un cod neunic, veți vedea notificarea „Codul de identificare a devenit neunic” în 1C.

O serie de coduri indică modul de numerotare a consilierului, puteți introduce numerotarea consilierului în contextul liderului. De exemplu, contrapartea „Rogi i Kopita” are propria numerotare a acordurilor - „1, 2, 3” sau cam asa ceva.

fila Formulare

Formele martorului sunt descrise aici. Dacă configurația este lansată atât în ​​modul de bază, cât și în modul întărit, atunci vor exista două file cu forme în spatele lor: „principal” și „suplimentar” - pentru programele de bază și întărite.

Pe această parte, autoritatea martorului este importantă - „“. Aceasta este o funcție foarte manuală a lui 1C 8, care vă permite, la completarea datelor în câmpul de introducere, să nu mergeți la editor, ci să vă introduceți numele, codul etc. și selectați elementul dorit din listă. Arata cam asa:

Fila „Mai multe”

Pe filă puteți obține acces rapid la modulele principale ale browserului – modulul obiect și modulul manager.

Pe pagină puteți găsi și o listă cu elementele importante ale browserului. Elemente care nu pot fi scoase din regimul Antreprenoriat. Puteți accesa toate elementele necesare din configurator direct, după nume, de exemplu: Authorities.Nomenclature.Service.

Această filă indică și modul de blocare - automat sau blocare. Căutarea pentru căutare în text complet, precum și informații suplimentare despre consilier, sunt disponibile în modul 1C: Întreprinderi.

Respect! Iată o versiune a lecției, ale cărei materiale pot fi incorecte.

Accesați site-ul ca student

Deconectați-vă ca student pentru a refuza accesul la materialele școlare

Limbajul aplicațiilor 1C 8.3 pentru programatori-primari: operatorii MІZH și B

Operatorul logic МІж

Operator MIZH vă permite să verificați, este important să intri viraza, indicat rau din nou, in gama, indicatii dreptaci ( deodată între intervale, apoi inclusiv).

În felul acesta, vă rog

Dacă este necesar să selectați imediat toate alimentele, al căror conținut caloric nu este inclus în interval, atunci va apărea o formă de congestie (a apărut o parte NU):

Operator MIZH poate fi limitat la intervale numerice. Funcționează bine și cu datele:

Operatorul logic B

Verifică la una dintre supraasigurări

Operator U vă permite să verificați, unde valorile sunt evitate Virazi, răul desemnat din nou, cu unul dintre sensuri, descrieri dreptaci.

În felul acesta, vă rog

o poti scrie mai concis

Și rezultatul va fi același:

Dacă este necesar să selectați imediat toate produsele, a căror culoare nu coincide cu aceleași valori din listă, atunci va apărea formularul de enumerare (partea apare NU):

Verificarea valorii față de unul dintre rezultatele interogării

Vă rugăm să ne lăsați să alegem din bază aceleași culori care sunt în descriere. Astfel, lista selectată nu trebuie să includă, de exemplu, o culoare neagră, deoarece nu există culori negre în baza noastră de date. Citiți versiunea completă a lecției, lecții complete.

Una dintre opțiunile care pot fi utilizate este utilizarea operatorului logic U, mâna dreaptă vă va cere să selectați numele culorilor din toate intrările din browser Arici:

VIBRAȚIE Nume Z Dovidnik. Colori DE Naming B (VIBRATI Color. Naming Z Dovidnik. Izha)

Cum pot ghici că din aprovizionarea internă există posibilitatea de a se extinde în domeniile aprovizionării externe.

Repet, în acest scop, forma operatorului U, disponibil și pe piesele Vikoristannya NU in fata lui.

Verificarea afilierii la ierarhie pentru angajati

Pentru supraveghetori, verificarea se poate baza pe ierarhie.

Mai întâi, să aruncăm o privire la fundul martorului ierarhic. Deschideți agentul „Mist” din baza noastră de date:

Vă rugăm să rețineți că elementele dvs. diferă de alte surse ( Arici, colori, Smaki) prezența folderelor galbene. Tse Grupuri de consilieri.

Grupurile sunt subdivizate în elemente de bază care pot include și altele groupi ta elementi. Similar cu modul în care folderele includ alte foldere și fișiere.

Pentru a vă uita unul la altul în loc de grup, faceți clic pe el cu un urs:

Pentru a trece la curent, repetați dublu clic pe grup:

În acest fel, consilierul ierarhic poate înlocui atât elementele primare (de exemplu, Rio de Janeiro, Salvador), cât și grupurile (de exemplu, Brazilia, India). Citiți versiunea completă a lecției, lecții complete.

Elementul piele (fie că este un grup sau un element primar) poate fi un tată buti. De exemplu, părintele elementului Rio de Janeiro și grupului Braziliei:

Și acest lucru este corect, deoarece Rio de Janeiro este inclus în depozitul grupului din Brazilia în ierarhia liderului:

Acum să scriem o propoziție care va evidenția marginea grupului selectat și toate elementele-locurile care vin înaintea ei.

Vă rugăm să rețineți că în textul dinaintea numelor Grupului Ucrainei există un ampersand (&). Numele cu ampersand sunt recunoscute automat de sistem ca parametri, ale căror valori pot fi specificate înainte de introducerea numelui.

După ce introducem acest lucru în consolă și apăsăm butonul „Vizitează” pentru a actualiza, vom putea seta acest parametru:

Selectați grupul „Rusia” după caz ​​(butonul Vibrați):

Dacă apăsăm acum butonul „Viconati”, va apărea rezultatul:

Ca urmare, grupul în sine (Rusia) și toate elementele care merg la depozitul său (Perm, Krasnoyarsk și Voronezh) au fost consumate.

Dacă în loc de Rusia selectați „Brazilia”, rezultatul va fi astfel:

În acest fel, rezultatul operatorului ÎN ІЄARHIE va fi ADEVĂRAT, deoarece sensul virusului malefic este trimis elementului martor și intră în impersonalitate sensul dreptacilor (Brazilia) sau aparțin ierarhic oricărui grup care se încadrează în această multiplicitate (Sao Paulo, Republica de ) o de Janeiro, Salvador).

Întrucât semnificația este imaterială, procesul de verificare poate fi finalizat și rezultatul poate fi introdus. Ce tip de operator este dreptaci? U este necesar să introduceți o descriere a cererii:

Pentru operator ÎN ІЄARHIE Piese disponibile și pe Wikoristan NU in fata lui.

A lua testul

Imprimați testul

1. Operatorul logic МІж verifică valorile

2. Expresia logică 1 MIZH 1 І 1

3. Expresia logică 1 NU MIGE 2 ȘI 2

4. Operatorul logic verifică

5. Operatorul logic vă permite să verificați

Limbajul lui 1C 8 este, pur și simplu, un analog al cunoscutei „programare în limbaj structurat” (cum este numit cel mai adesea SQL). Cu toate acestea, în 1C, trebuie să utilizați date doar pentru a citi date, a modifica datele și este creat un model de date obiect.

O altă caracteristică importantă este sintaxa rusă. Dacă vrei cu adevărat, poți folosi construcții vikoriste și anglomane.

O sa intreb un exemplu:

VIBRAȚI
Băncile.
Bănci.KorrRakhunok
Z
Dovidnik. Bănci YAK Bănci

Danemarca vă va cere să ne furnizați informații despre numele și serviciile corespondente ale tuturor băncilor existente în baza de date.

Căutarea prin cuvinte este cea mai simplă și mai eficientă modalitate de a capta informații. După cum este evident în termeni practici, este necesar să vă etichetați interogările cu nume de metadate (acest lucru se datorează transferului de obiecte de sistem, inclusiv configurarea documentelor, documentelor, registrelor etc.).

Descrierea construcției de interogări de film

Structura propozițiilor

Pentru a selecta datele, este suficient să folosiți construcțiile „VIBRATI” (selectați) și „Z” (din). Cel mai simplu mod de a întreba este următorul:

VIBRAȚIE * Z Dovidniki.Nomenclatură

Unde „*” înseamnă selectarea tuturor câmpurilor din tabel și Consilieri. Nomenclatură - nume de tabele din baza de date.

Un fund clar îndoit și extravagant:

VIBRAȚI
<ИмяПоля1>IAC<ПредставлениеПоля1>,
Suma(<ИмяПоля2>) IAC<ПредставлениеПоля2>
Z
<ИмяТаблицы1>IAC<ПредставлениеТаблицы1>
<ТипСоединения>Z'EDNANNIA<ИмяТаблицы2>IAC<ПредставлениеТаблицы2>
PZ<УсловиеСоединениеТаблиц>

DE
<УсловиеОтбораДанных>

A SE GRUPA CU
<ИмяПоля1>

ÎN ORDINE
<ИмяПоля1>

SACI
<ИмяПоля2>
PZ
<ИмяПоля1>

În această interogare, selectăm datele câmpurilor „Nume câmp 1” și „Nume câmp 1” din tabelul „Nume tabel1” și „Nume tabel”, atribuind sinonime câmpurilor cu ajutorul operatorului „CUM”, alăturându-le în spate. „UmovaZ” „ednannyTable”.

Din datele pe care le selectăm, selectăm doar datele care corespund minții „DE” „Mind for Data Selection”. În continuare, vom grupa după câmpul „Field Name1”, care va include „Field Name2”.

Restul acțiunii va fi urmată de construcția suplimentară „COMANDĂ PENTRU”.

Structuri subterane

Să aruncăm o privire la modelele de bază ale surselor noastre de alimentare 1C 8.2.

PERSHIn

Folosind acest operator suplimentar, puteți prelua n număr de primele înregistrări. Ordinea intrărilor este determinată de ordinea intrărilor.

VIBRATI PERCHI 100
Băncile.
Bănci.COD YAK BIK
Z
Dovidnik. Bănci YAK Bănci
ÎN ORDINE
Bănci.Nume

Primele 100 de înregistrări ale anexei „Bănci”, ordonate după alfabet, vor fi eliminate.

PERMIS

Acest design este relevant pentru roboții cu mecanism. Esența mecanismului este schimbul de citire (și alte acțiuni) pentru înregistrări specifice în tabelul bazei de date, și nu în tabelul bazei de date.

Dacă un client încearcă să citească înregistrări care îi sunt inaccesibile pentru ajutor, el respinge notificarea despre grațiere. Pentru a evita acest lucru, utilizați construcția „PERMISIUNE” pentru a vă asigura că intrarea dvs. nu este permisă să fie lizibilă.

VIBRAȚIA ESTE PERMISĂ
Convulsii de date suplimentare.
Z
Dovezi.Convergența informațiilor suplimentare

RIZNI

Vikoristan „РІЗНІ” vă permite să dezactivați apariția rândurilor duplicate în rezultatul interogării 1C. Bronzare înseamnă sări peste toate câmpurile.

VIBRATI PERCHI 100
Băncile.
Bănci.COD YAK BIK
Z
Dovidnik. Bănci YAK Bănci

EmptyTable

Acest design este folosit chiar și rar pentru combinarea surselor de alimentare. Când sunteți unificat, puteți întâmpina nevoia de a introduce un tabel gol într-unul dintre tabele. În ce scop este potrivit operatorul „Masa goală”?

Exemplu din actualizarea 1C 8:

VIBRATI Posilannya.Număr, TABUL GOL.(Nr., Articol, Cantitate) Depozitul YAK
Document Z.
COMBINA TOTUL
VIBRATE Număr.trimitere, depozit.(Număr rând, produs, cantitate)
Z Document.RozhInkl Document.VidatkovaInvoice.Warehouse.*

Є NULL

Aceasta este o funcție foarte utilă, deoarece vă permite să scăpați de o mulțime de bunătăți. NULL() vă permite să înlocuiți valorile NULL după cum este necesar. Este adesea necesar să se verifice validitatea valorilor din tabele, de exemplu:

VIBRAȚI
NomenclaturăSp.Posilannya,
ЄNULL(Balanta produs.Cantitatea surplusului,0) YAK Cantitatea surplusului
Z


De asemenea, puteți argumenta altfel. De exemplu, deși nu este clar pentru rândul de piele, care tabel are următoarele valori:

ЄNULL(RakhunokFakturaOtrimanii.Date, RakhunokFakturaVidanii.Date)

YAK este un operator care ne permite să atribuim nume (sinonim) unui tabel sau câmp. Butt vikoristannya mi bachili vishche.

Aceste modele sunt foarte asemănătoare - vă permit să eliminați necesitatea unor scopuri specifice. Aceeași importanță se aplică și faptului că UYAVANNYA transformă orice semnificație într-un tip de rând, iar POSILANNA REPREZENTANTĂ transformă doar POSILANNA. SE RECOMANDĂ OPRIREA POZIȚIILOR SISTEMULUI DE COMPOZIȚIE A DATELOR PENTRU OPTIMIZARE, CÂMPUL DE DATE POZIȚIONALE NU VA FI VICTORIZAT ÎN SELECȚII.

VIBRAȚI
Podannya (Posilannya) // rând, de exemplu „Avizul prealabil nr. 123 din 10.10.2015
Podannya(MarkVidalennya) YAKMarkVidalennyaText, //rând, „Deci” sau „Ni”
PodannyaPosilannya(MarkVidalennya) YAKMarkVidalennyaBoolean //boolean, adevărat sau fals
Z
Document.Notificare prealabilă

VIRAZITATE

Viralitatea vă permite să convertiți valorile câmpurilor în tipul de date necesar. Sensul poate fi schimbat fie într-un tip primitiv, fie într-un tip puternic.

Variațiile pentru tipurile de trimitere sunt folosite pentru a intercala tipurile de date solicitate în câmpuri de tip depozit și sunt adesea folosite pentru a optimiza funcționarea sistemului. fund:

VIRAZITY(TabelVitrat.Subconto1 YAK Dovidnik.StattiVitrat).Tip de activitatePentru contribuabilVitrate

Pentru tipurile primitive, această funcție este adesea folosită pentru a delimita un număr de caractere în câmpurile subgenei necirculate (astfel de câmpuri nu pot fi asociate). Pentru a scăpa de bunătăți" Parametrii operației de aliniere sunt incorecți. Câmpurile nu pot fi rotite
dovzhin nemărginit și câmpuri de tipuri nerezonabile
", este necesar să se exprimi următoarele câmpuri în următoarea ordine:

VIRAZITY(comentează YAK Ryadok(150))

REALIZEDDAT

Vizionați 267 de lecții video de la 1C gratuit:

Butt vikoristannya Є NULL în intrarea 1C:

VIBRAȚIE * W
Ref
LEFT CONNECTION RegisterAcumulare.ProduseÎnDepozite.Stocuri YAKStocuri de mărfuri
Software NomenclatureRef.Posylannya = SoldProductsCommittentsZashki.Nomenclature
NU aveți surplus de bunuri. Cantitatea de surplus este NULL

Tipul de date dintr-o înregistrare poate fi determinat în felul următor: folosind funcția suplimentară TYPE() și TYPEVALUE() sau folosind operatorul logic POSIȚIE. Aceste două funcții sunt similare.

Semnificații deduse

Valoarea parametrilor 1C poate fi modificată în funcție de valoarea sau . De exemplu, suprainterpretare, dovezi nebunești, planuri pentru rahunki etc. În acest scop este folosită construcția „Value()”.

fundul Vikoristan:

De Nomenclature.Type of Nomenclature = Value(Provider.View Nomenclature.Product)

DE Counterparties.Type of Contact Information = Value(Reinventory.View Contact Information.Phone)

DE ZalishkiPorahunkiv.RakhunokObliku = Valori(Plan Rakhunkiv.Gosprozrahunkovy.ProfitsZbitki)

Z'ednannya

Există 4 tipuri de conexiuni: LIVOE, DREAPTA, EXTERIOR, INTERIOR.

CONEXIUNEA ȘI DREAPTA

Alăturarea vikoriştilor pentru conectarea a două mese în spatele minţii cântătoare. Particularitatea când LIVOM Z'EDNANNI Cel pe care îl luăm mai întâi arată tabelul în întregime și este legat de celălalt tabel al meu. Câmpurile altui tabel, care au fost conectate la minte, vor fi umplute cu valori NUL.

De exemplu:

Întoarceți întregul tabel de contrapărți și completați câmpul „Bancă” doar în aceste locuri, astfel încât veți putea încheia cu „Counterparties.Name = Banks.Name”. Dacă mintea ta nu este ajustată, câmpul Bank va fi instalat NUL.

DREPTURI DE CONECTARE în mov 1C absolut asemănătoare CONEXIUNEA STÂNGA, în spatele vinovatului sunt doar indicatoare - la CONEXIUNEA CORECTA Masa „cap” este un prieten, nu o premieră.

AFARA Z'EDNANYA

AFARA Z'EDNANYA Se împarte între stânga și dreapta, astfel încât să puteți afișa toate înregistrările din cele două tabele, combinând doar cele care pot fi combinate în spatele chiuvetei.

De exemplu:

Z

AFARA Z'EDNANYA
Dovidnik. Bănci YAK Bănci

PZ

Limbajul interogărilor se dovedește a fi ofensator pentru tabele sau pentru a combina înregistrările din spatele creierului viconic. La schimbarea de la conexiunea stânga/dreapta, NULL poate apărea în două câmpuri.

CONEXIUNEA INTERNA

CONEXIUNEA INTERNA Este deosebit de important să afișați acele înregistrări care ar putea fi găsite în spatele minții date.

De exemplu:

Z
Dovdnik.Contrapărți Clienti YAK

CONEXIUNEA INTERNA
Dovidnik. Bănci YAK Bănci

PZ
Clienții. Nume = Bănci. Nume

Acest lucru va acoperi probabil mai mult de un rând în care banca și contrapartea au același nume.

Ob'ednannya

Designul Combine și Combine ALL combină două rezultate într-unul singur. Tobto. rezultatul răutății a doi va fi „furios” într-unul, zagalny.

Sistemul funcționează la fel ca inițial, doar pentru orarul.

Yak vikorystuvati INDEXUVATI ON

Vă rugăm să rețineți asta pentru un moment. Indexul orarului va necesita, de asemenea, introducerea orei. Prin urmare, este important să folosiți construcția „ ”, cu excepția cazului în care este clar că tabelul orar va avea mai mult de 1-2 intrări. Într-un alt caz, efectul poate fi contraproductiv - viteza câmpurilor indexate nu compensează timpul de trezire al indexului.

VIBRAȚI
Moneda Moneda YAK,
Rate valutare pentru restul. Bine
POMISTTI KursiValut
Z
Registrul proprietăților.Currency Rates.Remaining (&Perioad,) YAK Currency Rates rămase
INDEXUVATI BY
Valută
;
VIBRAȚI
Nomenclatura prețurilor.
PrețuriNomenclatură.Preț,
Nomenclatura prețurilor.Monedă,
Moneda Currency.Rate
Z
Registrul proprietăților. Prețuri, Nomenclator. Din restul (&Perioada,
Nomenclatură B (&Nomenclatură) I TypePrice = &TypePrice) YAK PriceNomenclature
LIVOE Z'EDNANNYA Kursi Moneda YAK Cursi Moneda
BY PriceNomenclature.Currency = CursiValut.Currency

Gruparea

Limbajul de interogare 1C vă permite să utilizați funcții de agregare speciale pentru gruparea rezultatelor interogărilor. Gruparea poate fi creată fără funcții de agregare, pentru a „suckeriza” duplicatele.

Există următoarele funcții:

Sumă, Cantitate, Cantitate de diferit, Maxim, Minim, Medie.

Exemplul #1:

VIBRAȚI
Vânzări de produse și serviciiProduse.Nomenclatură,
SUMA (Vânzări de bunuri, servicii, produse. Cantitate) YAK Cantitate,
SUMA(Realizarea ProduselorPoslugProducts.Suma) YAK Suma
Z

A SE GRUPA CU
Vânzări de produse și serviciiProduse.Nomenclatură

Ordinul selectează toate rândurile de mărfuri și le însumează pentru un număr de sume și sume conform nomenclatorului.

fundul nr. 2

VIBRAȚI
Băncile.
CALITATE(ROUGH Banks. Posilannya) YAK QUALITYDuble
Z
Dovidnik. Bănci YAK Bănci
A SE GRUPA CU
Băncile.

Acest exemplu va afișa o listă de BIC-uri în consilierul „Bănci” și va arăta câte duplicate există pentru fiecare dintre ele.

Pungi

Pungile sunt o metodă de eliminare a datelor dintr-un sistem cu o structură ierarhică. Pentru câmpurile sacului, pot fi utilizate funcții de agregare, cum ar fi gruparea.

Una dintre cele mai populare metode de eliminare a pungilor în practică este anularea în serie a mărfurilor.

VIBRAȚI




Z
Document.Realizarea ProduseServiciul.Produse Vânzări YAK de ProduseServiciulProduse
ÎN ORDINE

SACI
SUMA(Kіlkіst),
SUMA(Suma)
PZ
Nomenclatură

Ca urmare, întrebarea devine mai ierarhică:

Huse de rucsac

Dacă trebuie să scoateți pungile din toate „pungile”, utilizați operatorul „ZAGALNI”.

VIBRAȚI
Vanzari de Produse si Servicii Produse Nomenclatura YAK Nomenclatura,
Vânzări de produse, servicii, produse. Postat de document YAK,
Vanzari Produse si Servicii Produse Cantitate YAK Cantitate,
Vânzări de ProduseServiciiProduse.Suma YAK Suma
Z
Document.Realizarea ProduseServiciul.Produse Vânzări YAK de ProduseServiciulProduse
ÎN ORDINE
Vânzări de produseServiciuProduse.Posiție.Data
SACI
SUMA(Kіlkіst),
SUMA(Suma)
PZ
ZAGALNI,
Nomenclatură

Ca rezultat al experimentului, rezultatul rezultat este eliminat:

Cine are 1 nivel de grupare - agregarea tuturor câmpurilor de scoarță.

Organizarea băii

Operatorul ORDER BY este folosit pentru a sorta rezultatul.

Sortarea pentru tipurile primitive (rând, număr, boolean) urmează reguli de bază. Pentru câmpurile de tip comandă prin poștă, sortarea se bazează pe comanda internă prin poștă (identificator unic), și nu pe cod sau comanda prin poștă.

VIBRAȚI

Z
Nomenclatura Dovidnik Nomenclatura YAK
ÎN ORDINE
Nume

Veți vedea o listă cu numele furnizorului de nomenclatură, sortate după nume.

Auto-aranjare baie

Rezultatul este scris fără sortare și are o reprezentare haotică a unui set de rânduri. Comercianții cu amănuntul ai platformei 1C nu garantează afișarea rândurilor în aceeași secvență la momentul finalizării noilor interogări.

Dacă trebuie să afișați înregistrările tabelului în ordine consecventă, trebuie să utilizați constructul „Comandă automată”.

VIBRAȚI
Nomenclator Nume YAK Nume
Z
Nomenclatura Dovidnik Nomenclatura YAK
Auto-aranjare baie

Mesele virtuale

Tabelele virtuale din 1C sunt o caracteristică unică a interogărilor 1C, care nu există în alte sintaxe similare. Un tabel virtual este o modalitate rapidă de a extrage informații de profil din registre.

Pentru fiecare tip de registru, setul dvs. de tabele virtuale poate fi modificat în consecință la ajustarea registrului.

  • din primele;
  • din restul.
  • surplus;
  • revoluții;
  • excedent și cifra de afaceri.
  • ruhi iz subkonto;
  • revoluții;
  • revoluții Dt Kt;
  • surplus;
  • excedent și cifra de afaceri
  • subconto.
  • baza;
  • date grafice;
  • perioada reală de acțiune.

Pentru proiectantul soluției, datele sunt preluate dintr-un tabel (virtual), dar de fapt platforma 1C preia un tabel, transformându-l în forma necesară.

VIBRAȚI
Produse din depozite Rezerve și cifra de afaceri.
Produse în Depozite Surplus și Cifra de afaceri.
ProduseÎn Depozite Surplus/Cifra de afaceri.Cantitate Cifra de afaceri,
ProduseÎn depozite Surplus/Cifra de afaceri.CantitateIntrat,
Produse în Depozite Surplus și Cifra de afaceri Cantitate și Cheltuială,
Produse în Depozite Surplus și Cifra de afaceri.
Z
ÎnregistrareAcumulare.Produse în depozite.Surplus/cifra de afaceri Produse YAK în depoziteSurplus/cifra de afaceri

Acest tip de interogare vă permite să eliminați rapid o cantitate mare de date.

Parametrii tabelului virtual

Un alt aspect important al lucrului cu tabele virtuale este alegerea parametrilor. Parametrii tabelului virtual – parametri specializați pentru selecție și configurare.

Pentru un astfel de tabel, este important să selectați incorect construcția „DE”. În plus, aplicația nu este optimă, este posibilă eliminarea datelor incorecte.

De exemplu, selectați următorii parametri:

Înregistrați acumularea.

Algoritm pentru tabele virtuale robotizate

De exemplu, cel mai utilizat tabel virtual de tip „Surplus” salvează date din două tabele fizice – surplus și deșeuri.

Când este selectat un tabel virtual, sistemul selectează următoarele manipulări:

  1. Selectăm valorile cele mai apropiate de data și data de expirare din tabelul pungilor.
  2. „Adăugăm” suma din tabelul rukh la suma din tabelul pidbag.


Astfel de acțiuni simple pot îmbunătăți foarte mult productivitatea sistemului de gaz.

Constructor de interogări wiki

Constructor de interogări- Instrumentul, introdus în sistemul 1C Enterprise, simplifică foarte mult procesarea interogărilor către baza de date.

Designerul aplicației poate oferi o interfață simplă, intuitivă. Să aruncăm o privire la munca designerului și să scriem un raport.

Lansarea constructorului de text este solicitată de meniul contextual (butonul dreapta al mouse-ului) în locația necesară a codului programului.

Descrierea constructorului pentru 1C

Să aruncăm o privire mai atentă la fila designerului din raport. Vinyatok - fila Pobudovanik, acesta este subiectul pentru okremoi rosmov.

Fila Tabel și câmpuri

Această filă conține o listă de date și câmpuri care trebuie introduse înainte de a apela. De fapt, designul VIBRAȚIEI este descris aici.. IZ.

Cum poate exista un tabel fizic de bază de date, un tabel de registru virtual, orare, intrări de date etc.

În meniul contextual al tabelelor virtuale, puteți seta parametrii pentru tabelul virtual:

Zv'yazku fila

Fila este folosită pentru a descrie un număr de tabele, creând construcții cu cuvântul CONECTAT.

Fila Grupare

Pe această intrare, sistemul vă permite să grupați și să adăugați câmpuri obligatorii la rezultatul tabelului. Este descrisă următoarea construcție: GROUP BY, SUM, MINIM, MEDIE, MAXIM, CALITY, CALITY OF DIFERENT.

fila Umovi

Indică pentru tot ce trece în text după construcția DE, deci pentru toate gândurile care se suprapun la eliminarea datelor.

Dodatkovo fila

Tab Dodatkovo explică toți parametrii care sunt chiar importanți. Să aruncăm o privire la pielea celor de la putere.

Gruparea Vibrația înregistrărilor:

  • Pershi N– un parametru care rotește mai mult de N înregistrări (operator PERSHI)
  • Fără repetări– asigură unicitatea ștergerii înregistrărilor (operator RIZNI)
  • Permis– vă permite să selectați numai înregistrările pe care sistemul vă permite să le selectați (structură de permisiuni)

Gruparea Tipul de intrare Aceasta înseamnă ce tip de interogare va fi: selectarea datelor, crearea unui tabel oră-oră sau reducerea unui tabel oră-oră.

Mai jos este steagul Blocați eliminarea datelor pentru modificări ulterioare. Vă permite să activați opțiunea de blocare a datelor, care va asigura că datele sunt salvate din momentul în care sunt citite înainte de schimbare (relevant doar pentru modul de blocare automată, design PENTRU SCHIMBARE).

Tab. Comunicații/Aliasuri

Această intrare a constructorului de interogări stabilește capacitatea de a conecta diferite tabele și aliasuri (construcție YAK). Partea stângă conține tabele. Dacă plasați steagurile vizavi de masă, există o construcție COMBINATE, în caz contrar – COMBINE ALL (o combinație de două metode). În partea dreaptă este indicat tipul câmpurilor din diferite tabele; dacă tipul nu este specificat, introduceți valoarea NULL.

fila Comanda

Aici specificați ordinea de sortare a valorilor (ORDER BY) – descendent (UNBUVANNYA) sau crescător (VIP).

De asemenea, un mare ensign - Auto-aranjare baie(în intrarea – COMANDĂ AUTOMATĂ). Sistemul 1C este conceput pentru a afișa datele într-o ordine „haotică”. Odată ce acest semn este stabilit, sistemul sortează datele după datele interne.

Interogați fila lot

În fila Generator de interogări, puteți crea altele noi și le puteți utiliza ca navigare. În text, pachetele sunt separate prin simbolul „;” (comă).

Butonul „Spălare” din designerul de interogări

În colțul din stânga jos al constructorului de interogări există un buton Trimitere, pentru ajutor, puteți privi oricând textul interogării:

În această fereastră puteți face ajustări înainte de a o spăla.


Interogare Vikoristannaya Console

Consola de interogări este o modalitate simplă și utilă de a organiza interogări complexe și de a captura rapid informații. În acest articol voi încerca să descriu cum să utilizați Consola de interogări și voi oferi instrucțiuni pentru accesarea Consolei de interogări.

Să aruncăm o privire la acest instrument de mai jos.

Încântă consola de alimentare 1C

Înainte de a începe să lucrați din consola de interogări, va trebui să vă înscrieți. Prelucrările sunt împărțite în două tipuri - pe forme ceramice și cele de bază (sau uneori se numesc 8.1 și 8.2/8.3).

Am încercat să combin aceste două tipuri într-un singur exemplu - în modul robot necesar, se afișează forma necesară (în modul care este în curs de vindecare, consola funcționează doar în modul simplu).

Descrierea consolei de interogări 1C

Să aruncăm o privire mai atentă la consola de alimentare din descrierea panoului capului de procesare:

La antetul Consolei de interogări, puteți adăuga o oră pentru a înregistra interogarea rămasă cu precizie în milisecunde, ceea ce vă permite să comparați diferite modele pentru productivitate.

Primul grup de butoane de pe panoul de comandă este folosit pentru a salva solicitările curente dintr-un fișier extern. Este și mai ușor, vei putea să te întorci și să scrii o propoziție pliată. Sau, de exemplu, salvați o listă de aplicații tipice ale acestor și altor modele.

Livoruch, în câmpul „Interogare”, puteți crea interogări noi și le puteți salva într-o structură arborescentă. Un alt grup de butoane este responsabil de gestionarea listei de solicitări. Îl puteți folosi pentru a crea, copia, șterge, muta intrarea.

  • Viconatispălat- Rezultă doar vikonannya și otrimannya
  • pachet Viconati– vă permite să vizualizați toate interogările intermediare într-un lot de interogări
  • Revizuirea orarului– vă permite să vizualizați rezultatele prin rotirea intrărilor de timp din tabel

Am sa intreb parametrii:

Vă permite să setați parametri specifici pentru înregistrare.

În fereastra de parametri vi se va solicita:

  • Buton Desfaceți-l aflați automat toți parametrii înregistrării pentru confortul distribuitorului.
  • Prapor Parametri comuni pentru toate aplicațiile– sub ora de instalare, procesarea nu șterge parametrii și sub ora trecerii de la putere la putere în lista generală de comenzi.

Setați parametrul la lista de valori Este foarte simplu, atunci când selectați o valoare a parametrului, apăsați butonul de ștergere a valorii (cruce), sistemul vă solicită să selectați tipul de date, solicitându-vă să selectați „Lista de valori”:

De asemenea, în panoul de sus există un buton pentru a face clic pe configurarea consolei de alimentare:

Aici puteți specifica setările pentru salvarea și salvarea automată a setărilor.

În câmpul consolă, introduceți textul în consolă. Îl puteți câștiga prin simpla introducere a unei interogări de testare sau făcând clic pe un instrument special - constructorul de interogări.

Designerul de interogări 1C8 se face clic din meniul contextual (butonul dreapta al mouse-ului) când faceți clic pe câmpul de introducere:

Acest meniu are, de asemenea, funcții utile precum ștergerea sau adăugarea simbolurilor de transfer de rând (“|”) la cod sau eliminarea codului din această vizualizare manuală:

Zapit = Zapit nou;
Cerere Text = "
| VIBRAȚI
| Monede

| Dovidnik. Moneda YAK Currency”;
ResultRequest = Request.Viconati();

În câmpul de jos al consolei de interogări, este afișat câmpul pentru rezultatul interogării, pentru care a fost creată această prelucrare:



De asemenea, consola de interogări, pe lângă listă, afișează datele într-o vizualizare arborescentă - pentru interogări care pot fi stocate în pungi.

Optimizarea interogărilor

Unul dintre cele mai importante puncte în creșterea productivității roboților 1C enterprise 8.3 este optimizareîntrebând. Acest punct este, de asemenea, foarte important certificare. Mai jos vom vorbi despre motivele tipice pentru funcționarea neoptimă a sursei de alimentare și despre metodele de optimizare.

Selectați dintr-un tabel virtual pentru o construcție suplimentară DE

Este necesar să se aplice filtre la detaliile tabelului virtual folosind parametrii VT. De fiecare dată, pentru a selecta dintr-un tabel virtual, nu se poate folosi construcția DE, ceea ce reprezintă un compromis grosier în ceea ce privește optimizarea. Când selectați un DE suplimentar pentru un fapt, sistemul preia TOATE înregistrările și apoi le selectează pe cele necesare.

DREAPTA:

VIBRAȚI

Z
Înregistrați acumularea. Îngheț reciproc cu Deponenții Organizației. Zalishki (
,
Organization = &Organizare
І Personalitate fizică = &Personalitate fizică) YAK Înghețuri reciproce cu Depozite Surplusul Organizației

GRESIT:

VIBRAȚI
Mutual FrostAsigurareCu DeponențiOrganizationSurplus.AmountSurplus
Z
Înregistrați acumularea.
DE
Mutual frostexchangesWith DepositorsOrganizationSurplus.Organization = &Organizare
І Îngheț reciproc cu Deponenții Organizației Surplusului. Physob = & Physob

Găsirea valorii unui câmp pliat folosind un punct

Când eliminați date dintr-un tip pliat dintr-o intrare cu punct, sistemul conectează conexiunile din stânga la tabel cât mai multe tipuri posibil în câmpul tip pliat.

De exemplu, nu este necesar ca optimizarea să meargă în câmpul de intrare în registry – registrator. Registratorul deține un tip de depozit de date, printre toate tipurile posibile de documente care pot scrie date în registru.

GRESIT:

VIBRAȚI
Dial Records.Recorder.Date,
Apelează înregistrări.Cantitate
Z
RegistryAcumulare.ProduseOrganizații YAK NabirRecords

De fapt, o astfel de interogare se va extinde nu la un singur tabel, ci la 22 de tabele de baze de date (care are 21 de tipuri de registrator).

DREAPTA:

VIBRAȚI
VIBIR
CÂND ProduseRegistrul organizațional EMIS Document.Realizarea ProduselorServicii
TODI VIRAZITI (ProductOrg.Registrar YAK Document.Realize of Products and Services).Data
WHEN GoodsOrg.Registrar POSILANNYA Document.Reliability of GoodsServices
TODI VIRAZITI (ProductOrg.Registrar YAK Document.Reliability of Products and Services).Data
KINETS YAK Data,
ProduseOrg.Calitate
Z
ÎnregistrareAcumulare.ProduseOrganizație Produse YAKOrg

Sau o altă opțiune este să adăugați astfel de informații la detalii, de exemplu, în categoria noastră - adăugați o dată.

DREAPTA:

VIBRAȚI
ProductsOrganization.Date,
ProduseOrganizare.Calitate
Z
ÎnregistrareAcumulare.ProduseOrganizație YAK ProductsOrganization

Băutură pentru creier

Pentru optimizare, este inacceptabil să vikorystvovat podzapitki în mintea conexiunii, ceea ce, în consecință, îmbunătățește activitatea de aspirație. Bazhano în astfel de vipadkas vikoristovuvati VT. Pentru a vă alătura, trebuie să analizați obiectele metadate și VT-urile, mai întâi indexându-le în funcție de câmpurile de unire.

GRESIT:

VIBRAȚI...

LIVOE Z'EDNANYA (
VIBRAȚI din View Registry.
DE...
GRUP PENTRU...
) PZ...

DREAPTA:

VIBRAȚI...
POSTA LIMITATA
Din Registrul Proprietății. Limiti
DE...
GRUP PENTRU...
INDEXUVATI PRIN...;

VIBRAȚI...
Document Z. Vânzări de produse și servicii
CONEXIUNE LIMITAȚĂ
PZ...;

Unirea înregistrărilor din tabele virtuale

Există situații când, la conectarea unei mese virtuale cu altele, sistemul nu funcționează optim. În acest caz, pentru a optimiza interogarea, puteți încerca să plasați un tabel virtual în tabelul de timp, fără a uita să indexați câmpurile care sunt incluse în interogare în tabelul de timp. Acest lucru se datorează faptului că VT-urile sunt adesea localizate în mai multe tabele fizice DBMS, ca urmare a selecției lor, se formează o încărcare, iar problema se dovedește a fi similară cu punctul anterior.

Căutați selecții pe baza câmpurilor care nu sunt indexate.

Unul dintre cele mai extinse beneficii pentru interogările pliate este căutarea creierului în câmpuri care nu sunt indexate, dar nu. reguli pentru optimizarea interogărilor. SGBD nu poate căuta o interogare în mod optim, deoarece interogarea include o selecție pe câmpuri care nu sunt indexate. Când utilizați un tabel de timp, este necesar să indexați câmpurile adăugate.

Este foarte nociv pentru piele din cauza indicelui epidemiologic. Cel mai evident este indicele, care satisface beneficiile actuale:

  1. Index pentru a înlocui toate câmpurile, listate pentru minți.
  2. Valorile câmpului sunt listate în index.
  3. Aceste selecții ar trebui făcute încet, astfel încât semnificațiile să nu „interfere” între ele și să nu ia parte la întrebare.

Dacă SGBD nu selectează indecșii corecti, va fi scanat întreg tabelul - ceea ce poate avea un impact negativ asupra productivității și poate duce la blocarea completă a întregului set de înregistrări.

Vikoristannya ABO logic în minți

Axa și totul din acest articol au evidențiat aspectele de bază ale optimizării aplicațiilor, de care este responsabil un expert în piele 1C.

Un curs video foarte maro, fără pisici, despre dezvoltarea și optimizarea băuturilor, Vă recomandăm cu tărie pentru incepatori si nu numai!

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:

Solicitare.Text = „VIBRATI //element 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 conform acestuia //dacă există un surplus în orice nomenclatură nu va exista câmp, atunci câmpul //NULL va 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:

Query.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 | Contrapartidă.Posilannya |Z | Dovidnik.Contraparte YAK Contrapartidă";

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 |CompensationRRemains.RPOsurplus atsion.RPO<>0 | І CompensationRPORemains.AmountForRozchCompRemaining > 100" ;

14. Designul genții... ÎN SPATEA COPEREI- designul specifică câmpurile de care sunt afectate pungi și funcțiile agregate care sunt setate la câmpurile pungi. 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.

 

 

Tse tsikavo: