17.11.2009, 12:19 | #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. |
|
17.11.2009, 12:41 | #2 |
Участник
|
У меня в AX 2009 вернул True.
|
|
17.11.2009, 16:46 | #3 |
Участник
|
AX 4.0 SP2
хотел написать что работает нормально - но у меня везде используется findrecord... действительно всегда возвращает false. не использую findValue, поскольку он достаточно ненадежный в поиске. По строковым вроде находит записи, а вот по числовым не хочет. По recid тоже не находит. Последний раз редактировалось AlGol; 17.11.2009 в 17:05. |
|
17.11.2009, 17:42 | #4 |
Участник
|
Пример формочки
Вот пример формочки с использованием FindValue().
Реально запись позиционируется, однако функция всегда возвращает FALSE... 2 AlGol: кстати, по RecId поиск тоже работает, но тоже возвращает FALSE. SharedProject_vc_TestFindValue.xpo |
|
17.11.2009, 17:56 | #5 |
Axapta
|
AX 3.0 (разлчиные SP), AX 4.0 SP2 - возвращает false. AX2009 - true.
|
|
19.11.2009, 11:36 | #6 |
Участник
|
Сорри, ищет. Он подлюка в интерфейсе показывает в не весь recid, кусочек остается за кадром.
Последний раз редактировалось AlGol; 19.11.2009 в 11:56. |
|
|
|