ОбластьПостроенияДиаграммыГанта

Типы · GanttChartPlotArea

Используется для доступа к области построения диаграммы Ганта для настройки параметров оформления.

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

ОбластьПостроенияДиаграммыГанта (GanttChartPlotArea)

ОбластьПостроенияДиаграммыГанта (GanttChartPlotArea)

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

Свойства:
Верх (Top)
Заголовок (Title)
Лево (Left)
ЛинииСвязей (LinkLines)
ЛинииШкалы (ScaleLines)
Низ (Bottom)
ОтображатьДанные (ShowData)
ОтображатьТекстТочек (ShowPointsText)
Право (Right)
ПрозрачныйФон (Transparent)
РазмещениеТекста (TextPlacement)
Рамка (Border)
Расположение (Placement)
ЦветЗаГраницейПолногоИнтервала (OutboundWholeIntervalColor)
ЦветЛинийСвязей (LinkLinesColor)
ЦветРамки (BorderColor)
ЦветТекста (TextColor)
ЦветФона (BackColor)
ЦветШкалы (ScaleColor)
ШкалаВремени (TimeScale)
Шрифт (Font)

Описание:

Используется для доступа к области построения диаграммы Ганта для настройки параметров оформления.

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

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

См. также:
ДиаграммаГанта, свойство ОбластьПостроения

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

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

Описание изменено в версии 8.3.23.

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

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

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

Оформление разных областей задаётся независимо. Фон отмечает перерыв, а не уменьшает длительность полос и не запрещает действия.

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

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

Подготовка

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

  2. Не добавляйте вручную реквизит УчебныйГрафик и поле ПолеГанта. В событиях формы свяжите ПриСозданииНаСервере с одноимённой процедурой.

  3. Весь код вставьте на уровне модуля, сохраните EPF и откройте в тонком клиенте Windows. Каждый урок запускайте в отдельной копии формы.

  4. Две вымышленные задачи 14–16 сентября 2026 года создаются только в памяти. Рабочие заказы, расписания и печать не используются.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Новые = Новый Массив;
    Новые.Добавить(Новый РеквизитФормы("УчебныйГрафик", Новый ОписаниеТипов("ДиаграммаГанта")));
    ЭтаФорма.ИзменитьРеквизиты(Новые);
    График = Новый ДиаграммаГанта;
    График.Обновление = Ложь;
    График.АвтоОпределениеПолногоИнтервала = Ложь;
    График.УстановитьПолныйИнтервал(Дата(2026, 9, 14, 9), Дата(2026, 9, 16, 18));
    График.АвтоУстановкаТекстаСерий = Ложь;
    График.АвтоУстановкаТекстаТочек = Ложь;
    График.ОтображатьПустыеЗначения = Ложь;
    График.ОтображениеТекстаИнтервала = ОтображениеТекстаИнтервалаДиаграммыГанта.Отображать;
    График.ПрозрачныйФон = Ложь;
    График.ЦветФона = Новый Цвет(255, 255, 255);
    График.Окантовка = Истина;
    План = График.УстановитьСерию("plan");
    План.Текст = "Учебный план";
    План.Цвет = Новый Цвет(80, 145, 210);
    План.ПриоритетЦвета = Истина;
    Факт = График.УстановитьСерию("actual");
    Факт.Текст = "Учебный факт";
    Факт.Цвет = Новый Цвет(95, 165, 95);
    Факт.ПриоритетЦвета = Истина;
    Подготовка = График.УстановитьТочку("prepare");
    Подготовка.Текст = "Подготовка учебного комплекта";
    Сборка = График.УстановитьТочку("assemble");
    Сборка.Текст = "Сборка учебного комплекта";
    ПланПодготовки = График.ПолучитьЗначение(Подготовка, План);
    ПланПодготовки.Текст = "План подготовки";
    ПланПодготовки.Редактирование = Ложь;
    Первый = ПланПодготовки.Добавить();
    Первый.Начало = Дата(2026, 9, 14, 9);
    Первый.Конец = Дата(2026, 9, 14, 12);
    Первый.Текст = "Подготовка: 3 часа";
    Первый.Расшифровка = "training-prepare-plan";
    ПланСборки = График.ПолучитьЗначение(Сборка, План);
    ПланСборки.Текст = "План сборки";
    ПланСборки.Редактирование = Ложь;
    Второй = ПланСборки.Добавить();
    Второй.Начало = Дата(2026, 9, 14, 13);
    Второй.Конец = Дата(2026, 9, 15, 11);
    Второй.Текст = "Сборка учебного комплекта";
    Второй.Расшифровка = "training-assemble-plan";
    ФактПодготовки = График.ПолучитьЗначение(Подготовка, Факт);
    ФактПодготовки.Редактирование = Ложь;
    Фактический = ФактПодготовки.Добавить();
    Фактический.Начало = Дата(2026, 9, 14, 9);
    Фактический.Конец = Дата(2026, 9, 14, 13);
    Фактический.Текст = "Учебный факт: 4 часа";
    Заголовок = График.ОбластьЗаголовка;
    Заголовок.Текст = "Учебный план и факт — 14–16.09.2026";
    Область = График.ОбластьПостроения;
    Область.Заголовок = "Учебные задачи";
    Область.ОтображатьТекстТочек = ОтображениеВДиаграммеГанта.Отображать;
    Шкала = Область.ШкалаВремени;
    Пока Шкала.Элементы.Количество() > 0 Цикл
        Шкала.Элементы.Удалить(Шкала.Элементы.Получить(0));
    КонецЦикла;
    Дни = Шкала.Элементы.Добавить();
    Дни.Единица = ТипЕдиницыШкалыВремени.День;
    Дни.Кратность = 1;
    Дни.Формат = "ДФ=dd.MM";
    Заголовок.ПрозрачныйФон = Ложь;
    Заголовок.ЦветФона = Новый Цвет(235, 245, 255);
    Заголовок.ЦветТекста = Новый Цвет(30, 60, 90);
    Заголовок.ЦветРамки = Новый Цвет(100, 140, 180);
    Заголовок.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Одинарная, 1);
    Заголовок.Шрифт = Новый Шрифт("Arial", 12, Истина);
    Легенда = График.ОбластьЛегенды;
    Легенда.ПрозрачныйФон = Ложь;
    Легенда.ЦветФона = Новый Цвет(250, 250, 250);
    Легенда.ЦветТекста = Новый Цвет(35, 45, 55);
    Легенда.ЦветРамки = Новый Цвет(195, 205, 215);
    Легенда.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Одинарная, 1);
    Легенда.Шрифт = Новый Шрифт("Arial", 10);
    Легенда.Прокрутка = Истина;
    Область.ПрозрачныйФон = Ложь;
    Область.ЦветФона = Новый Цвет(255, 255, 255);
    Область.ЦветТекста = Новый Цвет(35, 45, 55);
    Область.ЦветРамки = Новый Цвет(195, 205, 215);
    Область.ЦветШкалы = Новый Цвет(240, 245, 250);
    Область.ЦветЗаГраницейПолногоИнтервала = Новый Цвет(235, 235, 235);
    Область.Шрифт = Новый Шрифт("Arial", 10);
    Фоны = График.ИнтервалыФона;
    Фоны.Очистить();
    Обед = Фоны.Добавить(Дата(2026, 9, 14, 12), Дата(2026, 9, 14, 13));
    Обед.Цвет = Новый Цвет(250, 240, 205);
    Проба = Фоны.Добавить(Дата(2026, 9, 14, 16), Дата(2026, 9, 14, 17));
    Фоны.Удалить(Проба);
    Сообщить(Фоны.Количество() = 1);
    Сообщить(Обед.Конец - Обед.Начало = 3600);

    График.Обновление = Истина;
    ЭтаФорма.УчебныйГрафик = График;
    Поле = Элементы.Добавить("ПолеГанта", Тип("ПолеФормы"));
    Поле.Вид = ВидПоляФормы.ПолеДиаграммыГанта;
    Поле.ПутьКДанным = "УчебныйГрафик";
    Поле.РастягиватьПоГоризонтали = Истина;
    Поле.РастягиватьПоВертикали = Истина;

    КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
    КомандаДействия.Действие = "УчебноеДействие";
    КомандаДействия.Заголовок = "Проверить учебное оформление";
    КомандаДействия.Подсказка = "Действие только над данными учебной формы";
    КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
    Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
    Кнопка.ИмяКоманды = КомандаДействия.Имя;
    Кнопка.Заголовок = КомандаДействия.Заголовок;
КонецПроцедуры

&НаКлиенте
Процедура УчебноеДействие(Команда)
    Сообщить("Откройте учебный график: два плана и один факт.");
