Как построить график курсов валют в СКД: пошаговая настройка

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Отображение динамики курсов валют в виде графиков — это классическая задача для разработчика 1С. При использовании системы компоновки данных (СКД) часто возникают вопросы, связанные с настройкой структуры диаграммы и обработкой данных. Давайте разберем, как правильно организовать такой отчет, чтобы он был наглядным и информативным.

Подготовка данных и ресурсов

Для начала проанализируем структуру нашего запроса. Мы имеем регистр сведений КурсыВалют, из которого выбираем период, валюту и значение курса. Чтобы СКД корректно восприняла данные для построения графического представления, поле Курс обязательно должно быть определено в разделе «Ресурсы».

Рассмотрим подробнее этот этап:

  1. Перейдите на вкладку Ресурсы в настройках СКД.
  2. Перенесите поле Курс в список ресурсов.
  3. В колонке «Выражение» для этого ресурса укажите агрегатную функцию. Поскольку курс на конкретную дату является фиксированным числом, лучше всего использовать МАКСИМУМ(Курс) или СРЕДНЕЕ(Курс). Это позволит системе правильно обработать данные, если вдруг в один день окажется несколько записей с курсом.

Настройка структуры диаграммы в СКД

Разберемся, как правильно распределить данные в настройках диаграммы. Важно понимать разницу между «Точками» и «Сериями»:

Тонкая настройка оси значений

Частая проблема при построении графиков курсов — это автоматическая шкала. Система 1С по умолчанию начинает ось Y (вертикальную) от нуля. Если курс валюты, например, колеблется в районе 70-80 рублей, то график будет выглядеть как практически прямая горизонтальная линия, что не дает визуального представления о волатильности.

Давайте решим эту задачу. Для управления минимальным значением оси значений (вертикальной черты) мы можем использовать обращение к свойству диаграммы в модуле формы. После того как отчет будет сформирован в табличный документ, мы можем программно задать границы:


// Пример получения диаграммы из табличного документа
ОбластьДиаграммы = Результат.Рисунки.Найти("Диаграмма1").Объект;
// Отключаем автоматический расчет минимума
ОбластьДиаграммы.ОсьЗначений.АвтоматическоеОпределениеМинимума = Ложь;
// Задаем минимальное значение, например, 70
ОбластьДиаграммы.ОсьЗначений.МинимальноеЗначение = 70;

Используя метод Диаграмма.ОсьЗначений.МинимальноеЗначение, мы добиваемся того, что график начинает отсчет от заданного порога. Это делает «скачки» курса наглядными, даже если изменения составляют всего пару рублей.

Полезные советы для визуализации

Чтобы отчет стал по-настоящему профессиональным, рекомендуем обратить внимание на следующие нюансы:

Таким образом, комбинируя стандартные настройки СКД для ресурсов и группировок с программной настройкой свойств диаграммы, вы сможете построить гибкий и удобный инструмент для анализа валютных курсов.

← На главную