Управление доступностью реквизитов на управляемых формах





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

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

Что из себя представляет разработка — это небольшая подсистема по «тонкой» настройке прав, для каждого пользователя индивидуально, с возможностью примениеия прав в зависимости от некоторого условия. Интеграция происходит путем ВНЕСЕНИЯ ВЫЗОВА ПРОЦЕДУРЫ ПОДСИСТЕМЫ В МОДУЛЬ ФОРМЫ ДОКУМЕНТА(СПИСКА).Права распространяются на элементы формы, и управляют доступностью элементов с помощью свойств «ТолькоЧтение» и Видимость. Что бы было понятнее приведу пример по формированию прав для пользователя ИБ.

Что имеем — имеется самописная конфигурация с одним документом. Пользователю Иванову надо ограничить права по работе с одним единственниым документм(в данной конфигурации он один).

Внешний вид документа:

 

Рисунок 1. Внешний вид документа

Далее приведены примеры которые просто демонстрируют возможности подсистемы.

1. Необходимо дать право на открытие ВСЕХ документов без возможности редактировать цену.

Для этого создадим новое правило:

Рисунок 2. Пример правила с запретом изменения цены

 И присвоим данное правило нашему пользователю:

Рисунок 3. Назначение правила пользователю

В результате у Иванова пропадет возможность редактировать цену в документах(см.  файл выгрузки).

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

Рисунок 4. Пример правила с запретом изменения цены и со скрытым полем суммы документа

Рисунок 5. Пример настройки правила 

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

Что происходит если для пользователя назначено несколько правил по одному и тому же реквизиту и все они выполняются илюстрирует нижеописанное правило:

Порядок приоритетов реквизитов
БезИзменений — данный вариант доступа не отрабатывается;
По умолчанию — один из трех(без изменений, запрет, разрешение);
Разрешено — имеет БОЛЬШИЙ приоритет перед ЗАПРЕЩЕНО
Запрещено — имеет МЕНЬШИЙ приоритет перед РАЗРЕШЕНО

Ну и если кого заинтересовала разработка — с удовольствием отвечу на вопросы.

 

8 Comments

  1. SergDi

    Неверный формат для загрузки информационной базы

    Reply
  2. AvalonE2008

    (1) SergDi, попробуйте скаченный файл открыть в конфигураторе через «Файл-Открыть». После этого загрузите его.

    Reply
  3. SergDi

    Неверный формат файла для загрузки информационной базы

    Ошибка при выполнении файловой операции

    по причине:

    Ошибка при выполнении файловой операции

    вот такая борода

    Reply
  4. SergDi

    в какой версии 1с разворачивать ?

    Reply
  5. SergDi

    вопрос снят, в 8.3.4 развернул

    Reply
  6. AndreyS55

    Очень годная разработка, спасибо!

    Reply
  7. akim2040

    Как сказывается на производительности? Например +/- 300 юзеров, На каждого будут навешаны по 3-5 настроек, сильно ли будет заметно задержка, в виде долго открытия форм и тд?

    Reply
  8. AvalonE2008

    (7) По идеи не должно сказываться никак. Обработка происходит на сервере, управление идет видимостью и доступностью реквизитов формы. Алгоритмы получения значения видимости простые более чем. А если честно то не тестировал с таким количеством людей. На 80 человеках какого либо изменения по скорости не наблюдалось(субъективно)

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *