powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / отловить изменения items в регионе
9 сообщений из 9, страница 1 из 1
отловить изменения items в регионе
    #38344148
bolbes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всех приветствую,

не знаю сижу туплю и не знаю как подойти к проблеме.

Есть регион с определенными полями, юзер может изменять значение полей и кликать на "apply". При этом если он что то на самом деле изменил хочется отсылать мыло на определенный адрес. Как это лучше сделать в apex'e ?
Просто ткните в нужном направлении. Сижу сейчас читаю про apex_collection, может с ним как от можно будет ?
...
Рейтинг: 0 / 0
отловить изменения items в регионе
    #38344177
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bolBES,

Поля читаются из базы ? Apply вызывает сабмит ? Если да, то просто в процедуре сравние значения в таблице и значения итемов.

Если нужно без сабмитов, то на $.ready заполняете яваскриптовые переменные значениями полей, а на скрипт посаженный на Apply в яваскрипте сравниваете и запускаете он деманд процедуру, обновляете переменные и ждете следующего Apply
...
Рейтинг: 0 / 0
отловить изменения items в регионе
    #38344435
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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, если что-то действительно поменялось.
...
Рейтинг: 0 / 0
отловить изменения items в регионе
    #38345660
bolbes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CasufibolBES,

Поля читаются из базы ? Apply вызывает сабмит ? Если да, то просто в процедуре сравние значения в таблице и значения итемов.



да, поля из базы и apply вызывает сабмит. Перед сабмитом вызываю процесс который читает из таблицы строку в apex_collection - это типа старые данные. В измеменный ITEMS разумеется новые данные если их изменили. Сижу думаю как бы теперь красивее все это дело сравнить, что именно было изменено
...
Рейтинг: 0 / 0
отловить изменения items в регионе
    #38345692
bolbes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 и вылавливать именно те что не одинаковы
...
Рейтинг: 0 / 0
отловить изменения items в регионе
    #38345762
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bolBES,

можно сравнивать контрольные суммы, используя APEX_COLECTION.get_member_md5 .
...
Рейтинг: 0 / 0
отловить изменения items в регионе
    #38345862
bolbes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
suPPLerbolBES,

можно сравнивать контрольные суммы, используя APEX_COLECTION.get_member_md5 .

сорри немного запутался в терминах. Сравнивать хочется не мемберов а именно поля. Например отловить что у двух мемберов с001 различаются
...
Рейтинг: 0 / 0
отловить изменения items в регионе
    #38345889
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bolBES,

это какой-то самописный аудит?
...
Рейтинг: 0 / 0
отловить изменения items в регионе
    #38346986
loggin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подобную задачу я сделал с помощью JS и ondemand
Создал модель данных, повесил сравнение на событие onkeyup, если были изменения то выполнял асинхронный запрос на сервер и вызывал ondemand процесс.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / отловить изменения items в регионе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]