powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / APEX 4.2 вопрос по использованию checkbox
7 сообщений из 7, страница 1 из 1
APEX 4.2 вопрос по использованию checkbox
    #39060571
DKis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
На форме есть чекбоксы.
Читал в доке про коллекции g_fXX, но не разобрался, как определить номер коллекции.
Написал простой процесс, который по нажатию кнопки должен был вернуть число отмеченных чекбоксов:
apex_application.g_print_success_message := APEX_APPLICATION.g_f11.COUNT;
но он все время возвращает 0.
Подскажите пожалуйста, каким образом можно получить значения всех отмеченных чекбоксов?
...
Рейтинг: 0 / 0
APEX 4.2 вопрос по использованию checkbox
    #39060592
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Форумчане должны сами догадаться до всего остального?
Например как же эти чекбоксы появились на форме. Репорт, АЙТЕМ, PL/SQL блок, статически, динамически...
...
Рейтинг: 0 / 0
APEX 4.2 вопрос по использованию checkbox
    #39060919
DKis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blkangel,
Это айтем. В качестве List of Values выступает запрос:
SELECT t.name, t.id FROM CHB_TABLE t ORDER BY t.id
...
Рейтинг: 0 / 0
APEX 4.2 вопрос по использованию checkbox
    #39060935
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DKisblkangel,
Это айтем. В качестве List of Values выступает запрос:
SELECT t.name, t.id FROM CHB_TABLE t ORDER BY t.id

Тогда вам не нужны никакие коллекции, вы путаетесь с табулярной формой.
Для считывания данных в PL/SQL блоке с чекбоксасов с простого айтема, ничего дополнительно не надо,как и с обычного элемента :PXX_CHECKBOX_ITEM, значения отменных боксов приходят через двоеточие. Чтобы визуально представить, создайте такой процесс

Код: plsql
1.
2.
3.
Begin
  raise_application_error(-20000, ':PXX_CHECKBOX_ITEM='||:PXX_CHECKBOX_ITEM);
End;
...
Рейтинг: 0 / 0
APEX 4.2 вопрос по использованию checkbox
    #39060940
DKis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Оу. Спасибо большое!
...
Рейтинг: 0 / 0
APEX 4.2 вопрос по использованию checkbox
    #39164698
Шмель Жека
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня тоже по коллекциям вопрос. Не могу значения из коллекции сохранить в таблицу...
Коллекция создаётся таким кодом:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
declare
   eda_id number;
   eda_name varchar2(255);
   eda_price number;
begin
   if apex_collection.collection_exists('MYTOVAR')=false then
   apex_collection.create_collection('MYTOVAR');
   end if;
for i in1..apex_application.g_f01.count loop
   select EDA_ID, NAME, PRICE into eda_id, eda_name, eda_price from P_EDA where EDA_ID=apex_application.g_f01(i);
   apex_collection.add_member('MYTOVAR', eda_id, eda_name, eda_price);
enb loop;
end;


То есть с помощью чекбокса выбираю нужные товары и нажимаю на кнопочку, к которой привязан вышеприведённый процесс.
В отдельной табличке я вывожу данные из коллекции, чтобы видеть, что коллекция действительно заполняется. Вот запрос:
Код: plsql
1.
2.
3.
select seq_id, c001, c002, c003
from apex_collections
where collection_name='MYTOVAR'


Всё прекрасно выводится. Но как только я пытаюсь повесить на кнопку "оформить" нижеприведённый процесс, получаю следующее сообщение: ORA-06550: line 10, column 13: PL/SQL: ORA-00907: missing right parenthesis
Вот процесс на кнопку "оформить":
Код: 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.
declare
   zakaz_list number;
   summa number;
   col1 number;             /* id товара */
   col2 varchar2(255); /* название товара */
   col3 number;             /* цена товара */
begin
summa:=0;
select (c001, c002, c003) into (col1, col2, col3) from apex_collections where collection_name='MYTOVAR';
   update P_STOL
   set ZAKAZ_ID = :P8_HIDE_ZAKAZ
   where STOL_ID = :P8_HIDE_STOL;
       update P_STOL
       set SVOBODA = 0
       where STOL_ID = :P8_HIDE_STOL;
for i in 1..apex_application.g_f01.count loop
   summa:=summa + col3;
   select "P_ZAKAZ_INFO_SEQ".nextval into zakaz_list from sys.dual;
      insert into P_ZAKAZ_INFO(ZAKAZ_INFO_ID,ZAKAZ_ID,EDA_ID,EDA_NAME,EDA_PRICE)
      VALUES(zakaz_list, :P8_HIDE_ZAKAZ,col1,col2,col3);
end loop;
update P_ZAKAZ
set SUMMA = summa
where ZAKAZ_ID = :P8_HIDE_ZAKAZ;
end;


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

P.S. все описанные таблицы, item'ы и строки существуют.
apex 4.2.4
молю о помощи)
...
Рейтинг: 0 / 0
APEX 4.2 вопрос по использованию checkbox
    #39164700
Шмель Жека
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пробовал не объявлять col1, col2 и col3, а сразу вставлять c001, c002, c003.
оракл ругался на выражение summa:=summa + c003, говорил, что c003 должна быть объявлена...
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / APEX 4.2 вопрос по использованию checkbox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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