УТ 10.3 Можно ли номенклатуре присваивать Штрих-код отличный от EAN13?

1. pentanom 25 18.03.20 21:38 Сейчас в теме
Есть необходимость присваивать номенклатуре штрих-коды с типом Code39. Можно ли это сделать? Если можно, то как? Какие-нибудь дополнительные настройки? Что-то поменять в обработке обслуживания?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Sergex 58 18.03.20 22:23 Сейчас в теме
В РС Штрихкоды номенклатуры штрих код хранится в строке. В 11 УТ (судя по сестре ее КА) длина ШК 200 символов. Если в 10 торговле длины для записи Code39 хватит, то почему бы и нет?
Все средства читающие ШК передают его в 1С уже как строку. Поэтому будет ли работать зависит от настроек сканера а не 1С. А вот если вы его печатать собрались то надо смотреть что в МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода) (это для УТ 11 но в 10 должно быть подобное посмотрите как, например отрисовывается ШК документа в печатной форме)
В 11 там написано:

Если ПараметрыШтрихкода.ТипКода = 99 Тогда
ТипШтрихкодаВрем = ОпределитьТипШтрихкода(ПараметрыШтрихкода.Штрихкод);
Если ТипШтрихкодаВрем = "EAN8" Тогда
ВнешняяКомпонента.ТипКода = 0;
ИначеЕсли ТипШтрихкодаВрем = "EAN13" Тогда
ВнешняяКомпонента.ТипКода = 1;
// Если код содержит контрольный символ, обязательно указываем.
ВнешняяКомпонента.СодержитКС = СтрДлина(ПараметрыШтрихкода.Штрихкод) = 13;
ИначеЕсли ТипШтрихкодаВрем = "EAN128" Тогда
ВнешняяКомпонента.ТипКода = 2;
ИначеЕсли ТипШтрихкодаВрем = "CODE39" Тогда
ВнешняяКомпонента.ТипКода = 3;
ИначеЕсли ТипШтрихкодаВрем = "CODE128" Тогда
ВнешняяКомпонента.ТипКода = 4;
ИначеЕсли ТипШтрихкодаВрем = "ITF14" Тогда
ВнешняяКомпонента.ТипКода = 11;
ИначеЕсли ТипШтрихкодаВрем = "QR" Тогда
ВнешняяКомпонента.ТипКода = 16;
ИначеЕсли ТипШтрихкодаВрем = "EAN13Addon2" Тогда
ВнешняяКомпонента.ТипКода = 14;
ИначеЕсли ТипШтрихкодаВрем = "EAN13Addon5" Тогда
ВнешняяКомпонента.ТипКода = 15;
Иначе
ВнешняяКомпонента.АвтоТип = Истина;
КонецЕсли;
Иначе
ВнешняяКомпонента.АвтоТип = Ложь;
ВнешняяКомпонента.ТипКода = ПараметрыШтрихкода.ТипКода;
КонецЕсли;

Можно сделать вывод о том какие типы в состоянии напечатать ВК - определенно.
trickster; +1 Ответить
4. pentanom 25 18.03.20 22:35 Сейчас в теме
(2)С печатью штрих-кодов все нормально. Code39 я не могу считать в карточке номенклатуры. EAN13 считывается без проблем, а потом и номенклатура находится при считывание в какой-нибудь документ. Могу записать Code39 в номенклатуру вручную, но он не находится в базе - выдается сообщение "Считанный штрихкод не может быть обработан ....". Т.е. я предполагаю, что где-то установлено какое-то ограничение.
6. Sergex 58 18.03.20 22:47 Сейчас в теме
(4)Остановится отладчиком и посмотреть что происходит модуле объекта или в 11 УТ - менеджера РС Штрихкоды номенклатуры. Скорее всего именно там расположен код получения номенклатуры по ШК. в 11 УТ это ПолучитьДанныеПоШтрихкодам.

