Имя: Пароль:
1C
1С v8
После обновления УТ11 перестал работать ТСД
0 saniok87
 
23.06.16
12:43
Здраствуйте! После обновления УТ11 до версии 11.2.3.150 перестал работать терминал сбора данных CipherLab 8001, уже обновил дальше до 11.2.3.159, но он всё равно не работает! При выгрузке в документ "пересчет товаров" выскакивает ошибка: Значение не является значением объектного типа (штрихкод)
Может кто знает как исправить?
Заранее спасибо!
1 saniok87
 
27.06.16
16:39
Неужели никто не сталкивался?
2 saniok87
 
28.06.16
09:34
Обновил до 11.2.3.163 - проблема осталась...
3 lubitelxml
 
28.06.16
09:35
платформа какая? отладчиком бы за неделю уже посмотрел
4 saniok87
 
28.06.16
11:29
Платформа 8.3.8.1784
Если бы я умел им пользоваться...
Мы живём в деревне, у нас нет программиста 1С, приходится справляться своими силами!
Как отладчиком посмотреть?
5 totparen
 
28.06.16
11:32
Просмотрите журнал регистрации. Может быть там более информативно что-то написано.
6 saniok87
 
28.06.16
11:38
Вот что написано в журнале регистрации:
{ОбщийМодуль.ШтрихкодированиеНоменклатурыСервер.Модуль(45)}: Значение не является значением объектного типа (Штрихкод)
7 totparen
 
28.06.16
12:05
Есть вероятность что это следствие обновления через релиз.
Попробуйте обновлять постепенно. ) С запуском после обновления.
8 saniok87
 
28.06.16
12:08
Да вроде так и делал!
9 saniok87
 
28.06.16
12:09
И она уже обновлена, назад откатиться нельзя, уже работали в базе!
10 totparen
 
28.06.16
12:12
Находите этот кусок модуля со строкой 45 и показывайте что там за процедура. Может кто что посоветует.
11 saniok87
 
28.06.16
12:14
НеЗакешированныеРанееШтрихкоды = Новый Массив;
    
    Для Каждого ТекШтрихкод Из МассивШтрихкодов Цикл
        ТекШтрихкод.Штрихкод = ВРег(СокрЛП(ТекШтрихкод.Штрихкод));
        РегистрыСведений.ШтрихкодыНоменклатуры.ПреобразоватьВесовойШтрихкод(ТекШтрихкод, ПрефиксыВесовыхШтрихкодов);
        Если Не ЗначениеЗаполнено(КэшированныеЗначения.Штрихкоды[ТекШтрихкод.Штрихкод])
            Или КэшированныеЗначения.Штрихкоды[ТекШтрихкод.Штрихкод].НеизвестныйШтрихкод Тогда
            НеЗакешированныеРанееШтрихкоды.Добавить(ТекШтрихкод.Штрихкод);
        КонецЕсли;
    КонецЦикла;
12 saniok87
 
28.06.16
12:15
Вот сама строка 45:
ТекШтрихкод.Штрихкод = ВРег(СокрЛП(ТекШтрихкод.Штрихкод));
13 saniok87
 
28.06.16
12:17
Сейчас попробовал восстановить из копии во временную папку старую базу, там работает!
14 saniok87
 
28.06.16
12:26
Посмотрел строку 45 в той(работающей) базе, они один в один совпадают!
Может в рабочей базе он вообще к другому модулю обращается?
Почему модуль называется: "Общий модуль ШтрихкодированиеНоменклатурыСервер" , а у меня обычная файловая база!
15 catena
 
28.06.16
12:28
(14)Если модули  совпадают, значит изменился вызов. Видимо что-то другое в МассивШтрихкодов попадает.
16 saniok87
 
28.06.16
12:39
И как быть?
17 catena
 
28.06.16
12:40
(16)Смотреть, как вызывается эта процедура/функция
18 saniok87
 
28.06.16
12:42
(17)А как посмотреть?
19 ptiz
 
28.06.16
12:45
(18) Запустить 1С из конфигуратора по кнопке F5, а в этой строке нажать F9 - точку останова.
Сканировать - конфигуратор встанет на эту строку.
Нажать Ctrl-alt-C - будет видно, откуда пошел вызов.
20 saniok87
 
28.06.16
12:52
ОбщийМодуль.ШтрихкодированиеНоменклатурыСервер.Модуль.ОбработатьШтрихкоды(Форма = УправляемаяФорма, Объект = ДанныеФормыСтруктура, СтруктураПараметров = Структура, КэшированныеЗначения = Структура)    45    Сервер (файловый вариант):АлександрМ (2726796), kfxserver:1562
21 saniok87
 
28.06.16
13:01
А вот что пишет в рабочей базе:
ОбщийМодуль.ШтрихкодированиеНоменклатурыСервер.Модуль.ОбработатьШтрихкоды(Форма = УправляемаяФорма, Объект = ДанныеФормыСтруктура, СтруктураПараметров = Структура, КэшированныеЗначения = Структура)    45    Сервер (файловый вариант):АлександрМ (8), kfxserver:1563
22 ptiz
 
28.06.16
13:51
(14) Посмотри выше 45 строки, откуда берется МассивШтрихкодов
23 saniok87
 
28.06.16
14:08
(22) Вот начиная с начала и до 45 строчки включительно:

#Область ПрограммныйИнтерфейс

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

    КэшированныеЗначения.ПравоРегистрацииШтрихкодовНоменклатурыДоступно = ПравоРегистрацииШтрихкодовНоменклатурыДоступно();
    
    ПрефиксыВесовыхШтрихкодов = ЗначениеНастроекПовтИсп.ПолучитьПрефиксыВесовыхШтрихкодов();
    
    Если ТипЗнч(СтруктураПараметров.Штрихкоды) = Тип("Массив") Тогда
        МассивШтрихкодов = СтруктураПараметров.Штрихкоды;
    Иначе
        МассивШтрихкодов = Новый Массив;
        МассивШтрихкодов.Добавить(СтруктураПараметров.Штрихкоды);
    КонецЕсли;
    
    НеЗакешированныеРанееШтрихкоды = Новый Массив;
    
    Для Каждого ТекШтрихкод Из МассивШтрихкодов Цикл
        ТекШтрихкод.Штрихкод = ВРег(СокрЛП(ТекШтрихкод.Штрихкод));
24 saniok87
 
30.06.16
08:22
Тема остаётся открытой! Кто-нибудь знает как запустить этот ... терминал?
25 saniok87
 
05.07.16
09:57
Только что обновил до 11.2.3.168 и всё заработало!
Тему можно закрывать! Всем спасибо!
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.