Диаграмма.УстановитьСерию

Методы · SetSeries

Предназначен для создания и доступа к сериям по ключевому значению. Позволяет выполнять заполнение диаграммы в произвольном порядке.

Синтаксис

УстановитьСерию(<Значение>)
Полное описание, параметры и ограничения

Диаграмма.УстановитьСерию (Chart.SetSeries)

Диаграмма (Chart)

УстановитьСерию (SetSeries)

Доступен, начиная с версии 8.0.

Синтаксис:
УстановитьСерию(<Значение>)
Параметры:

<Значение> (обязательный)
Тип: Произвольный.
Серия, которую требуется найти или создать.
Возвращаемое значение:
Тип: СерияДиаграммы.
Найденная серия. Если указанной серии нет, создается новая серия, для нее заполняется свойство Значение, и эта серия возвращается.
Описание:

Предназначен для создания и доступа к сериям по ключевому значению. Позволяет выполнять заполнение диаграммы в произвольном порядке.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

Примечание:
Важно! Во время заполнения диаграммы свойство АвтоТранспонирование не должно быть установлено. Его можно устанавливать после заполнения.
Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Разнести выручку, маржу и число заказов по X, Y и размеру пузырька

Два собственных товара имеют три разных показателя. Вспомогательные серии X и размера не рисуем как отдельные пузырьки.

Где и как запускать

Модуль новой управляемой формы учебной внешней обработки. Код содержит готовые процедуры с директивами; вставляйте на уровне модуля, не внутрь другого обработчика. Каждую задачу запускайте в отдельной копии формы.

