Условие в запросе.

1. jeniks 31.10.16 08:46 Сейчас в теме
Подскажите как организовать условие в запросе. Проблема в том что 01.07.2016 была деноминация (10000) и в отчет попадают данные из документов за 2 периода (до и после) далее всё в кучу.
Хотелось бы определить условие чтобы документы "до" делились на 10000 и суммировались с "после". Всё выше сказанное касается Стоимости.

Процедура Сформировать()                      
    
    Перем Запрос, ТекстЗапроса, Таб;

    Запрос = СоздатьОбъект("Запрос"); 

           ТекстЗапроса = 
            "//{{ЗАПРОС(Сформировать)
        |Период с ВыбНачПериода по ВыбКонПериода; 
        |ОбрабатыватьДокументы проведенные;
        |Док = Документ.ПередачаМатериаловСпецназначенияВПроизводство.ТекущийДокумент,
        |    Документ.ТребованиеНакладная.ТекущийДокумент,
        |    Документ.ВводВЭксплуатациюМБП.ТекущийДокумент;
        |Материал = Документ.ПередачаМатериаловСпецназначенияВПроизводство.Материал,
        |    Документ.ТребованиеНакладная.Материал,
        |    Документ.ВводВЭксплуатациюМБП.Материал;
        |Страна = Документ.ПередачаМатериаловСпецназначенияВПроизводство.Материал.СтранаПроисхождения,
        |    Документ.ТребованиеНакладная.Материал.СтранаПроисхождения,
        |    Документ.ВводВЭксплуатациюМБП.Материал.СтранаПроисхождения;
        |Код = Документ.ПередачаМатериаловСпецназначенияВПроизводство.Материал.СтранаПроисхождения.Код,
        |    Документ.ТребованиеНакладная.Материал.СтранаПроисхождения.Код,
        |    Документ.ВводВЭксплуатациюМБП.Материал.СтранаПроисхождения.Код;
        |Дата = Документ.ПередачаМатериаловСпецназначенияВПроизводство.ДатаДок,
        |    Документ.ТребованиеНакладная.ДатаДок,
        |    Документ.ВводВЭксплуатациюМБП.ДатаДок;
        |Номер = Документ.ПередачаМатериаловСпецназначенияВПроизводство.НомерДок,
        |    Документ.ТребованиеНакладная.НомерДок,
        |    Документ.ВводВЭксплуатациюМБП.НомерДок;
        |Стоимость = Документ.ПередачаМатериаловСпецназначенияВПроизводство.Сумма,
        |    Документ.ТребованиеНакладная.Сумма,
        |    Документ.ВводВЭксплуатациюМБП.Сумма;
        |Ном = Документ.ПередачаМатериаловСпецназначенияВПроизводство.НомерСтроки,
        |    Документ.ТребованиеНакладная.НомерСтроки,
        |    Документ.ВводВЭксплуатациюМБП.НомерСтроки;
        |Функция Всего = Сумма(Стоимость);
        |Группировка Страна;   
        |Группировка Док  упорядочить по Док.ДатаДок; 
        |Группировка Материал упорядочить по Материал.наименование без Групп;
        |Группировка Ном; 
        |"//}}ЗАПРОС
         ;
Показать
По теме из базы знаний
Найденные решения
23. корум 288 31.10.16 16:44 Сейчас в теме
(22)
 |    Функция Всего1 = Сумма(Стоимость/10000) Когда (Дата > Д);
       |    Функция Всего2 = Сумма(Стоимость) Когда (Дата <= Д);


!!! ты немного условия местами поменял. Надо

  |    Функция Всего1 = Сумма(Стоимость) Когда (Дата > Д);
       |    Функция Всего2 = Сумма(Стоимость/10000) Когда (Дата <= Д);


Для одной строки будет не ноль или всего1, или всего2. Правильно?
Всего1 в новых зайчиках
Всего2 в старых, делённое на 10000.




Итого=Итого+Запрос.Всего1+Запрос.Всего2; --не забудь у себя исправить.


