Программная настройка панелей разделов

1. maxster545 15.07.19 12:00 Сейчас в теме
В конфигураторе настроены разделы панелей.
Как сделать так, чтобы у пользователей при запуске всегда открывалось в таком виде?
По теме из базы знаний
Найденные решения
2. tjurikov_ivan 213 15.07.19 12:05 Сейчас в теме
пример с сайта ИТС https://v8.1c.ru/o7/201309834/index.htm
Процедура ПриНачалеРаботыСистемы(Отказ)
	
	// Определить размеры экрана.
	Экраны = ПолучитьИнформациюЭкрановКлиента();
	
	// Для примера допускаем, что экран один.
	// Но если экранов несколько, нужно анализировать их все.
	ВысотаЭкрана = Экраны[0].Высота;
	ШиринаЭкрана = Экраны[0].Ширина;
	
	// Если экран маленький, включить только панель инструментов.
	// Если ... 
		НастройкаИнтерфейса.ВыполнитьНастройкуПанелей();
	// КонецЕсли;
	
	ОбновитьИнтерфейс();
	
КонецПроцедуры

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

	// Если же хотим менять настройки, которые установил пользователь себе, 
	// тогда нужно прочитать его настройки из хранилища, и метод ПолучитьСостав()
	// вернёт не то, что в конфигураторе, а то, что пользователь установил себе.
	//
	// НастройкиИнтерфейса = ХранилищеСистемныхНастроек.Загрузить("Общее/НастройкиИнтерфейсаКлиентскогоПриложения");
	// НастройкиСостава = НастройкиИнтерфейса.ПолучитьСостав();	
	// ... изменть настройки состава
	// НастройкиИнтерфейса.УстановитьСостав(НастройкиСостава);
	// ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиИнтерфейсаКлиентскогоПриложения", , НастройкиИнтерфейса);
	
КонецПроцедуры
Показать
adhocprog; DrAku1a; assa; +3 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. tjurikov_ivan 213 15.07.19 12:05 Сейчас в теме
пример с сайта ИТС https://v8.1c.ru/o7/201309834/index.htm
Процедура ПриНачалеРаботыСистемы(Отказ)
	
	// Определить размеры экрана.
	Экраны = ПолучитьИнформациюЭкрановКлиента();
	
	// Для примера допускаем, что экран один.
	// Но если экранов несколько, нужно анализировать их все.
	ВысотаЭкрана = Экраны[0].Высота;
	ШиринаЭкрана = Экраны[0].Ширина;
	
	// Если экран маленький, включить только панель инструментов.
	// Если ... 
		НастройкаИнтерфейса.ВыполнитьНастройкуПанелей();
	// КонецЕсли;
	
	ОбновитьИнтерфейс();
	
КонецПроцедуры

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

	// Если же хотим менять настройки, которые установил пользователь себе, 
	// тогда нужно прочитать его настройки из хранилища, и метод ПолучитьСостав()
	// вернёт не то, что в конфигураторе, а то, что пользователь установил себе.
	//
	// НастройкиИнтерфейса = ХранилищеСистемныхНастроек.Загрузить("Общее/НастройкиИнтерфейсаКлиентскогоПриложения");
	// НастройкиСостава = НастройкиИнтерфейса.ПолучитьСостав();	
	// ... изменть настройки состава
	// НастройкиИнтерфейса.УстановитьСостав(НастройкиСостава);
	// ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиИнтерфейсаКлиентскогоПриложения", , НастройкиИнтерфейса);
	
КонецПроцедуры
Показать
adhocprog; DrAku1a; assa; +3 Ответить
3. maxster545 15.07.19 13:42 Сейчас в теме
(2) хм, НастройкиИнтерфейсаКлиентскогоПриложения доступно на сервере.
ПриНачалеРаботыСистемы - выпоняется на клиенте и при перехаоде к серверной процедуре выдаёт ошибку.
4. tjurikov_ivan 213 15.07.19 18:55 Сейчас в теме
(3)Нужно в модуле управляемого приложения вызвать функцию общего модуля "На Клиенте", а из него вызвать общий модуль с "Вызов сервера"
5. maxster545 16.07.19 12:44 Сейчас в теме
(4) получилось, спасибо!
6. user818703 04.04.24 14:53 Сейчас в теме
Пытаюсь сделать это через настройки
НастройкиИнтерфейса = ХранилищеСистемныхНастроек.Загрузить("Общее/ПанельРазделов/НастройкиКомандногоИнтерфейса");

Как можно управлять панелями разделов программно
но не знаю какие там методы есть. Через НастройкиИнтерфейса может только скрыть панели, а мне нужно конкретно одну панель скрыть от пользователей.
Оставьте свое сообщение

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