Stvaranje i brisanje unosa u registru informacija. Izrada i brisanje unosa u registar podataka 1s 8 periodična promjena upisnika podataka po dokumentu

Brzi prolaz

Softverska opcija za potpuno čišćenje:

Kada izvršite unos u registar, podaci će se brzo izbrisati. Ako je registar informacija velik, to će potrajati neko vrijeme, ali obično nekoliko sekundi.

Skup zapisa je poseban "upravitelj" za upravljanje grupom zapisa.

Ako odabir po dimenzijama nije postavljen i početno očitavanje nije izvršeno metodom Read(), tada se u trenutku poziva Write() sprema trenutno prazno stanje.

Interaktivno brisanje unosa u registar informacija

U upravljanom načinu rada konfiguracije prema zadanim postavkama omogućen je višestruki odabir upisa u upisnik, a ako je upisnik samostalan (nije podređen dokumentu upisnika), moguće je brisati grupu upisa.

Odaberite kroz shift i sve zapise pomoću naredbe Ctrl + A i pritisnite "Delete" ili kroz kontekstni izbornik "Delete"

Ako je broj zapisa veći od 1000, tada će sustav prilikom odabira izdati upozorenje o trajanju operacija, ali će omogućiti nastavak odabira.

Kod popisa s više od 5000 unosa, korištenje ove metode se ne preporučuje, jer kada se poveća popis redaka u polju tablice, njegov rad dramatično usporava

U normalnim je obrascima standardno brisati red po red.

Obrada za brisanje unosa informacijskog očevidnika

  • Uz promjenu i brisanje upisa u registar, dodana je mogućnost korištenja proizvoljnog algoritma.
  • Odabirom RS s popisa obrazac prikazuje dinamički popis registara.
  • Generira polja izravno na obrascu za promjenu trenutnog zapisa. Možete mijenjati, dodavati, brisati unose.
  • Za grupu zapisa (istaknuti retci na dinamičnom popisu) možete mijenjati polja, uključujući dimenzije. VAŽNO: Snimanje je u načinu prepisivanja, pa ako konačni zapis već postoji ili ste promijenili jedinu dimenziju grupe zapisa, posljedice mogu biti katastrofalne. Ali nadam se da razumiješ što ćeš učiniti.
  • Prilikom promjene polja, okvir je označen. Uvijek ste svjesni što će se promijeniti. Ovo posebno vrijedi za grupe zapisa.
  • Moguće je snimati u načinu preuzimanja
  • Moguće je postaviti dodatna svojstva zapisa (ponekad vrlo važna)
  • Koristi povlašteni način rada.
Grupna obrada informacijskih registara temeljena na obradi iz Gmixa
  • Mijenjanje (iz jednog u sva polja), brisanje i kopiranje (uz zamjenu proizvoljnog broja polja) zapisa informacijskih registara.

Ne tako davno, trebao sam očistiti registar podataka. Ovaj registar čuvao je povijest promjena u nekim konfiguracijskim objektima i sadržavao je nekoliko milijuna unosa.

Uobičajeni način za programsko brisanje registra informacija koji nije podređen registru je pisanje praznog skupa zapisa, otprilike ovako:

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

Skup zapisa=Informacije o registrima. Naš registar StvoriSkupZapisa() ;

RecordSet. Write() ;

Ali u ovom bi slučaju čišćenje registra na ovaj način trajalo mnogo sati. Stoga je odabrana druga metoda - brzi način brisanja registra podataka.

Korak 1. Izrađujemo sigurnosnu kopiju baze podataka. Ova stavka, naravno, nije obavezna, ali navika izrade sigurnosne kopije prije bilo kakve potencijalno opasne radnje sigurno će vam uštedjeti živce / vrijeme / plaću / karijeru.

Korak 2. Kopiramo potrebni registar podataka.

Korak 3. Izbrišite izvorni registar podataka

Korak 4 Preimenujte kopiju u izvornik i primijenite promjene.

Na tako jednostavan način, čišćenje registra informacija će trajati nekoliko minuta, bez obzira na veličinu tog registra. Razlika je u tome što se u drugoj metodi tablica registra informacija u potpunosti briše, što je mnogo brže.

Gotovo svaki konfiguracijski element može se izbrisati na sličan način. Ali, naravno, nitko ne jamči ispravnost računovodstva nakon takve operacije.

Ako ste pronašli grešku ili netočnost, označite dio teksta i kliknite Ctrl+Enter.

U ovom članku ćemo pogledati kako brisati i pisati unose registra informacija. I prije svega ćemo razmotriti brisanje zapisa, jer. nije toliko važno stvarati nove zapise, koliko je važno sačuvati postojeće.

A nepažljivim rukovanjem informacijskim registrom vrlo je lako izbrisati sve postojeće unose, što će biti prikazano u nastavku. Kao primjer poslužit ćemo sljedeći registar informacija

Brisanje unosa u registar podataka

Kao što znate, za rad s registrom informacija koristi se skup zapisa. Napišimo dva jednostavna retka koda za naš registar i pokrenimo ih za izvršenje

