Имя: Пароль:
1C
1С v8
Как сделать корректный штрихкод?
,
0 Deni7
 
24.11.14
11:09
Есть регситр сведений Штрихкоды, в котором измерение - Документ, а ресурс - Штрихкод (строка длиной 20). ШК генерируется автоматически, при записи документа (сейчас сделана подписка).

Как обеспечить корректность счетчика штрихкодов? А сейчас получается при одновременной записи документов дублирование штрихкодов.
1 DGorgoN
 
24.11.14
11:11
Подправить процедуру генерации штрих кодов. Ваш кэп.
2 Cube
 
24.11.14
11:12
(0) Подход изначально не верен. Штрих код не надо никуда записывать - в БД и так достаточно информации, чтобы однозначно идентифицировать любой объект БД. Всё что нужно - закодировать эту инфу в штрихкод.

Поэтому, отдельного поля для хранения штрихкода придумывать не надо и проблем таких не возникнет (и других тоже).
3 Deni7
 
24.11.14
11:14
(1) А как?

(2) Ну технология генерации ШК уже задана сверху, единая. Там присутствует счетчик.
4 Dmitrith
 
24.11.14
11:29
привяжите ШК к номеру документа. И будет вам щастье
5 Chum
 
24.11.14
11:32
(4) ну-ну. Десять видов документов с одинаковой нумерацией...
6 Dmitrith
 
24.11.14
11:35
(5) ВидДокумента+Номер
7 Dmitrith
 
24.11.14
11:36
(5) вид документа кодировать одной или двумя цифрами. С учетом что ШК 20-значный полюбому места хватит
8 User_Agronom
 
24.11.14
11:44
(6) Ещё год, если у них периодичность номера по годам.
9 Deni7
 
24.11.14
11:45
Ну это все понятно, а как все таки корректно счетчик организовать?
10 Dmitrith
 
24.11.14
12:00
а зачем? если привязать к номеру документа то счетчик не нужен
11 DrZombi
 
гуру
24.11.14
12:02
(0) Через РС, с блокировкой записи на мгновение увеличения счетчика :)
12 DrZombi
 
гуру
24.11.14
12:03
(10) Если только номер документа уже исковеркан до неузнаваемости со всякими префиксами из 5 и больше букв :)
13 Dmitrith
 
24.11.14
12:13
(12) в большинстве случаев это тоже решаемо. В префиксах как правило фирма/подразделение зашито. Берем последнюю цифру кода организации и все.
14 mikecool
 
24.11.14
12:16
вид документа + номер + дата хватит для однозначного кодирования
15 hhhh
 
24.11.14
12:19
всё-таки имхо надо привязать к уиду и не париться.
16 mikecool
 
24.11.14
12:23
(15) еан 13 не потянет уид, разве что 128
17 Cube
 
24.11.14
12:24
(15) Этого мало. В одной БД может быть два объекта с одинаковыми УИДами, но разными видами. Например, ПКО и РКО...
18 Cube
 
24.11.14
12:25
+(17) Самое простое - это ЗначениеВСтрокуВнутр() - вот это вещь и для кодирования и для поиска. Но такое лучше в двумерный штрихкод пихать :)
19 hhhh
 
24.11.14
12:27
(16) вроде писал автор, что 20-значный штрихкод. Почему 13?
20 Deni7
 
24.11.14
12:33
Всем спсибо конечно, но все советы идут по части того как обойтись без счетчика.

Вопрос же звучит так: "Как организовать корректный счетчик".
21 hhhh
 
24.11.14
12:35
(20) в (11) же написали
22 Deni7
 
24.11.14
12:35
(11) Что такое РС?
23 hhhh
 
24.11.14
12:38
регистр сведений. а вы где счетчик храните?
24 Deni7
 
24.11.14
12:54
(11)(23) Трабла в том, что если ставить блокировку, то она идет на момент всей записи документа. Поэтому сразу идут блокировки у пользователей. Как-то можно снять блокировку регистра внутри транзакции до ее завершения?
25 Cube
 
24.11.14
12:59
(24) Для вашей корявой реализации простейших механизмов можно только предложить использовать вместо регистра сведений справочник, код которого и будет твоим штрихкодом...

Изобретают велосипеды с квадратными колесами, а потом спрашивают у нас, как на них ездить...
26 Deni7
 
24.11.14
13:01
(25) Так и сделали :). Я из общих принципов спрашиваю :)