СерииДиаграммы.Получить

Методы · Get

Получает значение по индексу. Работает аналогично оператору [].

Синтаксис

Получить(<Индекс>)
Полное описание, параметры и ограничения

СерииДиаграммы.Получить (ChartSeriesCollection.Get)

СерииДиаграммы (ChartSeriesCollection)

Получить (Get)

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

Синтаксис:
Получить(<Индекс>)
Параметры:

<Индекс> (обязательный)
Тип: Число.
Индекс серии.
Возвращаемое значение:
Тип: СерияДиаграммы.

Описание:

Получает значение по индексу. Работает аналогично оператору [].

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

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

Примечание:
Применяется в случаях, когда использование оператора [] невозможно.
Использование в версии:

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

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

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

Добавить, вставить, сдвинуть и удалить учебные серии и точки

Ручная работа с коллекциями без источника данных. Удаляем только созданные здесь пустые дополнительные элементы.

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

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

Подготовка

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

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

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

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    НовыеРеквизиты = Новый Массив;
    НовыеРеквизиты.Добавить(Новый РеквизитФормы("График", Новый ОписаниеТипов("Диаграмма")));
    ЭтаФорма.ИзменитьРеквизиты(НовыеРеквизиты);
    Диаграмма = Новый Диаграмма;
    Диаграмма.ТипДиаграммы = ТипДиаграммы.Гистограмма;
    Серии = Диаграмма.Серии;
    План = Серии.Добавить("План");
    План.Значение = "plan";
    Факт = Серии.Вставить(1, "Факт");
    Факт.Значение = "actual";
    ПустаяСерия = Серии.Добавить("Удалить эту пустую серию");
    Сообщить(Серии.Количество() = 3);
    Серии.Сдвинуть(Факт, -1);
    Сообщить(Серии.Индекс(Факт) = 0);
    Сообщить(Серии.Получить(0).Значение = "actual");
    Серии.Удалить(Серии.Индекс(ПустаяСерия));
    Сообщить(Серии.Количество() = 2);
    Точки = Диаграмма.Точки;
    Январь = Точки.Добавить("Январь");
    Январь.Значение = "2026-01";
    Февраль = Точки.Вставить(1, "Февраль");
    Февраль.Значение = "2026-02";
    ПустаяТочка = Точки.Добавить("Удалить эту пустую точку");
    Точки.Сдвинуть(Февраль, -1);
    Сообщить(Точки.Индекс(Февраль) = 0);
    Сообщить(Точки.Получить(0).Значение = "2026-02");
    Точки.Удалить(Точки.Индекс(ПустаяТочка));
    Сообщить(Точки.Количество() = 2);
    Диаграмма.УстановитьЗначение(Январь, План, 10);
    Диаграмма.УстановитьЗначение(Январь, Факт, 8);
    Диаграмма.УстановитьЗначение(Февраль, План, 12);
    Диаграмма.УстановитьЗначение(Февраль, Факт, 11);
    // Второй отдельный объект демонстрирует очистку своих коллекций.
    Черновик = Новый Диаграмма;
    Черновик.Серии.Добавить("Черновая серия");
    Черновик.Точки.Добавить("Черновая точка");
    Черновик.Серии.Очистить();
    Черновик.Точки.Очистить();
    Сообщить(Черновик.Серии.Количество() = 0);
    Сообщить(Черновик.Точки.Количество() = 0);
    Черновик.Очистить();
    ЭтаФорма.График = Диаграмма;
    Поле = Элементы.Добавить("ДиаграммаТоваров", Тип("ПолеФормы"));
    Поле.Вид = ВидПоляФормы.ПолеДиаграммы;
    Поле.ПутьКДанным = "График";
    Поле.РастягиватьПоГоризонтали = Истина;
    Поле.РастягиватьПоВертикали = Истина;
КонецПроцедуры

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

  1. У коллекций Серии и Точки есть собственные операции Добавить/Вставить. Их индексы начинаются с нуля.

  2. После Сдвинуть(объект,-1) ищем новый индекс объекта, а не продолжаем использовать старый номер позиции.

  3. Удаляем пустые дополнительные элементы по вычисленному индексу. Переменные удалённых объектов больше не читаем.

  4. Заполняем четыре значения с помощью сохранившихся объектов, независимо от нового порядка.

  5. Для Очистить создаём второй собственный Черновик; отображаемую диаграмму не очищаем.

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

  1. На форме Февраль перед Январём, Факт перед Планом; значения остаются февраль 11/12 и январь 8/10.

  2. После удаления пустых элементов две серии и две точки.

  3. В отдельном черновике обе очищенные коллекции имеют размер 0; отображаемые значения не исчезли.

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

