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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.03.2011, 10:34   #1  
Alterant is offline
Alterant
Участник
 
378 / 10 (1) +
Регистрация: 31.03.2004
Цитата:
Сообщение от LOGIC Посмотреть сообщение
Уважаемые коллеги,
Поясните следующее, имеем в первоисточнике:
Цитата:
Ok := Record.FINDFIRST
Finds the first record in a table based on the current key and filter.
This function should be used instead of FIND('-') when you only need the first record.

You should only use this function when you explicitly want to find the first record in a table or set. Do not use this function in combination with REPEAT..UNTIL.
Теперь перевод:
Цитата:
Ok := Record.FINDFIRST
Используется для нахождения первой записи в таблице, основанной на текущем ключе и фильтре. Эта функция должна использоваться вместо FIND('-'), когда вам нужна только первая запись. Не используйте функцию совместно с REPEAT..UNTIL.
Непонятна фраза «Не используйте функцию совместно с REPEAT..UNTIL.» , Не использовать только когда нам нужна первая запись ИЛИ с функцией FINDFIRST не использовать, в общем?
Это значит, что функция должна использоваться для поиска одной (первой) записи из набора. Если вам нужно перебрать все записи в цикле, то предпочтительней использовать FIND('-'):

Function ...
Rec.SETFILTER(...)
IF Rec.FINDFIRST THEN
EXIT(Rec.DecField)
else
EXIT(0);

Но
Function ...
Rec.SETFILTER(...)
IF Rec.FIND('-') THEN REPEAT
Ttl += Rec.DecField;
UNTIL Rec.NEXT = 0;
EXIT(Ttl);
Старый 01.03.2011, 10:50   #2  
prefreitor is offline
prefreitor
Участник
 
214 / 11 (1) +
Регистрация: 03.10.2006
Думаю, что наиболее предпочтительно совместно с циклами использовать при возможности
Код:
FINDSET
вместо
Код:
FIND('-')
или
Код:
FINDFIRST
. ссылка
Старый 01.03.2011, 12:18   #3  
Alterant is offline
Alterant
Участник
 
378 / 10 (1) +
Регистрация: 31.03.2004
Цитата:
Сообщение от prefreitor Посмотреть сообщение
Думаю, что наиболее предпочтительно совместно с циклами использовать при возможности
Код:
FINDSET
Да, согласен, FINDSET лучше.

Цитата:
Сообщение от prefreitor Посмотреть сообщение
Думаю, что наиболее предпочтительно совместно с циклами ... или
Код:
FINDFIRST
. ссылка
А вот с этим нет. FIND('-') будет лучше. Конечно, речь про SQL. Для native - разницы вроде бы нет.
 


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

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

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