Организация управления доступом в форме
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

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

Управление сосредоточено в процедуре УстановитьДоступ().
Её необходимо вызывать из тех мест, где происходит изменение значений, на основании которых определяется доступ.
Сама процедура УстановитьДоступ() не занимается определением доступа, а на основании списков, полученных из функций

ПолучитьСписокУправлениеВидимостью(),
ПолучитьСписокУправлениеДоступностью(),
ПолучитьСписокУправлениеТолькоПросмотр(),
ПолучитьСписокДоступаКУправлениюВидимостью()


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

 

Работа каждой из функций строится по одинаковому принципу. Рассмотрим на примере ПолучитьСписокУправлениеВидимостью().

В качестве исходных данных для этой функции выступают реквизиты (свойства) объекта и формы, а также значение в локальных переменных или экспортных переменных модуля приложения.
В случае, когда в качестве исходных данных требуется результат работы каких-либо процедур/функций, вычислять их в процедуре ПолучитьСписокУправлениеВидимостью() категорически воспрещается.
Все требуемые результаты должны быть подготовлены заранее и храниться в переменных либо реквизитах формы (объекта) при начале работы или изменении данных для расчета этих результатов.

 

ЭтоКомиссия = (ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером); ВидимостьСчетов = НЕ ЭтоКомиссия;


На основании исходных данных рассчитываются флаги видимости:

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

Например , в нашей форме видимость будут менять НадписьСчетРасчетовУСН, НадписьСчетАвансовУСН, СчетУчетаРасчетовСКонтрагентомУСН и СчетУчетаРасчетовПоАвансамУСН.

 

СписокУправлениеВидимостью.Добавить(ОтражатьВНалоговомУчете И ЭтоРасходыУСН, "НадписьСчетРасчетовУСН"); СписокУправлениеВидимостью.Добавить(ОтражатьВНалоговомУчете И ЭтоРасходыУСН, "НадписьСчетАвансовУСН"); СписокУправлениеВидимостью.Добавить(ОтражатьВНалоговомУчете И ЭтоРасходыУСН, "СчетУчетаРасчетовСКонтрагентомУСН"); СписокУправлениеВидимостью.Добавить(ОтражатьВНалоговомУчете И ЭтоРасходыУСН, "СчетУчетаРасчетовПоАвансамУСН");

 

Устанавливаем в список 4 элемента (по числу элементов формы с управляемой видимостью):

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

Аналогично строятся и остальные функции.

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

















Дата: 2018-11-18, просмотров: 256.