Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программно открыть или скрыть подсистему
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Gigi
Всем привет!
Никто не подскажет возможно ли это и как это сделать?
Буду признателен!

Gigi @ Сегодня, 12:44 необходимо зарегистрироваться для просмотра ссылки ,
Вот код из модуля управляемого приложения:
Перем АктивнаяПодсистема;
Процедура ПриНачалеРаботыСистемы()
АктивнаяПодсистема="desktop";
//АктивнаяПодсистема="СТАТИСТИКА";
ПодключитьОбработчикОжидания("СканТекущейПодсистемы",0.1,Истина);
КонецПроцедуры

Процедура СканТекущейПодсистемы() Экспорт
ТекНавигСсылка=АктивноеОкно().ПолучитьНавигационнуюСсылку();
//-------------------------
Сообщить("Навигационная ссылка: «" + ТекНавигСсылка+"»");
Подсистема=СтрЗаменить(ТекНавигСсылка,"e1cib/navigationpoint/","");
Знак=Найти(Подсистема,"/");
Если Знак>0 Тогда
    Подсистема=Лев(Подсистема,Знак-1);
КонецЕсли;
//-------------------------
Если АктивнаяПодсистема<>Подсистема Тогда
Сообщение=Новый СообщениеПользователю;
Сообщение.Текст="Вы в подсистеме: «" + Подсистема+"»";
Сообщение.Сообщить();
АктивнаяПодсистема=Подсистема
КонецЕсли;
//ПодключитьОбработчикОжидания("СканТекущейПодсистемы",0.1,Истина);
КонецПроцедуры

Дело в том, что все это просто сообщает текущую подсистему.
А нужно программно открыть или скрыть любую указанную подсистему.
Как это сделать?
Буду весьма признателен!
ed.kharkov
Gigi @ Сегодня, 12:59 необходимо зарегистрироваться для просмотра ссылки ,
Добрый день.

ПерейтиПоНавигационнойСсылке("e1cib/navigationpoint/ИмяТвоейПодсистемы")
Gigi
ed.kharkov @ Сегодня, 13:23 необходимо зарегистрироваться для просмотра ссылки ,
Всего лишь ... очень хорошо что всего лишь одной командой... да именно ... вспомнил что такая команда есть.
Только вот еще два вопроса к тому...
1) А можно не только подсистему но перейти в указанный список в ней. На пример так
ПерейтиПоНавигационнойСсылке("e1cib/navigationpoint/СТАТИСТИКА/КомерческийУчет");

Выдает ошибку
2) Ладно! Как перейти на подсистему понятно. А как скрыть ее от пользователя?
Вот это было бы не плохо.

Gigi @ Сегодня, 13:33 необходимо зарегистрироваться для просмотра ссылки ,
Просто по поводу второго вопроса, дело в том, что мне для каких то пользователей нужно вообще убрать подсистему рабочий стол. И вместо него вывести одну или две подсистемы и все. А рабочий стол в любом случае фигурирует. Даже если убрать права на все подсистемы.
ed.kharkov
Gigi @ Сегодня, 13:33 необходимо зарегистрироваться для просмотра ссылки ,
1. КомерческийУчет - это что? Список документов?

2. Что подразумевается под "скрыть"? Убрать видимость или сделать активной другую подсистему?

Gigi @ Сегодня, 13:46 необходимо зарегистрироваться для просмотра ссылки ,
ПерейтиПоНавигационнойСсылке("e1cib/navigationpoint/ИмяПодсистемы/Справочник.ИмяСправочника.Команда.ОткрытьСписок")


ПерейтиПоНавигационнойСсылке("e1cib/navigationpoint/ИмяПодсистемы.РазделПодсистемы/Документ.ИмяДокумента.Команда.ОткрытьСписок")
Gigi
ed.kharkov @ Сегодня, 13:54 необходимо зарегистрироваться для просмотра ссылки ,
Цитата(ed.kharkov @ 17.09.18, 13:54) необходимо зарегистрироваться для просмотра ссылки
1. КомерческийУчет - это что? Список документов?

Это наименование одной из общих форм.... поэтому по первому вопросу со списком сработало. Но как вывести форму.... ту форму которая запускается из панели навигации подсистемы, через общие команды. Той команды которая запускает форму из общих форм.
Короче не знаю как правильнее. Так пробовал .... ругается.
//ПерейтиПоНавигационнойСсылке("e1cib/navigationpoint/СТАТИСТИКА/ОбщаяФорма.Отчеты_ЮлЛица.ОткрытьФорму");
А по поводу:
Цитата(ed.kharkov @ 17.09.18, 13:54) необходимо зарегистрироваться для просмотра ссылки
2. Что подразумевается под "скрыть"? Убрать видимость или сделать активной другую подсистему?

Нужно просто убрать из виду на пример несколько указанных подсистем или все кроме указанных. Все в том числе и саму подсистему "рабочий стол". А потом сделать активной одну из отображаемых.
Вот собственно что нужно!
cos12
Цитата(Gigi @ 17.09.18, 14:19) необходимо зарегистрироваться для просмотра ссылки
Нужно просто убрать из виду на пример несколько указанных подсистем или все кроме указанных. Все в том числе и саму подсистему "рабочий стол". А потом сделать активной одну из отображаемых.
Вот собственно что нужно!

Если я правильно Вас понял, то Вам нужно просто сделать настройки интерфейса, подвязаться к правам и в зависимости от прав выводит те или иные подсистемы.
ed.kharkov
Gigi @ Сегодня, 14:19 необходимо зарегистрироваться для просмотра ссылки ,
Для общей команды
ПерейтиПоНавигационнойСсылке("e1cib/navigationpoint/ИмяПодсистемы/ОбщаяКоманда.ИмяКоманды")
Gigi
cos12 @ Сегодня, 14:22 необходимо зарегистрироваться для просмотра ссылки ,
Цитата(cos12 @ 17.09.18, 14:22) необходимо зарегистрироваться для просмотра ссылки
Если я правильно Вас понял, то Вам нужно просто сделать настройки интерфейса, подвязаться к правам и в зависимости от прав выводит те или иные подсистемы.

Ну да. Только одна деталь. Нужно что бы подсистема: "рабочий стол" при этом вообще исчезла из виду. Потому, что если не программно делать то убрав права на видимость всех подсистем исчезает из виду все кроме подсистемы рабочего стола.
Нужно что бы права на просмотр некоторых подсистем действовали, но без права просмотра самого рабочего стола.
ed.kharkov
Цитата(Gigi @ 17.09.18, 14:19) необходимо зарегистрироваться для просмотра ссылки
Нужно просто убрать из виду на пример несколько указанных подсистем или все кроме указанных. Все в том числе и саму подсистему "рабочий стол". А потом сделать активной одну из отображаемых.
Вот собственно что нужно!

Можно воспользоваться функциональными опциями
Gigi
Цитата(ed.kharkov @ 17.09.18, 14:35) необходимо зарегистрироваться для просмотра ссылки
Можно воспользоваться функциональными опциями

А где эти опции. В ролях их че то нет. Даже если для указанного пользователя убрать любую форму в рабочей области начальной страницы, сама подсистема: "Рабочий стол" , хотя и пуста, но все равно видна.
ed.kharkov
Gigi @ Сегодня, 14:42 необходимо зарегистрироваться для просмотра ссылки ,
Функциональные опции подойдут для других подсистем.
Рабочий стол - это обязательный элемент интерфейса.
Gigi
ed.kharkov @ Сегодня, 14:52 необходимо зарегистрироваться для просмотра ссылки ,
Ладно! понятно. Просто у меня уже готова одна подсистема где отсутствуют списки а имеются только формы отчетов и обработок. Это для пользователей которые должны только смотреть отчеты и не более.
Все это я вывел в одну подсистему. Просто не охота делать двойную работу создавать общую форму с теми же отчетами и выводить ее в рабочий стол. Тогда как все это уже сделано в подсистеме: "СТАТИСТИКА".
Но к сожалению в 1С нельзя вывести указанную подсистему без рабочего стола. К СОЖАЛЕНИЮ!
Ладно! Спасибо!
Пока!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.