Имя: Пароль:
1C
 
Автоматическое добавление строки при считывании со сканера штрих-кодов в 1С
0 Syu
 
04.02.08
10:01
Есть сканер штрих-кодов. Сейчас он работает. Все замечательно. Но для добавление новой строки надо все время тыкать кнопу insert. Подскажите как сделать так, чтобы строка в документ добавлялась автоматически, при считывании со сканера.

Спасибо.
1 Дуб
 
04.02.08
10:03
(0) Сканер по порту или в разрыв клавы? Методы, соответственно, будут отличаться.
2 Syu
 
04.02.08
10:05
(1)сканер usb
3 Дуб
 
04.02.08
10:13
(2) Тогда отлавливай событие со сканера - и оттуда добавляй строку.
4 Syu
 
04.02.08
10:14
(3) какое событие отлавливать? каким образом мне это сделать?
5 Дуб
 
04.02.08
10:20
(4) Шутите? ;) Ищите "ОбработкаВнешнихСобытий()"
6 Syu
 
04.02.08
10:27
(5) Ну почему сразу шутите?! Если бы я знала, то не спрашивала. Я не так хорошо знаю 8-ку как хотелось бы. Потому и обратилась на форум.
Так. Я нашала.
ОбработкаВнешнегоСобытия(<Источник>, <Событие>, <Данные>)
Параметры:
<Источник>
Тип: Строка. Источник события.
<Событие>
Тип: Строка. Наименование события.
<Данные>
Тип: Строка. Данные для события.

Есть такие параметры. Как их заполнить? Может есть примерчик?
Источник - мне надо название сканера?
Или это типа название формальных параметров и при считывании они сами заполняются? а я в программе уже работаю с этими данными.
Так?
7 Syu
 
04.02.08
11:00
Ну объясните суть работы, пжлста!!!!!!
8 Syu
 
04.02.08
11:14
i became so numb............
9 Salimbek
 
04.02.08
11:16
(6) Ответ на последний вопрос - Так!
Суть работы - у тебя уже в конфе есть такая процедура, потому что какие-то телодвижения при сканировании происходят. Просто надо найти эту процедуру, посмотреть, подумать, в нужное место вставить добавление новой строки и пользоваться.
10 Syu
 
04.02.08
11:30
(9)может это излишний сарказм, но я это и так знала. Проблема в том, что я не знаю куда смотреть
11 Михаил Козлов
 
04.02.08
12:16
(10) Событие формы ВнешнееСобытие. Обычно в документах оно реализованно именно так, как Вам нужно: подбор в таб. часть.
12 Syu
 
04.02.08
12:19
(10)есть такое событие. Я поставила на нем точку останова, она не срабатывает! Вопрос - ПОЧЕМУ?
13 Syu
 
04.02.08
12:21
Процедура ВнешнееСобытие(Источник, Событие, Данные)

   Если Не ВводДоступен() Тогда
       Возврат;
   КонецЕсли;

   Если глТорговоеОборудование <> Неопределено Тогда
       Если Событие = "BarCodeValue" Тогда
           
           ОбработатьШтрихКод(Данные, 1);

       КонецЕсли;
   КонецЕсли;

КонецПроцедуры // ВнешнееСобытие()
14 hhhh
 
04.02.08
12:29
1. 1с предприятие не подключено к конфигуратору.
2. процедура ВнешнееСобытие не назначена обработчиком события "ВнешнееСобытие".
15 NcSteel
 
04.02.08
12:32
8.0 или 8.1
16 Syu
 
04.02.08
12:49
(14) 1.подключена
    2.назначена

(15) 8.1
17 NcSteel
 
04.02.08
12:53
1. Почитай www.atol.ru
2. При открытии:
ПолучитьСерверТО().ОбработатьВнешнееСобытие(Событие, Данные, ЭтаФорма);
3. Обрабатываеш событие
4. Оповестить о завершении обработки события
18 Господин ПЖ
 
04.02.08
12:55
а ведь за это афтору деньги платят...
19 NcSteel
 
04.02.08
12:58
(18) Точно ...
20 hhhh
 
04.02.08
13:05
(18) это касается всего форума.
21 Salimbek
 
04.02.08
13:10
(20) :-) +1
(16) Теперь смотри, что происходит в "ОбработатьШтрихКод". Многа думай.
22 Syu
 
04.02.08
14:02
Я очень рада, что вам там весело, и что все вы такие умные. У меня не выходит.

ПолучитьСерверТО().ОбработатьВнешнееСобытие(Событие, Данные, ЭтаФорма);
что такое ПолучитьСерверТО()?
23 Syu
 
04.02.08
14:05
пжлст, помогите мне я не понимаю что надо сделать. честно признаюсь
24 Syu
 
04.02.08
14:07
к тому же я не понимаю. зачем это надо добавлять при открытии.
извените, за мою непонятливость, просто тяжелова-то что-то 8ка идет
25 Syu
 
04.02.08
14:10
(21) я уже ранее говорила, что точка останова не срабатывает точка останова.
Есть процедура ВнешнееСобытие(), но она никак не срабатывает
26 Salimbek
 
04.02.08
14:12
(23) Ну блин. Давай тогда по порядку.
1) Если сканер УСБ, то ловится как нажатия клавиатуры? То есть в какое-то поле вводится текст штрихкода? И потом (по автоматическому нажатию Ентера срабатывают процедурки, которые выполняют поиск и т.д.) Так у тебя все работает?
2) Если же сканер настроен как использующий COM-порт, то вызываться будет "ОбработкаВнешнегоСобытия"
3) Можно использовать сканер из 1) как 2), тогда появляется возможность выполнять различные действия, в том числе и ввод новой строки и проч. Единственный вариант, который я знаю - это использовать драйвера от Атолл-а, www.atol.ru
27 Syu
 
04.02.08
14:16
у меня usb сканер. я нажимаю ins считываю код. он у меня записывается в поле номенклатура и через секунду ШК становится товаром (элем. спр.)
28 Syu
 
04.02.08
14:24
я поставила драйвер на сканер от атола. добавила библиотеку в ИБ.
я не знаю куда мне надо дописать!
я поставила точки останова на процедурах ВнешнееСобытие() и ОбрабатыватьШтрихКод()
ни одна точка не срабатывает. предприятие запучено сразу от конфигуратора.
процедура ВнешнееСобытие() назначено внешним событием формы.
но точки не срабатывают :(((
%(
29 Salimbek
 
04.02.08
14:29
(28) Если ставишь драйвера от Атола, то после того, как все заработало, надо зайти в Сервис-Параметры, тьфу блин, это в 7-ке :( в 8-ке точно нен кажу, но в настройки торг. оборудования.
30 TTimur
 
04.02.08
14:30
(0)
1) что за конфигурация?
2) по личному опыту УПП:
    а)проверь добавлено ли оборудование в список подключенного   (соответствующие настройки в меню "сервис")
    б)проверь настройку прав на доступ к торговому оборудаванию текщуго пользователя
31 TTimur
 
04.02.08
14:31
+(30)*текщуго = текущего
32 Фокусник
 
04.02.08
14:31
(28) а отладчик вообще подключился? На любых (ПриОткрытии например) других остановы срабатывают?
33 Bahmet
 
04.02.08
14:31
Syu - читать как Суй?
34 Syu
 
04.02.08
14:32
(29) в спр. ТО добавила сканер. В настройках ТО добавила этот сканер. В параметрах считывать данные выбрала "все данные".
больше там нет ничего!
35 Господин ПЖ
 
04.02.08
14:32
>>я не знаю куда мне надо дописать

не знаю нихрена, но лезут...
36 Syu
 
04.02.08
14:33
(30) пользователей нет
37 Bahmet
 
04.02.08
14:33
(34)Далагая, хде ж тваё фото?
38 Salimbek
 
04.02.08
14:33
+(29) вообще на сайте Атол-а поищи, примеры посмотри, текстовики, которые вместе с драйвером идут. Помогает.
39 TTimur
 
04.02.08
14:35
(36) извините, но после такого ответа, у меня нет слов
40 Syu
 
04.02.08
14:38
(30) конфа торговля
>>>а)проверь добавлено ли оборудование в список подключенного   (соответствующие настройки в меню "сервис")

