|
|
|
отловить изменения items в регионе
|
|||
|---|---|---|---|
|
#18+
Всех приветствую, не знаю сижу туплю и не знаю как подойти к проблеме. Есть регион с определенными полями, юзер может изменять значение полей и кликать на "apply". При этом если он что то на самом деле изменил хочется отсылать мыло на определенный адрес. Как это лучше сделать в apex'e ? Просто ткните в нужном направлении. Сижу сейчас читаю про apex_collection, может с ним как от можно будет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2013, 18:03 |
|
||
|
отловить изменения items в регионе
|
|||
|---|---|---|---|
|
#18+
bolBES, Поля читаются из базы ? Apply вызывает сабмит ? Если да, то просто в процедуре сравние значения в таблице и значения итемов. Если нужно без сабмитов, то на $.ready заполняете яваскриптовые переменные значениями полей, а на скрипт посаженный на Apply в яваскрипте сравниваете и запускаете он деманд процедуру, обновляете переменные и ждете следующего Apply ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2013, 18:19 |
|
||
|
отловить изменения items в регионе
|
|||
|---|---|---|---|
|
#18+
bolBESЕсть регион с определенными полями, юзер может изменять значение полей и кликать на "apply". При этом если он что то на самом деле изменил хочется отсылать мыло на определенный адрес. Как это лучше сделать в apex'e ? 0. Создать из запроса к таблице коллекцию с контрольной суммой. RTFM APEX_COLLECTION.create_collection_from_query и дальше, параметр p_generate_md5. 1. Вывести форму запросом из этой коллекции. 2. При сабмите обработать форму вручную. 3а. Вызвать APEX_COLLECTION.collection_has_changed и узнать, изменилась ли коллекция. Насколько я понял, проверяется совпадение значения original_md5 для строки с новой контрольной суммой. 3б. Сами сверяем в цикле контрольную сумму для очередного набора APEX_APPLICATION.g_fNN(i) с контрольной суммой в apex_collections и обновляем в таблице только изменившиеся строки. Можно использовать APEX_ITEM.md5. 4. Отправить письмо через APEX_MAIL, если что-то действительно поменялось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2013, 22:37 |
|
||
|
отловить изменения items в регионе
|
|||
|---|---|---|---|
|
#18+
CasufibolBES, Поля читаются из базы ? Apply вызывает сабмит ? Если да, то просто в процедуре сравние значения в таблице и значения итемов. да, поля из базы и apply вызывает сабмит. Перед сабмитом вызываю процесс который читает из таблицы строку в apex_collection - это типа старые данные. В измеменный ITEMS разумеется новые данные если их изменили. Сижу думаю как бы теперь красивее все это дело сравнить, что именно было изменено ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 16:54 |
|
||
|
отловить изменения items в регионе
|
|||
|---|---|---|---|
|
#18+
suPPLerbolBESЕсть регион с определенными полями, юзер может изменять значение полей и кликать на "apply". При этом если он что то на самом деле изменил хочется отсылать мыло на определенный адрес. Как это лучше сделать в apex'e ? 0. Создать из запроса к таблице коллекцию с контрольной суммой. RTFM APEX_COLLECTION.create_collection_from_query и дальше, параметр p_generate_md5. 1. Вывести форму запросом из этой коллекции. 2. При сабмите обработать форму вручную. 3а. Вызвать APEX_COLLECTION.collection_has_changed и узнать, изменилась ли коллекция. Насколько я понял, проверяется совпадение значения original_md5 для строки с новой контрольной суммой. 3б. Сами сверяем в цикле контрольную сумму для очередного набора APEX_APPLICATION.g_fNN(i) с контрольной суммой в apex_collections и обновляем в таблице только изменившиеся строки. Можно использовать APEX_ITEM.md5. 4. Отправить письмо через APEX_MAIL, если что-то действительно поменялось. 2. вот это интересует больше всего. Интересно можно ли сравнивать members двух идентичных apex_collections и вылавливать именно те что не одинаковы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 17:09 |
|
||
|
отловить изменения items в регионе
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 17:42 |
|
||
|
отловить изменения items в регионе
|
|||
|---|---|---|---|
|
#18+
suPPLerbolBES, можно сравнивать контрольные суммы, используя APEX_COLECTION.get_member_md5 . сорри немного запутался в терминах. Сравнивать хочется не мемберов а именно поля. Например отловить что у двух мемберов с001 различаются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 18:22 |
|
||
|
отловить изменения items в регионе
|
|||
|---|---|---|---|
|
#18+
bolBES, это какой-то самописный аудит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 18:34 |
|
||
|
|

start [/forum/topic.php?fid=50&fpage=47&tid=1875612]: |
0ms |
get settings: |
16ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 377ms |

| 0 / 0 |
