powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / FORMS 6i вставка строки
5 сообщений из 5, страница 1 из 1
FORMS 6i вставка строки
    #38068026
Ирина В.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Подскажите, пожалуйста, что почитать или сделать!
На форме 2 связанных блока.
1) Когда вставляешь в деталь новую строку, она сначала делает update на неё, а потом только insert. Соответственно, после update значения check box и родительского id слетают в null и выходит ошибка от insert'а. Почему forms так реагирует? Может какое-то описание блока не то? Сколько до этого форм ни делала, все было замечательно, а тут бьюсь об стену( и ничего толкового не могу найти
Процедуры update'а и insert'а на форме (самые обыкновенные):
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
PROCEDURE on_insert
   IS
   v_null NUMBER := NULL;
   BEGIN   	  
   	  if (:SYSTEM.CURSOR_BLOCK = 'GLOSSARY_GR') then 
      	p_GLOSSARY.ins (
   			 		v_null
   			 	 ,v_null
   			 	 ,:GLOSSARY_GR.title
   			 	 ,:GLOSSARY_GR.is_can_edit
   			 	 ,:GLOSSARY_GR.comments
                  );
   		else 
      	p_GLOSSARY.ins (
   			 		v_null
   			 	 ,:GLOSSARY_GR.id
   			 	 ,:GLOSSARY_VAL.title
   			 	 ,:GLOSSARY_VAL.is_can_edit
   			 	 ,:GLOSSARY_VAL.comments
                  );
   		end if;
   END on_insert; 
 PROCEDURE on_update
   IS
   BEGIN   	 
      if (:SYSTEM.CURSOR_BLOCK = 'GLOSSARY_GR') then 
      	p_GLOSSARY.upd (
   			 		:GLOSSARY_GR.id
   			 	 ,:GLOSSARY_GR.parent_id
   			 	 ,:GLOSSARY_GR.title
   			 	 ,:GLOSSARY_GR.is_can_edit
   			 	 ,:GLOSSARY_GR.comments
                  );
   		else 
      	p_GLOSSARY.upd (
   			 		:GLOSSARY_VAL.id
   			 	 ,:GLOSSARY_VAL.parent_id
   			 	 ,:GLOSSARY_VAL.title
   			 	 ,:GLOSSARY_VAL.is_can_edit
   			 	 ,:GLOSSARY_VAL.comments
                  );
   	end if;
   END on_update;


2) Именно в этой форме даже если ничего не изменял при закрытии формы она предлагает сохранить изменения! Как вообще с таким бороться?
...
Рейтинг: 0 / 0
FORMS 6i вставка строки
    #38068684
OldBoyOdeSu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ирина В.,

хм... что то непонятно совсем, блоки бывают базовые (основаны на таблице или процедуре, имеют триггеры на уровне блока QUERY PROCEDURE, INSERT UPDATE DELETE (смотря какие задать)) и тогда по commit_form они вызываются
не базовые там самому надо всё реализовывать, но и формс не следит за ними, тогда странно
Ирина В.если ничего не изменял при закрытии формы она предлагает сохранить изменения!

на сколько могу судить вам надо сделать базовые блоки основанные на процедуре из БД
12038929
...
Рейтинг: 0 / 0
FORMS 6i вставка строки
    #38068905
Ирина В.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OldBoyOdeSu,
Уточняю: блок основан на таблице (не на view), на блок повешены триггеры on_update, on_insert, on_lock, on_delete. Эти триггеры вызывают процедуры из БД (p_GLOSSARY - это пакет на БД).
...
Рейтинг: 0 / 0
FORMS 6i вставка строки
    #38069241
bev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ли на этом блоке триггер POST-QUERY, в котором изменяются какие-либо базовые итемы блока?
Или на итемах триггеры с аналогичными действиями, в рез-те которых статус записи/блока меняется на CHANGED ?
...
Рейтинг: 0 / 0
FORMS 6i вставка строки
    #38069310
Ирина В.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bev,

POST_QUERY нет. на item вообще никаких триггеров нет. Просто из таблицы данные заливаются и все.

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


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