Save_Voucher Fonksiyonu

Tanım


Direkt girilmiş veya yaratılmış olan herhangi bir uygulamada, yüklü olan dökümanı kaydetmek için  kullanılan bir fonksiyondur. Fonksiyon kullanılarak yapılan kayıtlarda, uygulamanın tüm kontrol ve denetim mekanizmaları çalışmaktadır.

Kullanım Şekli


Değişken = Document.Save_Voucher()

Ana Nesne

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

Parametreler

Herhangi bir parametresi bulunmamaktadır.

Geri Dönen Değerler


Kaydedilmek istenen evrağın, kaydedilme durumuna göre bir tam sayı değeri dönülür. Kayıt başarılı ise 0 (sıfır) değeri, hatalı ise hatanın oluşma şekline göre başka bir tamsayı değeri geri dönülür. Bir değişkene atanarak kullanılabilir.

Hatırlatmalar


Bir uygulamaya özel yazılmış makrolarda, standart Doc değişkeni ile kullanılır. Kod içinde yaratılmış uygulamalarda ise, yaratılan uygulamanın atandığı document nesnesi ile kullanılmalıdır.

Örnek


Sub Makro1()

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

       Kriter = "KOD='" & CariKod & "'"

       Set C00 = Doc.Select1("ABC002","CARI00",Kriter,"",1)

       IlgiliKisi = trim(C00.KONTAKTNAME_1)

       Mesaj = "Veritabanındaki " & CariKod & " cari hesap kodunun ilgili kişisi : " & IlgiliKisi

       DokumanAdi = "T_CARI00"

       UygulamaKodu = "CARI00"

       if CariKod <> "" and IlgiliKisi = "" then

               Set DocC00 = Doc.CreateDocumentNoUI(UygulamaKodu,DokumanAdi)

               If DocC00 Is Nothing Then        

                       Doc.MsgBox "Cari Hesap Kartı Uygulaması Yaratılamadı."

                   Exit Sub

               End If

               RetCode = DocC00.Load_Voucher(CariKod)

               Set CH00 = DocC00.GetTableObject("CARI00")

               CH00.KONTAKTNAME_1 = "Tanımsız"

               RetCode = DocC00.Save_Voucher()

               If retcode <> 0 Then

                       Doc.MsgBox "Kayıt Hatalı. Kayıt Yapılamadı. Hata No : " & RetCode

                       retcode = DocC00.LoadEmpty_Voucher

                       retcode = DocC00.DeleteDocumentNoUI(UygulamaKodu, DokumanAdi)

                         Exit Sub

               End If

                 retcode = DocC00.LoadEmpty_Voucher

               retcode = DocC00.DeleteDocumentNoUI(UygulamaKodu, DokumanAdi)

       end if

       Set C00 = Doc.Select1("ABC002","CARI00",Kriter,"",1)

       IlgiliKisi = trim(C00.KONTAKTNAME_1)

       Mesaj = Mesaj & Chr(13) & "Veritabanındaki " & CariKod & " cari hesap kodunun atanan ilgili kişisi : " & IlgiliKisi

       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, satırdaki cari hesabın kartınının, bir cari hesap uygulaması yaratılarak, KONTAKTNAME_1 alanı sorgulanmıştır. Eğer KONTAKTNAME_1  alanının değeri boş ise, yaratılan DocC00 cari hesap kartı uygulaması kullanılarak ilgili alanın değeri “Tanımsız” olarak değiştirilip kaydedilmiştir. Örnek makro sonucu, aşağıdaki mesaj kutusunda verilmiştir.



Paylaşım Makrosu