YetAnotherForum
სალამი სტუმარს ძებნა | აქტიური თემები | შესვლა | რეგისტრაცია

ფავორიტებში დამატება
შტრიხკოდის საკონტროლო თანრიგის გამოთვლა (BarCode)
vajaGM Offline
#1 Posted : Saturday, June 05, 2010 2:02:40 PM

Rank: Administration

Medals:

Groups: Administrators
Joined: 10/20/2012
Posts: 106
Points: 327
Location: Tbilisi

Thanks: 0 times
Was thanked: 0 time(s) in 0 post(s)
წარმოგიდგენთ მარტივ მაგალითს, თუ როგორ გამოვთვალოთ საქონლის შტრიხკოდის საკონტროლო თანრიგი

BB კოდი:

-- SQL 2005, 2008
-- EAN 13
DECLARE @BarCode13 AS VARCHAR(19), @x AS INT, @y AS INT
SET @BarCode13 = '123456789012' -- ცვლადი @BarCode13 შეიცავს შტრიხკოდის პირველ 12 სიმბოლოს
-- გამოვთვალოთ საკონტროლო თანრიგის მნიშვნელობა
SET @x=1
SET @y=0
WHILE @x<13
    BEGIN
        IF @x%2=0
            SET @y=@y+3*CONVERT(INT, SUBSTRING(@BarCode13, @x, 1))
        ELSE
            SET @y=@y+CONVERT(INT, SUBSTRING(@BarCode13, @x, 1))
        SET @x=@x+1
    END
SET @y=10-(@y%10)
SET @y=@y%10
-- დავუმატოთ საკონტროლო თანრიგი ბოლოში @BarCode13 - ს
SET @BarCode13=SUBSTRING(@BarCode13, 1, 12)+CONVERT(CHAR(1), @y)
SELECT @BarCode13 AS [BarCode_EAN13]
ქუოტა (Quote):
Sponsor  
 
Apex ltd. http://www.apex.ge
vajaGM Offline
#2 Posted : Saturday, June 05, 2010 7:28:37 PM

Rank: Administration

Medals:

Groups: Administrators
Joined: 10/20/2012
Posts: 106
Points: 327
Location: Tbilisi

Thanks: 0 times
Was thanked: 0 time(s) in 0 post(s)
ახლა კი შემოგთავაზებთ EAN 8 -ის გამოთვლის მაგალითს

BB კოდი:

-- SQL 2005, 2008
-- EAN 8
DECLARE @BarCode8 AS VARCHAR(19), @x AS INT, @y AS  nchar(1)
SET @BarCode8 = '2001234' -- ცვლადი @BarCode8 შეიცავს შტრიხკოდის პირველ 8 სიმბოლოს
IF ((Len(@BarCode8) < 7) OR (Len(@BarCode8) > 8))
    SET @BarCode8 = NULL
ELSE IF (Len(@BarCode8) = 8)
    SET @BarCode8 = Left(@BarCode8, 7)

-- გამოვთვალოთ საკონტროლო თანრიგის მნიშვნელობა
SET @x = 3 * ( CAST(Substring(@BarCode8,1,1) AS int) + CAST(Substring(@BarCode8,3,1) AS int) + CAST(Substring(@BarCode8,5,1) AS int) + CAST(Substring(@BarCode8,7,1) AS int) ) + CAST(Substring(@BarCode8,2,1) AS int) + CAST(Substring(@BarCode8,4,1) AS int) + CAST(Substring(@BarCode8,6,1) AS int)
IF (@x % 10) = 0 BEGIN SET @y = '0' END
ELSE IF (@x % 10) = 1 BEGIN SET @y = '9' END
ELSE IF (@x % 10) = 2 BEGIN SET @y = '8' END
ELSE IF (@x % 10) = 3 BEGIN SET @y = '7' END
ELSE IF (@x % 10) = 4 BEGIN SET @y = '6' END
ELSE IF (@x % 10) = 5 BEGIN SET @y = '5' END
ELSE IF (@x % 10) = 6 BEGIN SET @y = '4' END
ELSE IF (@x % 10) = 7 BEGIN SET @y = '3' END
ELSE IF (@x % 10) = 8 BEGIN SET @y = '2' END
ELSE IF (@x % 10) = 9 BEGIN SET @y = '1' END
ELSE BEGIN SET @y = 'Z' END

-- დავუმატოთ საკონტროლო თანრიგი ბოლოში @BarCode8 - ს
SET @BarCode8 = Left(@BarCode8,7) + @y
SELECT @BarCode8 AS [BarCode_EAN8] -- RETURNS 2001234(2)
ქუოტა (Quote):
Users browsing this topic
Guest
ფავორიტებში დამატება
Forum Jump  
თქვენ არ შეგიძლიათ დაწეროთ ახალი თემა ამ ფორუმში.
თქვენ არ შეგიძლიათ გასცეთ პასუხი, თემას, ამ ფორუმში .
თქვენ არ შეგიძლიათ წაშალოთ თქვენი პოსტი ამ ფორუმში.
თქვენ არ შეგიძლიათ ჩაასწოროთ თქვენი პოსტი ამ ფორუმში.
თქვენ არ შეგიძლიათ შექმნათ გამოკითხვა ამ ფორუმში.
თქვენ არ შეგიძლიათ ხმის მიცემა ამ ფოუმში.

YAFVision Theme by Jaben Cargman (Tiny Gecko)
Powered by YAF | YAF © 2003-2009, Yet Another Forum.NET
This page was generated in 0.066 seconds.