BatchErrorMode Nesnesi

Tanım


Bir uygulamada; toplu işlem (batch processing) yapılırken, yazılım kendisinin sahip olduğu her türlü uyarı, hata veya mesaj kutusunu, toplu işlem bitene veya nesne sonlandırılına kadar ekranda göstermeyip,  topluca baskı öncesi ekranda göstermeye yarayan bir nesnedir.


Toplu bir işlem sırasında, aynı işlemin defalarca yapıldığını ve işlem sonucunda da, sistemin bir mesaj ürettiğini düşününün. Üretilen mesajların, mesaj kutuları ile ekranda gösterilmesi işlem sayısına göre büyüklüğü artan bir problem yaratır. Yönteme göre ya kullanıcı defalarca bir tuşa basacak, ya da ekranda mesajları okumaya zamanı kalmadan sistem kendi kendi mesaj kutularını kapatacaktır. Bu şekilde kullanıcı ile iletişim kurmak,  gerçekten verimsiz bir yöntem olacaktır. Bu durumlara BatchErrorMode nesnesi kullanılarak, tüm mesajların işlem bittikten sonra baskı öncesi ekranda izlenmesi olanağı sağlanır. Bu sayede, mesajların kağıda basılması veya saklanması olanğıda doğar.


Dinamo ERP’ye özgü bir nesne olduğundan, yazılımın ana nesnesi Document’in, nesne yaratma metodu (CreateSObject) kullanılmalıdır. Nesnenin sahip olduğu herhangi bir fonksiyon, metod veya eleman bulunmamaktadır.


Yaratılma Şekli

Set BatchErrorMode Nesnesi = Document.CreateSObject("BatchErrorMode")


Geri Dönen Değerler

Bir nesne olduğu için herhangi bir geri dönen değeri yoktur.

Hatırlatmalar

BatchErrorMode nesnesi, uygulamada bir değişkene atandığı yerden itibaren sonladırılana veya içinde bulunduğu prosedürün (Sub) bittiği ana kadar etkisini gösterir.

Sonlandırmak için nesnenin atandığı değişken iptal edilmelidir. “Set BatchErrorMode Nesnesi = Nothing” komutu nesnenin iptalini sağlar.

Sadece Dinamo ERP mesaj, hata fonksiyonları için geçerlidir. Örneğin, vbScript msgbox fonksiyonu bu nesneden etkilenmez.


Örnek


Sub Makro1()

       Dim Batch

       Set Batch = Doc.CreateSObject("BatchErrorMode")        

       For i = 1 to 10

               Doc.MsgBox (i & ". işlem yapılıyor")

       Next        

       Set Batch = Nothing

       Doc.MsgBox("İşlem Tamamlandı.")

End Sub



Yukarıdaki örnekte, BatchErrorMode nesnesi Batch isimli değişkene atanmış ve atama yapıldığı andan itibaren devreye girmiştir. BatchErrorMode nesnesi kullanmamış olsaydık, yazılım sahip olduğu mesaj kutusu, ekrana 10 (on) defa gelecekti. Her seferinde işlem bir tuşa basana kadar bekleyecekti.


BatchErrorMode nesnesi görevini; “Set Batch = Nothing” satırı ile sonlandırına kadar yapacaktır. Sonraki mesaj kutusu ise normal bir şekilde ekranda gösterilecektir. Aşağıdaki ekran görüntüsünde, örneğimizin sonucu görülmektedir.