Коллеги подскажите начинающему программисту почему Возврат Курса не происходит?
Функция ПолучитьКурсВалюты(Валюта,Дата)Экспорт
Если Валюта = Справочники.Валюты.Рубль Тогда
Возврат 1;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КурсыВалютСрезПоследних.Валюта КАК Валюта,
| КурсыВалютСрезПоследних.Курс КАК Курс
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта) КАК КурсыВалютСрезПоследних";
Запрос.УстановитьПараметр("Дата", Дата);
Запрос.УстановитьПараметр("Валюта", Валюта);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Курс = ВыборкаДетальныеЗаписи.Курс;
КонецЦикла;
Возврат Курс ;
КонецЕсли;
КонецФункции
ПоказатьПо теме из базы знаний
- Универсальные функции получения значений реквизитов объектов (8.2+)
- РусскийФокс. Настройка NotePad++, 1C-подобные функции и операторы и создание объектов
- hsИнтегратор 3. Онлайновый обмен и удаленное исполнение функций по HTTP протоколу
- Функция - Формат государственного номера автомобиля
- Лямбда-функции на встроенном языке 1С
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Функция ПолучитьКурсВалюты(Валюта,Дата)Экспорт
Если Валюта = Справочники.Валюты.Рубль Тогда
Возврат 1;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КурсыВалютСрезПоследних.Валюта КАК Валюта,
| ЕСТЬNULL(КурсыВалютСрезПоследних.Курс, 0) КАК Курс
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта) КАК КурсыВалютСрезПоследних";
Запрос.УстановитьПараметр("Дата", Дата);
Запрос.УстановитьПараметр("Валюта", Валюта);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если ВыборкаДетальныеЗаписи.Курс = 0 Тогда
Сообщить("Не задан курс для " * ВыборкаДетальныеЗаписи.Валюта);
Отказ = Истина;
КонецЕсли;
Если НЕ отказ = Истина Тогда
Курс = ВыборкаДетальныеЗаписи.Курс;
КонецЕсли;
КонецЦикла;
Возврат Курс;
Если Валюта = Справочники.Валюты.Рубль Тогда
Возврат 1;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КурсыВалютСрезПоследних.Валюта КАК Валюта,
| ЕСТЬNULL(КурсыВалютСрезПоследних.Курс, 0) КАК Курс
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта) КАК КурсыВалютСрезПоследних";
Запрос.УстановитьПараметр("Дата", Дата);
Запрос.УстановитьПараметр("Валюта", Валюта);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если ВыборкаДетальныеЗаписи.Курс = 0 Тогда
Сообщить("Не задан курс для " * ВыборкаДетальныеЗаписи.Валюта);
Отказ = Истина;
КонецЕсли;
Если НЕ отказ = Истина Тогда
Курс = ВыборкаДетальныеЗаписи.Курс;
КонецЕсли;
КонецЦикла;
Возврат Курс;
Функция ПолучитьКурсВалюты(Валюта, ДатаКурса) Экспорт
Если Валюта = Справочники.Валюты.Рубль Тогда
Возврат 1;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КурсыВалютСрезПоследних.Валюта КАК Валюта,
| КурсыВалютСрезПоследних.Курс КАК Курс
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта) КАК КурсыВалютСрезПоследних";
Запрос.УстановитьПараметр("Дата", Дата);
Запрос.УстановитьПараметр("Валюта", Валюта);
РезультатЗапроса = Запрос.Выполнить().Выбрать();
Если РезультатЗапроса.Следующий() Тогда
Возврат РезультатЗапроса.Курс;
Иначе
Возврат 0;
КонецЦикла;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот