Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 02:25

Выборка в запросе

Автор Plastilin, 17 апр 2010, 21:43

0 Пользователей и 1 гость просматривают эту тему.

Plastilin

Уважаемые профессионалы.столкнулся с такой проблемой:
Имеется справочник Ставки в котором 2 реквезита: от и процент.В запросе выбираю все значения "от" и "процент".а вот дальше сама сложность.Как организовать правильно организовать цикл если есть значение(параметр1) допустим 3500р.
есть ставки в справочнике:
от               Процент
1000р             30%
3000р             35%
5000р             40%
7000р             45%
нужно вернуть процент соответствующий значению 3500р(параметр1) ?????????????

вот набросок запроса
Функция Запросить(параметр1)
   
    Запрос3= Новый Запрос;
    Запрос3.Текст = 
    "ВЫБРАТЬ
    |от,ПроцентСервисИнженера
    |ИЗ
    |Справочник.Ставки
    |УПОРЯДОЧИТЬ ПО
    |от,ПроцентСервисИнженера ВОЗР
    |";
    Рез3= Запрос3.Выполнить().Выбрать();
    Пока Рез3.Следующий() Цикл
       
        Если параметр1 <= Рез3.от Тогда
            параметр1 =  Рез3.ПроцентСервисИнженера;
            //Прервать;

           
            Возврат(параметр1);
        КонецЕсли;
    КонецЦикла;
КонецФункции

BabySG

Сортируйте в запросе по убыванию, и находите первое значение, которое меньше вашего и получайте результат. Это же просто :)

andr2510

Мда.... добавить нечего:)
Ан нет:)
Можно передать в запрос как параметр, а в запросе искать все, которые меньше. А из результата потом брать первоую строку, если она есть. Плюс в том, что все делает запрос.
ЗЫ: и указать в запросе "ПЕРВЫЕ 1", тогда онвыберет максимум 1 строку - экономия на трафике.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск