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

Запрос 1с. Выбор курса по дате документа

Автор Дарьч, 02 июн 2023, 16:10

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

Дарьч

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

antoneus

Ну, во-первых, если устанавливаем параметры виртуальной таблицы, то условия в ГДЕ уже не нужны. Во-вторых - должно работать. В переменной результат пустая таблица значений что ли?

Дарьч

antoneus, да. В переменной пустая таблица. Но курс на эту дату установлен в регистре сведений

LexaK

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

antoneus

А если так

Запрос.УстановитьПараметр("Период", НачалоДня(ДанныеОбъекта.Дата));
хотя не, тупанул.

А если так:

Результат = РегистрыСведений.КурсыВалют.СрезПоследних(ДанныеОбъекта.Дата, Новый Структура("Валюта", ДанныеОбъекта.ВалютаДокумента))

Дарьч

LexaK, спасибо большое, все работает)

Дарьч

antoneus, прошлый ответ помог. Ваш уже нес стала проверять. Спасибо большое)

Теги:

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

Рейтинг@Mail.ru

Поиск