25.10.2007, 12:24 | #1 |
Участник
|
При повторном вызове linkActive проваливается в validateWrite(Строки общего журнала ГК)
Добрый день, уважаемые коллеги!
Наткнулись на интересное поведение формы строк журнала ГК. Когда создаем общий журнал ГК, не нажимая кнопку сохранить, идем в строки. На LedgerJournalTrans_ds срабатывает метод linkActive, в super() в первый раз он проваливается в QueryRun queryRunClass(Args _args), а вот второй раз через вызов super() он проваливается в _ds.validateWrite. Результат: если в настройках журнала счет указан ГК, счет и корр-счет совпадают срабатывает проверка на одинаковые счета, Выделившийся Документ ГК остается в пуле сводобных номеров номерной серии. При создании второй строки "прозрачно" для пользователя для абсолютно разных операций имееим один номер документа ГК. На чистом приложении фокус не повторяется, стало быть проблема наша. Вопрос: почему, при первом открытие формы, второй вызов метода linkActive, через super(), попадает в метод validateWrite? Следствием чего может быть такое поведение формы или как это можно воспроизвести? DAX 3.0 SP4 Build #11. |
|
25.10.2007, 12:34 | #2 |
SAP
|
Цитата:
На LedgerJournalTrans_ds срабатывает метод linkActive, в super() в первый раз он проваливается в QueryRun queryRunClass(Args _args), а вот второй раз через вызов super() он проваливается в _ds.validateWrite.
|
|
25.10.2007, 12:40 | #3 |
Участник
|
Показывает
Первый: ========= \Classes\ClassFactory\QueryRunClass - line 1 \Classes\FormDataSource\executeQuery \Classes\FormDataSource\linkActive \Forms\LedgerJournalTransDaily\Data Sources\LedgerJournalTrans\Methods\linkActive - line 10 ========= Второй: ========= \Forms\LedgerJournalTransDaily\Data Sources\LedgerJournalTrans\Methods\validateWrite - line 1 \Classes\FormDataSource\executeQuery \Classes\FormDataSource\linkActive \Forms\LedgerJournalTransDaily\Data Sources\LedgerJournal ========= executeQuery на LedgerJournalTrans не перекрыт. |
|
25.10.2007, 12:48 | #4 |
SAP
|
ну так выход прост сравнить стандартный стек с твоим и найти в чем же глюк.
|
|
25.10.2007, 12:57 | #5 |
Участник
|
|
|
25.10.2007, 13:09 | #6 |
SAP
|
Цитата:
Тут скорее вопрос: как заставить сработать validateWrite при неперекрытом executeQuery источника данных!?!
|
|
25.10.2007, 13:50 | #7 |
Axapta Retail User
|
В качестве моральной поддержки:
Сталкивались с подобной ситуацией, когда при открытии формы после метода init 1 раз из 4-5 следующим вызывался метод, который в принципе никак не должен был вызываться, дергал метод класса который еще создаться то не успел... И все заканчивалось ошибкой. В стеке эта последовательность четко прослеживалась как и у вас. Побороли просто создав класс заранее и успокоились |
|
|
За это сообщение автора поблагодарили: Lemming (2). |