и получится всё так, как надо.
jeniks; Alister; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
16. jeniks 31.10.16 13:21 Сейчас в теме
Процедура Сформировать()                      
	
	Перем Запрос, ТекстЗапроса, Таб, Д;
         Д="16.07.01";
	Запрос = СоздатьОбъект("Запрос"); 

	   	ТекстЗапроса = 
			"//{{ЗАПРОС(Сформировать)
		|Период с ВыбНачПериода по ВыбКонПериода; 
		|ОбрабатыватьДокументы проведенные;
		|Док = Документ.ПередачаМатериаловСпецназначенияВПроизводство.ТекущийДокумент,
		|	Документ.ТребованиеНакладная.ТекущийДокумент,
		|	Документ.ВводВЭксплуатациюМБП.ТекущийДокумент;
		|Материал = Документ.ПередачаМатериаловСпецназначенияВПроизводство.Материал,
		|	Документ.ТребованиеНакладная.Материал,
		|	Документ.ВводВЭксплуатациюМБП.Материал;
		|Страна = Документ.ПередачаМатериаловСпецназначенияВПроизводство.Материал.СтранаПроисхождения,
		|	Документ.ТребованиеНакладная.Материал.СтранаПроисхождения,
		|	Документ.ВводВЭксплуатациюМБП.Материал.СтранаПроисхождения;
		|Код = Документ.ПередачаМатериаловСпецназначенияВПроизводство.Материал.СтранаПроисхождения.Код,
		|	Документ.ТребованиеНакладная.Материал.СтранаПроисхождения.Код,
		|	Документ.ВводВЭксплуатациюМБП.Материал.СтранаПроисхождения.Код;
		|Дата = Документ.ПередачаМатериаловСпецназначенияВПроизводство.ДатаДок,
		|	Документ.ТребованиеНакладная.ДатаДок,
		|	Документ.ВводВЭксплуатациюМБП.ДатаДок;
		|Номер = Документ.ПередачаМатериаловСпецназначенияВПроизводство.НомерДок,
		|	Документ.ТребованиеНакладная.НомерДок,
		|	Документ.ВводВЭксплуатациюМБП.НомерДок;
		
		
		

		|Стоимость = Документ.ПередачаМатериаловСпецназначенияВПроизводство.Сумма,
		|	Документ.ТребованиеНакладная.Сумма,
		|	Документ.ВводВЭксплуатациюМБП.Сумма;
		|Ном = Документ.ПередачаМатериаловСпецназначенияВПроизводство.НомерСтроки,
		|	Документ.ТребованиеНакладная.НомерСтроки,
		|	Документ.ВводВЭксплуатациюМБП.НомерСтроки;
		| 
		
		|   Функция Всего1 = Сумма(Стоимость) Когда (Дата >= Д);
		|	Функция Всего2 = Сумма(Стоимость/10000) Когда (Дата < Д);
	
		|   
		|Группировка Страна;   
		|Группировка Док  упорядочить по Док.ДатаДок; 
		|Группировка Материал упорядочить по Материал.наименование без Групп;
		|Группировка Ном;
		|"//}}ЗАПРОС
     	;         
         
	 	
	 	
   
	Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
		Возврат;
	КонецЕсли;

	// Подготовка к заполнению выходных форм данными запроса
	Таб = СоздатьОбъект("Таблица");
  

	Таб.ВывестиСекцию("Заголовок");
	Состояние("Заполнение выходной таблицы..."); 
	РБ = 0;
	НеРБ = 0;
	Итого = 0;
	//Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);   
	НомерСтроки = 1;            
	Пока Запрос.Группировка(1) = 1 Цикл 
		Таб.ВывестиСекцию("Страна"); 
		Если Запрос.Код=1 Тогда
		  	РБ = РБ+Запрос.Всего1+Запрос.Всего2;
		Иначе
		  НеРБ = НеРБ+Запрос.Всего1+Запрос.Всего2;	
		КонецЕсли;

		Пока Запрос.Группировка(2) = 1 Цикл 
		
			Пока Запрос.Группировка(3) = 1 Цикл	
				Пока Запрос.Группировка(4) = 1 Цикл	
					НомерСтроки = 	НомерСтроки +1; 
					Если Разворачивать=1 Тогда
					  	Таб.ВывестиСекцию("Материал"); 	  
					КонецЕсли;
				
					Итого = Итого+Запрос.Стоимость;
				КонецЦикла; 
			КонецЦикла; 
         	Таб.ВывестиСекцию("Док"); 
			Итого=0;
		КонецЦикла;                

		Итого = 0;   
	 	Таб.ВывестиСекцию("Итог") ;
	КонецЦикла; 
    Таб.ВывестиСекцию("Подвал");  

	СохранитьЗначение("ЯСоставил",ОтчетСоставил);   

    Таб.ПараметрыСтраницы(1,,,,,,,,,1);     
	Таб.ТолькоПросмотр(1);
	Таб.Показать("Сформировать", "");
