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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.07.2003, 13:58   #1  
Dimitry is offline
Dimitry
Участник
 
172 / 10 (1) +
Регистрация: 07.02.2003
? Где ошибка?
Есть следующий код

PHP код:
      print ds.range(fieldNum(MECALineTableMECAMarkaId)).value(); 
на что мне выдается сообщение, что номер диапозона 50005 не найден. В чем глюк?
Помогите плиз.
Зарание спасибо!
Старый 22.07.2003, 14:16   #2  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Я бы разбил этот код на две строки:

PHP код:
   QueryBuildRange qbr ds.range(fieldNum(MECALineTableMECAMarkaId));
   print 
qbr.value(); 
При этом прошелся бы по коду и проверил, существуют ли такие объекты, как ds и qbr.

На основании полученных данных можно делать дальнейшие выводы.
Старый 22.07.2003, 14:18   #3  
Dimitry is offline
Dimitry
Участник
 
172 / 10 (1) +
Регистрация: 07.02.2003
я так тоже делал... разницы ни какой.... одинаковая ошибка.
Старый 22.07.2003, 14:21   #4  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Что тоже самое ?

Объекты ds и qbr существуют ?
Что стоит в отладчике напротив этих переменных - null или new ?
Старый 22.07.2003, 14:22   #5  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Читайте документацию внимательно
public QueryBuildRange range(int _rangeNo)
_rangeNo - порядковый номер ограничения, т.е. 1, 2, 3 и т.д., а не fieldId
Старый 22.07.2003, 14:35   #6  
Dimitry is offline
Dimitry
Участник
 
172 / 10 (1) +
Регистрация: 07.02.2003
Документацию читаем внимательно.... вот цитата из Best Practicse:

bb.Range(fieldNum(LedgerTable, AccountNumb)).value ("5000..5500");
Старый 22.07.2003, 14:38   #7  
Dimitry is offline
Dimitry
Участник
 
172 / 10 (1) +
Регистрация: 07.02.2003
Переменные имеют значение
qbr = null
ds = SELECT * From MECALineTable Order by MECALineTable.GostId ASC
Старый 22.07.2003, 14:47   #8  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата цитатой, а правильно будет
bb.findRange(fieldNum(LedgerTable, AccountNumb)).value ("5000..5500");

\System Documentation\Classes\QueryBuildDataSource, \System Documentation\Classes\QueryBuildDataSource и еще раз \System Documentation\Classes\QueryBuildDataSource.
Старый 22.07.2003, 14:48   #9  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
qbr = null
Отсюда мы видим, что QueryBuildRange не создался и требовать от него какое-либо value() глупо. Надо выяснясть, почему не создался qbr.

Цитата:
ds = SELECT * From MECALineTable Order by MECALineTable.GostId ASC
Стоп, стоп, стоп... А какого типа ds ?
Старый 22.07.2003, 14:49   #10  
Dimitry is offline
Dimitry
Участник
 
172 / 10 (1) +
Регистрация: 07.02.2003
QueryBuildDataSource ds = q.DataSourceNo(1)
Старый 22.07.2003, 14:54   #11  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Хм.... Что-то я не помню, чтобы QueryBuildDataSource у меня в отладчике в виде строки отображался. Ну да ладно, считаем, что он создан.

QueryBuildDataSource создан, однако QueryBuildRange с него не "получается". Осмелюсь предположить, что этот range не был наложен.

QueryBuildRange накладывался ??? Если нет - смотри addRange() у QueryBuildDataSource.
Старый 22.07.2003, 15:10   #12  
Dimitry is offline
Dimitry
Участник
 
172 / 10 (1) +
Регистрация: 07.02.2003
Не понял как QueryBuildRange накладывался?
Старый 22.07.2003, 15:29   #13  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
ошибки
1. Очевидно, что
ds = SELECT * From MECALineTable Order by MECALineTable.GostId ASC
не содержит rangeй, а значит и нечего их там искать (кстати есть такой метод ds.rangeCount())
2. Повторю, чтобы понять глубину проблемы нужен весь код с описанием того, что хотелось сделать
Старый 22.07.2003, 15:32   #14  
Dimitry is offline
Dimitry
Участник
 
172 / 10 (1) +
Регистрация: 07.02.2003
RangeCount() выдает 1.

А есть следующий код.

PHP код:
 MECALineTable MECALineTAble;

    
Query q = new Query(queryStr(MECASifr));
    
QueryBuildDataSource ds q.DataSourceNo(1);
    
QueryRun qr = new QueryRun(q);
    
QueryBuildRange qbr ds.range(fieldNum(MECALineTableMECAMarkaId));

    
NumberRec 0;
    if (
qr.prompt())
    {
      print 
qbr.value();
      While (
qr.next())
      {
        
NumberRec++;
        
MECALineTable qr.get(TableNum(MECALineTable));
        
markedRec[NumberRec] = MECALineTable.RecId;
      }
    } 
Старый 22.07.2003, 15:48   #15  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
PHP код:
    MECALineTable MECALineTAble;

    
Query q = new Query(queryStr(MECASifr));
    
QueryBuildDataSource ds q.DataSourceNo(1);
    
QueryRun qr;
    
QueryBuildRange qbr;

//    ds.addRange(fieldNum(MECALineTable, MECAMarkaId)).value("123"); Если нужна предустановка фильтра
    
qr = new QueryRun(q);

    
NumberRec 0;
    if (
qr.prompt())
    {
      
qbr qr.query().dataSourceNo(1).findRange(fieldNum(MECALineTableMECAMarkaId));
      if(
qbr)
         print 
qbr.value();

      While (
qr.next())
      {
        
NumberRec++;
        
MECALineTable qr.get(TableNum(MECALineTable));
        
markedRec[NumberRec] = MECALineTable.RecId;
      }
    } 
Старый 22.07.2003, 15:51   #16  
Dimitry is offline
Dimitry
Участник
 
172 / 10 (1) +
Регистрация: 07.02.2003
Все заработало... Огромное спасибо... :-)
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Где ошибка? (апгрейд на ах2009) ahtoh DAX: Администрирование 3 30.07.2008 13:59
Не запускается Axapta. Общая ошибка сети. Lucky13 DAX: Администрирование 3 25.09.2007 13:02
KR3: Ошибка или crash при попытке получить tooltip поля belugin DAX: Программирование 3 01.02.2007 13:27
Ошибка в формате числа. 36AC DAX: Программирование 7 19.10.2006 10:04
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

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