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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.11.2009, 12:19   #1  
valentino is offline
valentino
Участник
Аватар для valentino
 
33 / 11 (1) +
Регистрация: 14.02.2007
findValue = false
Добрый день!
Кто нибудь подскажет, почему findValue датасурса формы ВСЕГДА возвращает FALSE?
Необходимо спозиционировать на найденную запись в гриде по введенному юзером ID. Но если указанный ID в текущем датасурсе не найден - выдать сообщение юзеру. Однако следующая конструкция всегда выдает FALSE, даже если запись найдена и спозиционировалась

X++:
    boolean                 found;
    ;

    found = WMSCountingTaskTable_DS.findValue(fieldnum(WMSCountingTaskTable, WMSCountTaskId), _wmsCountTaskId);
    print found;
Как спозиционировать другими методами - мне известно, как вариант - использовать сначала поиск в таблице, а затем findRecord.
Хочется понять - это глюк или нет?
Справка говорит о том что метод findValue должен возвращать TRUE, если запись найдена: http://msdn.microsoft.com/en-us/libr...08(AX.10).aspx
Правда в примере сама MS не использует возвращаемое значение
-----------------------------------------
AX 4.0 SP2

Последний раз редактировалось valentino; 17.11.2009 в 12:50.
Старый 17.11.2009, 12:41   #2  
tricky is offline
tricky
Участник
 
140 / 64 (3) ++++
Регистрация: 03.05.2005
Адрес: Гуково
У меня в AX 2009 вернул True.
Старый 17.11.2009, 16:46   #3  
AlGol is offline
AlGol
Участник
 
277 / 93 (4) ++++
Регистрация: 24.12.2001
Адрес: Тверь.
AX 4.0 SP2
хотел написать что работает нормально - но у меня везде используется findrecord...
действительно всегда возвращает false.

не использую findValue, поскольку он достаточно ненадежный в поиске.
По строковым вроде находит записи, а вот по числовым не хочет.
По recid тоже не находит.

Последний раз редактировалось AlGol; 17.11.2009 в 17:05.
Старый 17.11.2009, 17:42   #4  
valentino is offline
valentino
Участник
Аватар для valentino
 
33 / 11 (1) +
Регистрация: 14.02.2007
Пример формочки
Вот пример формочки с использованием FindValue().
Реально запись позиционируется, однако функция всегда возвращает FALSE...

2 AlGol: кстати, по RecId поиск тоже работает, но тоже возвращает FALSE.
SharedProject_vc_TestFindValue.xpo
Старый 17.11.2009, 17:56   #5  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
AX 3.0 (разлчиные SP), AX 4.0 SP2 - возвращает false. AX2009 - true.
Старый 19.11.2009, 11:36   #6  
AlGol is offline
AlGol
Участник
 
277 / 93 (4) ++++
Регистрация: 24.12.2001
Адрес: Тверь.
Цитата:
Сообщение от valentino Посмотреть сообщение
2 AlGol: кстати, по RecId поиск тоже работает, но тоже возвращает FALSE.
Сорри, ищет. Он подлюка в интерфейсе показывает в не весь recid, кусочек остается за кадром.

Последний раз редактировалось AlGol; 19.11.2009 в 11:56.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
jinx: Dynamics AX LookupForms – FindValue und Range auf gleichem Feld Blog bot DAX auf Deutsch 0 18.09.2009 03:13
closeDocument(boolean _save = false, int _workBook = 1) Daido DAX: Программирование 1 03.11.2007 09:58
Не работает метод findValue on a form data source Morpheus DAX: Программирование 9 28.06.2006 08:55
QueryBuildDataSource.enabled(false); в 3.0 не работает в 2.5!!! McCoy DAX: Программирование 1 11.01.2006 15:41
Метод findValue у источника данных формы demID DAX: Программирование 3 01.10.2004 10:19

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

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

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