Имя: Пароль:
1C
1С v8
Как в выборке результата запроса сравнить значение(ВалютаДокумента)
,
0 jojojoba2
 
28.10.19
17:54
Добрый день!

Помогите пожалуйста начинающему программисту. Как сравнить в результате запроса ВалютуДокумента и вывести параметр на макет :
Процедура КнопкаСформироватьНажатие(Кнопка)
    ТабДок = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("Макет");
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ПлатежноеПоручениеВходящее.Ссылка,
        |    ПлатежноеПоручениеВходящее.Номер,
        |    ПлатежноеПоручениеВходящее.Дата,
        |    ПлатежноеПоручениеВходящее.Проведен,
        |    ПлатежноеПоручениеВходящее.ВалютаДокумента,
        |    ПлатежноеПоручениеВходящее.Оплачено,
        |    ПлатежноеПоручениеВходящее.Контрагент,
        |    ПлатежноеПоручениеВходящее.ДатаОплаты,
        |    ПлатежноеПоручениеВходящее.СуммаДокумента,
        |    ПлатежноеПоручениеВходящее.СтатьяДвиженияДенежныхСредств,
        //|    ПлатежноеПоручениеВходящее.Заказ,
        |    ПлатежноеПоручениеВходящее.РасшифровкаПлатежа.(
        |        СуммаНДС
        |    ) как   СуммаНДС
        |ИЗ
        |    Документ.ПлатежноеПоручениеВходящее КАК ПлатежноеПоручениеВходящее
        |ГДЕ
        |    ПлатежноеПоручениеВходящее.ДатаОплаты = &Дата
        |    И ПлатежноеПоручениеВходящее.Проведен =истина
        |    И ПлатежноеПоручениеВходящее.СтатьяДвиженияДенежныхСредств = &СтатьяДвиженияДенежныхСредств
        |    И ПлатежноеПоручениеВходящее.Оплачено = &Оплачено";
          
    Запрос.УстановитьПараметр("Дата", ЗаДату);
    Запрос.УстановитьПараметр("Оплачено", Оплочено);
    //Запрос.УстановитьПараметр("Проведен", "истина");
    Запрос.УстановитьПараметр("СтатьяДвиженияДенежныхСредств", стДвиженияДС);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    Область = Макет.ПолучитьОбласть("Детали");
    РасшифровкаПлатежаОбластьПодвалТаблицы = Макет.ПолучитьОбласть("РасшифровкаПлатежаПодвалТаблицы");
    РасшифровкаПлатежаОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("РасшифровкаПлатежаДетали");
    ТабДок.Очистить();
    ОбластьЗаголовок.Параметры.ДатаОплаты=ЗаДату;
    Номер="ФСМ " +Лев(Строка(ЗаДату),2)+"_" +Сред(Строка(ЗаДату),4,2)+ "/"+Сред(Строка(ЗаДату),9,2);
    ОбластьЗаголовок.Параметры.Номер=Номер;
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    //ТабДок.НачатьАвтогруппировкуСтрок();
    Выборка = РезультатЗапроса.Выбрать();
    СуммаСОбщ=0; СуммаБезОбщ=0; СуммаВознОбщ=0;
    Пока Выборка.Следующий() Цикл
        Область.Параметры.Заполнить(Выборка);
        Область.Параметры.Заказ=Выборка.Ссылка.РасшифровкаПлатежа[0].Сделка ;
        НДС =  Выборка.Ссылка.РасшифровкаПлатежа[0].СуммаНДС;
        
        
        
        Если  Область.Параметры.ВалютаДокумента = "дол" Тогда  
            СуммаС = Выборка.СуммаДокумента * 24;
         Иначе
        
        СуммаС = Выборка.СуммаДокумента+НДС;
        КонецЕсли;
        
        
        СуммаВозн= Выборка.СуммаДокумента*ПроцентВН/100;
        СуммаСОбщ=СуммаСОбщ+СуммаС;
        СуммаБезОбщ= СуммаБезОбщ+ Выборка.СуммаДокумента;
        СуммаВознОбщ=СуммаВознОбщ+СуммаВозн;
        Область.Параметры.СуммаВозн=СуммаВозн;
        Область.Параметры.СуммаС=СуммаС;
        //Область.Параметры.СуммаС=СуммаС;
        ТабДок.Вывести(Область, Выборка.Уровень());
        ТабДок.НачатьГруппуСтрок();
        ТабДок.ЗакончитьГруппуСтрок();
    КонецЦикла;
    ОбластьПодвал.Параметры.СуммаСОбщ=СуммаСОбщ;
    ОбластьПодвал.Параметры.СуммаБезОбщ=СуммаБезОбщ;
    ОбластьПодвал.Параметры.СуммаВознОбщ=СуммаВознОбщ;
    ТабДок.Вывести(ОбластьПодвал);
    ТабДок.Показать();
КонецПроцедуры




@@@@  Если  Область.Параметры.ВалютаДокумента = "дол" Тогда  
            СуммаС = Выборка.СуммаДокумента * 24;
         Иначе
        СуммаС = Выборка.СуммаДокумента+НДС;
        КонецЕсли;  @@@@@                                     ------------   Это не заработало.  

Спасибо.
1 hhhh
 
28.10.19
18:01
(0) наверно потому что "дол" - это же строка текста, а никакая не валюта. Поэтому и не должно было сработать.
2 Джинн
 
28.10.19
18:07
Это в принципе чушь полная. Даже без "сравнения валюты".

Область.Параметры.ВалютаДокумента = "дол" Тогда  
   СуммаС = Выборка.СуммаДокумента * 24;
3 spiller26
 
28.10.19
18:09
(0) Область.Параметры.ВалютаДокумента = "дол" что это?
Вы в область даже не записали если что.
"Выборка.ВалютаДокумента" чем вам не устраивает?
4 Джинн
 
28.10.19
18:29
(3) Там круче еще - при изменении курса валюты каждый раз код переписывать :)
5 vicof
 
28.10.19
18:30
(4) Стабильный заработок)
6 jojojoba2
 
28.10.19
20:16
Всем спасибо!