Мобильный клиент ComОбъект

1. Mahon83 13 26.08.20 06:55 Сейчас в теме
Добрый день, коллеги! Стоит задача разработать мобильное приложение (желательно мобильный клиент), которое будет отображать на экране информацию, а информацию можно получить только с помощью COMОбъекта, подскажите, каким образом можно реализовать поставленную задачу?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
20. olejnikov_m 48 23.09.22 14:21 Сейчас в теме
(1)Подскажите вам удалось решить проблему с весами?
2. Bazin 5 26.08.20 07:32 Сейчас в теме
Мобильный клиент подключается к базе на сервере, на сервере COMОбъект. Какие сложности?
3. Kovekh 26.08.20 07:45 Сейчас в теме
(2)Это если всё-таки автор не перепутал мобильный клиент и мобильное приложение)
5. Bazin 5 26.08.20 07:55 Сейчас в теме
(3) Тут без вариантов:
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
6. Mahon83 13 26.08.20 07:58 Сейчас в теме
(3)Мобильный клиент использую
4. Mahon83 13 26.08.20 07:53 Сейчас в теме
(2) через com я подключаюсь к весам, сделал на сервере, но, когда вызываю через мобильное устройство, Com объект создается, но связи с весами нет, если через комп то связь есть
7. tricolor 23 26.08.20 10:01 Сейчас в теме
(4) Должно все работать и через мобильный клиент и через мобильное приложение, но подключение к весам через сервер. Если не получается искать отладкой и сравнивать чем отличается подключение с компа от подключения с мобильного клиента.
8. Mahon83 13 26.08.20 10:22 Сейчас в теме
(7) Да отладка не особо помогает, так как все подключение заключается в "Новый COMОбъект("Controller.ScAuto")", и соответственно стоит программа, где прописано подключение.
9. THEBESTolo4b 10 26.08.20 10:28 Сейчас в теме
(7)
сравнивать чем отличается подключение с компа от подключения с мобильного клиента
и находятся ли они в одной сети
10. Mahon83 13 26.08.20 10:45 Сейчас в теме
(9)Телефон и сервер в одной сити.
Это не может быть как то связано с этим? Когда я пишу
Терминал = Новый COMОбъект("Controller.ScAuto");
возникает ошибка (скрин)
Что бы ошибки не было, я пишу
#Если НЕ МобильноеПриложениеСервер Тогда
		Терминал = Новый COMОбъект("Controller.ScAuto");

Тогда прекрасно всё запускается, смотрю отладку через телефон, ComОбъект создается, далее вызываю метод
Терминал.GetWeight(1, 5)
, данные метод возвращает мне сообщение -5000, что означает "Терминал не обнаружен", запускаю эту же обработку через комп, этот же метод возвращает мне результат взвешивания весов
Прикрепленные файлы:
11. serg33rus 28 26.08.20 19:26 Сейчас в теме
(10) На мобильном приложении и в мобильном клиенте не существует COM объектов. Это приблуда виндовозная, Андроид таких слов не знает.
Но конечно же можно запустить процедуру на сервере и она сможет создать com-объект. Если на сервере не создает, а под клиентом создает, копай права пользователя под которым крутится сервер 1С.
Но проверка
 #Если НЕ МобильноеПриложениеСервер
