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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.11.2007, 14:01   #1  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
executeQuery на Форме
1. Не понимаю, почему запрос на форме формируется без учета значения ContractGeneral. Само значение он видит.
X++:
    str 20  ContractGeneral = RContractTableFact1.RContractGeneral;
    ;
    if (! element.args().dataSet())
    {
        criteriaContractGeneral3.value( queryValue(ContractGeneral));
        criteriaContractFactType3.value(queryValue(enum2str(RContractFactType::NoFinance)));
    }
    super();
2. Как сделать так, чтобы метод executeQuery обновлялся при переходе между закладками формы. Т.е. есть 2 закладки. При переходе на вторую закладку должен выполняться метод executeQuery на второй форме. Причем во второй форме в executeQuery используется значение из активной строки первой закладки.

На обеих закладках используется в качетсве источника данных одна и таже таблица.
Старый 02.11.2007, 14:22   #2  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
1. Ничего не понял. Точнее, полное отсутствие исходных данных (инициализация запроса; входит ли в if)
2. Можно перекрыть на нужной закладке метод pageActivated() и в нем обновлять.
__________________
Андрей.
Старый 02.11.2007, 14:28   #3  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
1.
Есть форма.
В DS 2 источника: оба ссылаются на одну таблицу.
В первом источнике на первой закладке заполняются два реквизита: Код и Комментарий.
Во втором источнике на 2 закладке заполняются 3 реквизита: Подчиненный код, Код, Комментарий. Надо, чтобы на второй закладке произошла фильтрация в методе executeQuery второго источника по Коду. Код на второй закладке равен коду выделенной строки на первой закладке.
Старый 02.11.2007, 14:38   #4  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
По первому вопросу (где я ничего не понял) Вы так и не написали.
По второму я ответил, дальше дело техники. Можно вообще метод не перекрывать, а заджойнить эти 2 DS между собой, и все само будет фильтроваться.
__________________
Андрей.
Старый 02.11.2007, 14:41   #5  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
Я не понимаю, что я должна еще объяснить по первому вопросу, чтоб получить ответ.
я показала код из executeQuery и пояснила задачу. Чего не хватает?
Старый 02.11.2007, 14:50   #6  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
То есть это код метода executeQuery?
Попробуйте убрать enum2str во второй строке, то есть просто queryValue(RContractFactType::
оставить. Возможно неправильно фильтр накладывается - хотя не должен, конечнно

Уверены, что заходит в IF?
Старый 02.11.2007, 14:57   #7  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
Цитата:
Сообщение от kashperuk Посмотреть сообщение
То есть это код метода executeQuery?
Попробуйте убрать enum2str во второй строке, то есть просто queryValue(RContractFactType::
оставить. Возможно неправильно фильтр накладывается - хотя не должен, конечнно

Уверены, что заходит в IF?
Да. При этом он прекрасно видит условие enum и не видит значение другого условия. Он просто вместо значеня берет ""
Короче без перечисления это выглядит так:
SELECT RContractSupplement, Comment, RContractInternalNum, ContractDate, RContractAccount FROM RContractTableFact WHERE ((RContractGeneral = ))
Старый 02.11.2007, 16:06   #8  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
ContractGeneral - это что такое?
Вы уверены, что оно заполнено?
Старый 02.11.2007, 16:10   #9  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
да, я туда приваиваю значение из первой формы.
Метод queryValue() находит значение, но в запрос он так и не попадает. Мне кажется, что это как - то связано с тем, что оба источника базируются на одной табличке. Хотя не знаю...
Старый 02.11.2007, 16:13   #10  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Хм. Покажите значит, как вы создаете объекты классов QueryBuildRange - для фильтров этих
Старый 02.11.2007, 16:32   #11  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
Вощем ясно, фигня получилась.
Причина оказалась в том, что он действительно не хочет рассматривать переменную, которая берет значение из другого источника (физически это таже таблица). Если подставить туда руками какое-то значение типа 'DD', то все хорошо. При этом он совершенно верно определяет значение переменной, которой присвоено значение поля из другого источника.
Получается проблема в том, что в качестве значения range не получается использовать значение поля из другого источника, которое активно в данный момент.
Старый 02.11.2007, 17:18   #12  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Это не так - у вас где-то ошибка. Значение - это просто значение. И совершенно неважно, принадлежит оно источнику или нет.
Старый 03.11.2007, 23:25   #13  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
Всем пасибо, поняла проблему. Ошибок нет, надо было, как и советовали в самом начале, ссылку на executeQuery в pageActivated() сделать, а также присвоить значение переменной, и все хорошо заработало.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Использование семейства InventDimCtrl_Frm_* - 2 DS InventDim на одной форме Pavlo AKA Panok DAX: База знаний и проекты 5 22.12.2008 17:15
Расширение запроса на форме InventOnHand gefr DAX: Программирование 5 19.09.2007 16:05
Перебор данных на форме ReqTransPO gefr DAX: Программирование 5 28.08.2007 16:23
Название полей в форме запроса PavelSR DAX: Программирование 4 11.07.2007 17:19
BugFix: В форме складских журналов нельзя перемещаться с помощью клавиш курсора Maxim Gorbunov DAX: Программирование 5 21.01.2005 01:20

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

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

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