Ștergerea registrelor de informații pentru perioada de procesare 1s. Crearea și ștergerea intrărilor din registrul de informații. Prelucrare pentru ștergerea intrărilor din registrul de informații

Salt rapid

Opțiune software pentru curățarea completă:

Când sunt executate, intrările de informații despre înregistrare vor fi șterse rapid. Dacă registrul de informații este mare, acest lucru va dura ceva timp, dar de obicei câteva secunde.

Set de recorduri este un „manager” special pentru gestionarea unui grup de înregistrări.

Dacă selecția după dimensiuni nu este setată și citirea inițială nu este efectuată folosind metoda Read(), atunci în momentul apelării Write(), starea goală curentă este salvată.

Ștergerea interactivă a intrărilor din registrul de informații

În modul de operare gestionat al configurației, selecția multiplă a intrărilor de registru este activată în mod implicit, iar dacă registrul este independent (nu este subordonat documentului de înregistrare), este posibilă ștergerea unui grup de intrări.

Folosind Shift, selectați toate intrările cu comanda Ctrl+A și faceți clic pe „Șterge” sau prin meniul contextual „Șterge”

Dacă numărul de înregistrări este mai mare de 1000, atunci sistemul va emite un avertisment cu privire la durata operațiunilor în timpul selecției, dar va permite selecția să continue.

Pentru listele de peste 5000 de înregistrări, utilizarea acestei metode nu este recomandată, deoarece creșterea listei de rânduri în câmpul tabelului încetinește brusc funcționarea acesteia.

În formele obișnuite, puteți șterge în mod standard câte o linie odată.

Prelucrare pentru ștergerea intrărilor din registrul de informații

  • Pe lângă modificarea și ștergerea intrărilor din registru, a fost adăugată și posibilitatea de a utiliza un algoritm personalizat.
  • Selectând un PC din listă, pe formular este afișată o listă dinamică de registre.
  • Generează câmpuri pentru modificarea înregistrării curente direct pe formular. Puteți modifica, adăuga, șterge intrări.
  • Pentru un grup de înregistrări (rânduri selectate dintr-o listă dinamică), puteți modifica câmpurile, inclusiv dimensiunile. IMPORTANT: Înregistrarea este în modul de suprascriere, așa că dacă înregistrarea finală există deja sau ați schimbat singura dimensiune a unui grup de înregistrări, consecințele pot fi dezastruoase. Dar sper că înțelegi ce vrei să faci.
  • La schimbarea câmpurilor, cadrul este evidențiat. Ești mereu conștient de ceea ce se va schimba. Acest lucru este valabil mai ales pentru grupurile de înregistrări.
  • Este posibil să înregistrați în modul de descărcare
  • Este posibil să setați proprietăți suplimentare de înregistrare (uneori foarte importante)
  • Utilizează modul privilegiat.
Prelucrarea în grup a registrelor de informații pe baza procesării din Gmix
  • Modificarea (de la unul la toate câmpurile), ștergerea și copierea (cu înlocuirea oricărui număr de câmpuri) înregistrărilor registrelor de informații.

În acest articol ne vom uita la modul corect ștergeți și scrieți intrările din registrul de informații. Mai mult, în primul rând, vom lua în considerare ștergerea înregistrărilor, deoarece Nu este atât de important să se creeze noi înregistrări, cât să le păstreze pe cele existente.

Și dacă gestionați cu nepăsare registrul de informații, este foarte ușor să ștergeți toate înregistrările existente, așa cum se va arăta mai jos. Ca exemplu, vom folosi acest registru de informații

Ștergerea intrărilor din registrul de informații

După cum știți, un set de înregistrări este folosit pentru a lucra cu registrul de informații. Să scriem două linii simple de cod pentru registrul nostru și să le rulăm

SetRecord = InformationRegisters. Preţ. CreateRecordSet() ;

SetRecord. Scrie() ; Felicitări! Tocmai am șters toate înregistrările din registrul de informații. Deși s-ar părea că nimic criminal nu se poate întâmpla atunci când scrieți un set gol de înregistrări. Dar dacă apelați la asistentul de sintaxă, puteți vedea că nu există nicio contradicție. Dacă scriem un set de înregistrări și în metodă Scrie() nespecificat în parametri Minciună

(și implicit se înlocuiește True), apoi setul de înregistrări existent este înlocuit cu cel pe care îl înregistrăm, în conformitate cu selecția stabilită. Și, deoarece nu am configurat o selecție, toate înregistrările din registru sunt selectate pentru înlocuire și înlocuite cu succes cu un set gol de înregistrări. Și acesta este un rake pe care uneori este călcat de dezvoltatorii care nu sunt în prima zi în 1C. Apropo, dacă dorim în mod deliberat să ștergem complet registrul, atunci aceasta este tocmai metoda care ar trebui folosită. Atrag atenția asupra acestui lucru pentru că destul de des există cod în care, înainte de ștergere, se citește, apoi se șterge și abia apoi se scrie un set de înregistrări. Deși citirea și ștergerea setului de înregistrări este complet inutilă aici. Acum imaginați-vă că trebuie să ștergem nu toate intrările din registru, ci doar pe cele cu valori de măsurare specifice. Algoritmul de acțiune în acest caz este același, doar înainte de înregistrare este necesar să setăm selecția corespunzătoare pentru setul nostru gol de înregistrări. În articolul despre, ne-am uitat la același registru de informații ca exemplu - Preţ

. Permiteți-mi să vă reamintesc că am avut următoarele înregistrări acolo: Să presupunem că vrem să ștergem înregistrările unde Produs - Creion , A. Permiteți-mi să vă reamintesc că pentru registrele de informații periodice, selecția poate fi setată nu numai pe dimensiuni, ci și pe perioadă. În acest caz, codul nostru va arăta astfel

SetRecord = InformationRegisters. Preţ. CreateRecordSet() ;

SetRecord. Selecţie. Perioadă. Set("20170101"); SetRecord. Selecţie. Produs. Set(Directoare. Produse. FindByName("Pencil")); SetRecord. Scrie() ; Aș dori să vă atrag atenția și asupra metodei Instala()
. În cazul în care tipul de comparație în selecție este

Egal

această metodă vă permite să configurați selecția cu o cantitate minimă de cod.

După executarea acestui cod, următoarele înregistrări vor rămâne în registrul nostru

Pot exista, desigur, cazuri mai complexe la ștergerea înregistrărilor. De exemplu, atunci când trebuie să ștergeți înregistrări pentru anumite valori de resurse sau detalii.

Aici nu se mai poate folosi selecția, deoarece poate fi setat doar pentru măsurători, înregistratoare și perioade. Și aici va trebui să iterați unul sau mai multe seturi de înregistrări, să ștergeți înregistrările individuale și să rescrieți setul.

Adăugarea de intrări în registrul de informații Felicitări! Tocmai am șters toate înregistrările din registrul de informații. Deși s-ar părea că nimic criminal nu se poate întâmpla atunci când scrieți un set gol de înregistrări. Dar dacă apelați la asistentul de sintaxă, puteți vedea că nu există nicio contradicție. Dacă scriem un set de înregistrări și în metodă Ca exemplu de creare a intrărilor din registrul de informații, să restabilim intrările șterse anterior nespecificat în parametri SetRecord = InformationRegisters. Preţ. CreateRecordSet() ;


SetRecord. Selecţie. Perioadă. Set("20170101"); SetRecord. Selecţie. Produs. Set(Directoare. Produse. FindByName("Pencil"));, apoi la înregistrarea din nou, nu va apărea nicio eroare, deoarece intrările existente vor fi suprascrise.

Dacă lucrați cu o singură înregistrare, puteți utiliza un manager de înregistrări în loc de un set de înregistrări.

Nu cu mult timp în urmă a trebuit să șterg registrul de informații. Acest registru a stocat istoricul modificărilor aduse unor obiecte de configurare și a conținut câteva milioane de intrări.

Opțiunea obișnuită pentru ștergerea programatică a unui registru de informații care nu este subordonat registratorului se face prin scrierea unui set gol de înregistrări, ceva de genul acesta:

RecordSet = Informații Registers.OurRegister.CreateRecordSet(); RecordSet.Write();

RecordSet = Registre de informații. Registrul nostru. CreateRecordSet() ;

RecordSet. Scrie() ;

Dar, în acest caz, ștergerea registrului în acest fel ar dura multe ore. Prin urmare, a fost aleasă o altă metodă - o modalitate rapidă de ștergere a registrului de informații.

