LOGO KAMPANYALI URUN SIPARISINDE PROMOSYON STOKDAN DUSMEME SORUNU
SORUN ORFLINE STATUS ANA MALZEME DISINDA 0DA(ÖNERİ DURUMU) KALMAKTA FAKAT PARAMETREDEN 4 AYARLI(SEVKEDİLEBİLİR)
URUN LOGO TIGER ENTERPRISE 2.64
SELECT ORFLINE.DATE_, ORFLINE.LOGICALREF, ORFLINE.ORDFICHEREF,
ORFLINE.STOCKREF,
ORFLINE.LINETYPE,
ORFLINE.STATUS,
(
SELECT TOP 1
O2.STATUS
FROM dbo.LG_101_01_ORFLINE O2
WHERE O2.ORDFICHEREF = ORFLINE.ORDFICHEREF
AND O2.LINETYPE = 0
AND O2.STATUS = 4
) FROM LG_101_01_ORFLINE ORFLINE WITH(NOLOCK) WHERE ORFLINE.TRCODE=1 AND ORFLINE.STATUS <> 4 AND
(
SELECT TOP 1
O2.STATUS
FROM dbo.LG_101_01_ORFLINE O2
WHERE O2.ORDFICHEREF = ORFLINE.ORDFICHEREF
AND O2.LINETYPE = 0
AND O2.STATUS = 4
)=4 AND ORFLINE.LINETYPE=1 ORDER BY ORFLINE.DATE_ ASC
UPDATE LG_101_01_ORFLINE SET STATUS=4 FROM LG_101_01_ORFLINE ORFLINE WHERE ORFLINE.TRCODE=1 AND ORFLINE.STATUS <> 4 AND
(
SELECT TOP 1
O2.STATUS
FROM dbo.LG_101_01_ORFLINE O2
WHERE O2.ORDFICHEREF = ORFLINE.ORDFICHEREF
AND O2.LINETYPE = 0
AND O2.STATUS = 4
) =4
LOGO INVDEFDE OLMAYAN ITEMLERI SQLDEN EKLEME
INVDEF TABLOSU : URUNLERIN GENEL OLARAK AMBAR BAZLI NEGATIF SEVIYEYE DUSUP DUSMEMESININ BILGISINI ICERIR
INSERT INTO LG_101_INVDEF (INVENNO,ITEMREF,MINLEVEL,MAXLEVEL,SAFELEVEL,LOCATIONREF, PERCLOSEDATE,
ABCCODE,MINLEVELCTRL,MAXLEVELCTRL,SAFELEVELCTRL,NEGLEVELCTRL,IOCTRL,VARIANTREF,OUTCTRL)
SELECT W.NR INVENNO, I.LOGICALREF ITEMREF, 0 MINLEVEL,0 MAXLEVEL, 0 SAFELEVEL, 0 LOCATIONREF, NULL PERCLOSEDATE,
0 ABCCODE, 0 MINLEVELCTRL, 0 MAXLEVELCTRL, 0 SAFELEVELCTRL, 0 NEGLEVELCTRL, 0 IOCTRL, 0 VARIANTREF, 0 OUTCTRL FROM L_CAPIWHOUSE W
CROSS JOIN LG_101_ITEMS I
WHERE FIRMNR=101 AND I.CARDTYPE=1 AND I.LOGICALREF NOT IN ( select ID.ITEMREF from LG_101_INVDEF ID)
SQL SERVER SEE CHANGED ROWS ON DATA CHANGE CALCULATOR
DROP TABLE DIFFERENCE1
DROP TABLE DIFFERENCE2
--RUN BEFORE BEFORE DATA CHANGE
SELECT (SCHEMA_NAME(A.schema_id) + '.' + A.Name) AS TableName
, SUM(B.rows) AS RecordCount
INTO DIFFERENCE1
FROM sys.objects A
INNER JOIN sys.partitions B ON A.object_id = B.object_id
WHERE A.type = 'U'
GROUP BY A.schema_id, A.Name
--RUN AFTER DATA CHANGE
SELECT (SCHEMA_NAME(A.schema_id) + '.' + A.Name) AS TableName
, SUM(B.rows) AS RecordCount
INTO DIFFERENCE2
FROM sys.objects A
INNER JOIN sys.partitions B ON A.object_id = B.object_id
WHERE A.type = 'U'
GROUP BY A.schema_id, A.Name
--SEE ROWS CHANGED
SELECT * FROM DIFFERENCE1 LEFT JOIN DIFFERENCE2 ON DIFFERENCE1.TABLENAME=DIFFERENCE2.TABLENAME
WHERE DIFFERENCE1.RECORDCOUNT<>DIFFERENCE2.RECORDCOUNT
SQL SERVER 2017 READONLY TO SPECIFIC DATABASE
--USERNAME ADI HASELU
--DB NAME HASEL
CREATE LOGIN HASELU
WITH PASSWORD = 'HASELU';
USE HASEL;
CREATE USER HASELU FOR LOGIN HASELU;
GO
GRANT SELECT TO HASELU
USE master;
GO
DENY VIEW ANY DATABASE TO HASELU;
USE HASEL
GO
SP_DROPUSER 'HASELU'
GO
SP_CHANGEDBOWNER 'HASELU'
USE master;
GO
ALTER AUTHORIZATION ON DATABASE::HASEL TO HASELU;
GO
TESTED ON SQL SERVER 2017
LOGO SQL CARI EXTRE
--COKLU CARI TERCIH EDILMEZ
SELECT
T.[CARI_HESAP_KODU],T.ACIKLAMA,T.TARIH,T.FIS_NO,T.FIS_TURU,T.BELGE_NO,T.SATIR_ACIKLAMASI,T.BORC,T.ALACAK,
ROUND((SUM(T.Tutar) OVER (ORDER BY NR)),2) AS BAKIYE,
T.ISLEM_DOVIZI,
T.ISLEM_DOVIZ_TUTARI,
T.RD_TUTARI_EUR,
ROUND((SUM(T.RD_TUTARI_EUR) OVER (ORDER BY NR)),2) AS EUR_BAKIYE
FROM (
SELECT TOP 100 PERCENT
ROW_NUMBER() OVER (ORDER BY (SELECT 100)) AS NR,
CLNTC.CODE [CARI_HESAP_KODU],
CLNTC.DEFINITION_ [ACIKLAMA],
CTRNS.DATE_ TARIH,
CTRNS.TRANNO [FIS_NO],
CASE ((CTRNS.MODULENR*100)+CTRNS.TRCODE)
WHEN 381 THEN 'Satış Siparişi'
WHEN 382 THEN 'Satınalma Siparişi'
WHEN 431 THEN 'Satın Alma Faturası'
WHEN 432 THEN 'Perakende Satış İade Faturası'
WHEN 433 THEN 'Toptan Satış İade Faturası'
WHEN 434 THEN 'Alınan Hizmet Faturası'
WHEN 435 THEN 'Alınan Proforma Faturası'
WHEN 436 THEN 'Alım İade Faturası'
WHEN 437 THEN 'Perakende Satış Faturası'
WHEN 438 THEN 'Toptan Satış Faturası'
WHEN 439 THEN 'Verilen Hizmet Faturası'
WHEN 440 THEN 'Verilen Proforma Faturası'
WHEN 441 THEN 'Verilen Vade Farkı Faturası'
WHEN 442 THEN 'Alınan Vade Farkı Faturası'
WHEN 443 THEN 'Alınan Fiyat Farkı Faturası'
WHEN 444 THEN 'Verilen Fiyat Farkı Faturası'
WHEN 456 THEN 'Müstahsil Makbuzu'
WHEN 501 THEN 'Nakit Tahsilat'
WHEN 502 THEN 'Nakit Ödeme'
WHEN 503 THEN 'Borç Dekontu'
WHEN 504 THEN 'Alacak Dekontu'
WHEN 505 THEN 'Virman İşlemi'
WHEN 506 THEN 'Kur Farkı İşlemi'
WHEN 512 THEN 'Özel İşlem'
WHEN 514 THEN 'Açılış Fişi'
WHEN 570 THEN 'Kredi Kartı Fişi'
WHEN 661 THEN 'Çek Girişi'
WHEN 662 THEN 'Senet Girişi'
WHEN 663 THEN 'Çek Çıkış Cari Hesaba'--CSTRANS.CLACCREF
WHEN 664 THEN 'Senet Çıkış Cari Hesaba'
WHEN 720 THEN 'Gelen Havaleler'
WHEN 721 THEN 'Gönderilen Havaleler'
WHEN 728 THEN 'Banka Alınan Hizmet'
WHEN 729 THEN 'Banka Verilen Hizmet'
WHEN 1001 THEN 'Nakit Tahsilat'
WHEN 1002 THEN 'Nakit Ödeme'
WHEN 6103 THEN 'Borç Dekontu (Çek)'
WHEN 6104 THEN 'Alacak Dekontu (Çek)'
END [FIS_TURU],
CTRNS.DOCODE [BELGE_NO],
CTRNS.LINEEXP [SATIR_ACIKLAMASI],
CASE SIGN WHEN 0 THEN ROUND(AMOUNT,2) ELSE 0 END BORC,
CASE SIGN WHEN 1 THEN ROUND(-1*AMOUNT,2) ELSE 0 END ALACAK,
CASE SIGN WHEN 0 THEN ROUND(AMOUNT,2) ELSE ROUND(-1*AMOUNT,2) END TUTAR,
CASE CTRNS.TRCURR WHEN 0 THEN 'TL' WHEN 160 THEN 'TL' WHEN 1 THEN 'USD' WHEN 17 THEN 'GBP' WHEN 20 THEN 'EUR' END [ISLEM_DOVIZI],
CASE SIGN WHEN 0 THEN ROUND(CTRNS.TRNET,2) ELSE ROUND(-1*CTRNS.TRNET,2) END [ISLEM_DOVIZ_TUTARI] ,
CASE SIGN WHEN 0 THEN ROUND(CTRNS.REPORTNET,2) ELSE ROUND(-1*CTRNS.REPORTNET,2) END [RD_TUTARI_EUR]
FROM LG_{0}_01_CLFLINE CTRNS WITH (NOLOCK)
LEFT OUTER JOIN LG_{0}_PAYPLANS PAYPL WITH (NOLOCK)
ON (CTRNS.PAYDEFREF = PAYPL.LOGICALREF)
LEFT OUTER JOIN LG_{0}_01_CLFICHE CLFIC WITH (NOLOCK)
ON (CTRNS.SOURCEFREF = CLFIC.LOGICALREF)
LEFT OUTER JOIN LG_{0}_01_INVOICE INVFC WITH (NOLOCK)
ON (CTRNS.SOURCEFREF = INVFC.LOGICALREF)
LEFT OUTER JOIN LG_{0}_01_CSROLL RLFIC WITH (NOLOCK)
ON (CTRNS.SOURCEFREF = RLFIC.LOGICALREF)
LEFT OUTER JOIN LG_{0}_01_EMFICHE GLFIC WITH (NOLOCK)
ON (CTRNS.ACCFICHEREF = GLFIC.LOGICALREF)
LEFT OUTER JOIN LG_{0}_CLCARD CLNTC WITH (NOLOCK)
ON (CTRNS.CLIENTREF = CLNTC.LOGICALREF)
LEFT OUTER JOIN LG_{0}_01_ORFICHE ORFIC WITH (NOLOCK)
ON (CTRNS.SOURCEFREF = ORFIC.LOGICALREF)
LEFT OUTER JOIN LG_{0}_PURCHOFFER POFFER WITH (NOLOCK)
ON (CTRNS.OFFERREF = POFFER.LOGICALREF)
WHERE (CTRNS.BRANCH IN ( 0 ))
AND (CTRNS.DEPARTMENT IN ( 0 ))
AND (CTRNS.TRCODE IN ( 31, 32, 33, 34, 36, 37, 38, 39, 43, 44, 56, 1, 2, 3, 4, 5, 6, 12, 14, 41, 42, 45, 46, 70,71, 72, 73, 20, 21, 24, 25, 28, 29, 30, 61, 62, 63, 64, 75, 81, 82 ))
AND CLNTC.CODE='{1}'
AND (CTRNS.DATE_ <= CONVERT(DATETIME, DATEFROMPARTS(YEAR(GETDATE()),12,31), 101)) and CTRNS.CANCELLED=0
ORDER BY CTRNS.DATE_,
CASE WHEN CTRNS.TRCODE = 14 AND CTRNS.MODULENR = 5 THEN 0 ELSE 1 END,
CASE WHEN CTRNS.MODULENR = 5 THEN CLFIC.TIME WHEN CTRNS.MODULENR = 4 THEN INVFC.TIME_ ELSE CTRNS.FTIME END,
CLFIC.LOGICALREF
) AS T
LOGO EXCEL NAVIGATOR SMART KURULUMU
logo 3 serisi için navigator smart kurulumu (lisans olmalı)





LOGO SAYIMIN EKSIKMI FAZLAMI OLDUGU SORGUSU
SELECT LOGICALREF, LOGICALREFPDA,STFICHEREF, FIS FROM (
SELECT AMOUNT SAYILAN,ONHAND STOKTA,CASE WHEN ONHAND<AMOUNT THEN 'SAYIM EKSIGI' WHEN ONHAND>AMOUNT THEN 'SAYIM FAZLASI' ELSE '2' END FIS,* FROM(
SELECT *,(SELECT ISNULL(SUM(STITOTS.ONHAND),0) FROM LV_119_01_STINVTOT STITOTS WITH(NOLOCK) WHERE (STITOTS.INVENNO = STL.SOURCEINDEX) AND
(STITOTS.STOCKREF = STL.STOCKREF) AND (STITOTS.DATE_ <= STL.DATE_)) ONHAND FROM BM_PDA_STLINE STL WHERE TRCODE=55) AS T) AS T2 GROUP BY LOGICALREF, LOGICALREFPDA,STFICHEREF, FIS
VISUAL STUDIO C# RUN WINDOWS SERVICE WITHOUT INSTALL
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks;
namespace BMSPDAWINDOWS_SERVICE {
static class Program {
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main() {
#if (!DEBUG)
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Service1()
};
ServiceBase.Run(ServicesToRun);
#else
Service1 myServ = new Service1();
myServ.START_PROCESS(true);
// here Process is my Service function
// that will run when my service onstart is call
// you need to call your own method or function name here instead of Process();
#endif
}
}
}
PROGRAM.CS SHOULD LIKE ABOVE
NOTE: IN SERVICE1.CS SHOULD MADE START_PROCESS PUBLIC
BİR UYGULAMA BAŞLARKEN HANGİ KOMUT SATIRINDAN BAŞLADIĞINI BULMAK
Örnek olarak windows device emulatorde (device managerda) emulatorun hangi komut satırıyla başlaması gerektiğine ihtiyacım oldu çözümü: https://download.sysinternals.com/files/ProcessMonitor.zip
Nasıl ? :Önce device emulator manager açılır

Sonra Procmon açılıp pid device emulatorun pidi filtreye eklenir ve ok basılır

Son olarak device emulator managerda ilgili emulatore sağ tıklanıp connecte basılır

ve procmandan ilgili emulatorun komut satırı görülebilir:
