Диаграмма.РежимВыделения

Свойства · SelectionMode

Тип: РежимВыделенияДиаграммы. Содержит режим выделения диаграммы.

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

Диаграмма.РежимВыделения (Chart.SelectionMode)

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

РежимВыделения (SelectionMode)

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

Использование:
Чтение и запись.
Описание:
Тип: РежимВыделенияДиаграммы.
Содержит режим выделения диаграммы.
Доступность:

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

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

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

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

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

Сделать подписи чисел читаемыми и запретить редактирование учебных показателей мышью

Настраиваем подписи, рамку, контраст и формат нуля. Эти изменения оформления не пересчитывают данные план/факт.

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

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

Подготовка

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

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

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

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

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

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

  1. ВидПодписей=Значение показывает число без лишнего повторения серии и месяца. Разделитель нужен лишь для составных видов подписей.

  2. Формат ЧДЦ=0;ЧН=0 показывает целые штуки и явный ноль. Формат процентов подготовлен отдельно, но текущий вид процентов не выводит.

  3. Светлый непрозрачный фон и тёмный текст сохраняют контраст над столбцами. У подписей рамка видна, у всей диаграммы БезРамки — не видна.

  4. Отключаем анимацию для спокойного учебного сравнения и редактирование значений мышью для всей диаграммы и обеих серий.

  5. Выделение значения остаётся включённым. Числовой контроль мартовского факта подтверждает, что оформление не изменило 16.

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

  1. Два сравнения Истина. На форме читаются целые числовые подписи поверх светлых плашек.

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

  3. Для проверки нуля замените мартовский факт в собственной матрице на 0 и повторите урок.

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

Диаграмма стала читаемой без изменения числовой модели; редактирование явно отделено от выделения.

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

  1. НеИспользовать ограничивает интерактивное редактирование, но не программный УстановитьЗначение и не права учётной базы.

  2. ЦветРамки при типе БезРамки не виден; это не поломка настройки.

  3. Форматирование округляет представление, а не исходное значение. Для дробных показателей выберите другие ЧДЦ.

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

Выделить мартовское значение на диаграмме табличного документа

Методы рисунка работают с элементами диаграммы: точкой, серией или значением. Это не выделение самого рисунка в документе.

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

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

Подготовка

  1. Создайте новую внешнюю обработку с управляемой основной формой в учебной базе. Каждый урок — отдельная копия модуля.

  2. На форме создайте команду УчебныйПример и перетащите её на форму как кнопку. В действии команды выберите процедуру УчебныйПример(Команда).

  3. Вставьте весь модуль из примера: УчебныйПример, ПостроитьУчебныйДокумент и УчебнаяТаблица. Серверный вызов возвращает собственный табличный документ клиенту; директивы не удаляйте.

  4. Никакие макеты, документы и справочники конфигурации не нужны. Всё построение — в памяти, без печати, записи файлов и отправки в сервисы.

  5. Показ и ручную проверку выполняйте в тонком клиенте Windows 8.5.1.1343. Каждый урок — отдельная копия формы с пустым модулем до вставки.

&НаКлиенте
Процедура УчебныйПример(Команда)
    ТабДок = ПостроитьУчебныйДокумент();

    ТабДок.Показать("Учебный документ — без печати и сохранения");
КонецПроцедуры

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

    Диаграмма.РежимВыделения = РежимВыделенияДиаграммы.ВыделениеЗначений;
    Март = Диаграмма.УстановитьТочку("2026-03");
    МартФакт = Диаграмма.ПолучитьЗначение(Март, Факт);
    Выделение = Новый Массив;
    Выделение.Добавить(МартФакт);
    Рисунок.УстановитьВыделенныеЭлементы(Выделение);
    Выбранные = Рисунок.ПолучитьВыделенныеЭлементы();
    Сообщить(Выбранные.Количество() = 1);
    Сообщить(ТипЗнч(Выбранные.Получить(0)) = Тип("ЗначениеДиаграммы"));
    Сообщить(МартФакт.Значение = 16);
    Рисунок.УстановитьВыделенныеЭлементы(Новый Массив);
    Сообщить(Рисунок.ПолучитьВыделенныеЭлементы().Количество() = 0);
    ТабДок.ТолькоПросмотр = Истина;
    Возврат ТабДок;
КонецФункции

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

  1. Рисунок типа Диаграмма создаёт объект диаграммы. Расположить принимает область ячеек; это другой способ задания геометрии, не четыре числовых аргумента.

  2. В собственной матрице мартовский факт равен 16. ПолучитьЗначение возвращает объект ЗначениеДиаграммы для пары точка/серия.

  3. УстановитьВыделенныеЭлементы получает массив именно объектов диаграммы. Проверяем количество/тип, затем снимаем выделение пустым массивом.

  4. В финальном показе выделение снято намеренно. Для демонстрации выделенного марта временно не выполняйте последние две строки снятия/проверки.

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

  1. Четыре проверки дают Истина.

  2. В показе план/факт за три месяца: 10/8, 12/11, 15/16. Выделение элементов и изменение чисел — разные операции.

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

Управление выделением одного значения без редактирования данных диаграммы.

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

  1. Эти методы предназначены для рисунка типа Диаграмма, не для картинки или надписи.

  2. Массив неподходящих типов игнорируется платформой; не передавайте строку 2026-03 вместо объекта точки/значения.

  3. ВыделенныеОбласти табличного документа выделяют другой уровень объектов и здесь не используются.

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

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

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

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

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