проверяет именно мобильное приложение. мобильное приложение не может ничего запустить на сервере 1С, оно работает автономно. Надо все-таки определиться мобильный клиент или мобильное приложение? Мобильное приложение работает со своей БД. Мобильный клиент с внешним сервером 1С. И на клиенте можно запускать процедуры, которые будут крутиться именно на сервере (достаточно указать директиву &НаСервере). И если сервер 1С под windows, то com объекты должны отрабатывать.
12. Mahon83 13 27.08.20 11:04 Сейчас в теме
(11)Всё равно никак не могу найти причину, прикрепил 2 скрина из отладки, первый скрин запустил через тонкий клиент, второй скрин через мобильный клиент
Прикрепленные файлы:
13. serg33rus 28 27.08.20 11:25 Сейчас в теме
(12) Ага. Судя по всему в мобильном клиенте все-таки на стороне сервиса запускается, поскольку com-объект создан. А посмотри еще разок, на какой стороне в тонком клиенте запускается процедур. Есть там &НаСервере? Если есть еще один эксперимент попробуй. Запусти 1С сервер под админом. Изменит это ситуацию?
14. Xershi 1486 27.08.20 11:38 Сейчас в теме
(12) наверное потому что не понимаешь как работает код.
Вам уже объяснили, что ком должен быть только на сервере.
Далее если вы вызвали сервер, передали управление на клиент, то вам нужно результат хранить на сервере, без хранения он сразу падает и нужна повторная инициализация.
Это основа клиент-серверной работы!
SImva777@gmail.com; Mahon83; +2 Ответить
15. Mahon83 13 27.08.20 11:41 Сейчас в теме
(14)
вызвали сервер, передали управление на клиент, то вам нужно результат хранить на сервере, без хранения он сразу падает и нужна повторная инициализация.
. У меня ком на сервере, на клиент я возвращаю только результат, ComОбъект я создаю в общем модуле с включенным повторным использованием возвращаемых значений на время сеанса. Всё происходит исключительно на сервере.
16. Xershi 1486 27.08.20 11:43 Сейчас в теме
(15) результат в каком виде? На скринах что показали такое будет падать.
Не уверен что ком в такой концепции работоспособен.
Я когда работать с ЭСЧФ там ком сохраняли во временное хранилище и жил он примерно 20 минут.
Почитайте про это в учебниках, думаю сможете решить проблему тогда.
17. Mahon83 13 27.08.20 11:44 Сейчас в теме
(16)
е уверен что ком в такой концепции работоспособен

Функция СтруктураОтвета() Экспорт
	Структура = Новый Структура();
	Структура.Вставить("Вес", 0);
	Структура.Вставить("ПризнакСтабильности", Ложь);
	Структура.Вставить("НовоеВзвешивание",    Истина);
	Структура.Вставить("НомерВзвешивания",    0);
	Структура.Вставить("Ошибка", 			  Истина);
	
	Возврат Структура;             
КонецФункции
Показать
18. Xershi 1486 27.08.20 11:49 Сейчас в теме
(17) простые типы не должны падать, а вот модуль вполне. Возможно это проблема драйвера.
19. starik-2005 3039 28.08.20 12:07 Сейчас в теме
Ваще неверный подход.

1. На мобильном устройстве даже с ВИН ЦЕ этот СОМ-объект не создастся, т.к. он зарегистрирован на компе, к которому физически подключены весы и установлен контроллер (или как там это ПО называется).

2. Для того, чтобы получить вес, нужно создать СОМ-объект на компе, к которому подоткнуты весы.

3. Чтобы передать вес в мобильный клиент, из него в принципе можно попробовать вызвать процедуру на сервере, но лично я не в курсе, в каком контексте эта процедура будет вызываться. Если на компе, к которому подключены весы - это должно сработать, а если база клиент-серверная, то компьютер, на котором работает сервер приложений, может быть совсем другим компьютером.

4. Лично я делал мобильное приложение и по веб-сервису обращался к основной базе, а она уже к весам.

5. Данный СОМ-объект достаточно долго создается, поэтому лучше на компе с весами запустить какой-нить софт, который бы постоянно писал вес и признак отсечки (когда весы устаканятся) в какой-нить MQ TT, откуда уже мобильный клиент или приложение забирало бы данные. Эту фигню на повершелле можно написать за 10 минут - и будет счастье. Ну или не на MQ TT, а просто в файл, откуда пусть и читает моб.клиент или кто там хочет.
nestokay; Mahon83; +2 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот