ИнформационныеЛинииДиаграммы

Типы · ChartReferenceLines

Представляет собой коллекцию информационных линий диаграммы.

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

ИнформационныеЛинииДиаграммы (ChartReferenceLines)

ИнформационныеЛинииДиаграммы (ChartReferenceLines)

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

Методы:
Вставить (Insert)
Добавить (Add)
Индекс (Index)
Количество (Count)
Получить (Get)
Сдвинуть (Move)
Удалить (Delete)

Описание:

Представляет собой коллекцию информационных линий диаграммы.

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

Тонкий клиент, веб-клиент, сервер, толстый клиент.
Сериализуется. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен {http://v8.1c.ru/8.2/data/chart}. Имя типа XDTO: ChartReferenceLines.

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

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

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

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

Добавить линию цели 12 штук и отметку контрольного месяца

Информационная линия обозначает цель, но не добавляет продажи. Отдельно показываем собственные операции коллекции линий.

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

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

Подготовка

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

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

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

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    НовыеРеквизиты = Новый Массив;
    НовыеРеквизиты.Добавить(Новый РеквизитФормы("График", Новый ОписаниеТипов("Диаграмма")));
    ЭтаФорма.ИзменитьРеквизиты(НовыеРеквизиты);
    Диаграмма = Новый Диаграмма;
    Диаграмма.ТипДиаграммы = ТипДиаграммы.Гистограмма;
    План = Диаграмма.УстановитьСерию("plan");
    План.Текст = "План, шт.";
    Факт = Диаграмма.УстановитьСерию("actual");
    Факт.Текст = "Факт, шт.";
    Месяцы = Новый Массив;
    Месяцы.Добавить(Новый Структура("Ключ,Название,План,Факт", "2026-01", "Январь", 10, 8));
    Месяцы.Добавить(Новый Структура("Ключ,Название,План,Факт", "2026-02", "Февраль", 12, 11));
    Месяцы.Добавить(Новый Структура("Ключ,Название,План,Факт", "2026-03", "Март", 15, 16));
    Для Каждого Месяц Из Месяцы Цикл
        Точка = Диаграмма.УстановитьТочку(Месяц.Ключ);
        Точка.Текст = Месяц.Название;
        Диаграмма.УстановитьЗначение(Точка, План, Месяц.План);
        Диаграмма.УстановитьЗначение(Точка, Факт, Месяц.Факт);
    КонецЦикла;
    Линии = Диаграмма.ИнформационныеЛинииЗначений;
    Цель = Линии.Добавить();
    Цель.Значение = 12;
    Цель.Линия = Новый Линия(ТипЛинииДиаграммы.Пунктир, 2);
    Цель.Цвет = Новый Цвет(185, 95, 20);
    Цель.ТекстПодписи = "Цель: 12 шт.";
    Цель.Подсказка = "Учебная цель, а не дополнительный факт продаж";
    Цель.Расшифровка = Новый Структура("Вид,Цель", "target", 12);
    Цель.Положение = ПоложениеИнформационнойЛинииДиаграммы.ВЗначении;
    Цель.ПроцентПолупрозрачности = 0;
    Подпись = Цель.ОбластьПодписи;
    Подпись.Положение = ПоложениеПодписейКДиаграмме.УказываетсяЛевоИВерх;
    Подпись.Лево = 0.15;
    Подпись.Верх = 0.12;
    Подпись.Ориентация = ОриентацияПодписейДиаграммы.Горизонтально;
    Подпись.УголНаклона = 0;
    Подпись.Маркер = ТипМаркераДиаграммы.Нет;
    Подпись.Шрифт = Новый Шрифт("Arial", 10);
    Подпись.ЦветТекста = Новый Цвет(90, 55, 20);
    Подпись.ЦветФона = Новый Цвет(255, 247, 230);
    Подпись.ПрозрачныйФон = Ложь;
    Подпись.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Одинарная);
    Подпись.ЦветРамки = Новый Цвет(185, 95, 20);
    Черновая = Линии.Вставить(0);
    Черновая.Значение = 5;
    Сообщить(Линии.Индекс(Цель) = 1);
    Линии.Сдвинуть(Цель, -1);
    Сообщить(Линии.Индекс(Цель) = 0);
    Линии.Удалить(Черновая);
    Сообщить(Линии.Количество() = 1);
    Сообщить(Линии.Получить(0).Значение = 12);
    КонтрольныйМесяц = Диаграмма.ИнформационныеЛинииТочек.Добавить();
    КонтрольныйМесяц.Значение = Диаграмма.Точки.Получить(1);
    КонтрольныйМесяц.Положение = ПоложениеИнформационнойЛинииДиаграммы.ВЗначении;
    КонтрольныйМесяц.ТекстПодписи = "Проверка февраля";
    КонтрольныйМесяц.Цвет = Новый Цвет(120, 130, 145);
    Сообщить(Диаграмма.ПолучитьЗначение(Диаграмма.Точки.Получить(1), Факт).Значение = 11);
    ЭтаФорма.График = Диаграмма;
    Поле = Элементы.Добавить("ДиаграммаТоваров", Тип("ПолеФормы"));
    Поле.Вид = ВидПоляФормы.ПолеДиаграммы;
    Поле.ПутьКДанным = "График";
    Поле.РастягиватьПоГоризонтали = Истина;
    Поле.РастягиватьПоВертикали = Истина;
КонецПроцедуры

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

  1. Линия значений расположена на числе 12. Она служит ориентиром и не становится третьей серией.

  2. Подпись, подсказка и расшифровка раскрывают смысл цели. Расшифровка — собственная структура данных, обработчик перехода в этой задаче не создаётся.

  3. Положение подписи задаёт координаты 0–1; шрифт и плашка обеспечивают контраст. Угол 0 при горизонтальном режиме ничего дополнительно не поворачивает.

  4. Вставляем черновую линию, сдвигаем цель, удаляем только черновую. Получить(0) после операций по-прежнему возвращает цель 12.

  5. ИнформационнаяЛинияТочек принимает объект точки февраля. Это отметка месяца, не значение 12 на числовой шкале.

  6. Факт февраля остаётся 11: контрольная линия его не подтягивает до цели.

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

  1. Пять сравнений Истина; осталась одна линия цели значений и отдельная отметка февраля.

  2. На форме читаются подписи «Цель: 12 шт.» и «Проверка февраля», исходные шесть чисел не изменены.

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

Цель и контрольный месяц отображены как поясняющие объекты, а коллекция изменена только в собственном графике.

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

  1. Расшифровка не запускает код сама: для перехода требуется отдельный обработчик выбранного события формы.

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

  3. Удалить принимает объект информационной линии, не числовой индекс, в отличие от некоторых других коллекций.

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

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

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

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

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