|
![]() |
#1 |
Участник
|
![]()
Вариант с навешиванием функциональности на SysSetupFormRun рассматривается?:
Classes\SysSetupFormRun\dimensionDenyEdit(...): X++: void dimensionDenyEdit( SysDimension _sysDimension ) { FormDataSource formDataSource ; FormDataObject formDataObject ; SysDictTable sysDictTable ; SysDictField sysDictField ; Counter counterSource ; Counter counterFields ; int dimArrayIdx = Dimensions::code2ArrayIdx( _sysDimension ) ; ; for( counterSource=1; counterSource<=this.dataSourceCount(); counterSource++ ) { formDataSource = this.dataSource( counterSource ) ; sysDictTable = new SysDictTable( formDataSource.table() ) ; for( counterFields=1; counterFields <= sysDictTable.fieldCntWithoutSys(); counterFields++ ) { sysDictField = sysDictTable.fieldObject( sysDictTable.fieldCnt2Id( counterFields ) ) ; if( sysDictField.typeId() == extendedTypeNum( Dimension ) ) { formDataObject = formDataSource.object( fieldId2Ext( sysDictField.id(), dimArrayIdx ) ) ; if( formDataObject ) { formDataObject.allowEdit( false ) ; // formDataObject.enabled( false ) ; } } } } } X++: public void init() { super(); SysSecurityFormSetup::loadSecurity(this); this.dimensionDenyEdit( SysDimension::Department ) ; } |
|
|
За это сообщение автора поблагодарили: Sada (2). |