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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.12.2008, 15:08   #1  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от Kopylov Посмотреть сообщение
Вторая форма также состоит из 3х датасорсов: SalesTable, SalesLine, InventDim.
Форма самописная, дизайном отличается от формы заказов. На ней так же должны быть возможны манипуляции со строками заказов
Забавно, а что они не могут выбрать эти записи сразу на второй форме?

Если нет, то может вам их стоит рассмотреть вариант просто как-то помечать в стандартной форме (поле например завести какое-то с номером текущей сессии, есть много разных вариантов), а потом открывать во "второй" форме уже помеченные_нужным_образом записи.
Не скажу, что это очень красиво, но возможно вам понравится.
__________________
Zhirenkov Vitaly
Старый 22.12.2008, 15:55   #2  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1234 (44) ++++++++
Регистрация: 11.04.2008
2 ZVV: можно взглянуть на код?
Проверил сам - получилось не более 476 критериев.
+ Проверил, тема обсуждалась (Поиск на форуме по "476" или "477")
+ см. вложение
Вложения
Тип файла: xpo PrivateProject_RangeCountTest.xpo (3.6 Кб, 107 просмотров)
Старый 22.12.2008, 16:51   #3  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от DSPIC Посмотреть сообщение
2 ZVV: можно взглянуть на код?
Проверил сам - получилось не более 476 критериев.
+ Проверил, тема обсуждалась (Поиск на форуме по "476" или "477")
+ см. вложение
Я проверял вот это:
Цитата:
Сообщение от DSPIC
Может прозвучит нелогично, но помнится, когда я с этим экспериментировал, получалось ограничение именно на количество рэнджей, а не на длину в 250 символов. При этом было не важно, сколько самих рэнджей на одно поле наложить:
(2x125 или 1x250) - если в сумме получалась магическая цифра немногим больше 250 то запрос не проходил...
Это не верно, можно это проверить без всякого кода, сформировав в фильтре ручками пару-тройку рэнджей на одно поле, длиной по 250 символов каждый и убедиться что он работает. Проверив уходящий запрос на сторону БД, естественно.

А обсуждаемая магическая цифра 476 (например тут соединить query и временную таблицу) - это уже ограничение несколько другого рода. И не на кол-во ренджей, как могло бы показаться, а на размер SQL-оператора, насколько я понимаю.
Очевидно, ваш пример проверялся на сиквеле, где, помнится размер оператора максимальный 32К (могу ошибаться)? Ну вот оно где-то так и выходит, по моим прикидкам.
На оракле это ограничение выше - 64К (для 9-ой версии, например). (Причём из документации по 10-ке и 11-ке данное ограничение вообще исчезло почему-то) Соответсвенно данный пример может отрабатывать с гораздо большим значением
У меня например успешно отрабатывает такой джоб на оракле:
X++:
static void Job_QueryRangeLimit(Args _args)
{
    Query       query;
    QueryRun    queryRun;

    QueryBuildDataSource    qbds;
    QueryBuildRange         qbr;

    int         nextI;
    ;

    query = new Query();

    qbds = query.addDataSource(tablenum(InventTable));

    for (nextI = 1; nextI <= 1200 ; nextI++)
    {
        qbr = qbds.addRange(fieldNum(InventTable, ItemId));
        qbr.value(queryValue(int2str(nextI)));
    }


    queryRun = new QueryRun(query);
    queryRun.next();
}
при дальнейшем увеличении этого кол-ва начинает падать соединение Аксапта с Ораклом
Цитата:
ORA-00600: internal error code, arguments: [733], [36332372], [pga heap], [], [], [], [], []
Точную цифру падения не искал, т.к. не интересно, не очень важно, лень и к тому же она может варьировать в зависимости от некоторых факторов.

Кстати, даже в этом случае (1200), размер SQL-оператора уходящего в БД превышает задекларированные 64к, но работает.

Тестировал на 3.0сп3кр3 + Оракл 9208Вин
__________________
Zhirenkov Vitaly
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как получить указатель на отчёт когда пользователь выбрал Печать на принтер в просмотрщике, в форму SysPrintForm? rkorchagin DAX: Программирование 10 17.04.2008 11:59
Вывод в форме "Авансовый отчет" (EmplAdvTable_RU) полей из EmplTable Zepp DAX: Программирование 5 20.06.2007 15:44
Как в форме CustTrans через query отобрать записи у которых AmountCur != 0 ( когда в QueryBuildRange ставишь value(strFmt('!0')); - не работает!) rkorchagin DAX: Программирование 12 02.04.2007 17:58
Как из формы Form2 обновить записи на форме Form1? Hidden DAX: Функционал 15 24.05.2005 11:53
Уже существующий query подложить под форму или отчет? somebody DAX: База знаний и проекты 6 27.05.2003 15:13

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:59.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.