GetDocumentNoUI Fonksiyonu

Tanım


Bellekte ekranda gösterilmeden ve başka bir firmaveya dönemin veritabanına bağlanarak daha önceden yaratılmış olan bir uygulamayı tekrar çağıran fonksiyondur. Kullanıcı tarafından yaratılan bir uygulama; ana uygulamadan çıkana kadar veya kullanıcı tarafından sonlandırılana kadar, kullanıcının verdiği döküman adı ile bellekte kalır. Dolayısı ile bellekte durduğu sürece istenildiği zaman kullanılabilir. Tekrar çağrılmak istenen uygulama, CreateDocumentNoUI2 fonksiyonu ile yaratılmış olmalıdır.

Kullanım Şekli


Set DocumentNesnesi = Document.GetDocumentNoUI2(UygulamaKodu, DökümanAdı, FirmaKodu)

Ana Nesne


Document (Doc) nesnesinin elemanıdır. Bir doküman nesnesi ile kullanılmak zorundadır.

Parametreler


Parametre

Açıklama

UygulamaKodu

Bellekte duran ve takrar çalışması istenen Dinamo ERP uygulama kodu. Uygulama kodlarını, uygulamanın çalıştığı pencere başlığında bulabilirsiniz. Örneğin Cari Hesap Kartı uygulamasını çalıştırdığınızda, pencere başlığında gerek uygulamanın adını,  gerekse de uygulama kodunu (CARI00) görebilirsiniz.

DökümanAdı

Tekrar çağrılacak uygulamaya verilmiş olan ad. Bellekte, aynı uygulamadan birden fazla yaratıldığında, doküman adı kullanmak zorunludur. Sadece bir tane yaratılacaksa, boş bile bırakılabilir.

FirmaKodu

Tekrar çağılacak uygulamanın firma kodu ve dönemi. Firma kodu ve dönemi arasında alt çizgi olmalıdır. “TEST_2014” gibi.

Geri Dönen Değerler


Bellekte var olan, DökümanAdı ve FirmaKodu verilen uygulamayı tekrar aktif hale getirir. Bir document nesnesine atanarak (set edilerek) kullanılmalıdır.

Hatırlatmalar


Sadece yazılımda tanımlı olan uygulama kodları kullanılabilir.

Fonksiyon adındaki NoUI harfleri No User Interface kelimelerinden gelmektedir.

Bellekte duran ve sadece CreateDocumentNoUI2 fonksiyonu ile yaratılmış olan uygulamalar geri çağrılabilir.

Örnek


Sub Makro1()

       CariKod = Trim(CARI20T.KOD(CARI20T.GetCurrentRow()))

       UygulamaKodu = "CARI00"

       Set DocC00 = Doc.CreateDocumentNoUI(UygulamaKodu,"TCARI002014")

       Set DocC00 = Doc.CreateDocumentNoUI2(UygulamaKodu,"TCARI002016","TEST_2016")

       

       Set DocC00 = Doc.GetDocumentNoUI(UygulamaKodu,"TCARI002014")

       RetCode = DocC00.Load_Voucher(CariKod)

       Set CH00 = DocC00.GetTableObject("CARI00")

       Mesaj = Mesaj & Chr(13) & "TEST 2014 firmasında ki ilgili kişi : " & CH00.KONTAKTNAME_1

         retcode = DocC00.LoadEmpty_Voucher


       Set DocC00 = Doc.GetDocumentNoUI2(UygulamaKodu,"TCARI002016","TEST_2016")

       RetCode = DocC00.Load_Voucher(CariKod)

       Set CH00 = DocC00.GetTableObject("CARI00")

       Mesaj = Mesaj & Chr(13) & "TEST 2016 firmasında ki ilgili kişi : " & CH00.KONTAKTNAME_1

         retcode = DocC00.LoadEmpty_Voucher


       retcode = Doc.DeleteDocumentNoUI(UygulamaKodu, "TCARI002014")

       retcode = Doc.DeleteDocumentNoUI2(UygulamaKodu,"TCARI002016","TEST_2016")

       Doc.Msgbox(Mesaj)

End Sub




Yukarıdaki örnek makro, cari hesap fişinde çalışacak şekilde tanımlanmıştır. Kullanıcı üzerinde bulunduğu satırda makroyu çalıştırdığında, gerek çalışılan firma (TEST_2014) ve gerekse de başka bir firma (TEST_2016) veritabanına bağlanarak CARI00 uygulamalarını aynı nesne değişkenine atayarak yaratmıştır. Daha sonra her uyglumayı yaratılma şekline göre geri çağırıp, ana uygulamadaki cari hesap kartı yüklenmiş ve kartın içindeki KONTAKTNAME_1 adlı alanın değeri sorgulanmıştır. Yazılım, geri çağırma işleminde DökümanAdı parametresi ile kullanıcı tarafından verilen adı asıl kriter olarak kullanır. Örnek makro sonucu aşağıdaki mesaj kutusunda gösterilmiştir.





Paylaşım Makrosu