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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.06.2006, 13:06   #1  
Zeratul is offline
Zeratul
Участник
 
75 / 10 (1) +
Регистрация: 29.09.2005
Адрес: Минск
Как скрыть на форме поле для queryBuildRange ?
В методе "public Query initQuery()" есть переменная qBRangedat типа queryBuildRange. При запуске формы (и соответственно вызове initQuery()) в условиях появляется группа "Истори по сроку службы" с полем "Дата".



Эту группу я хочу скрыть. Соответственно, в коде процедуры initQuery() добавляю строку qBRangedat.enabled(false); Поле "Дата" исчезает, но вместо него появляются поля "Инвентарный номер ОС", "Время изменения" и "Тип движения", которые мне ТЕМ БОЛЕЕ не нужны




На всякий случай, вот код:

public Query initQuery()
{
queryBuildDataSource qBDS;
queryBuildRange qBRange;
;

// создаём объект динамического запроса
query = new Query();

//определяем источник данных
qBDS = query.addDataSource(tablenum(RAssetMoveHist));
qBRangedat = qBDS.addRange(fieldnum(RAssetMoveHist, ChangeDate));
//qBRangedat.enabled(false);

qBDS = qBDS.addDataSource(tablenum(RAssetTable));
//устанавливаем связь
qBDS.addLink(fieldnum(RAssetMoveHist, AccountNum),fieldnum(RAssetTable, AccountNum) );
// определяем поле-критерий
qBDS.addRange(fieldnum(RAssetTable, HB_AClassCode_OS));
qBRange = qBDS.addRange(fieldnum(RAssetTable,AssetType));
qBRange.value(queryvalue(RassetType::Smallvalueable));

Return query;
}

Так как всё-таки правильно спрятать qBRangedat ?
Спасибо!
Старый 22.06.2006, 13:11   #2  
Yprit is offline
Yprit
Злыдни
Аватар для Yprit
Злыдни
 
419 / 93 (4) ++++
Регистрация: 22.02.2004
Адрес: СПб
Перекройте showIndexField, чтобы он возвращал false для датасурса.
За это сообщение автора поблагодарили: Poleax (1), Dzha (1).
Старый 22.06.2006, 13:11   #3  
Косых Артём is offline
Косых Артём
Участник
Axapta Retail User
 
123 / 77 (3) ++++
Регистрация: 03.09.2004
Адрес: Москва
qBRangedat.status(RangeStatus::Hidden);

а до этого Вы вообще выключили условие, поэтому появился стандартный набор условий из запроса.

RTFM
За это сообщение автора поблагодарили: Poleax (1).
Старый 22.06.2006, 13:16   #4  
Zeratul is offline
Zeratul
Участник
 
75 / 10 (1) +
Регистрация: 29.09.2005
Адрес: Минск
Цитата:
Сообщение от Yprit
Перекройте showIndexField, чтобы он возвращал false для датасурса.
Хм... Не нахожу такой метод.
Старый 22.06.2006, 13:17   #5  
Zeratul is offline
Zeratul
Участник
 
75 / 10 (1) +
Регистрация: 29.09.2005
Адрес: Минск
Цитата:
Сообщение от Косых Артём
qBRangedat.status(RangeStatus::Hidden);

а до этого Вы вообще выключили условие, поэтому появился стандартный набор условий из запроса.

RTFM
Тот же самый эффект.
Старый 22.06.2006, 13:30   #6  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от Косых Артём
qBRangedat.status(RangeStatus::Hidden);

а до этого Вы вообще выключили условие, поэтому появился стандартный набор условий из запроса.

