|
8.2. ВнешнееСобытие() и Сканер ШК с памятью. Передать данные одним потоком. | ☑ | ||
---|---|---|---|---|
0
Svetlahok
03.08.11
✎
15:21
|
Добрый день! Есть сканер с памятью, при установке его на подставку с помощью обработки внешнего события данные обрабатываются в 1с. Можно ли передать во внешнее событие сохраненные в памяти сканера данные одним потоком? (сейчас для каждого штрихкода из памяти вызывается внешнее событие). Сканер proton ims 3180
|
|||
1
romix
03.08.11
✎
15:28
|
События и так идут одним потоком :-)
В принципе их можно накапливать в таблице значений, и по кнопке или таймеру обрабатывать в цикле. |
|||
2
Svetlahok
03.08.11
✎
15:47
|
у меня проблема в том, что не все запомннные в памяти шк в конечном итоге попадают в 1с (для тестирования на форме есть тз и в нее построчно добавляются шк). Пробовала скорость передачи данные уменьшать - не помогло.
|
|||
3
Svetlahok
03.08.11
✎
15:48
|
видимо шк очень быстро в 1с передаются и программа не успевает их все обработать
|
|||
4
romix
03.08.11
✎
15:50
|
А там еще должна быть настройка типа глубины буфера событий.
|
|||
5
MikeFromAtol
03.08.11
✎
15:51
|
(2) ну так делай как в (1) написано. Пусть данные сначала буферизируются а ты их потом разбирай.
А вообще еще есть смысл посмотреть в сторону ТСД, на них гораздо удобнее работать в оффлайне с товарами |
|||
6
romix
03.08.11
✎
15:53
|
+(4) SetEventBufferDepth
Наверное правильнее будет через текстовый файл все передавать (в событии только имя файла). |
|||
7
Svetlahok
03.08.11
✎
16:01
|
(6) - настройка глубины буфера - это во внешней компоненте? (использую 1с -овскую)
Про накапливать в ТЗ - мне подходит даже удобнее. Поясните, пожалуйста, в тз ведь данные сохранять тоже при обработке внешнего события? т.е. сработало событие - штрихкод в тз сохранила, след. внешнее событие - опять сохранила. Но у меня внешнее событие вызывается меньшее кол-во раз, чем шк в памяти сохранено |
|||
8
romix
03.08.11
✎
17:43
|
(7) В 1С почему-то сделали буфер событий ограниченной длины - могли бы сделать и неограниченным. Это может быть каким-то атавизмом от старых систем, там по хорошему надо его расширить до бесконечности.
Мое предложение написать в службу поддержки Сергею Нуралиеву, я думаю в 8.2 они это исправят и сделают буфер бесконечным, чтобы события не терялись. Решения с буферизацией через массив или список/таблицу значений - это паллиатив, может кстати и не сработать, если 1С не успеет. Также на уровне самой ВК можно написать буферизацию через текстовый файл, например, чтобы туда оно сливало. Если Вы захотите через ICQ это дело тестировать то можно попробовать (мне не на чем тестировать). |
|||
9
romix
03.08.11
✎
18:25
|
В методе или свойстве внешней компоненты может быть какой-нибудь EventBufferDepth=... ГлубинаБуфераСобытий=
или одноименный метод наподобие ГлубинаБуфераСобытий(число) или УстановитьГлубинуБуфераСобытий(число) и т.п. Можно заценить описание компоненты или посмотреть на саму компоненту каким-нибудь текстовым редактором - среди мусора там видны имена методов. |
|||
10
big
03.08.11
✎
18:35
|
(0) каким драйвером обрабатываете события? В этом драйвере есть свойство а-ля "ПосылкаДанных" ? Если есть, то это и будет командой для остановки выдачи данных из БУФЕРА ДРАЙВЕРА СКАНЕРА. Собссно в 1С в штатном режиме такой процесс и реализован, но как это сделано у вас - непонятно.
з.ы. т.е. всегда при каждом приходе события от драйвера сканера дается команда СТОП для посылки след. данных до окончания обработки текущей посылки. |
|||
11
big
03.08.11
✎
18:40
|
(10) + хотя... если это один поток... что-то я не то сказал.
|
|||
12
Svetlahok
04.08.11
✎
10:29
|
(7) тестировать-то я, конечно, не против. Но сначала, попробую добиться нужного результата с пом. готовых компонент.
|
|||
13
Svetlahok
04.08.11
✎
10:30
|
про один поток, я имела ввиду, чтобы все сохраненные ШК вызывали одно ВнешнееСобытие и все одним массивом данных пердавалось в 1с
|
|||
14
Svetlahok
04.08.11
✎
12:22
|
попробовала использовать драйвер Атол 6.6.0.418. в 1с загружаются все шк, но это занимает очень много времени (130 шк примерно 25 минут)
|
|||
15
big
05.08.11
✎
05:18
|
(14) используй версию драйвера до 6.5 включительно, а иначе он работает в демо-режиме (10 секунд на один штрихкод)
|
|||
16
Svetlahok
05.08.11
✎
10:30
|
(15) да, я прочитала про это ограничение. у меня нетиповая конфигурация, взяла из ут 11 механизм работы с оборудованием. там внешняя компонента с драйвером хранится в виде макета двоичных данных. Найти внешнюю компоненту с драйвером 6.5 не удалось (сам драйвер то есть, но это не внешняя компонента), так что буду пробовать из ут 10 "перетащить" к себе механизм и адаптировать под управляемое приложение.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |