|
|
|
Pll или персонализация
|
|||
|---|---|---|---|
|
#18+
В формсах я новичек, поэтому сильно не пинайте. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext Стоит задача, в меню создать свое меню с последующим запуском конкарента, причем в первый параметр, должно передаться значение поля в строке, куда установлен курсор. С чего мне начинать ? может есть ссылки на подобные темы или просто документация ? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2010, 15:03 |
|
||
|
Pll или персонализация
|
|||
|---|---|---|---|
|
#18+
Data corruption, забыл указать, что есть в персонализации (если смотреть через средний слой). Есть функция на ивент WHEN-NEW-FORM-INSTANCE. на свойство определена глобальная переменная, но она не подтягивается в запуск конкаррента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2010, 15:06 |
|
||
|
Pll или персонализация
|
|||
|---|---|---|---|
|
#18+
IMHO Самое простое, сделать server-side процедуру с запуском конкарента. И передать в нее "значение поля". Data corruptionData corruption, забыл указать, что есть в персонализации (если смотреть через средний слой). Есть функция на ивент WHEN-NEW-FORM-INSTANCE. на свойство определена глобальная переменная, но она не подтягивается в запуск конкаррента. причем тут WHEN-NEW-FORM-INSTANCE vs "свое меню...передаться значение" причем тут глобальные переменные что значит, "она не подтягивается в запуск конкаррента" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2010, 17:47 |
|
||
|
Pll или персонализация
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, я про это и говорю, что не знаю как сделать и как было сделано(не мной) и не работает. вот по шагам и пытаюсь сделать т.е. я правильно понимаю, что параметризированную хранимку на pl\sql написать, воткнуть в pll ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2010, 18:00 |
|
||
|
Pll или персонализация
|
|||
|---|---|---|---|
|
#18+
Data corruption т.е. я правильно понимаю, что параметризированную хранимку на pl\sql написать, воткнуть в pll ? "хранимка" в базе При чем тут PLL? Написать серверную процедуру (пакет), вызывать ее из персонализации. Вызов паралельной программы из серверной процедуры - замечательно описано в документации OeBS (дока для девелоперов). Ноты по персонализации (как вызывать серверную процедуру) можно поискать на металинке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2010, 15:38 |
|
||
|
Pll или персонализация
|
|||
|---|---|---|---|
|
#18+
Я бы сделал через персонализацию, так быстрее: 1. В персонализации к форме создаешь пункт меню. В условиях выбираешь событие WHEN-NEW-FORM-INSTANCE, в действиях, поле Тип = Меню, поле Элемент меню выбираешь любой не занятый пункт SPECIAL1 - SPECIAL45(к примеру, SPECIAL1), Надпись меню = "Название пункта меню". 2. Пишем фун-ю: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2010, 17:35 |
|
||
|
Pll или персонализация
|
|||
|---|---|---|---|
|
#18+
hominis, спасибо огромное! все получилось! :) единственное, можно ли как-то сделать, чтобы после запуска, осталось открытым окно "Вид - Запросы - Найти", чтобы видеть запущенный concurrent ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2010, 14:54 |
|
||
|
Pll или персонализация
|
|||
|---|---|---|---|
|
#18+
hominis, немного переделал 3-й пункт, 3. В персонализации. В условиях, выбираешь событие SPECIAL1. В действиях, поле Тип = Встроенный, поле Встроенный тип = Запуск формы СОЗ, поле Имя программы = Имя моей программы. А вот кнопка с параметрами неактивна :( Где мне написать, чтобы в первый аргумент, вставлялась переменная ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2010, 13:44 |
|
||
|
Pll или персонализация
|
|||
|---|---|---|---|
|
#18+
Data corruptionhominis, немного переделал 3-й пункт, 3. В персонализации. В условиях, выбираешь событие SPECIAL1. В действиях, поле Тип = Встроенный, поле Встроенный тип = Запуск формы СОЗ, поле Имя программы = Имя моей программы. А вот кнопка с параметрами неактивна :( Где мне написать, чтобы в первый аргумент, вставлялась переменная ? Для этого случая в действиях сначала присваиваете глобальной переменной значение поля формы. А следующим действием "Запуск формы СОЗ". В параллельной программе у параметра, которму должно присвоится значение из поля формы, указываете стандартное значение=Инструкция SQL. В качестве инструкции запрос select :global.глобальная_переменная_из_персонализации from dual Такой вариант удобен в тех случаях, когда у запускаемой программы часть параметров должна автоматически получить значение из вызывающей формы, а часть пользователь должен ввести сам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2010, 18:31 |
|
||
|
Pll или персонализация
|
|||
|---|---|---|---|
|
#18+
Дополнения к va_kochnev: 1. При попытке запустить данный конкарент пользователем "вручную", можно столкнуться с тем, что глобальные переменные никто не проинициализирует - ошибка. 2. IMHO Относительно сложный метод и для описанной Data corruption задачи(задач) не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2010, 15:48 |
|
||
|
Pll или персонализация
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, Вы правы. Инициализация глобальной переменной не происходит в двух случаях. 0. запуск конкарента из (Н) Вид -Запросы 1. перезапуск среднего слоя и повторный запуск из формы (Н) Вид -Запросы. 2. работает только если находишься и запускаешь с формы, где переменную можно определить. Т.е. персонализацию как таковую использовать не получится :-\ Всем спасибо за ответы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 10:23 |
|
||
|
Pll или персонализация
|
|||
|---|---|---|---|
|
#18+
Data corruption Т.е. персонализацию как таковую использовать не получится :-\ В чем проблема? Data corruption единственное, можно ли как-то сделать, чтобы после запуска, осталось открытым окно "Вид - Запросы - Найти", чтобы видеть запущенный concurrent ? 1. "Остаться" оно не может. Т.к. его никогда и не было ))) 2. Запустить любую форму (точнее функцию OeBS) из персонализации можно. Т.ч. не вижу никаких проблем, после запуска конкарента, запустить "Вид - Запросы - Найти" Вариант va_kochnev очень хорош. Т.к. позволяет сделать бизнес-процессы значительно более удобно для пользователя. Но требует внимательности (как все в персонализациях) и понимания, как все это будет работать в комплексе. Data corruption или просто документация ? metalink.oracle.com Knowledge - Oracle E-Business Suite - Application Technology ищем по словам Personalization. К примеру: Information About the Oracle Applications Form Personalization Feature in 11i [ID 279034.1] Modified 29-JUL-2009 Type WHITE PAPER Status PUBLISHED Form Personalization in Oracle Applications ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 14:10 |
|
||
|
Pll или персонализация
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevДополнения к va_kochnev: 1. При попытке запустить данный конкарент пользователем "вручную", можно столкнуться с тем, что глобальные переменные никто не проинициализирует - ошибка. 2. IMHO Относительно сложный метод и для описанной Data corruption задачи(задач) не нужно. Особой сложности тут нет. Допустим, есть некая параллельная программа с кучей параметров, которая запускается через Вид->Запросы. Нужно запускать ее из какой-то формы таким образом, чтобы часть или все параметры заполнялись из исходной формы. Для этого: 1. Копируем парараллельную программу. Получаем новую программу с таким же набором параметров и выполняемым файлом. 2. У этой новой программы часть параметров делаем невидимыми и с инициализацией через глобальные переменные. Эту программу ни в какие группы запросов не включаем. 3. В вызывающей форме делаем соответствующую персонализацию. Таким образом вся настройка делается штатными средсвами OEBSа. На некоторых проектах создание хранимых процедур/функций/пакетов (независимо от их сложности) считается полноценной разработкой (в отличии от персонализации) и сопровождается написанием кучи проектных документов, которые проходят несколько кругов согласования. Поэтому мне в ряде случаев было проще действовать по вышеуказанному алгоритму, т.к. с персонализациями меньше административного геморроя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2010, 20:09 |
|
||
|
Pll или персонализация
|
|||
|---|---|---|---|
|
#18+
Data corruptionhominis, спасибо огромное! все получилось! :) единственное, можно ли как-то сделать, чтобы после запуска, осталось открытым окно "Вид - Запросы - Найти", чтобы видеть запущенный concurrent ? Можно сделать через 2 персонализации. 1. Оставляем первую описанную выше, как есть. 2. Создаем новую функцию, например, XX_TEST_FNDRSRUN, указываем польз. форму "Выполнение запросов"(по-моему так называется ). Добавляем эту фун-ю в меню полномочий, пишем приглашение, запускаем ее и делаем персонализацию: a) Событие=When-New-Form-Instance, Тип=Встроенный, Вcтроенный тип=GO_BLOCK, Блок = JOBS b) Событие=When-New-Form-Instance, Тип=Свойство, Свойство=DEFAULT_WHERE, Условие=PROGRAM_SHORT_NAME='XX_TEST' --твой конкаррент c) Событие=When-New-Form-Instance, Тип=Встроенный, Встроенный тип=DO_KEY, EXECUTE_QUERY d) Убираем приглашение из меню полномочий. И оставляем просто фун-ю. 3. В форме из которой вызываем конкаррент, добавляем к ранее сделанной персонализации, еще строку. Событие=SPECIAL1, Тип=Встроенный, Встроенный тип=Запуск фун-ии СОЗ, Функция=XX_TEST_FNDRSRUN. После запуска конкаррента и сообщения с request_id, у тебя откроется форма Вид-Запросы-Найти, где будет запущенный конкаррент. Писал по памяти, поэтому некоторые поля в персонализации, могут по названию отличаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2010, 14:16 |
|
||
|
|

start [/forum/topic.php?fid=51&msg=36707516&tid=1878945]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 15ms |
| total: | 159ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...