Добрый день!
В отчете есть вычисляемое поле ПроцентНаценки = Сумма(ПродажнаяСуммаБезНДС-ОптоваяСуммаБезНДС)/Сумма(ОптоваяСуммаБезНДС)*100 (сам запрос не так важен, думаю).
В отчет попадают и услуги, у которых ОптоваяСуммаБезНДС равна 0. Соответственно для услуг видим в ячейке "Деление на 0". Можно эту надпись убрать, какой-то хитростью?
Понимаю, что не совсем "красиво", но сделать поле не вычисляемым не предлагать, там огромное выражение с выборами и прочее получится.
В отчете есть вычисляемое поле ПроцентНаценки = Сумма(ПродажнаяСуммаБезНДС-ОптоваяСуммаБезНДС)/Сумма(ОптоваяСуммаБезНДС)*100 (сам запрос не так важен, думаю).
В отчет попадают и услуги, у которых ОптоваяСуммаБезНДС равна 0. Соответственно для услуг видим в ячейке "Деление на 0". Можно эту надпись убрать, какой-то хитростью?
Понимаю, что не совсем "красиво", но сделать поле не вычисляемым не предлагать, там огромное выражение с выборами и прочее получится.
По теме из базы знаний
- Полезные примеры составления схемы компоновки данных #1
- СКД. Лайфхак №2. Собираем отчет еще удобнее
- Как я с отчетом СКД боролся (произвольный макет)!
- Доработка типового отчета на СКД с помощью расширения
- Различный расчет итогов в одной колонке отчета для разных группировок. СКД. Ресурсы vs Пользовательские поля
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
В вычисляемом поле написать вот так:
В вычисляемом поле написать вот так:
ВЫБОР
КОГДА Сумма(ОптоваяСуммаБезНДС) <> 0 ТОГДА
Сумма(ПродажнаяСуммаБезНДС-ОптоваяСуммаБезНДС)/Сумма(ОптоваяСуммаБезНДС)*100
ИНАЧЕ
0
КОНЕЦ
(1) @Sonya, Ну так а если написать как в запросе:
ПроцентНаценки =
Ну или как-то так:
ПроцентНаценки =
Насчет простановки фугкций "Сумма" сейчас точно не уточню, но в целом можно воспользоваться этим методом. Вычисляемые поля, как и ресурсы, поддерживают подобные конструкции.
Если так делать будет лень, то можно сделать условное оформление.
ПроцентНаценки =
Выбор Когда Сумма(ОптоваяСуммаБезНДС)<> 0 Тогда
Сумма(ПродажнаяСуммаБезНДС-ОптоваяСуммаБезНДС)/Сумма(ОптоваяСуммаБезНДС)*100
Иначе Сумма(ПродажнаяСуммаБезНДС-ОптоваяСуммаБезНДС)/100 (Ну или 0)
Конец
Ну или как-то так:
ПроцентНаценки =
Выбор Когда НЕ Номенклатура.ЭтоУслуга Тогда
Сумма(ПродажнаяСуммаБезНДС-ОптоваяСуммаБезНДС)/Сумма(ОптоваяСуммаБезНДС)*100
Иначе
Сумма(ПродажнаяСуммаБезНДС-ОптоваяСуммаБезНДС)/100 (Ну или 0)
Конец
Насчет простановки фугкций "Сумма" сейчас точно не уточню, но в целом можно воспользоваться этим методом. Вычисляемые поля, как и ресурсы, поддерживают подобные конструкции.
Если так делать будет лень, то можно сделать условное оформление.
Не стал плодить темы, напишу здесь. Вот такое простенькое условие
Допустим ВыданоАвансов = 22000, СуммаПоПлану = 22000 ЗачтеноАвансов = 18000 СуммаПолучено = 18000
Не деление на 0, но всё таки.
Бюджетка. Есть СуммаПоПлану, которую готовы были потратить, СуммаПолучено то что в результате было потрачено, надо вычислить сколько освободилось средств которые можно перераспределить, т.е. ПоПлану - Потрачено. Если расчет произведен авансом, то проверяем полностью ли мы оплатили поставщику, т.е. СуммаПоПлану - ВыданоАвансов, если аванса нет, то мы от суммы по плану отнимаем сумма полученную контрагентом... беда в том, что даже если был расчет авансом, то колонка СуммаПотрачено так же присутствует и = ЗачтеноАвансов, причем лично у нас зачастую ВыданоАвансов<>ЗачтеноАвансов И при этом сумма не освобождается, так что необходимо из СуммаПоПлану - ВыданоАвансов. Если аванса нет, то всё нормально 22000 - 18000 = 4000 (ну т.е. мы не доплатили ОплатаПоставщиу = 18000), НО Если аванс есть то почему то он СНАЧАЛА вычисляет СуммаПоПлану-СуммаПолучено, а ПОТОМ то что получилось вычитает ВыданоАвансов и у меня получается -18000 в вычисляемом столбце (ОплатаПоставщику = 0) =D Причём это несколько раз тестировал, ставил вместо второго выражения допустим 200 и у меня получалось если ВыданоАвансов = 0, то 22000-18000 = 4000, если ВыданоАвансов <> 0, тогда 22000-18000-200 = 3800. Что я не так делаю? =)
ВЫБОР КОГДА ВыданоАвансов = 0 ТОГДА СуммаПоПлану-СуммаПолучено ИНАЧЕ СуммаПоПлану-ВыданоАвансов КОНЕЦ
Допустим ВыданоАвансов = 22000, СуммаПоПлану = 22000 ЗачтеноАвансов = 18000 СуммаПолучено = 18000
Не деление на 0, но всё таки.
Бюджетка. Есть СуммаПоПлану, которую готовы были потратить, СуммаПолучено то что в результате было потрачено, надо вычислить сколько освободилось средств которые можно перераспределить, т.е. ПоПлану - Потрачено. Если расчет произведен авансом, то проверяем полностью ли мы оплатили поставщику, т.е. СуммаПоПлану - ВыданоАвансов, если аванса нет, то мы от суммы по плану отнимаем сумма полученную контрагентом... беда в том, что даже если был расчет авансом, то колонка СуммаПотрачено так же присутствует и = ЗачтеноАвансов, причем лично у нас зачастую ВыданоАвансов<>ЗачтеноАвансов И при этом сумма не освобождается, так что необходимо из СуммаПоПлану - ВыданоАвансов. Если аванса нет, то всё нормально 22000 - 18000 = 4000 (ну т.е. мы не доплатили ОплатаПоставщиу = 18000), НО Если аванс есть то почему то он СНАЧАЛА вычисляет СуммаПоПлану-СуммаПолучено, а ПОТОМ то что получилось вычитает ВыданоАвансов и у меня получается -18000 в вычисляемом столбце (ОплатаПоставщику = 0) =D Причём это несколько раз тестировал, ставил вместо второго выражения допустим 200 и у меня получалось если ВыданоАвансов = 0, то 22000-18000 = 4000, если ВыданоАвансов <> 0, тогда 22000-18000-200 = 3800. Что я не так делаю? =)
Если Аванс = 0, это не значит что мы полностью оплатили договор, цифры просто для примера. Надо именно задать условие, что если проплата авансом, то ПоПлану- ВыданоАвансов, если проплачено не авансом, то ПоПлану-Потрачено. Но он почему то делает так, что если условие не выполняется, то берет второе выражение, если выполняется, то вычисляет первое, потом из того что получилось вычитает ВыданоАвансов.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот