Имя: Пароль:
1C
 
Розница 3.0 отваливается сканер в маркировке
0 unitpro67
 
15.07.25
18:06
Всем привет.
Розница 3.0 (3.0.12.89) + 8.3.27.1606. Web сервер на Апач + 2 кассы, Тонкий клиент
После обновления + подключения к ЛМ ЧЗ начала вываливаться ошибка при сканировании кодов маркировки ( молочка,табачка и т.д).
Проявляется хаотично, на обеих кассах, с разными моделями сканеров, независимо от маркируемой продукции.
После ошибки сканер отказывается что то сканировать до перезапуска клиента.

Значение не является значением объектного типа (ЭтоНеФормализованныйКодМаркировки)
{ОбщийМодуль.РазборКодаМаркировкиИССлужебныйКлиентСервер.Модуль(1743)}:Если ОбщийМодуль.ЭтоНеФормализованныйКодМаркировки(ПараметрыРазбораКодаМаркировки, Настройки, ДанныеРезультата, РезультатБезФильтра) Тогда
{ОбщийМодуль.РазборКодаМаркировкиИССлужебныйКлиентСервер.Модуль(158)}:Если ЭтоНеформализованныйКодМаркировки(ПараметрыРазбораКодаМаркировки, Настройки,
{ОбщийМодуль.РазборКодаМаркировкиИССлужебный.Модуль(32)}:РезультатРазбора = РазборКодаМаркировкиИССлужебныйКлиентСервер.РазобратьКодМаркировки(
{ОбщийМодуль.РазборКодаМаркировкиИССлужебныйКлиентСервер.Модуль(2211)}:РезультатРазбора = ПараметрыОбработкиКодаМаркировки.МодульКонтекста.РазобратьКодМаркировки(
{ОбщийМодуль.РазборКодаМаркировкиИССлужебныйКлиентСервер.Модуль(212)}:Возврат РазобратьКодМаркировкиПолностью(ПараметрыОбработкиКодаМаркировки, ПримечаниеКРезультатуРазбора, КешНастроекРазбораКодаМаркировки);
{ОбщийМодуль.РазборКодаМаркировкиИССлужебный.Модуль(63)}:Возврат РазборКодаМаркировкиИССлужебныйКлиентСервер.РазобратьКодМаркировкиИспользуяПредыдущиеРезультаты(
{ОбщийМодуль.ШтрихкодированиеОбщегоНазначенияИС.Модуль(2047)}:ДанныеРазбора = РазборКодаМаркировкиИССлужебный.РазобратьКодМаркировкиИспользуяПредыдущиеРезультаты(
{ОбщийМодуль.ШтрихкодированиеОбщегоНазначенияИС.Модуль(183)}:НормализоватьИРазобратьНаСоставляющиеКодыМаркировки(ДанныеПоШтрихкодам, ПараметрыСканирования, КешДанныхРазбора);
{ОбщийМодуль.ШтрихкодированиеОбщегоНазначенияИС.Модуль(4381)}:ПодготовитьДанныеКодовМаркировкиДляОбработки(
{ОбщийМодуль.ШтрихкодированиеОбщегоНазначенияИСВызовСервера.Модуль(22)}:РезультатОбработкиШтрихкодов = ШтрихкодированиеОбщегоНазначенияИС.ОбработатьШтрихкоды(
{ОбщийМодуль.ШтрихкодированиеОбщегоНазначенияИСКлиент.Модуль(349)}:РезультатОбработкиШтрихкода = ШтрихкодированиеОбщегоНазначенияИСВызовСервера.ОбработатьШтрихкод(
{Обработка.РабочееМестоКассира.Форма.ФормаРМК.Форма(14252)}:Модуль.ОбработатьДанныеШтрихкода("ПоискПоШтрихкодуЗавершение", ЭтотОбъект, ДанныеШтрихкода, ДанныеПараметровСканирования);
{Обработка.РабочееМестоКассира.Форма.ФормаРМК.Форма(13839)}:ОповещениеПоискаПоШтрихкоду(Штрихкод, ПараметрыДляОбработкиШтрихкода, ШтрихкодОбрабатывается);
{Обработка.РабочееМестоКассира.Форма.ФормаРМК.Форма(13631)}:ОбработатьШтрихкодКлиент(Штрихкод);
{Обработка.РабочееМестоКассира.Форма.ФормаРМК.Форма(13549)}:ВыполнитьПоискШтрихкодаПродолжение(Штрихкод);
{Обработка.РабочееМестоКассира.Форма.ФормаРМК.Форма(578)}:ВыполнитьПоискШтрихкода(Штрихкод);
{ОбщийМодуль.МенеджерОборудованияКлиент.Модуль(92)}:Оповестить(РезультатОбработки.Событие, РезультатОбработки.Данные, "ПодключаемоеОборудование");
{ОбщийМодуль.ИнтеграцияПодсистемБПОКлиент.Модуль(132)}:Результат = МенеджерОборудованияКлиент.ОбработатьСобытиеОтУстройства(ОписаниеСобытия, ОписаниеОшибки);
{МодульУправляемогоПриложения(106)}:ИнтеграцияПодсистемБПОКлиент.ОбработкаВнешнегоСобытия(Источник, Событие, Данные);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]

Может сталкивался кто нибудь. Спасибо
3 MichK
 
16.07.25
05:42
Что сподвигло обновиться на релиз, требующий 27-ю платформу? 90% из-за нее.
4 Мультук
 
гуру
16.07.25
08:13
(0)

Вариант 1

Если посмотреть на

РазборКодаМаркировкиИССлужебныйКлиентСервер.ЭтоНеформализованныйКодМаркировки({skip})


То видно что в цикле программист перебирает имена общих модулей

Для Каждого ИмяОбщегоМодуля Из Настройки.ИменаОбщихМодулей Цикл
	ОбщийМодуль = ПараметрыРазбораКодаМаркировки.ОбщиеМодулиРазбораКМ[ИмяОбщегоМодуля];
	Если ОбщийМодуль.ЭтоНеФормализованныйКодМаркировки({skip}) Тогда


Очевидно, что

а) Либо в ОбщиеМодулиРазбораКМ для некоего общего модуля лежит вовсе не общий модуль, а что-то еще.
Так как ошибка плавающая, я бы обрамил код в попытку исключение и записал в ЖР следующее
-- ИмяОбщегоМодуля
-- ТипЗнч(ОбщийМодуль)
-- Строка(ОбщийМодуль)
-- или вообще сериализовал бы "Настройки" и "ПараметрыРазбораКодаМаркировки"

Далее вызывал бы исключение, чтобы не нарушать обычный ход событий

б) Либо лежит общий модуль, но функции ЭтоНеФормализованныйКодМаркировки в нём нет
(но имхо была бы другая ошибка)

Далее бы анализировал и искал "а кто же портит" "ИменаОбщихМодулей" или "ПараметрыРазбораКодаМаркировки.ОбщиеМодулиРазбораКМ"

Вариант 2
А что там на сайте с хотфикасми/патчами ?

P.S.
Не специализируюсь в рознице, просто мнение.
5 unitpro67
 
16.07.25
11:00
(3) Внедрение ЛМ ЧЗ , проверка марок в офлайн режиме.
6 unitpro67
 
16.07.25
11:01
(4) вы правы, тут оказался вариант 2
7 unitpro67
 
16.07.25
11:02
Нашел вот это обсуждение, проблема один в один как у меня - https://forum.infostart.ru/forum81/topic328019/
Скачал патчи , ща буду пробовать