Автор: twilight_dream 18.07.16, 16:01
Здравствуйте.
Прошу подсказать, что я не так делаю и как написать правильно? Нужно приход поделить на 1.2 в запросе...
...
|Сумма = Регистр.Бонусы.Сумма;
|Функция СуммаПриход = Приход(Сумма);
|Функция БонусДляБП = Сумма(СуммаПриход/1.2) Когда (Док.ПериодБонусирования=ПериодБонусирования);
В результате имею:
Цитата
Функция БонусДляБП = Сумма(СуммаПриход <<?>> /1.2) Когда (Док.ПериодБонусирования=ПериодБонусирования);
Запрос[19] : Ошибка в выражении 'СуммаПриход'
не могу понять как правильно написать арифметическое выражение...
Автор: Sharzem 18.07.16, 17:03
|Сумма = Регистр.Бонусы.Сумма;
|Функция СуммаПриход = Приход(Сумма);
|Функция БонусДляБП = Сумма(Запрос.СуммаПриход/1.2) Когда (Док.ПериодБонусирования=ПериодБонусирования);
Автор: twilight_dream 18.07.16, 19:29
Цитата(Sharzem @ 18.07.16, 18:03)
Запрос.СуммаПриход
Пробовал... Ошибку не дает, но Запрос.СуммаПриход тогда получается пустая, то есть выражение дает 0
Автор: nysysimara 19.07.16, 7:24
а если так:
|Функция СуммаПриход = Приход(Сумма);
|Функция БонусДляБП = (Приход(Сумма)/1.2) Когда (Док.ПериодБонусирования=ПериодБонусирования);
Автор: sava1 19.07.16, 8:55
В КЖК написано
Цитата
В функциях: Сумма, Среднее, Максимум, Минимум в качестве аргумента возможно использование арифметического выражения в терминах встроенного языка.
Автор: twilight_dream 19.07.16, 11:40
Значение:
Сумма(Запрос.СуммаПриход/1.2)
На самом деле вычисляется, но только на самом нижнем уровне группировки. Как заставить суммироваться и в верхние уровни?
Автор: endru 19.07.16, 13:02
Цитата(nysysimara @ 19.07.16, 7:24)
|Функция БонусДляБП = (Приход(Сумма)/1.2) Когда (Док.ПериодБонусирования=ПериодБонусирования);
Вам же написали как правильно. Так должно работать.
Автор: korol1091 19.07.16, 13:25
Извините, но использование "магических чисел" - это дурной тон в программировании.
Автор: Sharzem 19.07.16, 14:09
Цитата(twilight_dream @ 19.07.16, 12:40) http://pro1c.org.ua/index.php?act=findpost&pid=114610
использование "магических чисел" - это дурной тон
Поддерживаю
Автор: twilight_dream 19.07.16, 16:15
Цитата(Sharzem @ 19.07.16, 15:09) http://pro1c.org.ua/index.php?act=findpost&pid=114621,
Не говорите загадками. Никакой магии здесь нет. Дурной тон в программировании - это критикуя ничего не предложить. Критикуя - предлагай. Это будет хороший тон.
Автор: korol1091 20.07.16, 9:18
Боже, боже.
Лида, Лида.
http://pro1c.org.ua/redirect.php?https://ru.wikipedia.org/wiki/Магическое_число_(программирование)
Автор: Acid 20.07.16, 9:33
twilight_dream @ Вчера, 17:15 ,
Все, что где-то вычисляется, коэффициенты всякие и т.п - это "грабли". Числа должны быть реальные. То есть хранится в базе.
Все, что "расчетное" имеет погрешности и это никак нельзя проверить и доказать.
Автор: mister-x 20.07.16, 11:10
робив через свою функцію, яку "розміщав" у запиті, тобто
Сумма(СвояФункція())
Автор: Sharzem 20.07.16, 12:10
Цитата(twilight_dream @ 19.07.16, 17:15)
В данном случае вопрос "как", но вы его не поняли
Поняли, но нужно угадывать.
В Вашем коде о группировках хоть что-то изложено ?
Вам лень выложить полный текст запроса.
Читаем правила:
Цитата
16. Не нужно давать пространственные ответы либо задавать встречные вопросы в технических форумах, ответы на которые не помогут сути дела.
Так что давайте полный код, мое мнение, проблема в группировках. Не увидев текста нельзя дать ответ на вопрос "Как".
Автор: Cthulhu 15.08.16, 14:50
прим.: старайтесь избегать вычислений в тексте запроса. причина (в том числе) - искажение результата из-за "принудительного" округления таких вычислений при выполнении такого запроса.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua