Merhaba,
LOD'un kullandığı dil özelliklerine göre kodlanmamış olabilir. Örneğin parantezlerin "()" değil "[]" olması gerekliliği gibi.
Aşağıda LOD için bir muhasebe fişi ekleme örneği ekliyorum, bu örneğe göre kodunuzda syntax problemi varsa (hata mesajı bunu işaret ediyor) düzenleyebilirsiniz;
GLVoucher = Application.NewDataObject(26)
GLVoucher.New()
GLVoucher.DataFields.FieldByName("TYPE").Value = 4
GLVoucher.DataFields.FieldByName("NUMBER").Value = "555"
GLVoucher.DataFields.FieldByName("DATE").Value = "28.12.2006"
GLVoucher.DataFields.FieldByName("TOTAL_DEBIT").Value = 10000000
GLVoucher.DataFields.FieldByName("TOTAL_CREDIT").Value = 10000000
GLLines = GLVoucher.DataFields.FieldByName("TRANSACTIONS").Lines
If GLLines.AppendLine() Then
GLLines[0].FieldByName("GL_CODE").value = "100"
GLLines[0].FieldByName("DEBIT").value = 10000000
GLLines[0].FieldByName("DESCRIPTION").value = "UnityObject'ten (Borç)"
End If
If GLLines.AppendLine() Then
GLLines[1].FieldByName("SIGN").value = 1
GLLines[1].FieldByName("GL_CODE").value = "120"
GLLines[1].FieldByName("CREDIT").value = 10000000
GLLines[1].FieldByName("DESCRIPTION").value = "UnityObject'ten (Alacak)"
End If
If Not GLVoucher.Post() Then
if (GLVoucher.ValidateErrors.Count > 0) then
tmpErrStr = "XML Hatası mevcut!"
Cntr = GLVoucher.ValidateErrors.Count
For ilp = 0 To (Cntr - 1)
vID = GLVoucher.ValidateErrors.Item[ilp].ID
Str(vID, strvID)
tmpErrStr = tmpErrStr + strvID + " , " + GLVoucher.ValidateErrors.Item[ilp].Error
Next ilp
warn(tmpErrStr)
Else
tmpErrStr=""
tmpErrStr = "DB Hatası mevcut!"
ErrId = GLVoucher.ErrorCode
Str(ErrId, strErr)
ErrDef = ""
ErrDef = GLVoucher.ErrorDesc
tmpErrStr = tmpErrStr + "Hata Kodu : " + strErr + " " + ErrDef
warn(tmpErrStr)
End if
end if
GLVoucher = null
GLLines = null
Merhaba
Kasa işlemleri dışındaki fişlerde problem olmuyor. Rica etsem kasa nakit tahsilat veya kasa alınan hizmet faturası örneği gönderebilir misiniz?
Merhaba,
Naci beyin iletisinden yola çıkarak aşağıdaki kod satırı oluştu. Attachment_Invoice ve Transactions xml tagleri ile ilgili problem varmış.
Fis = Application.NewDataObject(29)
Fis.New()
Fis.DataFields.FieldByName("TYPE").Value = 38
Fis.DataFields.FieldByName("SD_CODE").Value = "100.01.0001"
Fis.DataFields.FieldByName("NUMBER").Value = "~"
Fis.DataFields.FieldByName("DATE").Value =today
Fis.DataFields.FieldByName("DOC_DATE").Value =today
Fatura = Fis.DataFields.FieldByName("ATTACHMENT_INVOICE").Lines
if Fatura.AppendLine() Then
Fatura[0].FieldByName("TYPE").value =9
Fatura[0].FieldByName("DATE").value =Today
Fatura[0].FieldByName("DOC_DATE").value =Today
Fatura[0].FieldByName("TIME").value = 0
Fatura[0].FieldByName("NUMBER").value ="~"
End If
Satir = Fatura[0].FieldByName("TRANSACTIONS").Lines
If Satir.AppendLine() Then
Satir[0].FieldByName("TYPE").value =4
Satir[0].FieldByName("MASTER_CODE").value = "600.01.0001"
Satir[0].FieldByName("QUANTITY").value = 1
Satir[0].FieldByName("PRICE").value = 150
Satir[0].FieldByName("UNIT_CODE").value = "ADET"
Satir[0].FieldByName("VAT_RATE").value = 18
End If
Fis.FillAccCodes()
If Not Fis.Post() Then
if (Fis.ValidateErrors.Count > 0) then
tmpErrStr = "XML Hatası mevcut!"
Cntr = Fis.ValidateErrors.Count
For ilp = 0 To (Cntr - 1)
vID = Fis.ValidateErrors.Item[ilp].ID
Str(vID, strvID)
tmpErrStr = tmpErrStr + strvID + " , " + Fis.ValidateErrors.Item[ilp].Error
Next ilp
warn(tmpErrStr)
Else
tmpErrStr=""
tmpErrStr = "DB Hatası mevcut!"
ErrId = Fis.ErrorCode
Str(ErrId, strErr)
ErrDef = ""
ErrDef = Fis.ErrorDesc
tmpErrStr = tmpErrStr + "Hata Kodu : " + strErr + " " + ErrDef
warn(tmpErrStr)
End if
end if
if Fis.ValidateErrors.Count=0 then
warn("Başarılı")
end if
Fis = null
Satir = null
Cevap vermek için giriş yapmanız gerekmektedir.
Soru sormak için lütfen oturum açınız.
LOD ile Kasa İşlemleri
26/08/18 23:38   Tiger/Logo Object Designer (LOD)Merhaba,
LOD ile kasadan alınan hizmet faturası örneğini paylaşabilir misiniz? Object DLL tarafındaki kodları uyguladığımda "Method call error IQFormProxy.ButtonClick Undefined." uyarısı alıyorum. Malzeme fişi, cari hesap kartı açarken problem yok.
Teşekkürler.