Skup zapisa = Podaci o registrima. Cijena. StvoriSkupZapisa() ; Postavi Zapise. Write() ;

Čestitamo! Upravo smo uništili sve unose u informacijskoj knjizi. Iako se čini da se pri pisanju praznog skupa zapisa ne može dogoditi ništa kriminalno. Ali ako se obratite pomoćniku za sintaksu, možete vidjeti da nema proturječja. Ako napišemo set zapisa i u metodi Pisati() parametri nisu navedeni Laž(a zadano je zamijenjeno True), tada se postojeći skup zapisa zamjenjuje onim koji upisujemo, sukladno utvrđenom odabiru. Budući da nismo postavili odabir, svi unosi u registar su odabrani za zamjenu i uspješno su zamijenjeni praznim skupom unosa. A ovo je grablje na koje programeri ponekad stanu, a koji nisu prvi dan u 1C. Usput, ako namjerno želimo potpuno očistiti registar, onda je to metoda koju bismo trebali koristiti. Skrećem pozornost na ovo, jer vrlo često postoji kod kada se, prije brisanja, skup zapisa čita, zatim briše i tek onda zapisuje. Iako je čitanje i brisanje skupa zapisa ovdje potpuno suvišno.

Sada zamislite da ne trebamo brisati sve unose u registar, već samo one s određenim vrijednostima dimenzija. Algoritam djelovanja u ovom slučaju je isti, samo je prije snimanja potrebno postaviti odgovarajući filter za naš prazan skup zapisa. U članku o, kao primjer, razmatrali smo isti registar informacija - Cijena. Podsjećam da smo tamo imali sljedeće zapise

Recimo da želimo izbrisati unose gdje Proizvod - Olovka, A Period - 01.01.2017. Dopustite mi da vas podsjetim da se za periodične registre informacija odabir može postaviti ne samo po dimenzijama, već i po razdoblju. U ovom slučaju, naš kod će izgledati ovako

Skup zapisa = Podaci o registrima. Cijena. StvoriSkupZapisa() ; Postavi Zapise. Izbor. Razdoblje. Postavi ("20170101") ; Postavi Zapise. Izbor. Proizvod. Set(Imenici. Roba. FindByName("Olovka" ) ) ; Postavi Zapise. Write() ;

Također želim skrenuti pozornost na metodu Instalirati(). U slučaju kada je vrsta usporedbe u izboru Jednako ova metoda vam omogućuje da postavite odabir s minimalnom količinom koda.
Nakon izvršenja ovog koda, sljedeći unosi ostat će u našem registru

Naravno, kod brisanja zapisa može biti i složenijih slučajeva. Na primjer, kada trebate izbrisati zapise za određene vrijednosti resursa ili atributa.

Ovdje više nije moguće koristiti odabir, jer. može se postaviti samo za dimenzije, snimače i razdoblja. I ovdje već morate proći kroz jedan ili više skupova zapisa, izbrisati pojedinačne zapise i prebrisati skup.

Dodavanje upisa u registar podataka

Kao primjer izrade unosa informacijskog registra vratit ćemo prethodno obrisane unose

Skup zapisa = Podaci o registrima. Cijena. StvoriSkupZapisa() ; Postavi Zapise. Izbor. Razdoblje. Postavi ("20170101") ; Postavi Zapise. Izbor. Proizvod. Set(Imenici. Roba. FindByName("Olovka" ) ) ; NewRecord = RecordSet. Dodati() ; Novi unos. Razdoblje = "20170101"; Novi unos. Dobavljač = Imenici. Protustranke. FindByName("DOO "Lesprom" "" ) ; Novi unos. Proizvod = Imenici. Roba. FindByName("Olovka" ) ; Novi unos. Iznos = 10 ; NewRecord = RecordSet. Dodati() ; Novi unos. Razdoblje = "20170101"; Novi unos. Dobavljač = Imenici. Protustranke. FindByName("PJSC ""Dopisnica" "" ) ; Novi unos. Proizvod = Imenici. Roba. FindByName("Olovka" ) ; Novi unos. Zbroj = 27 ; Postavi Zapise. Write(False) ;

U metodi Pisati() parametar odgovoran za zamjenu postojećih unosa postavljen je na Laž. To znači da će se naš skup zapisa samo dodati postojećem. Prvi put kod uspješno radi. Ako ponovno pokušamo izvršiti ovaj kod, dobit ćemo okvir s porukom o pogrešci, jer već imamo zapise s takvim skupom mjerenja i nemoguće je dodati još jedan takav.


Ali ako postavimo način nadjačavanja na Istina, tada se neće pojaviti pogreška tijekom ponovnog snimanja, jer postojeći unosi bit će prebrisani.

U slučaju rada s jednim zapisom, umjesto skupa zapisa, možete koristiti upravljač zapisima.

U 1C postoji nekoliko vrsta registara:

  • Akumulacije koje pohranjuju stanja ili promete u numeričkom obliku;
  • Za obračun plaća obično se koriste kalkulacije koje pohranjuju vrste kalkulacija i same kalkulacije;
  • Računovodstveni odjeli s podacima o računovodstvenim obračunima u obrascu Dt-Kt;
  • informativni registri.

Detaljnije ćemo se zadržati na potonjem, jer oni omogućuju prikupljanje podataka iz baze podataka prema mjernim odjeljcima. Na primjer, “Nomenklatura cijena” pohranjuje podatke za određenu nomenklaturu i karakteristike za određenu vrstu cijene.

Sl.1 Registar "Nomenklatura cijena"

Karakteristike

Registar može biti periodičan i neperiodičan, kada nije potrebno spremati redoslijed promjena. Ali ako ipak trebate pohraniti, tada je postavljeno u kojem roku će program uspostaviti kontrolu nad jedinstvenošću zapisa: po sekundi, po danu, mjesecu, kvartalu i godini.


Slika 2. Periodičnost i način snimanja

Ako pokušate kreirati dva zapisa unutar istog razdoblja, program će generirati grešku "Zapis s takvim ključnim poljima postoji!" i neće vam dopustiti da pišete u bazu podataka.

Također možete odrediti način snimanja. Prvi s "Dostavljanje upisniku", u kojem će se evidencija upisivati ​​po ispravama iu svakoj od njih biti naznačena isprava-upisnik. Ako odaberete drugi - neovisni način, tada podatke ne bilježi matičar, već ih dodaje, primjerice, izravno s popisa ili kao obradu.


Slika 3 Načini snimanja

Osobitost periodičnog registra je u tome što možete koristiti isječak posljednjih ili prvih, dobivajući gotove vrijednosti iz baze podataka o posljednjoj / prvoj postavljenoj vrijednosti za određeni datum.

Upis u registar informacija 1C

Redovi u registru s točkom i registar koji sadrže informacije o resursima u kontekstu dimenzija nazivaju se zapisi.

Za dodavanje unosa u registar koristi se ili upravitelj unosa ili skup unosa. Ako unosi u glavnoj knjizi imaju zajednički ključ, tada se mora koristiti skup zapisa. A za snimanje jednog zapisa, ako su svi zapisi u registru jedinstveni, morate koristiti RecordManager.

Primjer zapisa kada se koristi objektRegisterRegisterRecordSet.

Korištenje upravitelja snimanja:

NewRecord = RegistriraInformacije.Currency Rates.CreateRecordManager(); NewRecord.Currency = References.Currencies.FindByName("USD"); NewRecord.Period = Datum(31,12,2016); NewRecord.Course = 100; NewRecord.Multiplicity = 1; NoviZapis.Zapis();

Kada koristite skup zapisa i metodu Write, zapis se upisuje u registar detalja skupa zapisa. U tom slučaju može doći do samo dodavanja redaka i zamjene postojećih redaka u registru. Za samostalne upisnike, bez postavljanja filtara, svi upisi u upisniku bit će izbrisani i zamijenjeni dodanim upisima.

Ako upišete podatke bez odabira u pomoćni registar, pojavit će se pogreška.

Primjer zapisa koji koristi skup zapisa u registru informacija koji je podređen Nomenklaturi cijena registratora:

NewRecordSet =RegistriInformacije.NomenklaturePrices.CreateRecordSet(); NewRecordSet.Selection.Registrar.Set(Reference); NewRecordSet = NewRecordSet.Add(); NewSetRecord.Period = Reference.Date; NewSetRecord.Nomenclature = Referenca.Nomenklatura; NewSetRecord.Price = Reference.Price; NewRecordSet.Write();

Primjer snimanja preko upravitelja snimanja:

Zapis = RegistriraInformacije.Tečajevi valuta.KreirajUpraviteljZapisa(); Record.Period = Datum; Record.Course = Tečaj; Record.Currency = Valuta; Napiši.Napiši();

Pretraživanje i čitanje informacijskog registra

Za pronalaženje i čitanje unosa u očevidniku potrebna vam je pomoć upita. Na primjer, trebamo dobiti cijene koje je unio određeni registar:

SELECT Cijene artikala.Nomenklatura, Cijene artikala.Cijena IZ Registra informacija.Cijene artikala AS Cijene artikala WHERE Cijene artikala.Registrar = &Registrar

Uređivanje i brisanje unosa

Za brisanje unosa u registru informacija, na primjer, svih tečajeva eura, upotrijebite sljedeći kod:

Struktura odabira = nova struktura ("Valuta", Rječnici.Valute.Pronađi po nazivu ("EUR")); Odabir = Registri informacija.Tečajevi valuta.Odabir(,SelectionStructure); Dok Selection.Next() LoopRecordManager = Selection.GetRecordManager(); Selection.GetRecordManager().Delete(); EndCycle;

Za brzo i potpuno brisanje registra možete koristiti sljedeći kod:

NewRecord =RegistriInformation.TestRegister.CreateRecordSet(); NoviZapis.Zapis();

Za ispravak i promjenu registra, kao i brzo popunjavanje registra podacima, možete napisati generičku obradu.

Slični članci

2023 dvezhizni.ru. Medicinski portal.