Ошибка после обновления
День добрый.
Конфигурация была доработана, а именно в документе добавлена своя ТЧ, в которую при сканировании данных фиксировалась некоторая информация.
Сегодня обновили ПО до версии (мобильный клиент / платформа): 2.7.1.82 / 3.0.0.2667
и после этого в добавленную ТЧ ничего не заносится. В логах при этом событии появляется ошибка:
MobileSMARTS.exe; (OperationAction) "1"; 13/07/2016 16:05:38.000 ERROR
У нас перед добавлением строки в ТЧ идет парсинг строки, подумал ну может синтаксис поменялся, взял просто дописал, чтобы добавлялась строка без парсинга, но все равно строка не добавляется.
Код который работал до обновления ПО, все через присвоение:
НоваяСтрокаСерии = Document.SerialTovar.Rows.AddNew()
НоваяСтрокаСерии.NSProductId=SelectedProduct.Packing.Barcode
НоваяСтрокаСерии.NSSerial=Серия.Substring(4,12)
В таком варианте все равно строку не добавляет:
НоваяСтрокаСерии = Document.SerialTovar.Rows.AddNew()НоваяСтрокаСерии.NSProductId=SelectedProduct.Packing.Barcode
Что кардинально поменялось в платформе? В чем заключается причина? Заранее спасибо!
Сервис поддержки клиентов работает на платформе UserEcho
Добрый день!
Скиньте конфигурацию на support@cleverence.ru, посмотрим.
Попробуйте так: НоваяСтрокаСерии = Document.SerialTovar.AddNew()
Почему (мобильный клиент / платформа): 2.7.1.82 / 3.0.0.2667? Клиент не обновился до версии 3?
Имелось ввиду "платформа ДО(где работало) и После(где не работает)".
Так же могу добавит, что более не работает конструкция
ТаблицаСерий = Новый COMОбъект("Cleverence.Warehouse.DocumentTable");
СтрокаТаблицы = Новый COMОбъект("Cleverence.Warehouse.Row");
СтрокаТаблицы.SetField("NSProductId", Строка(Стр.Штрихкод));
КонецЦикла;
Вот такая ошибка
Выгрузка таблицы выполняется так:
КомДляMS = Новый COMОбъект("AddIn.Cl.TerminalConnector");
СписБаз = Новый Массив;
СписБаз.Добавить(СтрокаПодключения);
КомДляMS.Подключить(СписБаз,""); // подключение к базе
мДанные = Новый Массив(5);
мДанные[0] = "NSProductId";
мДанные[1] = "NSGUID";
мДанные[2] = "NSSerialFrom";
мДанные[3] = "NSSerialTo";
мДанные[4] = "NON";
Если НЕ
КомДляMS.НачатьВыгрузкуТаблицы("SerialTovar", мДанные, Истина) Тогда // Начинаем выгрузку, установив массив полей
Сообщить("Ошибка при начале выгрузки");
Возврат;
КонецЕсли;
Для каждого Стр из нкСерии Цикл
мДанные[0] = Строка(Стр.Штрихкод);
мДанные[1] = Строка(Стр.НомИД);
мДанные[2] = Строка(Стр.ДиапазонС);
мДанные[3] = Строка(Стр.ДиапазонПо);
мДанные[4] = Строка(Стр.Ном);
Ответ = КомДляMS.ДобавитьВВыгрузкуТаблицы(мДанные); //Добавляем порцию данных в выгрузку
Если НЕ Ответ Тогда
Возврат;
КонецЕсли;
КонецЦикла;
Ответ = КомДляMS.ЗавершитьВыгрузкуТаблицы(); //Завершаем выгрузку
Если НЕ Ответ Тогда
Сообщить("Не удалось закончить выгрузку таблицы");
Возврат;
КонецЕсли;
Спасибо, это помогло. А есть ли где-нибудь информация о методах в новой версии? Было бы неплохо.
Плюс перестала работать выгрузка дополнительной таблицы документа
ТаблицаСерий = Новый COMОбъект("Cleverence.Warehouse.DocumentTable");
Справка по новой версии будет готова до конца недели.
Про выгрузку таблицы см. в примере выше: НачатьВыгрузкуТаблицы("SerialTovar", мДанные, Истина), ДобавитьВВыгрузкуТаблицы(мДанные), ЗавершитьВыгрузкуТаблицы()
К сожалению с выгрузкой доп. таблицы документа не вышло по этой схеме. Всячески пытался привязать этот пример к документу(ведь я выгружаю именно ЕГО доп. таблицу, а не общую таблицу, как в первом сообщении)
КомДляMS = Новый COMОбъект("AddIn.Cl.TerminalConnector");
КонецЕсли;
Очень хотелось бы обещанного справочника по новым методам, или скорректируйте меня, пожалуйста, где я тут ошибся
Таблицу документа нужно выгружать вместе с самим документом, ТаблицаСерий = Новый COMОбъект("Cleverence.Warehouse.DocumentTable"); должно срабатывать.
Далее как у Вас и было, создание строк через Новый COMОбъект("Cleverence.Warehouse.Row") и добавление их в таблицу.
Проверьте, требуется ли обновление Mobile SMARTS в менеджере баз:
Запустите Зарегистрировать COM.bat из C:\Program Files\Cleverence Soft\Mobile SMARTS\ConnectivityСпасибо! Новую версию скачал. Но с подсказкой не вышло :) Вот такой микс из старой и новой версии сработал. Вместо DocumentTable сделал TerminalConnector.
МассивСерий = ПолучитьТаблицуСерий(ДокСсылка);
//ТаблицаСерий = Новый COMОбъект("Cleverence.Warehouse.DocumentTable"); //OLD
мДрайверТСД.ВыгрузитьДопТаблицу(ТаблицаСерий);
Если это таблица документа, мДрайверТСД.ВыгрузитьДопТаблицу(ТаблицаСерий); не нужно. ДокументТСД.Таблицы.ДобавитьЭлемент() добавляет таблицу в таблицы документа, при выгрузке документа с помощью мДрайверТСД.ВыгрузитьДокумент(ДокументТСД) таблица выгрузится вместе с документом.
Спасибо за указанную избыточность кода. Действительно все работает. Вопрос закрыт
После обновления до последней версии, появились очень существенные проблемы. Терминал начал зависать просто в меню.
[STACK TRACE]
Уточните какую версию в браузере сейчас показывает сервер - v.3.0.0.2732?
И какая версия на ТСД сейчас установлена?
Server : Версия: v.3.0.0.2876
Client : 3.0.0.139
Добрый день,
Попробуйте удалить полностью папку MobileSMARTS с ТСД, установить приложение на ТСД заново, если будет ошибка пришлите файл errors.log с ТСД из папки приложения.
Хорошо. В данный момент довожу зарядку ТСД до приемлемого уровня и после попытаюсь пройти весь процесс сбора с нуля и сразу отпишусь тут.
Для теста взял средний заказ на 250 бутылок. 2 раза смог собрать без единой ошибки\зависания. На третьей попытке багтеста ПО повисло между считыванием серий. Лог
MobileSMARTS.exe; -610730042; 26/07/2016 13:41:36.000 ERROR
----
После восстановления документа(повторное открытие) - наша доп. таблица документа с сериями не сохранилась
Ситуация неоднозначная.
Вы можете проверить на типовом решении? Действии "ВведемСерию" в типовой конфигурации нет, и что с ним связано неизвестно. Если в типовой конфигурации ошибка не повториться, нужна будет ваша конфигурация, мы передадим ее программистам и они постараются проверить и воспроизвести ошибку.
У нас конкретно переписанная конфигурация под желания заказчика. Я могу хоть сейчас сбросить конфигурацию и сразу уточню, что в подборе заказа при запросе серии - отключена(временно) уникальность(чтобы можно было одну и ту же бутылку сканировать для теста много раз). Скидываю Cleverence.Warehouse.Environment на почту support@cleverence.ru с пометкой "Для программистов" и ссылкой на данный тред, так же дам Cleverence.Warehouse.Authorization , так как в сборе есть разделение на группы(первая инстанция - Сборщик, контроль и завершение - Кладовщик)
Последовательность действий до повторения ошибки опишите. И лучше пришлите папку базы целиком.
Сейчас сделаю. Письмо перешлю повторно
Спасибо за обновление, все в работе, тестируется на предмет зависаний.
Забыл упомянуть об одном моменте(минибаг, неприятный).
Когда завершается работа с документом (через Завершить или автоматическое завершение при полном фактическом сборе), и ПО переходит в основное меню , то "фокус\курсор" не становится на это меню. То есть если в этот момент нажать ESC(к примеру для смены пользователя или для выхода вообще), то ничего не произойдет. Чтобы это сработало, приходится кликнуть по любому пункту меню(пусть тот же Подбор Заказа), и потом выйти из него - после этого ESC работает.
В старых 2.7 версиях такого не было