|
Мобильный клиент, подменить форму | ☑ | ||
---|---|---|---|---|
0
rowvg
naïve
17.03.21
✎
13:25
|
Информационная база будет открываться как в тонком клиенте на стационарном компьютере, так и в мобильном клиенте - на телефоне. Соответственно мне нужно для документа открывать разные формы объекта в зависимости от того в каком клиенте происходит работа пользователя. Для этого у нас есть предопределенная процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка).
Подскажите, пожалуйста, как внутри этой процедуры узнать в каком клиенте я работаю? База в клиент - серверном варианте, это важно. |
|||
1
rowvg
naïve
17.03.21
✎
13:27
|
0+ Или как в модуле сеанса узнать что клиент мобильный?
|
|||
2
acht
17.03.21
✎
13:36
|
Получить номер сеанса, перебрать сеансы, по номеру найти свой, посмотреть в реквизит ИмяПриложения
|
|||
3
polosov
17.03.21
✎
13:40
|
(1)
#Если МобильныйКлиент Тогда #КонецЕсли |
|||
4
rowvg
naïve
17.03.21
✎
13:41
|
(3) не сработает, я форму в серверном вызове меняю
|
|||
5
acht
17.03.21
✎
13:46
|
(2)+ И даже проще. Я забыл про ПолучитьТекущийСеансИнформационнойБазы()
|
|||
6
polosov
17.03.21
✎
13:50
|
1С рекомендует так:
В тех случаях, когда на сервере требуется получить информацию о том, что сеанс запущен на мобильном клиенте, например, для сбора статистики, тарификации и пр., можно, например, сделать так: 1. Завести булевый параметр сеанса МобильныйКлиент 2. В модуле приложения в блоке #Если МобильныйКлиент устанавливать параметр сеанса в значение Истина, #Если Не МобильныйКлиент – в значение Ложь 3. В серверном коде проверять значение параметра сеанса https://its.1c.ru/db/metod8dev/content/5948/hdoc |
|||
7
rowvg
naïve
17.03.21
✎
13:53
|
(5) Спасибо большое
ИмяПриложения = ПолучитьТекущийСеансИнформационнойБазы().ИмяПриложения; идеально работает |
|||
8
polosov
17.03.21
✎
13:55
|
(7) "Для получения объекта необходимо обладать правом "Администратор""
|
|||
9
rowvg
naïve
17.03.21
✎
13:57
|
(6) Я читал эту статью, но если так сделать, то у меня выходит вот такая ошибка
https://hostingkartinok.com/show-image.php?id=417ce836116ebdeb60903855c9ec6747 |
|||
10
polosov
17.03.21
✎
13:59
|
(9) Сервер с клиента вызывать не умеешь?
|
|||
11
acht
17.03.21
✎
13:59
|
(8) Дык откуда на клиенте параметры сеанса возьмутся?
|
|||
12
acht
17.03.21
✎
13:59
|
(8) Привелигированый редим включать не умеешь?
|
|||
13
acht
17.03.21
✎
13:59
|
(11)+ Это было к (9)
|
|||
14
rowvg
naïve
17.03.21
✎
14:06
|
acht, это в модуле приложения написано
|
|||
15
rowvg
naïve
17.03.21
✎
14:07
|
14+ В модуле приложения в блоке #Если МобильныйКлиент устанавливать параметр сеанса в значение Истина, #Если Не МобильныйКлиент – в значение Ложь
Это написано на сайте ИТС |
|||
16
rowvg
naïve
17.03.21
✎
14:16
|
15+
Я не зря написал что у меня клиент - серверный вариант работы и это важно. |
|||
17
acht
17.03.21
✎
14:20
|
(14) Ты не поверишь, но модуль приложения он внезапно на клиенте и выполняется.
|
|||
18
rowvg
naïve
17.03.21
✎
14:29
|
(17) Спасибо, просто вызвал общий модуль и там установил параметры сеанса. Теперь все правильно работает и в тонком клиенте, и в мобильном.
|
|||
19
acht
17.03.21
✎
14:38
|
(18) Достаточно поставить этот параметр один раз при начале сеанса из модуля сеанса. Модуль сеанса выполняется самым первым, причем на сервере.
Если тебе нужна информация на клиенте, то там наоборот, надо прочитать уже ранее установленный параметр. Причем его можно закэшировать в глобальной клинетской переменной уровня приложения. В типовых, например, БСПшники тащат специальное соответствие ПараметрыПриложения, пихают туда разное и кэшируют таким образом серверные вызовы. Но так как ОбработкаПолученияФормы она все равно только на сервере, то в приложении можно ничего не делать |
|||
20
rowvg
naïve
17.03.21
✎
15:02
|
(19) Спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |