C# SQL GET LOGICALREF

        public string GET_LOGICALREF(string TABLENAME, string LOGICALREF, string WHEREFIELDNAME, string WHEREDATA) {
            SqlDatabase sqlSERVICEDB;
            sqlSERVICEDB = new SqlDatabase(M.CONSTR_BMS);
            DataTable DATA = sqlSERVICEDB.ExecuteDataSet(new SqlCommand("SELECT TOP 1 " + LOGICALREF + " FROM " + TABLENAME + " WHERE " + WHEREFIELDNAME + "='" + WHEREDATA + "' ORDER BY LOGICALREF DESC")).Tables[0];
            if (DATA.Rows.Count == 0) {
                return "";
            }
            return DATA.Rows[0][0].ToString();
        }

LOGO BORÇ TAKİP EKRANI TO LOGO


SELECT TOP 100 PERCENT 
LGMAIN.TRCURR,LGMAIN.SIGN,LGMAIN.MODULENR, LGMAIN.FICHEREF, LGMAIN.LOGICALREF,
(CASE LGMAIN.SIGN WHEN 0 THEN CASE WHEN LGMAIN.TRCURR IN (0,160) THEN LGMAIN.TOTAL ELSE LGMAIN.TOTAL*LGMAIN.TRRATE END ELSE 0-(CASE WHEN LGMAIN.TRCURR IN (0,160) THEN LGMAIN.TOTAL ELSE LGMAIN.TOTAL*LGMAIN.TRRATE END)END) AS TUTAR,
LGMAIN.DATE_,
LGMAIN.PROCDATE,
LGMAIN.MATCHDATE,
CASE WHEN PAID=0 THEN 'Kapama Yapılmadı' else 'Kapalı' End KAPAMA_DURUMU,
dbo.BM_301_PAYTRANS2ISLEMTURU(LGMAIN.TRCODE,LGMAIN.MODULENR) TUR,
LGMAIN.BRANCH,
LGMAIN.PAID,
LGMAIN.CARDREF
FROM 
BM_301_01_PAYTRANS LGMAIN WITH(NOLOCK)
LEFT OUTER JOIN LG_301_01_INVOICE INVFC WITH(NOLOCK) ON (LGMAIN.FICHEREF  =  INVFC.LOGICALREF)
LEFT OUTER JOIN LG_301_01_CLFLINE CTRNS WITH(NOLOCK) ON (LGMAIN.FICHEREF  =  CTRNS.LOGICALREF)
LEFT OUTER JOIN LG_301_01_CSROLL RLFIC WITH(NOLOCK) ON (LGMAIN.FICHEREF  =  RLFIC.LOGICALREF)
LEFT OUTER JOIN LG_301_01_BNFLINE BTRNS WITH(NOLOCK) ON (LGMAIN.FICHEREF  =  BTRNS.LOGICALREF)
LEFT OUTER JOIN LG_301_01_KSLINES CASHTR WITH(NOLOCK) ON (LGMAIN.FICHEREF  =  CASHTR.LOGICALREF)
LEFT OUTER JOIN LG_301_01_ORFICHE ORFIC WITH(NOLOCK) ON (LGMAIN.FICHEREF  =  ORFIC.LOGICALREF)
 WHERE 
(LGMAIN.CARDREF = 10916) AND 
--LGMAIN.CARDREF IN (SELECT CL.LOGICALREF FROM LG_301_CLCARD CL WHERE CL.CODE LIKE '120%') AND
((((LGMAIN.MODULENR=3)
AND(ORFIC.CANCELLED=0))OR((LGMAIN.MODULENR=4)
AND(INVFC.CANCELLED=0))OR((LGMAIN.MODULENR IN (5,61,62))
AND(CTRNS.CANCELLED=0))OR((LGMAIN.MODULENR=6)
AND(RLFIC.CANCELLED=0))OR((LGMAIN.MODULENR=7)
AND(BTRNS.CANCELLED=0))OR((LGMAIN.MODULENR=10)
AND(CASHTR.CANCELLED=0))))
AND LGMAIN.PROCDATE<= '05/01/2020' ORDER BY CARDREF, TRCURR, DATE_, SIGN, MODULENR, FICHEREF, LOGICALREF /*MATCHDATE */

LOGO BORÇ TAKİP YAPILMAMIŞ (KAPATILMAMIŞ) MAKBUZLAR

