Данный пример будет полезен, так как мне он кажется не очевидным, то есть понять, как это сделать правильно, можно не сразу.

Для большего понимания того, о чем пойдет речь, загрузите пример настроек СКД из этой статьи (пример написан для УТ)

Итак, поставим задачу: Необходимо вывести процент наценки: ПроцентНаценки = 100*(СтоимостьПродажи – Себестоимость) / Себестоимость.

Для строк без иерерхии данная задача решается просто. Расчетом процента в запросе. Но вот вопрос: если у нас иерархическая структура отчета и вообще неизвестно, какая она будет… как считать проценты и выводить их нормально?

Признаюсь честно, доходил до конечного результата я долго, к тому же недавно опять возникла необходимость это сделать и, оказывается, я забыл, как же правильно делать… пришлось лезть в старую разработку, а делается все очень просто:

Первое, что необходимо, это написать запрос по регистрам для получения стоимости и себестоимости. Этот момент мы опустим, кстати, в моем запросе могут быть ошибки (писалось на скорую руку), но это и не столь важно в данном контексте, лишь бы что-то выводил отчет.

Переходим к настройкам самого СКД и процента:

1. Первое, что надо сделать, это зайти на закладку “Вычисляемые поля” и занести наше имя поля в колонку “Путь к данным” заголовок и будущий формат нашего поля

Формат в вычислемом поле

2. Занести это поле в ресурсы на закладке “Ресурсы”, выражение исправить на что-то типа

ВЫБОР
   КОГДА СУММА(Себестоимость) = 0
   ТОГДА 0
   ИНАЧЕ 100*(СУММА(Стоимость)-СУММА(Себестоимость))/СУММА(Себестоимость)
КОНЕЦ

Расчет процента в ресурсах

3. Ну и, конечно, добавить это поле в выбранные поля там, где это нужно, с чем, думаю, Вы очень просто справитесь.

Скачать пример

По мотивам статьи http://infostart.ru/public/80164/ от автора WiseSnake

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru