![]() |
|
Штрих код в документе 1С | ☑ | ||
---|---|---|---|---|
0
pers200590
02.06.10
✎
04:55
|
ЗДравствуйте подскажите как реализовать пожелание
Вставить штрих код в печатную форму документа Реализация Поиск по штрих коду документа в журнале по покупателям |
|||
1
lamme
02.06.10
✎
04:58
|
для документа делаешь новый реквизит - ШК
по нему - возможность поиска. при создании нового документа - генерируешь ШК. При печати - вставляешь. Для печати - посмотри шрифт -который в формах отчетности идет. Там реализована печать ШК без всяких компонент. |
|||
2
lamme
02.06.10
✎
04:58
|
задача не сложная
и интересная |
|||
3
lamme
02.06.10
✎
04:58
|
дальневосточникам привет
|
|||
4
lamme
02.06.10
✎
05:00
|
потом - для того чтобы шел поиск по документу по событию от сканера
в глобальном модуле есть процедура Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные) которая ловит событие от внешних данных и .. короче тут уже плясать надо :) |
|||
5
Бусидо
02.06.10
✎
06:37
|
Почему дети в детском саду не переводятся, реквизиты придумывают?:))))
|
|||
6
pers200590
02.06.10
✎
06:42
|
(1) меня интересует обработка поиска по штрихкоду
генерация штрихкода получилась EAN13 вставка в документ - ок |
|||
7
pers200590
02.06.10
✎
06:42
|
Дальний Восток forever
|
|||
8
lamme
02.06.10
✎
06:43
|
(5)
а че - больше сказать нечего было? своего мнения - ты так и не высказал, значит - ничего нового предложить не можешь. |
|||
9
VoditelKobyly
02.06.10
✎
06:43
|
(0) Тогда уж заводи сразу общий реквизит для всех документов. Иначе потом всё равно будешь переделывать. Им понравится и будут все документы так искать.
|
|||
10
KTO
02.06.10
✎
06:45
|
Всем привет, В ТиСе вроде был поиск по ШК в номенклатуре? Там можно глянуть, а может это моя ложная память)
|
|||
11
VoditelKobyly
02.06.10
✎
06:46
|
(6) А что там военного? Там всё просто. Ищешь документ в обработке внешнего события и позиционируешь в журнале на найденном.
Обработку внешнего события можешь для журнала написать свою. Я так понимаю сканер у тебя уже есть и используется он для подбора товаров. |
|||
12
VoditelKobyly
02.06.10
✎
06:47
|
Я надеюсь ШК для документов сгенерировал такой, чтобы с ШК товаров он не пересекался?
|
|||
13
pers200590
02.06.10
✎
06:49
|
(12) в ШК заложил номер документа число и порядкой номер автора документа вместилось в 13 цифр реквизит в табличной части создавать да или нет
|
|||
14
pers200590
02.06.10
✎
06:50
|
(11) да сканер есть и используется для подбора товара сканер с COM портом
|
|||
15
lamme
02.06.10
✎
06:50
|
||||
16
lamme
02.06.10
✎
06:51
|
||||
17
pers200590
02.06.10
✎
06:52
|
(15) шк вроде же должен формировать при открытии документа мне кажется а не при записи или я ошибаюсь
|
|||
18
VoditelKobyly
02.06.10
✎
06:53
|
(13) А в курсе, что бывают и другие типы ШК, например EAN-128?
|
|||
19
lamme
02.06.10
✎
06:53
|
(17)
ну да. я бы сказал - что при ВводНового() тогда генерировать новый ШК |
|||
20
VoditelKobyly
02.06.10
✎
06:54
|
(13) Зачем тебе в табличной? См. (9) Сделай общий реквизит, сразу легче искать будет. Используй EAN-128 и можешь заложить больше информации.
|
|||
21
lamme
02.06.10
✎
06:55
|
но в (15) там идет проверка - а вообще есть ли у данного дока ШК или нет
и если нет - то формируется даже уже для созданных ранее документов |
|||
22
lamme
02.06.10
✎
06:55
|
(13)
и эта .. по табличной части будет ой как долго искаться ... смотри (9) сделай общий реквизит |
|||
23
VoditelKobyly
02.06.10
✎
06:56
|
А зачем тебе автора то закладывать? Найдешь документ, из него уже любой другой реквизит вытащешь.
|
|||
24
VoditelKobyly
02.06.10
✎
06:57
|
Лучер тип документа заложи.
|
|||
25
VoditelKobyly
02.06.10
✎
06:57
|
Лучше тип документа заложи в ШК
|
|||
26
pers200590
02.06.10
✎
06:57
|
(18) вкурсе
|
|||
27
PaulBC
02.06.10
✎
06:57
|
Зачем вообще реквизит, уже ж есть номер? ШК генерить при печати документа, в обработке внешнего события его разбирать, искать документ по номеру.
|
|||
28
pers200590
02.06.10
✎
06:58
|
(20) подскажи насчет создания общего реквизита
|
|||
29
VoditelKobyly
02.06.10
✎
06:59
|
(27) Согласен, можно и так.
|
|||
30
lamme
02.06.10
✎
06:59
|
28
документы -общие реквизиты (там еще Автор есть реквизит такой) создаешь новый. все. больше нигде ничего прописывать не надо это реквизит есть у всех документов. |
|||
31
lamme
02.06.10
✎
07:00
|
(27) тоже вариант
не подумал |
|||
32
pers200590
02.06.10
✎
07:00
|
(15) При вставке кода в процеду при записи написал переменная не определена EAN13
|
|||
33
VoditelKobyly
02.06.10
✎
07:00
|
(27) Только тогда генерить и раскручивать придется каждый раз.
|
|||
34
pers200590
02.06.10
✎
07:01
|
(33) вон даже как
|
|||
35
VoditelKobyly
02.06.10
✎
07:01
|
(27) А если номер документа ручками поменяют, или другой реквизит, который заложен в генерацию ШК, что тогда делать.
Вывод: нужен новый общий реквизит. |
|||
36
pers200590
02.06.10
✎
07:02
|
(35) создал общий реквизит ШК
|
|||
37
lamme
02.06.10
✎
07:03
|
(35)
а если еще нумерация - в пределах года ... то вообще не поймешь |
|||
38
pers200590
02.06.10
✎
07:03
|
В (15) че то мне не нравится а если поробюовать генерировать при печати документа тогда че получится
|
|||
39
lamme
02.06.10
✎
07:04
|
(27)
и по времени выполнения что быстрее будет - искать по готовому ШК - разобрать ШК на состявляющий, найти документ |
|||
40
VoditelKobyly
02.06.10
✎
07:04
|
А лучше в ШК закладыать внутренний IDDoc документа при первой записи.
|
|||
41
VoditelKobyly
02.06.10
✎
07:05
|
(40)+ Гарантия уникальности.
|
|||
42
lamme
02.06.10
✎
07:05
|
(27)
это будет верно - если номер документа строка , а не число ? |
|||
43
lamme
02.06.10
✎
07:06
|
(38)
так ты ж вроде сделал уже .. я так понял - тебе щас надо поймать событие от сканера и найти по штрих-коду документ |
|||
44
pers200590
02.06.10
✎
07:08
|
(42) номер документа строка так че по номеру проще и быстрее будет точно (а если в код загнать номер и дату и все)
|
|||
45
pers200590
02.06.10
✎
07:10
|
Да я уже много вариантов перепробовал но стабильный сейчас вот этот
ОБщий реквизит ШК процедура по генерации ШК вставка в печатную форму Вопросы как поймать событие по сканеру и найти по штрих коду и где вызвать выполнение генерации штрих кода лучше при записи или при вводеНового |
|||
46
pers200590
02.06.10
✎
07:11
|
(43)Да я уже много вариантов перепробовал но стабильный сейчас вот этот
ОБщий реквизит ШК процедура по генерации ШК вставка в печатную форму Вопросы как поймать событие по сканеру и найти по штрих коду и где вызвать выполнение генерации штрих кода лучше при записи или при вводеНового |
|||
47
VoditelKobyly
02.06.10
✎
07:15
|
(45),(46) Событие надо ловить или в глобальном модуле, или в форме списка журнала.
|
|||
48
VoditelKobyly
02.06.10
✎
07:17
|
Если ловишь в глобальном, тогда, ищешь документ, находишь, открываешь журнал и позиционируешься на найденном. Если ловишь в журнале, то после нахождения просто позиционируешься. Правда надо учесть, что могут стоять отборы, и выбран другой период.
|
|||
49
VoditelKobyly
02.06.10
✎
07:18
|
Дай пример сгенерированного ШК.
|
|||
50
pers200590
02.06.10
✎
07:18
|
(47) это понятно вроде как в глобальном модлуе в коммнентарии к обработке ОБработка Внешенего события написано что ловит данные в закрытом состоянии помоему
|
|||
51
Бусидо
02.06.10
✎
07:18
|
ШК бывает куча, ну точнее их несколько. Только матросы с тепловоза делают реквизит. Чем мешает дата+Номер+контрольный символ?
|
|||
52
pers200590
02.06.10
✎
07:18
|
(49) щас кину
|
|||
53
VoditelKobyly
02.06.10
✎
07:20
|
(51) А для матросов советую перечитать (35)
|
|||
54
pers200590
02.06.10
✎
07:21
|
нашел много вариантов
Первый Функция СозданиеШК(Док) Экспорт Перем СодержСтр[7]; Перем ШК; ЗначениеДок = ЗначениеВСтрокуВнутр(Док); ЗначениеДок=СтрЗаменить(ЗначениеДок,"}",","); ЗначениеДок=СтрЗаменить(ЗначениеДок,"{",""); ЗначениеДок=СтрЗаменить(ЗначениеДок,"""",""); Длина=СтрДлина(ЗначениеДок); Для ш=1 По 8 Цикл Поз=Найти(ЗначениеДок,","); Если Поз>0 Тогда ШК=ШК+Лев(ЗначениеДок,Поз-1); СодержСтр[ш]=Лев(ЗначениеДок,Поз-1); ЗначениеДок=Прав(ЗначениеДок,Длина-Поз); Длина=СтрДлина(ЗначениеДок); КонецЕсли; КонецЦикла; ШК=Строка(СокрЛП(СодержСтр[4]))+"*"+Строка(СокрЛП(СодержСтр[7]))+"*"; Возврат ШК; КонецФункции Второй Функция глГенерацияШК(Конт) Экспорт ШК = Строка(ДатаГод(Конт.ДатаДок)) + Строка(Конт.НомерДок); ДлинаШК = СтрДлина(ШК); Пока (12 - ДлинаШК) > 0 Цикл ДлинаШК = ДлинаШК + 1; ШК = Строка("1") + ШК; КонецЦикла; Если СтрДлина(ШК) > 12 Тогда ШК = Прав(ШК, 12); КонецЕсли; ШтрКод = ШК; ШтрКод = СокрЛП(ШтрКод); ШтрКод = Лев(ШтрКод,12); ШтрКод = Число(ШтрКод); Четн = 0; Нечетн = 0; Для Индекс = 1 По 6 Цикл Четн = Четн + Сред(ШтрКод,2 * Индекс,1); КонецЦикла; Четн = Четн * 3; Для Индекс = 1 По 6 Цикл Нечетн = Нечетн + Сред(ШтрКод,2 * Индекс - 1,1); КонецЦикла; КонтЦифра = (Четн + Нечетн) / 10 - Цел((Четн + Нечетн) / 10); КонтЦифра = 10 - Цел(КонтЦифра * 10); Если КонтЦифра = 10 Тогда КонтЦифра = 0; КонецЕсли; Возврат Число(Строка(ШтрКод) + Строка(КонтЦифра)); КонецФункции // ГенерацияШК() Третий Процедура глСформироватьШтрихкодДокумента(Конт, ШК) Экспорт Если ПустаяСтрока(ШК) = 1 Тогда ПрефиксыДокументов = СоздатьОбъект("СписокЗначений"); ПрефиксыДокументов.ДобавитьЗначение("001", "Реализация"); ПрефиксыДокументов.ДобавитьЗначение("002", "СчетФактураВыданный"); // и т.д КодДокумента = СокрЛП(Прав(Конт.НомерДок,7)); КодВидаДокумента = Строка(Константа.ПрефиксВидаДокумента) + ПрефиксыДокументов.Получить(Конт.Вид()); Префикс = Прав(ДатаГод(Конт.ДатаДок), 2); ИспКолво = 10; Штрихкод = СимволыВЦифры(Прав(СокрЛП(КодДокумента+КодВидаДокумента), ИспКолво)); Штрихкод = Префикс + глДополнитьСтрокуЛ(Штрихкод, "0", ИспКолво); ШК = Штрихкод + глКонтрольныйСимволEAN(Штрихкод, 13); КонецЕсли; КонецПроцедуры // глСформироватьШтрихкодДокумента() |
|||
55
pers200590
02.06.10
✎
07:22
|
(53) реквизит общий создал а номер документа заблокировал продавцам чтобы не химичили
|
|||
56
VoditelKobyly
02.06.10
✎
07:23
|
(54) Пока не хочу вникать в код, покажи просто результат: 13 цифр что получилось от любого документа.
|
|||
57
VoditelKobyly
02.06.10
✎
07:28
|
(55) А сколько продавцов одновременно работают с программой? В программе есть механизмы позволяющие избежать присвоения одного номера при одновременной работе нескольких продавцов?
|
|||
58
pers200590
02.06.10
✎
07:28
|
(56) 1120100000010
документ 1 от 02.06.2010 |
|||
59
pers200590
02.06.10
✎
07:28
|
(57)10 человек одновременно
|
|||
60
lamme
02.06.10
✎
07:28
|
(15) что мешает быть у 2 различных видов документов 2 одинаковых номера в пределах дня ?
например Реализация № 123 от 01 03 2010 Счф № 123 от 01 03 2010 и что тогда будет с ШК ? перечитай (35) |
|||
61
VoditelKobyly
02.06.10
✎
07:29
|
(58) Не пойдет. Есть вероятность что будет товар с таким ШК
|
|||
62
pers200590
02.06.10
✎
07:30
|
(61) вероятность маленькая
|
|||
63
VoditelKobyly
02.06.10
✎
07:30
|
(58) Или надо будет разруливать ситуации подбора товаров и поиска документов сканером.
|
|||
64
pers200590
02.06.10
✎
07:31
|
(60)так я же говорю номер поменять ни кто не может
|
|||
65
lamme
02.06.10
✎
07:31
|
11 - это вроде как бы код страны, где произвелся товар
кто значет - что за страна с кодом 11. ? |
|||
66
VoditelKobyly
02.06.10
✎
07:31
|
(62) Используй префиксы с 22 по 28
|
|||
67
pers200590
02.06.10
✎
07:32
|
(66)у меня на дисконках префикс 25 на товаре 20 и 23 наши штрихи
|
|||
68
VoditelKobyly
02.06.10
✎
07:33
|
Скажи себе: все штрих коды документов у меня будут начинаться на 26 и это используй. Некоторые (ниболее правильные люди)заводят это в настройку или константу.
|
|||
69
pers200590
02.06.10
✎
07:33
|
(65) можешь перечитать (46)
|
|||
70
lamme
02.06.10
✎
07:34
|
перечитал.
и что ? генерировать -научился. печать -научился. осталось - поймать от сканера и найти |
|||
71
VoditelKobyly
02.06.10
✎
07:34
|
(67) И это правильно с 22 по 28 используются для внутренних нужд.
|
|||
72
pers200590
02.06.10
✎
07:35
|
(70) куда мне вставить процедуру генерации лучше???
|
|||
73
VoditelKobyly
02.06.10
✎
07:35
|
(72) Ответь на 57 и я тебе отвечу на (72)
|
|||
74
pers200590
02.06.10
✎
07:36
|
В программе работают 10 чел одновременно механизмы нарверно есть Стоит ТИС
|
|||
75
lamme
02.06.10
✎
07:37
|
Вопросы как поймать событие по сканеру и найти по штрих коду и где вызвать выполнение генерации штрих кода лучше при записи или при вводеНового
событие по сканеру ловиться в глобальном модуле предопределн\енная процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные) осюда уже делаешь - как тебе надо генерацию - лучше в ПриЗаписи() - тут надо проверку включить -чтоб не гененировать ШК для уже существующего. хотя можно и в ВводНового() |
|||
76
pers200590
02.06.10
✎
07:37
|
(73)В программе работают 10 чел одновременно механизмы нарверно есть Стоит ТИС
|
|||
77
lamme
02.06.10
✎
07:38
|
я бы в ПриЗаписи вставил.
так будет формироваться ШК - для уже созданных товаров а в ВводНового() = только для новых ... хотя обсуждаемо конечно |
|||
78
lamme
02.06.10
✎
07:38
|
уже созданных товаров = уже созданных документов
|
|||
79
pers200590
02.06.10
✎
07:39
|
(78)твой совет понял а ты часто на этом форуме сидищь
|
|||
80
lamme
02.06.10
✎
07:39
|
(79)
интим не предлагать ! |
|||
81
lamme
02.06.10
✎
07:40
|
(79)
иногда бываю. когда работы нет или лень работать |
|||
82
VoditelKobyly
02.06.10
✎
07:40
|
(76) Если используешь 1-й алгоритм, то можно об этом не заботиться и вставить ПриЗаписи().
Иначе надо смотреть эти механизмы. |
|||
83
pers200590
02.06.10
✎
07:41
|
(81)понятно просьба можешь перечитать мой темы и дать советы по некоторым
|
|||
84
lamme
02.06.10
✎
07:42
|
83
у тебя тем - 18 что - на все давать ? стучись в аську тогда ... че тут полемику разводить |
|||
85
pers200590
02.06.10
✎
07:43
|
(84)Поиск дублей справочника Контрагенты »
ПолучитьОстаток() » ТиС Остаток в формеСписка Номенклатуры » |
|||
86
lamme
02.06.10
✎
07:46
|
Поиск дублей справочника Контрагенты
там же ответили везде. что не так ? |
|||
87
pers200590
02.06.10
✎
07:47
|
там толком ничего не ясно
|
|||
88
lamme
02.06.10
✎
07:48
|
и эта ..
ПолучитьОстаток() - тут пишешь что не работает Виснет код;- тут, что рабоатет, но виснет ... |
|||
89
lamme
02.06.10
✎
07:48
|
давай в аську
|
|||
90
lamme
02.06.10
✎
07:48
|
темы (0) - это не касается
|
|||
91
pers200590
02.06.10
✎
07:49
|
у меня длин она не установлена ща установлю
|
|||
92
VoditelKobyly
02.06.10
✎
07:54
|
(91) Ну вот, начал прыгать с одной темы на другую и убежал не попращавшись.
|
|||
93
lamme
02.06.10
✎
08:08
|
(92)
судя по всему - он везде так |
|||
94
VoditelKobyly
02.06.10
✎
08:12
|
(93) Понял, больше не помогаем, пусть сам в своей каше варится.
|
|||
95
Dm81
02.06.10
✎
08:12
|
(0) я сделал штрих-код, который формируется по номеру документа. Так же в нем закодирован и тип документа. Печатается с помощью barcode.ocx. Поиск взлетает на "ура".
|
|||
96
VoditelKobyly
02.06.10
✎
08:13
|
(95) Пиши заяку на получение Нобелевской :)
|
|||
97
Это_mike
02.06.10
✎
08:18
|
А поиском воспользоваться уже предлагали?
|
|||
98
pers200590
02.06.10
✎
08:42
|
(95) может поделишся кодом
|
|||
99
pers200590
02.06.10
✎
08:42
|
(93) я никого не кидаю и не прыгаю с темы на тему
|
|||
100
Это_mike
02.06.10
✎
08:43
|
(98) Чем тебе вариант скунки не угодил?
|
|||
102
Это_mike
02.06.10
✎
08:44
|
(95) Ничего, что даже номера [могут быть] не уникальны?
|
|||
103
VoditelKobyly
02.06.10
✎
08:47
|
(99) Тогда ты просто сильно шустрый и я за тобой не успел и отстал.
|
|||
104
pers200590
02.06.10
✎
08:52
|
Сейчас добавлял в базу общий реквизит ШК и у меня вывалилось предупреждение Нарушены правила уникальности номеров документов что это может быть из-за чего
|
|||
105
ДенисЧ
02.06.10
✎
08:56
|
(104) У тебя они нарушены были до добавления. УРБД есть?
|
|||
106
pers200590
02.06.10
✎
08:57
|
неа нету
|
|||
107
ДенисЧ
02.06.10
✎
08:58
|
(106) Возьми архив (который ты сделал перед добавлением реквизита) и запусти на нём ТИИ
|
|||
108
pers200590
02.06.10
✎
09:01
|
(107) щас попробую
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |