Начат

Ошибка при вызове 1С

Rystam Atai 7 лет назад обновлен Алексей (Рук. ТП) 7 лет назад 20

Есть конфигурация и 2 терминала honeywell scan pal 5100 (win ce). На терминалах доработанная конфигурация wifi prof драйвера. Приобрели еще 2а терминала heneywell EDA50. При вызове 1с происходит ошибка.


0; 37; 29.05.2017 19:28:59.831 ERROR
ADDITION TEXT: Cannot play resource: 2131099651
MESSAGE: Exception of type 'Java.Lang.IllegalStateException' was thrown.
TYPE: Java.Lang.IllegalStateException
SOURCE: mscorlib
TARGETSITE: Throw
[STACK TRACE]
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <3dc9ed3d31194319991e686734adcb10>:0 
  at Java.Interop.JniEnvironment+InstanceMethods.CallVoidMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00084] in <5f454d5351b64f7593bc8950ece5d468>:0 
  at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x0002f] in <5f454d5351b64f7593bc8950ece5d468>:0 
  at Android.Media.MediaPlayer.Start () [0x0000a] in <bca57f0325ae4885a534bd4333c3f95b>:0 
  at Cleverence.Warehouse.Compact.AudioPlayer.PlayResource (System.Int32 nResourceId) [0x00023] in <22ab168f761c44e892d1dbe3c0f71db9>:0 
  --- End of managed Java.Lang.IllegalStateException stack trace ---
java.lang.IllegalStateException
at android.media.MediaPlayer._start(Native Method)
at android.media.MediaPlayer.start(MediaPlayer.java:1064)
at dalvik.system.NativeStart.run(Native Method)

[STACK TRACE]
JNIPEERMEMBERS: Android.Runtime.XAPeerMembers
PEERREFERENCE: 0x1d4012b2/G
HANDLE: 490738354
DATA: System.Collections.ListDictionaryInternal
HRESULT: -2146233088

0; 3; 29.05.2017 19:40:48.314 Man: Honeywell Model: ScanPal EDA50


На Win CE таже конфигурация работает. На Андроиде зависает в процессе вызова и через минуту две вываливается с ошибкой, что вызов 1С неудачен.

Проверил на моб телефоне - Android 6 - поведение такое же. Логи прилагаю.DeviceLogs.zip

В дата лог вроде бы более вразумтельная инфомация.

4; 12; 30.05.2017 12:19:50.419 ERROR
ADDITION TEXT: Метод: СоздатьИРаспечататьУпакЛист, Аргументы: http://schemas.cleverence.ru/clr"> clr:Type="ListDictionary" count="3">UserIdФил СерСтрокиКУпаковке462711525859914627115258599241790Основание94650ce4-2bd8-11e7-8129-7824af8abbe2
MESSAGE: Имя метода должно содержать Ид коннектора: 'connectorId:className.methodName'
Имя параметра: methodName
TYPE: System.ArgumentException
SOURCE: Cleverence.Connectivity
TARGETSITE: GetConnectorForMethod
[STACK TRACE]
в Cleverence.Connectivity.ConnectivityManager.GetConnectorForMethod(String methodName, Boolean throwEx)
в Cleverence.Warehouse.ServerEvents.Invoke(String methodName, Object[] args, DeviceInfo dInfo, Boolean& isDemo)
в Cleverence.Warehouse.DataStorage.InvokeRemoteMethod(String methodPath, String invokeArgs, String deviceInfoXml)
[STACK TRACE]
PARAMNAME: methodName
DATA:

System.Collections.ListDictionaryInternal

Но что делать с этим по прежнему непонятно. ХЕЛП!

Начат

Добрый день,

На всех андроид устройствах ошибка будет одинаковая.

А с сервера можете логи прислать. ( для Win 7/Seven/Vista C:\ProgramData\Cleverence\Logs. для Win XP С:\Documents and Settings\All Users\Application Data\Cleverence\Logs)

Все логи с сервера Logs.zip

MESSAGE: Имя метода должно содержать Ид коннектора: 'connectorId:className.methodName'


ТСД на win тоже подключен к этому же серверу? при выполнении той же операции такого лога на сервере не появляется?

У вас конфигурация ПРОФ драйвера типовая?

Добрый день,

мы протестировали работу типового проф драйвера на такой же модели ТСД с такой же версией приложения - ошибок не возникает.

Вероятно дело в вашей доработке т.к. в типовом функционале нет метода:

ADDITION TEXT: Метод: СоздатьИРаспечататьУпакЛист, Аргументы: http://schemas.cleverence.ru/clr">
clr:Type="ListDictionary" count="3">UserIdФил
СерСтрокиКУпаковке462711525859914627115258599241790Основание94650ce4-2bd8-11e7-8129-7824af8abbe2


Вы можете воспроизвести ошибку на типовом продукте, чтобы мы могли повторить ее у себя?


На каком типовом документе тестировали? С ходу не могу найти: где есть вызов коннектора в типовых документах?

Как в типовом функционале задается: MESSAGE: Имя метода должно содержать Ид коннектора: 'connectorId:className.methodName' ? На сколько я могу судить, единственное где я могу управлять ИД коннектора, это выбирая его из списка коннекторов в действии "вызов внешней системы". Или есть еще какие-то способы? Вы проверяли на 3.0.0.176 версии приложения для андроид?

Остатки и цены из типового функционала вызывает процедуру без ошибки. Что это значит?

Это значит что стандартный метод ПолучитьОстаткиНоменклатуры вызывается на данном ТСД в типовой конфигурации без ошибки

А как быть с тем, что на wince этаже конфигурация работает без ошибок?

Поэтому и был вопрос ранее

"ТСД на win тоже подключен к этому же серверу? при выполнении той же операции такого лога на сервере не появляется?"

Хм. Я вроде обо всем этом уже написал! Конфигурация НЕ стандартная - добавлены новые документы, типовые не используются. Ошибка в добавленном документе. Да. Терминалы на WinCE подключены к тому-же серверу и работают без ошибок.

Вызов до 1С не доходит т.к. вначале вызова есть запись в лог - в лог 1С ничего не пишется (есть авторизация ком коннектора и все).

Сложность данной ошибки заключается в том что конфигурация у вас не типовая и что за вызов и что ему предшествует непонятно. Мы можем завести заявку разработчикам, но они как и мы вначале проверят на типовом приложении, а у нас как и писал Илларион - не воспроизводится.

Есть предложение - вы можете установить демо конфигурацию 1С и драйвер с сайта и проверить вызовы в 1С - будут они проходить или нет. Есть у вас такая возможность?

Т.к. типовые документы в базе тсд есть, то я проверил - типовая база работает. Работают даже другие вызовы в не типовых документах. По сути дела НЕ работает только один вызов. Единственный вопрос который остался: как получается, что база работает на WinCE и НЕ работает на Android?

"Единственный вопрос который остался: как получается, что база работает на WinCE и НЕ работает на Android?"  -  вот в этом и есть проблема - конкретный вызов.

Базу 1С свою нам на почту можете прислать чтоб полностью проблему воспроизвести?

Прискорбно, что простых путей не ищите. В общем проблема решилась переименованием переменной в которую возвращался результат - переменная была набрана кириллицей, поменял на латиницу. Проверьте - возможно ошибка всеже есть? Кроссплатформенность мобилсмартс большой плюс, досадно, что происходят такие странные вещи при смене ОС.

Вот этого мы не учли при проверке, передадим разработчикам.

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