LOD CHECKBOX İŞLEMLERİ (CUSTOM TABLE ÜZERİNDEN)

Sub FormShow() 
    AppTables[12].GetIntFieldR(RecHandle,"LOGICALREF", ORDFICHEREF)  'ORFICHE
    'STR(ORDFICHEREF,ORDFICHEREFSTR)   'STRYE CEVRILMESSE WARNDA ACIKLAMA: EKLENEMEZ
    'warn("ORDFICEHREF:"+ORDFICHEREFSTR) 
    'CustTables[3].GetIntField("MUHUR_DURUMU", MUHUR_DURUMU)  'ORFICHE
    MUHUR_DURUMU=0
    DbErr=0
    CustTables[3].Search(2,2,ORDFICHEREF)
    if DbErr=0 Then
     CustTables[3].GetIntField("MUHUR_DURUMU",MUHUR_DURUMU) 
    end if
    if MUHUR_DURUMU>0 Then
      SetNumProp("chkMuhurDurumu", 1, MUHUR_DURUMU)  'SetNumProp(chckgroupboxname,itemid,1=checked/0=unchecked)     
    end if 
    'STR(MUHUR_DURUMU,MUHUR_DURUMUSTR)   'STRYE CEVRILMESSE WARNDA ACIKLAMA: EKLENEMEZ
    'warn("MUHUR_DURUMU:"+MUHUR_DURUMUSTR) 
End 
Sub AfterSave()
         tmp=0
         AppTables[12].GetIntFieldR(RecHandle,"LOGICALREF", ORDFICHEREF)  'ORFICHE
         GetNumProp("chkMuhurDurumu",1, tmp)
         'warn(tmp)
        'DB'ye Yazılıyor
         DbErr=0
         CustTables[3].Search(2,2,ORDFICHEREF)
         if DbErr<>0 Then
            CustTables[3].NewRecord()
            CustTables[3].SetIntField("MUHUR_DURUMU",tmp) 
         End if  
         DBErr=0
         CustTables[3].UpdateRecord()
         if DBErr<>0 then
            Warn(DBErr)
         end if
End Sub



LOGO BANKA TAHSİLE VERİLEN ÇEKLER SQL

SELECT 
CSROLL.BRANCH ISYERIKOD,
(SELECT D.NAME FROM L_CAPIDIV D WHERE D.FIRMNR={0} AND D.NR=CSROLL.BRANCH) ISYERI,
CSROLL.DEPARTMENT BOLUMKOD,
(SELECT D.NAME FROM L_CAPIDEPT D WHERE D.FIRMNR={0} AND D.NR=CSROLL.DEPARTMENT) BOLUM,
CSROLL.CYPHCODE YETKIKODU,
CSROLL.ROLLNO BORDRONO,
CSCARD.PORTFOYNO,
CSCARD.NEWSERINO CEKNO,
CSCARD.DUEDATE VADE, 
(SELECT B.CODE  FROM LG_{0}_BANKACC B WHERE B.LOGICALREF=CSROLL.CARDREF) BANKAKOD,
(SELECT B.DEFINITION_ FROM LG_{0}_BANKACC B WHERE B.LOGICALREF=CSROLL.CARDREF) BANKA,
(SELECT C.CODE  FROM LG_{0}_CLCARD C WHERE C.LOGICALREF= (SELECT CSROLL2.CARDREF FROM LG_{0}_{1}_CSROLL CSROLL2 WHERE  CSROLL2.TRCODE=1 AND
   CSROLL2.LOGICALREF IN (SELECT CSTRANS2.ROLLREF FROM  LG_{0}_{1}_CSTRANS CSTRANS2 WHERE CSTRANS2.CSREF =CSCARD.LOGICALREF)) ) CARIKOD,
