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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.11.2007, 14:11   #1  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от Beast-L
...
видеть количество строк в гриде что бы оценивать объёмы продаж
...
Это даже не женская логика...

Один уважаемый на данном форуме мой коллега анекдот рассказывал. Не могу найти в сети, но примерно так звучит.

Сынуля: Папа, я сегодня с девушкой на дискотеку иду. Мне деньги нужны.
Папа: А сколько тебе нужно?
— (Показывает большим и указательным пальцем руки размер пачки денег толщиной примерно с сантиметр) Вот столько.
— Ну, возьми в тумбочке.
— А в какой?
— Да в любой.

У вас примерно вот так же с объемом продаж получается .
__________________
С уважением,
glibs®
За это сообщение автора поблагодарили: e@gle (1).
Старый 05.11.2007, 15:22   #2  
Beast-L is offline
Beast-L
Участник
Аватар для Beast-L
 
104 / 21 (1) +++
Регистрация: 20.10.2006
Адрес: Киев
Понимаю как это со стороны выглядит, но лично я объёмы продаж оценивать не собираюсь. Заказчик просит я делаю, а как он уже этим пользоваться будет это меня мало беспокоит. Кроме того не вижу проблем в оценке объёмов если все проданные единицы попадают в одну таблицу из которой данные берутся на форму на которой столько фильтров сколько хочет заказчик, а оценивать как раз таки ему. Заказчику по моему видней что ему нужно для оценки объёмов продаж.

Последний раз редактировалось Beast-L; 05.11.2007 в 15:31.
Старый 05.11.2007, 21:58   #3  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Не знаю, поможет ли, но попробуй вот этот метод использовать (его добавить надо в класс SysQuery)
X++:
public client server static Integer dev_countTotal(Query _query)
{
    int                     k;
    Query                   countQuery = _query.newObject(_query.pack(FALSE));
    QueryRun                countQueryRun;
    QueryBuildDataSource    dataSource = countQuery.dataSourceNo(1);
    QueryBuildFieldList     theFieldList = dataSource.fields();
    Common                  record;
    int                     ret = 0;

    // Add contribution from dynalinks...
    countQuery = SysQuery::copyDynalinks(countQuery, _query);
    theFieldList.addField(fieldnum(Common, RecId), SelectionField::COUNT);

    for (k = 2; k <= countQuery.dataSourceCount();k++)
    {
        dataSource = countQuery.dataSourceNo(k);
        theFieldList = dataSource.fields();
        theFieldList.dynamic(false);
        theFieldList.clearFieldList();
        theFieldList.addField(fieldNum(Common,TableId));
    }

    countQueryRun = new QueryRun(countQuery);
    while (countQueryRun.next()) {
        record = countQueryRun.getNo(1);
        ret += record.RecId;
    }

    return ret;
}
За это сообщение автора поблагодарили: belugin (3).
Старый 06.11.2007, 12:20   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
См. job из FAQ'а
Лучше внести правку в сам код, нежели создавать отдельный метод.
Там была ошибка, ее нужно поправить.

Цитата:
Сообщение от kashperuk Посмотреть сообщение
X++:
        theFieldList.addField(fieldNum(Common,TableId));
А вот с этим будьте предельно осторожны.
TableID - псевдополе, которое отсутствует на SQL.
Запрос может выродится как в "select * from", в "select from" или в "" в разных версиях.
В общем, если хочется сократить количество возвращаемых полей, то для получаения гарантированного результата в любых версиях и сервис-паках, в списке полей должно быть хотя бы одно ХРАНИМОЕ на SQL поле.
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: belugin (5).
Старый 06.11.2007, 12:29   #5  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от mazzy Посмотреть сообщение
См. job из FAQ'а
TableID - псевдополе, которое отсутствует на SQL.
Запрос может выродится как в "select * from", так и в "select from" в разных версиях.
Код работает везде начиная с AX 3.0 SP3
На более ранних версиях не проверял.

Сергей, а есть где-то задокументированные примеры такого поведения?
Потому что ты уже пару раз выдаешь такое предупреждение, но на яву я его ни разу не видел.
За это сообщение автора поблагодарили: Beast-L (1).
Старый 06.11.2007, 12:49   #6  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Сергей, а есть где-то задокументированные примеры такого поведения?
Нет. Задокументированных не видел.

Но мне задают кучу вопросов. Несколько раз источником багов в запросах было наличие псевдполей и отсутствие хранимых полей. В том числе TableID. Особенно в join'ах.

Может быть, я дую на воду.
Но каждый раз, если есть возможность, предупреждаю о возможных проблемах с псевдополями.
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: Beast-L (1).
Теги
как правильно, подсчет строк

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ALEG: Software-as-a-service есть ли у них будущее в России Blog bot DAX Blogs 0 28.10.2006 16:10
Fullscope - Процессное производство для Axapta есть. mazzy DAX: Функционал 33 28.08.2006 13:22
Enterprise Portal - Альтернатива есть? kashperuk DAX: Программирование 5 02.06.2006 10:49
Есть ли возможность вызывать код с вышележащих слоев ? FishLog DAX: Программирование 5 07.09.2004 17:24
Есть ли возможность вызывать код с вышележащих слоев ? FishLog DAX: Программирование 0 07.09.2004 13:39
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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