|
Настроить интерфейс пользователя (нет возможности) | ☑ | ||
---|---|---|---|---|
0
Sevish
12.02.22
✎
08:01
|
Добрый день!
Конечная цель: пользователь заходит в программу, у него открывается обработка на начальной странице и всё, больше ничего нет и не надо. Комплексная автоматизация 2.5. Создал профиль, который дает вход в программу. Создал обработку, дал права. Зашел под пользователем, хочу убрать все панели и на начальную страницу добавить обработку - никак. В меню "Настройка" просто нет этих пунктов! Какие роли надо добавить, чтобы появилось? Благодарю за помощь. |
|||
1
Мимохожий Однако
12.02.22
✎
08:03
|
Добавь роль Администратор. Зайди под пользователем. Убери панели. Выйди. Убери роль Администратор.
Возможно, есть варианты программного решения. Но если на коленках, то есть вероятность успеха. |
|||
2
Гений 1С
гуру
12.02.22
✎
08:34
|
(0) можно программно расширением указать начальную страницу.
|
|||
3
Мимохожий Однако
12.02.22
✎
08:49
|
(2) ТС хочет убрать ПАНЕЛИ.
|
|||
4
acht
12.02.22
✎
08:58
|
(0) РежимОсновногоОкнаКлиентскогоПриложения посмотри
|
|||
5
dmt
12.02.22
✎
09:07
|
Программно убрать панели:
НастройкиИнтерфейса = ХранилищеСистемныхНастроек.Загрузить("Общее/НастройкиИнтерфейсаКлиентскогоПриложения"); НастройкиСостава = НастройкиИнтерфейса.ПолучитьСостав(); НастройкиСостава.Лево.Очистить(); НастройкиСостава.Верх.Очистить(); НастройкиСостава.Низ.Очистить(); НастройкиСостава.Право.Очистить(); НастройкиИнтерфейса.УстановитьСостав(НастройкиСостава); ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиИнтерфейсаКлиентскогоПриложения", , НастройкиИнтерфейса); Потом перезапуск 1с |
|||
6
acht
12.02.22
✎
09:09
|
(5) Если это вставить в обработку начала сеанса, то перезапуск не нужен.
|
|||
7
dmt
12.02.22
✎
09:23
|
(6) гуд!
|
|||
8
Гений 1С
гуру
12.02.22
✎
09:23
|
тут такая засада, что все что доступно пользователю, он может открыть по перейти по ссылке. И это отключить нельзя, спасибо Управляемым Формам за это. ;-)
|
|||
9
acht
12.02.22
✎
09:27
|
(8) Гыгыгеня, иди перди в лужу в другой теме.
Речь идет не об ограничении пользователя, а по организации внещнего вида рабочего места. |
|||
10
Фрэнки
12.02.22
✎
09:34
|
Ну хорошо, как убрать лишние панели - ответили.
Можно и вручную убрать из какого-то пользователя все это и затем ее же подгрузить. Просто подозреваю, что код из 5 без обвязки у любого сеанса снесет всё, что там есть, а это вроде не просили делать. А вот как затолкать свою произвольную обработку в вызов на начальной странице есть где-то описание, не попадалось? |
|||
11
pechkin
12.02.22
✎
09:37
|
если нужна 1 форма, то можно режим киоска или рабочего стола
|
|||
12
Фрэнки
12.02.22
✎
09:53
|
(11) в смысле, достаточно это в обработке указать и она зацепится?
надо будет попробовать |
|||
13
Sevish
12.02.22
✎
10:13
|
(5) Благодарю! Как раз попробую вставить это в "&После" при запуске клиента и повесить на роль.
Осталось решить вторую задачу - на начальной панели открыть только мою обработку. |
|||
14
acht
12.02.22
✎
10:35
|
(13) > только мою обработку
Это не через "начальную панель", это через РежимОсновногоОкнаКлиентскогоПриложения |
|||
15
Sevish
12.02.22
✎
12:26
|
И так,
&После("УстановкаПараметровСеанса") Процедура расш_УстановкаПараметровСеанса(ИменаПараметровСеанса) Если (РольДоступна("ТолькоНачальнаяПанель")) Тогда НастройкиИнтерфейса = ХранилищеСистемныхНастроек.Загрузить("Общее/НастройкиИнтерфейсаКлиентскогоПриложения"); НастройкиСостава = НастройкиИнтерфейса.ПолучитьСостав(); НастройкиСостава.Лево.Очистить(); НастройкиСостава.Верх.Очистить(); НастройкиСостава.Низ.Очистить(); НастройкиСостава.Право.Очистить(); НастройкиИнтерфейса.УстановитьСостав(НастройкиСостава); ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиИнтерфейсаКлиентскогоПриложения", , НастройкиИнтерфейса); КонецЕсли; КонецПроцедуры Удалило все панели, отлично!!! Ещё раз спасибо! |
|||
16
pechkin
12.02.22
✎
12:31
|
(15) но почему установка параметров сеанса? Этож для каждого параметра будет срабатывать.
Хотя бы проверяй тогда что имя параметра на задано |
|||
17
Фрэнки
12.02.22
✎
12:35
|
(16) меня больше корежит, когда ради такой фигни "ломают" замок на конфигурации, при том, что это КА 2.5
Достаточно громоздкая и тяжелая конфа, а ведь там если ломают замок, но при этом не снимают конфу с сопровождения то тянут ее тянут, громоздкую, тяжелую для обновления из релиза в релиз, как с кандалами на ногах. Костыльный способ программирования. |
|||
18
acht
12.02.22
✎
12:38
|
(16) > установка параметров сеанса
Потому что оно гарантировано срабатывает перед началом работы приложения, до того как эти настройки прочитаются и будут использованы. Это позволяет сбросить настройки, накликанные хитрым пользователем, в исходное сотостояние без дополнительного рестарта клиента 1С. |
|||
19
acht
12.02.22
✎
12:38
|
Про проверку на пустоту имен согласен, надо проверить.
|
|||
20
Sevish
12.02.22
✎
12:39
|
Я не ломал, видно же, что через расширение :)
|
|||
21
Фрэнки
12.02.22
✎
12:42
|
(20) но я не имеел ввиду конкретно тебя... так просто под настроение попалось видимо.
А подумал про сломанную конфу из-за вот этой строчки РольДоступна("ТолькоНачальнаяПанель") В ней не видно, что это добавлено в расширении. |
|||
22
Sevish
12.02.22
✎
12:43
|
Понял :) Нет, это то же в расширении, просто для красоты не стал там писать "расш_" :)
|
|||
23
Фрэнки
12.02.22
✎
12:46
|
Чтоб не просто критиковать, но предлагать
Как я обычно делаю: Для установки пользователю каких-то фишек надо просто определить его принадлежность к какой-то группе. Не на отдельно взятую уникальную роль ему нацепить нечто, а именно в Группу доступа. Если входит он в определенную группу, то можно с этим как-то работать. Все-таки наличие Ролей оно немного ниже и глубже, чем управление интерфесным наполнением начальной страницы И даже сам термин, который исторически на эту функционалность прилип - ну вот исторически так сложилось, да. И замену этому термину не подберешь просто так. Но группа доступа как-то выше и ближе к пользователю, чем запрятанные где-то внутри профилей роли. Ради одной единственной проверки - Роль, затем Профиль, а затем еще и группу доступа... Так зачем делать отдельные Роли и отдельные Профили, когда можно просто склонировать подходящую Группу доступа, но переименовать ее. |
|||
24
Sevish
12.02.22
✎
12:49
|
В итоге для решения задачи в расширении создал роль и обработку.
Добавил в расширение процедуру модуля приложения: &Перед("ПередНачаломРаботыСистемы") Процедура ФиП_И_ПередНачаломРаботыСистемы() КлиентскоеПриложение.УстановитьРежимОсновногоОкна(РежимОсновногоОкнаКлиентскогоПриложения.ПолноэкранноеРабочееМесто); КонецПроцедуры Добавил в расширение процедуру модуля сеанса &После("УстановкаПараметровСеанса") Процедура ФиП_И_УстановкаПараметровСеанса(ИменаПараметровСеанса) Если (РольДоступна("ТолькоНачальнаяПанель")) Тогда //Убираем все панели НастройкиИнтерфейса = ХранилищеСистемныхНастроек.Загрузить("Общее/НастройкиИнтерфейсаКлиентскогоПриложения"); НастройкиСостава = НастройкиИнтерфейса.ПолучитьСостав(); НастройкиСостава.Лево.Очистить(); НастройкиСостава.Верх.Очистить(); НастройкиСостава.Низ.Очистить(); НастройкиСостава.Право.Очистить(); НастройкиИнтерфейса.УстановитьСостав(НастройкиСостава); ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиИнтерфейсаКлиентскогоПриложения", , НастройкиИнтерфейса); //Размещаем единственную обработку на начальной странице НастройкиНачальнойСтраницы = Новый НастройкиНачальнойСтраницы; СоставФорм = Новый СоставФормНачальнойСтраницы; СоставФорм.ЛеваяКолонка.Добавить("Обарботка.РабочийСтол.Форма.Форма"); НастройкиНачальнойСтраницы.УстановитьСоставФорм(СоставФорм); ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиНачальнойСтраницы", , НастройкиНачальнойСтраницы); КонецЕсли; КонецПроцедуры Результат просто отличный, всех благодарю! PS: у пользователя будет в обработке 2-3 закладки для работы с разными задачами, с большими полями и кнопками под сенсорный экран, ну а создание необходимых документов программное, есть отдельный пользователь, который потом уже в нормальном интерфейсе проверяет прошедший день по отчетам. |
|||
25
Sevish
12.02.22
✎
16:44
|
немного лоханулся, поэтому поправочка:
&Перед("ПередНачаломРаботыСистемы") Процедура ФиП_И_ПередНачаломРаботыСистемы() Если (ФункцииОбщиеСервер.ЭтаРольДоступна("ТолькоНачальнаяПанель")) Тогда КлиентскоеПриложение.УстановитьРежимОсновногоОкна(РежимОсновногоОкнаКлиентскогоПриложения.ПолноэкранноеРабочееМесто); КонецЕсли; КонецПроцедуры Общий модуль в расширении (сервер, вызов сервера). |
|||
26
pechkin
12.02.22
✎
21:32
|
(18) есть же событие перед началом
|
|||
27
acht
12.02.22
✎
21:52
|
(26) Это поздно. В этот момент клиенсткая часть уже прочитала и применила настройки.
|
|||
28
Гений 1С
гуру
12.02.22
✎
22:11
|
(15) тока пользователь может их руками себе заново настроить, приколись.
|
|||
29
acht
12.02.22
✎
22:12
|
(28) Гыгыгеня, иди перди в лужу в другой теме.
Речь идет не об ограничении пользователя, а по организации внещнего вида рабочего места. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |