Ошибка при вызове 1С
Есть конфигурация и 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
Сервис поддержки клиентов работает на платформе UserEcho
На 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С свою нам на почту можете прислать чтоб полностью проблему воспроизвести?
Прискорбно, что простых путей не ищите. В общем проблема решилась переименованием переменной в которую возвращался результат - переменная была набрана кириллицей, поменял на латиницу. Проверьте - возможно ошибка всеже есть? Кроссплатформенность мобилсмартс большой плюс, досадно, что происходят такие странные вещи при смене ОС.
Вот этого мы не учли при проверке, передадим разработчикам.