Pasul 1. Faceți o copie de rezervă a bazei de date. Acest punct, desigur, nu este obligatoriu, dar obiceiul de a face o copie de rezervă înainte de orice acțiune potențial periculoasă vă va salva cu siguranță nervii/timpul/salariul/cariera.

Pasul 2. Copiați registrul de informații solicitat.

Pasul 3. Ștergeți registrul de informații inițial

Pasul 4. Redenumiți copia în original și aplicați modificările.

În acest mod simplu, ștergerea registrului de informații va dura câteva minute, indiferent de dimensiunea acestui registru. Diferența este că în a doua metodă tabelul registrului de informații este șters în întregime, ceea ce este mult mai rapid.

Această metodă poate fi folosită pentru a curăța aproape orice element de configurare. Dar, desigur, nimeni nu garantează corectitudinea contabilității după o astfel de operațiune.

Dacă găsiți o eroare sau o inexactitate, selectați o bucată de text și faceți clic Ctrl+Enter.

Există mai multe tipuri de registre în 1C:

  • Acumulări care stochează solduri sau cifra de afaceri sub formă numerică;
  • Calculele care stochează tipuri de calcule și calculele în sine sunt utilizate de obicei pentru calculele de salarizare;
  • Înregistrări contabile cu date privind calculele contabile sub formă de Dt-Kt;
  • Registre de informații.

Ne vom opri asupra celor din urmă mai detaliat, deoarece ne permit să compilam date din baza de date pe secțiuni de măsurare. De exemplu, „Nomenclatura prețurilor” stochează date pentru un anumit articol și caracteristici pentru un anumit tip de preț.

Fig. 1 Registrul „Nomenclatura prețurilor”.

Caracteristici

Registrul poate fi fie periodic, fie neperiodic, atunci când nu este necesară salvarea secvenței modificărilor. Dar dacă tot trebuie să-l stocați, atunci se stabilește în ce perioadă programul va stabili controlul asupra unicității înregistrărilor: pe secundă, pe zi, pe lună, pe trimestru și pe an.


Fig.2 Frecvența și modul de înregistrare

Dacă încercați să creați două înregistrări în aceeași perioadă, programul va genera eroarea „Există o înregistrare cu astfel de câmpuri cheie!” și nu vă va permite să scrieți în baza de date.

De asemenea, puteți specifica modul de înregistrare. Prima este cu „Depunerea la registrator”, în care înregistrările vor fi înregistrate prin documente și în fiecare dintre ele va fi indicat documentul registrator. Dacă alegeți al doilea mod independent, atunci datele nu sunt înregistrate de înregistrator, ci sunt adăugate, de exemplu, direct din listă sau ca procesare.


Fig.3 Moduri de înregistrare

Particularitatea registrului periodic este că puteți folosi o felie din ultimele sau primele, obținând valori gata făcute din baza de date despre ultima/prima valoare setată pentru o anumită dată.

Intrarea în registrul de informații 1C

Rândurile dintr-un registru cu punct și un înregistrator care conține informații despre resurse în termeni de dimensiuni se numesc înregistrări.

Pentru a adăuga o înregistrare la un registru, se utilizează fie un manager de înregistrări, fie un set de înregistrări. Dacă intrările din registry au o cheie comună, atunci trebuie să utilizați un RecordSet. Și pentru a înregistra o singură înregistrare, dacă toate înregistrările din registru sunt unice, trebuie să utilizați Managerul de înregistrări.

Un exemplu de înregistrare când se utilizează obiectul Information RegisterRecordSet.

Folosind managerul de înregistrare:

NewRecord = Registre de informații.Currency Rates.CreateRecordManager();

NewRecord.Currency = Directories.Currencies.FindByName("USD");

NewRecord.Period = Data(31,12,2016);

NewRecord.Curs = 100;

NewRecordSet = Informații Registers.Nomenclature Prices.CreateRecordSet();

NewRecordSet.Selection.Register.Set(Link);

NewRecordSet = NewRecordSet.Add();

NewDialRecord.Period = Link.Date;

NewSetRecord.Nomenclature = Link.Nomenclature;

NewSetRecord.Price = Link.Price;

NewRecordSet.Write();

Un exemplu de înregistrare prin managerul de înregistrare:

Record = Informații Registers.Currency Rates.CreateRecordManager();

Record.Period = Data;

Entry.Course = Curs;

Record.Currency = Moneda;