КонецПроцедуры   

   	ВыбНачПериода = РабочаяДата();
	ВыбКонПериода = РабочаяДата();    

	ОтчетСоставил = ВосстановитьЗначение("ЯСоставил");   
Показать

Так работает без ошибок. Но Результат возвращает не тот. Что выводить?
17. корум 288 31.10.16 14:06 Сейчас в теме
(16) отладчик в помощь, выгрузка в ТЗ тоже.
и тебе не Запрос.Стоимость надо, а Запрос.Всего1+Запрос.Всего2
18. VUN 38 31.10.16 14:40 Сейчас в теме
(16)? Вместо
Д="16.07.01";
поставить
Д=Дата("01.07.2016");
19. jeniks 31.10.16 15:53 Сейчас в теме
//*******************************************
// Процедура генерации запроса Сформировать.
//  

Процедура Сформировать()                      
	
	Перем Запрос, ТекстЗапроса, Таб, Д;
         Д=Дата("01.07.2016");
	Запрос = СоздатьОбъект("Запрос"); 

	   	ТекстЗапроса = 
			"//{{ЗАПРОС(Сформировать)
		|Период с ВыбНачПериода по ВыбКонПериода; 
		|ОбрабатыватьДокументы проведенные;
		|Док = Документ.ПередачаМатериаловСпецназначенияВПроизводство.ТекущийДокумент,
		|	Документ.ТребованиеНакладная.ТекущийДокумент,
		|	Документ.ВводВЭксплуатациюМБП.ТекущийДокумент;
		|Материал = Документ.ПередачаМатериаловСпецназначенияВПроизводство.Материал,
		|	Документ.ТребованиеНакладная.Материал,
		|	Документ.ВводВЭксплуатациюМБП.Материал;
		|Страна = Документ.ПередачаМатериаловСпецназначенияВПроизводство.Материал.СтранаПроисхождения,
		|	Документ.ТребованиеНакладная.Материал.СтранаПроисхождения,
		|	Документ.ВводВЭксплуатациюМБП.Материал.СтранаПроисхождения;
		|Код = Документ.ПередачаМатериаловСпецназначенияВПроизводство.Материал.СтранаПроисхождения.Код,
		|	Документ.ТребованиеНакладная.Материал.СтранаПроисхождения.Код,
		|	Документ.ВводВЭксплуатациюМБП.Материал.СтранаПроисхождения.Код;
		|Дата = Документ.ПередачаМатериаловСпецназначенияВПроизводство.ДатаДок,
		|	Документ.ТребованиеНакладная.ДатаДок,
		|	Документ.ВводВЭксплуатациюМБП.ДатаДок;
		|Номер = Документ.ПередачаМатериаловСпецназначенияВПроизводство.НомерДок,
		|	Документ.ТребованиеНакладная.НомерДок,
		|	Документ.ВводВЭксплуатациюМБП.НомерДок;
		
		
		

		|Стоимость = Документ.ПередачаМатериаловСпецназначенияВПроизводство.Сумма,
		|	Документ.ТребованиеНакладная.Сумма,
		|	Документ.ВводВЭксплуатациюМБП.Сумма;
		|Ном = Документ.ПередачаМатериаловСпецназначенияВПроизводство.НомерСтроки,
		|	Документ.ТребованиеНакладная.НомерСтроки,
		|	Документ.ВводВЭксплуатациюМБП.НомерСтроки;
		| 
		
		|   Функция Всего1 = Сумма(Стоимость/10000) Когда (Дата > Д);
		|	Функция Всего2 = Сумма(Стоимость) Когда (Дата <= Д);
	
		|   
		|Группировка Страна;   
		|Группировка Док  упорядочить по Док.ДатаДок; 
		|Группировка Материал упорядочить по Материал.наименование без Групп;
		|Группировка Ном;
		|"//}}ЗАПРОС
     	;         
         
	 	
	 	
   
	Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
		Возврат;
	КонецЕсли;

	// Подготовка к заполнению выходных форм данными запроса
	Таб = СоздатьОбъект("Таблица");
  

	Таб.ВывестиСекцию("Заголовок");
	Состояние("Заполнение выходной таблицы..."); 
	РБ = 0;
	НеРБ = 0;
	Итого = 0; 

	//Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);   
	НомерСтроки = 1;            
	Пока Запрос.Группировка(1) = 1 Цикл 
		Таб.ВывестиСекцию("Страна"); 
		Если Запрос.Код=1 Тогда
		  	РБ = РБ+Запрос.Всего1+Запрос.Всего2/10000;
		Иначе
		  НеРБ = НеРБ+Запрос.Всего1+Запрос.Всего2/10000;	
		КонецЕсли;

		Пока Запрос.Группировка(2) = 1 Цикл 
		
			Пока Запрос.Группировка(3) = 1 Цикл	
				Пока Запрос.Группировка(4) = 1 Цикл	
					НомерСтроки = 	НомерСтроки +1; 
					Если Разворачивать=1 Тогда
					  	Таб.ВывестиСекцию("Материал"); 	  
					КонецЕсли;
					 
					  Если Запрос.Дата <= Д Тогда Итого=Итого+Запрос.Стоимость/10000 
					  	Иначе Итого=Итого+Запрос.Стоимость;
					  	КонецЕсли;
					
				
				КонецЦикла; 
			КонецЦикла; 
         	Таб.ВывестиСекцию("Док"); 
			Итого=0;
		КонецЦикла;                

		Итого = 0;   
	 	Таб.ВывестиСекцию("Итог") ;
	КонецЦикла; 
    Таб.ВывестиСекцию("Подвал");  

	СохранитьЗначение("ЯСоставил",ОтчетСоставил);   

    Таб.ПараметрыСтраницы(1,,,,,,,,,1);     
	Таб.ТолькоПросмотр(1);
	Таб.Показать("Сформировать", "");
КонецПроцедуры   

   	ВыбНачПериода = РабочаяДата();
	ВыбКонПериода = РабочаяДата();    

	ОтчетСоставил = ВосстановитьЗначение("ЯСоставил");    
Показать

ТЗ заполняю так:
Секция Док
Запрос.Док ФорматС(Итого)
Секция Материал
Запрос.Материал
Секция Итог
В С Е Г О Запрос.Всего1+Запрос.Всего2/10000#Ч15.2.
Получается так как надо по внешнему виду, однако Итого считает только ДО 01.07.2016.
2. Alister 10 31.10.16 10:29 Сейчас в теме
Конструкция типа:
ВЫБОР
КОГДА Документ.ПередачаМатериаловСпецназначенияВПроизводство.Дата > &ДатаДеноминации ТОГДА
Документ.ПередачаМатериаловСпецназначенияВПроизводство.Сумма
ИНАЧЕ
Документ.ПередачаМатериаловСпецназначенияВПроизводство.Дата/10000
КОНЕЦ
5. alxarz 32 31.10.16 10:54 Сейчас в теме
(2)(3)(4) это всё в 7.7 работает?? :)

(1) можно как-то так полагаю
Функция Всего1 = Сумма(Стоимость) Когда (Документ.ПередачаМатериаловСпецназначенияВПроизводство.ДатаДок > &ДатаДеноминации) ;
Функция Всего2 = Сумма(Стоимость) Когда (Документ.ПередачаМатериаловСпецназначенияВПроизводство.ДатаДок <= &ДатаДеноминации) ;

корум; +1 Ответить
6. Alister 10 31.10.16 11:33 Сейчас в теме
(5) в 7-ке не было конструкции ВЫБОР?
8. корум 288 31.10.16 11:51 Сейчас в теме
24. Alister 10 31.10.16 19:55 Сейчас в теме
(8) спасибо, вот что значит давно с 7.7 не работать.(
7. jeniks 31.10.16 11:49 Сейчас в теме
(5)
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{Отчет.ПТМ_РасхМатПоСтран.Форма.Модуль(59)}: Функция Всего1 = Сумма(Стоимость) Когда ( <<?>> Документ.ПередачаМатериаловСпецназначенияВПроизводство.ДатаДок > &ДатаДеноминации) ;
Запрос[28] : Ожидается логическое выражение
9. корум 288 31.10.16 11:55 Сейчас в теме
(7) & тоже в 7.7 не поддерживается.

кусок кода из типового отчета:

|Функция РасходОстаток = Расход(КолОстаток) Когда (СтатусПартии = СтатусПринятый);

//СтатусПринятый -- параметр.
10. alxarz 32 31.10.16 11:58 Сейчас в теме
3. Alister 10 31.10.16 10:30 Сейчас в теме
И так по каждому виду документа.
Документ.ПередачаМатериаловСпецназначенияВПроизводство.Сумма/10000

конечно )
4. Alister 10 31.10.16 10:34 Сейчас в теме
ВЫБОР
КОГДА Документ.ПередачаМатериаловСпецназначенияВПроизводство.ДатаДок > &ДатаДеноминации ТОГДА
Документ.ПередачаМатериаловСпецназначенияВПроизводство.Сумма
ИНАЧЕ
Документ.ПередачаМатериаловСпецназначенияВПроизводство.Сумма/10000
КОНЕЦ КАК Стоимость

как всегда поторопишься и результат.)))
11. jeniks 31.10.16 12:02 Сейчас в теме
убрал.
 Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{Отчет.ПТМ_РасхМатПоСтран.Форма.Модуль(62)}:    Функция Всего1 = Сумма(Стоимость) Когда ( <<?>> Документ.ПередачаМатериаловСпецназначенияВПроизводство.ДатаДок > ДатаДеноминации);
Запрос[29] : Ожидается логич
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{Отчет.ПТМ_РасхМатПоСтран.Форма.Модуль(62)}: 	Функция Всего2 = Сумма(Стоимость) Когда ( <<?>> Документ.ПередачаМатериаловСпецназначенияВПроизводство.ДатаДок <= ДатаДеноминации);
Запрос[30] : Ожидается логиче
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{Отчет.ПТМ_РасхМатПоСтран.Форма.Модуль(62)}:    Функция Всего3 = Сумма(Стоимость) Когда ( <<?>> Документ.ТребованиеНакладная.ДатаДок > ДатаДеноминации);
Запрос[31] : Ожидается логическое выражение
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{Отчет.ПТМ_РасхМатПоСтран.Форма.Модуль(62)}: 	Функция Всего4 = Сумма(Стоимость) Когда ( <<?>> Документ.ТребованиеНакладная.ДатаДок <= ДатаДеноминации);
Запрос[32] : Ожидается логическое выражение
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{Отчет.ПТМ_РасхМатПоСтран.Форма.Модуль(62)}: 	Функция Всего5 = Сумма(Стоимость) Когда ( <<?>> Документ.ВводВЭксплуатациюМБП.ДатаДок > ДатаДеноминации);
Запрос[33] : Ожидается логическое выражение
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{Отчет.ПТМ_РасхМатПоСтран.Форма.Модуль(62)}: 	Функция Всего6 = Сумма(Стоимость) Когда ( <<?>> Документ.ВводВЭксплуатациюМБП.ДатаДок <= ДатаДеноминации);
Запрос[34] : Ожидается логическое выражение 
Показать

Сам запрос:
 	|   Функция Всего1 = Сумма(Стоимость) Когда (Документ.ПередачаМатериаловСпецназначенияВПроизводство.ДатаДок > ДатаДеноминации);
		|	Функция Всего2 = Сумма(Стоимость) Когда (Документ.ПередачаМатериаловСпецназначенияВПроизводство.ДатаДок <= ДатаДеноминации);
		|   Функция Всего3 = Сумма(Стоимость) Когда (Документ.ТребованиеНакладная.ДатаДок > ДатаДеноминации);
		|	Функция Всего4 = Сумма(Стоимость) Когда (Документ.ТребованиеНакладная.ДатаДок <= ДатаДеноминации);
		|	Функция Всего5 = Сумма(Стоимость) Когда (Документ.ВводВЭксплуатациюМБП.ДатаДок > ДатаДеноминации);
		|	Функция Всего6 = Сумма(Стоимость) Когда (Документ.ВводВЭксплуатациюМБП.ДатаДок <= ДатаДеноминации); 

А как потом получить одно число из моих функций?
12. корум 288 31.10.16 12:21 Сейчас в теме
(11) объяви ДатаДок, в условиях сравнивай ДатаДок.
одно число из твоих функций получишь при обходе запроса или при работе с результирующей ТЗ.
ТвоеЧисло = тз.Всего1+тз.Всего2/10000;
13. jeniks 31.10.16 12:31 Сейчас в теме
объяви ДатаДок, в условиях сравнивай ДатаДок.