(SELECT  C.DEFINITION_ FROM LG_{0}_CLCARD C WHERE C.LOGICALREF= (SELECT CSROLL2.CARDREF FROM LG_{0}_{1}_CSROLL CSROLL2 WHERE  CSROLL2.TRCODE=1 AND
   CSROLL2.LOGICALREF IN (SELECT CSTRANS2.ROLLREF FROM  LG_{0}_{1}_CSTRANS CSTRANS2 WHERE CSTRANS2.CSREF =CSCARD.LOGICALREF)) ) CARI,
CASE WHEN CSTRANS.TRCODE=5 THEN CSROLL.TOTAL ELSE 0 END TUTAR  
FROM LG_{0}_{1}_CSCARD CSCARD LEFT JOIN LG_{0}_{1}_CSTRANS CSTRANS ON CSTRANS.CSREF=CSCARD.LOGICALREF
LEFT JOIN LG_{0}_{1}_CSROLL CSROLL ON CSROLL.LOGICALREF = CSTRANS.ROLLREF
WHERE CSCARD.PORTFOYNO='PORTFOYD' AND CSTRANS.TRCODE IN (5)  

LOGO LOD- SATIŞ FATURA SATIRINA İKİNCİ MİKTAR GETİRME

Events:

Modules

Table:

Events:

Sub FormShow()
Call GetData()
End Sub

Sub BeforeSave(proceed as Integer)
Call SetLineArray()
End Sub

Sub AfterSave()
AppTables[14].GetIntFieldR(RecHandle,”LOGICALREF”,gSETLOGREF)
Call SetData(gSETLOGREF)
End Sub

Modules:

Dim LineDataArr1(200) as string

Sub GetData()
AppTables[14].GetIntFieldR(RecHandle,”LOGICALREF”,iMasrefRef)

 MaxGridLine=MGridLines("InvoiceGrid")
 for i=0 to MaxGridLine-1
   GetGridRowHandle("InvoiceGrid",i,recH)
   AppTables[9].GetIntFieldR(recH,"LOGICALREF",intLineRef)

   CustTables[62].Search(2,2,intLineRef)
   if not (DBErr <>0) then

       CustTables[62].GetFltField("MIKTAR2",fMIKTAR2)

       SetCellFloat("InvoiceGrid",i,10072,fMIKTAR2)          

   end if
 next i

End Sub

Sub SetData(intLogref as Long)
i=0
CreateQuery(Qry)
tblName = Application.GetTableName(9, Application.CompanyId, Application.FiscPerdId)
Qry.AddTable(“A”, tblName)
Qry.AddSelField(“A”, “LOGICALREF,”)
Qry.AddSelField(“A”, “INVOICELNNO”)
Str(intLogref, LogRefTxt)
MyWhereCond = “INVOICEREF = ” + LogRefTxt

Qry.AddWhereCond(MyWhereCond,1)
Qry.Execute()
if Qry.Ready = 1 then
   res = Qry.First()
   Do while res = 1
      Qry.GetFieldValue(1, 1, MyLineRef)
      Qry.GetFieldValue(2, 1, MyLineNo)
      if MyLineRef<>0 then
            CustTables[62].Search(2,2,MyLineRef)
            if (DBErr <>0) then
                CustTables[62].NewRecord()
                CustTables[62].SetIntField("PARLOGREF",MyLineRef)
                CustTables[62].SetIntField("INVFICHEREF",intLogref)
                CustTables[62].SetFltField("MIKTAR2",LineDataArr1[MyLineNo - 1])                
            else
                CustTables[62].SetFltField("MIKTAR2",LineDataArr1[MyLineNo - 1])             
            end if
            CustTables[62].UpdateRecord()
      end if
      res =  Qry.Next()
   Loop
end if

End Sub

Sub SetLineArray()
MaxGridLine=MGridLines(“InvoiceGrid”)
i=0
for i=0 to MaxGridLine-1
GetCellFloat(“InvoiceGrid”,i,10072,LineDataArr1[i])
next i
End Sub

LOGO OBJECT DESIGNER – LOD NOTLAR

İlk çalışmada project-options-team membersi aşağıdaki şekilde yap şifre sorarsa logo

tasarımda yavaş hareket et yoksa arka planda başka objectler oluşturmakta

lod combobox bilgilerini burda tutar (20 COMBOBOXDUR) içeriği kodlanmıştır : select * from L_CDBTMP WHERE INFOTYPE=20

lodda tablo yaratıldığında sistemden firmalardan ilgili firmaya sağ tıklayıp uyarlama tablolarını sil ve oluştur yapılmalıdır

lod tasarımlarını logoda görebilmek için rol tanımlanıp rol üzerinden lod çalışmaları eklenip istenilen kullanıcıya o rol tanımlanmalıdır

lodda yapılan tabloları databasede LG_XT olarak yaratılır

LOD EXTENDED FORM ÇAĞIRMA

Sub ButtonClick(ctrl as String)
        if ctrl="LButton1" then
'Malzeme Kartındaki Ürünün Logicalrefini alır
       ' AppTables[1].GetIntFieldR(RecHandle,"LOGICALREF",intLref)
       ' warn(intLref)
'Custom Formu Açar        
        CreateQForm("CUSTENTR2", 1,3, 1, CstForm)
        CstForm.ShowForm(1)
        end if
End Sub
Sub FormShow()
        'TableName=Application.GetTableName(",Application.CompanyId,Application.FiscPerdId)
        mgrid="LGridList1"
        SqlTxt="select DISTINCT TARIH,SONSATINALMAFIYATI,INDIRIMLIFIYAT,KDVDAHILMALIYET,NMALIYET,PROMOSYONMALIYETI,SATISFIYATI from BM_XT001_120"
        CreateQuery(qry)
        qry.SetSqlText(SqlTxt)
        qry.ExecuteDirect()
        i=0
         _breakpoint
        if qry.Ready=1 then
         res=qry.First()
         do while res=1
         ' GetFieldValue(fieldOrder as Integer, valTyp as Integer, value as Variant)
         'Order of the field in the select statement valType(in) Type of the field 1 for INTEGER 2 for DATE (Logo format) 3 for FLOAT 4 for
         'TEXT value(out) Value of the field Example Qry.GetFieldValue(1, 1, logRef)
          qry.GetFieldValue(1,2,TARIH)
          qry.GetFieldValue(2,3,SONSATINALMAFIYATI)
          qry.GetFieldValue(3,3,INDIRIMLIFIYAT)
          qry.GetFieldValue(4,3,KDVDAHILMALIYET)
          qry.GetFieldValue(5,3,NMALIYET)
          qry.GetFieldValue(6,3,PROMOSYONMALIYETI)
          qry.GetFieldValue(7,3,SATISFIYATI)
          SetMGridRow(mgrid,i)
          InsertGridRow(mgrid,1)
          SetCellInt(mgrid,i,10000,TARIH)
          SetCellFloat(mgrid,i,10001,SONSATINALMAFIYATI)
          SetCellFloat(mgrid,i,10002,INDIRIMLIFIYAT)
          SetCellFloat(mgrid,i,10003,KDVDAHILMALIYET)
          SetCellFloat(mgrid,i,10004,NMALIYET)
          SetCellFloat(mgrid,i,10006,PROMOSYONMALIYETI)
          SetCellFloat(mgrid,i,10007,SATISFIYATI)
          InvalidateGrid(mgrid)
          RefreshControl(mgrid,1)
          i=i+1
          res=qry.next() 
         loop

        end if 
End Sub
'Sağ tuş tetikleme işlemini DoPopupAction method unu kullanarak gerçekleştirebilirsiniz. 
'Aşağıdaki şekilde kullanımı mevcuttur 1. parametresi PopupMenu ismi 2. parametre seçeneğin index bilgisi.
DoPopupAction("StBrwPopupMenu", 14)
Sub FormShow()
        MNAddItem("OrdBrwPopup","-",-10001)
        MNAddItem("OrdBrwPopup","FlashTech Gönder",1001) 
        MNAddItem("OrdBrwPopup","FlashTech Sipariş İptal Et",1002)
        MNAddItem("OrdBrwPopup","-",-1003)
        MNAddItem("OrdBrwPopup","Dolum Fişi Yazdır",1003)
        MNAddItem("OrdBrwPopup","-",-1004)
        MNAddItem("OrdBrwPopup","Mühür Girişi",1004)