CREATE VIEW BM_301_AO_RAPOR_BORC_TAKIP_YAPILMAYANLAR AS
SELECT TOP 100 PERCENT * FROM (
SELECT  
P.DATE_,
BRANCH ISYERI_KODU,  
(select CONVERT(VARCHAR,NR)+', '+NAME from L_CAPIDIV  WITH(NOLOCK)  WHERE FIRMNR=301 and NR=P.BRANCH)  [ISYERI],
CASE P.MODULENR
               WHEN 7 THEN
                   CASE P.TRCODE
                       WHEN 3 THEN
                           'Gelen Havale'
                       WHEN 4 THEN
                           'Gönderilen Havale'
                       WHEN 16 THEN
                           'Banka - Alınan Hizmet Faturası'
                       WHEN 17 THEN
                           'Banka - Verilen Hizmet Faturası'
                   END
               WHEN 4 THEN
                   CASE P.TRCODE
                       WHEN 1 THEN
                           'Satınalama Faturası'
                       WHEN 4 THEN
                           'Alınan Hizmet Faturası'
                       WHEN 6 THEN
                           'Satınalma İade Faturası'
                       WHEN 13 THEN
                           'Satınalma Fiyat Farkı Faturası'
                       WHEN 2 THEN
                           'Perakende Satış İade Faturası'
                       WHEN 3 THEN
                           'Toptan Satış İade Faturası'
                       WHEN 7 THEN
                           'Perkande Satış Faturası'
                       WHEN 8 THEN
                           'Toptan Satış Faturası'
                       WHEN 9 THEN
                           'Verilen Hizmet Faturası'
                       WHEN 14 THEN
                           'Satış Fiyat Farkı Faturası'
                   END
               WHEN 5 THEN
                   CASE P.TRCODE
                       WHEN 70 THEN
                           'Kredi Kartı Fişi'
                       WHEN 2 THEN
                           'Nakit Ödeme'
                       WHEN 1 THEN
                           'Nakit Tahsilat'
                       WHEN 3 THEN
                           'Borç Dekontu'
                       WHEN 4 THEN
                           'Alacak Dekontu'
                       WHEN 5 THEN
                           'Virman Fişi'
                       WHEN 6 THEN
                           'Kurfarkı Fişi'
                       WHEN 14 THEN
                           'Açılış Fişi'
                       WHEN 41 THEN
                           'Verilen Vade Farkı Faturası'
                       WHEN 42 THEN
                           'Alınan Vade Farkı Faturası'
                       WHEN 71 THEN
                           'Kredi Kartı İade Fişi'
                       WHEN 72 THEN
                           'Firma Kredi Kartı Fişi'
                       WHEN 73 THEN
                           'Firma Kredi Kartı İade Fişi'
                   END
               WHEN 6 THEN
                   CASE P.TRCODE
                       WHEN 1 THEN
                           'Müşteri Çeki'
                       WHEN 3 THEN
                           'Kendi Çekimiz'
                   END
               WHEN 3 THEN
                   CASE P.TRCODE
                       WHEN 2 THEN
                           'Satınalama Siparişi'
                       WHEN 1 THEN
                           'Satış Siparişi'
                   END
               WHEN 10 THEN
                   CASE P.TRCODE
                       WHEN 1 THEN
                           'Nakit Tahsilat'
                       WHEN 2 THEN
                           'Nakit Ödeme'
                   END
               WHEN 61 THEN
                   CASE P.TRCODE
                       WHEN 3 THEN
                           'Borç Dekontu'
                       WHEN 4 THEN
                           'Alacak Dekontu'
                   END
               WHEN 62 THEN
                   CASE P.TRCODE
                       WHEN 3 THEN
                           'Borç Dekontu'
                       WHEN 4 THEN
                           'Alacak Dekontu'
                   END
           END AS ISLEM ,
(SELECT CL.CODE FROM LG_301_CLCARD CL WHERE CL.LOGICALREF=CARDREF) CARI_KOD,
(SELECT CL.DEFINITION_ FROM LG_301_CLCARD CL WHERE CL.LOGICALREF=CARDREF) CARI,
(SELECT ROUND(SUM(CASE WHEN C.SIGN=0 THEN C.AMOUNT ELSE 0-C.AMOUNT END),2) BAKIYE FROM LG_301_01_CLFLINE C  WITH(NOLOCK)  WHERE   C.CANCELLED=0 AND C.CLIENTREF=P.CARDREF) AS BAKIYE,
ABS(CASE SIGN WHEN 0 THEN CASE WHEN TRCURR IN (0,160) THEN TOTAL ELSE TOTAL*TRRATE END ELSE 0-(CASE WHEN TRCURR IN (0,160) THEN TOTAL ELSE TOTAL*TRRATE END)END) AS TUTAR
FROM BM_301_01_PAYTRANS P WHERE CANCELLED=0 AND PAID=0 AND SIGN=1 AND P.CARDREF IN (SELECT LOGICALREF FROM LG_301_CLCARD WHERE CODE LIKE '120.%')
) AS T
WHERE BAKIYE>0 ORDER BY CARI_KOD	
 

