powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Forms 6i: поле с режимом вычисления = Formula не сохр. в БД
8 сообщений из 8, страница 1 из 1
Forms 6i: поле с режимом вычисления = Formula не сохр. в БД
    #36327615
Здравствуйте!

Помогите пожалуйста: у меня на форме есть базовое поле, которое вычислется по определенной сложной формуле. Есть функция, которая делает этот расчет.
Ставлю полю на форме режим вычисления: Формула, в качестве формулы пишу вызов моей функции. Все прекрасно считается, но в БД полученное значение не сохраняется. Если режим вычисления "Формула" убрать, и вводить значение этого поля с экрана - то сохраняется.
Как сделать так, чтобы и режим вычисления был Формула, и в БД значение поля сохранялось?
...
Рейтинг: 0 / 0
Forms 6i: поле с режимом вычисления = Formula не сохр. в БД
    #36328260
Всегда!!!!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ольга,

Впечатление, что просто запись не помечается для вставки/обновления.
Но по предоставленной информации сказать что-то более определенное трудно.

Попробуйте в Key-Commit написать:
Код: plaintext
1.
2.
message(:system.record_status);
commit_form;

Теперь, когда значение посчиталось формулой и эта же запись является текущей в блоке, нажмите "Сохранить".

Что показывает сообщение?
...
Рейтинг: 0 / 0
Forms 6i: поле с режимом вычисления = Formula не сохр. в БД
    #36328330
Всегда!!!!!, здравствуйте!

CHANGED или INSERT - в зависимости от того, добавляю запись или нет.
Видимо, Forms так работает - если поле имеет режим вычисления Formula, то оно д.б. не базовым:-(
...
Рейтинг: 0 / 0
Forms 6i: поле с режимом вычисления = Formula не сохр. в БД
    #36328668
Алымов Анатолий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько помню поле с Formula - небазовое поле
...
Рейтинг: 0 / 0
Forms 6i: поле с режимом вычисления = Formula не сохр. в БД
    #36328681
Алымов Анатолий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы сделал данное поле обычным text item или display item, а вызов расчета реализовал в триггерах validate полей, от которых оно зависит
...
Рейтинг: 0 / 0
Forms 6i: поле с режимом вычисления = Formula не сохр. в БД
    #36328848
Всегда!!!!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ольга (Самара)Всегда!!!!!, здравствуйте!

CHANGED или INSERT - в зависимости от того, добавляю запись или нет.
Видимо, Forms так работает - если поле имеет режим вычисления Formula, то оно д.б. не базовым:-(

Можно попробовать так.
Вычисляемое поле сделать небазовым, назовем BLOCK.formula_item
А базовое поле (BLOCK.database_item) будем заполнять в триггерах PRE-INSERT, PRE-UPDARE этого блока:
:BLOCK.database_item := :BLOCK.formula_item;


Также можно поэксперементировать со свойством 'Synchronize with Item'.
...
Рейтинг: 0 / 0
Forms 6i: поле с режимом вычисления = Formula не сохр. в БД
    #36329203
Я так и сделала - навесила на when-validate-item элементов, участвующих в расчетах, а также на key-commit.
Но там расчет сложный - зависит от изменения кучи полей, расположенных на форме, и мне не нравится, что перерасчет приходится вызывать в большом количестве триггеров. Хотелось бы в одном месте - на формуле. Но, видимо, нельзя так сделать.
...
Рейтинг: 0 / 0
Forms 6i: поле с режимом вычисления = Formula не сохр. в БД
    #36329860
Алымов Анатолий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ольга (Самара)Я так и сделала - навесила на when-validate-item элементов, участвующих в расчетах, а также на key-commit.
Но там расчет сложный - зависит от изменения кучи полей, расположенных на форме, и мне не нравится, что перерасчет приходится вызывать в большом количестве триггеров. Хотелось бы в одном месте - на формуле. Но, видимо, нельзя так сделать.
А вариант Всегда!!! ?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Forms 6i: поле с режимом вычисления = Formula не сохр. в БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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