CREATE VIEW BM_MALZEME_BIRIM_DURUMLARI AS
SELECT DISTINCT LOGICALREF,M.ANAMALZEMEKOD,M.ANAMZELEMEAD, M.BIRIMKODU,M.BIRIMADI,
ISNULL((SELECT DISTINCT CONVERT(VARCHAR,UOMREF) FROM LG_210_01_STLINE S WHERE S.UOMREF=M.LOGICALREF AND S.LINETYPE=0),'YOK') STLINEDAVARMI,
ISNULL((SELECT DISTINCT CONVERT(VARCHAR,UOMREF) FROM LG_210_01_ORFLINE S WHERE S.UOMREF=M.LOGICALREF AND S.LINETYPE=0),'YOK') ORFLINEDAVARMI,
CASE WHEN ISNULL((SELECT DISTINCT CONVERT(VARCHAR,UOMREF) FROM LG_210_01_STLINE S WHERE S.UOMREF=M.LOGICALREF AND S.LINETYPE=0),'YOK') ='YOK'
AND ISNULL((SELECT DISTINCT CONVERT(VARCHAR,UOMREF) FROM LG_210_01_ORFLINE S WHERE S.UOMREF=M.LOGICALREF AND S.LINETYPE=0),'YOK')='YOK' THEN 'SIL' ELSE 'SILME'
END
SILINEBILIR
FROM (SELECT
UNITSETL.CODE BIRIMKODU,
UNITSETL.NAME BIRIMADI,
(SELECT CODE FROM LG_210_UNITSETF UNITSETF WHERE UNITSETF.LOGICALREF = UNITSETL.UNITSETREF) ANAMALZEMEKOD,
(SELECT UNITSETF.NAME FROM LG_210_UNITSETF UNITSETF WHERE UNITSETF.LOGICALREF = UNITSETL.UNITSETREF) ANAMZELEMEAD,
LOGICALREF, CODE, NAME, UNITSETREF, LINENR, MAINUNIT, CONVFACT1, CONVFACT2, WIDTH, LENGTH, HEIGHT, AREA, VOLUME_, WEIGHT, WIDTHREF, LENGTHREF, HEIGHTREF, AREAREF, VOLUMEREF, WEIGHTREF, DIVUNIT, MEASURECODE, GLOBALCODE
FROM
LG_210_UNITSETL UNITSETL WITH(NOLOCK) ) M
Tag: malzeme
LOGO SQL ALT BIRIMLERIYLE ANA BIRIM SETLERI
SET ROWCOUNT 0
SELECT
(SELECT CODE FROM LG_212_UNITSETF UNITSETF WHERE UNITSETF.LOGICALREF = UNITSETL.UNITSETREF) ANAMALZEMEKOD,
(SELECT UNITSETF.NAME FROM LG_212_UNITSETF UNITSETF WHERE UNITSETF.LOGICALREF = UNITSETL.UNITSETREF) ANAMZELEMEAD,
LOGICALREF, CODE, NAME, UNITSETREF, LINENR, MAINUNIT, CONVFACT1, CONVFACT2, WIDTH, LENGTH, HEIGHT, AREA, VOLUME_, WEIGHT, WIDTHREF, LENGTHREF, HEIGHTREF, AREAREF, VOLUMEREF, WEIGHTREF, DIVUNIT, MEASURECODE, GLOBALCODE
FROM
LG_212_UNITSETL UNITSETL WITH(NOLOCK)
ORDER BY
UNITSETREF, LINENR
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]
;
')
Live Hareket Goren istenmeyen malzemeleri toplu olarak sqlden silme
Silinmesi isdenilen malzemelerin recidleri () lerin icine yazilir
--update Erp_InventoryPriceList set UnitSetItemId = null where InventoryId in
--()
--delete Erp_InventoryPriceList where InventoryId in
--()
--delete Erp_RecipeItem from Erp_RecipeItem RI
--where RecipeId = (Select RecId from Erp_Recipe R where R.RecId = RI.RecipeId and R.InventoryId in
--()
--)
--delete Erp_Recipe where InventoryId in
--()
--update Erp_Inventory Set RecipeUnitItemId = null where RecId in
--()
--update Erp_InventoryUnitItemSize set InventoryId = null where InventoryId in
--()
--delete Erp_InventoryUnitItemSize where InventoryId in
--()
--delete Erp_InventoryBarcode where InventoryId in
--()
--delete Erp_InventoryWarehouse where InventoryId in
--()
--delete Erp_Project where InventoryId in
--()
--delete Erp_FixedAssetDepreciation where InventoryId in
--()
--delete Erp_InventoryExplanation where InventoryId in
--()
--delete Erp_InventoryAlternative where InventoryId in
--()
--delete Erp_FixedAssetExpense where InventoryId in
--()
--delete Erp_InventoryAttachment where InventoryId in
--()
--delete Erp_InitialCostItem from Erp_InitialCostItem IC
--where InitialCostId = (Select RecId from Erp_InitialCost I where I.RecId = IC.InitialCostId and I.InventoryId in
--()
--)
--delete Erp_InitialCost where InventoryId in
--()
--delete Erp_RecipeItem where InventoryId in
--()
--delete Erp_RouteItem from Erp_RouteItem RI where RouteId = (select RecId from Erp_Route R where RI.RouteId=R.RecId and R.InventoryId in
--()
--)
--delete Erp_Route where InventoryId in
--()
--delete Erp_Inventory where RecId in
--()
Sentez Live Ncr Transfer
servere (sentezin sqlin bulundugu) ncr vmwarei kurallar ve xp kurallar içine ipsini alırlar ornek 192.168.0.100
daha sonra ncr ayarları yapılır burda onemli olan malzemelerin içindede fiyatlardada departman olması yoksa fiyatları yollamaz.
Dikkat grup kodu 15 karakterden fazlaysa malzeme listesinde sağ tık ncr gonderde gondermeyebilir.
Kdv tanımlı olması lazım
FİYAT KODLARI MUHAKKAK TANIMLI OLMASI LAZIM 0 OLSA BİLE TANIMLI OLMASI LAZIM VE DEPARTMANLARI
daha sonra ncr ayarları yapılır burda onemli olan malzemelerin içindede fiyatlardada departman olması yoksa fiyatları yollamaz.
Dikkat grup kodu 15 karakterden fazlaysa malzeme listesinde sağ tık ncr gonderde gondermeyebilir.
Kdv tanımlı olması lazım
FİYAT KODLARI MUHAKKAK TANIMLI OLMASI LAZIM 0 OLSA BİLE TANIMLI OLMASI LAZIM VE DEPARTMANLARI
FİYAT GÜNCELLERKEN NCR YAZARKASADAN ANA EKRANA GİDİLMESİ LAZIM
VMWARE \\192.168.254.10\root\DataBase CONDTPLU.DBF DOSYASINDA NCRDAKİ ÜRÜNLERİN LİSTESİ
DİKKAT ET BARKODLAR AYNI OLMAMALI YOKSA AKTARMAZ.