Izveidot un dzēst informācijas reģistra ierakstus. Informācijas reģistra ierakstu izveidošana un dzēšana 1s 8 periodiska informācijas reģistra maiņa pa dokumentiem

Ātra pāreja

Programmatūras opcija pilnīgai tīrīšanai:

Veicot ierakstu reģistrā, informācija tiks ātri izdzēsta. Ja informācijas reģistrs ir liels, tas aizņems kādu laiku, bet parasti pāris sekundes.

Ierakstu kopa ir īpašs "pārvaldnieks" ierakstu grupas pārvaldīšanai.

Ja atlase pēc izmēriem nav iestatīta un sākotnējā nolasīšana netiek veikta ar Read() metodi, tad Write() izsaukuma brīdī tiek saglabāts pašreizējais tukšais stāvoklis.

Interaktīva informācijas reģistra ierakstu dzēšana

Konfigurācijas pārvaldītajā darbības režīmā pēc noklusējuma ir iespējota vairākkārtēja reģistra ierakstu atlase un, ja reģistrs ir neatkarīgs (nav pakārtots reģistratūras dokumentam), ir iespējams dzēst ierakstu grupu.

Atlasiet, izmantojot maiņu un visus ierakstus ar komandu Ctrl + A un nospiediet "Dzēst" vai konteksta izvēlnē "Dzēst"

Ja ierakstu skaits ir lielāks par 1000, tad sistēma atlasot sniegs brīdinājumu par darbību ilgumu, bet ļaus atlasi turpināt.

Ja sarakstos ir vairāk nekā 5000 ierakstu, šīs metodes izmantošana nav ieteicama, jo, palielinoties rindu sarakstam tabulas laukā, tās darbība ievērojami palēninās.

Parastās formās ir standarta, lai dzēstu vienu rindiņu vienlaikus.

Apstrāde informācijas reģistra ierakstu dzēšanai

  • Papildus reģistra ierakstu mainīšanai un dzēšanai ir pievienota iespēja izmantot patvaļīgu algoritmu.
  • Sarakstā atlasot RS, veidlapā tiek parādīts dinamiskais reģistru saraksts.
  • Ģenerē laukus tieši veidlapā, lai mainītu pašreizējo ierakstu. Jūs varat mainīt, pievienot, dzēst ierakstus.
  • Ierakstu grupai (izceltas rindas dinamiskajā sarakstā) varat mainīt laukus, tostarp izmērus. SVARĪGI! Ieraksts ir pārrakstīšanas režīmā, tādēļ, ja galīgais ieraksts jau pastāv vai esat mainījis vienīgo ierakstu grupas dimensiju, sekas var būt postošas. Bet es ceru, ka jūs saprotat, ko jūs darīsit.
  • Mainot laukus, rāmis tiek iezīmēts. Jūs vienmēr zināt, kas mainīsies. Īpaši tas attiecas uz ierakstu grupām.
  • Ir iespējams ierakstīt lejupielādes režīmā
  • Ir iespējams iestatīt papildu ieraksta rekvizītus (dažreiz ļoti svarīgi)
  • Izmanto priviliģēto režīmu.
Informācijas reģistru grupu apstrāde, pamatojoties uz apstrādi no Gmix
  • Informācijas reģistru ierakstu mainīšana (no viena uz visiem laukiem), dzēšana un kopēšana (ar jebkādu lauku skaita nomaiņu).

Ne tik sen man vajadzēja notīrīt informācijas reģistru. Šajā reģistrā tika saglabāta dažu konfigurācijas objektu izmaiņu vēsture, un tajā bija vairāki miljoni ierakstu.

Parastais veids, kā programmatiski notīrīt informācijas reģistru, kas nav pakļauts reģistratoram, ir rakstīt tukšu ierakstu kopu, apmēram šādi:

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

Recordset=RegistersInfo. Mūsu reģistrs CreateRecordSet() ;

Ierakstu komplekts. Rakstīt () ;

Bet šajā gadījumā reģistra notīrīšana šādā veidā aizņemtu daudzas stundas. Tāpēc tika izvēlēta cita metode – ātra informācijas reģistra notīrīšanas metode.

Solis 1. Mēs izveidojam datu bāzes rezerves kopiju. Šis vienums, protams, nav obligāts, taču ieradums izveidot rezerves kopiju pirms jebkuras potenciāli bīstamas darbības noteikti ietaupīs jūsu nervus / laiku / algu / karjeru.

2. solis. Kopējam nepieciešamo informācijas reģistru.

3. darbība. Izdzēsiet sākotnējo informācijas reģistru

4. darbība. Pārdēvējiet kopiju par oriģinālu un piemērojiet izmaiņas.

Šādā vienkāršā veidā informācijas reģistra notīrīšana aizņems vairākas minūtes neatkarīgi no šī reģistra lieluma. Atšķirība ir tāda, ka otrajā metodē informācijas reģistra tabula tiek pilnībā izdzēsta, kas ir daudz ātrāk.

Gandrīz jebkuru konfigurācijas elementu var notīrīt līdzīgā veidā. Bet, protams, neviens negarantē uzskaites pareizību pēc šādas operācijas.

Ja esat atradis kļūdu vai neprecizitāti, lūdzu, iezīmējiet teksta daļu un noklikšķiniet Ctrl+Enter.

Šajā rakstā mēs apskatīsim, kā to izdarīt dzēst un rakstīt informācijas reģistra ierakstus. Un vispirms mēs apsvērsim ierakstu dzēšanu, jo. nav tik daudz svarīgi izveidot jaunus ierakstus, bet gan saglabāt esošos.

Un, neuzmanīgi rīkojoties ar informācijas reģistru, ir ļoti vienkārši izdzēst visus esošos ierakstus, kas tiks parādīti zemāk. Kā piemēru izmantosim šādu informācijas reģistru

Informācijas reģistra ierakstu dzēšana

Kā zināms, darbam ar informācijas reģistru tiek izmantota ierakstu kopa. Uzrakstīsim divas vienkāršas koda rindiņas savam reģistram un palaidīsim tās izpildei

Ierakstu kopa = Reģistra informācija. Cena. CreateRecordSet() ; SetRecords. Rakstīt () ;

Apsveicam! Mēs tikko izpūtām visus ierakstus informācijas žurnālā. Lai gan šķiet, ka, rakstot tukšu ierakstu kopu, nekas noziedzīgs nevar notikt. Bet, ja jūs vērsieties pie sintakses palīga, jūs varat redzēt, ka nav pretrunu. Ja ierakstām ierakstu kopu un metodē Rakstīt () parametri nav norādīti Meli(un pēc noklusējuma tiek aizstāts True), tad esošā ierakstu kopa tiek aizstāta ar to, ko mēs rakstām, saskaņā ar izveidoto atlasi. Un tā kā mēs neiestatījām atlasi, visi reģistra ieraksti tiek atlasīti aizstāšanai un tiek veiksmīgi aizstāti ar tukšu ierakstu kopu. Un tas ir grābeklis, uz kura dažreiz uzkāpj izstrādātāji, kuri nav pirmo dienu 1C. Starp citu, ja mēs apzināti vēlamies pilnībā notīrīt reģistru, tad šī ir metode, kas mums jāizmanto. Es vēršu uz to uzmanību, jo diezgan bieži ir kods, kad pirms dzēšanas ierakstu kopa tiek nolasīta, pēc tam notīrīta un tikai pēc tam rakstīta. Lai gan ierakstu kopas lasīšana un dzēšana šeit ir pilnīgi lieka.

Tagad iedomājieties, ka mums nav jādzēš visi reģistra ieraksti, bet tikai tie, kuriem ir noteiktas dimensiju vērtības. Darbības algoritms šajā gadījumā ir vienāds, tikai pirms ierakstīšanas ir jāiestata atbilstošs filtrs mūsu tukšajai ierakstu kopai. Rakstā par, piemēram, mēs uzskatījām to pašu informācijas reģistru - Cena. Atgādināšu, ka tur mums bija šādi rekordi

Pieņemsim, ka vēlamies dzēst ierakstus, kur Produkts - Zīmulis, A Periods - 01.01.2017. Atgādināšu, ka periodiskiem informācijas reģistriem atlasi var iestatīt ne tikai pēc dimensijām, bet arī pēc perioda. Šajā gadījumā mūsu kods izskatīsies šādi

Ierakstu kopa = Reģistra informācija. Cena. CreateRecordSet() ; SetRecords. Atlase. Periods. Set("20170101") ; SetRecords. Atlase. Produkts. Set(Katalogi. Preces. FindByName("Zīmulis" ) ) ; SetRecords. Rakstīt () ;

Es arī gribu pievērst uzmanību metodei Uzstādīt(). Gadījumā, ja atlases salīdzināšanas veids ir Vienādsšī metode ļauj iestatīt atlasi ar minimālu koda daudzumu.
Pēc šī koda izpildes mūsu reģistrā paliks šādi ieraksti

Protams, dzēšot ierakstus, var būt sarežģītāki gadījumi. Piemēram, ja jums ir jādzēš ieraksti noteiktām resursu vai atribūtu vērtībām.

Šeit vairs nav iespējams izmantot atlasi, jo. to var iestatīt tikai izmēriem, ierakstītājiem un periodiem. Un šeit jau ir jāiziet viena vai vairākas ierakstu kopas, jāizdzēš atsevišķi ieraksti un jāpārraksta kopa.

Ierakstu pievienošana informācijas reģistrā

Kā piemēru informācijas reģistra ierakstu veidošanai atjaunosim iepriekš dzēstos ierakstus

Ierakstu kopa = Reģistra informācija. Cena. CreateRecordSet() ; SetRecords. Atlase. Periods. Set("20170101") ; SetRecords. Atlase. Produkts. Set(Katalogi. Preces. FindByName("Zīmulis" ) ) ; NewRecord = RecordSet. Pievienot() ; Jauns ieraksts. Periods = "20170101"; Jauns ieraksts. Pārdevējs = Katalogi. Darījuma partneri. FindByName("LLC "Lesprom" "" ) ; Jauns ieraksts. Produkts = Katalogi. Preces. FindByName("Zīmulis"); Jauns ieraksts. Summa = 10; NewRecord = RecordSet. Pievienot() ; Jauns ieraksts. Periods = "20170101"; Jauns ieraksts. Pārdevējs = Katalogi. Darījuma partneri. FindByName("PJSC ""Kancelejas preces" "" ) ; Jauns ieraksts. Produkts = Katalogi. Preces. FindByName("Zīmulis"); Jauns ieraksts. Summa = 27; SetRecords. Rakstīt (Nepatiesi );

Metodē Rakstīt () parametrs, kas ir atbildīgs par esošo ierakstu aizstāšanu, ir iestatīts uz Meli. Tas nozīmē, ka mūsu ierakstu kopa tiks pievienota tikai esošajai. Pirmo reizi kods darbojas veiksmīgi. Ja mēģināsim izpildīt šo kodu vēlreiz, mēs saņemsim kļūdas ziņojuma lodziņu, jo mums jau ir ieraksti ar šādu mērījumu komplektu, un nav iespējams pievienot vēl vienu tādu pašu.


Bet, ja mēs iestatām ignorēšanas režīmu uz Patiesība, tad atkārtotas ierakstīšanas laikā kļūda neradīsies, jo esošie ieraksti tiks pārrakstīti.

Ja strādājat ar vienu ierakstu, ierakstu kopas vietā varat izmantot ierakstu pārvaldnieku.

1C ir vairāki reģistru veidi:

  • Uzkrājumi, kas uzglabā atlikumus vai apgrozījumus skaitliskā veidā;
  • Algu uzskaitei parasti izmanto aprēķinus, kuros glabājas aprēķinu veidi un paši aprēķini;
  • Grāmatvedības nodaļas ar datiem par grāmatvedības aprēķiniem Dt-Kt formā;
  • informācijas reģistri.

Pie pēdējiem mēs pakavēsimies sīkāk, jo tie ļauj apkopot datus no datu bāzes atbilstoši mērījumu sadaļām. Piemēram, “Cenu nomenklatūra” glabā datus par konkrētu nomenklatūru un raksturlielumus noteikta veida cenām.

1.att. Reģistrs "Cenu nomenklatūra"

Raksturlielumi

Reģistrs var būt gan periodisks, gan neperiodisks, kad nav nepieciešams saglabāt izmaiņu secību. Bet, ja jums joprojām ir jāuzglabā, tad tiek iestatīts, kurā periodā programma izveidos kontroli pār ierakstu unikalitāti: sekundē, dienā, mēnesī, ceturksnī un gadā.


2. att. Periodiskums un ierakstīšanas režīms

Ja mēģināsit izveidot divus ierakstus vienā un tajā pašā periodā, programma ģenerēs kļūdu "Ieraksts ar šādiem atslēgas laukiem pastāv!" un neļaus rakstīt datu bāzē.

Varat arī norādīt ierakstīšanas režīmu. Pirmā ar "Iesniegšana reģistratoram", kurā ieraksti tiks reģistrēti pa dokumentiem un katrā no tiem būs norādīts dokuments-reģistrators. Ja izvēlaties otro – neatkarīgo režīmu, tad datus nevis ieraksta reģistrators, bet gan pievieno, piemēram, tieši no saraksta vai kā apstrādi.


3. att. Ierakstīšanas režīmi

Periodiskā reģistra īpatnība ir tāda, ka jūs varat izmantot pēdējo vai pirmo daļu, iegūstot no datu bāzes gatavas vērtības par pēdējo / ​​pirmo iestatīto vērtību noteiktam datumam.

Ieraksts informācijas reģistrā 1C

Rindas reģistrā ar punktu un reģistratoru, kas satur informāciju par resursiem dimensiju kontekstā, sauc par ierakstiem.

Lai pievienotu ierakstu reģistrā, tiek izmantots ierakstu pārvaldnieks vai ierakstu kopa. Ja virsgrāmatas ierakstiem ir kopēja atslēga, tad ir jāizmanto ierakstu kopa. Un, lai ierakstītu vienu ierakstu, ja visi ieraksti reģistrā ir unikāli, ir jāizmanto RecordManager.

Ieraksta piemērs, kad tiek izmantots objektsRegisterRegisterRecordSet.

Izmantojot ierakstu pārvaldnieku:

NewRecord = RegistersInformation.Currency Rates.CreateRecordManager(); NewRecord.Currency = Atsauces.Currencies.FindByName("USD"); NewRecord.Period = Datums(31,12,2016); NewRecord.Kurss = 100; NewRecord.Multiplicity = 1; NewRecord.Record();

Ja izmantojat ierakstu kopu un rakstīšanas metodi, ieraksts tiek ierakstīts ierakstu kopas detaļu reģistrā. Šajā gadījumā var notikt gan tikai rindu pievienošana, gan esošo rindu aizstāšana reģistrā. Neatkarīgiem reģistriem, neuzstādot filtrus, visi ieraksti reģistrā tiks dzēsti un aizstāti ar pievienotiem ierakstiem.

Ja ierakstāt datus bez atlases vergu reģistrā, radīsies kļūda.

Ieraksta piemērs, izmantojot ierakstu kopu informācijas reģistrā, kas ir pakļauts reģistratoram PricesNomenclature:

NewRecordSet =RegistersInformation.NomenclaturePrices.CreateRecordSet(); NewRecordSet.Selection.Registrar.Set(Atsauce); NewRecordSet = NewRecordSet.Add(); NewSetRecord.Period = Reference.Date; NewSetRecord.Nomenclature = Reference.Nomenclature; NewSetRecord.Price = Reference.Price; NewRecordSet.Write();

Ierakstīšanas piemērs, izmantojot ierakstu pārvaldnieku:

Ieraksts = RegistersInformation.Currency Rates.CreateRecordManager(); Record.Period = datums; Record.Course = Kurss; Record.Currency = valūta; Rakstīt.Rakstīt();

Meklēšana un lasīšana informācijas reģistrā

Lai informācijas reģistrā atrastu ierakstu un to izlasītu, nepieciešama vaicājumu palīdzība. Piemēram, mums ir jāiegūst cenas, ko ievada noteikts reģistrators:

IZVĒLĒTIES Preču cenas.Nomenklatūra, Preču cenas.Cena NO Informācijas reģistra.Preču cenas AS Preču cenas KUR Preču cenas.Reģistrators = &Reģistrators

Ierakstu rediģēšana un dzēšana

Lai dzēstu informācijas reģistra ierakstu, piemēram, visus EUR maiņas kursus, izmantojiet šādu kodu:

Atlases struktūra = new Structure("Valūta", Vārdnīcas.Valūtas.FindBy Name("EUR")); Selection = Informācijas reģistri.Valūtas kursi.Select(,SelectionStructure); Kamēr Selection.Next() LoopRecordManager = Selection.GetRecordManager(); Selection.GetRecordManager().Dzēst(); EndCycle;

Lai ātri un pilnībā notīrītu reģistru, varat izmantot šādu kodu:

NewRecord =RegistersInformation.TestRegister.CreateRecordSet(); NewRecord.Record();

Lai labotu un mainītu reģistru, kā arī ātri aizpildītu reģistru ar datiem, var uzrakstīt vispārīgu apstrādi.

Līdzīgi raksti

2023 dvezhizni.ru. Medicīnas portāls.