Коллекции изменены и проверены по идентичности объектов и новым индексам, а не по догадке о позиции.

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

  1. Не меняйте КоличествоСерий/КоличествоТочек при связи с источником данных.

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

  3. Ссылки на удалённую точку или серию недействительны даже если индекс позже занят новым элементом.

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

Построить план/факт непосредственно из собственной таблицы значений

Первая колонка содержит названия точек, заголовки остальных колонок — названия серий. Отключаем автоматическое транспонирование, чтобы сохранять выбранный смысл осей.

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

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

Подготовка

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

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

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

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

  5. Обе числовые колонки используют один ОписаниеТипов с КвалификаторыЧисла(2, 0, Неотрицательный): целые количества 0–99. Все шесть чисел 10/12/15 и 8/11/16 входят в диапазон; формат подписи диаграммы не задаёт тип хранения.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    НовыеРеквизиты = Новый Массив;
    НовыеРеквизиты.Добавить(Новый РеквизитФормы("График", Новый ОписаниеТипов("Диаграмма")));
    ЭтаФорма.ИзменитьРеквизиты(НовыеРеквизиты);
    Таблица = Новый ТаблицаЗначений;
    Таблица.Колонки.Добавить("Месяц", Новый ОписаниеТипов("Строка"), "Месяц");
    ТипПоказателя = Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(2, 0, ДопустимыйЗнак.Неотрицательный));
    Таблица.Колонки.Добавить("План", ТипПоказателя, "План, шт.");
    Таблица.Колонки.Добавить("Факт", ТипПоказателя, "Факт, шт.");
    Январь = Таблица.Добавить();
    Январь.Месяц = "Январь";
    Январь.План = 10;
    Январь.Факт = 8;
    Февраль = Таблица.Добавить();
    Февраль.Месяц = "Февраль";
    Февраль.План = 12;
    Февраль.Факт = 11;
    Март = Таблица.Добавить();
    Март.Месяц = "Март";
    Март.План = 15;
    Март.Факт = 16;
    Диаграмма = Новый Диаграмма;
    Диаграмма.ТипДиаграммы = ТипДиаграммы.Гистограмма;
    Диаграмма.АвтоТранспонирование = Ложь;
    Диаграмма.СерииВСтроках = Ложь;
    Диаграмма.ИсточникДанных = Таблица;
    Сообщить(Диаграмма.Серии.Количество() = 2);
    Сообщить(Диаграмма.Точки.Количество() = 3);
    Сообщить(Диаграмма.Серии.Получить(0).Текст = "План, шт.");
    Сообщить(Диаграмма.Точки.Получить(0).Текст = "Январь");
    Сообщить(Диаграмма.ПолучитьЗначение(Диаграмма.Точки.Получить(2), Диаграмма.Серии.Получить(1)).Значение = 16);
    Диаграмма.ОбластьЗаголовка.Текст = "План/факт из таблицы: месяцы — точки, показатели — серии";
    Диаграмма.ОбластьПостроения.ОтображатьТаблицуДанных = Истина;
    Диаграмма.ОбластьПостроения.ФорматВТаблицеДанных = "ЧДЦ=0;ЧН=0";
    ЭтаФорма.График = Диаграмма;
    Поле = Элементы.Добавить("ДиаграммаТоваров", Тип("ПолеФормы"));
    Поле.Вид = ВидПоляФормы.ПолеДиаграммы;
    Поле.ПутьКДанным = "График";
    Поле.РастягиватьПоГоризонтали = Истина;
    Поле.РастягиватьПоВертикали = Истина;
КонецПроцедуры

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

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

  2. СерииВСтроках=Ложь означает серии в колонках: План и Факт. Первая колонка Месяц задаёт подписи точек.

  3. ИсточникДанных заполняет диаграмму. АвтоТранспонирование=Ложь не позволяет смене типа диаграммы незаметно обменять смысл серий и точек.

  4. Проверяем число осей данных, подписи и значение мартовского факта через ПолучитьЗначение(точка, серия).

  5. Таблица под диаграммой делает контроль 10/12/15 и 8/11/16 доступным без оценки высоты столбцов.

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

  1. Пять сравнений Истина; мартовский факт 16 расположен в третьей точке второй серии.

  2. На форме два показателя и три месяца. Первая колонка не создаёт третью числовую серию.

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

Показан конкретный контракт табличного источника и проверена ориентация данных.

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

  1. Заголовок колонки и её техническое имя — разные свойства. Название серии берётся из заголовка.

  2. Не считайте источник «живым запросом»: при изменении данных выполните явное обновление диаграммы и контроль результата.

  3. Обновление=Ложь не ускоряет управляемую форму; этот механизм рассчитан на неуправляемые формы.

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

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

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

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

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