Не используйте методы gotFocus
и enter
.
Создайте метод источника данных для внесения изменений:
void setAllowEdit()
{
salesTable_ds.object(fieldnum(SalesTable, Name)).allowEdit(salesTable.SalesType == SalesType::Journal);
}
Вызовите метод из active
Метод:
public int active()
{
int ret = super();
...
this.setAllowEdit()
return ret;
}
Вызов метода из поля источника данных (в данном случае поле SalesType
):
public void modified()
{
super()
salesTable_ds.setAllowEdit()
element.changeType(); // standard code
}