powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Структура приложения Oracle Forms
11 сообщений из 11, страница 1 из 1
Структура приложения Oracle Forms
    #32224133
LTA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LTA
Гость
Я только только начал разбираться в Oracle Forms пожалуйста объясните , как правильней сделать

У меня куча простых справочников, мне сделать одну форму в которой множество окон, или же сделать для каждого справочника отдельную форму.

И что предоставляют собой Окна и Форма на эране?
Форма - это логическая единица программы, или логическая бизнес-функция программы, а Окна - это реализация логической единицы
...
Рейтинг: 0 / 0
Структура приложения Oracle Forms
    #32224218
LTA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LTA
Гость
Может кто нибудь посоветует литературу по Oracle Forms
...
Рейтинг: 0 / 0
Структура приложения Oracle Forms
    #32224301
Doctor013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть книга Developer / 2000, но она не очень. HELP однозначно лучше.
...
Рейтинг: 0 / 0
Структура приложения Oracle Forms
    #32224305
LTA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LTA
Гость
У меня хелп не встал, можно ли help установить отдельно
...
Рейтинг: 0 / 0
Структура приложения Oracle Forms
    #32224328
brainwashed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может проще поспрашивать?
У модуля (формы) может быть куча окон... Но практика показывает, что лучше за этим не гнаться.1,2..3-максимум. В будущем проще будет разбираться:)
...
Рейтинг: 0 / 0
Структура приложения Oracle Forms
    #32224335
Doctor013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Он у меня есть одним файлом PDF, если нужен, вышлю
...
Рейтинг: 0 / 0
Структура приложения Oracle Forms
    #32224345
LTA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LTA
Гость
Пришли пожалуйста на ящик t_latypov@fdp.ru
...
Рейтинг: 0 / 0
Структура приложения Oracle Forms
    #32225030
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДЛЯ СПРАВОЧНИКОВ ЛУЧЬШЕ ВСЕГО ДЕЛАТЬ НОВЫЕ ФОРМЫ (МНОГО), НО ОНИ ВСЕ ДОЛЖНЫ БЫТЬ ОДИНАКОВЫЕ ПО ВНЕШНЕМУ ВИДУ.

Обычно у меня уходит минут 15 времени - чтобы из одной формы создать другую (скопировать и изменить)

Далее, используйте простые имена блоков , например - Q для блока полей запроса + кнопки) и например - D для блока данных. Тогда легче из одной формы сделать другую

Вызывать формы справочника можно через CALL. В форме справочника есть две кнопки - записать и выйти. Там где записать - я обычно делаю присвоение -
глобальная переменная = код справочника (не забудьте в инициализировать эту глоб_перем при открытии формы справочника) а при выйти - не делаю.

Это дает мне возможность да/нет передавать код справочника вызывающей форме.

Вызывающая форма всегда сначала пишет нулл в глобальн_перем, потом делает CALL а потом проверяет - нет ли NULL в этой глобальн_перем и если нет - может присвоить код справочника в свои данные.

Для вызова справочника я всегда делаю в родительской форме кнопку с типовой иконкой. Таких кнопок обычно две - одна вызывает list_values а другая - делает CALL

вызов list_values по кнопке - можно организовать так: вместо вызова

list_values пишем

вызов процедуры, например этой

Код: plaintext
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.
PROCEDURE show_val_cli IS
  a_value_chosen BOOLEAN;
BEGIN
  a_value_chosen := Show_Lov('L_CLI');  --вызываем сам list_values
 
  IF NOT a_value_chosen THEN   -- юзер не нашел ниче в справочнике и хочет редактировать справочник
 

     :global.cd_partner := - 1 ;  -- хочу чтобы справочник клиентов открылся в режиме ввода нового значения на автомате
 
     call_form('new_part',no_hide);  --вызываем форму справочника клиентов
 

     if :global.cd_partner is not null then  -- форма справочника возвращает свой код
 

        :d.cd_client := to_number(:global.cd_partner);   --используем код как хотим
 
        :d.nm_client := gnm.client(:d.cd_client);  --используем код как хотим
 

        :global.cd_partner := - 1 ;  -- сбросим свой флаг сразу - чтобы другим прогам не мешал никогда
 
     end if;
   end if;  