End Sub

Sub PopupMenuClick(ctrl as String, index as Integer, result as Integer)
        if ctrl="OrdBrwPopup" and index=1001 then
        warn("FlashTech Gönder")
        end if
End Sub


‘ Gridde ilgili rowun recidsini alma

DBGGetRecAdr(“OrdFicheDataGrid”,ITR)

'GRIDDEN ILGILI ROWUN LOGICALREFINE GORE TABLOSUNDA BILGI CEKME
Sub FormShow()
        MNAddItem("OrdBrwPopup","-",-10001)
        MNAddItem("OrdBrwPopup","FlashTech Gönder",1001) 
        MNAddItem("OrdBrwPopup","FlashTech Sipariş İptal Et",1002)
        MNAddItem("OrdBrwPopup","-",-1003)
        MNAddItem("OrdBrwPopup","Dolum Fişi Yazdır",1003)
        MNAddItem("OrdBrwPopup","-",-1004)
        MNAddItem("OrdBrwPopup","Mühür Girişi",1004)
End Sub

Sub PopupMenuClick(ctrl as String, index as Integer, result as Integer)
        if ctrl="OrdBrwPopup" and index=1001 then
        'ILGILI GRID ROWUN LOGICALREFINI ALIR
        DBGGetRecAdr("OrdFicheDataGrid",ORDFICHEREF)
        AppTables[12].SearchByRef(ORDFICHEREF) '12:ORFICHE
        AppTables[12].GetTxtField("DOCTRACKINGNR", DOCTRACKINGNR)
        warn(DOCTRACKINGNR)  
        end if
End Sub

 

set popup menu to grid SetPopup(“LGridList1″,”LPopupMenu1”)

lod hariciye firma bilgilerini gönderme;

Lodda logo viewi üzerinden işlem yapma:

MyQryTable = Application.GetViewName(10, Application.CompanyId, Application.FiscPerdId) ‘GNTOTCL

1 : LV_FFF_PP_BNFLINE  

2 : LV_FFF_PP_CLCARD  

3 : LV_FFF_PP_CLEKSTRE  

4 : LV_FFF_PP_CLFLINE  

5 : LV_FFF_PP_CSCARD  

6 : LV_FFF_PP_EMUHTOT  

7 : LV_FFF_PP_EMUHTOTV1  

8 : LV_FFF_PP_EMUHTOTV2  

9 : LV_FFF_PP_EMUHTOTV3  

10 : LV_FFF_PP_GNTOTCL  

11 : LV_FFF_PP_GNTOTST  

12 : LV_FFF_PP_GNTOTVRNT  

13 : LV_FFF_PP_ORFLINE  

14 : LV_FFF_PP_STINVENS  

15 : LV_FFF_PP_STINVTOT  

16 : LV_FFF_PP_STLINE  

17 : LV_FFF_PP_TRDGRP  

18 : LV_FFF_PP_VRNTINVENS  

19 : LV_FFF_PP_VRNTINVTOT  

20 : LV_FFF_CLCARD  

21 : LV_FFF_ITEMS  

22 : LV_FFF_ORDER_ITEMS  

23 : LV_FFF_ORDER_SERVICE  

24 : LV_FFF_SALES_ITEMS  3/3

25 : LV_FFF_SALES_ITEMS_TOTAL  

26 : LV_FFF_SALES_SERVICE  

27 : LV_FFF_SALES_SERVICE_TOTAL

Debug modu(https://docs.logo.com.tr/public/wua/logo-object-designer/lod-kuetuephanesi/lod-quilt):

1 – Object Designer uygulamasında Project Options > Release sekmesine gidin.

2 – Project configuration > Debug seçeneğini işaretleyin.

3 – Debugging info > Save Debugging info seçeneğini işaretleyin.

4 – Unity debug modu için Unity.exe /qd girin.