merhaba,
Lod içerisinden objecti kullanabilirsiniz. Aşağıda bir örnek paylaşıyorum.
if ctrl = "Button1" then
invref=3
Invoice = Application.NewDataObject(19)
If Invoice.Read(invref) Then
warn(Invoice.DataFields.FieldByName("NUMBER").Value)
Else
warn("okunmadı.")
Exit Sub
End If
InvoiceLines = Invoice.DataFields.FieldByName("TRANSACTIONS").Lines
a=0
a=InvoiceLines.Item[0].FieldByName("QUANTITY").Value
InvoiceDetLines = InvoiceLines.Item[0].FieldByName("SL_DETAILS").Lines
b=0
b=InvoiceDetLines.item[1].FieldByName("SOURCE_QUANTITY").Value
If InvoiceDetLines.DeleteLine(1) Then
InvoiceLines.item[0].FieldByName("QUANTITY").Value = a-b
Else
warn("satır silme false")
End If
If Invoice.Post() Then
warn("post ok")
Else
warn("post false")
End If
end if
Eray Bey merhaba,
LOD içerisinde object kullanımlarında Application nesnesinden türetilen metot kullanımlarında login olmaya yada ayrı bir object lisansına gerek yoktur. Aşağıda sizinle malzeme fişi aktarım örneğini paylaşıyorum. Sizinde bildiğiniz gibi bütün fiş aktarımları benzer. Siz istediğiniz fişe göre XML çıktısı alıp alanları değiştirirsiniz.
Ancak her sınıf için bu geçerli değil. UnityObjects,OleObject gibi türetmeler de Login olup exe'yi ayağa kaldırmanız ve işlem bitince kill etmeniz gerekecektir. Örneğin hızlı üretim için örnek kodu ikinci blokta paylaşıyorum.
Malzeme Fişi Örneği
objFire = Application.NewDataObject(1)
objFire.New()
objFire.DataFields.FieldByName("GROUP").Value = 3
objFire.DataFields.FieldByName("TYPE").Value = aktTyp
objFire.DataFields.FieldByName("NUMBER").Value = "~"
objFire.DataFields.FieldByName("DATE").Value = day
objFire.DataFields.FieldByName("AUXIL_CODE").Value = "D"
objFire.DataFields.FieldByName("FOOTNOTE1").Value = strNote
objFire.DataFields.FieldByName("DOC_NUMBER").Value = strFisNo
objFire.DataFields.FieldByName("SOURCE_WH").Value = 6
objFire.DataFields.FieldByName("CURRSEL_TOTALS").Value = 1
transactions_lines = objFire.DataFields.FieldByName("TRANSACTIONS").Lines
i = 0
For i = 0 To intSatSay - 1
'GetCellInt(mgrd, i, 10008, logRef)
GetCellFloat(mgrd, i, 3, aksFlt)
GetCellText(mgrd, i, 1, codeTxt)
GetCellText(mgrd, i, 4, brmTxt)
GetCellFloat(mgrd, i, 5, fltTutar)
if codeTxt <> "" and aksFlt <> 0 then
If transactions_lines.AppendLine() Then
transactions_lines[i].FieldByName("ITEM_CODE").Value = codeTxt
transactions_lines[i].FieldByName("LINE_TYPE").Value = 0
transactions_lines[i].FieldByName("SOURCEINDEX").Value = 6
' transactions_lines[i].FieldByName("LINE_NUMBER").Value = 1
transactions_lines[i].FieldByName("QUANTITY").Value = aksFlt
transactions_lines[i].FieldByName("PRICE").Value = fltTutar
transactions_lines[i].FieldByName("UNIT_CODE").Value = brmTxt
End if
end if
Next i
If Not objFire.Post() Then
if (objFire.ValidateErrors.Count > 0) then
tmpErrStr = "XML Hatası mevcut!"
Cntr = objFire.ValidateErrors.Count
For ilp = 0 To (Cntr - 1)
vID = objFire.ValidateErrors.Item[ilp].ID
Str(vID, strvID)
tmpErrStr = tmpErrStr + strvID + " , " + objFire.ValidateErrors.Item[ilp].Error
Next ilp
warn(tmpErrStr)
Else
tmpErrStr=""
tmpErrStr = "DB Hatası mevcut!"
ErrId = objFire.ErrorCode
Str(ErrId, strErr)
ErrDef = ""
ErrDef = objFire.DBErrorDesc
tmpErrStr = tmpErrStr + "Hata Kodu : " + strErr + " " + ErrDef
warn(tmpErrStr)
End if
Else
end if
Hızlı Üretim Örneği
UnityApp=OleObject("UnityObjects.UnityApplication")
res=UnityApp.Login("UYARLAMA","",comId)
UnityApp.ProdApp=OleObject("UnityObjects.ProductionApplication")
ProdApp.RefList=OleObject("UnityObjects.QuickProdSlipRefLists")
PackTime(12,12,12,tval)
QProd = ProdApp.QuickProdFicheProc(logRef, urtFlt, RefList,intDate,tval,0,0)
if QProd = true then
srfLref = RefList.UsageSlips.Item[0].lref
UnityApp.Disconnect()
ProdApp.RefList = null
UnityApp.ProdApp = null
UnityApp = null
quilt.CollectGarbage()
end if
Merhaba , Elif hanım teşekkürler ilginize ..
Uluç bey detaylı bilginiz için çok teşekkürler 2 tür örnek oldu çoğaltmasını bugün yapacağım eksik olmayın . İyi çalışmalar.
Cevap vermek için giriş yapmanız gerekmektedir.
Soru sormak için lütfen oturum açınız.
Lod ile Object Kullanım Örneği
08/12/17 11:25   Tiger/Logo Object Designer (LOD)Merhaba ,
Logo Object Designer içinde object i kullanarak insert işlemi yapabilir miyiz ?
Yapılabiliyor ise örnek paylaşır mısınız ?
Örn. Satış İrsaliyesi.
lodileobject object lod