ТочкиДиаграммы.Количество

Методы · Count

Получает количество точек диаграммы.

Синтаксис

Количество()

Примеры платформы

ВсегоТочек = Диаграмма.Точки.Количество();
Полное описание, параметры и ограничения

ТочкиДиаграммы.Количество (ChartPoints.Count)

ТочкиДиаграммы (ChartPoints)

Количество (Count)

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

Синтаксис:
Количество()
Возвращаемое значение:
Тип: Число.

Описание:

Получает количество точек диаграммы.

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

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

Пример:

ВсегоТочек = Диаграмма.Точки.Количество();

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

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

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

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

Оформить линию факта и отличить гладкую кривую от дополнительных измерений

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

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

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

Подготовка

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

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

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

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

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

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

  1. Меняем тип той же полной матрицы на График. Исходные три точки и шесть чисел сохраняются.

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

  3. ГладкаяКривая и натяжение 100 задают геометрию между маркерами; это не метод прогнозирования или расчёт дополнительных продаж.

  4. Нулевая база не пропускается. Для отсутствующих значений связь запрещена; в текущей полной матрице пропусков нет.

  5. Проверяем число точек и числа факта. Для сравнения замените РежимСглаживания на Нет: значения и маркеры останутся теми же.

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

  1. Три сообщения Истина: точек три, февральский факт 11, мартовский 16.

  2. Переключение сглаживания в собственной копии меняет форму линий, но не исходную таблицу.

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

Наглядно разделены исходные измерения, маркеры, стиль линии и интерполяционное оформление.

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

  1. Не читайте значение между месяцами как подтверждённый ежедневный факт; в источнике таких данных нет.

  2. Отсутствующее значение не заменяйте нулём без бизнес-правила. Пропуск и нулевой факт означают разное.

  3. Натяжение имеет смысл при гладкой кривой. При режиме Нет изменение этого параметра не меняет линию.

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

Заполнить собственную диаграмму табличного документа и восстановить обновление при ошибке

Разбираем Обновление в его контексте обычного толстого клиента. В управляемых формах отключение этого свойства не является ускорением.

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

Учебное обычное приложение, толстый клиент Windows: собственная обычная форма внешней обработки. Это не модуль управляемой формы и не серверный вызов.

Подготовка

  1. Отдельная пустая учебная конфигурация для ОБЫЧНОГО приложения, толстый клиент Windows. Не переключайте рабочую конфигурацию и не запускайте урок в тонком клиенте.

  2. В собственной внешней обработке создайте обычную форму, добавьте кнопку УчебныйПример и назначьте её Действие одноимённой процедуре. Код — полный обработчик модуля формы, без &НаКлиенте.

  3. Документ и его рисунок создаются кодом заново. Макет типового отчёта, рабочий табличный документ и исходные файлы не используются.

Процедура УчебныйПример(Кнопка)
    Документ = Новый ТабличныйДокумент;
    Рисунок = Документ.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Диаграмма);
    Рисунок.Расположить(Документ.Область(1, 1, 20, 12));
    Диаграмма = Рисунок.Объект;
    Диаграмма.ТипДиаграммы = ТипДиаграммы.Гистограмма;
    ПрежнееОбновление = Диаграмма.Обновление;
    Диаграмма.Обновление = Ложь;
    Попытка
        Продажи = Диаграмма.УстановитьСерию("sales");
        Продажи.Текст = "Продано, шт.";
        Для Месяц = 1 По 3 Цикл
            Точка = Диаграмма.УстановитьТочку(Месяц);
            Точка.Текст = "Месяц " + Строка(Месяц);
            Диаграмма.УстановитьЗначение(Точка, Продажи, Месяц * 5);
        КонецЦикла;
        Диаграмма.ОбластьЗаголовка.Текст = "Собственные значения 5/10/15";
        Диаграмма.Обновление = ПрежнееОбновление;
    Исключение
        Диаграмма.Обновление = ПрежнееОбновление;
        ВызватьИсключение;
    КонецПопытки;
    Сообщить(Диаграмма.Обновление = ПрежнееОбновление);
    Сообщить(Диаграмма.Точки.Количество() = 3);
    Документ.Показать("Учебная диаграмма — без файла и печати");
КонецПроцедуры

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

  1. Коллекция рисунков нового табличного документа создаёт рисунок типа Диаграмма. Рисунок.Объект содержит именно диаграмму.

  2. Расположить принимает область ячеек, а не четыре отдельных числа. Используем собственную область 1,1–20,12.

  3. Сохраняем прежний режим Обновление, отключаем его на время пакетного заполнения и возвращаем при успехе и при исключении.

  4. Создаются три собственные точки 5/10/15. Показать открывает новый документ, но не вызывает печать или сохранение.

  5. Смысл свойства сверяется со справкой платформы; похожая работа с Обновление найдена в исходном отчёте УТ 10.3, но этот пример не вызывает его код.

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

  1. Два сообщения Истина: режим обновления восстановлен, точек три.

  2. Открытый собственный табличный документ показывает 5/10/15. Файл не создаётся и печать не запускается.

  3. Для отрицательного теста добавьте ВызватьИсключение внутри Попытка: перед повторным выбросом прежний режим всё равно восстанавливается.

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

Пакетное заполнение и восстановление состояния разобраны в подходящем клиентском контексте, без обещания ускорения управляемой формы.

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

  1. В управляемых формах установка Обновление не влияет на производительность. Используйте для них обычные уроки Диаграмма без этого приёма.

  2. Показать — интерактивная клиентская операция; серверный фрагмент не может открыть пользователю это окно.

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

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

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

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

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

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