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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.12.2015, 13:23   #1  
r2d2 is offline
r2d2
Участник
 
62 / 10 (1) +
Регистрация: 25.11.2013
QueryBuildDataSource - получить поля группировок
День добрый товарищи! Ест ли какой то метод/способ который помог бы получить мне список группировочных полей из объекта QueryBuildDataSource? Заранее спасибо за ответ!
Старый 11.12.2015, 13:33   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Узнать sortfield из QueryBuildDataSource
За это сообщение автора поблагодарили: mazzy (2), r2d2 (1).
Старый 11.12.2015, 13:35   #3  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Вот хороший пример из \Data Dictionary\Tables\InventDim\Methods\queryGetSortAndGroupByFields
X++:
/// <summary>
///    Gets the list of fields being sorted and grouped by in the specified query.
/// </summary>
/// <param name="_query">
///    The query to examine.
/// </param>
/// <param name="_includeGroupByFields">
///    true if <c>GroupByFields</c> at the query level should be examined too.
/// </param>
/// <returns>
///    A list of field IDs.
/// </returns>
client server static private List queryGetSortAndGroupByFields(
    Query                   _query,
    boolean                 _includeGroupByFields
)
{
    QueryBuildDataSource    qbsDim = _query.dataSourceTable(tableNum(InventDim));
    Counter                 h;
    FieldId                 inventDimFieldId;
    QueryGroupByField       groupByField;
    List                    fieldList = new List(Types::Integer);

    for (h = 1; h <= qbsDim.sortFieldCount(); h++)
    {
        inventDimFieldId = qbsDim.sortField(h);
        fieldList.addEnd(inventDimFieldId);
    }

    if (_includeGroupByFields)
    {
        for (h = 1; h <= _query.groupByFieldCount(); h++)
        {
            groupByField = _query.groupByField(h);
            if (groupByField.tableSelector() == tableNum(InventDim))
            {
                inventDimFieldId = groupByField.fieldID();
                fieldList.addEnd(inventDimFieldId);
            }
        }
    }
    return fieldList;
}
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.

Последний раз редактировалось Link; 11.12.2015 в 13:38.
За это сообщение автора поблагодарили: r2d2 (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
fieldnum и map custVendTrans - как получить идентификатор поля таблицы по мапу? mazzy DAX: Программирование 10 18.08.2015 14:26
Получить значение поля по TableId, FieldId, RecId bodeaux DAX: Программирование 8 08.07.2014 10:47
Получить значение поля таблицы по номеру (Id) поля Anais DAX: Программирование 2 15.04.2004 13:00
QueryBuildDataSource.addLink - многомерные поля Mechanizm DAX: Программирование 2 01.03.2004 17:59
Как получить значение поля Datasource на динамически созданной форме? storer DAX: Программирование 2 14.11.2003 16:41

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

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

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