Штрихкод складской ячейки в КА 2.4

1. user997283 15.06.18 15:23 Сейчас в теме
Доброго дня.

За правильный и полезный ответ готовы предложить финансовое вознаграждение.

Внедряем в фирме конфигурацию 1С:Комплексная автоматизация 2, стоит последний релиз 2.4.3.170, база типовая. Используем адресный склад и ордерную схему. Столкнулись со следующей проблемой.

У нас есть складская ячейка. (см. вложение «Складская ячейка»)
Мы распечатали ее штрихкод встроенной типовой обработкой «Печать этикеток», которая открывается непосредственно с формы ячейки по кнопке «печать». (см вложение «Штрихкод ячейки»).

В процессе работы в обработке "Рабочее место работника склада" система просит отсканировать штрихкод ячейки. И она ожидает увидеть номер Л02-03-Я1-1. (См.вложение «Сканирование ШК ячейки») Если с клавиатуры ввести строку «Л02-03-Я1-1», программа ее принимает, находит ячейку и предлагает перейти к следующему шагу (сканировать товар), то есть все ок.

А распечатанный штрихкод содержит нечто совсем иное, а именно строку "9507420177192455137943445267655225560". Судя по коду программы, при распечатке в штрихкод кодируется ссылка на объект ячейки, а вовсе не код элемента справочника.

В форме обработки ПечатьЭтикетокИЦенников:

&НаСервереБезКонтекста
Функция ЧисловойКодПоСсылке(Ячейка)
Возврат ШтрихкодированиеПечатныхФорм.ЧисловойКодПоСсылке(Ячейка);
КонецФункции

В общем модуле ШтрихкодированиеПечатныхФорм:

Функция ЧисловойКодПоСсылке(Ссылка) Экспорт
ШестнадчатиричноеЧисло = СтрЗаменить(Строка(Ссылка.УникальныйИдентификатор()),"-","");
Возврат ПреобразоватьИзШестнадцатиричнойСистемыСчисленияВДесятичноеЧ­исло(ШестнадчатиричноеЧисло);
КонецФункции

При сканировании этого штрихкода (как и при вводе с клавиатуры любого заведомо неверного набора символов) обработка пишет "ошибка", см вложение ("считан неверный штрихкод").

Штрихкоды ячеек уже распечатаны и расклеены на складе, переделывать обработку печати (чтобы в штрихкод писала код, а не ссылку) и переклеивать этикетки желания ни у кого нет. Нужно переписать обработку "Рабочее место работника склада", чтобы она считываемый штрихкод (длинный набор цифр) научилась связывать с ячейкой. Этот набор цифр надо где-то хранить, то есть, видимо, придется создать новый реквизит в спр. "Складские ячейки".

Если кто сталкивался с подобной проблемой, можете ли указать что именно и в каком месте (в какой функции/строке кода) нужно изменить в этой обработке?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user997283 11.07.18 18:06 Сейчас в теме
Возможно, кому-то пригодится: из ситуации вышли следующим образом (без переклейки шк на складе).

В общем модуле РабочееМестоРаботникаСкладаСервер в процедуре ПриСканированииЯчейки изменить:

Для Каждого СтрокаТоваров Из ТоварыДляСканирования Цикл
//Если ВРег(СтрокаТоваров.КодЯчейки) = ВРег(ШтрихкодЯчейки) Тогда //это закомментировали
Если ВРег(СтрокаТоваров.ШтрихкодЯчейки) = ВРег(ШтрихкодЯчейки) Тогда //а это добавили
Ячейка = СтрокаТоваров.Ячейка;
Прервать;
КонецЕсли;
КонецЦикла;


А в обработке РабочееМестоРаботникаСклада на всех формах у реквизита формы ШтрихкодПараметраСканирования изменили длину на 45 символов.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот