Показать план и факт месяца во всплывающей подсказке

Учебные задачи

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

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

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

Подготовка

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

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

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

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

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

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

  1. Используем неизменённую собственную матрицу план/факт. Подсказка не загружает новые данные.

  2. ОтображатьПриНаведении определяет момент показа, ВсеЗначенияТочки — состав подсказки. Это разные настройки.

  3. Информационные линии наведения обозначают координаты курсора; они не создают постоянные объекты коллекций линий.

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

  5. Проверяем февраль 12/11, затем вручную наводим на его полосы и сравниваем содержимое подсказки.

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

  1. Два сообщения Истина. Месяцы на горизонтальной диаграмме расположены январь–февраль–март сверху вниз.

  2. При наведении на февраль подсказка позволяет сравнить план 12 и факт 11; линии наведения не меняют числа.

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

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

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

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

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

  3. Наличие подсказки или Расшифровка не означает зарегистрированный обработчик клика.

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

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

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

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

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