/****** Object: View [dbo].[BM_211_URETIM_PLANLANAN] Script Date: 29.4.2019 14:19:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create VIEW [dbo].[BM_211_URETIM_PLANLANAN] as
SELECT
c.LOGICALREF,Tarih,C.[Fiş No],LOGICALREFI,C.[Malzeme Kodu],C.[Malzeme Açıklaması],
CASE
WHEN C.[Miktar Formülü]='' THEN '0'
WHEN REPLACE(C.[Miktar Formülü],'P1', [Uretim Miktar])='P1' THEN ISNULL(CONVERT(VARCHAR(20),C.[Uretim Miktar]),'0') ELSE ISNULL(REPLACE(C.[Miktar Formülü],'P1', [Uretim Miktar]),'0') END Formül ,
C.[Gerçekleşen Miktar],C.[Planlanan Miktar]
FROM (
SELECT
PRDLN.LOGICALREF ,
PO.DATE_ Tarih,
po.FICHENO [Fiş No],
ITMSC.LOGICALREF LOGICALREFI,
ITMSC.CODE [Malzeme Kodu],
ITMSC.NAME [Malzeme Açıklaması],
--PRDLN.FORMULA [Miktar Formülü],
CASE WHEN PRDLN.FORMULA='' THEN '1' ELSE ISNULL(REPLACE(PRDLN.FORMULA,' ',''),'0') END [Miktar Formülü] ,
CASE WHEN PRDLN.AMOUNT ='' THEN '0' ELSE PRDLN.AMOUNT END [Gerçekleşen Miktar],
0 [Planlanan Miktar],
(SELECT TOP 1 amount FROM LG_211_POLINE pl2 WHERE pl2.PRODORDREF=PRDLN.PRODORDREF AND pl2.LINETYPE=4 ORDER BY PRDLN.LOGICALREF ASC ) [Uretim Miktar]
FROM LG_211_POLINE PRDLN WITH (NOLOCK)
LEFT OUTER JOIN LG_211_ITEMS ITMSC WITH (NOLOCK)
ON (PRDLN.ITEMREF = ITMSC.LOGICALREF)
LEFT OUTER JOIN LG_211_VARIANT VARIANT WITH (NOLOCK)
ON (PRDLN.VARIANTREF = VARIANT.LOGICALREF)
LEFT JOIN LG_211_PRODORD po ON po.LOGICALREF = PRDLN.PRODORDREF
WHERE
--PRDLN.DISPLINEREF = 22139 AND
(PRDLN.DETLINE = 0)
) AS C
GO
CREATE PROC BM_P_211_URETIM_PLANLANAN AS
declare @sql nvarchar(max) = (
SELECT STUFF( (SELECT ' select ' + str([LOGICALREF]) + ', ' + str([LOGICALREFI]) + ', ' + REPLACE( Formül,',','.') +';'
from BM_211_URETIM_PLANLANAN t
for xml path ('')
), 1, 1, '' )
)
declare @temp table ( [LOGICALREF] int, [LOGICALREFI] int, [Planlanan Miktar] FLOAT);
insert @temp exec(@sql);
SELECT --LOGICALREF LOGICALREFPL,
YEAR(DATE_) YIL,
YEAR(DATE_)*100+ MONTH(DATE_) AY,
PO.DATE_ Tarih,
PO.FICHENO [Fiş No],
CASE WHEN PL.LINETYPE='4' THEN 'Ana Ürün' WHEN PL.LINETYPE='0' THEN 'Girdi' ELSE CONVERT(VARCHAR(3),LINETYPE) end [Satır Tipi],
I.CODE [Malzeme Kodu],
I.NAME [Malzeme Açıklaması],
PL.FORMULA Formül,
PL.AMOUNT [Gerçekleşen Miktar],
[Planlanan Miktar] from @temp T
LEFT JOIN LG_211_POLINE PL ON PL.LOGICALREF=T.LOGICALREF
LEFT JOIN LG_211_PRODORD PO ON PO.LOGICALREF = PL.PRODORDREF
LEFT JOIN LG_211_ITEMS I ON I.LOGICALREF = LOGICALREFI
WHERE PL.DETLINE = 0
EXEC BM_P_211_URETIM_PLANLANAN
Tag: LOGO
logo sql stok negatif seviye
--logo negatif seviye
update LG_100_INVDEF set neglevelctrl=2 izin vermez 0 dersen izin verir
LOGO CARİ HESAP BÜTÜN CARİLER YÜRÜYEN BAKİYE SQL PROCEDURE
--EXEC [dbo].[CARI_EKSTRE_HEPSI] '201','01','01.01.2017','31.12.2019'
IF EXISTS (SELECT * FROM DBO.SYSOBJECTS WHERE ID = OBJECT_ID(N'CARI_EKSTRE_HEPSI') AND OBJECTPROPERTY(ID, N'IsProcedure') = 1)
DROP PROCEDURE [dbo].[CARI_EKSTRE]
GO
CREATE PROC [dbo].[CARI_EKSTRE_HEPSI]
(
@FRM VARCHAR(4)
,@DNM VARCHAR(4)
,@ILKTARIH VARCHAR(12)
,@SONTARIH VARCHAR(12)
)
AS
EXEC('
SET NOCOUNT ON
BEGIN TRY
BEGIN TRANSACTION
DECLARE @DURUM Nvarchar (51)
DECLARE @CLINTREF INTEGER
DECLARE @CARI_KODU NVARCHAR(165)
DECLARE @CARI_ADI NVARCHAR(165)
DECLARE @BAKIYE FLOAT
DECLARE @TARIH datetime
DECLARE @FIS_TUR Nvarchar(165)
DECLARE @OZEL_KOD Nvarchar (165)
DECLARE @BELGE Nvarchar(165)
DECLARE @ACIKLAMA Nvarchar(165)
DECLARE @BORC FLOAT
DECLARE @ALACAK FLOAT
DECLARE @EKLEME_TARIH datetime
DECLARE @EKLEYEN Nvarchar (65)
DECLARE @DEGISTIRME_TARIH datetime
DECLARE @DEGISTIREN Nvarchar (65)
IF EXISTS(SELECT * FROM tempdb.dbo.sysobjects O
WHERE O.xtype = ''U'' AND O.id = OBJECT_ID(N''tempdb..#TMP''))
BEGIN
DROP TABLE #TMP
END
CREATE TABLE #TMP
(
[CLINTREF] [int] NULL ,
[CARI_KODU] [varchar] (165) NULL ,
[CARI_ADI] [varchar] (165) NULL ,
[TARIH] [datetime] NULL ,
[FIS_TUR] [varchar] (165) NULL ,
[OZEL_KOD] [varchar] (165) NULL ,
[BELGE] [varchar] (165) NULL ,
[ACIKLAMA] [varchar] (165) NULL,
[BORC] [FLOAT] NULL ,
[ALACAK] [FLOAT] NULL,
[BAKIYE] [FLOAT] NULL,
[DURUM] [varchar] (5) NULL,
[EKLEME_TARIH] [datetime] NULL ,
[EKLEYEN] [varchar] (65) NULL,
[DEGISTIRME_TARIH] [datetime] NULL ,
[DEGISTIREN] [varchar] (65) NULL
)
DECLARE CARI_LISTE cursor for
SELECT DISTINCT CARI.LOGICALREF, CARI.CODE , CARI.DEFINITION_
FROM LG_' + @FRM + '_CLCARD CARI WHERE CARI.LOGICALREF IN(SELECT CLIENTREF FROM LG_' + @FRM + '_' + @DNM + '_CLFLINE )
ORDER BY CARI.LOGICALREF,CARI.CODE,CARI.DEFINITION_
OPEN CARI_LISTE FETCH NEXT FROM CARI_LISTE
INTO @CLINTREF,@CARI_KODU,@CARI_ADI
WHILE @@fetch_status = 0
BEGIN
DECLARE CARI_DETAY cursor for
SELECT
CARI_KODU,
CARI_ADI,
TARIH,
FIS_TUR,
OZEL_KOD,
BELGE,
ACIKLAMA,
BORC,
ALACAK,EKLEME_TARIH,EKLEYEN,DEGISTIREN_TARIH,DEGISTIREN
FROM (
SELECT
MAX(CLNTC.CODE) CARI_KODU,
MAX(CLNTC.DEFINITION_) CARI_ADI ,
NULL TARIH,
''-'' FIS_TUR,
''-'' OZEL_KOD,
''-'' BELGE,
''Devir Eden Bakiye'' ACIKLAMA,
ISNULL(sum(ROUND((1-CTRNS.SIGN)*AMOUNT,2)),0) BORC,
ISNULL(sum(ROUND(CTRNS.SIGN*AMOUNT,2)),0) ALACAK,null EKLEME_TARIH,''-'' EKLEYEN,null DEGISTIREN_TARIH,''-'' DEGISTIREN
FROM LG_' + @FRM + '_CLCARD CLNTC LEFT OUTER JOIN
LG_' + @FRM + '_' + @DNM + '_CLFLINE CTRNS ON (CTRNS.CLIENTREF = CLNTC.LOGICALREF)
WHERE CTRNS.CANCELLED=0 AND CTRNS.PAIDINCASH=0 AND CLNTC.CODE=@CARI_KODU AND CTRNS.DATE_< CONVERT(DATETIME,''' + @ILKTARIH + ''',104)
UNION ALL
SELECT
CLNTC.CODE CARI_KODU ,CLNTC.DEFINITION_ CARI_ADI ,
CONVERT(datetime, CTRNS.DATE_, 104)TARIH,
case WHEN CTRNS.TRCODE=1 THEN ''Nakit Tahsilat''
WHEN CTRNS.TRCODE=2 THEN ''Nakit Ödeme''
WHEN CTRNS.TRCODE=3 THEN ''Borç Dekontu''
WHEN CTRNS.TRCODE=4 THEN ''Alacak Dekontu''
WHEN CTRNS.TRCODE=5 THEN ''Virman İşlemi''
WHEN CTRNS.TRCODE=6 THEN ''Kur Farkı İşlemi''
WHEN CTRNS.TRCODE=12 THEN ''Özel İşlem''
WHEN CTRNS.TRCODE=14 THEN ''Açılış Fişi''
WHEN CTRNS.TRCODE=20 THEN ''Gelen Havaleler''
WHEN CTRNS.TRCODE=21 THEN ''Gönderilen Havaleler''
WHEN CTRNS.TRCODE=31 THEN ''Mal Alım Faturası''
WHEN CTRNS.TRCODE=32 THEN ''Perakende Satış İade Faturası''
WHEN CTRNS.TRCODE=33 THEN ''Toptan Satış İade Faturası''
WHEN CTRNS.TRCODE=34 THEN ''Alınan Hizmet Faturası''
WHEN CTRNS.TRCODE=35 THEN ''Alınan Proforma Faturası''
WHEN CTRNS.TRCODE=36 THEN ''Alım İade Faturası''
WHEN CTRNS.TRCODE=37 THEN ''Perakende Satış Faturası''
WHEN CTRNS.TRCODE=38 THEN ''Toptan Satış Faturası''
WHEN CTRNS.TRCODE=39 THEN ''Verilen Hizmet Faturası''
WHEN CTRNS.TRCODE=40 THEN ''Verilen Proforma Faturası''
WHEN CTRNS.TRCODE=41 THEN ''Verilen Vade Farkı Faturası''
WHEN CTRNS.TRCODE=42 THEN ''Alınan Vade Farkı Faturası''
WHEN CTRNS.TRCODE=43 THEN ''Alınan Fiyat Farkı Faturası''
WHEN CTRNS.TRCODE=44 THEN ''Verilen Fiyat Farkı Faturası''
WHEN CTRNS.TRCODE=45 THEN ''Verilen Serbest Meslek Makbuzu''
WHEN CTRNS.TRCODE=46 THEN ''Alınan Serbest Meslek Makbuzu''
WHEN CTRNS.TRCODE=56 THEN ''Müstahsil Makbuzu''
WHEN CTRNS.TRCODE=70 THEN ''Kredi Kartı Fişi''
WHEN CTRNS.TRCODE=71 THEN ''Kredi Kartı Fişi İade''
WHEN CTRNS.TRCODE=72 THEN ''Firma Kredi Kartı Fişi''
WHEN CTRNS.TRCODE=73 THEN ''Firma Kredi Kartı Fişi İade''
WHEN CTRNS.TRCODE=61 THEN ''Çek Girişi''
WHEN CTRNS.TRCODE=62 THEN ''Senet Girişi''
WHEN CTRNS.TRCODE=63 THEN ''Çek Çıkış Cari Hesaba''
WHEN CTRNS.TRCODE=64 THEN ''Senet Çıkış Cari Hesaba''
WHEN CTRNS.TRCODE=75 THEN ''Özel Dekont''
end as FIS_TUR,
CTRNS.DOCODE OZEL_KOD,
CTRNS.SPECODE AS BELGE,
CTRNS.LINEEXP AS ACIKLAMA,
ISNULL(ROUND((1-CTRNS.SIGN)*AMOUNT,2),0) AS BORC,
ISNULL(ROUND(CTRNS.SIGN*AMOUNT,2),0) AS ALACAK,
CONVERT(DATETIME,CTRNS.CAPIBLOCK_CREADEDDATE,104) AS EKLEME_TARIH,
EKLEYEN.NAME EKLEYEN,
CONVERT(DATETIME,CTRNS.CAPIBLOCK_MODIFIEDDATE,104) AS DEGISTIREN_TARIH,
DEGISTIREN.NAME DEGISTIREN
FROM
LG_' + @FRM + '_' + @DNM + '_CLFLINE CTRNS LEFT OUTER JOIN
LG_' + @FRM + '_CLCARD CLNTC ON (CTRNS.CLIENTREF = CLNTC.LOGICALREF)
LEFT OUTER JOIN L_CAPIUSER EKLEYEN ON EKLEYEN.NR=CTRNS.CAPIBLOCK_CREATEDBY
LEFT OUTER JOIN L_CAPIUSER DEGISTIREN ON DEGISTIREN.NR=CTRNS.CAPIBLOCK_MODIFIEDBY
WHERE CTRNS.CANCELLED=0 AND CTRNS.PAIDINCASH=0 AND CLNTC.CODE=@CARI_KODU AND CTRNS.DATE_ BETWEEN CONVERT(DATETIME,''' + @ILKTARIH + ''',104) AND CONVERT(DATETIME,''' + @SONTARIH + ''',104))VEDAT_OZER
ORDER BY VEDAT_OZER.CARI_KODU,VEDAT_OZER.TARIH
SET @BAKIYE = 0
OPEN CARI_DETAY FETCH NEXT FROM CARI_DETAY
INTO
@CARI_KODU,
@CARI_ADI,
@TARIH,
@FIS_TUR,
@OZEL_KOD,
@BELGE,
@ACIKLAMA,
@BORC,
@ALACAK,
@EKLEME_TARIH,
@EKLEYEN,
@DEGISTIRME_TARIH,
@DEGISTIREN
WHILE @@fetch_status = 0
BEGIN
SET @BAKIYE =ROUND( @BAKIYE + @BORC - @ALACAK ,2)
SET @DURUM = CASE WHEN @BAKIYE>0 THEN ''(B)'' WHEN @BAKIYE<0 THEN ''(A)'' WHEN @BAKIYE=0 THEN ''(-)'' ELSE '''' END
INSERT INTO #TMP (
CLINTREF,
CARI_KODU,
CARI_ADI,
TARIH,
FIS_TUR,
OZEL_KOD,
BELGE,
ACIKLAMA,
BORC,
ALACAK,
BAKIYE,
DURUM,
EKLEME_TARIH,
EKLEYEN,
DEGISTIRME_TARIH,
DEGISTIREN)
VALUES(
@CLINTREF,
@CARI_KODU,
@CARI_ADI,
@TARIH,
@FIS_TUR,
@OZEL_KOD,
@BELGE,
@ACIKLAMA,
@BORC,
@ALACAK,
@BAKIYE,
@DURUM,
@EKLEME_TARIH,
@EKLEYEN,
@DEGISTIRME_TARIH,
@DEGISTIREN)
FETCH NEXT FROM CARI_DETAY
INTO
@CARI_KODU,
@CARI_ADI,
@TARIH,
@FIS_TUR,
@OZEL_KOD,
@BELGE,
@ACIKLAMA,
@BORC,
@ALACAK,
@EKLEME_TARIH,
@EKLEYEN,
@DEGISTIRME_TARIH,
@DEGISTIREN
END
CLOSE CARI_DETAY
DEALLOCATE CARI_DETAY
FETCH NEXT FROM CARI_LISTE
INTO
@CLINTREF,
@CARI_KODU,
@CARI_ADI
END
CLOSE CARI_LISTE
DEALLOCATE CARI_LISTE
COMMIT TRAN
PRINT(''Cari Hesap Ekstresini Başarıyla Tamamlanmıştır.'')
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRAN
PRINT(''Cari Hesap Ekstresinde Hata Var. Lütfen Tekrar Deneyin !'')
END
END CATCH
SELECT
CARI_KODU as [Carı Kodu],
CARI_ADI as [Carı Adı],
TARIH as [Tarih],
FIS_TUR as [Fiş Türü],
BELGE [Özel Kod],
OZEL_KOD [Belge No],
ACIKLAMA [Açıklama],
BORC [Borç],
ALACAK [Alacak],
BAKIYE [Bakiye],
DURUM [B-A],
EKLEME_TARIH [Ekleme Tarihi],
EKLEYEN [Ekleyen Kişi],
DEGISTIRME_TARIH [Değiştirme Tarihi],
DEGISTIREN as [Değiştiren Kişi]
FROM #TMP WHERE CARI_KODU IS NOT NULL
ORDER BY CARI_KODU
')
LOGO CARİ HESAP CARİ BAZLI YÜRÜYEN BAKİYE SQL PROCEDURE
--EXEC [dbo].[CARI_EKSTRE_CARIBAZLI] '201','01','01.01.2017','31.12.2019','001S0165222','001S0165222'
IF EXISTS (SELECT * FROM DBO.SYSOBJECTS WHERE ID = OBJECT_ID(N'CARI_EKSTRE_CARIBAZLI') AND OBJECTPROPERTY(ID, N'IsProcedure') = 1)
DROP PROCEDURE [dbo].[CARI_EKSTRE_CARIBAZLI]
GO
CREATE PROC [dbo].[CARI_EKSTRE_CARIBAZLI]
(
@FRM VARCHAR(4)
,@DNM VARCHAR(4)
,@ILKTARIH VARCHAR(12)
,@SONTARIH VARCHAR(12)
,@ILK VARCHAR(65)
,@SON VARCHAR(65)
)
AS
EXEC('
SET NOCOUNT ON
BEGIN TRY
BEGIN TRANSACTION
DECLARE @DURUM Nvarchar (51)
DECLARE @CLINTREF INTEGER
DECLARE @CARI_KODU NVARCHAR(165)
DECLARE @CARI_ADI NVARCHAR(165)
DECLARE @BAKIYE FLOAT
DECLARE @TARIH datetime
DECLARE @FIS_TUR Nvarchar(165)
DECLARE @OZEL_KOD Nvarchar (165)
DECLARE @BELGE Nvarchar(165)
DECLARE @ACIKLAMA Nvarchar(165)
DECLARE @BORC FLOAT
DECLARE @ALACAK FLOAT
DECLARE @EKLEME_TARIH datetime
DECLARE @EKLEYEN Nvarchar (65)
DECLARE @DEGISTIRME_TARIH datetime
DECLARE @DEGISTIREN Nvarchar (65)
IF EXISTS(SELECT * FROM tempdb.dbo.sysobjects O
WHERE O.xtype = ''U'' AND O.id = OBJECT_ID(N''tempdb..#TMP''))
BEGIN
DROP TABLE #TMP
END
CREATE TABLE #TMP
(
[CLINTREF] [int] NULL ,
[CARI_KODU] [varchar] (165) NULL ,
[CARI_ADI] [varchar] (165) NULL ,
[TARIH] [datetime] NULL ,
[FIS_TUR] [varchar] (165) NULL ,
[OZEL_KOD] [varchar] (165) NULL ,
[BELGE] [varchar] (165) NULL ,
[ACIKLAMA] [varchar] (165) NULL,
[BORC] [FLOAT] NULL ,
[ALACAK] [FLOAT] NULL,
[BAKIYE] [FLOAT] NULL,
[DURUM] [varchar] (5) NULL,
[EKLEME_TARIH] [datetime] NULL ,
[EKLEYEN] [varchar] (65) NULL,
[DEGISTIRME_TARIH] [datetime] NULL ,
[DEGISTIREN] [varchar] (65) NULL
)
DECLARE CARI_LISTE cursor for
SELECT DISTINCT CARI.LOGICALREF, CARI.CODE , CARI.DEFINITION_
FROM LG_' + @FRM + '_CLCARD CARI WHERE CARI.LOGICALREF IN(SELECT CLIENTREF FROM LG_' + @FRM + '_' + @DNM + '_CLFLINE ) AND CARI.CODE BETWEEN '''+ @ILK +''' AND '''+ @SON +'''
ORDER BY CARI.LOGICALREF,CARI.CODE,CARI.DEFINITION_
OPEN CARI_LISTE FETCH NEXT FROM CARI_LISTE
INTO @CLINTREF,@CARI_KODU,@CARI_ADI
WHILE @@fetch_status = 0
BEGIN
DECLARE CARI_DETAY cursor for
SELECT
CARI_KODU,
CARI_ADI,
TARIH,
FIS_TUR,
OZEL_KOD,
BELGE,
ACIKLAMA,
BORC,
ALACAK,EKLEME_TARIH,EKLEYEN,DEGISTIREN_TARIH,DEGISTIREN
FROM (
SELECT
MAX(CLNTC.CODE) CARI_KODU,
MAX(CLNTC.DEFINITION_) CARI_ADI ,
NULL TARIH,
''-'' FIS_TUR,
''-'' OZEL_KOD,
''-'' BELGE,
''Devir Eden Bakiye'' ACIKLAMA,
ISNULL(sum(ROUND((1-CTRNS.SIGN)*AMOUNT,2)),0) BORC,
ISNULL(sum(ROUND(CTRNS.SIGN*AMOUNT,2)),0) ALACAK,null EKLEME_TARIH,''-'' EKLEYEN,null DEGISTIREN_TARIH,''-'' DEGISTIREN
FROM LG_' + @FRM + '_CLCARD CLNTC LEFT OUTER JOIN
LG_' + @FRM + '_' + @DNM + '_CLFLINE CTRNS ON (CTRNS.CLIENTREF = CLNTC.LOGICALREF)
WHERE CTRNS.CANCELLED=0 AND CTRNS.PAIDINCASH=0 AND CLNTC.CODE=@CARI_KODU AND CTRNS.DATE_< CONVERT(DATETIME,''' + @ILKTARIH + ''',104)
UNION ALL
SELECT
CLNTC.CODE CARI_KODU ,CLNTC.DEFINITION_ CARI_ADI ,
CONVERT(datetime, CTRNS.DATE_, 104)TARIH,
case WHEN CTRNS.TRCODE=1 THEN ''Nakit Tahsilat''
WHEN CTRNS.TRCODE=2 THEN ''Nakit Ödeme''
WHEN CTRNS.TRCODE=3 THEN ''Borç Dekontu''
WHEN CTRNS.TRCODE=4 THEN ''Alacak Dekontu''
WHEN CTRNS.TRCODE=5 THEN ''Virman İşlemi''
WHEN CTRNS.TRCODE=6 THEN ''Kur Farkı İşlemi''
WHEN CTRNS.TRCODE=12 THEN ''Özel İşlem''
WHEN CTRNS.TRCODE=14 THEN ''Açılış Fişi''
WHEN CTRNS.TRCODE=20 THEN ''Gelen Havaleler''
WHEN CTRNS.TRCODE=21 THEN ''Gönderilen Havaleler''
WHEN CTRNS.TRCODE=31 THEN ''Mal Alım Faturası''
WHEN CTRNS.TRCODE=32 THEN ''Perakende Satış İade Faturası''
WHEN CTRNS.TRCODE=33 THEN ''Toptan Satış İade Faturası''
WHEN CTRNS.TRCODE=34 THEN ''Alınan Hizmet Faturası''
WHEN CTRNS.TRCODE=35 THEN ''Alınan Proforma Faturası''
WHEN CTRNS.TRCODE=36 THEN ''Alım İade Faturası''
WHEN CTRNS.TRCODE=37 THEN ''Perakende Satış Faturası''
WHEN CTRNS.TRCODE=38 THEN ''Toptan Satış Faturası''
WHEN CTRNS.TRCODE=39 THEN ''Verilen Hizmet Faturası''
WHEN CTRNS.TRCODE=40 THEN ''Verilen Proforma Faturası''
WHEN CTRNS.TRCODE=41 THEN ''Verilen Vade Farkı Faturası''
WHEN CTRNS.TRCODE=42 THEN ''Alınan Vade Farkı Faturası''
WHEN CTRNS.TRCODE=43 THEN ''Alınan Fiyat Farkı Faturası''
WHEN CTRNS.TRCODE=44 THEN ''Verilen Fiyat Farkı Faturası''
WHEN CTRNS.TRCODE=45 THEN ''Verilen Serbest Meslek Makbuzu''
WHEN CTRNS.TRCODE=46 THEN ''Alınan Serbest Meslek Makbuzu''
WHEN CTRNS.TRCODE=56 THEN ''Müstahsil Makbuzu''
WHEN CTRNS.TRCODE=70 THEN ''Kredi Kartı Fişi''
WHEN CTRNS.TRCODE=71 THEN ''Kredi Kartı Fişi İade''
WHEN CTRNS.TRCODE=72 THEN ''Firma Kredi Kartı Fişi''
WHEN CTRNS.TRCODE=73 THEN ''Firma Kredi Kartı Fişi İade''
WHEN CTRNS.TRCODE=61 THEN ''Çek Girişi''
WHEN CTRNS.TRCODE=62 THEN ''Senet Girişi''
WHEN CTRNS.TRCODE=63 THEN ''Çek Çıkış Cari Hesaba''
WHEN CTRNS.TRCODE=64 THEN ''Senet Çıkış Cari Hesaba''
WHEN CTRNS.TRCODE=75 THEN ''Özel Dekont''
end as FIS_TUR,
CTRNS.DOCODE OZEL_KOD,
CTRNS.SPECODE AS BELGE,
CTRNS.LINEEXP AS ACIKLAMA,
ISNULL(ROUND((1-CTRNS.SIGN)*AMOUNT,2),0) AS BORC,
ISNULL(ROUND(CTRNS.SIGN*AMOUNT,2),0) AS ALACAK,
CONVERT(DATETIME,CTRNS.CAPIBLOCK_CREADEDDATE,104) AS EKLEME_TARIH,
EKLEYEN.NAME EKLEYEN,
CONVERT(DATETIME,CTRNS.CAPIBLOCK_MODIFIEDDATE,104) AS DEGISTIREN_TARIH,
DEGISTIREN.NAME DEGISTIREN
FROM
LG_' + @FRM + '_' + @DNM + '_CLFLINE CTRNS LEFT OUTER JOIN
LG_' + @FRM + '_CLCARD CLNTC ON (CTRNS.CLIENTREF = CLNTC.LOGICALREF)
LEFT OUTER JOIN L_CAPIUSER EKLEYEN ON EKLEYEN.NR=CTRNS.CAPIBLOCK_CREATEDBY
LEFT OUTER JOIN L_CAPIUSER DEGISTIREN ON DEGISTIREN.NR=CTRNS.CAPIBLOCK_MODIFIEDBY
WHERE CTRNS.CANCELLED=0 AND CTRNS.PAIDINCASH=0 AND CLNTC.CODE=@CARI_KODU AND CTRNS.DATE_ BETWEEN CONVERT(DATETIME,''' + @ILKTARIH + ''',104) AND CONVERT(DATETIME,''' + @SONTARIH + ''',104))VEDAT_OZER
ORDER BY VEDAT_OZER.CARI_KODU,VEDAT_OZER.TARIH
SET @BAKIYE = 0
OPEN CARI_DETAY FETCH NEXT FROM CARI_DETAY
INTO
@CARI_KODU,
@CARI_ADI,
@TARIH,
@FIS_TUR,
@OZEL_KOD,
@BELGE,
@ACIKLAMA,
@BORC,
@ALACAK,
@EKLEME_TARIH,
@EKLEYEN,
@DEGISTIRME_TARIH,
@DEGISTIREN
WHILE @@fetch_status = 0
BEGIN
SET @BAKIYE =ROUND( @BAKIYE + @BORC - @ALACAK ,2)
SET @DURUM = CASE WHEN @BAKIYE>0 THEN ''(B)'' WHEN @BAKIYE<0 THEN ''(A)'' WHEN @BAKIYE=0 THEN ''(-)'' ELSE '''' END
INSERT INTO #TMP (
CLINTREF,
CARI_KODU,
CARI_ADI,
TARIH,
FIS_TUR,
OZEL_KOD,
BELGE,
ACIKLAMA,
BORC,
ALACAK,
BAKIYE,
DURUM,
EKLEME_TARIH,
EKLEYEN,
DEGISTIRME_TARIH,
DEGISTIREN)
VALUES(
@CLINTREF,
@CARI_KODU,
@CARI_ADI,
@TARIH,
@FIS_TUR,
@OZEL_KOD,
@BELGE,
@ACIKLAMA,
@BORC,
@ALACAK,
@BAKIYE,
@DURUM,
@EKLEME_TARIH,
@EKLEYEN,
@DEGISTIRME_TARIH,
@DEGISTIREN)
FETCH NEXT FROM CARI_DETAY
INTO
@CARI_KODU,
@CARI_ADI,
@TARIH,
@FIS_TUR,
@OZEL_KOD,
@BELGE,
@ACIKLAMA,
@BORC,
@ALACAK,
@EKLEME_TARIH,
@EKLEYEN,
@DEGISTIRME_TARIH,
@DEGISTIREN
END
CLOSE CARI_DETAY
DEALLOCATE CARI_DETAY
FETCH NEXT FROM CARI_LISTE
INTO
@CLINTREF,
@CARI_KODU,
@CARI_ADI
END
CLOSE CARI_LISTE
DEALLOCATE CARI_LISTE
COMMIT TRAN
PRINT(''Cari Hesap Ekstresini Başarıyla Tamamlanmıştır.'')
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRAN
PRINT(''Cari Hesap Ekstresinde Hata Var. Lütfen Tekrar Deneyin !'')
END
END CATCH
SELECT
CARI_KODU as [Carı Kodu],
CARI_ADI as [Carı Adı],
TARIH as [Tarih],
FIS_TUR as [Fiş Türü],
BELGE [Özel Kod],
OZEL_KOD [Belge No],
ACIKLAMA [Açıklama],
BORC [Borç],
ALACAK [Alacak],
BAKIYE [Bakiye],
DURUM [B-A],
EKLEME_TARIH [Ekleme Tarihi],
EKLEYEN [Ekleyen Kişi],
DEGISTIRME_TARIH [Değiştirme Tarihi],
DEGISTIREN as [Değiştiren Kişi]
FROM #TMP WHERE CARI_KODU IS NOT NULL
ORDER BY CARI_KODU
')
LOGO STOK YÜRÜYEN BAKİYE SQL PROCEDURE
--EXEC STOK_YURUYEN '201','01'
IF EXISTS (SELECT * FROM DBO.SYSOBJECTS WHERE ID = OBJECT_ID(N'STOK_YURUYEN') AND OBJECTPROPERTY(ID, N'IsProcedure') = 1)
DROP PROCEDURE [dbo].[STOK_YURUYEN]
GO
CREATE PROC STOK_YURUYEN
(@FIRMA VARCHAR(4),@DONEM VARCHAR(3))
AS
EXEC ('
SET NOCOUNT ON
IF EXISTS(SELECT * FROM tempdb.dbo.sysobjects O
WHERE O.xtype = ''U'' AND O.id = OBJECT_ID(N''tempdb..#GECICITABLO''))
BEGIN
DROP TABLE #GECICITABLO
END
CREATE TABLE #GECICITABLO
(
[Stfıche_Referans] INT,
[Stlıne_Referans] INT,
[Fiş No] VARCHAR(100),
[Fiş Türü] VARCHAR(65),
[Belge No] VARCHAR(100),
[Stfıche Tarıh] SMALLDATETIME,
[Stlıne Tarıh] SMALLDATETIME,
[Ftıme] bigint,
[Stok Kodu] VARCHAR(250),
[Stok Adı] VARCHAR(250),
[Bırım] VARCHAR(15),
[Giriş Çıkış] VARCHAR(20),
[Miktar] DECIMAL(38,2),
[Kalan] DECIMAL(38,2),
[Tutar] DECIMAL(38,2)
)
CREATE CLUSTERED INDEX IX_#GECICITABLO ON #GECICITABLO ([Stok Kodu], [Stlıne Tarıh], [Miktar])
INSERT INTO #GECICITABLO
([Stfıche_Referans],
[Stlıne_Referans],
[Fiş No],
[Fiş Türü],
[Belge No],
[Stfıche Tarıh],
[Stlıne Tarıh],
[Ftıme],
[Stok Kodu],
[Stok Adı],
[Bırım],
[Giriş Çıkış],
[Miktar],
[Kalan],
[Tutar])
SELECT
VEDAT_OZER.[Stfıche_Referans] ,
VEDAT_OZER.[Stlıne_Referans] ,
VEDAT_OZER.[Fiş No],
VEDAT_OZER.[Fiş Türü],
VEDAT_OZER.[Belge No],
VEDAT_OZER.[Stfıche Tarıh],
VEDAT_OZER.[Stlıne Tarıh],
VEDAT_OZER.[Ftıme],
VEDAT_OZER.[Stok Kodu],
VEDAT_OZER.[Stok Adı],
VEDAT_OZER.[Bırım],
VEDAT_OZER.[Giriş Çıkış],
VEDAT_OZER.[Miktar],
VEDAT_OZER.Kalan,
VEDAT_OZER.[Tutar]
FROM (
SELECT
STFICHE.LOGICALREF [STFICHE_REFERANS],
STLINE.LOGICALREF [STLINE_REFERANS],
[Fiş No]=STFICHE.FICHENO,
[Fiş Türü]=CASE STFICHE.TRCODE
WHEN 1 then ''Satınalma İrsaliyesi''
WHEN 2 then ''Perakende Satış İade İrsaliyesi''
WHEN 3 then ''Toptan Satış İade İrsaliyesi''
WHEN 4 then ''Konsinye Çıkış İade İrsaliyesi''
WHEN 5 then ''Konsinye Giriş İrsaliyesi''
WHEN 6 then ''Satınalma İade İrsaliyesi''
WHEN 7 then ''Perakende Satış İrsaliyesi''
WHEN 8 then ''Toptan Satış İrsaliyesi''
WHEN 9 then ''Konsinye Çıkış İrsaliyesi''
WHEN 10 then ''Konsinye Giriş İade İrsaliyesi''
WHEN 11 then ''Fire Fişi''
WHEN 12 then ''Sarf Fişi''
WHEN 13 then ''Üretimden Giriş Fişi''
WHEN 14 then ''Devir Fişi''
WHEN 25 then ''Ambar Fişi''
WHEN 26 then ''Muhtahsil İrsaliyesi''
WHEN 50 then ''Sayım Fazlası Fişi''
WHEN 51 then ''Sayım Eksiği Fişi'' ELSE '''' END,
[Belge No]=STFICHE.DOCODE,
[Stfıche Tarıh]=STFICHE.DATE_,
[Stlıne Tarıh]=STLINE.DATE_,
[Ftıme]=STLINE.FTIME,
[Stok Kodu]=ITEMS.CODE,
[Stok Adı]=ITEMS.NAME,
[Bırım]=BIRIM.CODE,
[Giriş Çıkış]= CASE WHEN STLINE.IOCODE IN(1,2) THEN ''Giriş'' when STLINE.IOCODE IN(3,4) THEN ''Çıkış'' else '''' end,
[Miktar]=(CASE WHEN STLINE.IOCODE IN(1,2) THEN 1 ELSE -1 end) * STLINE.AMOUNT*(CASE WHEN ISNULL(UINFO2,0)=0 THEN 1 ELSE UINFO2 END)/(CASE WHEN ISNULL(UINFO1,0)=0 THEN 1 ELSE UINFO1 END),
null KALAN,
[Tutar]=(CASE WHEN STLINE.IOCODE IN(1,2) THEN 1 ELSE -1 end) * STLINE.VATMATRAH
FROM LG_'+@FIRMA+'_'+@DONEM+'_STFICHE STFICHE WITH (NOLOCK)
LEFT OUTER JOIN LG_'+@FIRMA+'_01_STLINE STLINE WITH (NOLOCK) ON STFICHE.LOGICALREF=STLINE.STFICHEREF
LEFT OUTER JOIN LG_'+@FIRMA+'_ITEMS ITEMS WITH (NOLOCK) ON STLINE.STOCKREF =ITEMS.LOGICALREF
LEFT OUTER JOIN LG_'+@FIRMA+'_UNITSETL BIRIM WITH (NOLOCK) ON BIRIM.UNITSETREF= ITEMS.UNITSETREF AND BIRIM.MAINUNIT=1
WHERE
STFICHE.CANCELLED=0 AND STLINE.CANCELLED=0
AND STLINE.LINETYPE=0
AND STLINE.IOCODE IN (1,2,3,4)
) VEDAT_OZER
DECLARE @STOK_KODU VARCHAR(150),
@YURUYEN DECIMAL(38,2),
@SAYI bigint
;
SELECT @SAYI = 1
;
WITH
CTE AS
(
SELECT SAY = ROW_NUMBER() OVER (ORDER BY [Stok Kodu], [Stlıne Tarıh], [Miktar]),
[Stfıche_Referans] ,
[Stlıne_Referans] ,
[Fiş No],
[Fiş Türü],
[Belge No],
[Stfıche Tarıh],
[Stlıne Tarıh],
[Ftıme],
[Stok Kodu],
[Stok Adı],
[Bırım],
[Giriş Çıkış],
[Miktar],
Kalan,
[Tutar] FROM #GECICITABLO WITH(INDEX=IX_#GECICITABLO)
)
UPDATE tgt
SET @YURUYEN = Kalan = CASE
WHEN tgt.SAY = @SAYI
THEN CASE
WHEN tgt.[Stok Kodu] = @STOK_KODU THEN tgt.Miktar + @YURUYEN
ELSE tgt.Miktar
END
ELSE 0
END,
@STOK_KODU = tgt.[Stok Kodu],
@SAYI = @SAYI + 1
FROM CTE tgt
WITH (TABLOCKX)
OPTION (MAXDOP 1)
SELECT
[Stfıche_Referans] ,
[Stlıne_Referans] ,
[Fiş No],
[Fiş Türü],
[Belge No],
[Stfıche Tarıh],
[Stlıne Tarıh],
RTRIM(CONVERT(char(20), ROUND([Ftıme] / 16777216, 2))) + '':'' + RTRIM(CONVERT(char(20),
ROUND(([Ftıme] - ROUND([Ftıme] / 16777216, 2) * 16777216)/ 65536, 2))) + '':'' + RTRIM(CONVERT(char(20),
ROUND(([Ftıme] - ROUND([Ftıme] / 16777216, 2) * 16777216 - ROUND(([Ftıme] - ROUND([Ftıme] / 16777216, 2) * 16777216) / 65536, 2) * 65536) / 256, 2))) AS Saat,
[Stok Kodu],
[Stok Adı],
[Bırım],
[Giriş Çıkış],
[Miktar],
[Kalan],
[Tutar] FROM #GECICITABLO
ORDER BY [Stok Kodu],[Stlıne Tarıh],[Saat]
;
')
sql server insert trigger basit yol
CREATE TRIGGER KOD
ON LG_005_01_INVOICE
FOR INSERT
AS
DECLARE @GRPCODE INT, @SPECODE NVARCHAR(20), @LOGICALREF INT
SELECT @GRPCODE = GRPCODE, @SPECODE = SPECODE, @LOGICALREF = LOGICALREF FROM INSERTED
IF (@GRPCODE =1)
BEGIN
UPDATE LG_005_01_INVOICE SET SPECODE = 'ALIŞ' WHERE LOGICALREF = @LOGICALREF
END
ELSE
BEGIN
UPDATE LG_005_01_INVOICE SET SPECODE ='SATIŞ' WHERE LOGICALREF =@LOGICALREF
END
Sql Server HIZLI Sorgu
select * into #satislar from logo_view_satislar_2014_2015 –sql serverde masterin altinda tempdbye atar sadece kullanılan sezondaki kisi erisebilir sql kapanip acilirsa sifirlanir
select yil,sum(toplamtutar) from #satislar group by yil
LOGO TIGER KAPANMAMIS FATURALARIN LISTESI
SUM(PAYTRANS.TOTAL) – SUM(PAYTRANS.PAID) AS KALAN_TUTAR, CLCARD.CODE, CLCARD.DEFINITION_, CLCARD.TOWN,CLCARD.DISTRICT, CLCARD.TELNRS2, PAYTRANS.PROCDATE AS FATURA_TARIHI,
PAYTRANS.DATE_ AS ODEME_TARIHI,
( SELECT ( SELECT DEFINITION_ FROM lg_001_PAYPLANS WHERE LOGICALREF = PAYDEFREF ) FROM lg_001_03_INVOICE WHERE LOGICALREF = PAYTRANS.FICHEREF ) AS ODEME_PLANI
FROM lg_001_03_PAYTRANS AS PAYTRANS
LEFT OUTER JOIN lg_001_CLCARD AS CLCARD ON PAYTRANS.CARDREF = CLCARD.LOGICALREF
WHERE PAYTRANS.CARDREF IN ( SELECT LOGICALREF FROM lg_001_CLCARD AS SYN_CLCARD WHERE CODE LIKE ‘131 %’) AND
( SELECT PAYDEFREF FROM lg_001_03_INVOICE WHERE LOGICALREF = PAYTRANS.FICHEREF) IN( 41, 43, 39 ) AND
PAYTRANS.MODULENR IN( 4 ) AND
PAYTRANS.PROCDATE PAYTRANS.DATE_ AND
PAYTRANS.DATE_ <= ‘2016-10-11 00:00:00.000’
GROUP BY PAYTRANS.CARDREF, PAYTRANS.MODULENR, PAYTRANS.FICHEREF, PAYTRANS.TRCODE, CLCARD.CODE, CLCARD.DEFINITION_, CLCARD.TOWN,CLCARD.DISTRICT, CLCARD.TELNRS2, PAYTRANS.PROCDATE, PAYTRANS.DATE_
HAVING SUM(PAYTRANS.TOTAL) – SUM(PAYTRANS.PAID) > 0.99
ORDER BY PAYTRANS.CARDREF;
SELECT PAYTRANS.CARDREF, PAYTRANS.MODULENR, PAYTRANS.FICHEREF, PAYTRANS.TRCODE, SUM(PAYTRANS.TOTAL) AS FATURA_TOPLAMI, SUM(PAYTRANS.PAID) AS KAPANAN_TUTAR,
SUM(PAYTRANS.TOTAL) – SUM(PAYTRANS.PAID) AS KALAN_TUTAR, CLCARD.CODE, CLCARD.DEFINITION_, CLCARD.TOWN,CLCARD.DISTRICT, CLCARD.TELNRS2, PAYTRANS.PROCDATE AS FATURA_TARIHI,
PAYTRANS.DATE_ AS ODEME_TARIHI,
( SELECT ( SELECT DEFINITION_ FROM lg_001_PAYPLANS WHERE LOGICALREF = PAYDEFREF ) FROM lg_001_03_INVOICE WHERE LOGICALREF = PAYTRANS.FICHEREF ) AS ODEME_PLANI
FROM lg_001_03_PAYTRANS AS PAYTRANS
LEFT OUTER JOIN lg_001_CLCARD AS CLCARD ON PAYTRANS.CARDREF = CLCARD.LOGICALREF
WHERE PAYTRANS.CARDREF IN ( SELECT LOGICALREF FROM lg_001_CLCARD AS SYN_CLCARD WHERE CODE LIKE ‘131 %’) AND
( SELECT PAYDEFREF FROM lg_001_03_INVOICE WHERE LOGICALREF = PAYTRANS.FICHEREF) IN( 41, 43, 39 ) AND
PAYTRANS.MODULENR IN( 4 ) AND
PAYTRANS.PROCDATE PAYTRANS.DATE_ AND
PAYTRANS.DATE_ <= '2016-10-11 00:00:00.000'
GROUP BY PAYTRANS.CARDREF, PAYTRANS.MODULENR, PAYTRANS.FICHEREF, PAYTRANS.TRCODE, CLCARD.CODE, CLCARD.DEFINITION_, CLCARD.TOWN,CLCARD.DISTRICT, CLCARD.TELNRS2, PAYTRANS.PROCDATE, PAYTRANS.DATE_
HAVING SUM(PAYTRANS.TOTAL) – SUM(PAYTRANS.PAID) > 0.99
ORDER BY PAYTRANS.CARDREF;

