Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / FRM-40654 Запись обновлена другим пользователем / 13 сообщений из 13, страница 1 из 1
12.01.2011, 16:03
    #37054758
qwe458923
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FRM-40654 Запись обновлена другим пользователем
Всех с новым годом - с новым счастьем!!!!))))
У меня вопрос: блок выводится из базы, на МНОГИЕ поля вешаю триггер key-next-item, в котором описываю арифметические действия , при переходе от поля к поля, триггер срабатывает и обновляет существующие записи. В каждом триггере стоит commit_form . То обновит, то выпадет ошибка FRM-40654 Запись обновлена другим пользователем. выйдешь-зайдешь можно опять обновлять, триггеры ни какие на таблицах не весят
...
Рейтинг: 0 / 0
13.01.2011, 09:42
    #37055945
qwe458923
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FRM-40654 Запись обновлена другим пользователем
ну вот говорили же люди триггер висит на таблице...таблица на которой триггер весил из нее бралась дата и в нее ничего не записывалась, после того как отключила тот триггер(которой в принципе и не нужен) ошибка исчезла))))))
...
Рейтинг: 0 / 0
13.01.2011, 12:28
    #37056405
qwe458923
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FRM-40654 Запись обновлена другим пользователем
ДА ПРОБЛЕМА ИСЧЕЗЛА ЕСЛИ ПЕРЕХОЖУ НА ДРУГУЮ СТРОКУ, А ЕСЛИ ОБНОВЛЯЮ ЭТУ ЖЕ ТО ВСЕ РАВНО ОШИБКА ЕСТЬ, ПОДСКАЖИТЕ МОЖЕТ КТО ЗНАЕТ ЧТО СДЕЛАТЬ ЧТОБЫ МОЖНО БЫЛО РЕДАКТИРОВАТЬ ДАННЫЕ НА ОДНОЙ И ТОЙ ЖЕ СТРОКЕ И СОХРАНЯТЬ ИХ ПОЛСЕ КАЖДОГО ЕНТЕРА???
...
Рейтинг: 0 / 0
13.01.2011, 16:20
    #37057163
qwe458923
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FRM-40654 Запись обновлена другим пользователем
Может я неправильно триггер повесила, я вешаю на каждый редактируемый столбец табуляра триггер: key-next-item с текстом:
BEGIN
:NN_RISK_DEBT.KDZ_K:=(:NN_RISK_DEBT.KDZ/NN_RISK_DOP.KDZ(:FHD.ICUSNUM,TO_DATE(:FHD.DAT,'DD.MM.RRRR'))*0.1);

If :SYSTEM.BLOCK_STATUS = 'CHANGED' Then
Commit_Form ;
End if ;
END;
GO_ITEM('NN_RISK_DEBT.DDZ');

форма данные в вычисляемое поле NN_RISK_DEBT.KDZ_K заносит и сохраняет. И даже все отлично если от поля к полю переходить мышкой, а если клавиатурой, то ошибка: FRM-40654 Запись обновлена другим пользователем, причем пробовала не коммитить тоже самое, то есть чтото с навигацией не верно, но вот как иначе, чтобы ввела данные в поле нажала на ентер перешла на след (в этом же блоке если что) и опять, а при этом после того как ввела, в других нередактируемых столбцах данные бы вычислялись????
...
Рейтинг: 0 / 0
14.01.2011, 09:45
    #37058294
gural
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FRM-40654 Запись обновлена другим пользователем
А Formula Column вставить в блок не поможет ?
...
Рейтинг: 0 / 0
08.02.2011, 11:14
    #37103754
