Всем доброго времени суток!
Есть задача: создать поле 'Наименование ячейки' в WMSLocation и в определенных случаях отображать его на некоторых формах при отображении складской аналитики 'Ячейка'.
Создаю на нужной форме (InventTransBOM - Строки журнала спецификаций) контрол для отображения нового поля, перекрываю нужный класс InventDimCtrl_Frm_... (дописываю в нем метод для отображения (сокрытия) нового контрола на форме) - все работает прекрасно! Контрол отображается в зависимости от обображения аналитики 'Ячейка'.
Решил немного усовершенствовать - передвинуть контрол в группу аналитик, чтобы он следовал сразу за контролом 'Ячейка'. Сделал свойство группы аналитик на форме AutoDataGroup = No, передвинул контрол, после чего начались необъяснимые явления )))
На ините формы инициализируется класс journalFormTrans, куда передаются некоторые контролы формы.
X++:
void init()
{
;
journalFormTrans = new InventJournalFormTrans_Mov_BOM(element);
super();
journalFormTrans.parmCtrlCheckJournal(checkJournal);
journalFormTrans.parmCtrlPostJournal(postJournal);
journalFormTrans.parmCtrlInfolog(showInfolog);
journalFormTrans.parmCtrlVoucherGrid(inventJournalTrans_Voucher);
journalFormTrans.parmCtrlVoucherTab(voucher);
journalFormTrans.parmCtrlLineLogImage(lineLogImage);
journalFormTrans.formInitPost();
}
Так вот после передвижки моего контрола в группу, в качестве контролов в класс стали передаваться другие контролы, например вместо lineLogImage стал передаваться voucher, вместо voucher - следующий, расположенный за ним на форме со свойством AutoDeclaration = Yes и т.д., в результате трассировки - класс journalFormTrans не отрабатывает так как надо.
Стоит поменять свойство моего контрола на AutoDeclaration = No (для моей задачи нужно чтоб было Yes), как все опять работает нормально. В чем может быть дело ума не приложу? Контролы передаются по именам, как может влиять добавление нового контрола (точнее даже просто установка его свойства AutoDeclaration) на порядок передачи их в класс - просто загадка!!!
Пробовал переливать на другое приложение - та же картина. Кто нибудь сталкивался с чем-нибудь подобным или я делаю что-то криминальное?
Ax 4.0, SQL server 2005