Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle APEX Новый топик    Ответить
 Submit на нескольких страницах  [new]
Титов Артем
Member

Откуда: МО
Сообщений: 283
Прошу подсказать.

Есть IR. Если с него я открываю в отдельных вкладках несколько страниц для редактирования данных, то
при сабмите каких-либо из этих страниц часто вылетает ошибка:
Current version of data in database has changed since user initiated update process. current row version identifier =
"B0647C7681D5948B280A49D652B78601" application row version identifier = "A4D9346BA7B4F436E9B1F00C118E275A"

Параметр страницы "Allow duplicate page submissions" в разделе Duplicate Submission установлен в значение "Yes"
8 сен 14, 15:14    [16550242]     Ответить | Цитировать Сообщить модератору
 Re: Submit на нескольких страницах  [new]
Gustly
Member

Откуда:
Сообщений: 1409
Тут проблема в апексовом механизме апдейта. Как отключить данную проверку в процессе не нашел. Как вариант, переписать на ручной апсерт.
8 сен 14, 15:36    [16550402]     Ответить | Цитировать Сообщить модератору
 Re: Submit на нескольких страницах  [new]
Титов Артем
Member

Откуда: МО
Сообщений: 283
Gustly
Тут проблема в апексовом механизме апдейта. Как отключить данную проверку в процессе не нашел. Как вариант, переписать на ручной апсерт.


Т.е. сохранять данные PL/SQL процедурой, например, минуя стандартный для APEX механизм сабмита?
8 сен 14, 15:41    [16550432]     Ответить | Цитировать Сообщить модератору
 Re: Submit на нескольких страницах  [new]
SvDev
Member

Откуда: Челябинск
Сообщений: 1942
Титов Артем,

Вообще не вижу, в чем проблема. Или вы хотите старые версии данных редактировать зачем-то ? Вопрос, зачем ?

Просто переведите сообщение. Например, я её перевёл так:

insert into "&apex_schema".wwv_flow_messages$(flow_id, name, message_language, message_text, security_group_id) 
values( &app_id, 'APEX.DATA_HAS_CHANGED', 'ru', 'Данные, с которыми вы работаете, устарели, обновите страницу и повторите попытку. Контрольная сумма строки = "%0", в то время как ожидается = "%1". Если ошибка повторяется обратитесь в техническую поддержку.', &security_group_id );
8 сен 14, 15:42    [16550436]     Ответить | Цитировать Сообщить модератору
 Re: Submit на нескольких страницах  [new]
Титов Артем
Member

Откуда: МО
Сообщений: 283
SvDev
Титов Артем,

Вообще не вижу, в чем проблема. Или вы хотите старые версии данных редактировать зачем-то ? Вопрос, зачем ?

Просто переведите сообщение. Например, я её перевёл так:

insert into "&apex_schema".wwv_flow_messages$(flow_id, name, message_language, message_text, security_group_id) 
values( &app_id, 'APEX.DATA_HAS_CHANGED', 'ru', 'Данные, с которыми вы работаете, устарели, обновите страницу и повторите попытку. Контрольная сумма строки = "%0", в то время как ожидается = "%1". Если ошибка повторяется обратитесь в техническую поддержку.', &security_group_id );


Нет. Не старые данные. Я из IR открываю на редактирование на нескольких вкладках несколько разных записей, а не одну и ту же. В итоге не могу потом эти записи сохранять.
Если открыть одну запись (или записи по очереди) и потом её сохранить, то ошибки нет.
8 сен 14, 15:47    [16550467]     Ответить | Цитировать Сообщить модератору
 Re: Submit на нескольких страницах  [new]
Gustly
Member

Откуда:
Сообщений: 1409
Такого поведения быть не должно, значит где-то все таки есть пересечение.
8 сен 14, 15:54    [16550523]     Ответить | Цитировать Сообщить модератору
 Re: Submit на нескольких страницах  [new]
SvDev
Member

Откуда: Челябинск
Сообщений: 1942
Титов Артем,

Это ошибка возникает, если вы откроете на разных вкладках одни и те же данные и будете их редактировать в этих же разных вкладках.

Иногда еще возникает такое постоянное сообщение, при некоторых комбинациях свойств в некоторых версиях, на всяких display only атрибутах / определенном яваскрипте / криво настроенном Tabular Form и др. но это не связано с вкладками и заранее с чем это связано не угадаешь.

Создайте страницу Мастером: Form > Form on a Table with Report, потом сравните страницы чем различаются.
8 сен 14, 16:08    [16550615]     Ответить | Цитировать Сообщить модератору
 Re: Submit на нескольких страницах  [new]
Титов Артем
Member

Откуда: МО
Сообщений: 283
Gustly
Такого поведения быть не должно, значит где-то все таки есть пересечение.


Пересечение действительно нашлось.

Из IR-отчета страницы (страницы_1) редактирования данных у меня открываются на отдельных вкладках (свойство Link Attributes группы Column Link для столбца связи ID установлено в target="_blank")

Т.к. полей для редактирования у меня более 200, то фактически я разделил страницу редактирования на 4 страницы (страницы_2), переход между которыми реализовал через Branch to URL с передачей ID (сабмит при переходе также есть, иначе потеряю изменения). Связь между страницами_2 осуществляется через значение итема, который содержит ID записи в таблице и получен первоначально из IR.

Если я открываю с IR несколько страниц, а потом внутри этих страниц_1 начинаю переключаться по страницам_2, то в какой-то момент ID в итемах связи становятся одинаковыми между страницами_1, в итоге получается пересечение и соответствующая ошибка.

Как можно избежать этого? Как сделать так, чтобы значения итема связи на разных вкладках браузера всегда оставались первоначальными?

К сообщению приложен файл. Размер - 88Kb
9 сен 14, 10:27    [16552985]     Ответить | Цитировать Сообщить модератору
 Re: Submit на нескольких страницах  [new]
Gustly
Member

Откуда:
Сообщений: 1409
Механизм не очень понял. Но можно например нужное значение хранить в пакетной переменной, и менять его когда это необходимо. А вообще такое разделение довольно странно.
9 сен 14, 11:25    [16553303]     Ответить | Цитировать Сообщить модератору
 Re: Submit на нескольких страницах  [new]
SvDev
Member

Откуда: Челябинск
Сообщений: 1942
Титов Артем
Как можно избежать этого? Как сделать так, чтобы значения итема связи на разных вкладках браузера всегда оставались первоначальными?

Если я правильно понял, то значение айтемса связи становится одинаковым, из-за того, что одна и таже страница открыта в разных вкладках с разными данными.

Избежать - передавайте его в url (branch-е)

:::PX_ITEM_NAME:&PX_ITEM_NAME.
9 сен 14, 11:45    [16553442]     Ответить | Цитировать Сообщить модератору
 Re: Submit на нескольких страницах  [new]
Титов Артем
Member

Откуда: МО
Сообщений: 283
SvDev
Титов Артем
Как можно избежать этого? Как сделать так, чтобы значения итема связи на разных вкладках браузера всегда оставались первоначальными?

Если я правильно понял, то значение айтемса связи становится одинаковым, из-за того, что одна и таже страница открыта в разных вкладках с разными данными.

Избежать - передавайте его в url (branch-е)

:::PX_ITEM_NAME:&PX_ITEM_NAME.



Пример:
Я изначально открываю две страницы (на разных вкладках), у которых значения ID в итемах разные, т.е. они ссылаются в таблице на разные записи.
Потом на этих вкладках я начинаю переходить к другим группам вопросов-страницам (на приложенной картинке в одном из предыдущих сообщений вверху слева видны кнопки перехода, через Branch to Url, сабмит тоже есть), но нахожусь внутри вкладок.
По результатам этих переходов значения ID в итемах на вкладках становятся одинаковыми.
В бранче параметры передаются именно так, как вы написали.
9 сен 14, 12:02    [16553547]     Ответить | Цитировать Сообщить модератору
 Re: Submit на нескольких страницах  [new]
SvDev
Member

Откуда: Челябинск
Сообщений: 1942
Титов Артем
В бранче параметры передаются именно так, как вы написали.

Значит именно айтемс связи именно в том бранче не так вы передаете.
Суть в том, что когда вы сабмитите страницу вместе с этим значением связи, в этот момент он у вас берётся со страницы и значение там какое нужно, дальше срабатывает бранч, это значение вы и должны сохранить там через &P_ITEM_NAME.
таким образом он у вас должен быть виден на последней странице в url с актуальным значением.

Возможно он у вас потом переопределяется в процессах еще в каком-то месте, воспользуйтесь apex debug.
9 сен 14, 12:17    [16553643]     Ответить | Цитировать Сообщить модератору
 Re: Submit на нескольких страницах  [new]
SvDev
Member

Откуда: Челябинск
Сообщений: 1942
Возможно еще он у вас не на той странице определен, поэтому его submit не цепляет.
Если у вас на второй странице тоже submit, тогда на каждой странице по такому айтемсу связи должно быть.
9 сен 14, 12:22    [16553672]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Submit на нескольких страницах  [new]
ASKurkin
Member

Откуда:
Сообщений: 27
Не нашли как решить проблему?
14 сен 17, 17:40    [20796660]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle APEX Ответить