Диаграмма.Транспонировать

Методы · Transpose

Меняет местами серии и точки.

Синтаксис

Транспонировать()
Полное описание, параметры и ограничения

Диаграмма.Транспонировать (Chart.Transpose)

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

Транспонировать (Transpose)

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

Синтаксис:
Транспонировать()
Описание:

Меняет местами серии и точки.

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

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

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

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

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

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

Транспонировать диаграмму и проверить новые координаты

Меняем местами точки и серии только собственного графика: матрица 3×2 становится 2×3, шесть чисел сохраняются.

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

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

Подготовка

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

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

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

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    НовыеРеквизиты = Новый Массив;
    НовыеРеквизиты.Добавить(Новый РеквизитФормы("График", Новый ОписаниеТипов("Диаграмма")));
    ЭтаФорма.ИзменитьРеквизиты(НовыеРеквизиты);
    Диаграмма = Новый Диаграмма;
    Диаграмма.ТипДиаграммы = ТипДиаграммы.Гистограмма;
    План = Диаграмма.УстановитьСерию("plan");
    План.Текст = "План, шт.";
    Факт = Диаграмма.УстановитьСерию("actual");
    Факт.Текст = "Факт, шт.";
    Месяцы = Новый Массив;
    Месяцы.Добавить(Новый Структура("Ключ,Название,План,Факт", "2026-01", "Январь", 10, 8));
    Месяцы.Добавить(Новый Структура("Ключ,Название,План,Факт", "2026-02", "Февраль", 12, 11));
    Месяцы.Добавить(Новый Структура("Ключ,Название,План,Факт", "2026-03", "Март", 15, 16));
    Для Каждого Месяц Из Месяцы Цикл
        Точка = Диаграмма.УстановитьТочку(Месяц.Ключ);
        Точка.Текст = Месяц.Название;
        Диаграмма.УстановитьЗначение(Точка, План, Месяц.План);
        Диаграмма.УстановитьЗначение(Точка, Факт, Месяц.Факт);
    КонецЦикла;

    Сообщить(Диаграмма.ПолучитьЗначение(0, 0).Значение = 10);
    Сообщить(Диаграмма.ПолучитьЗначение(2, 1).Значение = 16);
    Диаграмма.Транспонировать();
    Сообщить(Диаграмма.КоличествоТочек = 2);
    Сообщить(Диаграмма.КоличествоСерий = 3);
    Сообщить(Диаграмма.ПолучитьЗначение(0, 0).Значение = 10);
    Сообщить(Диаграмма.ПолучитьЗначение(1, 2).Значение = 16);
    Диаграмма.ОбластьЗаголовка.Текст = "Показатели — точки, месяцы — серии";
    ЭтаФорма.График = Диаграмма;
    Поле = Элементы.Добавить("ДиаграммаТоваров", Тип("ПолеФормы"));
    Поле.Вид = ВидПоляФормы.ПолеДиаграммы;
    Поле.ПутьКДанным = "График";
    Поле.РастягиватьПоГоризонтали = Истина;
    Поле.РастягиватьПоВертикали = Истина;
КонецПроцедуры

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

  1. До транспонирования первый параметр ПолучитьЗначение — индекс месяца, второй — индекс показателя.

  2. Проверяем два крайних значения 10 и 16 перед изменением матрицы.

  3. Транспонировать меняет роли осей данных: теперь точки — план/факт, серии — три месяца.

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

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

  1. Размеры после операции: две точки и три серии.

  2. 10 находится в координатах (0,0), а 16 — (1,2). Все проверки — Истина.

  3. График показывает два показателя с тремя столбцами-месяцами; это тот же набор шести чисел.

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

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

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

  1. Транспонировать — не пересчёт плана или факта и не изменение бизнес-данных.

  2. В автоматической связи с источником данных структура управляется источником; урок использует ручное заполнение.

  3. После изменения структуры получайте нужные точки/серии заново.

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

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

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

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

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