Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 16:03

Создание иерархии в Диаграмме Ганта

Автор Zuull, 08 авг 2013, 13:45

0 Пользователей и 1 гость просматривают эту тему.

Zuull

Добрый День, Уважаемые Программисты!

Я новичок в программировании (1С:Предприятие 8.2, учебная версия (8.2.13.219)), поэтому возникли сложности.
Результат работы нижеприведенного кода: Во вложении.

Вопрос: В Диаграмме Ганта (Во вложении) все отображается линейно, а нужно в иерархическом виде: т.е в "Обычные номера" обычные номера, а в "Номера люкс" номера люкс. Как привязаться к Родительской точке??? Что неправильного в написанном коде??? Подскажите пожалуйста :(, заранее Спасибо!


&НаКлиенте
Процедура Сформировать(Команда)

СформироватьНаСервере(ДиаграммаГанта);

КонецПроцедуры

&НаСервереБезКонтекста
Процедура СформироватьНаСервере(Диаграмма)


Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДляДиаграммыГантаФактическийПериодДействия.НомерВГостинице,
| ДляДиаграммыГантаФактическийПериодДействия.НомерВГостинице.ВидНомера,
| ДляДиаграммыГантаФактическийПериодДействия.ВидРасчета,
| ДляДиаграммыГантаФактическийПериодДействия.ПериодДействияНачало,
| ДляДиаграммыГантаФактическийПериодДействия.ПериодДействияКонец,
| ДляДиаграммыГантаФактическийПериодДействия.Регистратор,
| ДляДиаграммыГантаФактическийПериодДействия.Статус,
| ДляДиаграммыГантаФактическийПериодДействия.Постоялец
|ИЗ
| РегистрРасчета.ДляДиаграммыГанта.ФактическийПериодДействия КАК ДляДиаграммыГантаФактическийПериодДействия";


Результат = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = Результат.Выбрать();

Диаграмма.Очистить();
Диаграмма.Обновление = Ложь;

///////////////////////////////////////////////////////////

ТочкаРодитель = Диаграмма.УстановитьТочку("Обычные номера");
ТочкаРодитель1 = Диаграмма.УстановитьТочку("Люкс номера");

СерияРодитель = Диаграмма.УстановитьСерию("График работы обычных номеров");
СерияРодитель.Цвет = WebЦвета.Синий;

СерияРодитель1 = Диаграмма.УстановитьСерию("График работы номеров люкс");
СерияРодитель1.Цвет = WebЦвета.ВесеннеЗеленый;

ТекущееЗначениеРодитель = Диаграмма.ПолучитьЗначение(ТочкаРодитель,СерияРодитель);
ТекущееЗначениеРодитель1 = Диаграмма.ПолучитьЗначение(ТочкаРодитель1,СерияРодитель1);

///////////////////////////////////////////////////////////

ТекущийИнтервал = ТекущееЗначениеРодитель.Добавить();
ТекущийИнтервал.Начало = НачалоМесяца(ТекущаяДата());
ТекущийИнтервал.Конец = КонецМесяца(ТекущаяДата());


ТекущийИнтервал1 = ТекущееЗначениеРодитель1.Добавить();
ТекущийИнтервал1.Начало = НачалоМесяца(ТекущаяДата());
ТекущийИнтервал1.Конец = КонецМесяца(ТекущаяДата());

//////////////////////////////////////////////////////////

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

Если ВыборкаДетальныеЗаписи.НомерВГостинице.ВидНомера = Перечисления.ВидНомера.Обычный Тогда

ТекущаяТочка = Диаграмма.УстановитьТочку(ВыборкаДетальныеЗаписи.НомерВГостинице,ТекущееЗначениеРодитель);
ТекущаяСерия = Диаграмма.УстановитьСерию(ВыборкаДетальныеЗаписи.ВидРасчета);

ТекущееЗначение = Диаграмма.ПолучитьЗначение(ТекущаяТочка,ТекущаяСерия);


ТекущийИнтервал2 = ТекущееЗначение.Добавить();
ТекущийИнтервал2.Начало = ВыборкаДетальныеЗаписи.ПериодДействияНачало;
ТекущийИнтервал2.Конец = ВыборкаДетальныеЗаписи.ПериодДействияКонец;
ТекущийИнтервал2.Текст = ВыборкаДетальныеЗаписи.Постоялец;
ТекущийИнтервал2.Расшифровка = ВыборкаДетальныеЗаписи.Регистратор;

Иначе

ТекущаяТочка1 = Диаграмма.УстановитьТочку(ВыборкаДетальныеЗаписи.НомерВГостинице,ТекущееЗначениеРодитель1);
ТекущаяСерия1 = Диаграмма.УстановитьСерию(ВыборкаДетальныеЗаписи.ВидРасчета);
ТекущееЗначение1 = Диаграмма.ПолучитьЗначение(ТекущаяТочка1,ТекущаяСерия1);


ТекущийИнтервал3 = ТекущееЗначение1.Добавить();
ТекущийИнтервал3.Начало = ВыборкаДетальныеЗаписи.ПериодДействияНачало;
ТекущийИнтервал3.Конец = ВыборкаДетальныеЗаписи.ПериодДействияКонец;
ТекущийИнтервал3.Текст = ВыборкаДетальныеЗаписи.Постоялец;
ТекущийИнтервал3.Расшифровка = ВыборкаДетальныеЗаписи.Регистратор;

КонецЕсли;

КонецЦикла;

Диаграмма.Обновление = Истина;


КонецПроцедуры

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск