Как ограничить доступ к редактированию полей на форме определенной группе пользователей
Добрый день.
Подскажите, пожалуйста, как ограничить доступ к редактированию полей на форме определенной группе пользователей.
Предистория - есть группа пользователей "Бухгалтерия" и группа пользователей "Закупка". Закупщики создают договоры, поставщиков и регистрируют заказ на покупку, счет на оплату.
У бухгалтеров на все это тоже есть полный доступ, в каких-то случаях они сами все это делают, + имеется куча других прав.
Теперь бухгалтеры хотят, чтобы Закупщики создавали Договоры, Поставщиков, но после сохранения не могли редактировать данные.
Доступ на редактирование должен быть только у бухгалтеров и у админов.
Делала так, но теперь у Закупщиков при создании договора данные поля не доступны совсем. Как еще это можно сделать, чтобы выполнялись требования бухгалтерии?
Делала на форме RContractTable метод init()
public void init()
{
Args args = this.args();
super();
if (args.parmEnumType() == enumnum(RcontractPartnerTypeAll))
{
contractType.selection(args.parmEnum());
}
contractType.visible(! this.args().dataset() && contractType.selection() == RcontractPartnerTypeAll::All);
this.updateDesign();
// -->
if(UserInfoHelp::userInUserGroup(curUserId(), 'Закупка' )&&!UserInfoHelp::userInUserGroup(curUserId(), 'Admin' )&&!UserInfoHelp::userInUserGroup(curUserId(), 'Бухгалтерия' ))
{
allowEdit = UserInfoHelp::userInUserGroup(curUserId(), 'Закупка');
RContractTable_SubContract.allowEdit(!allowedit);
RContractTable_ContractDate.allowEdit(!allowedit);
RContractTable_RContractNumber.allowEdit(!allowedit);
RContractTable_BusinessNum.allowEdit(!allowedit);
RContractTable_PrivateNum.allowEdit(!allowedit);
RContractTable_ContractAmount.allowEdit(!allowedit);
RContractTable_RContractStatus.allowEdit(!allowedit);
RContractTable_PostingProfile.allowEdit(!allowedit);
RContractTable_Sign_DeferredCharges.allowEdit(!allowedit);
RContractTable_MainContractAccount.allowEdit(!allowedit);
LongContract.allowEdit(!allowedit);
}
// <--
}
P.S. Перенесла тему из раздела Функционал. Советовали перекрыть метод active. Мне бы примеры. Спасибо.
|