23.03.2005, 07:46 | #1 |
Участник
|
Как сделать свою Web-lookup форму?
Изучаю Web-разработку в Axapta, уже дошел до ручки...
Хоть убей не могу понять, как сделать свою web-lookup форму, по аналогии с созданием обычных lookup-форм (SysTableLookup и т.д.). Мне нужно при лукапе в поле выбора номенклатуры показывать lookup-форму где показывались бы текущие остатки по номенклатурам. Может есть у кого похожий пример для Web? И еще, не могу понять мозгом - точки останова на методах Web-контролов работать не будут вообще никогда? Скажем, если у меня есть WebEdit, то в методе lookup ставить breakpoint бесполезно, все равно дебаггер не отловит (хотя lookup-форма в браузере откроется), это нормально? Когда вообще выполняется этот метод для Web-контрола? Ох, как я буду рад, если мне кто-нибудь поможет... |
|
23.03.2005, 09:01 | #2 |
Участник
|
Полностью свой веб-лукап делать геморно, зато можно воспользоваться существующим:
Посмотрите на этот кусок кода например: PHP код:
<имя класса>::WebEmplLookup(); И радуемся. Т.е. смысл в том что можно в лукап передавать свой Query Не знаю, поможет вам это или нет. Точки останова в вебе работают, но не всегда. Необходимые условия: 1. "Толстый" пользователь, под которым поставили точку останова, должен совпадать с "тонким", под которым зашли на страницу 2. Никаких терминал-клиентов, все должно происходить на одной машине 3. Как я понимаю, веб-сервер должен работать на той же машине (т.е. надо развернуть сайт у себя или работать сразу на сервере) 4. Нельзя указывать пароль в ком-коннекторе |
|
23.03.2005, 10:33 | #3 |
Участник
|
Спасибо за совет!
Prof, огромное спасибо за ответ, мне что-то такое и нужно было, но ничего не работает... :-(
Я сделал такой же метод. Перекрыл lookup на Web-контроле. Теперь у меня открывается пустая lookup форма, а точка останова в методе не срабатывает. Т.е. метод не отработал. А точки останова на lookup web-контрола не работают и подавно... Вообще, странно. Точки останова у меня работают везде (т.е. все требования настройки по Web-отладке у меня соблюдены), кроме методов на Web-контролах. Что-то не так в датском королевстве... |
|
23.03.2005, 10:43 | #4 |
Участник
|
Скажу даже больше
Скажу даже больше...
У меня открывается все же lookup-форма, но не понять откуда. Я жму кнопку лукапа для поля с EDT ItemId и открывается простая форма на основе InventTable. Черти, что... |
|
23.03.2005, 10:47 | #5 |
Участник
|
Попробуйте перекрывать лукап все-таки не на контролах а на полях датасорса. Во всяком случае мы делали всегда так и все работало.
Методы на контролах действительно могут не отрабатывать вообще (это ж веб ) |
|
23.03.2005, 11:08 | #6 |
Участник
|
Мистика
Да, у меня тоже есть какие-то сомнения - как через web вообще возможна работа breakpoints... Забуду про это, хотя зачем тогда нужны такие методы, которые не понять - выполняются, не выполняются... Тогда получается, что, например, все validate() на Web-полях просто так...
Творится вообще мистика. На датасорсе перекрываю методы lookup и performFormLookup. НИЧЕГО В НИХ НЕ МЕНЯЮ (оставляю вызовы super()) и lookup перестает работать вообще. Открывается пустая форма... А точки останова так и не работают на DataSource. Хотя срабатывает точка останова например, в методе show() мастер класса для Web-проекта... Удаляю lookup методы (фактически убираю перекрытие методов) - появляется lookup номенклатуры. Жуть... |
|
23.03.2005, 11:53 | #7 |
Участник
|
Возможно в методе show у вас один пользователь, а когда юзаете функциональность - уже другой. Ну это только предположение.
Ну а мистика...в жизни всегда есть место для мистики Хотя я больше склонен думать что чудес все-таки не бывает и здесь имеет место ошибка. |
|
23.03.2005, 11:58 | #8 |
Участник
|
Да нет, пользователь один и тот же...
Prof, а у вас случайно нет тестового Web проекта с самодельной lookup формой? |
|
23.03.2005, 13:03 | #9 |
Участник
|
Боюсь что этот проект тестовым не назовешь
В общем, нет. |
|