нет там такого

>>>б)проверь настройку прав на доступ к торговому оборудаванию текщуго пользователя

ничего по сканеру ШК там тоже нет
41 Syu
 
04.02.08
14:40
(32) ПриОткрытии() отладчик срабатывает
42 TTimur
 
04.02.08
14:46
(30) хорошо, перечислите, пожалуйста, названия пунктов в меню "Сервис" начиная снизу (с пункта "параметры")
43 TTimur
 
04.02.08
14:47
(42)-> (40)
44 Фокусник
 
04.02.08
14:47
(41) поехали дальше: ставим замер производительности ДО чтения штрихкода и выключаем его после и фтыкаем чего там происходило (:
45 Syu
 
04.02.08
14:56
снизу вверх:
* параметры
* натройки
* свойства объектов
* торговое оборудование (с выпадающим меню)
* анкетирование (с выпадающим меню)
* обмен данными (с выпадающим меню)
* работа с распредел. БД (с выпадающим меню)
* ввод начальных остатков (с выпадающим меню)
* настройка учета (с выпадающим меню)
* пользователи (с выпадающим меню)
* интернет-поддержка пользователей (с выпадающим меню)
* переключить интерфейс (с выпадающим меню)
* настройки пользователя
* внешние обработки и печатные формы (с выпадающим меню)
* эл. почта
* универсальные обработки (с выпадающим меню)
* журнал регистрации
* акт. пользователи
* параметры пользователя
и т.д.
46 TTimur
 
04.02.08
15:01
(45) пункт "торговое оборудование" ни о чем не говорит?
47 grin
 
04.02.08
15:02
Сканер подключен? С какими параметрами? Там при подключении программа подсказывает параметры, надо обратить внимание на суффикс и префикс.
48 NcSteel
 
04.02.08
15:03
Надо суфикс прописать #13(обычно ) , как я понимаю прога думает что эти циферки ты набрала с клавиатуры, что бы 1с догнало что это сканер надо в настройках штрихкода прописать суфикс, все это описано на сайте atol.ru в разделе тех помощ -> Энциклопедия
49 TTimur
 
04.02.08
15:04
(47) (48) погодите, она еще в меню не нашла где эти настройки делать
50 Syu
 
04.02.08
15:05
(46) подсказывает
там:
* закрытие кассовой смены
* работа с терминало сбора данных (с выпадающим меню)
* загрузка данных в весы в режиме оф-лайн
* настройка торгового оборудования
51 TTimur
 
04.02.08
15:06
(50) ну и жми "настройка торгового оборудования"
52 Syu
 
04.02.08
15:06
(49) ---> (34)
53 NcSteel
 
04.02.08
15:06
* настройка торгового оборудования
зри там
54 Syu
 
04.02.08
15:06
(51) ну и что?
55 NcSteel
 
04.02.08
15:07
Ты СУФИКС прописала при настройках!!!!
56 Syu
 
04.02.08
15:09
(53) Я там добавила свой сканер в списке
параметры там только одни
"считывать данные", я выбрала "все данные"
57 NcSteel
 
04.02.08
15:09
Как всетаки тяжело , когда человек нехочет читать документацию
58 Salimbek
 
04.02.08
15:12
(57) +1
59 TTimur
 
04.02.08
15:12
(57)+1
60 TTimur
 
04.02.08
15:19
(56) в (13) на какой строке ставила точку останова?
61 hhhh
 
04.02.08
15:22
(57) это судьба. Надо ехать в Кривой Рог.
62 Syu
 
04.02.08
15:23
Если Не ВводДоступен() Тогда
       

   Если глТорговоеОборудование <> Неопределено Тогда
63 TTimur
 
04.02.08
15:26
(62) поставь на
Если Не ВводДоступен() Тогда
64 TTimur
 
04.02.08
15:27
+(63) если уже стоит, то я пас...
65 Syu
 
04.02.08
15:28
(63) не срабатывает
66 NcSteel
 
04.02.08
15:28
Уменя только одна мысль , кривые руки у автора темы....
Мне кажется неправильно настроено ТО
67 NcSteel
 
04.02.08
15:29
Сам недавно разберался с ТО , тоже удивлялся почему в ОбработкаВнешнегоСобытия несрабатывала!!! Проверь на справочнике ИнформационныеКарты , срабатывает ли обработка
68 NcSteel
 
04.02.08
15:32
(67) А суть в том была что я до этого работал только с сом соединением , а с разрывом клавиатуры нет , вот и мучался пока суфикс не прописал )
69 TTimur
 