Второй вариант проверить настройки сканера - встать в блокноте и просканировать ШК. Большинство сканеров эмулируют клавиатурный набор - вам должно быть видно, что прочитал сканер.
8. pentanom 25 18.03.20 22:54 Сейчас в теме
(6)
Остановится отладчиком и посмотреть что происходит модуле объекта
Я затрудняюсь найти это место в УТ 10.3 :(
(6)
Второй вариант проверить настройки сканера - встать в блокноте и просканировать ШК. Большинство сканеров эмулируют клавиатурный набор - вам должно быть видно, что прочитал сканер.
Сканер в тесте и в текстовый файл читает все правильно.
10. Sergex 58 18.03.20 23:00 Сейчас в теме
(8)
Я затрудняюсь найти это место в УТ 10.3

Сожалею, но я не работаю со старыми релизами... Нет у меня клиентов на УТ 10 или УПП к счастью...
3. starjevschik 18.03.20 22:34 Сейчас в теме
5. pentanom 25 18.03.20 22:37 Сейчас в теме
(3)
Можно.
Там был следующий вопрос - если можно, то как?"
7. starjevschik 18.03.20 22:52 Сейчас в теме
(5) на закладке штрих-коды, выбрать тип ШК, забить ШК.
9. pentanom 25 18.03.20 22:57 Сейчас в теме
(7)
на закладке штрих-коды, выбрать тип ШК, забить ШК.
Но как раз это и не получается. Руками - забивается, а сканером - нет. Сразу: руками не вариант!
11. Tarlich 116 18.03.20 23:07 Сейчас в теме
(9)руками не даст т.к по умолчанию в Процедура НовыйШтрихкод(Кнопка)
создается ЕАН13 (жестко задано в коде) :

ТекЗапись = РегистрыСведений.Штрихкоды.СоздатьМенеджерЗаписи();

ТекЗапись.Владелец = Ссылка;
ТекЗапись.ЕдиницаИзмерения = ЕдиницаХраненияОстатков;
ТекЗапись.ТипШтрихкода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13;
ТекЗапись.Качество = Справочники.Качество.Новый;


можно дописать что если
ТекЗапись.Штрихкод = РаботаСТорговымОборудованием.СформироватьШтрихКод....
Если стрДлина(ТекЗапись.Штрихкод) <> 13 тогда
ТекЗапись.ТипШтрихкода = ПланыВидовХарактеристик.ТипыШтрихкодов.Code39 ;

(Рассматривать как наброкок!!!!)
13. pentanom 25 18.03.20 23:30 Сейчас в теме
(11)
руками не даст
Я "руками" не использую кнопку "Новый штрихкод".
12. starjevschik 18.03.20 23:28 Сейчас в теме
(9)
Есть необходимость присваивать номенклатуре штрих-коды с типом Code39. Можно ли это сделать? Если можно, то как?

ну и где тут про сканер?
Сканером - смотри, в каком месте 1с делает новый ШК, там и надо исправлять.
14. pentanom 25 18.03.20 23:33 Сейчас в теме
(12)
ну и где тут про сканер?
Сканером - смотри, в каком месте 1с делает новый ШК, там и надо исправлять.
Страна советов! Новый штрихкод делаю "руками". Значение хочу заполнить сканером. Я разве об этом не писал?
15. Tarlich 116 18.03.20 23:36 Сейчас в теме
см
// Обработчик события ПриНачалеРедактирования ТЧ "Штрихкоды".
//
Процедура ШтрихкодыПриНачалеРедактирования(Элемент, НоваяСтрока)

ТекущаяСтрока = Элемент.ТекущиеДанные;

Если НоваяСтрока Тогда
ТекущаяСтрока.ТипШтрихкода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13;
ТекущаяСтрока.Владелец = Ссылка;
ТекущаяСтрока.ЕдиницаИзмерения = ЕдиницаХраненияОстатков;
ТекущаяСтрока.Качество = Справочники.Качество.Новый;
КонецЕсли;

КонецПроцедуры // ШтрихкодыПриНачалеРедактирования()
16. pentanom 25 18.03.20 23:44 Сейчас в теме
(15)Действительно, при начале редактирования устанавливается тип EAN13 и даже не дает внести больше 13 символов. Но дальше я изменяю тип на Code39 и прекрасно заполняю 36 символов вручную. Но мне хотелось с помощью сканера.
А пытаюсь заполнить так: встаю на соответствующее поле и сканирую штрихкод. С EAN13 так срабатывает.
17. Tarlich 116 18.03.20 23:56 Сейчас в теме
см
// Функция осуществляет обработку считывания штрихового кода, который не был
// зарегистрирован.
//
// Параметры:
// Штрихкод - <Строка>
// - Считанный код.
//
// ТипКода - <ПланыВидовХарактеристикСсылка.ТипыШтрихкодов>
// - Тип штрихкода. Пустая ссылка в случае, если тип определить не
// представляется возможным.
//
// СШК - <Строка>
// - Идентификатор сканера штрихкода, с которым связано данное
// событие.
//
// Возвращаемое значение:
// <Булево> - Данная ситуация обработана.
//
Функция СШКНеизвестныйКод(Штрихкод, ТипКода, СШК) Экспорт

Если ЭтоНовый() И РаботаСДиалогами.ЗаписатьНовыйОбъектВФорме(ЭтаФорма) Тогда
ЭлементыФормы.Штрихкоды.ДобавитьСтроку();
КонецЕсли;

ТекущиеДанные = ЭлементыФормы.Штрихкоды.ТекущиеДанные;

Если ТекущиеДанные = Неопределено Тогда
Предупреждение("Не выбрана строка таблицы штрихкодов, для которой регистрируется штрихкод.");
Возврат Истина;
КонецЕсли;

ТекЗапись = РегистрыСведений.Штрихкоды.СоздатьМенеджерЗаписи();
ЗаполнитьЗначенияСвойств(ТекЗапись, ТекущиеДанные);
ТекЗапись.Прочитать();

ТекЗапись.ТипШтрихкода = ТипКода;
ТекЗапись.Штрихкод = ШтрихКод;

Попытка
ТекЗапись.Записать();
Исключение
КонецПопытки;

Возврат Истина;

КонецФункции // СШКНеизвестныйКод()


надо дописать в начале

если стрдлина(Штрих Код) = 36 тогда
ТипКода = ПланыВидовХарактеристик.ТипыШтрихкодов.Code39 ;
конецесли;
Оставьте свое сообщение

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