Это не знаю как сделать.
А вот это тогда зачем?
|Дата = Документ.ПередачаМатериаловСпецназначенияВПроизводство.ДатаДок,
		|	Документ.ТребованиеНакладная.ДатаДок,
		|	Документ.ВводВЭксплуатациюМБП.ДатаДок;

Про итого - понял.
14. корум 288 31.10.16 12:41 Сейчас в теме
(13)

|Дата = Документ.ПередачаМатериаловСпецназначенияВПроизводство.ДатаДок,

вот в КОГДА и сравнивай эту ДАТА. по моему, так.
15. jeniks 31.10.16 12:58 Сейчас в теме
ДАТАДЕНОМИНАЦИИ<<?>>
Переменная не определена (ДАТАДЕНОМИНАЦИИ)
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{Отчет.ПТМ_РасхМатПоСтран.Форма.Модуль(62)}:    Функция Всего1 = Сумма(Стоимость) Когда (Дата >= ДатаДеноминации <<?>> );
Запрос[29] : Ошибка в выражении 'ДатаДеноминации'
ДАТАДЕНОМИНАЦИИ<<?>>
Переменная не определена (ДАТАДЕНОМИНАЦИИ)
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{Отчет.ПТМ_РасхМатПоСтран.Форма.Модуль(62)}: 	Функция Всего2 = Сумма(Стоимость) Когда (Дата < ДатаДеноминации <<?>> );
Запрос[30] : Ошибка в выражении 'ДатаДеноминации'
Показать

Константа ДатаДеноминации определена. Или в переменной надо?
	|Дата = Документ.ПередачаМатериаловСпецназначенияВПроизводство.ДатаДок;
	|   Функция Всего1 = Сумма(Стоимость) Когда (Дата >= ДатаДеноминации);
		|	Функция Всего2 = Сумма(Стоимость) Когда (Дата < ДатаДеноминации);
20. jeniks 31.10.16 15:55 Сейчас в теме
ТЗ
Прикрепленные файлы:
21. корум 288 31.10.16 16:03 Сейчас в теме
(20)
                      Если Запрос.Дата <= Д Тогда Итого=Итого+Запрос.Стоимость/10000 
                          Иначе Итого=Итого+Запрос.Стоимость;
                          КонецЕсли;

опять забыл про свои функции.

Если Запрос.Дата <= Д Тогда 
           Итого=Итого+Запрос.Всего1;
Иначе 
           Итого=Итого+Запрос.Всего2;
КонецЕсли;


а вообще, даже условие лишнее. Если посчиталось всего1, получишь всего2=0, и наоборот.

           Итого=Итого+Запрос.Всего1+Запрос.Всего2;
22. jeniks 31.10.16 16:22 Сейчас в теме
а вообще, даже условие лишнее. Если посчиталось всего1, получишь всего2=0, и наоборот.

А как он тогда считает Стоимость после даты Деноминации?
Мне надо чтобы до даты отображалось как Стоимость/10000
после даты как есть.
Итого выводилось деноминированное.
Тоесть
документ до даты на сумму 100 000 отображается как 10
документ после на сумму 10.25 как есть
Итого 20,25.
А получатся только 10.
23. корум 288 31.10.16 16:44 Сейчас в теме
(22)
 |    Функция Всего1 = Сумма(Стоимость/10000) Когда (Дата > Д);
       |    Функция Всего2 = Сумма(Стоимость) Когда (Дата <= Д);


!!! ты немного условия местами поменял. Надо

  |    Функция Всего1 = Сумма(Стоимость) Когда (Дата > Д);
       |    Функция Всего2 = Сумма(Стоимость/10000) Когда (Дата <= Д);


Для одной строки будет не ноль или всего1, или всего2. Правильно?
Всего1 в новых зайчиках
Всего2 в старых, делённое на 10000.




Итого=Итого+Запрос.Всего1+Запрос.Всего2; --не забудь у себя исправить.


и получится всё так, как надо.
jeniks; Alister; +2 Ответить
25. jeniks 01.11.16 08:06 Сейчас в теме
Спасибо. Заработало!
26. jeniks 01.11.16 09:16 Сейчас в теме
Только
| Функция Всего1 = Сумма(Стоимость) Когда (Дата >= Д);
| Функция Всего2 = Сумма(Стоимость/10000) Когда (Дата < Д)
Делить на 10000 до 01.07.2016 (не включая первое число)
Оставьте свое сообщение

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