END;


В итоге мы получаем модульную систему, и собираем все как из кирпичиков.

Еще аргумент - много форм - малые файлы ран_тайм модулей, меньше нагрузка на сеть - есть все ран_тайм лежат на файл-сервере (удобно).

Можно сформулировать типовые свойства формы справочника

1. Может работать автономно и да/нет возвращать код вызывающей форме
2. Имеет функции быстрого поиска значения в справочнике по ключевым полям
3. Имеет в себе кнопки - для изменения порядка сортировки используя динамическое определения ORDER BY
4. Умеет выводить себя в Excel
5. что-там -еще
...
Рейтинг: 0 / 0
Структура приложения Oracle Forms
    #32524338
oramike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Жаль я раньше не прочитал, много времени убил на изобретение велосипеда.

Несколько предложений:

Использовать глобальную переменную :global.cd_partner в MDI может вызвать проблемы (насколько с логикой разобрался). Поэтому имя глобальной переменной передавать в вызываемую форму-справочник лучше через параметер (вызывающая форма сможет сгенерить уникальное имя). В этой-же глобальной переменной можно вернуть признак закрытия формы-справочника, для организации псевдомодального режима (запретить навигацию в вызывающую форму пока форма-справочник открыта).

Можно сформулировать типовые свойства формы справочника
1. Может работать автономно и да/нет возвращать код вызывающей форме
2. Имеет функции быстрого поиска значения в справочнике по ключевым полям
3. Имеет в себе кнопки - для изменения порядка сортировки используя динамическое определения ORDER BY
4. Умеет выводить себя в Excel
5. что-там -еще

Через параметры в форму-справочник можно передать так-же следующий функционал:
6. Название окна (форма-справочник обычно состоит из одного окна).
7. Сортировку по умолчанию (для ORDER BY)
8. Запрос по умолчанию (для DEFAULT_WHERE) и выполнить его в WHEN-NEW-FORM-INSTANCE.
9. Запретить пользователю выполнять ряд операций (например, удаление, вставку, очистку записей).
10. и т.п.

Через глобальную переменную можно передать название модуля меню, которое нужно использовать (оно для одной подсистемы обычно 1 должно быть). Через REPLACE_MENU подключить его. Более красивого решения я не нашел, если кто знает сообщите. Это нужно, что-бы одну и ту-же форму в разных подсистемах использовать можно было.

Пункты меню должны настроиться соответственно возможностям пользователя (вставка, удаление, очистка записей и т.п.)
...
Рейтинг: 0 / 0
Структура приложения Oracle Forms
    #32524340
oramike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Жаль я раньше не прочитал, много времени убил на изобретение велосипеда.

Несколько предложений:

Использовать глобальную переменную :global.cd_partner в MDI может вызвать проблемы (насколько с логикой разобрался). Поэтому имя глобальной переменной передавать в вызываемую форму-справочник лучше через параметер (вызывающая форма сможет сгенерить уникальное имя). В этой-же глобальной переменной можно вернуть признак закрытия формы-справочника, для организации псевдомодального режима (запретить навигацию в вызывающую форму пока форма-справочник открыта).

Можно сформулировать типовые свойства формы справочника
1. Может работать автономно и да/нет возвращать код вызывающей форме
2. Имеет функции быстрого поиска значения в справочнике по ключевым полям
3. Имеет в себе кнопки - для изменения порядка сортировки используя динамическое определения ORDER BY
4. Умеет выводить себя в Excel
5. что-там -еще

Через параметры в форму-справочник можно передать так-же следующий функционал:
6. Название окна (форма-справочник обычно состоит из одного окна).
7. Сортировку по умолчанию (для ORDER BY)
8. Запрос по умолчанию (для DEFAULT_WHERE) и выполнить его в WHEN-NEW-FORM-INSTANCE.
9. Запретить пользователю выполнять ряд операций (например, удаление, вставку, очистку записей).
10. и т.п.

Через глобальную переменную можно передать название модуля меню, которое нужно использовать (оно для одной подсистемы обычно 1 должно быть). Через REPLACE_MENU подключить его. Более красивого решения я не нашел, если кто знает сообщите. Это нужно, что-бы одну и ту-же форму в разных подсистемах использовать можно было.

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


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