powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / работа с APEX API.
22 сообщений из 22, страница 1 из 1
работа с APEX API.
    #35820622
Varlock9000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос такой: кто-нибудь может посоветовать ещё что-нибудь хорошее по APEX API, кроме "API Reference E12855-01" ??
желательно чуть более подробное, и, может быть, с примерами +)
(русскоязычное тоже очень приветствуется(хотя надежды у меня почти нет +) ) )

собственно почему возникает такой вопрос - потому, что в самом E12855-01 совершенно упущен момент работы с этим API... одни функции и кратенькое описание...(т.е. хотелось бы не только "что прменять" чтобы было, но и описание, как это можно применить) а достучаться до значения RADIOGROUP созданной по запросу:
Код: plaintext
Select APEX_ITEM.RADIOGROUP( 1 ,ID,'1',USER_NAME) test FROM USERS
мне уже в течении часа не получается... из E12855-01 выудил только то что это должно выглядеть: APEX_APPLICATION.G_F01 или APEX_UTIL.TABLE_TO_STRING(APEX_APPLICATION.G_F01) или TO_NUMBER(APEX_APPLICATION.G_F01).. ну и другие подобные варианты, перебрал уже все возможные вроде (даже дурацкие типа :F01 и :G_F01), но возвращает либо ошибку, либо NULL стабильно.

З.Ы. версия АРЕХа: 3.1.0.00.32
...
Рейтинг: 0 / 0
работа с APEX API.
    #35821239
Фотография Legi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
работа с APEX API.
    #35822997
Фотография Ales Protiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам нужно читать руководство по PL/SQL, потому что APEX_APPLICATION.G_F01 - это не что иное как pl/sql коллекция. И обращаются с ними также как и с другими коллекциями.
...
Рейтинг: 0 / 0
работа с APEX API.
    #35837412
Varlock9000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поясни плз ещё, в чём именно у меня ошибка обращения к APEX_APPLICATION.G_F01
например, когда я пытаюсь:
Код: plaintext
1.
2.
FOR i in  1 ..APEX_APPLICATION.G_F01.COUNT LOOP
:P107_VIEW7 :=  :P107_VIEW7 || to_char(APEX_APPLICATION.G_F01(i));
END LOOP;
или
Код: plaintext
1.
2.
FOR i in  1 ..APEX_APPLICATION.G_F01.COUNT LOOP
:P107_VIEW7 :=  :P107_VIEW7 + to_number(APEX_APPLICATION.G_F01(i));
END LOOP;
или почему
Код: plaintext
APEX_UTIL.TABLE_TO_STRING(APEX_APPLICATION.G_F01)
мне NULL стабильно возвращает во всех вариантах? хотя в примерах, которые я нашёл именно так предлагалось обращаться к нему. (написано что APEX_UTIL.TABLE_TO_STRING переводит коллекцию в строку)
ничего кроме этого дельного в руководствах по PL/SQL найти я к сожалению не смог...
запрос по которому создавалась APEX_APPLICATION.G_F01 в первом посте.

и ещё вопрос, каковы пределы видимости этих коллекций? т.е. на соседней странице я могу обратится к этой коллекции и получить тот же результат?? ненашёл нигде пока этой информации...
...
Рейтинг: 0 / 0
работа с APEX API.
    #35838429
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Varlock9000Поясни плз ещё, в чём именно у меня ошибка обращения к APEX_APPLICATION.G_F01
например, когда я пытаюсь:
Код: plaintext
1.
2.
FOR i in  1 ..APEX_APPLICATION.G_F01.COUNT LOOP
:P107_VIEW7 :=  :P107_VIEW7 || to_char(APEX_APPLICATION.G_F01(i));
END LOOP;
или
Код: plaintext
1.
2.
FOR i in  1 ..APEX_APPLICATION.G_F01.COUNT LOOP
:P107_VIEW7 :=  :P107_VIEW7 + to_number(APEX_APPLICATION.G_F01(i));
END LOOP;
или почему
Код: plaintext
APEX_UTIL.TABLE_TO_STRING(APEX_APPLICATION.G_F01)
мне NULL стабильно возвращает во всех вариантах? хотя в примерах, которые я нашёл именно так предлагалось обращаться к нему. (написано что APEX_UTIL.TABLE_TO_STRING переводит коллекцию в строку)
ничего кроме этого дельного в руководствах по PL/SQL найти я к сожалению не смог...
запрос по которому создавалась APEX_APPLICATION.G_F01 в первом посте.

и ещё вопрос, каковы пределы видимости этих коллекций? т.е. на соседней странице я могу обратится к этой коллекции и получить тот же результат?? ненашёл нигде пока этой информации...

Без всяких там to_number и to_char просто APEX_APPLICATION.G_F01(i) и все нормально будет!
...
Рейтинг: 0 / 0
работа с APEX API.
    #35838463
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня вопрос в тему но немного другой.
Есть updateable report с составным запросом по нескольким таблицам, чтолбцов около 20 но показываются 6 столбцов причем первый столбец это чекбоксы(создан автоматически при создании табулар форм) а второй столбец радикнопок cозданных через APEX_API следующий столбец это склейка 3-х полей таблицы и остальные 5 и 6 столбцы просто поля.
использую процесс:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
DECLARE
   vRow BINARY_INTEGER;
BEGIN
   :p19_x := NULL;
 
   FOR i IN  1  .. apex_application.g_f01.COUNT
   LOOP
      vRow := apex_application.g_f01(i);
      :p19_x :=
            :p19_x
         || 'строка' || vRow || CHR( 13 )
         || 'столбец 2 ' || apex_application.g_f02(vRow) || CHR( 13 )
         || 'столбец 3 ' || apex_application.g_f03(vRow) || CHR( 13 )
         || 'столбец 4 ' || apex_application.g_f04(vRow) || CHR( 13 )
         || 'столбец 5 ' || apex_application.g_f05(vRow) || CHR( 13 )
         || 'столбец 6 ' || apex_application.g_f06(vRow) || CHR( 13 )
         || 'столбец 7 ' || apex_application.g_f07(vRow) || CHR( 13 )
         || CHR( 13 );
   END LOOP;
END;
столбец 2 выводит код на который повешен радиобуттон а пятый и шестой слобец в репорте выводится в строке 4 и 7 соответственно, а третий столбец(склейка трех полей) вообще нигде нет...
Что за непонятная нумерация??? как мне выцепить нужные столбцы? и почему их 7 если в репорте их 6???
...
Рейтинг: 0 / 0
работа с APEX API.
    #35839342
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему то нумерация судя по некоторым игранием последовательности моего запросу идет не от первого поля в запросе, а с последнего , то есть вообще последний столбец в репорте соответствует последнему полю в запросе и пошло вверх, причем игнорирутся поля с алиасами(составное поле как раз с ним)...
Что за ерунда,помогите разобраться!
...
Рейтинг: 0 / 0
работа с APEX API.
    #35839412
Фотография Ales Protiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну как вы там нумеруете свои айтемы - это только вам известно. Нужно понимать, что эти коллекции уже существуют, и к любой из них можно обратиться. Если создать два айтема с одинаковым номером, то второй перепишет первый и т.д....
Короче - просто аккуратней нужно создавать элементы.
...
Рейтинг: 0 / 0
работа с APEX API.
    #35839511
lshch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне кажется. нумеруются они в той последовательности, в которой расположены в запросе
в Source regiona. Только первым всегда ставится CheckBox. а дальше по запросу
в том числе и не отображаемые.
Можно еще посмотреть исходный код страницы, поискать там например id="f05_0001".
Это будет пятый столбец в первой строке и посмотреть его название. Т.е. хоть как-то связать номера
со столбцами.
...
Рейтинг: 0 / 0
работа с APEX API.
    #35839559
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообщем допер до следующего:
первый столбец чекбоксов у меня остался с табулар форм(delete, update), но удаление мен нужно было а нужен был тока элемент. теперь при обращении к f01(это он и есть) ввиде значения value я получаю не код товара допустим(по которому потом произвожу поиск в таблице и делаю определенные операции), а всего лишь значение выделенной строки, которая мне ничего не дает...
Можно ли как нибудь привязать к value значение кода товара без добавления в запрос функцию
Код: plaintext
APEX_ITEM.CHECKBOX( 1 ,empno)
???
...
Рейтинг: 0 / 0
работа с APEX API.
    #36430825
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А у меня почему-то эта строка

Код: plaintext
:TXT2:=APEX_APPLICATION.G_F01(i);

из кода

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
DECLARE

SELUSERS NUMBER;
COLLECT VARCHAR2( 1600 );
TMP NUMBER;

BEGIN

SELUSERS:=:SEL_USERS;

FOR i in  1 ..APEX_APPLICATION.G_F01.count
LOOP
-- собирает ids в строку через :
--IF (APEX_APPLICATION.G_F01(i) IS NOT NULL) THEN
--TMP:=TO_CHAR(APEX_APPLICATION.G_F01(i));
--COLLECT:=(COLLECT||':'||TMP);
--END IF;

:TXT2:=APEX_APPLICATION.G_F01(i);

END LOOP;

END;

всегда возвращает имя поля, а не его ID. Как можно выцепить сами значения?
...
Рейтинг: 0 / 0
работа с APEX API.
    #36431185
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Foxter,

покажите код запроса, который создаёт у Вас эту коллекцию.
...
Рейтинг: 0 / 0
работа с APEX API.
    #36431423
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Формируется отчет, suPPLer, в который добавлен чекбокс


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
select	 "TC_T_REP"."T_REP_ID" as "T_REP_ID",
	 "TC_REP"."REP_ID" as "REP_ID",
	 "TC_T_REP"."REP_NAME" as "REP_NAME",
apex_item.checkbox( 1 ,'T_REP_ID') "REPID",
	 "TC_T_REP"."DT_START" as "DT_START",
	 "TC_T_REP"."DT_END" as "DT_END",
	 "TC_REP"."DT_IN" as "DT_IN" 
 from	 "TC_T_REP" "TC_T_REP",
	 "TC_REP" "TC_REP" 
 where   "TC_T_REP"."T_REP_ID"="TC_REP"."REP_ID"
...
Рейтинг: 0 / 0
работа с APEX API.
    #36431494
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxterФормируется отчет, suPPLer, в который добавлен чекбокс


Код: plaintext
1.
2.
...
apex_item.checkbox( 1 ,'T_REP_ID') "REPID",
...


По-моему, Вы не видите разницы между одинарными кавычками (aka апостроф) и двойными. В двойных кавычках указываются идентификаторы (названия переменных, столбцов, таблиц, пакетов и т.д.). В одинарных - строки-литералы. Почитайте указанную документацию , в частности, п.0.
...
Рейтинг: 0 / 0
работа с APEX API.
    #36431556
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример был взят из 6 главы адвансед тьбториал. но я дейстчительно еще не усвоил разницу между разными кавычками :(

Но когда меняю на с апострофа на кавычки, получаю

автор1 error has occurred
Query cannot be parsed within the Builder. If you believe your query is syntactically correct, check the ''generic columns'' checkbox below the region source to proceed without parsing. ORA-00918: столбец определен неоднозначно
...
Рейтинг: 0 / 0
работа с APEX API.
    #36431721
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxterНо когда меняю на с апострофа на кавычки, получаю

Уберите кавычки вообще от этого столбца и попробуйте выполнить этот запрос в SQL Workshop->SQL Commands.
...
Рейтинг: 0 / 0
работа с APEX API.
    #36431782
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
suPPLerFoxterНо когда меняю на с апострофа на кавычки, получаю

Уберите кавычки вообще от этого столбца и попробуйте выполнить этот запрос в SQL Workshop->SQL Commands.

Без кавычек (также как и с двойными) и в коммандс и в самом билдере - столбец определен неоднозначно. С одинарными - нормально строит отчет.
...
Рейтинг: 0 / 0
работа с APEX API.
    #36432263
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxterБез кавычек (также как и с двойными) и в коммандс и в самом билдере - столбец определен неоднозначно. С одинарными - нормально строит отчет.

Вы никак не поймёте, что с одинарными кавычками Вы явно присваиваете в качестве value всем элементам эту строку в одинарных кавычках. Раз столбец объявлен неоднозначно, то добавьте к нему псевдоним нужной таблицы, например:

Код: plaintext
apex_item.checkbox( 1 ,"TC_T_REP"."T_REP_ID") "REPID",
...
Рейтинг: 0 / 0
работа с APEX API.
    #36435788
Перекотихода
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Качай отличную книгу с:
http://nnm.in.ua
...
Рейтинг: 0 / 0
работа с APEX API.
    #36437807
Перекотихода
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Varlock9000,

Вот книга в отличном качестве PRO APEX
...
Рейтинг: 0 / 0
работа с APEX API.
    #36437811
Перекотихода
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Varlock9000,

PRO APEX
...
Рейтинг: 0 / 0
работа с APEX API.
    #36441420
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
suPPLerFoxterБез кавычек (также как и с двойными) и в коммандс и в самом билдере - столбец определен неоднозначно. С одинарными - нормально строит отчет.

Вы никак не поймёте, что с одинарными кавычками Вы явно присваиваете в качестве value всем элементам эту строку в одинарных кавычках. Раз столбец объявлен неоднозначно, то добавьте к нему псевдоним нужной таблицы, например:

Код: plaintext
apex_item.checkbox( 1 ,"TC_T_REP"."T_REP_ID") "REPID",


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


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