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