Как создать комбо страницы отчета / формы на основе представления / таблицы в Apex? - PullRequest
0 голосов
/ 09 ноября 2011

Возможно ли, и если да, то как создать две страницы (один отчет, одну форму редактирования), но основать отчет на виде и создать форму редактирования на таблице?

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

1 Ответ

2 голосов
/ 09 ноября 2011

Сначала вам нужно создать свой отчет и основать его на своем столе.Затем создайте свою форму.

Чтобы связать их, вам нужно знать первичный ключ таблицы, на которой основана ваша форма.Я буду предполагать, что ваша таблица имеет PK, состоящий из 1 или 2 столбцов, и ваш автоматический выбор строк + DML-процесс использует этот PK.PK in form Это потому, что значения PK образуют связь между строкой в ​​отчете и строкой в ​​форме.

В атрибутах отчета затем найдите раздел «Столбец ссылки» - или, если вы хотите использовать столбец в своем отчете в качестве ссылки, перейдите к параметрам столбца и найдите там раздел «Столбец ссылки».,Ссылка должна быть «Ссылка на пользовательскую цель».Выберите значок или определите текст ссылки.Ссылка на атрибут отчета будет означать, что вам придется выбирать между значком столбца в одной строке или пользовательской ссылкой.Если ссылка уже существует, создайте новый пустой столбец в запросе отчета и настройте ссылку в этом столбце.Link column attributes

Settings:
Target: Page in this Application
Page: the page number of your form
Clear Cache: page number of your form

Затем вы передаете значения, которые однозначно идентифицируют строку в таблице, используемой для вашей формы (вашего ПК).Пример:

Item 1: Name: "P2_EMPNO" Value: "#EMPNO#"

В этом суть, а также то, как создается связь между формой и отчетом, когда вы используете мастер для формы с отчетом.

Более сложная ситуация?Например, ваш ПК имеет более 2 столбцов.В Apex 4.1 вы можете основывать автоматическое извлечение строк и dml на rowid вашей таблицы (спасатель).В этом случае вы можете рассмотреть возможность включения в представление rowid записи таблицы (это, конечно, должно быть связано с вашим представлением).Затем вы можете передать этот rowid элементу, содержащему rowid на странице формы.

Не на 4.1, или rowid не является опцией, а PK имеет более 2 столбцов: вам нужно написать свой собственныйвыборка строк и обработка dml или создание представления вместо триггера вместо.Я считаю, что лучше составить представление о вашей таблице и объединить столбцы PK в столбец для вашего представления.Этот столбец может затем выступать в качестве значения вашего PK в процессах, сгенерированных апексом.В любом случае вам нужно найти способ идентифицировать строку и предоставить правильный способ извлечения и обработки на странице формы.См. этот вопрос для получения дополнительной информации .

...