Диаграмма.АктивнаяСерия

Свойства · ActiveSeries

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

Полное описание, параметры и ограничения

Диаграмма.АктивнаяСерия (Chart.ActiveSeries)

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

АктивнаяСерия (ActiveSeries)

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

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

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

Примечание:
Имеет смысл для биржевых диаграмм.
См. также:
ТипДиаграммы

Использование в версии:

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

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

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

Собрать биржевую диаграмму из двух учебных групп по четыре значения

В этом виде одна отображаемая точка состоит из четырёх исходных точек: открытие, максимум, минимум, закрытие. Это особый контракт API, не четыре независимые серии.

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

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

Подготовка

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

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

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

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    НовыеРеквизиты = Новый Массив;
    НовыеРеквизиты.Добавить(Новый РеквизитФормы("График", Новый ОписаниеТипов("Диаграмма")));
    ЭтаФорма.ИзменитьРеквизиты(НовыеРеквизиты);
    Диаграмма = Новый Диаграмма;
    Диаграмма.ТипДиаграммы = ТипДиаграммы.Биржевая;
    Котировка = Диаграмма.УстановитьСерию("training-price");
    Котировка.Текст = "Вымышленные числа для изучения API";
    Диаграмма.АктивнаяСерия = Котировка;
    Дни = Новый Массив;
    Дни.Добавить(Новый Структура("День,Открытие,Максимум,Минимум,Закрытие", "15.09", 100, 110, 95, 105));
    Дни.Добавить(Новый Структура("День,Открытие,Максимум,Минимум,Закрытие", "16.09", 105, 115, 102, 112));
    Для Каждого День Из Дни Цикл
        Если День.Минимум > День.Открытие Или День.Минимум > День.Закрытие
            Или День.Максимум < День.Открытие Или День.Максимум < День.Закрытие Тогда
            ВызватьИсключение "Учебный минимум/максимум не охватывает открытие и закрытие";
        КонецЕсли;
        Значения = Новый Массив;
        Значения.Добавить(День.Открытие);
        Значения.Добавить(День.Максимум);
        Значения.Добавить(День.Минимум);
        Значения.Добавить(День.Закрытие);
        Для Индекс = 0 По 3 Цикл
            Точка = Диаграмма.УстановитьТочку(День.День + ":" + Строка(Индекс));
            Если Индекс = 0 Тогда
                Точка.Текст = День.День;
                Точка.Расшифровка = Новый Структура("День", День.День);
            Иначе
                Точка.Текст = "";
            КонецЕсли;
            Диаграмма.УстановитьЗначение(Точка, Котировка, Значения.Получить(Индекс));
        КонецЦикла;
    КонецЦикла;
    ТрендЗакрытия = Котировка.ЛинииТренда.Добавить();
    ТрендЗакрытия.ИспользуемоеЗначениеТочкиБиржевойДиаграммы = ИспользуемоеЗначениеТочкиБиржевойДиаграммы.Закрытие;
    ТрендЗакрытия.ТипАппроксимации = ТипАппроксимацииЛинииТрендаДиаграммы.Линейный;
    ТрендЗакрытия.Текст = "Учебная линия по закрытию, не прогноз";
    Сообщить(Диаграмма.Точки.Количество() = 8);
    Сообщить(Диаграмма.ПолучитьЗначение(Диаграмма.Точки.Получить(3), Котировка).Значение = 105);
    Сообщить(Диаграмма.ПолучитьЗначение(Диаграмма.Точки.Получить(7), Котировка).Значение = 112);
    Диаграмма.ОбластьЗаголовка.Текст = "Два учебных дня: 8 исходных значений, 2 биржевые группы";
    ЭтаФорма.График = Диаграмма;
    Поле = Элементы.Добавить("ДиаграммаТоваров", Тип("ПолеФормы"));
    Поле.Вид = ВидПоляФормы.ПолеДиаграммы;
    Поле.ПутьКДанным = "График";
    Поле.РастягиватьПоГоризонтали = Истина;
    Поле.РастягиватьПоВертикали = Истина;
КонецПроцедуры

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

  1. Данные полностью вымышлены и предназначены для изучения типа диаграммы, не для инвестиционных решений.

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

  3. Всего исходных точек восемь. Подпись и расшифровка отображаемой группы берутся из первых точек 0 и 4.

  4. АктивнаяСерия указывает единственную серию котировок, которую следует строить биржевым способом.

  5. Линии тренда явно выбирают закрытие внутри группы, а не каждое из четырёх значений как независимое измерение.

  6. Через ПолучитьЗначение контролируем закрытия 105 и 112 на индексах 3 и 7.

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

  1. Три сообщения Истина: исходных точек 8, закрытия двух групп 105 и 112.

  2. На форме две биржевые группы с подписями дней, а не восемь самостоятельных дней.

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

Особый формат четырёх значений и выбор активной серии разобраны на контролируемом источнике.

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

  1. Группы меньше четырёх значений не строятся. Не выдавайте неполную группу за день без изменений.

  2. Перестановка максимума и минимума нарушает контракт, даже если все числа успешно установлены.

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

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

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

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

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

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