Статья Андрея Бобкова о настройке прав доступа в Аксапте 3.0.

Андрей Бобков, a-bobkov@inbox.ru

Настройка прав доступа в Аксапте 3.0

Главная цель данной статьи – помочь администратору понять функциональность настройки прав доступа к данным и функциям системы Microsoft Axapta 3.0 (далее Аксапта, тестирование проводилось на SP 2 RU), место этой функциональности среди других средств Аксапты. Также предполагалось осветить, какие трудности встречаются при настройке прав доступа и как их можно обойти.

Так как базовые понятия системы Аксапта в данной статье не определяются, рекомендуется читать ее после руководства администратора (файл Администрирование 3.0.pdf стандартной поставки Аксапты).

 

Загрузить

axapta30_security_setup.doc (503Kb, Для загрузки требуется регистрация на форуме у Mazzy)

 

Содержание

  1. Задачи, решаемые с помощью настройки прав доступа
  2. Ограничения средств настройки прав доступа
  3. Настройка прав доступа в Аксапте
    1. Дерево элементов приложения
    2. Содержание элементов приложения в дереве
    3. Описание элемента приложения
    4. Уровни доступа
    5. Установка уровня доступа для элемента приложения
    6. Экспорт, импорт и печать прав доступа
  4. Советы по настройке прав доступа
    1. Алгоритм настройки прав доступа администратором
    2. Поиск нужной формы в дереве элементов
    3. Скрытие заголовков групп полей
    4. Настройка прав доступа для форм, вызываемых программно
    5. Настройка прав доступа для отдельного интерфейсного элемента
  5. Рекомендуемые материалы
    1. Вычисление прав доступа для элементов приложения
    2. Другие средства ограничения доступа

 

1. Задачи, решаемые с помощью настройки прав доступа

Настройка прав доступа в системе Аксапта позволяет ограничить доступ пользователей:

  1. к функциональности (с точностью до пункта меню, а также элемента управления, см. 4.5);
  2. к данным (с точностью до поля таблицы и метода данных).

Ограничение доступа к функциональности дает возможность «функционального» подхода к настройке прав доступа. Администратор, следуя этому подходу, должен решить, какие функции (формы, отчеты, кнопки) может использовать пользователь. «Функциональный» подход к настройке прав доступа основан на простом принципе «если у пользователя нет доступа к соответствующей кнопке, то он не сможет ничего испортить». Имеет смысл всегда начинать настройку прав доступа с «функционального» подхода, так как он позволяет значительно упростить пользовательский интерфейс за счет уменьшения количества форм, отчетов, к которым пользователь имеет доступ.

Ограничение доступа к данным дает возможность «информационного» подхода к настройке прав доступа. Администратор, следуя этому подходу, должен решить, какой уровень доступа установить пользователю для каждой таблицы (с точностью до поля и метода данных). Этот подход, по сравнению с «функциональным», требует больших затрат времени, а также требует от администратора знания таблиц Аксапты, но позволяет обеспечить более надежную защиту данных от действий пользователя. Имеет смысл применять «информационный» подход, если требуется надежно защитить какую-то важную, конфиденциальную информацию, например, данные по зарплате. Также этот подход применяется тогда, когда несколько пользователей должны работать с одной и той же функциональностью (формами, отчетами), но с разными правами на доступ к данным в этой форме.

Можно сказать, что «функциональный» подход является средством более высокого уровня, обеспечивает более быструю и понятную, но «грубую» настройку прав доступа. «Информационный» подход является средством более низкого уровня, обеспечивает более «тонкую» настройку прав доступа, но требует больше знаний и трудозатрат.

 

2. Ограничения средств настройки прав доступа

