Разность полей в запросе #648916


#0 by Double_Medved
Подскажите пожалуйста, вопрос простой, но что-то не выходит.. Как вычитать/складывать/перемножать поля в запросе? Вот например хочу вычесть одно поле из другого, но выходит пустое значение, ВЫРАЗИТЬ КАК Число тоже не помогает,поле Разница пустое, хотя вычитаемы поля заполнены: ВЫБРАТЬ
#1 by Maxus43
расстрелять на месте.
#2 by Double_Medved
А, ну знаю что не красиво...., потом сделаю по-человечески
#3 by Double_Medved
Опа,  РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних1, тут дату не указал...
#4 by Domanoff26
и нафиг тебе два одинаковых, или там разные даты?
#5 by Double_Medved
Все равно - я не понимаю, оба значения ЦеныНоменклатурыСрезПоследних1.Цена - ЦеныНоменклатурыСрезПоследних.Цена КАК Разница Заполнены, но не вычитаются... Знаю что ерундовый вопрос.. Не выходит блин, помогите плиз, только вычесть одно поле из другого осталось
#6 by Double_Medved
Там разные виды цен, типа закупочная и розничная
#7 by Maxus43
это не некрасиво, это Кроссджойн 3-х таблиц. Не было бы ограничений в "ГДЕ" - платформа повесилась бы от негодования и общего расстройства психики. Юзай нормальные соединения таблиц
#8 by Domanoff26
чего то не понимаю, где твои соединения таблиц?
#9 by Domanoff26
вид цен указывай в параметрах
#10 by hhhh
ну убери запятые и поставь СОЕДИНЕНИЕ между таблицами. Тогда может и вычтется. Непонятно, что из чего ты вообще вычитаешь. Например в одном срезе 1000 записей, в другом две тысячи. Как все эти записи друг из друга вычтутся?
#11 by Domanoff26
ЦеныНоменклатурыСрезПоследних1.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура , а ты скажешь что это за условие такое вместо соединения7
#12 by Kreont
да все как раз от того что нету соединения, см . У тебя в результате слева столбец цен, справа пусто, потом ниже наоборот
#13 by Maxus43
не скажу, это имеет мало смысла
#14 by Double_Medved
Переписал чуть-чуть понятнее,надеюсь:
#15 by Domanoff26
СОЕДИНЯЙ, пока чушь
#16 by Double_Medved
Вообщем он выбирает номенклатуру которая есть на складе, потом цены Закупочные и цены Розничные, выбирает там где одинаковая номенклатура,  я понимаю, код индусский. Но он все правильно выводит, Номенклатуру, Остатки, ЦенуЗакупочную и ЦенуРозничную..., только разность не делает
#17 by hhhh
делает он разность, но как понимаешь, только в строчках, где обе цены есть. Ты проверяй не на первой странице отчета, а где-то начиная с 20-й страницы отчета разность должна появляться.
#18 by Domanoff26
на фиг писать, если не слушаешь никого
#19 by ssh2006
брось хренью заниматься, сделай нормальный запрос, используй ЕСТЬNULL, где необходимо
#20 by Double_Medved
Да я понимаю что соединять по Условию где Номенклатура = Номенклатура1 это некрасиво, Но он корректно все выводит, кроме этой разности. То есть в каждой строчке правильые количество и цены номенклатуры. Подскажите, как примерно соединять таблицы, вот например по этой Номенклатуре, просто я всегда использовал ГДЕ. Ну хоть на пальцах.
#21 by Maxus43
вот как соединять, без разницы цен ВЫБРАТЬ    ТоварыОрганизацийОстатки.Номенклатура,
#22 by Maxus43
ещё раз прочитай, это НЕ НЕкрасиво, это просто неправильно. Кроссджойн - получается что-то типа соединения Всех полей Со Всеми полями других таблиц
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С