Цитата:
Сообщение от
AlexT1
Спасибо, так и сделаю, правда полей там около сотни
Ну и ладно. Да простит меня господин db (как автор кода), но уж больно тривиально
X++:
// created by db
// применятся ко всем полям датасорса, кроме контейнера, в котором перечислены исключающие поля
static void dsEnableFields(FormDataSource _formDataSource, boolean _allowEdit, container _fieldListExclude=connull())
{
FormDataObject fdo;
DictTable dictTable = new DictTable(_formDataSource.table());
DictField dictField;
int fieldCount = dictTable.fieldCnt();
int i;
int j;
FieldId fieldId;
boolean allowEdit;
for (i = 1; i <= fieldCount; i++)
{
dictField = new DictField(dictTable.id(), dictTable.fieldCnt2Id(i));
for (j = 1; j <= dictField.arraySize(); j++)
{
fdo = _formDataSource.object(fieldId2ext(dictField.id(), j));
allowEdit = confind(_fieldListExclude, dictField.id()) ? ! _allowEdit : _allowEdit;
if (fdo)
fdo.allowEdit(allowEdit);
}
}
}