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

Запросы к регистру сведений

Автор Абылайхан, 10 мар 2015, 16:23

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

Абылайхан

Делаю запрос на регистр сведения и получаю последние значение курса валют.
  Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КурсыВалютСрезПоследних.Валюта,
| КурсыВалютСрезПоследних.Курс
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних КАК КурсыВалютСрезПоследних
|ГДЕ
| КурсыВалютСрезПоследних.Валюта = &Валюта";

Запрос.УстановитьПараметр("Валюта", Валюта);

Результат = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = Результат.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Текущий курс валюты " + ВыборкаДетальныеЗаписи.Валюта + " = " + ВыборкаДетальныеЗаписи.Курс;
Сообщение.Сообщить();
КонецЦикла;



А как можно получить значение МАКСИМУМ, МИНИМУМ в запросе по конкретной валюте из всех значений данной валюты? И отобразить все вместе, чет не получается у меня. Подскажите плиз.

mashencev_anton

В ГРУППИРОВКЕ суммируемое поле выбери МАКСИМУМ.
И еще тогда тебе не нужно использовать СРЕЗПОСЛЕДНИХ

дфтын

ВЫБРАТЬ
КурсыВалютСрезПоследних.Валюта,
КурсыВалютСрезПоследних.Курс,
ВложенныйЗапрос.КурсМакс КАК Максимум,
ВложенныйЗапрос.КурсМин КАК Минимум
ИЗ
РегистрСведений.КурсыВалют.СрезПоследних КАК КурсыВалютСрезПоследних
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
МАКСИМУМ(КурсыВалют.Курс) КАК КурсМакс,
МИНИМУМ(КурсыВалют.Курс) КАК КурсМин,
КурсыВалют.Валюта КАК Валюта
ИЗ
РегистрСведений.КурсыВалют КАК КурсыВалют

СГРУППИРОВАТЬ ПО
КурсыВалют.Валюта) КАК ВложенныйЗапрос
ПО КурсыВалютСрезПоследних.Валюта = ВложенныйЗапрос.Валюта

Добавлено: 10 мар 2015, 16:40


mashencev_anton, А если он хочит получить сред последних на какую либо дату?

mashencev_anton

Цитата: дфтын от 10 мар 2015, 16:39А если он хочит получить сред последних на какую либо дату?

тогда твой вариант!!!! бесспорно))))


Абылайхан

Цитата: дфтын от 10 мар 2015, 16:39
ВЫБРАТЬ
КурсыВалютСрезПоследних.Валюта,
КурсыВалютСрезПоследних.Курс,
ВложенныйЗапрос.КурсМакс КАК Максимум,
ВложенныйЗапрос.КурсМин КАК Минимум
ИЗ
РегистрСведений.КурсыВалют.СрезПоследних КАК КурсыВалютСрезПоследних
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
МАКСИМУМ(КурсыВалют.Курс) КАК КурсМакс,
МИНИМУМ(КурсыВалют.Курс) КАК КурсМин,
КурсыВалют.Валюта КАК Валюта
ИЗ
РегистрСведений.КурсыВалют КАК КурсыВалют

СГРУППИРОВАТЬ ПО
КурсыВалют.Валюта) КАК ВложенныйЗапрос
ПО КурсыВалютСрезПоследних.Валюта = ВложенныйЗапрос.Валюта

Добавлено: 10 мар 2015, 16:40


mashencev_anton, А если он хочит получить сред последних на какую либо дату?

Спасибо, все работает отлично. Только если честно я не совсем понял, что Вы именно делаете))) Почему нельзя вызвать функцию МАКСИМУМ сразу? Почему нужно делать вложенный запрос?

Теги:

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

Рейтинг@Mail.ru

Поиск