AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.01.2005, 17:15   #1  
ravil is offline
ravil
Участник
 
133 / 18 (1) ++
Регистрация: 15.04.2003
Позиционирование в lookup форме
Привет!

Допустим, имеется собственная форма Lookup, которая задана через свойство Form Help расширенного типа данных. Как сделать так, чтобы текущей при открытии формы сделалась запись, соответствущая значению поля, с которого форма окрылась?
Старый 06.01.2005, 12:29   #2  
sassas
Гость
 
n/a
через element.args() не пробовали ?
Старый 06.01.2005, 12:43   #3  
ravil is offline
ravil
Участник
 
133 / 18 (1) ++
Регистрация: 15.04.2003
На какую запись позиционироваться, я знаю, через метод SysTableLookup::getCallerStringControl. Требуется выяснить, как позиционироваться.
Старый 06.01.2005, 12:50   #4  
sassas
Гость
 
n/a
Whom_QBR = <Ваш_датасорс>_ds.query().dataSourceNo(1).addRange(fieldNum(<Ваш_датасорс>, <поле Вашего дс>));
Whom_QBR.value( queryValue(<ключ сортировки>));


строки ставятся после super() в init() датасорса лукап-формы

Ред:
это подфильтрует
findValue() || findRecord() - сделают активной нужную строку
Старый 06.01.2005, 17:29   #5  
ravil is offline
ravil
Участник
 
133 / 18 (1) ++
Регистрация: 15.04.2003
Используя addRange, задав его Value позиционирование на нужную запись выполняется, но в этом случае эта запись оказывается единственной в гриде.
findRecord и findValue почему-то не срабатывают. Возвращают false.
Старый 06.01.2005, 17:48   #6  
sassas
Гость
 
n/a
посмотрите, что передается в findRecord. Поля передаваемой табл переменной должны быть заполнены хотя бы по праймари ки.
Старый 06.01.2005, 18:02   #7  
ravil is offline
ravil
Участник
 
133 / 18 (1) ++
Регистрация: 15.04.2003
в findRecord передается табл.переменная со всеми полями, не только примари. Предварительно я его нахожу: it = inventTable::find("значение прим.кеу"); а потом передаю findRecord в качестве параметра.
Если выполнять не в методе init у источника данных, а после полной инициализации формы, допустим в методе clicked() кнопки, тогда поиск срабатывает (то есть возвращает true, если по отладчику смотреть), но форма закрывается с выдачей сообщения, что поле Номенклатура должно быть заполнено. Хотя я перекрыл canClose, не должна бы форма закрываться ...
Старый 06.01.2005, 18:13   #8  
sassas
Гость
 
n/a
попробуйте датасорс.autosearch(false) перед super() в run()
Старый 06.01.2005, 18:19   #9  
ravil is offline
ravil
Участник
 
133 / 18 (1) ++
Регистрация: 15.04.2003
Тогда вообще этот грид исчезает.
Старый 06.01.2005, 18:28   #10  
sassas
Гость
 
n/a
ContactPersonLookup

посмотрите как там (если работает, я не проверял. Но findRecord там используется). Перекрестными ссылками посмотрите , где исп и попробуйте запустить эту форму. Если это то, что нужно - ковыряйте ее код
Старый 06.01.2005, 18:33   #11  
ravil is offline
ravil
Участник
 
133 / 18 (1) ++
Регистрация: 15.04.2003
Спасибо за советы! Grid появился, я просто нечаянно перетащил оказывается в другую группу, невидимую.
Теперь при открытии формы позиционирование не выполняется, но стоит передвинуть окошко, встает на нужную позицию. То есть надо перерисование формы задействовать.

Форму ContactPersonLookup посмотрю обязательно. Еще раз спасибо.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Набор однотипных lookup() методов на форме johny77 DAX: Программирование 1 10.04.2007 13:12
lookup фильтр в произвольной lookup форме 111andrei DAX: Программирование 4 05.10.2005 11:28
Сортировка и/или фильтры в lookup форме - howto. Maximin DAX: Программирование 5 07.06.2005 11:06
О Lookup-форме и FormFrame::Border NIMERE DAX: Программирование 3 22.03.2004 13:04
Фильтрация в Lookup-форме Rem DAX: Программирование 5 27.04.2002 08:27
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:04.