Настройка прав доступа в Аксапте производится для элементов приложения для группы пользователей в домене (группе компаний). Это означает следующее:

  1. Если требуется какая-то особая настройка прав доступа только для одного пользователя, то для него придется создать персональную группу. Это усложнит администрирование системы (ведь реально работающие системы и без того содержат десятки групп пользователей), поэтому в этом случае лучше рассмотреть функциональность Пользовательские настройки, которая позволяет управлять видимостью и редактируемостью полей на форме персонально для пользователя. И только если этой функциональности не достаточно, нужно создавать специальную группу пользователей и настраивать для нее права доступа.
  2. Если требуется какая-то настройка прав доступа для всех пользователей сразу (вертикальные фильтры), то ее придется повторить для каждой группы пользователей. Это требуется из-за того, что в Аксапте отсутствует возможность «наследования» прав доступа от другой группы пользователей. Если бы такая возможность была, то можно было бы настроить одну группу пользователей, а для остальных указать, что они должны наследовать права доступа от нее. Пока такой возможности нет, и поэтому зачастую приходится повторять настройку прав доступа многократно, что увеличивает трудоемкость этой работы. Поэтому, если требуется какая-то настройка прав доступа для всех пользователей сразу, лучше попробовать модифицировать элементы приложения, к тому же, это надежнее. Если модифицировать элементы приложения не получилось – можно создать общую группу пользователей, включив в нее всех (см.  4.1).
  3. Если некоторый интерфейсный элемент создается программно (например, поле диалоговой формы) ограничить права доступа к нему можно только программно, например проверяя при вводе данных принадлежность пользователя определенной группе, запрашивая у пользователя пароль и т.д.
  4. Если необходимо ограничить доступ пользователей на уровне отдельных записей таблиц (горизонтальные фильтры), то это производится с помощью функциональности RLS (Record Level Security), в данной статье не рассматриваемой (см.  5.2).

 

3. Настройка прав доступа в Аксапте

Настройка прав доступа в Аксапте производится в форме Права групп пользователей (Администрирование- Настройки- Контроль доступа- Права групп пользователей). Эта форма состоит из двух закладок. На закладке Обзор необходимо выбрать одну группу пользователей, домен и перейти на закладку Права доступа. Настраивать права для нескольких групп пользователей сразу, путем выбора нескольких строк на закладке Обзор, нельзя!

Вызов формы Права групп пользователей
Рисунок 1. Вызов формы Права групп пользователей.

 

3.1. Дерево элементов приложения

На закладке Права доступа в правом окне отображается дерево элементов приложения (таблиц, пунктов меню), выбранных и сгруппированных в зависимости от значения поля Просмотр . Параметр Просмотр может принимать следующие значения:

Список элементов приложения в разрезе ключей доступа, подчиненных ключу «СНГ Основные средства»
Рисунок 2. Список элементов приложения в разрезе ключей доступа,
подчиненных ключу «СНГ Основные средства».

Слева от элемента приложения, в квадратике, отображается знак настройки прав доступа: При уровне «Нет доступа» выводится пустой квадратик, при уровне «Полный доступ» выводится галка на белом фоне, при остальных значениях – галка на сером фоне.

Слева от ключа, в квадратике, отображается знак настройки прав доступа для подчиненных ключей (элементов приложения, для терминальных ключей): если сам ключ и все подчиненные ключи (элементы) имеют уровень «Нет доступа», то выводится пустой квадратик, если сам ключ и все подчиненные имеют уровень «Полный доступ» – галка на белом фоне, в остальных случаях – галка на сером фоне.

Таким образом, галка на сером фоне слева от ключа доступа служит для привлечения внимания администратора, так как обозначает, что прав доступа для подчиненных элементов настроены нетривиально.

Список элементов приложения в разрезе меню «Главное меню».
Рисунок 3. Список элементов приложения в разрезе меню «Главное меню».

В отличие от остальных вариантов дерева, в дереве из меню выводятся только те ветки и элементы, которые видит сам администратор, настраивающий права пользователей (установлен уровень выше «Нет доступа»). Таким образом, с помощью этой функциональности, администратор не может настроить уровень доступа пользователя к элементам, на которые у него самого нет доступа.

С помощью этого дерева можно настраивать уровень доступа пользователей к пунктам меню, у которых свойство SecurityKey пустое, и следовательно, они не выводятся в дереве «Контроль доступа». В частности, в списке меню есть такие меню как Инструменты, в которых можно настроить доступ пользователей к служебным элементам функциональности, например Автоотчет, Системная дата.

 

3.2. Содержание элементов приложения в дереве

Некоторые элементы приложения в дереве можно раскрыть4:

Раскрытая форма Основные средства.
Рисунок 4. Раскрытая форма Основные средства.

Таким образом, список подчиненных элементов соответствует функциональности, которая может быть использована из формы. В таблицах, подключенных к форме в качестве источников данных, наряду с полями выводятся методы данных. Несмотря на то, что метод данных в АОТ обычно определяется для таблицы, настройка прав для метода данных производится для каждой формы, в которой он выводится и относится только к этой форме! Если требуется ограничить доступ к некоторому методу данных во всех формах, то придется найти все места во всех формах, где он выводится, вручную или с помощью перекрестных ссылок.

Дисплейные методы Занято в раскрытом источнике данных Штатное расписание.
Рисунок 5. Дисплейные методы Занято в раскрытом источнике данных Штатное расписание.

Таким образом, каждый элемент приложения может быть выведен в дереве элементов многократно, в соответствии с тем, как он используется, возможна даже рекурсия. Достаточно установить уровень доступа для любого элемента (кроме методов данных) только в одном месте, в остальных местах дерева этот уровень отобразится автоматически.

 

3.3. Описание элемента приложения

Выбрав один элемент в дереве, в окне слева от дерева можно прочитать информацию о его назначении. Выше черты выводится название и описание элемента. Ниже черты выводится полезная информация:

Ключ доступа СНГ Кадровый учет с установленным уровнем Полный доступ.
Рисунок 6. Ключ доступа СНГ Кадровый учет с установленным уровнем Полный доступ.

Для таблицы Аттестация задан уровень «Полный доступ».
Рисунок 7. Для таблицы Аттестация задан уровень «Полный доступ».

Для формы Штатное расписание задан минимальный уровень «Просмотр»
Рисунок 8. Для формы Штатное расписание задан минимальный уровень «Просмотр».

Информация для поля Дата аттестации
Рисунок 9. Информация для поля Дата аттестации.

Уровень доступа для кнопки Вверх регулируется ключом «Admin».
Рисунок 10. Уровень доступа для кнопки Вверх регулируется ключом «Admin».

 

3.4. Уровни доступа

Выбрав элемент приложения в дереве, можно установить для него нужное значение уровня доступа, с помощью переключателя правее дерева элементов. Переключатель всегда содержит пять значений: «Нет доступа», «Просмотр», «Правка», «Создание», «Полный доступ», но они не всегда доступны и их смысл зависит от типа выбранного элемента. Смысл доступных значений в зависимости от выбранного элемента приведен в Таблица 1.

 

Таблица 1. Значение уровней доступа, в зависимости от типа элемента
Тип элемента Значения уровня доступа
Нет доступа Просмотр Правка Создание Полный доступ

Форма6

Пункт меню не отображается

Форма открывается только для просмотра

Можно редактировать записи в форме7

Можно редактировать и создавать записи в форме

Можно редактировать, создавать и удалять записи в форме

Отчет

Пункт меню не отображается

Отчет запускается

---

---

---

Класс, запрос

Пункт меню не отображается

Функция запускается

Функция запускается

Функция запускается

Функция запускается

Кнопка

Кнопка не отображается

Кнопка работает

Кнопка работает

Кнопка работает

Кнопка работает

Таблица

Таблица не отображается

Таблица только отображается

Можно редактировать записи в таблице

Можно редактировать и создавать записи в таблице

Можно редактировать, создавать и удалять записи в таблице

Поле

Поле не отображается

Поле только отображается

Поле редактируется

---

---

Диплейный метод

Поле не отображается

Поле отображается

---

---

---

Метод редактирования

Поле не отображается

Поле только отображается

Поле редактируется

---

---

Если установлены различные уровни доступа для формы и ее источника данных, то при входе пользователя в систему, уровень доступа для источника данных присваивается минимальному из них.

Уровень доступа для таблицы ограничен сверху максимально возможным уровнем (указан в свойстве таблицы MaxAccessMode).

Уровень доступа для поля ограничен значением уровня доступа для его таблицы. То есть, если для таблицы установлен уровень «Просмотр», то для ее полей остаются доступными только значения «Нет доступа» и «Просмотр». Если для таблицы установлен уровень «Нет доступа», то для ее полей остается доступным только значение «Нет доступа».

Уровень доступа для поля дополнительно ограничен сверху свойствами Visible и AllowEdit. Если для поля свойство Visible установлено «No», то поле даже не показывается в дереве элементов. Если для поля свойство AllowEdit установлено «No», то доступ к полю будет разрешен только на чтение8.

Свойства поля Должность.
Рисунок 11. Свойства поля Должность.

Правила присвоения уровня доступа для элемента приложения при входе пользователя в систему более формально описаны в руководстве разработчика (см. 5.1).

Уровень доступа для ключа доступа используется для удобства настройки прав доступа, а также для определения уровня доступа для отдельных элементов форм, отчетов, меню (см. 4.5), поэтому в таблице выше не отражен.

Уровень доступа для группы полей не используется при работе пользователя с системой, а служит исключительно для удобства настройки прав доступа к полям, поэтому в таблице выше не отражен.

 

3.5. Установка уровня доступа для элемента приложения

Значение уровня доступа можно установить для каждого элемента отдельно, выбрав элемент и установив значение переключателя Доступ. Если этого не сделать, значение уровня доступа будет установлено по значению ключа доступа, которому подчинен элемент. Значение, установленное отдельно для элемента, всегда перекрывает значение уровня для любого вышестоящего элемента в дереве. Например, если для таблицы в какой-то ветке дерева вы видите значение уровня доступа «Правка», значит при работе с этой таблицей пользователь будет иметь права именно этого уровня, несмотря на то, что вышестоящие в дереве формы, ключи доступа имеют другие значения уровня доступа.

При работе пользователя, форме Основные средства будет присвоен уровень «Полный доступ».
Рисунок 12. При работе пользователя, форме Основные средства будет присвоен уровень «Полный доступ».

Можно выбрать элемент правой кнопкой мыши и указать значение уровня доступа из появившегося локального меню.

Можно выбрать в дереве сразу несколько элементов и указать для них значение уровня доступа. При этом, указанное значение будет установлено сразу для всех выбранных элементов.

Выбраны две формы с различными уровнями доступа.
Рисунок 13 . Выбраны две формы с различными уровнями доступа.

При установке значения уровня доступа для выбранного элемента, указанное значение автоматически устанавливается рекурсивно вглубь дерева, в зависимости от типа элемента:

При нажатии кнопки Каскад, значение уровня доступа, указанное для выбранного элемента устанавливается рекурсивно на все нижележащие элементы дерева и для всех этих элементов устанавливается признак, что уровень доступа был установлен отдельно.11

При нажатии кнопки Полное отключение доступа происходит установка уровня «Нет доступа» для всех ключей доступа и подчиненных им элементов. Однако, для всех элементов, не подчиненных ключам доступа, устанавливается уровень «Полный доступ». Также, при этом сбрасывается признак отдельной установки прав доступа для всех ключей и элементов.

При нажатии кнопки Установка полного доступа происходит установка уровня «Полный доступ» для всех ключей доступа и подчиненных им элементов, а также для всех элементов, не подчиненных ключам доступа. Также, при этом сбрасывается признак отдельной установки прав доступа для всех ключей и элементов.

 

3.6. Экспорт, импорт и печать прав доступа

Права выбранной группы пользователей могут быть выгружены в двоичный файл с помощью кнопки Экспорт, и загружены, для той же или любой другой группы пользователей, с помощью кнопки Импорт12.

Выгрузить все права для групп пользователей можно, скорее всего, только с помощью группы определений, которую можно настроить в форме Группы определений (Администрирование- Периодические операции- Экспорт/Импорт данных-Группы определений). Буду очень благодарен каждому, кто пришлет мне список таблиц, которые необходимо и достаточно включить в эту группу определений!

Права выбранной группы пользователей могут быть распечатаны с помощью кнопки Печать. Алгоритм печати различный, в зависимости от значения параметра Просмотр:

Распечатать права доступа выборочно или для нескольких групп пользователей нельзя!

 

4. Советы по настройке прав доступа

4.1. Алгоритм настройки прав доступа администратором

Удобно настраивать права для отдельной группы пользователей методом «от полного запрета»:

  1. Сбросить все права с помощью кнопки «Полное отключение доступа»;
  2. Затем включить уровень «Просмотр» для тех форм, кнопок, таблиц, которые пользователь должен видеть/ запускать;
  3. Затем включить уровень «Правка» для тех таблиц, полей, которые пользователь должен редактировать;
  4. Далее включить уровень «Создание» для тех таблиц, в которых пользователь должен создавать записи;
  5. И, наконец, дать «Полный доступ» к тем таблицам, в которых пользователь должен иметь возможность удалять записи.

В силу отсутствия в системе Axapta возможности наследования прав доступа, удобно применять следующий общий алгоритм настройки:

  1. Настроить права, общие для всех пользователей (кроме установки «Нет доступа» для методов данных, так как эта установка портится при экспорте/импорте, см. 3.6);
  2. Выгрузить права во внешний файл с помощью кнопки Экспорт (см. 3.6);
  3. Загрузить права из сформированного внешнего файла во все группы пользователей с помощью кнопки Импорт (см. 3.6);
  4. Дополнительно настроить права для каждой группы пользователей отдельно.

Возможен и другой подход к настройке – вдобавок к обычным группам пользователей, в той же форме Группы пользователей (Администрирование- Настройки- Группы пользователей) создать базовые группы пользователей. Например, см. Рисунок 14, вдобавок к группам «ОК приказы», «ОК справочники», «ОТ приказы», «ОТ справочники», создать базовые группы «Отдел кадров», «Отдел труда», «Расчеты с персоналом». Критерием выделения таких групп будет наличие достаточного множества одинаковых настроек прав доступа в группах пользователей. Эти одинаковые настройки и нужно вынести в базовые группы пользователей, удалив при этом из обычных групп. Например, для всех пользователей «Расчеты с персоналом» необходим доступ (хотя бы для просмотра) к справочникам сотрудников, адресов, штатному расписанию, другим кадровым справочникам. Очевидно, все пользователи должны помещаться кроме своей группы еще и в базовые группы.

Иерархия групп пользователей «Расчеты с персоналом».
Рисунок 14. Иерархия групп пользователей «Расчеты с персоналом».

Такой подход обеспечит более простую и надежную перенастройку прав доступа, в случае необходимости. Например, чтобы дать всем пользователям доступ к новому кадровому справочнику «Участки», достаточно дать на него доступ базовой группе «Расчеты с персоналом». Но зато, при каждой операции в справочнике пользователей, например при вводе нового пользователя или при замещении одного пользователя другим, необходимо отслеживать, чтобы пользователь был внесен в нужные базовые группы и только в них, что повышает сложность администрирования пользователей.

 

4.2. Поиск нужной формы в дереве элементов

При настройке прав доступа часто возникает вопрос, где же в дереве элементов находится нужная форма. Поиск методом перебора отнимает много времени, и при том может не увенчаться успехом. Попробуйте, например, найти в дереве элементов форму RHRMEmplTable – это Карточка сотрудника из модуля Расчеты с персоналом. Потратив массу времени, вы не найдете ее, потому что ее там нет!

Для получения ответа на вопрос, где же в дереве элементов находится нужная форма и есть ли она там вообще можно применить два средства:

Это и есть описание искомого пункта меню.

Примечание: Для поиска объектов с заданными свойствами можно использовать также Поиск в АОТ (см. Как искать значение свойства объекта AOT?)

 

4.3. Скрытие заголовков групп полей

Когда нужно скрыть от группы пользователей ряд полей, бывает так, что сами поля скрываются, а заголовки групп полей, пустые гриды, закладки, дисплейные методы на форме остаются. Для того чтобы этого не происходило, помогает соблюдение следующих правил при создании формы:

  1. Каждое поле на форме должно содержаться либо в гриде, либо в группе полей.
  2. Для грида или группы полей, в которых содержатся скрываемые поля, должно быть установлено свойство DataGroup .

Установка свойства DataGroup для выбранной группы полей на форме.
Рисунок 15. Установка свойства DataGroup для выбранной группы полей на форме.

 

4.4. Настройка прав доступа для форм, вызываемых программно

Некоторые формы приложения вызываются исключительно программно. Например, форма RHRMEmplTable вызывается программно при запуске пункта меню Расчеты с персоналом- Карточка сотрудника). Поскольку в приложении нет даже пункта меню, вызывающего форму непосредственно, то форма не выводится ни в одном из вариантов дерева настройки прав доступа. Соответственно, невозможно настроить доступ к дисплейным методам, выводимым на этой форме. Единственный выход из положения виден в создании отдельного пункта меню, вызывающего требуемую форму непосредственно, с указанием в свойстве SecurityKey терминального ключа доступа. В этом случае, форма появится в дереве элементов13.

 

4.5. Настройка прав доступа для отдельного интерфейсного элемента

Существует возможность ограничить права доступа пользователя для отдельного интерфейсного элемента формы, поля отчета, ветки меню в зависимости от значения какого-либо ключа доступа.

Это необходимо, например, если элемент формы не связан ни с каким полем или методом данных, а просто выполняет какое-то действие при изменении данных в нем.

Для этого необходимо установить для данного элемента свойство SecurityKey равным нужному ключу доступа14. При входе пользователя в систему, уровень доступа для данного элемента будет присвоен равным уровню данного ключа доступа, установленному при настройке прав доступа (см. 3.4)15. Свойство SecurityKey определено для всех элементов, входящих в дизайн формы, а также для полей отчета, всех веток меню.

Установленный ключ доступа MorphX для кнопки Правка формы Пользовательские настройки.
Рисунок 16. Установленный ключ доступа MorphX для кнопки Правка формы Пользовательские настройки.

Для некоторых элементов, можно дополнительно установить свойство NeededAccessLevel равным «порогу видимости». Если, при входе пользователя в систему, уровень доступа для ключа, указанного в свойстве SecurityKey, окажется меньше установленного «порога видимости», то элемент не будет выведен на форме совсем. Свойство NeededAccessLevel определено только для следующих элементов управления формы: Tab, TabPage, Group, ButtonGroup, MenuButton, MenuItemButton, CommandButton, а также для всех веток меню16.

Установка ключа доступа Admin для всей закладки Выходная форма формы Пользовательские настройки
Рисунок 17. Установка ключа доступа Admin для всей закладки Выходная форма
формы Пользовательские настройки.

Например, с помощью этих свойств можно запретить доступ пользователя к форме Пользовательские настройки. Если у пользователя для ключа «Admin» нет уровня доступа хотя бы «Просмотр», то выбрав Настройка в контекстном меню формы, он увидит Рисунок 18.

Открытая форма Пользовательские настройки если уровень доступа для ключа Admin равен «Нет доступа».
Рисунок 18. Открытая форма Пользовательские настройки,
если уровень доступа для ключа Admin равен «Нет доступа».

Единственное неудобство – пользователю легко забыть закрыть эту форму, так как она очень маленькая, ее можно просто не заметить. А не закрыв форму Пользовательские настройки, невозможно закрыть форму, из которой она была вызвана.

 

5. Рекомендуемые материалы

5.1. Вычисление прав доступа для элементов приложения

В руководстве разработчика правам доступа посвящены следующие разделы:

 

5.2. Другие средства ограничения доступа

