Цитата:
Сообщение от
rusalaudinov
эм.. А что за метод такой и где его брать? на форме есть метод updateDesign, но как туда дописывать поля что-то непонял. простое
X++:
iPost1.allowEdit(true);
iPost1.enabled(true);
никакого результата не дало. АХ2009
Метод
initDesign_W присутствует на
gls-слое данной формы, если у вас только
sys-слой, то нужно сделать примерно следующее :
В методе
init формы прописать:
X++:
...
super();
CustInvoiceJour_ds.allowEdit(true);
Global::allowEditFieldsOnFormDS_W(CustInvoiceJour_DS, false);
CustInvoiceJour_ds.object(fieldNum(CustInvoiceJour, InvoiceAccount)).allowEdit(true);
...
Где вместо
fieldNum(CustInvoiceJour, InvoiceAccount) написать свое поле.
Код метода
allowEditFieldsOnFormDS_W приведен ниже (его нужно поместить в класс
Global) - данный метод устававливает доступ ко всем полям датасорса.
X++:
client static public void allowEditFieldsOnFormDS_W(FormDataSource _dataSource, boolean _allowEdit)
{
DictTable dictTable = new DictTable(_dataSource.table());
DictField dictField;
FormDataObject dataObject;
int cx, idx;
for(cx = 1; cx <= dictTable.fieldCnt(); cx ++)
{
dictField = dictTable.fieldObject(dictTable.fieldCnt2Id(cx));
if(! dictField.isSystem())
{
for(idx = 1; idx <= dictField.arraySize(); idx++)
{
dataObject = _dataSource.object(fieldId2Ext(dictField.id(), idx));
if (dataObject)
{
dataObject.allowEdit(_allowEdit);
}
}
}
}
}