LOGO SQL BELIRLI TARIH ARASI MALZEMELERIN SATISLARI

SELECT 
ITMSC.CODE,
ITMSC.NAME,
ISNULL(SUM(AMOUNT),0)
FROM 
LG_118_01_STLINE STRNS WITH(NOLOCK) LEFT OUTER JOIN
LG_118_01_STFICHE STFIC WITH(NOLOCK) ON (STRNS.STFICHEREF  =  STFIC.LOGICALREF) LEFT OUTER JOIN
LG_118_CLCARD CLNTC WITH(NOLOCK) ON (STRNS.CLIENTREF  =  CLNTC.LOGICALREF) LEFT OUTER JOIN
LG_118_ITEMS ITMSC WITH(NOLOCK) ON (STRNS.STOCKREF  =  ITMSC.LOGICALREF) LEFT OUTER JOIN
LG_118_UNITSETL USLINE WITH(NOLOCK) ON (STRNS.UOMREF  =  USLINE.LOGICALREF) LEFT OUTER JOIN
LG_118_UNITSETF UNITSET WITH(NOLOCK) ON (ITMSC.UNITSETREF  =  UNITSET.LOGICALREF) LEFT OUTER JOIN
LG_118_VARIANT VARIANT WITH(NOLOCK) ON (STRNS.VARIANTREF = VARIANT.LOGICALREF)
 WHERE 
 /*(ITMSC.CODE LIKE 'COL00008') AND*/
 ((STFIC.DATE_ >= GETDATE()-1000) AND (STFIC.DATE_ <= GETDATE())) AND
 (STFIC.CANCELLED = 0) AND (STFIC.TRCODE IN (2,3,4,7,8,9)) AND
 (STFIC.STATUS IN (0,1)) AND  
 (STRNS.CPSTFLAG <> 1) AND
 (STRNS.LINETYPE IN (0,1,5,6,8,9,10)) AND
 (STFIC.DEVIR IN (0,1)) AND
 ((STFIC.TRCODE IN (2,3,4,7,8,9,35,36,37,38,39))OR(STFIC.TRCODE IN (1,5,6,10,26,30,31,32,33,34)))
  GROUP BY ITMSC.CODE,ITMSC.NAME

LOGO SQL PAYTRANSDAN CARİ BAKİYELERİNİ GÖRME


(SELECT CODE FROM LG_301_CLCARD WHERE LOGICALREF=CARDREF) AS CARI_HESAP, CARDREF,
SUM(
CASE SIGN WHEN 0 THEN
CASE WHEN TRCURR IN (0,160) THEN TOTAL ELSE TOTAL*TRRATE END
ELSE 0-(CASE WHEN TRCURR IN (0,160) THEN TOTAL ELSE TOTAL*TRRATE END)
END) AS BAKIYE 

--, *
FROM LG_301_01_PAYTRANS 
WHERE CANCELLED=0 AND PAID=0 AND CARDREF IN (SELECT LOGICALREF FROM LG_301_CLCARD WHERE CODE LIKE '120%')
--AND CARDREF=30311
GROUP BY CARDREF

IIS UZERİNDEN LOGO OBJECTSTE YETKİLENDİRME HATASI VARSA

HATA:Retrieving the COM class factory for component with CLSID {72DB412A-6BF5-4920-A002-2AAC679951DF} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).

ÇÖZÜM:WEB.CONFIGE SYSTEM.WEB IN ALTI aşağısı gibi olur ve iis stop start yapılır

  <system.web>
    <compilation targetFramework="4.7.2" />
    <httpRuntime targetFramework="4.7.2" />
    <identity impersonate="true" userName="domain\username" password="password"/>
  </system.web>

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.