Имя: Пароль:
1C
1С v8
вычисляемые поля в запросе
,
0 Kalina
 
29.07.15
17:27
Здравствуйте
ВЫБОР
  КОГДА ВложенныйЗапрос.НакапливаемыйИтог <= &Остаток
    ТОГДА ""0""
  КОГДА ВложенныйЗапрос.НакапливаемыйИтог < &Остаток + ВложенныйЗапрос.Количество
    ТОГДА ВложенныйЗапрос.НакапливаемыйИтог - &Остаток
  КОГДА (ВложенныйЗапрос.НакапливаемыйИтог >= &Остаток + ВложенныйЗапрос.Количество) И (ВложенныйЗапрос.НакапливаемыйИтог <= &Остаток + &Сдано)
    ТОГДА ВложенныйЗапрос.Количество
  КОГДА ВложенныйЗапрос.НакапливаемыйИтог > &Остаток + &Сдано
    ТОГДА ВложенныйЗапрос.Количество - ВложенныйЗапрос.НакапливаемыйИтог + &Сдано + &Остаток
КОНЕЦ КАК Оплачено,
&ЦенаЗаКг КАК Цена
Как мне получить произведение Оплачено * Цена ???
Буду благодарен за подробный разжеваный ответ :)
1 ДенисЧ
 
29.07.15
17:30
ВЫБОР

  КОГДА ВложенныйЗапрос.НакапливаемыйИтог <= &Остаток
    ТОГДА ""0""
  КОГДА ВложенныйЗапрос.НакапливаемыйИтог < &Остаток + ВложенныйЗапрос.Количество
    ТОГДА ВложенныйЗапрос.НакапливаемыйИтог - &Остаток
  КОГДА (ВложенныйЗапрос.НакапливаемыйИтог >= &Остаток + ВложенныйЗапрос.Количество) И (ВложенныйЗапрос.НакапливаемыйИтог <= &Остаток + &Сдано)
    ТОГДА ВложенныйЗапрос.Количество
  КОГДА ВложенныйЗапрос.НакапливаемыйИтог > &Остаток + &Сдано
    ТОГДА ВложенныйЗапрос.Количество - ВложенныйЗапрос.НакапливаемыйИтог + &Сдано + &Остаток
КОНЕЦ КАК Оплачено,

&ЦенаЗаКг КАК Цена ,

ВЫБОР

  КОГДА ВложенныйЗапрос.НакапливаемыйИтог <= &Остаток
    ТОГДА ""0""
  КОГДА ВложенныйЗапрос.НакапливаемыйИтог < &Остаток + ВложенныйЗапрос.Количество
    ТОГДА ВложенныйЗапрос.НакапливаемыйИтог - &Остаток
  КОГДА (ВложенныйЗапрос.НакапливаемыйИтог >= &Остаток + ВложенныйЗапрос.Количество) И (ВложенныйЗапрос.НакапливаемыйИтог <= &Остаток + &Сдано)
    ТОГДА ВложенныйЗапрос.Количество
  КОГДА ВложенныйЗапрос.НакапливаемыйИтог > &Остаток + &Сдано
    ТОГДА ВложенныйЗапрос.Количество - ВложенныйЗапрос.НакапливаемыйИтог + &Сдано + &Остаток
КОНЕЦ * &ЦенаЗаКг  КАК ОплаченоУмноженноеНаЦена
2 barrgand
 
29.07.15
17:32
(0) ""0""*&ЦенаЗаКг сколько будет?
3 Kalina
 
29.07.15
17:41
(1) шойтось не канает - пишет неверные параметры Выбор "*"
4 mikecool
 
29.07.15
17:46
(3) а так
ВЫБОР

  КОГДА ВложенныйЗапрос.НакапливаемыйИтог <= &Остаток
    ТОГДА 0
  КОГДА ВложенныйЗапрос.НакапливаемыйИтог < &Остаток + ВложенныйЗапрос.Количество
    ТОГДА ВложенныйЗапрос.НакапливаемыйИтог - &Остаток
  КОГДА (ВложенныйЗапрос.НакапливаемыйИтог >= &Остаток + ВложенныйЗапрос.Количество) И (ВложенныйЗапрос.НакапливаемыйИтог <= &Остаток + &Сдано)
    ТОГДА ВложенныйЗапрос.Количество
  КОГДА ВложенныйЗапрос.НакапливаемыйИтог > &Остаток + &Сдано
    ТОГДА ВложенныйЗапрос.Количество - ВложенныйЗапрос.НакапливаемыйИтог + &Сдано + &Остаток
КОНЕЦ * &ЦенаЗаКг  КАК ОплаченоУмноженноеНаЦена
5 Kalina
 
29.07.15
17:49
(4) (1) Великие шаманы, спасибо вам :)
6 mikecool
 
29.07.15
17:50
(5) а теперь возьми метлу и иди чистить двор!
7 ДенисЧ
 
29.07.15
17:52
(6) Метлу не трожь! Она зарезервирована!
8 mikecool
 
29.07.15
17:52
(7) не командуй!
9 Kalina
 
30.07.15
10:14
(4) А как поставить условие по этому полю -
ГДЕ ОплаченоУмноженноеНаЦена >0 - не канает :(
пишет нет такого поля
10 hhhh
 
30.07.15
10:26
(9) ну это же элементарно, Ватсон

ГДЕ
ВЫБОР
  КОГДА ВложенныйЗапрос.НакапливаемыйИтог <= &Остаток
    ТОГДА 0
  КОГДА ВложенныйЗапрос.НакапливаемыйИтог < &Остаток + ВложенныйЗапрос.Количество
    ТОГДА ВложенныйЗапрос.НакапливаемыйИтог - &Остаток
  КОГДА (ВложенныйЗапрос.НакапливаемыйИтог >= &Остаток + ВложенныйЗапрос.Количество) И (ВложенныйЗапрос.НакапливаемыйИтог <= &Остаток + &Сдано)
    ТОГДА ВложенныйЗапрос.Количество
  КОГДА ВложенныйЗапрос.НакапливаемыйИтог > &Остаток + &Сдано
    ТОГДА ВложенныйЗапрос.Количество - ВложенныйЗапрос.НакапливаемыйИтог + &Сдано + &Остаток
КОНЕЦ * &ЦенаЗаКг  > 0
11 Kalina
 
30.07.15
10:48
(10) не знаю почему, но это действительно работает :)
не пойму, она что, по второму разу пересчитывает это поле ?
и получается что псевдоним в условии не работает ?
12 ДенисЧ
 
30.07.15
10:49
(11) псевдоним не работает.
и не считает второй раз. Не считай 1с глупее себя.
13 Kalina
 
30.07.15
10:51
(12) я пробовал так
ГДЕ Выбор
КОГДА ВложенныйЗапрос.НакапливаемыйИтог <= &Остаток
    ТОГДА 0
КОНЕЦ * &ЦенаЗаКг  > 0
ничего не выводит, значит пересчитывает?
14 hhhh
 
30.07.15
10:55
(13) 99,9 % времени уходит на доставание полей из базы. А эта арифметика занимает десятые доли нанасекунды. Даже если 10 раз пересчитает, что вам одной наносекунды жалко? Всё куда-то мчитесь?
15 Kalina
 
30.07.15
11:15
Господа, вопрос немного не по теме, как мне это вывести с группировками в ТабличноеПоле на форме (ну, чтобы были крестики, все сворачивалось - разворачивалось)
без построителя (с построителем отдельная история)
Буду признателен за подробный разжеваный ответ
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.