qwe458923
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FRM-40654 Запись обновлена другим пользователем
gural, так надо же после ввода данных в предыдущий столбец, менялись данные(арифметические вычисления) в следущем столбце, если вводить формулу то формула срабатывает и на сохраненные данные, а надо чтобы ввели дааные в предыдущий столбец, они сохранились в таблице, перешли на след столбец там произошли вычисления, сохранились, след столбец и тд. если изменения в пред столбце не было то и изменений в послед столбце тоже делать не надо, пусть выводятся на экран сохраненные ранее значения
...
Рейтинг: 0 / 0
08.02.2011, 13:59
    #37104204
ya.vypusck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FRM-40654 Запись обновлена другим пользователем
Если формула не подходит, можно делать все вручную.
На элементы от которых зависят другие, можно поставить POST-CHANGE триггер и в нем уже менять/вычислять зависимые поля.

Правда справка не рекомендует использовать этот триггер.
...
Рейтинг: 0 / 0
09.02.2011, 10:39
    #37106009
qwe458923
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FRM-40654 Запись обновлена другим пользователем
ya.vypusck,да да именно так я и сделала , НО при изменении на одной строке нескольких столбцов выпадает ошибка
FRM-40654 Запись обновлена другим пользователем , выйдешь зайдешь нормально, а потом снова ошибка лезет. Как бы сделать так чтобы эта ошибка не выпадала???
...
Рейтинг: 0 / 0
09.02.2011, 13:13
    #37106506
ya.vypusck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FRM-40654 Запись обновлена другим пользователем
qwe458923,

Как я понял, ошибка возникает на самом себе, а не что кто-то другой изменил запись. Надо смотреть, чем отличается запись в БД от того, что есть в форме и почему так получилось.
...
Рейтинг: 0 / 0
09.02.2011, 22:13
    #37107877
UK0IAI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FRM-40654 Запись обновлена другим пользователем
ya.vypusckqwe458923,

Как я понял, ошибка возникает на самом себе, а не что кто-то другой изменил запись. Надо смотреть, чем отличается запись в БД от того, что есть в форме и почему так получилось.
Попробуйте вместо commit_form вызвать хранимую процедуру, содержащею всего один оператор = commit

Код: plaintext
1.
2.
3.
begin
 commit;
end;


Что то мне подсказывает, что если из формы происходит вызов процедуры, изменяющих данные на уровне субд - то как раз такой способ поможет. Но точно не помню...а проверить негде.
...
Рейтинг: 0 / 0
14.02.2011, 11:44
    #37114607
qwe458923
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FRM-40654 Запись обновлена другим пользователем
UK0IAI,

неа не работает((((((
...
Рейтинг: 0 / 0
14.02.2011, 13:41
    #37114884
qwe458923
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FRM-40654 Запись обновлена другим пользователем
вроде бы получилось. Но правда таким вот образом: тригер key_next_item
COMMIT_DEB; -- это функция commit
GO_ITEM('NN_RISK_DEBT.KDZ_K_DZ');
BEGIN
:NN_RISK_DEBT.KDZ_K_DZ:=NN_RISK_DOP.KKDZ(:FHD.ICUSNUM,TO_DATE(:FHD.DAT,'DD.MM.RRRR'),:NN_RISK_DEBT.ICUSEXT);

end;
COMMIT_DEB;
GO_ITEM('NN_RISK_DEBT.KDZ_K_VALBAL');
BEGIN
:NN_RISK_DEBT.KDZ_K_VALBAL:=NN_RISK_DOP.KKDZ_K_VALBAL(:FHD.ICUSNUM,TO_DATE(:FHD.DAT,'DD.MM.RRRR'),:NN_RISK_DEBT.ICUSEXT);

end;
COMMIT_DEB;
GO_ITEM('NN_RISK_DEBT.DDZ');
...
Рейтинг: 0 / 0
15.02.2011, 09:45
    #37116335
OmegaMale
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FRM-40654 Запись обновлена другим пользователем
qwe458923,

Только непонятно - зачем в Key-Next-Val совершать прыжки туда-сюда?
...
Рейтинг: 0 / 0
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / FRM-40654 Запись обновлена другим пользователем / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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