Имя: Пароль:
1C
1С v8
тривиальная задача с порядком выполнении операции
0 zippygrill
 
10.09.12
16:57
ести такая конструкция Выбор Когда ...

ВЫБОР
       КОГДА ЕдиницыИзмерения.ЕдиницаПоКлассификатору = &бутылки
   И ТоварыОрганизацийОбороты.Склад В (&СкладыОбухово)
   И НЕ _СвойстваНоменклатуры.КодНаОсновеОКПД = ЗНАЧЕНИЕ(Справочник._КодыНаОсновеОКПД.ПустаяСсылка)
   ТОГДА ((ЕСТЬNULL(ТоварыОрганизацийОбороты.КоличествоПриход, 0) + ЕСТЬNULL(ТоварыОрганизацийОбороты.КоличествоРасход, 0)) /2) * 0.02
ИНАЧЕ 0
КОНЕЦ КАК показательСклады

предположим ТоварыОрганизацийОбороты.КоличествоПриход = 27 800,000; ТоварыОрганизацийОбороты.КоличествоРасход = 4 320,000. В результате выполнение моей конструкции(когда все условии Истина) поле показательСклады должна быть равна 321,2, но на экране вижу 160,6.
Уже "саепался" скобки переставить!
1 SUA
 
10.09.12
17:00
а что такое тут 321,2?
вместо /2 и *0,02 оставить /100?
2 Wobland
 
10.09.12
17:04
выбрать (27800 + 4320) /2 * 0.02
=321,2

я - лох?
3 Wobland
 
10.09.12
17:07
не, я точно лох

выбрать
ВЫБОР
      КОГДА истина
  И истина
  И НЕ ложь

   ТОГДА ((ЕСТЬNULL(27800, 0) + ЕСТЬNULL(4320, 0)) /2) * 0.02
ИНАЧЕ 0

КОНЕЦ КАК показательСклады

те же 321.2
4 zippygrill
 
10.09.12
17:11
(3) вот скрин. а то получается что я вру :) 5 колонка это поле показательСклады https://dl.dropbox.com/u/9627383/Screens/invalid.jpg
5 Wobland
 
10.09.12
17:12
(4) хочешь, своим брошусь, или так поверишь?
6 zippygrill
 
10.09.12
17:13
да я поверю и так. сейчас попробую в консоль что нибудь
7 Wobland
 
10.09.12
17:17
у тебя там скорей всего группировка какая-нибудь, и иногда по условию сваливается в "ИНАЧЕ 0"
8 zippygrill
 
10.09.12
17:19
ну да стоит функция для суммирование этого поля.
9 Wobland
 
10.09.12
17:21
(8) как просил, так и посчиталось. трактуй свои 160 правильно или переделывай запрос
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой