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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.04.2007, 13:40   #1  
Akinak is offline
Akinak
Участник
 
17 / 11 (1) +
Регистрация: 22.02.2007
Метод addRange() и его использование (верное)
Доброго времени суток, дамы и господа.

Подскажите пожалуйста, может кто-либо из вас сталкивался с таким вопросом. Суть - нужно открыть форму(№2) с заранее отсортированным дс из другой формы(№1).

Для этого изпользуются классы FormRun, FormDataSource и QueryBuildRange. В частности вот код -
X++:
    QFormRun = ClassFactory.FormRunClass(Args);
    QFormRun.init();
    QFormDs = QformRun.dataSource(2);
    criteria = QFormDs.Query().dataSourceNo(2).addRange(
        fieldNum(pgpProjTable,ProjId)); //спозиционировались
    criteria.value(pgpProjTable.ProjId); //задали рейндж
    QFormRun.Run();
В данном случае код рабочий, однако, когда в другой форме(№3) используется точно такой-же код (необходимо открыть форму №2 с сортировкой того-же дс, но по другому полю), то в строке
X++:
criteria = QFormDs.Query().dataSourceNo(2).addRange(
        fieldNum(pgpTaskTable,TaskId)); // вот тут начинаются чудеса :eek: 
criteria.value(pgpTasksTable.TaskId);
Аксапта не позиционируется на необходимое нам поле, а взамен этого выдает позиционирование на другое поле (даже из другой таблицы). В результате в дебаггере видна строка - criteria = pgpProjId = TN4 , где pgpProjId - это неправильное позиционирование, а TN4 - это правильно полученный TaskId. Что совсем интересно, так это то, что при смене позиционирования на другое поле(TaskName к примеру) Аксапта начнет позиционировать на необходимое поле (т.е. TaskId).
Как говорила некая Алиса - "Всё чудесатее и чудесатее."

З.Ы. Ax 3.0 eng SP2. Заранее благодарю.
Теги
ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как использовать метод layout для Web контролов, и использование JavaScripta rkorchagin DAX: Программирование 1 28.06.2007 13:41
Как вызвать метод для поля в FormDataSource? Maxim Gorbunov DAX: Программирование 3 08.05.2007 11:28
Расширенный AddRange и OuterJoin Russland DAX: Программирование 0 04.07.2006 16:36
display метод с параметром Андре DAX: Программирование 5 11.01.2006 19:04
Передача массива VARIANTов в Automation метод Maximin DAX: Программирование 0 09.10.2002 19:31

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

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

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