Подготовка

  1. В учебной базе создайте новую внешнюю обработку УчебнаяДиаграмма с пустой управляемой формой; назначьте форму основной.

  2. Не создавайте реквизит График и поле ДиаграммаТоваров вручную: код создаёт их в ПриСозданииНаСервере.

  3. В свойствах формы → События назначьте ПриСозданииНаСервере одноимённой процедуре. Сохраните EPF и откройте её в учебном тонком клиенте Windows.

  4. Каждый урок использует отдельный модуль/копию формы. Данные вымышлены: план и факт в штуках за три месяца, не данные учёта.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    НовыеРеквизиты = Новый Массив;
    НовыеРеквизиты.Добавить(Новый РеквизитФормы("График", Новый ОписаниеТипов("Диаграмма")));
    ЭтаФорма.ИзменитьРеквизиты(НовыеРеквизиты);
    Диаграмма = Новый Диаграмма;
    Диаграмма.ТипДиаграммы = ТипДиаграммы.Пузырьковая;
    Выручка = Диаграмма.УстановитьСерию("revenue");
    Выручка.Текст = "Выручка, руб. (X)";
    Маржа = Диаграмма.УстановитьСерию("margin");
    Маржа.Текст = "Маржа, руб. (Y)";
    Заказы = Диаграмма.УстановитьСерию("orders");
    Заказы.Текст = "Число заказов (размер)";
    Выручка.ОтображатьГрафическоеПредставлениеДанныхВДиаграмме = ОтображениеВДиаграмме.НеОтображать;
    Выручка.ОтображатьГрафическоеПредставлениеДанныхВЛегендеДиаграммы = ОтображениеВЛегендеДиаграммы.НеОтображать;
    Заказы.ОтображатьГрафическоеПредставлениеДанныхВДиаграмме = ОтображениеВДиаграмме.НеОтображать;
    Заказы.ОтображатьГрафическоеПредставлениеДанныхВЛегендеДиаграммы = ОтображениеВЛегендеДиаграммы.НеОтображать;
    Маржа.ОтображатьГрафическоеПредставлениеДанныхВДиаграмме = ОтображениеВДиаграмме.Отображать;
    Маржа.ОтображатьГрафическоеПредставлениеДанныхВЛегендеДиаграммы = ОтображениеВЛегендеДиаграммы.Отображать;
    Книга = Диаграмма.УстановитьТочку("BOOK");
    Книга.Текст = "Книга";
    Ручка = Диаграмма.УстановитьТочку("PEN");
    Ручка.Текст = "Ручка";
    Диаграмма.УстановитьЗначение(Книга, Выручка, 2000);
    Диаграмма.УстановитьЗначение(Книга, Маржа, 200);
    Диаграмма.УстановитьЗначение(Книга, Заказы, 4);
    Диаграмма.УстановитьЗначение(Ручка, Выручка, 4000);
    Диаграмма.УстановитьЗначение(Ручка, Маржа, 800);
    Диаграмма.УстановитьЗначение(Ручка, Заказы, 16);
    Диаграмма.ИсточникЗначенийОсиТочек = ИсточникЗначенийОсиТочекДиаграммы.Серия;
    Диаграмма.СерияНаОсиТочек = Выручка;
    Диаграмма.ИсточникЗначенияРазмераПузырька = ИсточникЗначенияРазмераПузырькаДиаграммы.ОбщаяСерия;
    Диаграмма.ОбщаяСерияРазмераПузырька = Заказы;
    Диаграмма.ВлияниеРазмераНаПузырек = ВлияниеРазмераНаПузырекДиаграммы.УвеличениеПлощади;
    Диаграмма.МинимальныйРазмерПузырька = 5;
    Диаграмма.МаксимальныйРазмерПузырька = 25;
    Диаграмма.РазмерПузырькаПоУмолчанию = 10;
    Диаграмма.ОтображениеОтрицательныхЗначенийПузырьковойДиаграммы = ОтображениеОтрицательныхЗначенийПузырьковойДиаграммы.НеОтображать;
    ОсьX = Диаграмма.ОсьТочек;
    ОсьX.СпособОпределенияМинимальногоЗначения = СпособОпределенияОграничивающегоЗначенияДиаграммы.ИспользоватьЗначение;
    ОсьX.СпособОпределенияМаксимальногоЗначения = СпособОпределенияОграничивающегоЗначенияДиаграммы.ИспользоватьЗначение;
    ОсьX.МинимальноеЗначение = 0;
    ОсьX.МаксимальноеЗначение = 5000;
    ОсьY = Диаграмма.ОсьЗначений;
    ОсьY.СпособОпределенияМинимальногоЗначения = СпособОпределенияОграничивающегоЗначенияДиаграммы.ИспользоватьЗначение;
    ОсьY.СпособОпределенияМаксимальногоЗначения = СпособОпределенияОграничивающегоЗначенияДиаграммы.ИспользоватьЗначение;
    ОсьY.МинимальноеЗначение = 0;
    ОсьY.МаксимальноеЗначение = 1000;
    Диаграмма.ОбластьЗаголовка.Текст = "X — выручка, Y — маржа; площадь — число заказов";
    Сообщить(Диаграмма.ПолучитьЗначение(Книга, Маржа).Значение = 200);
    Сообщить(Диаграмма.ПолучитьЗначение(Ручка, Заказы).Значение = 16);
    ЭтаФорма.График = Диаграмма;
    Поле = Элементы.Добавить("ДиаграммаТоваров", Тип("ПолеФормы"));
    Поле.Вид = ВидПоляФормы.ПолеДиаграммы;
    Поле.ПутьКДанным = "График";
    Поле.РастягиватьПоГоризонтали = Истина;
    Поле.РастягиватьПоВертикали = Истина;
КонецПроцедуры

Разбор по шагам

  1. Задаём значения X, Y и размера отдельными собственными сериями для двух товаров.

  2. Выручка используется как источник оси X, Заказы как общая серия размеров. Обе вспомогательные серии скрыты в рисунке и легенде, но их данные доступны.

  3. Рисуется только серия Маржа. Её пузырьки имеют координаты (2000,200) и (4000,800).

  4. УвеличениеПлощади связывает увеличение показателя с площадью, а не диаметром. Минимальный и максимальный диаметры задаются процентами от меньшей стороны области построения.

  5. РазмерПузырькаПоУмолчанию=10 относится к варианту без источника размера. Для отдельного опыта переключите ИсточникЗначенияРазмераПузырька на Нет: исчезнет кодирование числа заказов размером.

  6. Фиксируем X 0–5000 и Y 0–1000, проверяем исходные значения и смысл заголовка. Отрицательных чисел заказов в задаче нет.

Как проверить результат

  1. Два сравнения Истина. На форме два пузырька серии Маржа, у ручки координаты больше и размер крупнее.

  2. Вспомогательные серии не создают ещё четыре рисуемых пузырька; легенда не предлагает считать их отдельными результатами.

  3. После переключения источника размера на Нет в собственной копии сравните одинаковый размер и неизменные координаты.

