Версия для печати темы (https://pro1c.org.ua/index.php?s=79c3fdc504117c3e2ef0469bf4af3bcf&showtopic=36760)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Мобильная платформа 1С _ Как определить, что база запущена на андроиде?
Автор: Gavrila 21.04.17, 23:36
Есть самописная небольшая база. Работает на веб-клиенте.
Хочу ее адаптировать под планшет. Подскажите, как определить при запуске, программа запущена на андроиде или на веб-клиенте?
В идеале хотелось бы режим запуска сохранить в параметрах сеанса
Автор: Flexy 22.04.17, 9:37
Gavrila @ Вчера, 23:36
,
Что значит на Андроиде или вэб клиенте? Вы сравниваете ОС с Браузером?
По теме:
СисИнфо = Новый СистемнаяИнформация;
Сообщить(СисИнфо.ВерсияОС); // OS
Сообщить(СисИнфо.ИнформацияПрограммыПросмотра); // Browser
Сообщить(СисИнфо.ТипПлатформы); // Platform type
Автор: Gavrila 22.04.17, 12:29
Цитата(Flexy @ 22.04.17, 10:37)
Что значит на Андроиде или вэб клиенте? Вы сравниваете ОС с Браузером?
не то, чтобы я их сравниваю... мне просто надо знать, программа запущена как мобильное приложение или как веб-клиент.
вчера нашел такой способ "#Если МобильноеПриложениеКлиент Или МобильноеПриложениеСервер Тогда"
но и за это спасибо - здесь и версию андроида видно))
Цитата(Flexy @ 22.04.17, 10:37)
СисИнфо = Новый СистемнаяИнформация;
Автор: Gavrila 23.04.17, 12:36
кстати, при запуске на андроиде в модуле управляемого приложения в процедуре ПередНачаломРаботыСистемы конструкция
#Если МобильноеПриложениеКлиент Или МобильноеПриложениеСервер Тогда
возвращает истину, а в модуле сеанса в процедуре УстановкаПараметровСеанса возвращает ложь... не пойму почему
Автор: logist 23.04.17, 13:19
Цитата(Gavrila @ 23.04.17, 13:36)
а в модуле сеанса в процедуре УстановкаПараметровСеанса возвращает ложь.
Вероятно, потому что модуль сеанса это просто "Сервер", хотя, думаю, там всё проще, и в нем директивы компиляции не работают.
Автор: Gavrila 24.04.17, 1:57
Цитата(logist @ 23.04.17, 14:19)
Вероятно, потому что модуль сеанса это просто "Сервер", хотя, думаю, там всё проще, и в нем директивы компиляции не работают.
да, определяется как сервер. как по мне, то это не правильно
Автор: logist 24.04.17, 11:31
Цитата(Gavrila @ 24.04.17, 2:57)
как по мне, то это не правильно
Почему? Параметры сеанса доступны только на сервере. Возможно, вы неправильно задали архитектуру своей системы, поэтому видите только такое решение вашей задачи, а на самом деле всё можно сделать иначе
Автор: Gavrila 26.04.17, 22:23
Цитата(logist @ 24.04.17, 12:31)
Возможно, вы неправильно задали архитектуру своей системы, поэтому видите только такое решение вашей задачи, а на самом деле всё можно сделать иначе
архитектура максимально простая)
мне нужен признак платформы (андроид, веб и т.п.). самым оптимальным мне показалось хранить этот признак в параметрах сеанса и определять его при каждом запуске.
как еще можно это сделать по другому?
Автор: logist 27.04.17, 12:36
Цитата(Gavrila @ 26.04.17, 23:23)
мне нужен признак платформы (андроид, веб и т.п.).
Смотря для чего он вам нужен. Хранить в параметрах сеанса без проблем, только зачем вам понадобились директивы компиляции, если нужную информацию можно получить без них.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua