GastroPOS içerisinde yer alan birim, fiyat ve ürün bilgileri dikkate alınarak barkod teraziler için excel dosyası çıktısı almak için aşağıda yer alan view’i kullanabilirsiniz. İlgili view biden çok barkod içeren durumlarda 27,28,29 olan değerlere göre tek barkod oluşturmaktadır.
USE [GastroPOS]
GO
/****** Object: UserDefinedFunction [dbo].[splitstring] Script Date: 15.01.2022 14:54:32 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION [dbo].[splitstring] ( @stringToSplit VARCHAR(MAX) )
RETURNS
@returnList TABLE ([Name] [nvarchar] (500))
AS
BEGIN
DECLARE @name NVARCHAR(255)
DECLARE @pos INT
WHILE CHARINDEX(',', @stringToSplit) > 0
BEGIN
SELECT @pos = CHARINDEX(',', @stringToSplit)
SELECT @name = SUBSTRING(@stringToSplit, 1, @pos-1)
INSERT INTO @returnList
SELECT @name
SELECT @stringToSplit = SUBSTRING(@stringToSplit, @pos+1, LEN(@stringToSplit)-@pos)
END
INSERT INTO @returnList
SELECT @stringToSplit
RETURN
END
GO
/****** Object: View [dbo].[VW_TeraziUrunleri] Script Date: 15.01.2022 14:54:32 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create view [dbo].[VW_TeraziUrunleri]
as
select
U.ID as URUN_ID,
U.KODU,
U.ADI,
UB.BIRIM_BARKOD as BIRIMBARKOD,
(SELECT TOP 1 * FROM dbo.splitstring(UB.BIRIM_BARKOD) where (Name like '27%' or Name like '28%' or Name like '29%')) as TeraziBarkod,
SUBSTRING((SELECT TOP 1 * FROM dbo.splitstring(UB.BIRIM_BARKOD) where (Name like '27%' or Name like '28%' or Name like '29%')),0,3) as GRUP_KODU,
UF.FIYAT,
B.ADI as BIRIM_ADI
from
TBL_URUN_BIRIM UB left outer join TBL_URUN_FIYAT UF on UF.URUN_BIRIM_ID = UB.ID
left outer join TBL_URUN U on U.ID = UB.URUN_ID,
TBL_BIRIM B
where
UB.BIRIM_ID = B.ID
GO