На рассмотрении

Вопросы после перехода на версию драйвера 3.0 с 2.7

Константин Хеттих 3 года назад в Прочие разделы / - Вопросы по разработке обновлен Руслан Хеттих 3 года назад 42

Переходили с версии 2.7 согласно инструкции с сайта.
После перехода на новый драйвер возникли вопросы:

1. При завершении работы с документом перестало появляться сообщение "Документ закончен"

2. Перестал запоминаться номер последнего введенного документа (в свойстве поля Запоминать последнее стоит "Да")
3. Произвольно изменяется размер шрифта.
4. Аварийно завершается приложение. Файл ошибки с ТСД прилагается
errors.log
Файл конфигурации
Cleverence.Warehouse.Environment.xml

5. При загрузке конфигурации в панель управление игнорирует файлы в папке из сохраненной ранее конфигурации - открывает конфигурацию как пустую.
Может надо что нибудь поменять в конфигурации для нормальной работы с версией 3.0
Ждем разъяснений.

Установленный продукт:
Wi fi prof
Версия драйвера:
3.0
Типовая конфигурация драйвера?:
Нет
Операционная система:
Win 2008 server
Версия и конфигурация 1С, и режим работы (Файловы или Серверный):
1С Предприятие 8.2. Конфигурация 1С:Бухгалтерия КОРП
Типовая конфигурация 1с?:
Нет
Модель ТСД:
motorolla 2100
Добрый день,

1. Возможно была какая то доработка, которая отсутствует в стандартной поставке драйвера?

2. Опишите подробнее, где и в каком виде все запоминается?

3. Приведите пример в каком месте меняется шрифт, сделайте снимок с экрана.

4. По логам похоже что на ТСД не установлен "мобильный Framework". Скопируйте из папки C:\Program Files\Cleverence Soft\Driver1C\Client Installer файл NETCFv2.wce5.armv4i.cab на ТСД и установите его.

5. Загружать конфигурацию в панель управления - не нужно, остановите сервер Mobile Smarts, замените файл Cleverence.Warehouse.Environment.xml в папке C:\ProgramData\Cleverence\Базы Mobile SMARTS\НазваниеБазы\Documents, запустите сервер.

1. Доработок не было. В версии 2.7 перед выходом из документов всегда появлялась надпись "Документ завершен"

2. Для работы с документом было введено дополнительное поле для ввода номера документа (далее поиск в 1с). В версии 2.7 номер документа запоминался и при повторном выборе типа документа из списка уже было заполнено. В версии 3.0 поле каждый раз пустое
3. Шрифт меняется не всегда. При появлении пришлем снимок
4. мобильный Framework был установлен.
5. Для чего служит опция в меню панели управления "Сохранить как.." и загрузить. В 2.7 сохраняли и загружали конфигурацию из другой версии...




1. Включите в панели управления "использование всплывающих окон".

2. Сделайте скриншоты, в каком именно документе МС введено дополнительное поле, с каким названием?

5. Загрузить кнопки скоро уберут, они не используются в третьей версии платформы.

1. Использование всплывающих сообщений было включено. В 2.7 все работает.

2.Документ Транспортный заказ, поле НомерТЗ. Свойство Запоминать прошлое значение стоит "Да"


Константин, Ваша конфигурация очень сильно отличается от типовой поставки WiFi драйвера. Возможно Вы используете продукт реализованный в рамках индивидуального проекта?

Да - мы с нуля писали свою конфигурацию. Вопрос заключается в изменении поведения конфигурации при переходе на драйвер версии 3.0

Вам такое сообщение нужно при завершении документа? http://prnt.sc/em6zp9

Ваша ссылка не открывается.
Сообщение было такое:

Не могу проверить именно на Вашей конфигурации, так как постоянно идут запросы в 1С в "документах" что приводит к ошибкам, вот так выглядит Ваша конфигурация у меня.


Но уведомления должны работать, по ссылке выше была такая картинка


Копировал Ваше доп поле, в другую конфигурацию и значение запоминается


Попробуйте еще раз импортировать файл конфигурации с перезапуском сервера.

Установите типовой драйвер, сравните работу с типовой конфигурацией.

Что значит "импортировать файл конфигурации"? Взять файл конфигурации (Cleverence.Warehouse.Environment.xml) с базы где стоит драйвер 2.7 и переместить его в базу данных для драйвера 3.0. Перед этим остановить сервер и запустить его после копирования файла?

Да, именно так и нужно сделать.

Сделал. Сообщение не появляется...
Создал конфигурацию без подсоединения к 1С, В версии 2.7 если при входе в документ сразу нажать ESC, то сначала появляется сообщение "Работа с документом закончена", а потом выход в меню
В версии 3.0 сообщения нет. Проверьте пожалуйста это у себя. Может мы как то не так устанавливаем драйвер...
Файл конфигурации
Cleverence.Warehouse.Environment.xml

Посмотрите как в "новой операции" сделано оповещение:

Cleverence.Warehouse.Environment.xml

Возможно использовать как альтернативу.


наберите в браузере http://localhost:10501 скопируйте информацию

Это понятно - что можно сделать альтернативу. Вопрос в том - почему поменялось поведение конфигурации в новом драйвере?

У Вас получилось во вновь присланной конфигурации вызвать это сообщение (войти в документ Ввод веса упаковки и сразу выйти по ESC - появилось или нет сообщение о том что работа с документом закончена)?

Нам нужно знать что мы правильно установили Вашу программу.
Пользователя Администратор у нас нет. Есть только группа Администраторы

Сервер Mobile SMARTS


Сервер запущен: 16.03.2017 03:18:58

Время работы: 4.19:16:15.6062650


Версия: v.3.0.0.3291

Еще вопрос вдогонку: В поле ввода количество отображается по умолчанию "1.0" , как можно сделать чтобы по умолчанию отображалось "1" - без дробной части

При вводе поля "количество" (в разных документах нашей конфигурации) приложение часто вылетает с ошибками.
Лог файл из ТСД. Ошибки за 21.03.2017

errors.log

Добрый день,

Уведомление действительно не появляется у документов "виртуального" типа, завели заявку программистам на проверку, с номером 792.


По вопросу ввода количества, вероятно используется тип данных double его можно заменить на integer

или если нужно только изменить значение по умолчанию, выполнить присваивание:

SelectedProduct.Quantity = 1


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

Эта ошибка из-за отсутствия библиотеки Net Framework на ТСД

Скопируйте из папки C:\Program Files\Cleverence Soft\Driver1C\Client Installer файл NETCFv2.wce5.armv4i.cab на ТСД и установите его. Возможно Вы меняете путь для установки фрейморка, устанавливать нужно по умолчанию.



У нас установлен C:\Program Files\Cleverence Soft\Driver1C\Client Installer файл NETCFv2.wce5.armv4i.cab. Путь не меняем. Установка происходит автоматически.

<<По вопросу ввода количества, вероятно используется тип данных double его можно заменить на integer

или если нужно только изменить значение по умолчанию, выполнить присваивание:

SelectedProduct.Quantity = 1">>

Каким образом можно изменить тип данных для значения в поле Количество (SelectedProduct.Quantity) с double на integer в панели управления?



Из вашего лога:

at Microsoft.AGL.Common.MISC.HandleAr()

Это ошибка не MobileSmarts а Microsoft


1. Удалите лог файл с ТСД

2. Скопируйте файл из папки C:\Program Files\Cleverence Soft\Driver1C\Client Installer файл NETCFv2.wce5.armv4i.cab на ТСД и установите его, в папку windows (по умолчанию), запустив (установив) с ТСД.

3. Попытайтесь воспроизвести ошибку.


Если ошибка повторится пришлите новый лог с ТСД, версию прошивки и Part Number вашего ТСД

<<По вопросу ввода количества, вероятно используется тип данных double его можно заменить на integer

или если нужно только изменить значение по умолчанию, выполнить присваивание:

SelectedProduct.Quantity = 1">>

При вставке перед отображением поля "Количество" команды присвоения "SelectedProduct.Quantity = 1" все равно отображается "1.0". (Если присвоить 10, отображается "10")

Каким образом можно изменить тип данных для значения в поле Количество (SelectedProduct.Quantity) с double на integer в панели управления?

Нашел что если в справочнике Номенклатура в Панели управления ТСД установить поле Политика учета количества (единицы измерения Шт.), то в поле количество после этого отображается "1", а не "1.0". Теперь вопрос: Как из 1С заполнить это поле. В типовых обработках не нашел. Сейчас справочник номенклатура заполняю так:


ТаблицаДляТСД = Новый ТаблицаЗначений;

ТаблицаДляТСД.Колонки.Добавить("Код");

ТаблицаДляТСД.Колонки.Добавить("Штрихкод");

ТаблицаДляТСД.Колонки.Добавить("Наименование");

ТаблицаДляТСД.Колонки.Добавить("ЕдиницаИзмерения");

ТаблицаДляТСД.Колонки.Добавить("ПолитикаУчета");

Для Каждого СтрокаТовара Из СписокТоваров Цикл
СтрокаТаблицы = ТаблицаДляТСД.Добавить();
СтрокаТаблицы.Код = Строка(СтрокаТовара.Код);

ШК = Строка(СтрокаТовара.ПолныйШтрихкод);

СтрокаТаблицы.Штрихкод = ШК;

СтрокаТаблицы.Наименование = Строка(СтрокаТовара.Наименование);

СтрокаТаблицы.ЕдиницаИзмерения = СтрокаТовара.БЕ;

СтрокаТаблицы.

КонецЦикла;

Если мОбъектТСД = Неопределено Тогда

Сообщить("Ошибка при создании компоненты драйвера ТСД!");

Возврат;

КонецЕсли;

Если мОбъектТСД <> Неопределено Тогда

Если Не мОбъектТСД.Драйвер.ВыгрузитьТаблицу(мОбъектТСД.ИДУстройства, ТаблицаДляТСД, 1) Тогда

НомерОшибки = мОбъектТСД .Драйвер.ПолучитьОшибку(мОбъектТСД.ОписаниеОшибки);

Сообщить("Ошибка при выгрузке номенклатуры: " + мОбъектТСД.ОписаниеОшибки);

Сообщить("ВНИМАНИЕ! Произошла ошибка.

|Возможно товар не выгружен, либо выгружен частично

|Ошибка: " + мОбъектТСД .ОписаниеОшибки);

Иначе

Сообщить("Выгрузка успешно завершена.

|Выгружено строк: " + Формат(ТаблицаДляТСД.Количество(), "ЧГ=0") + ".");

КонецЕсли;

мОбъектТСД.Драйвер.ОсвободитьРесурсы();

Иначе

Сообщить("Объект драйвера ТСД не создан!");

КонецЕсли;


Политики ввода кол-ва для другого вообще, можно установить, что ввод кол-ва будет выполняться в нескольких упаковках. Может там и будет отображаться 1, а не 1.0, но ввести дробное кол-во можно будет. Через редактирование поля можно, поле в сессии, тип - целое, потом присвоить в SelectedProduct.Quantity и SelectedProduct.Quantity decimal, а не double, хотя для него особой разницы нет, и то и другое дробное.

Как для поля SelectedProduct.Quantity установить тип decimal?

Задача состоит не в запрете возможности ввести в поле количество дробные числа, а в отображении по умолчание чисел без дробной части. Чтобы отображалось "1", а не "1.0". Если заполнить политику учета количества, то отображается "1". Я понимаю для чего нужна политика учета, но если с ее помощью решается проблема с отображением, то хорошо бы загрузить номенклатуру сразу с этой политикой.

Попробуйте сделать присваивание в SelectedProduct.Quantity=0 перед вводом кол-ва, должно выводить 1 по-умолчанию.

Высылаю лог с ТСД - снова возникла ошибка. Ошибка возникает, по словам операторов ТСД, при быстром нажатии на кнопки ТСД. Если окно еще не закрылось, а уже нажали кнопку для команды в следующем окне, то происходит закрытие приложения.
Файл лога:

errors.log

Версии прошивки (использовали две разные - на обоих есть аварийный выход из программы)

03.34.0023

04.34.0130

Part Number ТСД

MC2180-MS01E0A




Начат

Константин, данная проблема происходит только на одном ТСД или на всех систематически?

"at Microsoft.AGL.Common.MISC.HandleAr()" - данная ошибка происходит при не установленном фреймворке, но судя по переписке он у вас установлен.

Такая ошибка на ТСД Моторола может происходить только при ручном вводе количества, при вычислениях. Попросите операторов ТСД обратить внимание на поведение приложения в момент ввода количества.

Вот лог ошибки на простейшей конфигурации (состоит только из цикла : ввод артикула, потом количество, потом MessageBox Yes/No). Ошибку несколько более сложно повторить - необходимо несколько циклов, но после 4-5 раз ошибка появляется.


Тестовая конфигурация



MobileSMARTS.exe; 156044206; 02/01/2009 23:59:05.000 Loaded assembly: Cleverence.Compact.Core.Symbol, Version=1.0.6225.31388, Culture=neutral

MobileSMARTS.exe; 156044206; 02/01/2009 23:59:25.000 Cleverence.Compact.Core.dll version 3.0.0.233
MobileSMARTS.exe; 156044206; 02/01/2009 23:59:51.000 ERROR
ADDITION TEXT: Необработанная ошибка (System.NullReferenceException)
MESSAGE: NullReferenceException
TYPE:System.NullReferenceException
[STACK TRACE]
at Cleverence.Warehouse.Compact.SimpleQuantityAction.ProcessQuantities()
at Cleverence.Warehouse.Compact.SimpleQuantityAction.inputBox_KeyDown()
at System.Windows.Forms.Control.OnKeyDown()
at Cleverence.CompactForms.TextBox.OnKeyDown()
at System.Windows.Forms.Control.WnProc()
at System.Windows.Forms.Control._InternalWnProc()
at Microsoft.AGL.Forms.EVL.EnterMainLoop()
at System.Windows.Forms.Application.Run()
at Cleverence.Warehouse.Compact.Start.Main2()
at Cleverence.Warehouse.Compact.Start.Main()
[STACK TRACE]


MobileSMARTS.exe; 156044206; 02/01/2009 23:59:51.000 Приложение остановлено.
MobileSMARTS.exe; Транспортный заказ mainApp; 02/01/2009 23:59:51.000 ERROR
ADDITION TEXT: Транспортный заказ: Действие (QuestionYesNoAction) "Вопрос при вводе больше чем надо"
MESSAGE: ThreadAbortException
TYPE:System.Threading.ThreadAbortException
[STACK TRACE]
at System.PInvoke.PAL.Threading_Event_Wait()
at System.Threading.ManualResetEvent.WaitOne()
at System.Windows.Forms.Control.InvokeHelper()
at Cleverence.CompactForms.FormStack.Invoke()
at Cleverence.CompactForms.FormStack.Invoke()
at Cleverence.CompactForms.MessageBox.Show()
at Cleverence.CompactForms.MessageBox.Show()
at Cleverence.CompactForms.MessageBox.Show()
at Cleverence.Warehouse.Compact.QuestionYesNoAction.Begin()
at Cleverence.Warehouse.Compact.ActionsApplication.StartApplication()
[STACK TRACE]
EXCEPTIONSTATE: null


Дело не в конфигурации(судя по логу). Дело в конкретной модели и прошивке ТСД. При редактировании поля происходит ошибка вычисления.

У вас другой модели ТСД есть? Или например андроид телефон - на него в демо режиме поставить приложение Mobile SMARTS и подключить к этой конфигурации.

Ок. Попробуем - отпишу результат.
Но у нас 2180 из нескольких партий, покупались в разное время у вас и у Саотрона - ошибка везде повторяема. Прошивка стоит везде последняя - получена от Zebra по контракту техподдержки).

На Android данная ситуация не повторима, потому как нет физической кнопки OK :) Все работает без ошибок.

По ощущениям - Exception срабатывает при нажатии на любую физическую кнопку в промежутке времени между ОК в поле ввода количества и последующим MessageBox

Проблема происходит на всех ТСД с новым драйвером. Количество вводится всегда вручную. Ошибка возникает, по словам операторов ТСД, при быстром нажатии на кнопки ТСД. На какие особенности поведения приложения обратить внимание?

Ошибка проявляется следующим образом: Во время ввода количества - если нажать Enter один раз и дождаться открытия следующего окна, то все проходит без сбоев. Если нажать Enter быстро несколько раз или другие кнопки на ТСД (операторы привыкли так нажимать чтобы закрывать подтверждения или быстро вводить данные), то происходит вылет из программы. Позже пришлю ссылку на видео с вызовом ошибки

На рассмотрении

Константин, проверили проблему с вылетом приложения на ТСД.

Проверили на точно таком же ТСД как у вас, я имею ввиду партномер и прошивку. И на 2180 немного с другой прошивкой. Щелкали разные кнопки и энтер при вводе количества много раз на сколько это возможно, но заставить вылететь приложение так и не получилось.

Есть ли возможность привезти к нам на тест именно ваше устройство на котором эта проблема повторяется?

Просьба связаться в оффлайне для обсуждения дальнейших шагов.


С уважением,
Арслангареев Руслан Айдарович,
руководитель отдела ИТ ООО "Хеттих РУС"
8 9I6 86OI5OO

Добрый день.

Напишите сопроводительное письмо в свободной форме, в двух экземплярах. В котором укажите на кого приобретался ТСД (частное лицо или организация), серийный номер и модель устройства. Опишите какую неисправность необходимо протестировать. Привозите с 10 до 18 с понедельника по пятницу по адресу с страницы контактов.

Сервис поддержки клиентов работает на платформе UserEcho