СКД Выражение для пользовательского поля #777612


#0 by ШримпРолл
Всем привет. Создаю в СКД (Платформа 8.3) отчет. Есть следующие поля: Приход, Расход и Остаток. Приход и расход получаю из базы, а остаток должен вычисляться по формуле: приход - расход Создаю пользовательское поле и прописываю в нем Выражение детальных записей "Приход-Расход". Получается Приход|Расход|Остаток 500   |      | --------------------- 300   |      | ---------------------       |400   | ---------------------- 500   | 200  |  300 То-есть остаток считается только когда суммы есть в обоих колонках. Как сделать, чтобы было : 500   |      |500 --------------------- 300   |      |800 ---------------------       |400   |400 ---------------------- 500   | 200  |700 Помогите, пожалуйста?
#1 by Nuobu
ЕстьNull(Приход, 0) - ЕстьNull(Расход, 0)
#2 by ШримпРолл
Ого. Спасибо за столь быстрый ответ! И действительно работает! А реально сделать, чтобы он считал не только по текущей ст роке, а по всем предыдущим( типа баланс) ? Но не суммой (т.к. он посчитает вообще все) , а именно которые были до этой записи?
#3 by Горогуля
нарастающая сумма? гугл знает
#4 by ШримпРолл
Да. Наверное так называется. Спасибо, сейчас почитаю)
#5 by Горогуля
или нарастающий итог. попробую в бардачке порыться
#6 by Nuobu
То, что Горогуля советует, то нужно, но попробуй сначала посмотреть про ОстаткиИОбороты в СКД.
#7 by Горогуля
МатьИхОбороты.Номенклатура,
#8 by ШримпРолл
Неслабо)) Я думал, там парой строчек кода обойдется. Сейчас буду тестить. Отпишусь по результатам. Спасибо!
#9 by Nuobu
#10 by Горогуля
нарастающий итог в запросе - это прям классическая задача, которая без бутылки не решается ;) как и нумерация строк. может, какая-то магия СКД есть, но я с ней не знаком
#11 by Nuobu
Есть такая магия. Вот она:
#12 by Горогуля
пасиба
#13 by ШримпРолл
Большое спасибо, товарищи! Почти победил. Сейчас все как надо считается и выводится, за исключением случаев, когда нарастающий итог = 0. В таком случае пустая строка. Где я опять косячу? Выражение детальных записей: ЕстьNull(ВычислитьВыражение("Сумма(ЕстьNull(Приход, 0) - ЕстьNull(Расход, 0))", , , "Первая", "Текущая"), 0) Выражение итоговых записей: ЕстьNull(Сумма(Приход) - Сумма(Расход), 0)
#14 by Nuobu
Условное оформление. Там ищи представление нуля.
#15 by ШримпРолл
Да. Дело было в этом. Огромное спасибо! Nuobu и Горогуля, вы супер!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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