powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Обновление итема-идентификатора при очищении текстового поля.
13 сообщений из 13, страница 1 из 1
Обновление итема-идентификатора при очищении текстового поля.
    #39390818
QAWSEDRF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, товарищи.
Вопрос достаточно простой. Для начала описание ситуации.
Есть форма. В форме есть блок. В блоке есть 2 элемента, оба имеют тип TEXT ITEM. Первый называется ITEM_ID, хранит числовой идентификатор и не отображается пользователю. Второй называется ITEM_DESC, хранит текстовое описание и отображается пользователю. Для этих 2 элементов настроен один LOV. При выборе значения в нем текстовое присваивается в ITEM_DESC, а числовое в ITEM_ID.
Вроде бы все стандартно и хорошо. НО в момент когда пользователь очищает поле ITEM_DESC от значения и переходит к другим элементам, то поле ITEM_ID сохраняет значение, хотя мне нужно что бы оно тоже очищалось вместе с ITEM_DESC.

Внимание вопрос: Как сделать, что бы при очищении видимого поля ITEM_DESC автоматически очищалось не отображаемое поле ITEM_ID?

P.s. костыль ввиде логики очищения итема в триггере POST_TEXT_ITEM не предлагать. Хотелось бы узнать есть ли стандартный функционал очищения зависимых полей.
...
Рейтинг: 0 / 0
Обновление итема-идентификатора при очищении текстового поля.
    #39390888
Фотография mRdUKE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
QAWSEDRF,

Validate from List => Yes
...
Рейтинг: 0 / 0
Обновление итема-идентификатора при очищении текстового поля.
    #39391488
QAWSEDRF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mRdUKE,

выставил для ITEM_ID указанное вами свойство и ничего не поменялось. Это поле остается также заполненным при когда ITEM_DESC очищаешь.
...
Рейтинг: 0 / 0
Обновление итема-идентификатора при очищении текстового поля.
    #39391727
OldBoyOdeSu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
QAWSEDRF,

давно не работал с формсами, так что могу ошибаться, но вроде when-validate-item срабатывает при изменении полей.
на блок или ITEM_DESC повесить when-validate-item в нём if(:block.ITEM_DESC is null)then :block.ITEM_ID := '';
...
Рейтинг: 0 / 0
Обновление итема-идентификатора при очищении текстового поля.
    #39392168
Jaid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OldBoyOdeSu, это тот же костыль, который просили не предлагать (только вы предлагаете другой триггер использовать), но суть та же. Тоже всегда за-нуливаю в триггере, но думаю должен быть стандартный, более красивый способ.
...
Рейтинг: 0 / 0
Обновление итема-идентификатора при очищении текстового поля.
    #39392169
QAWSEDRF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OldBoyOdeSu,

в таком случае проще на ITEM_DESC в триггер POST-TEXT-ITEM навесить эту логику. Но когда таких элементов становится много, то писать для каждого элемента спец триггер "не айс". Вот думаю может есть логика стандартная для таких случаев.
...
Рейтинг: 0 / 0
Обновление итема-идентификатора при очищении текстового поля.
    #39392641
Фотография mRdUKE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
QAWSEDRFВроде бы все стандартно и хорошо. НО в момент когда пользователь очищает поле ITEM_DESC от значения и переходит к другим элементам, то поле ITEM_ID сохраняет значение, хотя мне нужно что бы оно тоже очищалось вместе с ITEM_DESC.Не стандартно, имхо! Для чего Вам нужен "такой" блок

ITEM_IDITEM_DESCnullnull-X--X-?

Validate from List => Yes, как уже указывал выше, для того, чтобы значение было только из списка, и свойство Required => Yes, чтобы поле было обязательно заполнено, иначе - предлагать очистку записи (CLEAR_RECORD, F6); или перед сохранением, проверять блок, очищать запись с пустым значением..
...
Рейтинг: 0 / 0
Обновление итема-идентификатора при очищении текстового поля.
    #39392894
QAWSEDRF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mRdUKE,
под "Стандартно" я имел ввиду работу стандартных форм в OeBS, там никакой доп логики нигде не прописывается и зависимые ITEM_ID автоматом очищаются, при очищении ITEM_DESC.

блок нужен для того что бы при последующем сохранении в бд сохранялся ITEM_ID с нулевым значением, а не с заполненным.

Пример ситуации. Пользователь создал запись. Выбрал с помощью LOV значения и автоматом у него заполнились ITEM_ID и ITEM_DESC. Сохранил в БД, при этом в бд естественно передался только ITEM_ID, ITEM_DESC не сохраняется.
Затем заново открыл форму и запросил созданную ранее запись. Она отобразилась. Очищает руками поле ITEM_DESC, сохраняет и думает что у него это поле пустое. При этом в БД передалось старое заполненное значение ITEM_ID, так как ITEM_ID остался заполненным.
Далее возникнет казус, пользователь запросит ранее сохраненную запись, ожидая увидеть пусто в ITEM_DESC, а оно у него будет заполнено, так как ITEM_ID ранее автоматом не очистился и имеет значение.
...
Рейтинг: 0 / 0
Обновление итема-идентификатора при очищении текстового поля.
    #39392907
Фотография mRdUKE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
QAWSEDRF,

С OEBS не знаком; а отображение (только просмотр) и редактирование (вставка/удаление) данных я лично реализую в разных блоках / на разных соотв. вкладках, и в принципе не использую вставку новых данных "строчным" методом (по типу MS Excel).
...
Рейтинг: 0 / 0
Обновление итема-идентификатора при очищении текстового поля.
    #39393226
efendi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
QAWSEDRF,

Стандартного решения нет.
Несколько вариантов решения данной проблемы вижу и часто их использую (IMHO):

1. Триггеры POST-TEXT-ITEM, PRE-INSERT, PRE-UPDATE, WHEN-VALIDATE-ITEM.
2. Добавить пустую запись в LOV-список. Ручную очистку запретить.
3. Использовать Calculation mode => Formula (нужна функция и дополнительное поле)
4. Добавить кнопку очистки. Ручную очистку запретить.
5. Если записей в списке немного, то использовать List Item - заполнять при запуске формы. Установить свойство Required => No
...
Рейтинг: 0 / 0
Обновление итема-идентификатора при очищении текстового поля.
    #39393246
Jaid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
efendi,

все это напоминает разные виды костылей)
не, а как стандартные-то формы заналивают поля-идентификаторы? там я таких "танцев-с-бубнами" не припоминаю...
...
Рейтинг: 0 / 0
Обновление итема-идентификатора при очищении текстового поля.
    #39393251
OeBS Dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
QAWSEDRFпод "Стандартно" я имел ввиду работу стандартных форм в OeBSРаз это OeBS, то тебе надо перечитать Oracle E-Business Suite Developer's Guide раздел про зависимые элементы.
...
Рейтинг: 0 / 0
Обновление итема-идентификатора при очищении текстового поля.
    #39394082
efendi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Jaidefendi,

все это напоминает разные виды костылей)
не, а как стандартные-то формы заналивают поля-идентификаторы? там я таких "танцев-с-бубнами" не припоминаю...

Стандартного решения нет. Визард обычно по 1 варианту формы создает, если не ошибаюсь -не пользуюсь им при создании форм, использую свои заготовки.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Обновление итема-идентификатора при очищении текстового поля.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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