Содержание:
1. Расчет суммы нарастающим итогом
2. Вычисление предыдущего курса с помощью функции Вычислить Выражение ()
3. Сравнение с определенным значением в отчете 1С
Рассматриваемая функция позволяет вычислить выражение по какой-либо группировке отчета в программе 1С. Подробно описывать параметры данной функции в 1С 8.3 мы не будем – с ними можно ознакомиться в справке:
Здесь же рассмотрим примеры использования функции в отчетах, созданных в рамках демонстрационной конфигурации "Управляемое приложение".
1. Расчет суммы нарастающим итогом
Задача: в отчете по продажам необходимо добавить колонки с нарастающим итогом по сумме и количеству.
В наборы данных добавляем запрос по регистру "Продажи":
Добавляем два вычисляемых поля: "СуммаНарастающимИтогом" и "КоличествоНарастающимИтогом". Выражение для них не указываем:
Затем в ресурсах указываем выражения для этих полей:
В первом параметре "Выражение" указываем агрегатную функцию "Сумма" по тому полю, по которому нужно получить нарастающий итог.
В параметре "Начало" указываем "Первая", а в параметре "Конец" – "Текущая". Таким образом в колонках с сумой нарастающим итогом будут суммироваться все записи с первой по текущую. Для первой записи будет получена сумма только для нее, а для второй – сумма первой и второй записей, для третьей – сумма первой, второй и третьей и т.п.
Проверяем отчет в режиме предприятия:
В колонке "Количество нарастающим итогом" видим в первой строке число 2, во второй число 5 – сумма первой и второй строки в колонке "Количество Оборот", в третьей – число 8, равное сумме первой, второй и третьей и т.п.
2. Вычисление предыдущего курса с помощью функции Вычислить Выражение ()
Еще одна очень распространенная задача – вывод в отчет информации о курсе на предыдущий день.
В отчет в программы 1С добавляем запрос по регистру "Курсы валют".
На вкладке "Вычисляемые поля" добавляем новое поле: "ПредыдущийКурс". Затем указываем для него выражение:
В данном случае в функцию ВычислитьВыражение() в первом параметре указываем поле "Курс". А в параметрах "Начало" и "Конец" указываем "Предыдущая". Т.е. в вычисляемом поле будет подставляться значение из предыдущей строки в колонке "Курс".
Проверяем результат:
Видим, что во второй строке в колонке "Предыдущий курс" указано значение из первой строки колонки "Курс" и т.п.
3. Сравнение с определенным значением в отчете 1С
Еще одна задача – в отчете требуется указать значение в каждой строке со значением в определенной колонке. Например, в отчете по продажам рассчитать процент суммы продаж товара в текущей строке от суммы продаж одного из товаров, который пользователь укажет в параметрах отчета.
В отчете составляем запрос по регистру "Продажи":
Добавляем вычисляемое поле "Процент", выражение для него не указываем, т.к. расчеты процента будут производиться только на уровне итогов:
На вкладке "Параметры" добавляем параметр "ТоварДляСравнения", в котором пользователь будет указывать, с каким товаром нужно производить сравнение. На вкладке "Ресурсы" указываем выражение для поля "Процент".
Тут мы определяем сумму по полю "СуммаОборот" и для расчета процента от продаж выбранного пользователем товара умножаем эту сумму на 100, а затем делим на результат функции ВычислитьВыражение().
В нее так же передаем сумму по полю "СуммаОборот", но только при условии, что товар в текущей строке равен товару, указанному в параметре "Товары для сравнения".
Также для наглядности зададим оформление для колонки "Товар" так, чтобы товар выбранный пользователем выделялся цветом:
Проверяем результат:
В качестве товара для сравнения выбран товар "Босоножки". Проверим верен ли расчет на примере товара "Валенки".
За выбранный период было продано товаров на сумму 12500 и 4500 соответственно.
4500*100/12500=36%. Такой же результат получился и в отчете.
Специалист компании ООО «Кодерлайн»
Белокопытова Анна Юрьевна