Данные: перебор while select
[id:55]
Очень часто нужно перебирать данные, возвращаемые запросом select, запись за записью. Этой цели служит конструкция while select. Она отбирает набор записей и позволяет выполнить нужные действия над каждой из них.
Вот пример:
static void BLG55_WhileSelect()
{
Currency currency;
setprefix("Валюты");
while select currency
where currency.CurrencyCode like "c*"
|| currency.CurrencyCode == "rur"
{
info(strfmt('%1 - %2', currency.CurrencyCode, currency.Txt));
}
}
Здесь мы читаем список валют в соответствии с условиями. Отобраный запросом набор записей о валютах кэшируется в буфере, связанном с табличной переменной "currency". Затем данные, запись за записью, выдаются в цикле, пока не будет исчерпан буфер. Текущая запись доступна через табличную переменную (здесь, это "currency"). Удобно.
Если не считать ключевое слово "while", то синтаксис этой конструкции идентичен синтаксису "select".
Итог:
выражение "while select" предназначено для обработки записей в цикле.
Комментариев нет:
Отправить комментарий