04.02.08
15:34
(65) у меня все срабатывает, если сканер работает, штрихкод появляется - все должно  работать, действительно, попробуй включи замер производительности и посмотри какие процедуры запускались при считывании штрихкода, как советовали в (44)
70 Syu
 
04.02.08
15:40
ребята еще по поводу драйвера.
на итс есть атол с библиотекой Scaner1C.dll
а есть просто сканер (в каталоге 1С) с библиотеками:
* ScanOPOS.cnt
* ScanOPOS.dll
* ScanOPOS.HLP
Мне сказали поставить драйвер атол (мой сканер Metrologic Voyager MS9540)
я поставила. в ИБ положила библиотеку Scaner1C.dll.
Затем открыла 1С в режиме предприятие.
Открыла спр. ТО, чтобы добавить сканер. в вид указываю сканер, в наименование наименование. Затем идет реквизит обработка обслуживания. в ней есть такие варианты:
* «SCANCODE: Компонента 1С для ТСД CipherLab»
* «АТОЛ: Драйвер дисплеев покупателя»
* «АТОЛ: Драйвер сканера штрих-кода» (считыватель магнитных карт)
* «АТОЛ: Драйвер терминалов сбора данных»
* «АТОЛ: Драйвер электронных весов»
* драйвер ФР от Help Co
* драйвер Off-Line от Help Co
* драйвер ФР от Юнисистем
* «1С: Сканер штрих-кода»
* «1С: Сканер штрих-кода» (считыватель магнитных карт)
* «ЭйкомРусь: Утилита загрузки данных в ACOM NETS»
* «Штрих-М: Драйвер терминалов сбора данных»
* «АТОЛ: Драйвер сканера штрих-кода»

Когда я выбираю «АТОЛ: Драйвер сканера штрих-кода», то мой вид устройства автоматически становится считыватель магнитных карт, а библиотека - Scaner1C.dll.
А если я выбираю «1С: Сканер штрих-кода», то вид остается сканер ШК, но библиотека стает ScanOPOS.dll, которая потом выдает сообщение, что не получилось загрузить данную компоненту!
71 NcSteel
 
04.02.08
15:45
скачай с сайта драйвер и немучайся http://www.atol.ru/support/programs/ потом установи и читай доку
72 Salimbek
 
04.02.08
15:46
Выбирай «АТОЛ: Драйвер сканера штрих-кода», то что он там пишет - не важно
73 Syu
 
04.02.08
15:49
(71) Программа для конфигурирования BT-100
31.01.2008 | 3,4 МБ
   Драйвер USB COM для BT-100
31.01.2007 | 333,1 КБ
   Драйвер USB COM для LI-200 и BT-200
31.01.2008 | 107,8 КБ

что выбрать?
74 Syu
 
04.02.08
15:51
это из раздела сканер ШК
75 NcSteel
 
04.02.08
16:16
Тяжко
76 Syu
 
04.02.08
16:53
так. сканер я настроила. теперь он у меня в сервис/параметры светится с суфиксом #13 )))))
я еще не до конца безнадежная
77 kot_bcc
 
04.02.08
17:12
Зачем мозги барышне полощите, помочь не хотите, что ли? Девушка, Вам помощь еще нужна?
78 kot_bcc
 
04.02.08
17:17
Особенно порадовал любезный NcSteel в (71):-___)))) Читаю глаголы, ищу препинания и тащусь с разнообразия смысловой нагрузки месаджа)))
79 kot_bcc
 
04.02.08
17:18
Ну вот, барышне надоело, видимо. Ей со сканером интереснее ))).
80 Syu
 
04.02.08
17:20
(79) помощь мне точно не помешает. Но больше меня по делу интересует
81 Syu
 
04.02.08
17:21
никак не могу отловить факт считывания ШК сканером
82 kot_bcc
 
04.02.08
17:29
Ладно, ждать не могу. Помогаю вслепую.
1. Судя по (0) - никакие настройки трогать не надо. И драйверы ниоткуда качать не надо. Ни в коем случае.
2. Вопрос в (1) - остался без ответа, насколько я понял предыдущих ораторов. (2) не в счет, т.к. ПО может эмулировать оба случая (как минимум у двух брендов)
Значит просто необходимо знать ответ на (1). Простой тест - открываем Блокнот и сканером сканируем какой-нить ш/к. Если в Блокноте видны цифры - случай К(лава), если нет - случай П(орт).
3_П. Находим в коде заполнение реквизита "ШтрихКод" и перед ним вставляем НоваяСтрока().[Внимание - лучше код сюда киньте, чтобы потом вопросов не было]
3_К. Делаем скрытый активный реквизит поле ввода на форме, при его изменении считаем (с проверками конечно))), что у нас введен штрихкод и добавляем строку.
3_К. Вариант: Просто добавлять строку после окончания предыдущей. Пошловато, но зато легко сделать без сторонней помощи.
83 Syu
 
04.02.08
17:39
(82) у меня вариант с клавиатурой.
а по другому никак нельзя? ну там попытатся отловить факт считывания? а?
мне что-то говорили по поводу процедуры ВнешнееСобытие() и ОбработкиВнешнегоСобытия(), но я так и не поняла
Может это ключ к этому?
84 kot_bcc
 
04.02.08
18:10
(83) Можно по разному. Но, насколько я представляю, то ПО, которое у Вас есть, не позволит Вам использовать методы ВК (я про ВнешнееСобытие и т.д.)
85 kot_bcc
 
04.02.08
18:12
Как вариант - можно установить драйвер эмуляции COM вместо KB и перенастроить сканер. Для многих брендов это - реально.
86 kot_bcc
 
04.02.08
18:13
Давайте-ка все таки не усложнять пока. Ответьте пожалуйста:
1. Какой у Вас сканер (производитель, марка, модель - все что сможете сказать)
2. Какая конфигурация 1С (какой документ и т.д.). А лучше - код в студию
87 Salimbek
 
05.02.08
08:14
(76) Ну раз теперь у тебя сканер светится, то дальше отмечаешь галочками "Устройство включено" и "Включать при старте". После этого сканирование штрихкода будет отлавливаться ОбработкойВнешнегоСобытия().
Далее надо смотреть процедуру "ОбработкаШтрихкода" вроде
Теперь по логике работы этой процедуры
1) Должен быть поиск уже введенного в Табл. часть товара
2) Если такой товар найден, то позиционироваться на этой строчке
3) Если такого товара нет, то добавлять новую строку, выбирать в нее новый товар и т.д.
88 Syu
 
05.02.08
09:27
(86) мой сканер:
Metrologic Voyager MS9540
Конфигурация:
типовая управление торговым предприятием (на платф. 8.1)
Добавить надо в поступление/реализация товаров и услуг
89 Регистратор
 
05.02.08
09:34
88 постов, проще обратится к специалисту!
90 it086
 
05.02.08
09:38
да уж. сделаю добавление строки за 1000 уе. второй строки еще за 1000 уе. за 10 строк скидка!
91 Salimbek
 
05.02.08
09:46
(88) Ну дык, если у тебя (76) сработало - то теперь сделай что в (87) написано
92 kot_bcc
 
05.02.08
09:56
(88) - метролоджики обычно позволяют работать в режиме эмуляции COM. Поэтому:
1. Чтобы использовать внешние события ("... ну там попытатся отловить факт считывания...") надо а) перенастроитьсканер (3 или 4 сканирования из книжки глянцевой "сингл-селект чего-то там", в ней еще куча скан-кодов напечатана, все вроде несложно), затем б) (пере-)установить родные драйвера от метролоджика ( как называются не помню, но на сайте ихнем должны быть, после переустановки должно появиться необычное устройство в диспетчере устройств, какой-нить "метролоджик конвертер",в свойствах или в названии будет прописан номер порта типа COM8 или COM3 и т.д.), и, наконец, в) вот теперь можно и в 1С подключать - номер порта возьмете из п."б", остальное обычно угадывается автоматически

2. Если Вас это (п.1) хоть чуточку смутило - повторяю предложение: кидайте сюда код модуля формы документа - сделаем вместе немножко пошло, но работать будет, и времени займет меньше, и рисков опять же поменьше.
93 Salimbek
 
05.02.08
09:58
(92) ИМХО, надо ведь и драйверок тогда ставить. USB-COM
94 kot_bcc
 
05.02.08
10:04
(93) см. п. "1.б" в (92)
95 Salimbek
 
05.02.08
10:05
(94) Мда, не заметил :)
Но если не заморачиваться с этим, то и дровами от Атола можно обойтись. Точно также будет срабатывать "ОбработкаВнешнегоСобытия"
96 kot_bcc
 
05.02.08
10:08
+(92) Оксана! Если что - п.п.1,2 в(92) обычно элементарно делаются простым методом - берите сканер и флэшку и езжайте к продавцу сканера, объясните, что Вам нужно перенастроить сканер на COM-эмуляцию, и подождите ~ 2 мин - 2 часа (в зависимости от загрузки умника у продавцов) - останется только по возвращению запустить с флэшки то что скажет продавец и подключить сканер в 1С :-)
97 kot_bcc
 
05.02.08
10:09
(95) Прошу прощения, ни разу Атолом не пользовался в случае клавиатурных сканеров, а что, он умеет?
98 kot_bcc
 
05.02.08
10:10
+(97) Просто очень похоже по предыдущим постам, что Атол там ничего не ловит
99 Salimbek
 
05.02.08
10:22
(97) Да, умеет. Только я его под 7.7 настраивал, поэтому как оно выглядит под 8-ку не знаю.
Принцип прост - быстрое нажатие на клаву за короткий промежуток времени воспринимается как поступление данных от сканера и генерируется соответствующее системное событие. Прикольно было смотреть на наших супероператоров, когда они вводили данные с клавы быстрее этого порога и прога начинала материться, что такой штрих-код не найден :)
100 kot_bcc
 
05.02.08
10:28
(99) :-) Надо было добавить чек на еан13 сверху
101 kot_bcc
 
05.02.08
10:29
Чегой-то автор ветки молчит...
102 Syu
 
05.02.08
10:43
(101) я не молчу. я все читаю. Действительно, дрова атола поставила, и теперь спотыкается об точку останова в ВнешнееСобытие().
Сейчас интенсивно разрабатываю это процедуру )))))
103 kot_bcc
 
05.02.08
11:00
(102) Ну, тады панятна :-) Только чего там разрабатывать? Там строчка, по идее, автоматом добавляется...
104 Syu
 
05.02.08
12:49
(103) а вот и нет. Есть немного головной боли ))))
105 kot_bcc
 
05.02.08
13:48
(104) Так это... Я же Вас уже уговариваю:)))) Дайте код:)))
106 Syu
 
05.02.08
16:51
(105)Все. Я уже разобралась. Код действительно не надо править. Достаточно было просто настроить сканер.
А можно вопрос такого характера?
Вот в 7-ке было так, что можно было организовать, чтобы при выборе товара (ну там через подбор или просто) автоматически проставлялась его цена, в завизимости от типа документа и заданного в нем типа цен. по сути не надо было никаких телодвижения.
а есть что-то подобное в 8.1?
я добавила в спр. номенклатуру. в регистр через документ ценообразование добавила закупочные цены, но они у меня не проставляются при выборе номенклатуры. Ну через подбор там можно сделать чтобы сразу и цену вводить, а если просто считывать ШК, то чтобы цена бралась из спр.
107 Syu
 
05.02.08
17:34
(106) Вух. Все. Я разобралась со всем. Цены показывает, автоматически строки добавляются, все чудово!
Спасибо всем помагающим. Спасибо за ваше терпение и доброту ))))))))
108 Syu
 
05.02.08
17:37
NcSteel,  kot_bcc, Salimbek - особое спасибо.
Вы больше всех помогли )))
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший