Bilgi kayıt girişlerini oluşturun ve silin. Bilgi kaydı girişlerinin oluşturulması ve silinmesi 1s 8 periyodik bilgi kaydı belgeye göre değişiklik

hızlı geçiş

Eksiksiz temizlik için yazılım seçeneği:

Bir kayıt girişi yaptığınızda, bilgiler hızlı bir şekilde silinecektir. Bilgi kaydı büyükse, bu biraz zaman alır, ancak genellikle birkaç saniye sürer.

Kayıt Kümesi bir kayıt grubunu yönetmek için özel bir "yönetici" dir.

Boyutlara göre seçim ayarlanmamışsa ve ilk okuma Read() yöntemiyle gerçekleştirilmiyorsa, Write() çağrısı sırasında mevcut boş durum kaydedilir.

Bilgi kayıt girişlerini etkileşimli olarak silme

Yapılandırmanın yönetilen çalışma modunda, varsayılan olarak, çoklu kayıt girişi seçimi etkinleştirilir ve kayıt bağımsızsa (kayıt şirketi belgesine bağlı değilse), bir giriş grubunu silmek mümkündür.

Shift ve tüm kayıtları Ctrl + A komutuyla seçin ve "Sil" e veya bağlam menüsünden "Sil" e basın

Kayıt sayısı 1000'den fazla ise sistem seçim yaparken işlemlerin süresi ile ilgili uyarı verecek ancak seçimin devam etmesine izin verecektir.

5000'den fazla giriş içeren listelerde, tablo alanındaki satırların listesi arttığında çalışması önemli ölçüde yavaşladığından, bu yöntemin kullanılması önerilmez.

Normal formlarda, her seferinde bir satırın silinmesi standarttır.

Bilgi kayıt girişlerini silmek için işleniyor

  • Kayıt girişlerini değiştirme ve silmeye ek olarak, isteğe bağlı bir algoritma kullanma yeteneği eklendi.
  • Listeden RS seçildiğinde, form dinamik bir kayıt listesi görüntüler.
  • Geçerli kaydı değiştirmek için doğrudan form üzerinde alanlar oluşturur. Girişleri değiştirebilir, ekleyebilir, silebilirsiniz.
  • Bir kayıt grubu için (dinamik bir listede vurgulanan satırlar), boyutlar dahil olmak üzere alanları değiştirebilirsiniz. ÖNEMLİ: Kayıt üzerine yazma modundadır, bu nedenle son kayıt zaten varsa veya bir kayıt grubunun tek boyutunu değiştirdiyseniz, sonuçlar felaket olabilir. Ama umarım ne yapacağını anlamışsındır.
  • Alanları değiştirirken çerçeve vurgulanır. Her zaman neyin değişeceğinin farkındasın. Bu özellikle kayıt grupları için geçerlidir.
  • İndirme modunda kayıt yapmak mümkündür
  • Ek kayıt özellikleri ayarlamak mümkündür (bazen çok önemlidir)
  • Ayrıcalıklı modu kullanır.
Bilgi kayıtlarının Gmix'ten işlemeye dayalı grup işlemesi
  • Bilgi kayıtlarının kayıtlarının değiştirilmesi (birinden tüm alanlara), silinmesi ve kopyalanması (istenilen sayıda alanın değiştirilmesiyle).

Çok uzun zaman önce, bilgi kaydını temizlemem gerekiyordu. Bu kayıt, bazı yapılandırma nesnelerindeki değişikliklerin geçmişini tuttu ve birkaç milyon giriş içeriyordu.

Kayıt memuruna bağlı olmayan bilgi kaydını programlı olarak temizlemenin olağan yolu, boş bir kayıt seti yazmaktır, bunun gibi bir şey:

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

Kayıt Kümesi=RegistersInfo. Bizim Kayıt CreateRecordSet() ;

Kayıt Kümesi. Yazmak() ;

Ancak bu durumda, kaydı bu şekilde temizlemek saatler alacaktır. Bu nedenle, başka bir yöntem seçildi - bilgi kaydını temizlemenin hızlı bir yolu.

Adım 1. Veritabanının yedek bir kopyasını oluşturuyoruz. Bu öğe elbette zorunlu değildir, ancak potansiyel olarak tehlikeli herhangi bir eylemden önce bir yedek kopya alma alışkanlığı kesinlikle sinirlerinizi / zamanınızı / maaşınızı / kariyerinizi kurtaracaktır.

Adım 2. Gerekli bilgi kaydını kopyalıyoruz.

Adım 3. Orijinal bilgi kaydını silin

Adım 4 Kopyayı orijinal olarak yeniden adlandırın ve değişiklikleri uygulayın.

Bu kadar basit bir şekilde, bilgi kaydının temizlenmesi, bu kaydın boyutuna bakılmaksızın birkaç dakika sürecektir. Aradaki fark, ikinci yöntemde bilgi kayıt tablosunun tamamen silinmesidir ki bu çok daha hızlıdır.

Hemen hemen her yapılandırma öğesi benzer şekilde temizlenebilir. Ancak elbette böyle bir işlemden sonra muhasebenin doğruluğunu kimse garanti etmez.

Bir hata veya yanlışlık bulduysanız, lütfen bir metin parçasını vurgulayın ve tıklayın. Ctrl+Enter.

Bu yazıda, nasıl yapılacağına bakacağız. bilgi kayıt girişlerini sil ve yaz. Ve her şeyden önce, çünkü kayıtların silinmesini ele alacağız. önemli olan yeni kayıtlar oluşturmak değil, var olanları kurtarmaktır.

Ve bilgi kaydının dikkatsizce kullanılmasıyla, aşağıda gösterilecek olan mevcut tüm girişleri silmek çok kolaydır. Örnek olarak, aşağıdaki bilgi kaydını kullanacağız

Bilgi kayıt girişlerini silme

Bildiğiniz gibi, bilgi kaydıyla çalışmak için bir dizi kayıt kullanılır. Kaydımız için iki basit kod satırı yazalım ve yürütme için çalıştıralım.

Kayıt Kümesi = Kayıt Bilgileri. Fiyat. CreateRecordSet() ; Kayıtları Ayarla. Yazmak() ;

Tebrikler! Bilgi defterindeki tüm kayıtları havaya uçurduk. Boş bir kayıt kümesi yazarken suç teşkil eden hiçbir şey olamaz gibi görünse de. Ancak sözdizimi asistanına dönerseniz, herhangi bir çelişki olmadığını görebilirsiniz. Kayıt kümesini ve yöntemde yazarsak Yazmak() parametreler belirtilmemiş Yalan(ve varsayılan olarak True yazılır), ardından mevcut kayıt kümesi, belirlenen seçime göre yazdığımız kayıt kümesiyle değiştirilir. Seçimi ayarlamadığımız için, tüm kayıt girişleri değiştirilmek üzere seçilir ve boş bir giriş grubuyla başarılı bir şekilde değiştirilir. Ve bu, 1C'de ilk gün olmayan geliştiricilerin bazen üzerine bastığı bir komisyondur. Bu arada, kasıtlı olarak kaydı tamamen temizlemek istiyorsak, kullanmamız gereken yöntem budur. Buna dikkat çekiyorum, çünkü çoğu zaman, silmeden önce bir dizi kayıt okunduğunda, ardından temizlendiğinde ve ancak o zaman yazıldığında kod vardır. Kayıt setini okumak ve silmek burada tamamen gereksiz olsa da.

Şimdi tüm kayıt girişlerini değil, yalnızca belirli boyut değerlerine sahip olanları silmemiz gerektiğini hayal edin. Bu durumda eylem algoritması aynıdır, yalnızca kaydetmeden önce boş kayıt kümemiz için uygun filtreyi ayarlamak gerekir. Örnek olarak, aynı bilgi kaydını ele aldık - Fiyat. Orada aşağıdaki kayıtların olduğunu hatırlatmama izin verin

Diyelim ki girişleri silmek istiyoruz Ürün - Kalem, A Dönem - 01/01/2017. Periyodik bilgi kayıtları için seçimin yalnızca boyutlara göre değil, döneme göre de ayarlanabileceğini hatırlatmama izin verin. Bu durumda kodumuz aşağıdaki gibi olacaktır.

Kayıt Kümesi = Kayıt Bilgileri. Fiyat. CreateRecordSet() ; Kayıtları Ayarla. Seçim. Dönem. Set("20170101"); Kayıtları Ayarla. Seçim. Ürün. Set(Directories.Goods.FindByName("Kalem" ) ) ; Kayıtları Ayarla. Yazmak() ;

Yönteme de dikkat çekmek istiyorum. Düzenlemek(). Seçimdeki karşılaştırma türünün eşittir bu yöntem, seçimi minimum miktarda kodla ayarlamanıza olanak tanır.
Bu kodu çalıştırdıktan sonra, aşağıdaki girişler kaydımızda kalacaktır.

Kayıtları silerken elbette daha karmaşık durumlar olabilir. Örneğin, belirli kaynak veya ayrıntı değerleri için kayıtları silmeniz gerektiğinde.

Burada seçimi kullanmak artık mümkün değil, çünkü. yalnızca boyutlar, kaydediciler ve dönemler için ayarlanabilir. Ve burada zaten bir veya daha fazla kayıt setini gözden geçirmeniz, tek tek kayıtları silmeniz ve setin üzerine yazmanız gerekiyor.

Bilgi kaydına girişler ekleme

Bilgi kaydı girişleri oluşturmaya örnek olarak, önceden silinmiş girişleri geri yükleyeceğiz

Kayıt Kümesi = Kayıt Bilgileri. Fiyat. CreateRecordSet() ; Kayıtları Ayarla. Seçim. Dönem. Set("20170101"); Kayıtları Ayarla. Seçim. Ürün. Set(Directories.Goods.FindByName("Kalem" ) ) ; Yeni Kayıt = Kayıt Kümesi. Eklemek() ; Yeni giriş. Dönem = "20170101"; Yeni giriş. Satıcı = Dizinler. Karşı taraflar. FindByName("LLC "Lesprom" "" ) ; Yeni giriş. Ürün = Dizinler. Mal. FindByName("Kalem" ) ; Yeni giriş. Miktar = 10 ; Yeni Kayıt = Kayıt Kümesi. Eklemek() ; Yeni giriş. Dönem = "20170101"; Yeni giriş. Satıcı = Dizinler. Karşı taraflar. FindByName("PJSC ""Kırtasiye" "" ) ; Yeni giriş. Ürün = Dizinler. Mal. FindByName("Kalem" ) ; Yeni giriş. Toplam = 27; Kayıtları Ayarla. Yaz(Yanlış) ;

yöntemde Yazmak() mevcut girişleri değiştirmekten sorumlu parametre şu şekilde ayarlanmıştır: Yalan. Bu, kayıt kümemizin yalnızca mevcut olana ekleneceği anlamına gelir. Kod ilk kez başarılı bir şekilde çalışır. Bu kodu tekrar çalıştırmayı denersek bir hata mesajı kutusu alırız, çünkü zaten böyle bir ölçüm setine sahip kayıtlarımız var ve aynısından bir tane daha eklemek imkansız.


Ancak geçersiz kılma modunu şu şekilde ayarlarsak Gerçek, yeniden kayıt sırasında herhangi bir hata oluşmayacaktır, çünkü mevcut girişlerin üzerine yazılacaktır.

Bir dizi kayıt yerine tek bir kayıtla çalışmanız durumunda, kayıt yöneticisini kullanabilirsiniz.

1C'de birkaç kayıt türü vardır:

  • Bakiyeleri veya ciroları sayısal biçimde depolayan birikimler;
  • Hesaplama türlerini ve hesaplamaların kendisini saklayan hesaplamalar genellikle maaş bordrosu için kullanılır;
  • Dt-Kt şeklinde muhasebe hesaplamalarına ilişkin verileri olan muhasebe departmanları;
  • bilgi kayıtları.

Ölçüm bölümlerine göre veri tabanından veri derlemeye izin verdiği için ikincisi üzerinde daha ayrıntılı olarak duracağız. Örneğin, "Fiyat terminolojisi", belirli bir terminoloji ve belirli bir fiyat türü için özelliklerin verilerini saklar.

Şekil 1 Kayıt "Fiyat terminolojisi"

Özellikler

Kayıt, değişiklik sırasını kaydetmenin gerekli olmadığı durumlarda hem periyodik hem de periyodik olmayabilir. Ancak yine de saklamanız gerekiyorsa, programın kayıtların benzersizliği üzerinde hangi süre içinde kontrol kuracağı belirlenir: saniyede, günde, ayda, çeyrekte ve yılda.


Şekil.2 Periyodiklik ve kayıt modu

Aynı süre içinde iki kayıt oluşturmaya çalışırsanız, program "Böyle anahtar alanlara sahip bir kayıt var!" hatası verecektir. ve veritabanına yazmanıza izin vermez.

Kayıt modunu da belirleyebilirsiniz. Kayıtların belgelerle kaydedileceği ve her birinde belge-kayıt memuru belirtilecektir. İkinci - bağımsız modu seçerseniz, veriler kayıt şirketi tarafından kaydedilmez, örneğin doğrudan listeden veya işlenirken eklenir.


Şekil.3 Kayıt modları

Periyodik kaydın özelliği, belirli bir tarih için son / ilk ayarlanan değer hakkında veri tabanından hazır değerler alarak son veya ilk olanlardan bir dilim kullanabilmenizdir.

Bilgi kaydına giriş 1C

Boyutlar bağlamında kaynaklar hakkında bilgi içeren bir kayıt defterinde noktalı satırlara ve kayıt memuruna kayıt denir.

Bir kayda girdi eklemek için ya girdi yöneticisi ya da girdi seti kullanılır. Defterdeki girişlerin ortak bir anahtarı varsa, bir Kayıt Kümesi kullanılmalıdır. Ve tek bir kaydı kaydetmek için, kayıttaki tüm kayıtlar benzersizse, RecordManager'ı kullanmanız gerekir.

RegisterRegisterRecordSet nesnesini kullanırken bir kayıt örneği.

Kayıt Yöneticisini Kullanma:

NewRecord = RegistersInformation.Currency Rates.CreateRecordManager(); NewRecord.Currency = References.Currencies.FindByName("USD"); NewRecord.Period = Tarih(31,12,2016); YeniKayıt.Kurs = 100; NewRecord.Multiplicity = 1; NewRecord.Record();

Bir kayıt kümesi ve Write yöntemini kullandığınızda, kayıt kümesinin ayrıntılar kaydına bir kayıt yazılır. Bu durumda, hem sadece satır ekleme hem de kayıttaki mevcut satırları değiştirme gerçekleşebilir. Bağımsız kayıtlar için, filtre ayarlamadan, kayıttaki tüm girişler silinecek ve eklenen kayıtlarla değiştirilecektir.

Bir bağımlı kayda seçim yapmadan veri yazarsanız, bir hata oluşur.

Kayıt şirketi FiyatlarNomenclature'a bağlı bilgi kaydındaki bir kayıt kümesini kullanan bir kayıt örneği:

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

Kayıt yöneticisi aracılığıyla kaydetmeye bir örnek:

Kayıt = RegistersInformation.Currency Rates.CreateRecordManager(); Record.Period = Tarih; Record.Course = Course; Record.Currency = Para Birimi; Yaz.Yaz();

Bilgi kaydında arama ve okuma

Bilgi kaydındaki bir girişi bulmak ve okumak için sorguların yardımına ihtiyacınız var. Örneğin, belirli bir kayıt şirketi tarafından girilen fiyatları almamız gerekiyor:

Öğelerin Fiyatlarını SEÇİN.İsimlendirme, Öğelerin Fiyatları.Bilgi Kayıt Defterinden Fiyat.Ürünlerin Fiyatları OLARAK Öğelerin Fiyatları NEREDE Öğelerin Fiyatları.Kayıt Şirketi = &Kayıt Şirketi

Girişleri düzenleme ve silme

Bir bilgi kaydı girişini, örneğin tüm EUR döviz kurlarını silmek için aşağıdaki kodu kullanın:

Seçim Yapısı = yeni Yapı("Para Birimi", Dictionaries.Currencies.FindBy Name("EUR")); Seçim = Bilgi Kayıtları.Döviz Kurları.Seç(,Seçim Yapısı); Selection.Next() LoopRecordManager = Selection.GetRecordManager(); Selection.GetRecordManager().Delete(); Döngü Sonu;

Kaydı hızlı ve tamamen temizlemek için aşağıdaki kodu kullanabilirsiniz:

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

Kaydı düzeltmek ve değiştirmek ve ayrıca kaydı verilerle hızlı bir şekilde doldurmak için genel bir işlem yazabilirsiniz.

benzer makaleler

2023 dvezhizni.ru. Tıbbi portal.