Как задать другую начальную страницу при запуске с мобильного клиента

1. Uillhard 20.09.19 07:33 Сейчас в теме
При запуске через любой клиент, кроме мобильного нужно отображать один состав начальной страницы, но при запуске через мобильный клиент состав должен быть другой.Как это эффективнее реализовать ?
По теме из базы знаний
Найденные решения
4. Uillhard 21.11.19 13:33 Сейчас в теме
Нашел решение
Нужно в модуле управляемого приложения в процедуре "ПередНачаломРаботыСистемы" прописать этот код

НастройкиНачальнойСтраницы = Новый НастройкаНачальнойСтраницы;
НовыйСоставФорм = Новый СоставФормНачальнойСтраницы;
НовыйСоставФорм.ЛеваяКолонка.Добавить("Тут путь к форме");
НастройкиНачальнойСтраницы.УстановитьСоставФорм(НовыйСоставФорм);

ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиНачальнойСтраницы", ,НастройкаНачальнойСтраницы);


И после этого обновить интерфейс методом ОбновитьИнтерфейс()
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Aleksnow 10.11.19 03:20 Сейчас в теме
(1) Все зависит от умения создавать костыли)) Я это к тому что адаптация конфигураций под Мобильный клиент по моему до сих пор один большой костыль.
Итак, так как я надеюсь вы уже выполнили базовую адаптацию конфы под работу с мобильным клиентом, я имею ввиду расставили предпроцессорные условие #Если МобильныйКлиент в местах где он не будет работать (самый простой вариант опираться на условия #Если ВебКлиент).

А теперь по существу, создаем расширение (если жалко с поддержки снимать конфу), нам нужен модуль сеанса, там берем и добавляем в расширение процедуру "Установка параметров сеанса", если ее нет, то печаль (делаем ее в расширении сами)

в этой процедурке будет примерно вот такой код
НастройкиНачальнойСтраницы = Новый НастройкаНачальнойСтраницы;
НовыйСоставФорм = Новый СоставФормНачальнойСтраницы;
НовыйСоставФорм.ЛеваяКолонка.Добавить("Тут путь к форме");
НастройкиНачальнойСтраницы.УстановитьСоставФорм(НовыйСоставФорм);

ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиНачальнойСтраницы", ,НастройкаНачальнойСтраницы);


Ну что-то вроде этого)
Uillhard; +1 Ответить
3. Uillhard 20.11.19 15:44 Сейчас в теме
(2) Я пытался так сделать, но при это не сработало.
Ставил точку останова в процедуре "Установка параметров сеанса", но при использовании Мобильного клиента он туда не заходит.
Поэтому пока приходится просто открывать форму для мобильного клиента из начальной страницы
4. Uillhard 21.11.19 13:33 Сейчас в теме
Нашел решение
Нужно в модуле управляемого приложения в процедуре "ПередНачаломРаботыСистемы" прописать этот код

НастройкиНачальнойСтраницы = Новый НастройкаНачальнойСтраницы;
НовыйСоставФорм = Новый СоставФормНачальнойСтраницы;
НовыйСоставФорм.ЛеваяКолонка.Добавить("Тут путь к форме");
НастройкиНачальнойСтраницы.УстановитьСоставФорм(НовыйСоставФорм);

ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиНачальнойСтраницы", ,НастройкаНачальнойСтраницы);


И после этого обновить интерфейс методом ОбновитьИнтерфейс()
11. Hobbit_Jedi 08.07.21 16:43 Сейчас в теме
(4)
Нашел решение
Нужно в модуле управляемого приложения в процедуре "ПередНачаломРаботыСистемы" прописать этот код


Так ПередНачаломРаботыСистемы() исполняется на клиенте, а объект НастройкаНачальнойСтраницы доступен только на сервере.

Как этот момент "обходили"?
5. ikekoval 119 22.04.20 18:39 Сейчас в теме
Коллеги, а как тоже самое сделать для мобильного приложения?

НастройкиНачальнойСтраницы - Доступность: Сервер, толстый клиент.
СоставФормНачальнойСтраницы- Доступность: Сервер, толстый клиент.

При обновлении МП:

Тип не определен (СоставФормНачальнойСтраницы)
СоставФорм = Новый <<?>>СоставФормНачальнойСтраницы; (Проверка: Мобильное приложение-сервер)
Мобильное приложение содержит синтаксические ошибки.

Прекрасно работает при отладке в тонком клиенте и ниразу в мобильном приложении. За мобильный клиент не скажу.

Платформа 8.3.16.1030
6. ikekoval 119 23.04.20 01:55 Сейчас в теме
(5) Ну, через пятую точку, но сделать можно.
Создаём 2 роли
Ставим 2 формы в настройках рабочей области начальной страницы. Каждой в настройках видимости назначаем свою роль
Ну а дальше просто - создаем пользователя перед началом работы системы, назначаете нужную роль и наслаждаетесь результатом.
7. o4karek 24.04.20 09:09 Сейчас в теме
(5) А зачем так делать в мобильном приложении? Что мешает просто настроить форму начальной страницы в конфигураторе?
8. ikekoval 119 24.04.20 18:54 Сейчас в теме
(7) Потому-что одной формы мало.
Например разные формы для аворизованного и неавторизованного пользователя.
Например, разные рабочие столы для логиста, курьера, кладовщика

Вообще ваш вопрос так же можно адресовать в другую сторону - зачем в десктопной версии разные рабочие столы? Что мешает просто настроить форму начальной страницы в конфигураторе? Зачем вообще придумали "НастройкаНачальнойСтраницы" и "СоставФормНачальнойСтраницы"?
9. o4karek 24.04.20 20:17 Сейчас в теме
(8) Ответ достаточно простой: формы начальной страницы могут быть доступны, в зависимости от прав пользователя. Поэтому стартовый набор форм большой, а реально на форме их [может быть] видно меньше.
В мобильном приложении пользователей нет, поэтому состав форм там значительно менее динамичен. И больше одной формы мобильная платформа показывать не умеет.
А алгоритм определения списка форм вот тут есть: https://its.1c.ru/db/v83doc#bookmark:dev:TI000001554
10. ikekoval 119 24.04.20 22:23 Сейчас в теме
(9) Так я же и написал, что в событии "при запуске приложения" можно создать пользователя, если текущий не определен. Ему добавить роль там же, предварительно добавив их в конфигурацию. Дальше по ролям настраиваете видимость.
Я не писал, что мне нужны несколько форм. Не писал про левые и правые колонки.
Мне нужна одна из нескольких, но доступная в зависимости от условий.
Очень не хотелось связываться с пользователем и ролями т.к. и без них отлично до сих пор справлялся.

Пользователи в мобильном приложении есть. Не больше одного пользователя на приложение.
Оставьте свое сообщение

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