СерияДиаграммы.ТипНакопления

Свойства · StackType

Тип: ТипНакопленияСерииДиаграммы. Задает тип накопления серии, отличный от типа накопления диаграммы.

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

СерияДиаграммы.ТипНакопления (ChartSeries.StackType)

СерияДиаграммы (ChartSeries)

ТипНакопления (StackType)

Доступен, начиная с версии 8.3.16 (в режиме совместимости с версией 8.3.16 и последующими).

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

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.

Примечание:
Используется только для диаграмм следующих видов:
ГистограммаСНакоплением,
ГистограммаСНакоплениемГоризонтальная,
График,
ГрафикПоШагам,
ГрафикСНакоплением,
ГрафикСОбластями,
ГрафикСОбластямиИНакоплением,
ГрафикСОбластямиНормированный,
ГистограммаОбъемная,
ГистограммаСНакоплениемОбъемная,
ГистограммаНормированнаяОбъемная,
ГистограммаГоризонтальнаяОбъемная,
ГистограммаСНакоплениемГоризонтальнаяОбъемная,
ГистограммаНормированнаяГоризонтальнаяОбъемная.
Использование в версии:

Доступен, начиная с версии 8.3.16 (в режиме совместимости с версией 8.3.16 и последующими).

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

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

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

Столбцы количества используют левую ось 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. В учебной базе создайте новую внешнюю обработку УчебнаяДиаграмма с пустой управляемой формой; назначьте форму основной.

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

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

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    НовыеРеквизиты = Новый Массив;
    НовыеРеквизиты.Добавить(Новый РеквизитФормы("График", Новый ОписаниеТипов("Диаграмма")));
    ЭтаФорма.ИзменитьРеквизиты(НовыеРеквизиты);
    Диаграмма = Новый Диаграмма;
    Диаграмма.ТипДиаграммы = ТипДиаграммы.Гистограмма;
    Книги = Диаграмма.УстановитьСерию("books");
    Книги.Текст = "Книги, шт.";
    Книги.ТипНакопления = ТипНакопленияСерииДиаграммы.СНакоплением;
    Книги.ГруппаНакопления = "actual-items";
    Ручки = Диаграмма.УстановитьСерию("pens");
    Ручки.Текст = "Ручки, шт.";
    Ручки.ТипНакопления = ТипНакопленияСерииДиаграммы.СНакоплением;
    Ручки.ГруппаНакопления = "actual-items";
    План = Диаграмма.УстановитьСерию("plan");
    План.Текст = "План 20 шт. — ориентир, не факт";
    План.Индикатор = Истина;
    План.Линия = Новый Линия(ТипЛинииДиаграммы.Пунктир, 2);
    План.Цвет = Новый Цвет(185, 95, 20);
    Данные = Новый Массив;
    Данные.Добавить(Новый Структура("Месяц,Книги,Ручки", "Январь", 8, 2));
    Данные.Добавить(Новый Структура("Месяц,Книги,Ручки", "Февраль", 11, 3));
    Для Каждого Запись Из Данные Цикл
        Точка = Диаграмма.УстановитьТочку(Запись.Месяц);
        Точка.Текст = Запись.Месяц;
        Диаграмма.УстановитьЗначение(Точка, Книги, Запись.Книги);
        Диаграмма.УстановитьЗначение(Точка, Ручки, Запись.Ручки);
        Диаграмма.УстановитьЗначение(Точка, План, 20);
    КонецЦикла;
    Диаграмма.СоединениеЗначенийПоСериям = ТипСоединенияЗначенийПоСериямДиаграммы.СоединениеКраев;
    Диаграмма.ЛинииСоединенияЗначенийПоСериям = Новый Линия(ТипЛинииДиаграммы.Точечная, 1);
    Диаграмма.ЦветСоединенияЗначенийПоСериям = Новый Цвет(165, 175, 190);
    Диаграмма.РежимПробелов = РежимПробеловДиаграммы.ПоловинаШирины;
    Диаграмма.ПорядокСерийВЛегенде = ПорядокСерийВЛегендеДиаграммы.Прямой;
    Сообщить(Диаграмма.ПолучитьЗначение(0, Книги).Значение + Диаграмма.ПолучитьЗначение(0, Ручки).Значение = 10);
    Сообщить(Диаграмма.ПолучитьЗначение(1, Книги).Значение + Диаграмма.ПолучитьЗначение(1, Ручки).Значение = 14);
    Сообщить(План.Индикатор);
    Диаграмма.ОбластьЗаголовка.Текст = "Факт: 10 и 14 шт.; план 20 не складывается с фактом";
    ЭтаФорма.График = Диаграмма;
    Поле = Элементы.Добавить("ДиаграммаТоваров", Тип("ПолеФормы"));
    Поле.Вид = ВидПоляФормы.ПолеДиаграммы;
    Поле.ПутьКДанным = "График";
    Поле.РастягиватьПоГоризонтали = Истина;
    Поле.РастягиватьПоВертикали = Истина;
КонецПроцедуры

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

  1. Книги и Ручки имеют одинаковую группу накопления и единицу штуки; их высоты складываются в факт.

  2. План.Индикатор=Истина показывает серию гистограммы графиком и не помещает её в сводную серию. Он не становится третьей частью факта.

  3. Задаём факт 8+2=10 и 11+3=14, а план в обеих точках 20.

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

  5. Расстояние ПоловинаШирины и прямой порядок легенды помогают читать состав. Контрольные суммы рассчитываются отдельно из двух фактических серий.

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

  1. Три сравнения Истина. На форме накопленные значения 10 и 14, отдельная линия плана 20.

  2. Если видно 30 и 34 как факт, проверьте подготовку накопления и индикатора: план ошибочно прибавлен.

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

Состав показателя и внешний ориентир не смешаны в сумме накопленных столбцов.

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

  1. Складывайте только сопоставимые единицы и непересекающиеся категории. Штуки и рубли или план и факт не являются частями одной суммы.

  2. ГруппаНакопления определяет совместное накопление; разные группы отображаются отдельно.

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

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

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

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

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

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