Ожидаемый результат

Три числовых измерения разведены по координатам и размеру без рисования служебных серий.

На что обратить внимание

  1. Процент диаметра области построения — не процент заказов. Ограничения минимального/максимального диаметра мешают считывать точные отношения площадей на глаз.

  2. Не скрывайте отрицательные бизнес-значения без отдельного пояснения. Правило НеОтображать здесь относится к вымышленному неотрицательному числу заказов.

  3. Выручка и маржа — вымышленные независимые показатели; пузырьки не доказывают прибыльность реального товара.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Совместить штуки и рубли, не выдавая их за одну единицу измерения

Столбцы количества используют левую ось 0–20, график выручки — дополнительную ось 0–4000. Каждая шкала подписана.

Где и как запускать

Модуль новой управляемой формы учебной внешней обработки. Код содержит готовые процедуры с директивами; вставляйте на уровне модуля, не внутрь другого обработчика. Каждую задачу запускайте в отдельной копии формы.

Подготовка

  1. В учебной базе создайте новую внешнюю обработку УчебнаяДиаграмма с пустой управляемой формой; назначьте форму основной.

  2. Не создавайте реквизит График и поле ДиаграммаТоваров вручную: код создаёт их в ПриСозданииНаСервере.

  3. В свойствах формы → События назначьте ПриСозданииНаСервере одноимённой процедуре. Сохраните EPF и откройте её в учебном тонком клиенте Windows.

  4. Каждый урок использует отдельный модуль/копию формы. Данные вымышлены: план и факт в штуках за три месяца, не данные учёта.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    НовыеРеквизиты = Новый Массив;
    НовыеРеквизиты.Добавить(Новый РеквизитФормы("График", Новый ОписаниеТипов("Диаграмма")));
    ЭтаФорма.ИзменитьРеквизиты(НовыеРеквизиты);
    Диаграмма = Новый Диаграмма;
    Диаграмма.ТипДиаграммы = ТипДиаграммы.Гистограмма;
    Количество = Диаграмма.УстановитьСерию("qty");
    Количество.Текст = "Количество, шт. (левая ось)";
    Количество.ТипГрафическогоПредставления = ТипГрафическогоПредставленияСерииДиаграммы.Гистограмма;
    Количество.ТипНакопления = ТипНакопленияСерииДиаграммы.БезНакопления;
    Количество.ИспользуемаяОсьЗначений = ИспользуемаяОсьЗначенийДиаграммы.Основная;
    Количество.Цвет = Новый Цвет(70, 110, 190);
    Количество.ПриоритетЦвета = Истина;
    Выручка = Диаграмма.УстановитьСерию("revenue");
    Выручка.Текст = "Выручка, руб. (правая ось)";
    Выручка.ТипГрафическогоПредставления = ТипГрафическогоПредставленияСерииДиаграммы.График;
    Выручка.ИспользуемаяОсьЗначений = ИспользуемаяОсьЗначенийДиаграммы.Дополнительная;
    Выручка.Линия = Новый Линия(ТипЛинииДиаграммы.Сплошная, 2);
    Выручка.Маркер = ТипМаркераДиаграммы.Круг;
    Выручка.Цвет = Новый Цвет(30, 140, 110);
    Данные = Новый Массив;
    Данные.Добавить(Новый Структура("Месяц,Количество,Выручка", "Январь", 8, 2000));
    Данные.Добавить(Новый Структура("Месяц,Количество,Выручка", "Февраль", 11, 2750));
    Данные.Добавить(Новый Структура("Месяц,Количество,Выручка", "Март", 16, 4000));
    Для Каждого Запись Из Данные Цикл
        Точка = Диаграмма.УстановитьТочку(Запись.Месяц);
        Точка.Текст = Запись.Месяц;
        Диаграмма.УстановитьЗначение(Точка, Количество, Запись.Количество);
        Диаграмма.УстановитьЗначение(Точка, Выручка, Запись.Выручка);
    КонецЦикла;
    ОсновнаяОсь = Диаграмма.ОсьЗначений;
    ОсновнаяОсь.СпособОпределенияМинимальногоЗначения = СпособОпределенияОграничивающегоЗначенияДиаграммы.ИспользоватьЗначение;
    ОсновнаяОсь.СпособОпределенияМаксимальногоЗначения = СпособОпределенияОграничивающегоЗначенияДиаграммы.ИспользоватьЗначение;
    ОсновнаяОсь.МинимальноеЗначение = 0;
    ОсновнаяОсь.МаксимальноеЗначение = 20;
    ПраваяОсь = Диаграмма.ДополнительнаяОсьЗначений;
    ПраваяОсь.СпособОпределенияМинимальногоЗначения = СпособОпределенияОграничивающегоЗначенияДиаграммы.ИспользоватьЗначение;
    ПраваяОсь.СпособОпределенияМаксимальногоЗначения = СпособОпределенияОграничивающегоЗначенияДиаграммы.ИспользоватьЗначение;
    ПраваяОсь.МинимальноеЗначение = 0;
    ПраваяОсь.МаксимальноеЗначение = 4000;
    Область = Диаграмма.ОбластьПостроения;
    ЛеваяШкала = Область.ШкалаЗначений;
    ЛеваяШкала.Отображение = ОтображениеВДиаграмме.Отображать;
    ЛеваяШкала.ОтображениеЗаголовка = ОтображениеЗаголовкаШкалыДиаграммы.Отображать;
    ЛеваяШкала.СпособЗаполненияТекстаЗаголовка = СпособЗаполненияТекстаЗаголовкаШкалыДиаграммы.ИспользоватьТекст;
    ЛеваяШкала.ТекстЗаголовка = "Штуки";
    ПраваяШкала = Область.ДополнительнаяШкалаЗначений;
    ПраваяШкала.Отображение = ОтображениеВДиаграмме.Отображать;
    ПраваяШкала.ОтображениеЗаголовка = ОтображениеЗаголовкаШкалыДиаграммы.Отображать;
    ПраваяШкала.СпособЗаполненияТекстаЗаголовка = СпособЗаполненияТекстаЗаголовкаШкалыДиаграммы.ИспользоватьТекст;
    ПраваяШкала.ТекстЗаголовка = "Рубли";
    Область.ОтображатьТаблицуДанных = Истина;
    Сообщить(Диаграмма.ПолучитьЗначение(Диаграмма.Точки.Получить(2), Количество).Значение = 16);
    Сообщить(Диаграмма.ПолучитьЗначение(Диаграмма.Точки.Получить(2), Выручка).Значение = 4000);
    ЭтаФорма.График = Диаграмма;
    Поле = Элементы.Добавить("ДиаграммаТоваров", Тип("ПолеФормы"));
    Поле.Вид = ВидПоляФормы.ПолеДиаграммы;
    Поле.ПутьКДанным = "График";
    Поле.РастягиватьПоГоризонтали = Истина;
    Поле.РастягиватьПоВертикали = Истина;
КонецПроцедуры

Разбор по шагам

  1. Создаём три вымышленных месяца. Количество и выручка — отдельные исходные числа, единицы не преобразуются настройкой оси.

  2. Серия количества имеет столбцы без накопления на основной оси. Выручка — график с круглыми маркерами на дополнительной оси.

  3. Фиксируем диапазоны 0–20 штук и 0–4000 рублей, чтобы ни одно значение не обрезалось.

  4. Обе шкалы отображаются и имеют явный заголовок; в названии серии тоже указан смысл оси.

  5. Проверяем мартовские значения 16 и 4000, а таблица данных позволяет читать их напрямую.

Как проверить результат

  1. Два сообщения Истина. На форме мартовский столбец соответствует 16 на левой шкале, маркер выручки — 4000 на правой.

  2. Проверьте подписи обеих осей: отсутствие единиц делает сравнение визуально двусмысленным.

Ожидаемый результат

Две единицы измерения не смешаны в общей числовой шкале и не замаскированы цветом.

На что обратить внимание

  1. Двойная ось может создавать впечатление совпадающих трендов из-за произвольного масштаба. Для анализа часто понятнее две отдельные диаграммы.

  2. ТипГрафическогоПредставления меняет вид серии, а ИспользуемаяОсьЗначений — её шкалу: это разные настройки.

  3. Здесь одинаковая учебная цена 250 руб. за штуку. Не переносите вывод о такой зависимости на реальные данные.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.