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

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

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

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

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

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

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

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


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