| 
    
            
         
         | 
    
  | 
Настроить интерфейс пользователя (нет возможности) | ☑ | ||
|---|---|---|---|---|
| 
    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) Гыгыгеня, иди перди в лужу в другой теме.
 
        Речь идет не об ограничении пользователя, а по организации внещнего вида рабочего места.  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |