|
порядок срабатывания триггеров
|
|||
---|---|---|---|
#18+
Добрый день, уважаемые Гуру! Есть форма в которой на уровне формы висят следующие триггера: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
И есть куча блоков из которых могу выделить только один (KR_BLOCK). Этот блок не является базовым блоком (Database data block=No). На уровне этого блока висит триггер WHEN-CREATE-RECORD. Запускаю форму через адресную строку с указанием данных для коннекта к БД. При загрузке сразу срабатывает триггер WHEN-CREATE-RECORD на уровне блока KR_BLOCK. Почему так? Разве не должен перед этим отработать триггер WHEN-NEW-FORM-INSTANCE? Подскажите в какую сторону капнуть. Может есть какое-то свойство блока на которое следует обратить внимание? P.S. На какой бы из триггеров на уровне формы не поставить брейкпоинт, никогда туда не попадаем, всегда первым делом идем на блок KR_BLOCK в триггер WHEN-CREATE-RECORD Версия формсов 11.1.2.1.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 07:39 |
|
порядок срабатывания триггеров
|
|||
---|---|---|---|
#18+
luchik_5, Триггеры When-New-%-Instance срабатывают после того, как курсор встал в первый элемент первого блока формы. Т.е. после того как навигация завершилась. Триггер When-Create-Record срабатывает раньше, т.к. для того чтобы войти в элемент, нужно сначала создать запись. Если нужен триггер на уровне формы, который сработает самым первым, то это Pre-Form. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 09:42 |
|
порядок срабатывания триггеров
|
|||
---|---|---|---|
#18+
Павел Лузанов , Спасибо. Прояснили с порядком срабатывания триггеров. Но появился ещё один вопрос. У меня блок, в который уходит, стоит далеко не первым в списке. Почему тогда все же именно в него? Или "первый блок формы" как-то по другому считается? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 11:17 |
|
порядок срабатывания триггеров
|
|||
---|---|---|---|
#18+
luchik_5, Посмотри свойство формы First Navagation Data Block ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 11:26 |
|
порядок срабатывания триггеров
|
|||
---|---|---|---|
#18+
Павел Лузанов, <Null> ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 11:33 |
|
порядок срабатывания триггеров
|
|||
---|---|---|---|
#18+
luchik_5, Если это свойство не заполнено, и блок не первый в объектном навигаторе, то переход в него осуществляется в одном из стартовых триггеров. Из перечисленных тобой в первом сообщении, я бы заглянул в When-Window-Activated. Если не получается найти где происходит переход, то включай отладку. Чудес не бывает :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 12:07 |
|
порядок срабатывания триггеров
|
|||
---|---|---|---|
#18+
Павел Лузанов, проводили трассировку формы. Первый же триггер срабатывает именно в том блоке. Из всего проекта таких две формы. Остальные нормально отрабатывают. Ладно, совет принят к сведению. Буду рыть дальше. Большое спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 13:54 |
|
порядок срабатывания триггеров
|
|||
---|---|---|---|
#18+
Павел ЛузановЧудес не бывает :-) Сам то понял чё сказал? это же формсы, они сами по себе чудесны. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 14:21 |
|
порядок срабатывания триггеров
|
|||
---|---|---|---|
#18+
luchik_5проводили трассировку формы. Первый же триггер срабатывает именно в том блоке... Надо искать дальше. На всякий случай. Порядок срабатывания триггеров можно посмотреть запустив форму с debug_messages=yes Ну и под трассировкой я имел в виду не трассировку оракловой сессии, а forms trace ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 15:03 |
|
порядок срабатывания триггеров
|
|||
---|---|---|---|
#18+
OldBoyOdeSuСам то понял чё сказал? Я очень хорошо понимаю, о чем говорю. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 15:12 |
|
порядок срабатывания триггеров
|
|||
---|---|---|---|
#18+
Павел Лузанов , Да, именно трассировка forms trace и проводилась. Могу файлик прикрепить. В триггере When-Window-Activated никаких действий по переходу в блок нет. Да и если даже просто кинуть breakepoint на первую строку в каждом из этих триггеров + на триггер when-create-record блока, то при запуске сразу попадаем на breakepoint в триггере when-create-record на уровне блока... Может есть какие-то особенности в свойствах элементов блока из-за которых может происходить подобное? OldBoyOdeSu , Формсы конечно иногда чудят, но не на столько что бы "скакать" по треггирам в непонятном порядке без причин. Скорей всего что-то упускаю из вида... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:00 |
|
порядок срабатывания триггеров
|
|||
---|---|---|---|
#18+
luchik_5Да, именно трассировка forms trace и проводилась. Могу файлик прикрепить. Файлик прикрепи (можешь в личку кинуть). И еще вопрос. Курсор в каком блоке останавливается после запуска формы? В KR_BLOCK? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 21:20 |
|
порядок срабатывания триггеров
|
|||
---|---|---|---|
#18+
Павел Лузановluchik_5Да, именно трассировка forms trace и проводилась. Могу файлик прикрепить. Файлик прикрепи (можешь в личку кинуть). И еще вопрос. Курсор в каком блоке останавливается после запуска формы? В KR_BLOCK? так на всякий случай: Trigger Execution Sequence in Forms 4.5 . В хелпах по более поздним версиям есть такие же статьи. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 02:42 |
|
порядок срабатывания триггеров
|
|||
---|---|---|---|
#18+
Павел Лузанов Файлик прикрепи (можешь в личку кинуть). И еще вопрос. Курсор в каком блоке останавливается после запуска формы? В KR_BLOCK? Посмотрите почту. Что-то не вижу на форуме возможность отправлять ЛС. brig_2000так на всякий случай: Trigger Execution Sequence in Forms 4.5 . В хелпах по более поздним версиям есть такие же статьи. Большое спасибо за ссылочку на статью. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2013, 06:35 |
|
|
start [/forum/topic.php?fid=51&msg=38394243&tid=1878282]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
182ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 248ms |
total: | 516ms |
0 / 0 |