![]() |
#4 |
Участник
|
Этому способу лет триста наверное - в active датасорса разрешаешь его на редактирование, потом закрываешь все поля нижепреведенным методом и после этого свое одно открываешь.
protected void allowEditCustInvoiceJourFields(boolean _allowEdit) { DictTable dictTable; FieldID field; int cx, iCnt; DictField dictField; ArrayIdx idx; void setAllowEditValue(FieldID _field) { custInvoiceJour_ds.object(_field).allowEdit(_allowEdit); }; dictTable = new DictTable(tablenum(CustInvoiceJour)); iCnt = dictTable.fieldCnt(); for(cx = 1; cx <= iCnt; cx++) { field = dictTable.fieldCnt2Id(cx); dictField = dictTable.fieldObject(field); if(! dictField.isSystem()) {//Not system field if(dictField.arraySize() == 0) //Field isn't array setAllowEditValue(field); else {//Field is array for(idx = 1; idx <= dictField.arraySize(); idx++) { setAllowEditValue(fieldId2Ext(field, idx)); } } } } } |
|