Найти в Дзене
Блог 1С программиста

Пример работы с Диаграммой Ганта в 1С

Материал с сайта myblog-1c.ru. Диаграмма Ганта в 1С представлена в виде объекта встроенного языка. Используется для отражения длительности и последовательности процессов, представленных в виде горизонтальных линий расположенных на оси времени. Более подробно про «диаграмму Ганта» можно почитать на ИТС. Там же доступна для скачивания демонстрационная конфигурация «Диаграммы», в которой можно посмотреть примеры и по другим диаграммам. Обработку с примером, который рассматривается в статье, можно скачать по ссылке. Рассмотрим основные возможности «Диаграммы Ганта» на примере построения «Графика отпусков по сотрудникам». Предположим нам нужно получить «Диаграмму» такого вида: Для этого создадим обработку, добавим реквизит с типом «Диаграмма Ганта» и перенесем его на форму. Видим, что по умолчанию поле диаграммы состоит из Таблицы с «Точками» и графической областью с интервалами. Таблица поддерживает «Иерархию» и при необходимости ее можно скрыть, установив свойство ПоложениеТаблицы = Нет д
Оглавление

Материал с сайта myblog-1c.ru.

Диаграмма Ганта в 1С представлена в виде объекта встроенного языка. Используется для отражения длительности и последовательности процессов, представленных в виде горизонтальных линий расположенных на оси времени.

Более подробно про «диаграмму Ганта» можно почитать на ИТС. Там же доступна для скачивания демонстрационная конфигурация «Диаграммы», в которой можно посмотреть примеры и по другим диаграммам.

Обработку с примером, который рассматривается в статье, можно скачать по ссылке.

Постановка задачи

Рассмотрим основные возможности «Диаграммы Ганта» на примере построения «Графика отпусков по сотрудникам».

Предположим нам нужно получить «Диаграмму» такого вида:

-2

Для этого создадим обработку, добавим реквизит с типом «Диаграмма Ганта» и перенесем его на форму.

-3

Видим, что по умолчанию поле диаграммы состоит из Таблицы с «Точками» и графической областью с интервалами. Таблица поддерживает «Иерархию» и при необходимости ее можно скрыть, установив свойство ПоложениеТаблицы = Нет для элемента формы ДиаграммаГанта. С версии платформы 3.1.21 кроме Точек и Текста в таблицу можно добавлять свои реквизиты.

Заполнение диаграммы данными

По условию задачи Точками будут сотрудники, для демонстрации иерархии сделаем их вложенными в Организацию, Серия — это «Отпуск», Интервалы — продолжительность отпуска.

Получим исходные данные запросом:

-4

-5

Обойдем полученную выборку по группировкам и установим данные в Диаграмму Ганта:

-6

Печать и сохранение в файл «Диаграммы Ганта»

Для объекта с типом «Диаграмма Ганта» по умолчанию возможность сохранения в файл и печать не доступна. Для того что бы реализовать эту задачу необходимо перенести ее в «Табличный документ», например таким образом:

-7

Так же пример «Печати» реализован в демонстрационной конфигурации 1С доступной для скачивания с ИТС по ссылке в начале статьи.

Тут нужно учесть, что при сохранении в Excel или выводе на печать «диаграмма Ганта» представляет из себя «Рисунок», как показала практика, для пользователей может быть неожиданным, что у нее нельзя поменять ширину колонки или вписать информацию в ячейку привычным образом.

Где находятся настройки области построения?

Для того, что бы перейти в настройки области построения и в частности шкалы времени, необходимо перейти в «Свойство» диаграммы -> Настройки -> перейти в «Свойства» области построения

-8
-9

Работа с фоном диаграммы Ганта

В настройках области построения, есть возможность выделить фон другим цветом, указав нужные интервалы, например выделим майские праздники и выходные:

-10

Тоже самое можно сделать программно:

-11

В диаграмме выводиться лишний день / месяц / год

По умолчанию полный интервал времени определяется автоматически, иногда он захватывает лишние пустые периоды, избежать этого можно таким образом:

-12

Задваиваются «Точки» при нескольких «Сериях»

На стандартных настройках при построении диаграммы по нескольким «Сериям» мы получаем задвоение «Точек», избежать этого можно установив ПоложениеТаблицы = Нет для элемента формы ДиаграммаГанта

-13

Или программным путем:

-14