Как при сканировании получить ошибку и автоматически переключиться в ТСД с одной формы на другую?

Как при сканировании получить ошибку и автоматически переключиться в ТСД с одной формы на другую?

Страницы: 1
RSS
Как при сканировании получить ошибку и автоматически переключиться в ТСД с одной формы на другую?, Обсуждение: Как при сканировании получить ошибку и автоматически переключиться в ТСД с одной формы на другую?
 
Добрый день!
Столкнулся с такой проблемой.
Использую ТСД Cipher 8001 s/n:EFC003767. Прошивка 2.41-LB20. Установлен драйвер Версии:6.0.7.0
На складе установлена программа 1С ТиС 7.7
Они работают более 5 лет. Все настроено. Но у одного поставщика появились новые штрихкоды.
Вначале партия товара имела 7 знаков. Потом стало 8 знаков.
Задача написана так, что сканирование идет по частям штрихкода.
При первом клике определяется код товара и его наименование отображается на дисплее.
Вторым кликом сканируем партию.
Третьем кликом сканируем срок хранения.
Потом вручную вводим количество и нажимаем Ввод.
Получили Data file c разделителями, который сохраняем как текстовый файл и загружаем в документы 1С.
Но если партия имеет разное количество символом, то стартовая позиция в задаче для ТСД имеет разное значение.
В одном случае это 29 позиция штрихкод, в другом 30 позиция.
Очень поджимают сроки. Инвентаризацию на складе назначили на 1 мая.
Хочу доработать задачу. Идея такая.
При первом сканировании проверить количество символов штрихкода. Если партия имеет 7 знаков (тест сканера показывает длину 38), идем по форме 5 задачи.
Если партия имеет 8 знаков (тест сканера показывает длину 39), идем по форме 8 задачи.
Но не могу добиться, чтобы ТСД по ошибке или при ее отсутствии переходил на нужную форму.
Пользователи ставят условие, чтобы по фирме Allmed товар считывался с одной установки ТСД.
Пытаюсь использовать переменную. Но может быть так делать не надо.
Чтобы я хотел получить?
Начинаю сканировать товар Allmed.
ТСД сразу определил, какой будет партия (7 или 8 знаков).
И автоматически переходит на нужную форма. А дальше идет сканирование по принятому алгоритму.
Высылаю задачу.
Текстовый файл загружаемой базы и несколько Data file, которые так и не решили поставленную задачу.
Михаил.
Высылаю так же и образцы штрихкодов.

9696_konica20150423202757.pdf

9696_konica20150423202813.pdf

9696_Склад_Гамбра8001.AGX

9696_150422_1756_БазаДанных.txt

9696_150423_1620_2номAllmed.TXT

 
В поле считывания ШК устанавливаете максимальную длину первой партии (7 знаков). В поле следующей формы указываете следующую форму (я так понял 5), а в поле ошибки указываете следующую форму, для ошибки (если вторая партия с 8 знаками) (я так понял форма 8).
Далее, если различие только в длине ШК, то с 8 формы я бы указал следующую форму номер 6 (как и для формы 5). В этом случае у Вас будет разветвление только с 5 (8), а дальше на 6 и т.д.
Да, переменной воспользоваться придется. На 5 форме в момент считывания в нее нужно сохранять, а на 8-й форме из нее нужно вставить. Для того, чтобы не считывать ШК 2 раза, если он большей длины.

Хотя, может быть я не так все понял. Если у Вас все делается на 1 форме, то сделать 2 одинаковых. Отличие в том, что если на первой длина больше, то срабатывает ошибка и управление передастся на другую. Затем в следующей указать снова первую, а первая всегда ссылается на себя. Переменными воспользоваться придется, как и указал выше.


P.S. Ага, Allmed - это 5-я форма. Тогда так. В переменную просто читаете ШК. Ограничений нельзя делать. В 3-ю строку вставляете из переменной 1 (столбец "Источник" укажите "Переменная1") и в этой строке делайте ограничение на 37 символов. Если нормально, отработает эта форма. Если размер 38, то сработает ошибка и управление уйдет на 8 форму. На 8-й форме делаете вставку из переменной (столбец "Источник") и можете ограничение не проверять. Поле ошибки оставьте "пропустить". Примерно так.
Исправленную прилагаю. Плюс еще пару настроек сделал.

9703_9696_Склад_Гамбра8001.AGX

 
Новую задачу посмотрю и попытаюсь реализовать. Но время упущено. Сегодня на складе уже началась инвентаризация.
Поэтому мне пришлось еще до праздников добавить в ТСД еще одну форму.
Теперь и меня там Allmed_7 и Allmed_8.
Для того, чтобы считать товар с нужной длинной партии (7 или 8), надо выбрать соответствующую форму.
А заказчик хотел считывать Allmed с одной формы.
Пока не получилось.
Спасибо за информацию!!!
 
Был в отпуске. Даже если и посоветовал бы, нужно было бы проверять, а я без ТСД. Слишком сложный алгоритм, чтоб на пальцах.
Страницы: 1