Имя: Пароль:
1C
 
Бывает панель, как "Главное" но полностью настраиваемая?
0 arsik
 
13.08.24
09:34
Избранное не очень удобно - Список не структурированный.
А хотелось бы разбить его на части.
1 Timon1405
 
13.08.24
09:51
свой АРМ в режиме рабочего стола
2 arsik
 
13.08.24
09:55
Ну может готовое кто то видел. Нагуглить такое не могу
3 Kigo_Kigo
 
13.08.24
11:37
ОбщегоНазначенияКлиентПереопределяемый
&После("ПриНачалеРаботыСистемы")
Процедура ДоработкиУХ_ПриНачалеРаботыСистемы(Параметры)
    //ОбщегоНазначенияВызовСервера.Расш1_ПроверитьРольДоступна("inv_ВнесениеКонтрагентовИДоговоровWEB");
    #Если ВебКлиент Тогда
        // Определяем "крыть" интерфейс или вернуть как было.
        //Если ОбщегоНазначенияВызовСервера.Расш1_ПроверитьРольДоступна("inv_ВнесениеКонтрагентовИДоговоровWEB") Тогда
            ОбновитьИнтерфейс = ОбщегоНазначенияВызовСервера.Расш1_ВыполнитьНастройкуПанелей(Ложь, Ложь);
            //        КлиентскоеПриложение.УстановитьРежимОсновногоОкна(РежимОсновногоОкнаКлиентскогоПриложения.ВстроенноеРабочееМесто);
            ОткрытьФорму("Обработка.Inv_СтартРедактированиеКонтрагентовИДоговоров.Форма.ОсновнаяФорма");
        //Иначе
        //    //ОбновитьИнтерфейс = ОбщегоНазначенияВызовСервера.Расш1_ВыполнитьНастройкуПанелей(Ложь, Истина);
        //КонецЕсли;
          
    #Иначе
        ОбновитьИнтерфейс = ОбщегоНазначенияВызовСервера.Расш1_ВыполнитьНастройкуПанелей(Истина, Истина);
        
        
    #КонецЕсли
    Если ОбновитьИнтерфейс Тогда
        ОбновитьИнтерфейс();
    КонецЕсли;
КонецПроцедуры




ОбщегоНазначенияВызовСервера


Функция Расш1_ВыполнитьНастройкуПанелей(ПолучатьСоставИзХранилища=Ложь, ВосстановитьНастройкуПанелей=Ложь) Экспорт
        //Возврат Ложь;
    Если ТекущийРежимЗапуска() = Неопределено Тогда  // Можно расширить условия на тип запуска и если не "тонкий, веб" то возврат.
        Возврат Ложь;
    КонецЕсли;
    
    УстановитьПривилегированныйРежим(Истина);
        
    Если ПолучатьСоставИзХранилища Тогда
        НастройкиИнтерфейса = ХранилищеСистемныхНастроек.Загрузить("Общее/НастройкиИнтерфейсаКлиентскогоПриложения");
        Если НастройкиИнтерфейса = Неопределено Тогда
            НастройкиИнтерфейса = Новый НастройкиИнтерфейсаКлиентскогоПриложения;
        Иначе    
            НастройкиСостава = НастройкиИнтерфейса.ПолучитьСостав(); // Состав не то, что в конфигураторе, а то, что пользователь установил себе.

        КонецЕсли;
    Иначе
        НастройкиИнтерфейса = Новый НастройкиИнтерфейсаКлиентскогоПриложения;
        НастройкиСостава = НастройкиИнтерфейса.ПолучитьСостав(); // С помощью пустого объекта настроек получим настройки состава, установленные в конфигураторе.

    КонецЕсли;
    Если НЕ ОбщегоНазначения.ЭтоВебКлиент()  и НЕ ПолучатьСоставИзХранилища Тогда
        //Сохраним настройку панелей
            ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиИнтерфейсаКлиентскогоПриложения", , НастройкиИнтерфейса); // Поместим объект настроек текущему пользователю в хранилище.
    КонецЕсли;
        
    
    Если НЕ ВосстановитьНастройкуПанелей Тогда
     // Очищаем настройки состава.
        
        НастройкиСостава.Верх.Очистить();
        НастройкиСостава.Лево.Очистить();
        НастройкиСостава.Низ.Очистить();
        НастройкиСостава.Право.Очистить();
        
        // Добавлем панели интерфейса
        ГруппаНастройкиСостава = Новый ГруппаНастройкиСоставаИнтерфейсаКлиентскогоПриложения;
        ГруппаНастройкиСостава.Добавить(Новый ЭлементНастройкиСоставаИнтерфейсаКлиентскогоПриложения("ПанельИзбранного"));
        ГруппаНастройкиСостава.Добавить(Новый ЭлементНастройкиСоставаИнтерфейсаКлиентскогоПриложения("ПанельОткрытых"));
        НастройкиСостава.Верх.Добавить(ГруппаНастройкиСостава);
        
        //// Очищаем избранное
        //Избранное = ХранилищеСистемныхНастроек.Загрузить("Общее/ИзбранноеРаботыПользователя");
        //Если Избранное = Неопределено Тогда
        //    Избранное = Новый ИзбранноеРаботыПользователя;
        //КонецЕсли;
        //Пока Избранное.Количество() Цикл
        //    Избранное.Удалить(0);
        //КонецЦикла;

        //
        //// Добавляем элементы в избранное
        //мНавигационныеСсылки = Новый Массив;
        //мНавигационныеСсылки.Добавить("e1cib/command/Справочник.Контрагенты.Команда.Контрагенты");
        //мНавигационныеСсылки.Добавить("e1cib/command/Справочник.ДоговорыКонтрагентов.Команда.Договоры");
        //
        //Для каждого тНвСсылка Из мНавигационныеСсылки Цикл
        //    Элемент = Новый ЭлементИзбранногоРаботыПользователя;
        //    Элемент.НавигационнаяСсылка = тНвСсылка;
        //    Избранное.Добавить(Элемент);
        //КонецЦикла;
        
       // ХранилищеСистемныхНастроек.Сохранить("Общее/ИзбранноеРаботыПользователя", "", Избранное);
          
    КонецЕсли;
    
    НастройкиИнтерфейса.УстановитьСостав(НастройкиСостава);
      //ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиИнтерфейсаКлиентскогоПриложения", , НастройкиИнтерфейса); // Поместим объект настроек текущему пользователю в хранилище.
    
    Возврат Истина;
    
КонецФункции
4 Kigo_Kigo
 
13.08.24
11:49
думаю, сам разберешься
5 Kigo_Kigo
 
13.08.24
11:49
Удаляет все панели и возвращает их обратно, также можно накидать избранное самому в любом порядке
6 arsik
 
13.08.24
14:18
(4) Ничего не понятно. Как это выглядит?
7 Kigo_Kigo
 
15.08.24
16:54
что там не понятного, это делается в расширении для общих модулей, вызывается с дерективой "&После"