Курс в запросе

1. user1587645 24.09.22 12:06 Сейчас в теме
Здравствуйте! Подскажите пжл как в запросе задать курс =1, если валюта российский рубль. В справочнике Валюты нет кратности, только наименование и код валюты. В регистре сведений КурсыВалют измерение Валюта, ресурс Курс, кратности нет. Валюта выбирается пользователем на форме обработки. Привожу пример запроса:
Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
        |    ТоварыНаСкладахОстатки.КоличествоОстаток КАК Количество,
        |    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) / КурсыВалютСрезПоследних.Курс КАК Цена,
        |    ТоварыНаСкладахОстатки.КоличествоОстаток * ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) / КурсыВалютСрезПоследних.Курс КАК Стоимость
        |ИЗ
        |    РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад = &Склад) КАК ТоварыНаСкладахОстатки
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
        |        ПО ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура,
        |    РегистрСведений.КурсыВалют.СрезПоследних(, Валюта = &Валюта) КАК КурсыВалютСрезПоследних
        |ГДЕ
        |    ТоварыНаСкладахОстатки.КоличествоОстаток > 0";
    
    Запрос.УстановитьПараметр("Склад", Склад);
    Запрос.УстановитьПараметр("ВидЦены", ВидЦены);
    Запрос.УстановитьПараметр("Валюта", Валюта);
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Показать
По теме из базы знаний
Найденные решения
8. RustamZz 24.09.22 13:21 Сейчас в теме
(7) Не посмотрел у тебя связь неправильная
Прикрепленные файлы:
20. user1831019 24.09.22 15:56 Сейчас в теме
(19) Таблицу остатков с таблицей курсов. Выделено ЧОРНЫМ-ПРЕЧОРНЫМ в (8)
22. user1831019 24.09.22 16:08 Сейчас в теме
(21) ДА БЛИИИИНННН... Написано же - ПО ИСТИНА

PS. Чую, как у человека мир переворачивается в сознании... Оказывается, связь это просто булева логическая ИСТИНА при вычислении условия соединения, и поля тут вообще ни при чем!
И с помощью соединения можно ставить отборы на таблицы (но это потом, не надо все сразу вываливать на новичков).
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 24.09.22 12:51 Сейчас в теме
(1)
естьnull(КурсыВалютСрезПоследних.Курс,1)
3. user1587645 24.09.22 12:53 Сейчас в теме
(2)Не подходит. Такой валюты в регистре КурсВалют вообще нет, поскольку у нее нет курса
5. RustamZz 24.09.22 13:05 Сейчас в теме
6. user1587645 24.09.22 13:11 Сейчас в теме
(5)Так самой валюта там вообще нет
7. user1587645 24.09.22 13:16 Сейчас в теме
(5)Еще раз проверил. Не работает
8. RustamZz 24.09.22 13:21 Сейчас в теме
(7) Не посмотрел у тебя связь неправильная
Прикрепленные файлы:
9. user1587645 24.09.22 13:25 Сейчас в теме
(8) не сообразил. Что надо сделать?
10. RustamZz 24.09.22 13:27 Сейчас в теме
11. user1587645 24.09.22 13:33 Сейчас в теме
(10) Там связь двух регистров: ТовараНаСкладах и ЦеныНоменклатуры. Там вообще не участвует регистр сведений КурсыВалют. Он вообще нигде не с кем не связан. Я взял из него единственное что, так это курс срезпоследних чтобы добавить в строчку ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) / КурсыВалютСрезПоследних.Курс КАК Цена. Я даже в запросе не выбирал из этого регистра не 1-го поля, поскольку нет надобности. Единственное, что нужно это посчитать в табличной части цены и стоимость в зависимости от установленного курса валюты. Валюта пользователь выбирает на форме обработки
12. RustamZz 24.09.22 13:39 Сейчас в теме
(11)
КурсыВалютСрезПоследних.Курс
. В выходной день разжевывать нет желания. Пересмотрите ДМБ эпизод про суслика. Это про не участвует.
13. user1587645 24.09.22 13:52 Сейчас в теме
14. user1831019 24.09.22 14:41 Сейчас в теме
(12) Весь мир в труху! Но потом.
15. user1587645 24.09.22 15:02 Сейчас в теме
16. user1831019 24.09.22 15:24 Сейчас в теме
(15) По теме? В (8) уже ответили по теме. Надо связать таблицы.
17. user1587645 24.09.22 15:27 Сейчас в теме
(16)Какие таблицы? Что там можно связывать?
18. user1831019 24.09.22 15:29 Сейчас в теме
(17) Ты дурак? Если будет валюта в правой таблице - то будет поле с курсом. Если не будет валюты - будет NULL, который автоматически заменится на 1.
19. user1587645 24.09.22 15:53 Сейчас в теме
(18) Пока не могу понять. Какие таблицы я могу связать? Из имеющихся в запросе КурсВалют нельзя связать ни ТоварыНаСкладах, ни ЦеныНоменклатуры? Что добавить в запрос?
20. user1831019 24.09.22 15:56 Сейчас в теме
(19) Таблицу остатков с таблицей курсов. Выделено ЧОРНЫМ-ПРЕЧОРНЫМ в (8)
21. user1587645 24.09.22 16:07 Сейчас в теме
(20) Какой тип соединения должен быть? Там нет совпадающих полей
22. user1831019 24.09.22 16:08 Сейчас в теме
(21) ДА БЛИИИИНННН... Написано же - ПО ИСТИНА

PS. Чую, как у человека мир переворачивается в сознании... Оказывается, связь это просто булева логическая ИСТИНА при вычислении условия соединения, и поля тут вообще ни при чем!
И с помощью соединения можно ставить отборы на таблицы (но это потом, не надо все сразу вываливать на новичков).
23. user1831019 24.09.22 16:11 Сейчас в теме
(12)
В выходной день разжевывать нет желания.
А вот я сегодня добрый... Зачем-то. Но это временно.
4. user1587645 24.09.22 13:01 Сейчас в теме
(2)валюта российскийрубль предоопределенная, если это как-то поможет
24. user1587645 24.09.22 16:36 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот