Вычисление процента от числа в запросе через СКД #795269


#0 by bplmeddy
Доброго времени суток. При написании отчёта на СКД, необходимо посчитать процент от числа. Текст запроса (ВНИМАНИЕ! Много текста!) ВЫБРАТЬ     КассыОбороты.БалансКассыРасход,     ВЫРАЗИТЬ(КассыОбороты.БалансКассыРасход / Валюты.Курс КАК ЧИСЛО(10, 2)) КАК РасходДол,         ПО (РасходнойДокумент.Дата МЕЖДУ КассыОбороты.Период И КОНЕЦПЕРИОДА(КассыОбороты.Период, ДЕНЬ)) Так вот, подозреваю, что проблема состоит в том, что система считает значение по формуле, но с неправильной последовательностью. Круглые скобки тоже игнорирует (к примеру: в тексте запроса проставляю скобки - без изменений, если скобки проставить а потом открыть конструктор запроса и даже без правок закрыт, система скобки отсекает). Буду очень благодарен за помощь в решении данной проблемы.
#1 by bplmeddy
И да, оперировать в формулах значениями полученными в ходе предыдущих вычислений (СумаПродаж, СумаЗакупки) тоже не получается.
#2 by bplmeddy
Забыл сказать: на выходе результаты подсчётов получаются совершенно астрономические.
#3 by bplmeddy
Ещё уточнение, неправильный подсчёт идёт по этим формулам:
#4 by bplmeddy
Я так понимаю, никто не в курсе ? =)
#5 by bplmeddy
Лююююдиииии ау ! =)
#6 by anreko
Видимо нужно срочно менять блок "СГРУППИРОВАТЬ ПО", иначе без глубокого анализа не понять, что в итоге СУБД может выдать.
#7 by Одинесю
Разбей формулу на составляющие и проверяй что не так.
#8 by bplmeddy
Сейчас попробую.
#9 by anreko
А если такой попробовать, что-нибудь запрос Вам выдаст? ВЫБРАТЬ     СУММА(КассыОбороты.БалансКассыРасход),     СУММА(ВЫРАЗИТЬ(КассыОбороты.БалансКассыРасход / Валюты.Курс КАК ЧИСЛО(10, 2))) КАК РасходДол,         ПО (РасходнойДокумент.Дата МЕЖДУ КассыОбороты.Период И КОНЕЦПЕРИОДА(КассыОбороты.Период, ДЕНЬ))
#10 by bplmeddy
Ничего не поменялось (при очистке группировки данные вообще начинают множественно дублироваться)
#11 by bplmeddy
Всё то-же самое. =(
#12 by bplmeddy
ВЗЫВАЮ К СИЛЕ ВОЛШЕБНОГО ФОРУМА !!!
#13 by Вафель
% = А/Б*100
#14 by Вафель
но тут скорее всего что процент нужно по группировкам считать. Те выражение нужно писать в ресурсах
#15 by dezss
Если это взять в скобки, то конструктор их отсекает? О_о ПродажиОбороты.КоличествоОборот * ПродажиОбороты.ЦенаПродОборот
#16 by bplmeddy
Формула вычисления процента мне известна.
#17 by bplmeddy
Да, после открытия, закрытия конструктора, скобки пропадают.
#18 by dezss
Всмысле, вот так (ПродажиОбороты.КоличествоОборот * ПродажиОбороты.ЦенаПродОборот - (ВЫРАЗИТЬ(КассыОбороты.БалансКассыРасход / Валюты.Курс КАК ЧИСЛО(10, 2))) - ПродажиОбороты.КоличествоОборот * ПродажиОбороты.ЦенаЗакупОборот) / (ПродажиОбороты.КоличествоОборот * ПродажиОбороты.ЦенаПродОборот) * 100 КАК ВПрибыль,
#19 by bplmeddy
Да, система их игнорирует, а конструктор убирает.
#20 by bplmeddy
Прям восстание машин...
#21 by dezss
А если в вычисляемые поля запихнуть?
#22 by bplmeddy
Хмм, сейчас попробую.
#23 by dezss
тогда есть одно решение (ПродажиОбороты.КоличествоОборот * ПродажиОбороты.ЦенаПродОборот - (ВЫРАЗИТЬ(КассыОбороты.БалансКассыРасход / Валюты.Курс КАК ЧИСЛО(10, 2))) - ПродажиОбороты.КоличествоОборот * ПродажиОбороты.ЦенаЗакупОборот) / ПродажиОбороты.КоличествоОборот / ПродажиОбороты.ЦенаПродОборот * 100 КАК ВПрибыль,
#24 by anreko
Что мешает использовать временную таблицу, там рассчитать все цифры, а дополнительным запросом прибавить проценты?
#25 by Йохохо
в справке написано что надо так ВЫРАЗИТЬ(КассыОбороты.БалансКассыРасход КАК ЧИСЛО(10, 2)) / Валюты.Курс
#26 by bplmeddy
Ошибка получения информации набора данных по причине: Ошибка в запросе набора данных по причине: {(9, 127)}: Синтаксическая ошибка (ПродажиОбороты.КоличествоОборот * ПродажиОбороты.ЦенаПродОборот - (ВЫРАЗИТЬ(КассыОбороты.БалансКассыРасход КАК ЧИСЛО(10, 2) <<?>>/ Валюты.Курс)) - ПродажиОбороты.КоличествоОборот * ПродажиОбороты.ЦенаЗакупОборот) / ПродажиОбороты.КоличествоОборот * ПродажиОбороты.ЦенаПродОборот * 100 КАК ВПрибыль,
#27 by bplmeddy
Упс...секунду, затупил.
#28 by dezss
ты попробуй 2 раза делить, как в
#29 by bplmeddy
Нет, все равно не работает. А вот в вроде получается, сейчас попробую полностью переделать и отпишусь.
#30 by dezss
да погодь ты все ломать....сделай как в
#31 by 2dolist
в конструкторе запросов забей, да покрути формулы
#32 by bplmeddy
Сейчас попробую.
#33 by bplmeddy
Долгих, здоровых и богатых тебе лет, добрый человек. =) Спасибо, всё теперь правильно, сам бы до такой фигни вряд-ли додумался бы.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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