![]() |
#1 |
Участник
|
findValue = false
Добрый день!
Кто нибудь подскажет, почему findValue датасурса формы ВСЕГДА возвращает FALSE? Необходимо спозиционировать на найденную запись в гриде по введенному юзером ID. Но если указанный ID в текущем датасурсе не найден - выдать сообщение юзеру. Однако следующая конструкция всегда выдает FALSE, даже если запись найдена и спозиционировалась X++: boolean found; ; found = WMSCountingTaskTable_DS.findValue(fieldnum(WMSCountingTaskTable, WMSCountTaskId), _wmsCountTaskId); print found; Хочется понять - это глюк или нет? Справка говорит о том что метод findValue должен возвращать TRUE, если запись найдена: http://msdn.microsoft.com/en-us/libr...08(AX.10).aspx Правда в примере сама MS не использует возвращаемое значение ![]() ----------------------------------------- AX 4.0 SP2 Последний раз редактировалось valentino; 17.11.2009 в 12:50. |
|
![]() |
#2 |
Участник
|
У меня в AX 2009 вернул True.
|
|
![]() |
#3 |
Участник
|
AX 4.0 SP2
хотел написать что работает нормально - но у меня везде используется findrecord... действительно всегда возвращает false. не использую findValue, поскольку он достаточно ненадежный в поиске. По строковым вроде находит записи, а вот по числовым не хочет. По recid тоже не находит. Последний раз редактировалось AlGol; 17.11.2009 в 17:05. |
|
![]() |
#4 |
Участник
|
Пример формочки
Вот пример формочки с использованием FindValue().
Реально запись позиционируется, однако функция всегда возвращает FALSE... ![]() 2 AlGol: кстати, по RecId поиск тоже работает, но тоже возвращает FALSE. SharedProject_vc_TestFindValue.xpo |
|
![]() |
#5 |
Axapta
|
AX 3.0 (разлчиные SP), AX 4.0 SP2 - возвращает false. AX2009 - true.
|
|
![]() |
#6 |
Участник
|
Сорри, ищет. Он подлюка в интерфейсе показывает в не весь recid, кусочек остается за кадром.
Последний раз редактировалось AlGol; 19.11.2009 в 11:56. |
|
|
|