Чтение штрих-кода в окне данных (powerbuilder) - PullRequest
0 голосов
/ 02 декабря 2019

У меня как POS-приложение, в котором я работаю, и я добавил новый код для чтения штрих-кодов в окне данных, но у меня возникли некоторые проблемы, чтобы правильно его использовать. Процесс должен прочитать штрих-код и автоматически найти продукт и вставить его в другое окно данных с информацией о продукте. Проблема в том, что у меня есть код в событии editchanged, и что штрих-коды имеют разную длину;Итак, каждый раз, когда читается номер штрих-кода, вызывается функция поиска, вот код этой функции:

ll_rtn = dw_search.Retrieve()

If ll_rtn = 1 Then
    is_code = dw_search.GetItemString(1,'barcode')
    wf_insert(False)
End If

Если, например, читается произведение из 10 цифр и длиной 5продукт найден, он вставлен, но editchanged все еще работает, потому что штрих-код имеет длину 10 и, в зависимости от поиска, может найти его снова с последними цифрами и вставить его снова. Я не знаю, как перестать читать после того, как найду продукт. Надеюсь, я все правильно объясню.

Ответы [ 2 ]

1 голос
/ 04 декабря 2019

Можете ли вы проверить, можно ли настроить сканер штрих-кода для прохождения возврата каретки / Ввода, после сканирования штрих-кода и таким образом вы можете переместить свой код в событие с измененными элементами

Конфигурация штрих-кода

1 голос
/ 02 декабря 2019

Событие editchanged запускается для каждого нажатия клавиши в элементе управления. Возможно, вы захотите либо переместить код в событие itemaged, либо в совершенно отдельное событие, которое публикуется из события itemaged.

Если вам абсолютно необходим код в событии editchanged, вам нужно установить логическое значениепеременная экземпляра в окне, которая устанавливается в значение ИСТИНА, как только продукт найден. Если это правда, то не ищите. Не забудьте сбросить переменную в FALSE перед любым новым поиском.

...