Как настроить RLS в Аксапте 3.0

 


Комментарии:

[1] Раскрыть ветку дерева на один уровень можно, нажав мышкой на «+» или выделить ветку и нажать стрелку «Вправо» на клавиатуре. Чтобы раскрыть ветку дерева сразу на все уровни, нужно выделить ветку и нажать «*» на дополнительной клавиатуре. Будьте осторожны с клавишей «*», так как ветка может быть достаточно большая и открываться она будет долго!

[2] Внимание, особенность функциональности! Список элементов приложения выводится только для терминальных ключей доступа, то есть тех, у которых отсутствуют подчиненные ключи доступа.

[3] Так как права доступа для временных таблиц не настраиваются, то в списке элементов они не выводятся. Уровень доступа для временной таблицы равен уровню для ее ключа доступа.

[4] Раскрыть элемент приложения можно точно так же, как и ветку дерева.

[5] Под формой НЕ выводятся источники данных, присоединенные через InnerJoin . Если нужно ограничить права доступа для полей этих источников данных, то можно рассмотреть два варианта:

  1. можно ограничить права для полей, найдя таблицу в другом месте дерева элементов – в этом случае ограничение будет касаться всех форм, где выводится это поле;
  2. ограничить права на соответствующие элементы формы (см. 4.5) – в этом случае ограничение будет касаться только поля в данной форме.

[6] Доступность уровней доступа «Просмотр», «Правка», «Создание» для формы и класса может быть ограничена с помощью свойства NeededAccessLevel для пункта меню. Например, если NeededAccessLevel равен «Создание», то уровни «Просмотр», «Правка» для данного пункта меню будут недоступны. Однако, так как выбор между уровнями «Нет доступа» и «Полный доступ» доступен всегда, для функциональности это значения не имеет.

[7] Запись в форме можно создавать, но нельзя сохранить.

[8] Внимание, ошибка функциональности! Если для поля свойство AllowEdit установлено «No», то, несмотря на возможность установить для поля уровень доступа «Правка», фактически доступ к полю будет разрешен только на чтение.

[9] Если устанавливаемый для ключа уровень доступа ниже, чем установлен в свойстве NeededAccessLevel подчиненного пункта меню, то уровень доступа для пункте меню останется прежним. Таким образом, свойство NeededAccessLevel пункта меню определяет доступность по умолчанию формы или класса при определенном значении уровня, установленного для ключа доступа.

[10] Внимание, особенность функциональности! Как можно посмотреть, что значение уровня доступа для элемента установлено отдельно – неясно. Сбросить этот признак для элемента можно только с помощью кнопок "Полное отключение доступа" и "Установка полного доступа", что очень неудобно.

[11] Внимание, ошибка функциональности! Иногда при использовании кнопки Каскад , уровень доступа для какого-то элемента автоматически почему-то не устанавливается, пока не откроешь его хотя бы раз в дереве.

[12] Внимание, ошибка функциональности! Некорректно работает импорт прав доступа из файла (кнопка Импорт на форме Права групп пользователей ) для методов данных. При импорте прав доступа для группы пользователей, уровень прав для методов данных устанавливается максимально возможным – «Просмотр» для дисплейных методов, «Правка» для методов редактирования.

[13] Внимание, особенность функциональности! Если указать один из имеющихся в системе ключей верхнего уровня, то форма в дереве не появляется, нужно указывать только терминальный ключ.

[14] Для элемента управления не обязательно указывать терминальный ключ доступа, можно указывать любой. Удобно указывать именно главный ключ доступа, так как от него не зависят никакие элементы приложения.

[15] Если уровень доступа для поля, с которым связан данный элемент на форме, ограничен, то при работе пользователя будет установлен минимальный из них уровень доступа.

[16] Если доступ для элемента формы регулируется несколькими ключами доступа, например при установке разных ключей доступа для Tab и его TabPage , то для элемента будет установлен минимальный уровень доступа из всех влияющих на него ключей.

 

Андрей Бобков, a-bobkov@inbox.ru