Как скрыть подсистему в 1с
Статья входит в цикл «Первые шаги в разработке на 1С». В ней мы продолжаем знакомиться с управляемым интерфейсом «Такси» и приступаем непосредственно к его конфигурированию.
Как известно, разработка интерфейса информационной базы начинается с создания структуры его меню, ведь насколько удобным и логичным оно будет, настолько понятным пользователю будет вся система в целом.
Прочитав статью, вы узнаете:
- Какую роль в формировании структуры меню играет подсистема?
- Как сформировать разделы меню 1-го и 2-го уровня?
- Как настроить состав команд, отображаемых в разделах меню?
- Для чего нужен редактор Командного интерфейса и как с ним работать?
- Как настроить Командный интерфейс основного раздела?
Применимость
В статье рассматривается интерфейс «Такси» конфигурации, разработанной на платформе 1C 8.3.4.496. Информация актуальна для текущих релизов платформы.
Подсистемы. Настройка интерфейса с помощью подсистем
Подсистемы относят к общим объектам. Они обеспечивают возможность классификации объектов конфигурации по Подсистемам.
Для указания принадлежности объекта к подсистемам в Окне редактирования объекта существует соответствующая закладка, на которой флагами отмечается, к каким подсистемам относится объект.
В дальнейшем можно выстроить фильтр дерева объектов по Подсистемам.
При этом имеется возможность управления: включать для выбранных Подсистем объекты подчиненных Подсистем и родительских Подсистем или нет.
Классификация объектов по Подсистемам создает удобство при создании Ролей.
Для объекта Роль можно определить соответствующие права и указать, что данную Роль можно построить только по тем объектам, которые входят в выбранные Подсистемы.
Похожим образом Подсистемы используются при создании Интерфейсов. Интерфейсы нужны только в том случае, если конфигурация запускается в режиме Обычного приложения.
Классификация объектов по Подсистемам используется также при объединении конфигураций. Т.е. можно объединять объекты, отфильтрованные по Подсистемам.
Важное предназначение Подсистем состоит в том, что от них строится командный интерфейс конфигурации в режиме Управляемое приложение. Подсистемы первого уровня определяют Панель разделов.
Для существующих Подсистем можно определять вложенные (подчиненные). Данные Подсистемы будут образовывать группы Панели навигации.
Не рекомендуется создавать подсистемы с уровнем вложенности больше двух, так как в противном случае интерфейс будет сложно читаемым.
Когда мы классифицируем объект по Подсистемам, возможно включить объект только во вложенную Подсистему, возможно в Подсистему первого уровня, возможно и в ту и в другую.
В последнем случае объект будет отображаться дважды: и внутри вложенной Подсистемы и отдельно в Панели навигации. В большинстве случаев это не совсем правильно.
В принципе, Подсистемы являются не обязательным объектом. Т.е. конфигурация, разработанная на Платформе 8.3, вполне сможет работать без каких-либо Подсистем.
Но в этом случае Панели разделов вообще не будет, все будет отображаться на Рабочем столе. Очень простые конфигурации с малым набором объектов смогут работать и без Подсистем.
Но если в конфигурации достаточно много Документов, Справочников и Регистров, использование Подсистем существенно облегчает работу пользователя.
Отметить, что некоторый объект конфигурации принадлежит какой-либо Подсистеме можно тремя способами.
Во-первых, это можно сделать в Окне редактирования объекта на закладке Подсистемы. Данный вариант мы уже рассматривали.
Во-вторых, можно использовать Окно редактирования самой Подсистемы. На закладке Состав можно указать объекты, входящие в данную Подсистему.
И наконец, для объектов конфигурации через контекстное меню можно вызвать специальное диалоговое окно, которое называется Дополнительно.
Данное окно также позволяет для объекта отмечать принадлежность к Подсистемам. Это окно используется в том случае, если мы хотим сразу поработать с несколькими объектами.
При перемещении курсора по объектам дерева конфигурации в окне Дополнительно высвечивается соответствующая информация по подсистемам.
При создании объекта конфигурации по умолчанию Платформа 8.3 не проставляет привязку объекта ни к какой подсистеме.
Т.е. разработчик должен сам зайти на эту закладку и проставить соответствующие галочки.
Если разработчик этого не выполнит, то система определит отсутствие принадлежности к Подсистемам как ошибку.
Но ошибка не является критичной, поэтому с этим можно согласиться.
Фактически система справочно сообщает о том, что, возможно, Вы забыли включить новые объекты в Подсистемы. В этом случае объекты не будут отображаться в командном интерфейсе.
К таким объектам пользователь может обратиться только через Главное меню, используя команду Все функции.
Естественно, чтобы объект возможно было открыть, необходимо, чтобы пользователю были предоставлены соответствующие права.
Существует ряд случаев, когда разработчикам удобнее включать добавленные в типовую конфигурацию объекты в свою отдельную подсистему.
Для Подсистем в Окне редактирования можно снять флаг Включать в командный интерфейс.
При этом Подсистемы не будут отображаться в командном интерфейсе. Если нет ни одной Подсистемы, которая должна быть включена в командный интерфейс, то для новых объектов Платформа 8.3 не проверяет принадлежность к какой-либо подсистеме.
Для того, чтобы настроить состав команд, которые включаются в соответствующий раздел, определяемый подсистемой, существует специальный редактор.
Данный редактор можно вызвать из окна редактирования Подсистемы нажатием на кнопку Командный интерфейс (на закладке Основные).
Можно для каждой Подсистемы вызвать данный редактор. Из редактора имеется возможность управлять открытием списков в Панели навигации, доступностью команд в Панели действий.
По умолчанию флажки для команд по созданию элементов Справочников и Документов сняты, но их можно проставить. В Панели действий можно также открывать отчеты.
Элементы в редакторе можно перемещать. При этом из Панели навигации в Панель действий и в обратном направлении перемещение невозможно. Перемещать элементы можно либо внутри Панели навигации, либо внутри Панели действий.
Существуют колонка общей видимости и колонки видимости по ролям. Для каждой роли, определенной в конфигурации, будет своя колонка. То значение, которое установлено в колонке общей видимости, является значением по умолчанию для видимости по ролям.
Видимость по ролям может принимать три значения: либо для данной роли элемент будет невидимым (1); либо будет виден всегда, не зависимо от того, какой флаг выставлен в колонке видимости (2); либо флаг видимости по роли будет наследоваться от флага общей видимости (3).
Если пользователю назначены две роли и для одной их них указан флажок, а для другой нет, то будет работать стандартное правило системы 1С:Предприятие 8 – действие пользователю разрешено, если оно разрешено в одной из ролей.
Иногда бывает необходимо сразу менять командный интерфейс в нескольких Подсистемах. В платформе 1C:Предприятие 8 существует сервисный инструмент, который позволяет редактировать командный интерфейс сразу нескольких Подсистем.
Данный инструмент вызывается из контекстного меню корневого узла ветки Подсистемы.
В открывшемся окне можно быстро перемещаться по Подсистемам и редактировать командные интерфейсы. Кроме того, в данном окне можно редактировать состав Подсистемы. Также можно перемещать объекты в Панели навигации и Панели действий.
Кроме того, можно даже изменить подчиненность Подсистемы. Для этого есть специальная кнопка Переместить подсистему.
Чтобы настроить командный интерфейс Основного раздела также используется редактор командного интерфейса.
Вызывается он уже не для Подсистем, а через контекстное меню корневого узла конфигурации, пункт Открыть командный интерфейс основного раздела.
В открывшемся окне мы можем указывать: какие Справочники, Документы и другие объекты входят в данный командный интерфейс. Также можно включать их видимость и управлять видимостью по ролям.
Следует иметь в виду, что при удалении Подсистем Платформа, к сожалению, не проверяет: входит ли в данную подсистему хоть один объект или не входит.
На этом завершим наше знакомство с настройкой структуры меню информационной базы. В следующей статье мы продолжим наше знакомство с Управляемым интерфейсом и рассмотрим, какие возможности предоставляет платформа «1С:Предприятие 8» для работы со списками.
PDF-версия статьи для участников группы ВКонтакте
Статья в PDF-формате
В управляемом приложении платформы 1С 8.2, а потом и 1С 8.3 имеется возможность формировать интерфейс приложения по подсистемам. В этой статье мы разберем основные принципы создания подсистем в 1С 8.3.
Как добавить подсистему в 1С
Прежде чем мы перейдем к вопросам связи подсистем управляемого приложения 1С и интерфейса 1С, научимся добавлять подсистемы в 1С. Делается это, конечно же, в конфигураторе 1С.
В конфигураторе 1С необходимо открыть дерево конфигурации, развернуть ветку Общие, и выделить мышкой ветку Подсистемы.
После этого, необходимо вызвать правой кнопкой мышки контекстное меню и нажать на кнопку Добавить этого меню.
У вас будет создана верхняя подсистема, которая сразу же появится в ветке конфигурации Подсистемы.
В поле имя вы можете внести имя подсистемы. А в поле синоним, то название, которое будет отображаться в интерфейсе. В ветке конфигурации название подсистемы поменяется автоматически.
Все подсистема добавлена, но это только малая часть работы.
Объекты подсистемы 1С
Если мы оставим всё как есть, то у наша подсистема в интерфейсе будет пустая. Для того, чтобы она была заполнена чем-либо, необходимо в эту подсистему добавить объекты. Делается это на закладке Состав, где в верхнем окне вы флажками отмечаете те объекты, которые должны войти в вашу подсистему.
В нижнем окне отмеченные объекты появятся автоматически.
После этого, ваша подсистема появится в пользовательском режиме 1С: Предприятия, и будет заполнена навигационными ссылками (команды навигации) выбранных выше объектов, посредством которых мы сможем перейти в форму списка нужного вам объекта (если отмечены документы и справочники).
Отображение подсистем в пользовательском режиме
У подсистем имеется свойство, которое отвечает за их отображение в командном интерфейсе 1С:Предприятия. Это свойство называется «Включать в командный интерфейс» (расположено на закладке Основные), и если выключить это свойство, то эта подсистема не будет отображаться в командном 1С:Предприятии. По сути, это свойство отвечает за видимость подсистемы в пользовательском режиме 1С.
Если мы выключим это свойство у какой-то подсистемы, то при наличии других подсистем, мы отключенную подсистему в командном интерфейсе не увидим (я сделал «за кадром» ещё одну подсистему НСИ). Именно отключение этого свойства, как правило, бывает причиной ошибки «подсистема не отображается в 1С».
Иконки подсистем 1С
Обычно подсистемы в 1С отображаются в виде стандартной иконки своеобразного круга, но разработчик может самостоятельно привязывать нужные иконки к подсистемам. Для этого сначала необходимо добавить стандартную общую картинку. Чтобы сделать это, нужно выделить ветку Общие картинки ветки общие, вызвать контекстное меню и выполнить команду «Добавить».
После этого, откроется окно общей картинки, где нужно ввести название, синоним, и, нажав на кнопку «Выбрать из файла», выбрать нужную картинку, которая хранится на Вашем компьютере
Если всё хорошо, то выбранная картинка отобразится в окошке формы.
После этого, вам необходимо открыть подсистему, картинку которой вы хотите добавить. На форме конструктора подсистемы нас интересует свойство Картинка (закладка Основные).
У этого свойства нажимаем на кнопку «…», откроется окно выбора картинок, где мы выберем ранее нами добавленную картинку, которая расположена в закладке «Из конфигурации».
После этих действий, нужная название общей картинки появится в свойстве Картинка подсистемы.
И также в пользовательском режиме.
Настройка подсистемы 1С
Уже сформированную подсистему 1С можно настроить так, чтобы она наиболее оптимально отображалась конечному пользователю.
Делается это в командном интерфейсе подсистемы. Для того, чтобы туда попасть, необходимо нажать на кнопку «Командный интерфейс» конструктора подсистемы (на закладке Основные).
Откроется командный интерфейс подсистемы, который вы можете изменять на свое усмотрение.
Например, мы можем «перетащить» документ в Важное, и отключить один справочник (снять флаг Видимость этого объекта). А также добавить команду на создание документа.
После нажатия кнопки ОК и обновления базы, командный интерфейс меню подсистемы изменится.
Таким образом разработчик может настраивать интерфейс 1С: Предприятия, так, как он считает, наиболее оптимально для пользователя.
Подчиненная подсистема 1С
По мимо подсистем верхнего уровня можно создавать подчиненные им подсистемы. Для создания подчиненной подсистемы, необходимо выделить нужную подсистему верхнего уровня, вызвать контекстное меню, в открывшемся меню развернуть подменю Добавить, в котором нужно выполнить команду Подчиненная подсистема.
Откроется знакомый конструктор подсистемы, где нужно ввести название и синоним этой подчиненной подсистемы. Сразу же новая подсистема отобразится в иерархии подсистем, как объект подчиненный верхней подсистеме (которая была выделена при добавление подчиненной).
Также, как добавляли объекты в подсистему верхнего уровня, включим нужные объекты в новую подчиненную подсистему.
Если мы сейчас сохраним конфигурацию, и обновим интерфейс, то внешний вид меню подсистемы поменяется – добавится новая группа.
Другие статьи по вопросам конфигурирования
Подробно вопросы разработки подсистем рассмотрены в книге «Основы разработки в 1С: Такси. Разработка управляемого приложения за 12 шагов». Эта книга станет настоящим подспорьем для тех, кто только начал знакомиться с разработкой управляемого приложения.
- Без сложных технических терминов;
- Более 600 страниц практического материала;
- Каждый пример сопровождается рисунком (скриншот);
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
Эти книги плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
В предыдущей статье мы научились создавать подсистемы 1С, а в этой статье научимся, как при помощи подсистем можно настраивать интерфейс пользовательского приложения.
Ссылка на предыдущую статью: подсистемы в 1С.
Для написания статьи я использовал учебную базу из книги «Основы разработки в 1С: Такси» со следующими подсистемами.
Свойство конфигурации «Командный интерфейс»
Мы можем самостоятельно конфигурировать расположение подсистем в пользовательском режиме. Делается это в свойстве конфигурации «Командный интерфейс». Для того, чтобы попасть в это свойство, необходимо вызвать контекстное меню конфигурации (выделить самый верхний узел конфигурации, и вызвать правой кнопкой мышки контекстное меню), в этом контекстном меню интересует команда «Свойства».
После выполнения команды «Свойства» контекстного меню, откроется палитра свойств конфигурации, где нас интересует свойство «Командный интерфейс».
После нажатия гиперссылки «Открыть» этого свойства, откроется окно командного интерфейса. В этом окне мы можем передвигать иконки подсистем, настраивать общее отображение (колонка Видимость), и настраивать отображение по ролям (колонка соответствующей роли).
Заметьте, у колонок ролей могут быть «серые» флажки, это значит, что если у роли установлен такой «серый» флажок, то для данной роли у подсистемы будет такая же видимость, которая установлена в колонке Видимость.
В этом случае роль Администратор будет видеть подсистему Закупки
Если мы отключим видимость подсистемы в свойстве Командный интерфейс, то ее в пользовательском режиме по умолчанию видно не будет (мы отключили подсистему Закупки).
Но пользователь, может включить её. Для этого нужно зайти в настройку панелей разделов.
Для платформы версий 8.15 и выше
Для платформы версий ниже 8.15.
И в открывшемся окне «Настройка панелей разделов», при помощи кнопки «Добавить» переместить нужный раздел в список «Выбранные раздел». В этом же списке вы можете перемещать разделы между собой по своему усмотрению.
Если же мы хотим, чтобы подсистема вообще не была доступна пользователю. То необходимо отключить у нужной роли право на просмотр этой подсистемы.
Для этого открываем дополнительные настройки отключаемой для роли подсистемы.
В этих дополнительных настройках нас интересует закладка Права, где у нужной роли необходимо снять флаг с права Просмотр.
После этого, пользователь не увидит эту подсистему, и не сможет добавить её, используя настройку панелей разделов.
Командный интерфейс подсистемы
Мы можем настраивать видимость нужной нам подсистемы при помощи командного интерфейса. Есть два способа попасть в командный интерфейс подсистемы.
Используя кнопку «Командный интерфейс» в редакторе подсистемы.
Используя команду «Открыть командный интерфейс» контекстного меню подсистемы.
В командном интерфейсе подсистемы по умолчанию существует всего 6 групп: три группы команд навигации (панель навигации), и три группы команд действий (панель действий).
Вы можете перемещать команды навигации между группами команд навигации, и перемещать команды действий между группами команд действий. Но команду навигации нельзя переместить в группу команд действий. И наоборот, команду действия нельзя переместить в команду навигации.
Перемещать команду внутри группы можно при помощи кнопок контекстного меню (для этого нужно выделить нужную команду).
После перемещения команды, в названии группы команд появится словосочетание «Ручной порядок».
Если вы хотите вернуть расположение команд, как было по умолчанию, то необходимо выделить нужную группу, вызвать контекстное меню и выполнить команду «Восстановить автоматический порядок».
Если вы хотите, чтобы команда располагалась в другой группе, то можно мышкой «перетащить» эту команду в нужную группу.
Или воспользоваться иконкой команды на верхней панели.
После тех или иных действий, команда переместится в нужную группу.
В командном интерфейсе подсистемы имеются также колонка Видимость и колонки видимости по ролям.
Флажки в этих колонках отвечают за видимостью команд подсистемы.
Если флаг снят у соответствующей команды в колонке Видимость, то пользователь не увидит эту команду в интерфейсе подсистемы. У колонок ролей имеется возможность установить «серый» флаг. Это значит, что видимость этой команды для данной роли будет такая, какая установлена по умолчанию в колонке «Видимость».
Например, в этом случае, роль не будет видеть команду.
В случае остальных состояний флага, все точно также как и для колонки Видимость.
Стоит флаг – пользователь с этой ролью видит команду.
Флаг снят – не видит.
Но в тоже время, если видимость на какую-либо команду снята в командном интерфейсе подсистемы в конфигураторе 1С, то её можно установить обратно в пользовательском режиме.
Для этого необходимо зайти либо в настройки навигации, либо в настройки действий подсистемы в пользовательском режиме, в зависимости от того видимость какой команды (навигации или действий) вы хотите установить.
Откроется окно настроек, где можно переместить выбранную команду или при помощи кнопки «Добавить», или мышкой.
После перемещения команды
Она появится в командном интерфейсе подсистемы.
Команда «Все подсистемы»
У разработчика имеется возможность посмотреть на командный интерфейс всех подсистем сразу. Для этого необходимо выделить корневой узел ветки Подсистемы, вызвать контекстное меню, в котором выполнить команду «Все подсистемы»
После этого откроется окно «Все подсистемы», где вы можете работать со всеми подсистемами сразу.
Заметьте, если у подсистемы имеются подчиненные подсистемы, то в этом окне вы можете посмотреть, как всё выглядит в иерархии. На скрине выше это наглядно показано. Что нельзя сделать в командном интерфейсе отдельной подсистемы.
Также, в этом окне вы можете редактировать состав нужной вам подсистемы.
В остальном настройки похожи: можно перемещать команды между группами внутри подсистемы, устанавливать видимость и т.д.
Другие статьи по вопросам конфигурирования
Подробно вопросы разработки подсистем рассмотрены в книге «Основы разработки в 1С: Такси. Разработка управляемого приложения за 12 шагов». Эта книга станет настоящим подспорьем для тех, кто только начал знакомиться с разработкой управляемого приложения.
- Без сложных технических терминов;
- Более 600 страниц практического материала;
- Каждый пример сопровождается рисунком (скриншот);
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
Эти книги плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Как программно запустить выполняемую команду в командной строке
Всем привет. Вопрос в следующем,есть выполняемая строка "netsh wlan show interface".Я ее запускаю в.
Как программно скрыть запрос в Access2000?
Подскажите как программно скрыть запрос в Access2000, т.е. присвоить атрибут Hidden?
Как программно запустить на выполнение команду из подменю контекстного меню
Подскажите, пожалуйста, как программно запустить на выполнение команду из подменю контекстного.
Как программно выполнить команду консольного приложения, запущенного CreateProcess?
Посылаю команду консольному приложению, которая выполняется только после закрытия хэндла = закрытия.
Кнопке выствить видимость в зависимости от ролей. Не так не получиться, это общая команда документа, я так тоже хотел в начале, она на форме нигде не отображается.
Нашел ее в другой группе, у группы "Командная панель" формы снята была галочка автозаполнения, а вот все кнопки появляись в БСПшной группе "Команды формы", и там то я ее и нашел Так встать на эту команду в древе конфигуратора и настроить видимость. Должно сработать
Как программно (через команду, макрос, . ) синхронизировать каталоги (папки)?
Есть две папки со множеством файлов и, возможно (необязательно), поддиректориями, SOURSE и DEST.
Как программно скрыть некую программу из трея?
как можно програмно скрыть некую програму с трея? Добавлено через 14 минут могу убрать ее с.
Как скрыть столбцы и как поменять их ширину программно в MSFlexGrid 6.0?
Вопрос состоит в следующем, как скрыть столбцы и как поменять их ширину программно. Заранее.
Как программно скрыть или отобразить вкладки в TabControl
Друзья, появилась еще одна задачка! Как в visual basic скрыть отобразить одну из вкладок.
Как программно скрыть 3-4 колонки в DBGrid, используя CheckBox
Здравствуйте, подскажите, пожалуйста, как можно программно скрыть 3-4 колонки в DBGrid, используя.
Как программно скрыть или отобразить вкладки в TabControl
добавил TabControl, на нем пару вкладок, на первой вкладке ПрогрессБар, при запуске программы.
Читайте также: