Продолжу тему, поднятую в предыдущей статье. Инвентаризация на складе довольно таки сложная штука, поэтому облегчить жизнь пользователя нужно, в меру своих возможностей конечно. Как-то раз попался мне клиент с конфигурацией Розница (базовая) для России. С конфигурациями для России я работал мало, но от украинских конфигураций они отличаются не сильно, как известно основное отличие любой конфигурации с приставкой «базовая» означает невозможность ее изменения в конфигураторе (если конечно меня не подводит память). Стандартной обработки для работы со сканером штрихкодов у него на компьютере и дисках не обнаружилось, и воспользоваться мастером подключения торгового оборудования не представлялось возможным, а жаль. Пришлось изобретать велосипед. Поскольку изменить конфигурацию я не мог, то пришлось смотреть в сторону подключаемых обработок. Как известно к большинству конфигураций можно подключить 4 типа внешних отчетов и обработок:
Логично, что для обработки заполнения документа инвентаризации нам нужно написать обработку второго типа. Если разобраться то сканер штрих кодов компьютером видится как простое устройство ввода, и после считывания штрихкода выдает последовательность символов этого штрихкода. В большинстве сканеров, можно указать нажатие какой клавиши эмулировать после считывания штрихкода. В некоторых сканерах для этого предназначены специальные штрих коды, сканируешь такой шрихкод, и сканер поле сканирования любого штрихкода начнет эмулировать нажатие Ентер, или ТАБ.
К другим сканерам дают программу управления, все зависит от конкретного сканера и производителя устройства. Решив написать обработку заполнения табличной части документа инвентаризация, нужно по максимуму использовать уже готовые и встроенные решения, в конфигурации уже была предусмотрена кнопка «Поиск по штрихкоду»
Она делала все что нужно, искала и добавляла товар в табличную часть, но потом исчезала, и для ввода нового штрихкода нужно было нажимать Ф7. Ни заказчику, ни мне это не нравилось. В итоге код обработки вышел такой:
перем СсылкаНаОбъект; Процедура Инициализировать(Объект, ИмяТабличнойЧасти, ТабличноеПоле) Экспорт СсылкаНаОбъект= Объект; Печать(); конецпроцедуры Функция Печать() Экспорт Результат = РаботаСТорговымОборудованием.ВвестиШтрихкод(); Если Не ПустаяСтрока(Результат) Тогда РаботаСТорговымОборудованием.ОбработатьВведенныйШтрихкод(Результат, СсылкаНаОбъект.ПолучитьФорму()); Печать(); КонецЕсли; КонецФункции
Осталось только прописать ее системе.