powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Код формирования EAN-13 есть у кого?
12 сообщений из 12, страница 1 из 1
Код формирования EAN-13 есть у кого?
    #36681336
Фотография DarkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужен TSQL код, который сможет выполнить преобразование: 123456789012 -> 1CDOFQR*ijabci+

Процедура стандартная, может есть у кого?
...
Рейтинг: 0 / 0
Код формирования EAN-13 есть у кого?
    #36681363
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkCatНужен TSQL код, который сможет выполнить преобразование: 123456789012 -> 1CDOFQR*ijabci+

Процедура стандартная, может есть у кого?Процедура, которая алгоритм преобразования угадывает, что ли?
...
Рейтинг: 0 / 0
Код формирования EAN-13 есть у кого?
    #36681386
Фотография DarkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей АлексеевичDarkCatНужен TSQL код, который сможет выполнить преобразование: 123456789012 -> 1CDOFQR*ijabci+

Процедура стандартная, может есть у кого?Процедура, которая алгоритм преобразования угадывает, что ли?
Нужна процедура которая берет 12 чисел, добавляет к ним контрольный разряд, и преобразует всё это в 15-значную последовательность символов, которую если изобразить шрифтом EAN13 то получится баркод для его последующего распечатывания..
...
Рейтинг: 0 / 0
Код формирования EAN-13 есть у кого?
    #36681729
BorodaSoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkCat,

Смотрите тут и тут
...
Рейтинг: 0 / 0
Код формирования EAN-13 есть у кого?
    #36682126
Фотография DarkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BorodaSoftDarkCat,

Смотрите тут и тут
спасибо, похоже то что нужно
...
Рейтинг: 0 / 0
Код формирования EAN-13 есть у кого?
    #36688079
Фотография DarkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если вдруг кому интересно, вот перевод в TSQL

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
create PROCEDURE BARTOTXT ( @chaine varchar( 13 ))
as

declare @i integer
declare @first integer
declare @checksum integer
declare @CodeBarre varchar ( 25 ) 
declare @tableA integer

begin

set @CodeBarre = ''
set @checksum =  0 

set @i =  2 
while (@i< 13 ) 
begin
  set @checksum = @checksum + CAST(substring(@chaine,@i, 1 ) AS int)
  set @i = @i +  2 
end
set @checksum = @checksum* 3 ;

set @i =  1 
while (@i< 13 ) 
begin
  set @checksum = @checksum + CAST(substring(@chaine,@i, 1 ) AS int)
  set @i = @i +  2 
end

set @chaine = substring(@chaine, 1 , 12 ) + CAST(( 10  - @checksum %  10 ) %  10  as varchar( 1 ))

set @CodeBarre = SubString(@chaine, 1 , 1 ) + CHAR( 65  + CAST(SubString(@chaine, 2 , 1 ) as int));

set @first = CAST(SubString(@chaine, 1 , 1 ) as int)

set @i =  3 
while (@i<= 7 ) 
begin
   set  @tableA =  0 ;

   if (@i =  3  and @first >=  0  and @first <=  3 ) set @tableA =  1 ;
   if (@i =  4  and (@first= 0  or @first= 4  or @first= 7  or @first= 8 )) set @tableA =  1 ;
   if (@i =  5  and (@first= 0  or @first= 1  or @first= 4  or @first= 5  or @first= 9 )) set @tableA =  1 ;
   if (@i =  6  and (@first= 0  or @first= 2  or @first= 5  or @first= 6  or @first= 7 )) set @tableA =  1 ;
   if (@i =  7  and (@first= 0  or @first= 3  or @first= 6  or @first= 8  or @first= 9 )) set @tableA =  1 ;

   if @tableA =  1 
      set @CodeBarre = @CodeBarre + char( 65  + CAST(SubString(@chaine,@i, 1 ) as int));
   else
      set @CodeBarre = @CodeBarre + char( 75  + CAST(SubString(@chaine,@i, 1 ) as int));

   set @i = @i +  1 
end

set @CodeBarre = @CodeBarre + '*'

set @i =  8 
while (@i<= 13 ) 
begin
   set @CodeBarre = @CodeBarre + char( 97  + CAST(SubString(@chaine,@i, 1 ) as int));
   set @i = @i +  1 
end

set @CodeBarre = @CodeBarre + '+'

select @chaine as code, @CodeBarre as ean13txt

end

шрифт во вложении
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Код формирования EAN-13 есть у кого?
    #38065845
alik-os
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, помогло!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Код формирования EAN-13 есть у кого?
    #39870251
Настаев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkCat
if @tableA = 1
set @CodeBarre = @CodeBarre + char(65 + CAST(SubString(@chaine,@i,1) as int));
else
set @CodeBarre = @CodeBarre + char(75 + CAST(SubString(@chaine,@i,1) as int));

set @i = @i + 1
end



А где тут закрывается условие IF?
...
Рейтинг: 0 / 0
Код формирования EAN-13 есть у кого?
    #39870255
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оно тут нигде не закрывается. читайте синтаксис IF
...
Рейтинг: 0 / 0
Код формирования EAN-13 есть у кого?
    #39870262
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то, перед ELSE точка с запятой стоять не может.
...
Рейтинг: 0 / 0
Код формирования EAN-13 есть у кого?
    #39870368
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iapВообще-то, перед ELSE точка с запятой стоять не может.
С каких это пор?

Код: sql
1.
2.
3.
DECLARE @t int;
IF 1 > 0 SET @t = 0; ELSE SET @t = 1;
PRINT @t;



Lepsikоно тут нигде не закрывается. читайте синтаксис IF
Я бы поправил, что оно нигде явно не закрывается.
Неявно else работает строго на один стейтмент после него, после чего закрывается.
Если нужно несколько стейтментов по условию - их нужно явно обернуть в begin ... end
...
Рейтинг: 0 / 0
Код формирования EAN-13 есть у кого?
    #39870535
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MinamotoС каких это пор?
С пор, когда некоторые особо выдающиеся некрофилы стали путать T-SQL и Pascal.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Код формирования EAN-13 есть у кого?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]