21.09.2017, 08:59 | #1 |
Участник
|
Обращение к таблице
Здравствуйте. Может это и обсуждалось, я не смог найти. Скажите пожалуйста, какой метод нужно перекрыть, чтобы перехватить обращение к таблице. Не к DataSource, а именно к таблице.
Ax3.0SP5FP2 |
|
21.09.2017, 09:40 | #2 |
Участник
|
Под обращением к таблице вы понимаете вставку, удаление, апдейт записи ???
Если так, то соответствующие методы таблицы (Insert, delete, update ) и надо перекрывать. |
|
|
За это сообщение автора поблагодарили: BokarevSS (1). |
21.09.2017, 09:43 | #3 |
Участник
|
Нет, под обращением я понимаю выборку в таблице каким-либо классом.
|
|
21.09.2017, 09:49 | #4 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: BokarevSS (1). |
21.09.2017, 09:54 | #5 |
Участник
|
Цитата:
и из разных мест. частые методы:
также ядром вызываются:
также можно переопределить поведение при помощи
посмотреть все методы вы можете встав на ветке methods таблицы, нажав правую кнопку мыши и выбрав пункт overwrite вы получите список методов, которые так или иначе вызываются ядром при тех или иных событиях в системе |
|
|
За это сообщение автора поблагодарили: BokarevSS (1). |
21.09.2017, 09:57 | #6 |
Участник
|
неееет!
ни в коем случае. postLoad является устаревшим даже в акс3. postLoad пришел из предыдущей версии платформы - из Конкорда. postLoad использовался тогда для эмуляции display методов совместно с полями, у которых свойство savable=no. postLoad в аксапте всегда НЕ рекомендовался, поскольку очень сильно снижает производительность. в аксапте поздних версий postLoad остался только в одном месте - отображение "сдвига" для кредитовых MST-сумм. |
|
21.09.2017, 10:08 | #7 |
Участник
|
Он вечно молод! Активно используется в virtual field для data entity в текущей версии.
|
|
|
За это сообщение автора поблагодарили: BokarevSS (1). |
21.09.2017, 11:38 | #8 |
Участник
|
postLoad() работает, но когда я открываю grid этой таблицы. А моя задача следующая: мне нужно при печати любых бухгалтерских документов выяснять какой банк ставится на место моей организации, и если документ после 1,10,2017 то брать другой банк. Я не прошу решения, сам сделаю. И для этого я спрашивал как мне перехватить событие выбора банка, чтобы изменить банк при условии. Метод postLoad() на таблице банков отрабатывает только если я список банков вывожу.
|
|
21.09.2017, 11:50 | #9 |
Участник
|
Цитата:
postLoad является устаревшим даже в акс3.
То есть этот метод не выполняется 100% при выборке из таблицы? Я им изредка пользовался чтобы отловить в сложных местах, где идет загрузка записи (аналогично тому, как я использую для этого .aosValidateInsert всякие) - и вроде пока он не подводил. |
|
21.09.2017, 12:03 | #10 |
Участник
|
Цитата:
Сообщение от BokarevSS
А моя задача следующая: мне нужно при печати любых бухгалтерских документов выяснять какой банк ставится на место моей организации, и если документ после 1,10,2017 то брать другой банк. Я не прошу решения, сам сделаю. И для этого я спрашивал как мне перехватить событие выбора банка, чтобы изменить банк при условии.
Либо сузьте круг документов с "любых" до списка по котором можно пройтись и реализовать эту логику там, либо обновите данные, если банк реально не правильный, либо убедите "заказчика" так не делать. Последний раз редактировалось skuull; 21.09.2017 в 12:06. |
|
21.09.2017, 13:06 | #11 |
NavAx
|
Лучше сразу свой счет подставляйте
|
|
21.09.2017, 13:20 | #12 |
Участник
|
вот-вот... *мат поскипан*
потому что об этом писали рекомендации еще Дамгаарды. вместо postLoad в аксапте появились dispaly и edit методы. |
|
21.09.2017, 13:23 | #13 |
Участник
|
метод выполняется.
но когда есть этот метод то я не знаю как обстоят дела в последних релизах. сам метод - выполняется. ) Последний раз редактировалось mazzy; 21.09.2017 в 13:39. |
|
|
За это сообщение автора поблагодарили: Logger (3). |
21.09.2017, 13:42 | #14 |
Участник
|
Цитата:
На вскидку, не вспомню, как эти классы называются. Помню только, что там все хитрО было закручено
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
20.10.2017, 10:45 | #15 |
Участник
|
Цитата:
Сообщение от mazzy
неееет!
ни в коем случае. postLoad является устаревшим даже в акс3. postLoad пришел из предыдущей версии платформы - из Конкорда. postLoad использовался тогда для эмуляции display методов совместно с полями, у которых свойство savable=no. postLoad в аксапте всегда НЕ рекомендовался, поскольку очень сильно снижает производительность. в аксапте поздних версий postLoad остался только в одном месте - отображение "сдвига" для кредитовых MST-сумм. Да и вообще удобны кому то эти сдвинутые суммы? и все возможный комбинации +- перед суммой. вечно меняющие знак при копировании в ексель |
|
20.10.2017, 10:58 | #16 |
Участник
|
В DAX2009 еще и для EmplTable postLoad перекрыт. Эстонцам, видимо показалось, что Акса слишком быстро работает. Почему бы еще и не записывать в лог любой select.
Что раздражает - на этот postLoad skip* методы не действуют. |
|
|
За это сообщение автора поблагодарили: Ace of Database (2). |