Как ссылаться на данные формы, чтобы использовать их в самой форме в Apex Oracle - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь создать форму для добавления заказа.

В форме есть несколько записей, где вы можете выбрать:

  • продукт,
  • клиент,
  • количество элементов,
  • дата покупки и
  • общая цена.

Очевидно, что дату и общую цену выбрать нельзя. Я хочу рассчитать общую стоимость, но мне нужно знать общее количество товаров и название выбранного продукта.

Как я могу ввести эту информацию, не заполнив форму?

Вот изображение формы, чтобы вы могли легко понять, о чем я спрашиваю: enter image description here

enter image description here

Ответы [ 2 ]

0 голосов
/ 26 мая 2020

Есть 2 способа добиться этого:

  1. Выполнить обновление в форме. Как только пользователь изменяет цену или количество товаров, общая цена меняется на экране. Этот тип действия в верхней части называется «Dynami c Action». Вы должны создать действие Dynami c как для количества элементов, так и для продукта, чтобы рассчитать цену при изменении. Существует множество примеров действий Dynami c на inte rnet.
  2. Выполните обновление после того, как пользователь отправил форму. В этом случае вы должны произвести «вычисление» общей цены товара.

Конечный результат в базе данных должен быть таким же, но пользовательский опыт будет другим.

Rgds Koen

0 голосов
/ 26 мая 2020

Обычно это делается в отношении «главный-подробный»:

  • основная таблица (и форма) содержит общую информацию о заказе
  • подробная таблица ( и форма, обычно табличная или - в настоящее время в Apex интерактивная сетка ) содержит подробную информацию о каждом заказываемом элементе

Это означает, что - если форма отображается ваш снимок экрана - это все, что у вас есть, вам следует подумать об изменении модели данных. В противном случае это можно сделать, но это неэффективно и не нормализуется, поэтому вам следует избегать этого.

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

select o.order_number
       sum(i.number_of_items * i.current_price) total_per_order
from order o join items i on i.order_id = o.order_id
where o.order_number = 1234
group by o.order_number;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...