Имя: Пароль:
1C
1С v8
как в запросе конвертировать из одной валюты в другую ?
0 vde69
 
модератор
24.03.14
15:31
известны валюты и дата, тонкости возникают при округлении.

Может у кого есть рабочий пример?
1 vmv
 
24.03.14
15:36
В СКД можно вызывать функцию пересчета для поля

а в запросе от лукавого, конеш
2 МихаилМ
 
24.03.14
15:36
опишите подробнее разделы "дано" и "что нужно"
3 vmv
 
24.03.14
15:37
(0) в Крыму филиал открываешь чтоле?)
4 vde69
 
модератор
24.03.14
15:38
(2) при проведении пишем регистр "взаиморасчеты", пишем в разрезе номенклатуры...

предположим договор валютный а отгрузка рублевая, хочу сразу в запросе посчитать валютные суммы для записи в регистр.
5 shuhard
 
24.03.14
15:40
(0) открой типовую УТ 10.3 или УПП
в них валютирование ведётся в запросах
6 Ненавижу 1С
 
гуру
24.03.14
15:40
(0) в чем проблема? сгруппируй по строкам, результат умножить на курс
7 Ненавижу 1С
 
гуру
24.03.14
15:41
удивил ТС
8 PR
 
24.03.14
15:41
(0) ВЫРАЗИТЬ?
9 mikecool
 
24.03.14
15:42
(7) +1
10 Aleks73
 
24.03.14
15:43
выбор когда...в ветке умножаем на курс.
по-моему так
11 vde69
 
модератор
24.03.14
16:08
(6) 1$ по курсу 35,2561 сколько я получу в рублях???
12 shuhard
 
24.03.14
16:11
(11)  35,26
13 Господин ПЖ
 
24.03.14
16:11
(11) Выразить("произведение" КАК  Число (15, 2)) ?
14 Ненавижу 1С
 
гуру
24.03.14
16:19
(11) 35.26
15 vde69
 
модератор
24.03.14
16:28
(14) всегда? не зависит от настроек сервера? не сависит от СУБД ?
16 mrDSide
 
24.03.14
16:30
(0) есть, но не бесплатно.
17 mrDSide
 
24.03.14
16:34
ВЫБРАТЬ
    КурсыВалютСрезПоследних.Валюта,
    КурсыВалютСрезПоследних.Курс,
    КурсыВалютСрезПоследних.Кратность,
    КурсыВалютСрезПоследнихУУ.Валюта КАК ВалютаУУ,
    КурсыВалютСрезПоследнихУУ.Курс КАК КурсУУ,
    КурсыВалютСрезПоследнихУУ.Кратность КАК КратностьУУ,
    КурсыВалютСрезПоследнихУУ.Курс / КурсыВалютСрезПоследних.Курс КАК КроссКурсКВалютеУУ,
    СреднийКурс.Курс / СреднийКурс.Количество КАК КурсСреднийЗаПериод,
    СреднийКурсУУ.Курс / СреднийКурсУУ.Количество КАК КурсСреднийЗаПериодУУ,
    СреднийКурсУУ.Курс * СреднийКурс.Количество / (СреднийКурсУУ.Количество * СреднийКурс.Курс) КАК СреднийКроссКурсКВалютеУУ
ПОМЕСТИТЬ врКурсы
ИЗ
    РегистрСведений.КурсыВалют.СрезПоследних(&НачалоПериода, Валюта В (&Валюты)) КАК КурсыВалютСрезПоследних
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            КурсыВалют.Валюта КАК Валюта,
            СУММА(КурсыВалют.Курс) КАК Курс,
            СУММА(1) КАК Количество
        ИЗ
            РегистрСведений.КурсыВалют КАК КурсыВалют
        ГДЕ
            КурсыВалют.Период МЕЖДУ &НачалоПериода И &КонецПериода
        
        СГРУППИРОВАТЬ ПО
            КурсыВалют.Валюта) КАК СреднийКурс
        ПО КурсыВалютСрезПоследних.Валюта = СреднийКурс.Валюта,
    РегистрСведений.КурсыВалют.СрезПоследних(&НачалоПериода, Валюта = &ВалютаУУ) КАК КурсыВалютСрезПоследнихУУ,
    (ВЫБРАТЬ
        КурсыВалют.Валюта КАК Валюта,
        СУММА(КурсыВалют.Курс) КАК Курс,
        СУММА(1) КАК Количество
    ИЗ
        РегистрСведений.КурсыВалют КАК КурсыВалют
    ГДЕ
        КурсыВалют.Период МЕЖДУ &НачалоПериода И &КонецПериода
        И КурсыВалют.Валюта = &ВалютаУУ
    
    СГРУППИРОВАТЬ ПО
        КурсыВалют.Валюта) КАК СреднийКурсУУ
ГДЕ
    КурсыВалютСрезПоследнихУУ.Валюта = &ВалютаУУ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    врКурсы.Валюта,
    врКурсы.Курс,
    врКурсы.Кратность,
    врКурсы.ВалютаУУ,
    врКурсы.КурсУУ,
    врКурсы.КратностьУУ,
    врКурсы.КроссКурсКВалютеУУ,
    врКурсыРазворот.Валюта КАК КВалюте,
    врКурсы.Курс / врКурсыРазворот.Курс КАК КроссКурсКВалюте,
    врКурсыРазворот.Кратность КАК ВалютаККратность,
    врКурсы.КурсСреднийЗаПериод,
    врКурсы.КурсСреднийЗаПериодУУ,
    врКурсы.СреднийКроссКурсКВалютеУУ,
    врКурсы.КурсСреднийЗаПериод / врКурсыРазворот.КурсСреднийЗаПериод КАК КроссКурсКВалютеСредний
ПОМЕСТИТЬ врКурсыРазвернутые
ИЗ
    врКурсы КАК врКурсы,
    (ВЫБРАТЬ
        врКурсы.Валюта КАК Валюта,
        врКурсы.Курс КАК Курс,
        врКурсы.Кратность КАК Кратность,
        врКурсы.КурсСреднийЗаПериод КАК КурсСреднийЗаПериод
    ИЗ
        врКурсы КАК врКурсы
    ГДЕ
        врКурсы.Валюта В(&ВалютыВОтчет)) КАК врКурсыРазворот
;

////////////////////////////////////////////////////////////////////////////////
18 shuhard
 
24.03.14
16:41
(15) арифметическое округление не зависит от СУБД
2 + 2 = 3.9999999999999999999999999999999...