КонецПроцедуры

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

  1. Заголовок, Легенда и ОбластьПостроения — разные объекты; цвет заголовка не меняет автоматически фон поля задач.

  2. Снимаем прозрачность нужных областей, затем задаём фон/текст/рамку/шрифт.

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

  4. Фон обеда создаётся в отдельной коллекции. Удаляем пробный фон, основной остаётся на один час.

  5. Интервалы рабочих задач не сокращаются от цвета: время и оформление независимы.

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

  1. Две проверки Истина при создании.

  2. Заголовок голубой, подписи контрастные, обед жёлтым фоном 12:00–13:00.

  3. План подготовки 3 часа, факт 4 часа остались прежними.

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

Есть целостный оформленный график без смешения фонов, полос времени и бизнес-правил.

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

  1. Цвет фона не заменяет календарь нерабочего времени.

  2. Для маленького окна часть легенды/подписей может потребовать прокрутки.

  3. Очистить фонов вызывается лишь на собственном новом графике.

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

Показать исполнителя и объём работы в колонках рядом с графиком

Колонки задаются всему графику, значения заполняются в конкретном пересечении задачи и серии. Имя колонки, заголовок и индекс различаются.

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

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

Подготовка

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

  2. Не добавляйте вручную реквизит УчебныйГрафик и поле ПолеГанта. В событиях формы свяжите ПриСозданииНаСервере с одноимённой процедурой.

  3. Весь код вставьте на уровне модуля, сохраните EPF и откройте в тонком клиенте Windows. Каждый урок запускайте в отдельной копии формы.

  4. Две вымышленные задачи 14–16 сентября 2026 года создаются только в памяти. Рабочие заказы, расписания и печать не используются.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Новые = Новый Массив;
    Новые.Добавить(Новый РеквизитФормы("УчебныйГрафик", Новый ОписаниеТипов("ДиаграммаГанта")));
    ЭтаФорма.ИзменитьРеквизиты(Новые);
    График = Новый ДиаграммаГанта;
    График.Обновление = Ложь;
    График.АвтоОпределениеПолногоИнтервала = Ложь;
    График.УстановитьПолныйИнтервал(Дата(2026, 9, 14, 9), Дата(2026, 9, 16, 18));
    График.АвтоУстановкаТекстаСерий = Ложь;
    График.АвтоУстановкаТекстаТочек = Ложь;
    График.ОтображатьПустыеЗначения = Ложь;
    График.ОтображениеТекстаИнтервала = ОтображениеТекстаИнтервалаДиаграммыГанта.Отображать;
    График.ПрозрачныйФон = Ложь;
    График.ЦветФона = Новый Цвет(255, 255, 255);
    График.Окантовка = Истина;
    План = График.УстановитьСерию("plan");
    План.Текст = "Учебный план";
    План.Цвет = Новый Цвет(80, 145, 210);
    План.ПриоритетЦвета = Истина;
    Факт = График.УстановитьСерию("actual");
    Факт.Текст = "Учебный факт";
    Факт.Цвет = Новый Цвет(95, 165, 95);
    Факт.ПриоритетЦвета = Истина;
    Подготовка = График.УстановитьТочку("prepare");
    Подготовка.Текст = "Подготовка учебного комплекта";
    Сборка = График.УстановитьТочку("assemble");
    Сборка.Текст = "Сборка учебного комплекта";
    ПланПодготовки = График.ПолучитьЗначение(Подготовка, План);
    ПланПодготовки.Текст = "План подготовки";
    ПланПодготовки.Редактирование = Ложь;
    Первый = ПланПодготовки.Добавить();
    Первый.Начало = Дата(2026, 9, 14, 9);
    Первый.Конец = Дата(2026, 9, 14, 12);
    Первый.Текст = "Подготовка: 3 часа";
    Первый.Расшифровка = "training-prepare-plan";
    ПланСборки = График.ПолучитьЗначение(Сборка, План);
    ПланСборки.Текст = "План сборки";
    ПланСборки.Редактирование = Ложь;
    Второй = ПланСборки.Добавить();
    Второй.Начало = Дата(2026, 9, 14, 13);
    Второй.Конец = Дата(2026, 9, 15, 11);
    Второй.Текст = "Сборка учебного комплекта";
    Второй.Расшифровка = "training-assemble-plan";
    ФактПодготовки = График.ПолучитьЗначение(Подготовка, Факт);
    ФактПодготовки.Редактирование = Ложь;
    Фактический = ФактПодготовки.Добавить();
    Фактический.Начало = Дата(2026, 9, 14, 9);
    Фактический.Конец = Дата(2026, 9, 14, 13);
    Фактический.Текст = "Учебный факт: 4 часа";
    Заголовок = График.ОбластьЗаголовка;
    Заголовок.Текст = "Учебный план и факт — 14–16.09.2026";
    Область = График.ОбластьПостроения;
    Область.Заголовок = "Учебные задачи";
    Область.ОтображатьТекстТочек = ОтображениеВДиаграммеГанта.Отображать;
    Шкала = Область.ШкалаВремени;
    Пока Шкала.Элементы.Количество() > 0 Цикл
        Шкала.Элементы.Удалить(Шкала.Элементы.Получить(0));
    КонецЦикла;
    Дни = Шкала.Элементы.Добавить();
    Дни.Единица = ТипЕдиницыШкалыВремени.День;
    Дни.Кратность = 1;
    Дни.Формат = "ДФ=dd.MM";
    Колонки = График.КолонкиДанных;
    Колонки.Очистить();
    Исполнитель = Колонки.Добавить("Исполнитель", Новый ОписаниеТипов("Строка"), "Учебный исполнитель");
    Часы = Колонки.Вставить(1, "Часы", Новый ОписаниеТипов("Число"), "Объём, ч");
    Область.ОтображатьДанные = ОтображениеВДиаграммеГанта.Отображать;
    Сообщить(Колонки.Найти("Исполнитель") = Исполнитель);
    Сообщить(Часы.ТипЗначения.СодержитТип(Тип("Число")));
    Сообщить(Часы.Имя = "Часы");
    Сообщить(Исполнитель.Заголовок = "Учебный исполнитель");
    Проба = Колонки.Добавить("Проба", Новый ОписаниеТипов("Строка"), "Удаляемая проба");
    Колонки.Сдвинуть(Проба, -1);
    Сообщить(Колонки.Индекс(Проба) = 1);
    Сообщить(Колонки.Получить(1) = Проба);
    Колонки.Удалить(Проба);
    ПланПодготовки.Данные.Установить(Колонки.Индекс(Исполнитель), "Учебный сотрудник");
    ПланПодготовки.Данные.Установить(Колонки.Индекс(Часы), 3);
    Сообщить(ПланПодготовки.Данные.Получить(Колонки.Индекс(Часы)) = 3);
    Сообщить(Колонки.Количество() = 2);

    График.Обновление = Истина;
    ЭтаФорма.УчебныйГрафик = График;
    Поле = Элементы.Добавить("ПолеГанта", Тип("ПолеФормы"));
    Поле.Вид = ВидПоляФормы.ПолеДиаграммыГанта;
    Поле.ПутьКДанным = "УчебныйГрафик";
    Поле.РастягиватьПоГоризонтали = Истина;
    Поле.РастягиватьПоВертикали = Истина;

    КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
    КомандаДействия.Действие = "УчебноеДействие";
    КомандаДействия.Заголовок = "Проверить колонки данных";
    КомандаДействия.Подсказка = "Действие только над данными учебной формы";
    КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
    Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
    Кнопка.ИмяКоманды = КомандаДействия.Имя;
    Кнопка.Заголовок = КомандаДействия.Заголовок;
КонецПроцедуры

&НаКлиенте
Процедура УчебноеДействие(Команда)
    Сообщить("Откройте учебный график: два плана и один факт.");
КонецПроцедуры

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

  1. КолонкиДанных принадлежит диаграмме целиком. Создаём строковый Исполнитель и числовой Часы.

  2. Имя используется для поиска, Заголовок — отображения, ТипЗначения — проверки типов.

  3. Пробная колонка вставляется в порядок и удаляется до записи данных, поэтому актуальные индексы берём заново.

  4. Данные принадлежит значению ПланПодготовки, то есть конкретной точке × серии.

  5. Установить/Получить работают с индексами колонок. Установка строк/часов не записывает рабочую задачу в базу.

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

  1. При создании восемь Истина.

  2. У подготовки в плане рядом с графиком Учебный сотрудник и 3.

  3. Всего две колонки, временной Пробы нет.

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

Показана полноценная таблица данных Ганта и все девять операций коллекции колонок.

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

  1. После перестановки колонок нельзя использовать старый индекс; получайте его через Индекс актуального объекта.

  2. Часы 3 — вручную заданный учебный объём, он не пересчитывается автоматически из полосы.

  3. Это собственные колонки диаграммы, не реквизиты документа в конфигурации.

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

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

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

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

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