Ustvarjanje in brisanje vnosov v register informacij. Oblikovanje in brisanje vnosa v informacijski vpisnik Brisanje vnosa v informacijski vpisnik 1s 8.3

Hiter prehod

Programska možnost za popolno čiščenje:

Ko izvedete vnos v register, se podatki hitro izbrišejo. Če je register informacij velik, bo to trajalo nekaj časa, običajno pa nekaj sekund.

Recordset je poseben "upravljalec" za upravljanje skupine zapisov.

Če izbor po dimenzijah ni nastavljen in začetno branje ni izvedeno z metodo Read(), se v trenutku klica Write() shrani trenutno prazno stanje.

Interaktivno brisanje vnosov v register informacij

V upravljanem načinu delovanja konfiguracije je privzeto omogočena večkratna izbira vpisov v vpisnik, če je vpisnik samostojen (nepodrejen vpisniškemu dokumentu) pa je možen izbris skupine vnosov.

Izberite skozi shift in vse zapise z ukazom Ctrl + A in pritisnite "Delete" ali skozi kontekstni meni "Delete"

Če je število zapisov večje od 1000, bo sistem ob izbiri opozoril o trajanju operacij, vendar bo dovolil nadaljevanje izbire.

Pri seznamih z več kot 5000 vnosi uporaba te metode ni priporočljiva, saj ko se seznam vrstic v polju tabele poveča, se njeno delo močno upočasni.

V običajnih obrazcih je standardno brisati eno vrstico naenkrat.

Obdelava za brisanje vnosov v register informacij

  • Poleg spreminjanja in brisanja registrskih vnosov je dodana možnost uporabe poljubnega algoritma.
  • Ob izbiri RS s seznama obrazec prikaže dinamični seznam vpisnikov.
  • Generira polja neposredno na obrazcu za spremembo trenutnega zapisa. Vnose lahko spreminjate, dodajate, brišete.
  • Za skupino zapisov (označene vrstice na dinamičnem seznamu) lahko spremenite polja, vključno z dimenzijami. POMEMBNO: Snemanje poteka v načinu prepisovanja, tako da, če končni zapis že obstaja ali ste spremenili edino dimenzijo skupine zapisov, so lahko posledice katastrofalne. Ampak upam, da razumeš, kaj boš naredil.
  • Pri spreminjanju polj je okvir označen. Vedno se zavedaš, kaj se bo spremenilo. To še posebej velja za skupine zapisov.
  • Možno je snemanje v načinu prenosa
  • Možno je nastaviti dodatne lastnosti zapisa (včasih zelo pomembne)
  • Uporablja privilegiran način.
Skupinska obdelava informacijskih registrov na osnovi obdelave iz Gmix
  • Spreminjanje (iz enega v vsa polja), brisanje in kopiranje (z zamenjavo poljubnega števila polj) evidenc informacijskih registrov.

Ne tako dolgo nazaj sem moral počistiti register informacij. Ta register je hranil zgodovino sprememb v nekaterih konfiguracijskih objektih in je vseboval več milijonov vnosov.

Običajen način za programsko brisanje registra informacij, ki ni podrejen registrarju, je pisanje praznega niza zapisov, nekako takole:

RecordSet = DataRegisters.OurRegister.CreateRecordSet(); RecordSet.Write();

Recordset=RegistersInfo. Naš register CreateRecordSet() ;

RecordSet. Napiši();

Toda v tem primeru bi čiščenje registra na ta način trajalo več ur. Zato je bila izbrana druga metoda - hiter način čiščenja registra informacij.

Korak 1. Izdelamo varnostno kopijo baze podatkov. Ta postavka seveda ni obvezna, vendar vam bo navada izdelave varnostne kopije pred kakršnim koli potencialno nevarnim dejanjem zagotovo prihranila živce / čas / plačo / kariero.

Korak 2. Kopiramo zahtevani register informacij.

3. korak. Izbrišite izvirni register informacij

4. korak Preimenujte kopijo v izvirnik in uporabite spremembe.

Na tako preprost način bo čiščenje informacijskega registra trajalo nekaj minut, ne glede na velikost tega registra. Razlika je v tem, da se pri drugi metodi tabela registra informacij v celoti izbriše, kar je veliko hitreje.

Skoraj vsak konfiguracijski element je mogoče počistiti na podoben način. Seveda pa nihče ne jamči za pravilnost računovodstva po taki operaciji.

Če ste našli napako ali netočnost, označite del besedila in kliknite Ctrl+Enter.

V tem članku si bomo ogledali, kako brisanje in pisanje vnosov v register informacij. In najprej bomo razmislili o izbrisu evidence, saj. ni toliko pomembno ustvarjanje novih zapisov, ampak shranjevanje obstoječih.

In z neprevidnim ravnanjem z registrom informacij je zelo enostavno izbrisati vse obstoječe vnose, kar bo prikazano v nadaljevanju. Kot primer bomo uporabili naslednji register informacij

Brisanje vnosov v register informacij

