На форме таблици XXX_Table необходимо что бы поля Field1, Field2 выбирались из определенного списка (например название клиентов like 'К*' с ограничением на группу клиентов).
Я сделал следующее:
Tables\XXX_Table\Methods\modifiedField(fieldId _fieldId)
X++:
...
switch(_fieldId)
{
...
case fieldNum(XXX_Table, Field1) :
case fieldNum(XXX_Table, Field2) :
select Name from custTable
where custTable.AccountNum == this.(_fieldId);
if (custTable.CustGroup!= #Group)
{
warning('.....');
this.(_fieldId) = this.orig().(_fieldId);
}
break;
...
}
...
\Forms\XXX_Table\DataSources\XXX_Table\Fields\Field1\Methods\lookup
\Forms\XXX_Table\DataSources\XXX_Table\Fields\Field2\Methods\lookup
X++:
public void lookup(FormControl _formControl, str _filterStr)
{
;
custTable::XXX_lookupMyFilter(_formControl, #Group);
}
Описанное все работает чудестно. Вопрос в следующем, есть необходимость реализовать это не для двух полей, а двадцати (такое полотно таблицы), необходимо добавлять двадцать методов на форму:
\Forms\XXX_Table\DataSources\XXX_Table\Fields\Field...\Methods\lookup
Есть ли другой способ реализовать данные методы на элементы формы?
(кроме реализации через EDT для полей Field1, Field2, ...)
Спасибо.