Версия для печати темы (https://pro1c.org.ua/index.php?s=3c9f11f931273ff3f64a89c74c1f0d21&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) *
как по мне, то это не правильно

Почему? Параметры сеанса доступны только на сервере. Возможно, вы неправильно задали архитектуру своей системы, поэтому видите только такое решение вашей задачи, а на самом деле всё можно сделать иначе smile.gif

Автор: 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