Имя: Пароль:
1C
1С v8
Сложить два поля в запросе
0 Кто-то-кто
 
06.08.18
20:47
Подскажите пожалуйста, а то туплю дико:

В запросе с обработкой результата вывожу макет с несколькими колонками. 2 из них числовые.

первое поле - количество, которое я ввожу руками, второе - ресурс РегистраНакопления Остатки.

в третью колонку нужно записать их разницу. что не пишу - выводит или да или нет а не разницу.
1 Casey1984
 
06.08.18
20:48
Где выводит?
2 Кто-то-кто
 
06.08.18
20:52
Количество 15 | Остатки 10 | Разница да\нет

вот так выводит в ТабДок

а хотелось бы в разнице видеть 5
3 youalex
 
06.08.18
20:53
показывай запрос
4 Кто-то-кто
 
06.08.18
20:54
"ВЫБРАТЬ
        |    Данные.Номенклатура,
        |    Данные.ЕдиницаИзмерения,
        |    Данные.Количество,
        |    Данные.Разница
        |ПОМЕСТИТЬ ТЗ
        |ИЗ
        |    &Данные КАК Данные
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ТЗ.Номенклатура КАК Спецификация,
        |    ТЗ.ЕдиницаИзмерения,
        |    ТЗ.Количество КАК Количество,
        |    СвободныеОстатки.Номенклатура КАК Номенклатура,
        |    СвободныеОстатки.Склад,
        |    СвободныеОстатки.ВНаличии КАК ВНаличии,
        |    ВЫБОР
        |        КОГДА СвободныеОстатки.ВНаличии > ТЗ.Количество
        |            ТОГДА 0
        |        ИНАЧЕ ТЗ.Разница = ТЗ.Количество - СвободныеОстатки.ВНаличии
        |    КОНЕЦ КАК Разница
        |ИЗ
        |    ТЗ КАК ТЗ
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки КАК СвободныеОстатки
        |        ПО ТЗ.Номенклатура = СвободныеОстатки.Номенклатура
        |
        |СГРУППИРОВАТЬ ПО
        |    ТЗ.Номенклатура,
        |    ТЗ.ЕдиницаИзмерения,
        |    ТЗ.Количество,
        |    СвободныеОстатки.Номенклатура,
        |    СвободныеОстатки.Склад,
        |    СвободныеОстатки.ВНаличии,
        |    ТЗ.Разница";
5 ПегийЛунь
 
06.08.18
20:57
...
ИНАЧЕ ТЗ.Количество - СвободныеОстатки.ВНаличии
...
6 youalex
 
06.08.18
20:57
у тебя вот это:
ТЗ.Разница = ТЗ.Количество - СвободныеОстатки.ВНаличии

булевое выражение, так что все правильно у тебя выводится
7 youalex
 
06.08.18
20:58
ТЗ.Разница или равно ТЗ.Количество - СвободныеОстатки.ВНаличии, или нет.
8 Кто-то-кто
 
06.08.18
21:00
Да, затупил! Всем спасибо =)
9 youalex
 
06.08.18
21:11
Про isnull не забудь, если левосоединяешь
10 Кто-то-кто
 
06.08.18
21:27
Да, уже добавил) на разнице завис - ради нее все и делалось)
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший