Конечно, вы можете найти очень полезный источник вдохновения в Microsoft Office, поскольку это где-то стандарт (стандарт?).
В зависимости от типа формы, которую вы используете, я думаю, вы могли бы установить некоторые основные правила, где, например, формы ввода данных будут иметь базовое меню, такое как validate \ quit \ refresh \ отказаться от \ print \ export to excel \ filter \ заказать по \ и т.д. Такие меню (назовем их " Standard ") будут идеально доступны в элементах управления "Файл" и \ или "Редактировать" и \ или "Просмотр", придерживаясь стандартных меню Office (даже Firefox использует это терминология).
Я бы посоветовал вам всегда отобразить это стандартное меню, даже если некоторые действия не всегда доступны для тех или иных форм. Просто представьте, что данные, содержащиеся в одной из ваших форм, не могут быть обновлены при определенных обстоятельствах: вы все равно можете отобразить отключенную версию значка «проверить» вместо того, чтобы сделать ее невидимой. Это определенно облегчит понимание конечного пользователя.
Как только этот стандартный список меню / опций будет создан, я полагаю, вы обнаружите два других основных семейства меню, меню " Подробности " и действия " * ". "Меню:
- Подробности Меню позволяют перемещаться
через формы, доступ / отображение
подчиненные формы / подмножества данных, такие как
Элементы в заказе на покупку.
- Действие Меню позволяют выполнять определенные действия с данными, например, отправлять заказ на покупку.
Ваши различные меню должны быть доступны через панель команд и контекстно-зависимые ярлыки. Такие параметры, как «фильтр», можно сделать доступными на связанном уровне управления, а такие действия, как «Извлечь ПО», доступны только на уровне записи / формы.
Людям или группе людей будет разрешено или не разрешать открывать формы и / или выполнять определенные действия с этими формами
Для управления меню и правами у наших приложений есть «файл меню» по умолчанию на стороне клиента, а также таблицы «userGroup-forms» и «userGroup-actions» на стороне сервера.
- userGroup-формы таблица ссылок групп
и формы и вид списка \ изменить права
каждой группы.
- userGroup-actions таблица содержит истинное значение, когда группа имеет право на выполнение определенного действия
При подключении к базе данных пользователь идентифицируется, и его локальный файл меню обновляется, чтобы дать ему соответствующие права на просмотр / действие.
Мы явно здесь в объектно-ориентированном подходе, не так ли?