RTFM
Код:
public Query initQuery()
{
queryBuildDataSource qBDS;
queryBuildRange qBRange;
;

// создаём объект динамического запроса
query = new Query();

//определяем источник данных
qBDS = query.addDataSource(tablenum(RAssetMoveHist));
qBRangedat = qBDS.addRange(fieldnum(RAssetMoveHist, ChangeDate));

qBRangedat.status(RangeStatus::Hidden); //НЕ ПОМОГАЕТ???
//ЕСЛИ НЕТ, значит вы что-то неправильно делаете :)

qBDS = qBDS.addDataSource(tablenum(RAssetTable));
//устанавливаем связь
qBDS.addLink(fieldnum(RAssetMoveHist, AccountNum),fieldnum(RAssetTable, AccountNum) );
// определяем поле-критерий
qBDS.addRange(fieldnum(RAssetTable, HB_AClassCode_OS));
qBRange = qBDS.addRange(fieldnum(RAssetTable,AssetType));
qBRange.value(queryvalue(RassetType::Smallvalueable));

Return query;
}
Старый 22.06.2006, 13:52   #7  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Насколько я понимаю, вопрос в отображении условий выборки при использовании диалогов?
__________________
Axapta v.3.0 sp5 kr2
Старый 22.06.2006, 13:55   #8  
Zeratul is offline
Zeratul
Участник
 
75 / 10 (1) +
Регистрация: 29.09.2005
Адрес: Минск
Цитата:
Сообщение от AndyD
Насколько я понимаю, вопрос в отображении условий выборки при использовании диалогов?
Да. Именно в этом.
Старый 22.06.2006, 14:00   #9  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Наследник RunBase?
А вы после изменения кода на указанный выше поменяли CurrentVersion?
(Или очистили пользовательские настройки?)
Старый 22.06.2006, 14:14   #10  
Zeratul is offline
Zeratul
Участник
 
75 / 10 (1) +
Регистрация: 29.09.2005
Адрес: Минск
Цитата:
Сообщение от kashperuk
Наследник RunBase?
А вы после изменения кода на указанный выше поменяли CurrentVersion?
(Или очистили пользовательские настройки?)
Поменял. Если вот это имеется ввиду:


#define.CurrentVersion(3)
#localmacro.CurrentList
_reportdate,
_emplId
#endmacro
Старый 22.06.2006, 16:14   #11  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Сделайте инкрементную компиляцию вашего класса
__________________
Axapta v.3.0 sp5 kr2
Старый 07.10.2008, 13:14   #12  
propeller is offline
propeller
Участник
Аватар для propeller
 
359 / 29 (1) +++
Регистрация: 25.07.2007

query.addDataSource(tableNum(LedgerJournalTable), "LedgerJournalTable");
qbd = query.dataSourceTable(tableNum(LedgerJournalTable));

qbr = qbd.addRange(fieldNum(LedgerJournalTable, JournalType));
qbr.status(rangestatus::HIDDEN);
qbr.value(strfmt("%1", LedgerJournalType::CustPayment));
qbr = qbd.addRange(fieldNum(LedgerJournalTable, Posted));
qbr.status(rangestatus::HIDDEN);
qbr.value(strfmt("%1", NoYes::Yes));
У меня почти такая же проблема, только то что я скрыл диалог не показывает . но показывает фильтр который я вобще не добавлял(( оне мне не нужен в диалоге , как его скрыть?
Старый 07.10.2008, 13:33   #13  
coolibin is offline
coolibin
Участник
 
264 / 68 (3) ++++
Регистрация: 07.04.2005
Цитата:
Сообщение от propeller Посмотреть сообщение
У меня почти такая же проблема, только то что я скрыл диалог не показывает . но показывает фильтр который я вобще не добавлял(( оне мне не нужен в диалоге , как его скрыть?
Смотри обсуждение выше. У тебя RunBase или не RunBase? Если последний, то перекрой showIndexFields

X++:
public boolean showIndexFields(tableId id)
{
    return false;
}
За это сообщение автора поблагодарили: propeller (1), Dzha (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как в форме CustTrans через query отобрать записи у которых AmountCur != 0 ( когда в QueryBuildRange ставишь value(strFmt('!0')); - не работает!) rkorchagin DAX: Программирование 12 02.04.2007 17:58
Как убрать ссылку на несуществующее поле в стандартном фильтре на форме wit DAX: Функционал 5 14.06.2006 09:12
поле "Документы к обновлению" в форме "Обработка закупки" sev DAX: Функционал 3 08.12.2005 17:21
Сопоставить поле в на форме и поле в таблице? SDA001 DAX: Программирование 2 20.10.2005 14:13
Объединить несколько полей таблицы в одном поле Grid-а на форме? storer DAX: Программирование 2 12.11.2003 14:08

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

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

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