11.04.2018, 11:15 | #1 |
Участник
|
Как ограничить доступ к редактированию полей на форме определенной группе пользователей
Добрый день.
Подскажите, пожалуйста, как ограничить доступ к редактированию полей на форме определенной группе пользователей. Предистория - есть группа пользователей "Бухгалтерия" и группа пользователей "Закупка". Закупщики создают договоры, поставщиков и регистрируют заказ на покупку, счет на оплату. У бухгалтеров на все это тоже есть полный доступ, в каких-то случаях они сами все это делают, + имеется куча других прав. Теперь бухгалтеры хотят, чтобы Закупщики создавали Договоры, Поставщиков, но после сохранения не могли редактировать данные. Доступ на редактирование должен быть только у бухгалтеров и у админов. Делала так, но теперь у Закупщиков при создании договора данные поля не доступны совсем. Как еще это можно сделать, чтобы выполнялись требования бухгалтерии? Делала на форме 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. Мне бы примеры. Спасибо. |
|
|
|