Kot veste, se za delo z registrom informacij uporablja niz zapisov. Napišimo dve preprosti vrstici kode za naš register in ju zaženimo za izvedbo

Recordset =RegistersInfo. Cena. CreateRecordSet() ; SetRecords. Napiši();

čestitke! Pravkar smo izpraznili vse vnose v informacijski knjigi. Čeprav se zdi, da se pri pisanju praznega nabora zapisov ne more zgoditi nič kaznivega. Toda če se obrnete na pomočnika za sintakso, lahko vidite, da ni protislovja. Če zapišemo nabor zapisov in v metodo Napiši() parametri niso določeni laž(in True je privzeto nadomeščen), se obstoječ nabor zapisov nadomesti s tistim, ki ga pišemo, v skladu z vzpostavljenim izborom. In ker izbire nismo nastavili, so vsi vnosi v register izbrani za zamenjavo in so uspešno zamenjani s praznim nizom vnosov. In to je rake, na katerega včasih stopijo razvijalci, ki niso prvi dan v 1C. Mimogrede, če namenoma želimo popolnoma počistiti register, potem je to metoda, ki jo moramo uporabiti. Na to opozarjam, ker pogosto obstaja koda, ko se pred brisanjem niz zapisov prebere, nato počisti in šele nato zapiše. Čeprav je branje in brisanje nabora zapisov tukaj popolnoma odveč.

Zdaj pa si predstavljajte, da nam ni treba izbrisati vseh vnosov v register, ampak samo tiste z določenimi vrednostmi dimenzij. Algoritem dejanj je v tem primeru enak, le pred snemanjem je treba nastaviti ustrezen filter za naš prazen zapis. V članku o tem smo kot primer obravnavali isti register informacij - Cena. Naj vas spomnim, da smo tam imeli naslednje zapise

Recimo, da želimo izbrisati vnose kje Izdelek - Svinčnik, A Obdobje - 01.01.2017. Naj vas spomnim, da je za občasne registre informacij mogoče nastaviti izbor ne samo po dimenzijah, ampak tudi po obdobju. V tem primeru bo naša koda videti takole

Recordset =RegistersInfo. Cena. CreateRecordSet() ; SetRecords. Izbira. Pika. Set ("20170101") ; SetRecords. Izbira. Izdelek. Set(Imeniki. Blago. FindByName("Svinčnik" ) ) ; SetRecords. Napiši();

Prav tako želim opozoriti na metodo Namesti(). V primeru, ko je vrsta primerjave v izboru Enako ta metoda vam omogoča, da nastavite izbiro z minimalno količino kode.
Po izvedbi te kode bodo naslednji vnosi ostali v našem registru

Seveda lahko pride do bolj zapletenih primerov pri brisanju zapisov. Na primer, ko morate izbrisati zapise za določene vrednosti virov ali atributov.

Tukaj ni več možna uporaba selekcije, saj. nastavite ga lahko samo za dimenzije, zapisovalnike in obdobja. In tu je že treba iti skozi enega ali več nizov zapisov, izbrisati posamezne zapise in prepisati niz.

Dodajanje vnosov v informacijski register

Kot primer izdelave vnosov informacijskega registra bomo obnovili predhodno izbrisane vnose

Recordset =RegistersInfo. Cena. CreateRecordSet() ; SetRecords. Izbira. Pika. Set ("20170101") ; SetRecords. Izbira. Izdelek. Set(Imeniki. Blago. FindByName("Svinčnik" ) ) ; NewRecord = RecordSet. Dodaj(); Nov vnos. Obdobje = "20170101"; Nov vnos. Prodajalec = Imeniki. Nasprotne stranke. FindByName("DOO "Lesprom" "" ) ; Nov vnos. Izdelek = Imeniki. Blago. FindByName("Svinčnik"); Nov vnos. Znesek = 10 ; NewRecord = RecordSet. Dodaj(); Nov vnos. Obdobje = "20170101"; Nov vnos. Prodajalec = Imeniki. Nasprotne stranke. FindByName("PJSC ""Pisalne potrebščine" "" ) ; Nov vnos. Izdelek = Imeniki. Blago. FindByName("Svinčnik"); Nov vnos. Vsota = 27; SetRecords. Write(False) ;

V metodi Napiši() parameter, odgovoren za zamenjavo obstoječih vnosov, je nastavljen na laž. To pomeni, da bo naš nabor zapisov dodan samo obstoječemu. Prvič, ko koda deluje uspešno. Če poskusimo ponovno izvesti to kodo, bomo prejeli okno s sporočilom o napaki, ker zapise s takšnim naborom meritev že imamo in je nemogoče dodati še enega enakega.


Če pa način preglasitve nastavimo na Resnica, potem pri ponovnem snemanju ne bo prišlo do napake, ker obstoječi vnosi bodo prepisani.

V primeru dela z enim samim zapisom lahko namesto niza zapisov uporabite upravitelja zapisov.

Vam je bil članek všeč? Deli s prijatelji!