Имя: Пароль:
1C
1С v8
Диаграмма Ганта, иерархия и ссылка на документ УТ 10.3
0 sora_tm
 
04.07.13
09:52
Добрый день! Мало материала в сети как работать с этими диаграммами, не могу понять, как сделать раскрывающимся списком график

Ответственный
____+__
_______Заказ 44444
_______Заказ 55555

Получается только списком

Ответственный
Заказ 44444
Заказ 55555

И еще, как сделать активным ссылку на заказ?

Код:

Процедура КнопкаСформироватьНажатие(Кнопка)
   ДГ = ЭлементыФормы.ДиаграммаГанта1;
   ДГ.АвтоОпределениеПолногоИнтервала = Истина;
   ДГ.Очистить();
   
   Запрос = Новый Запрос;
   
   Запрос.Текст ="ВЫБРАТЬ
                 |    ЗаказПокупателя.Дата,
                 |    ЗаказПокупателя.ДатаОтгрузки,
                 |    ЗаказПокупателя.Ответственный,
                 |    ЗаказПокупателя.Ссылка,
                 |    ЗаказПокупателя.Подразделение
                 |ИЗ
                 |    Документ.ЗаказПокупателя КАК ЗаказПокупателя
                 |ГДЕ
                 |    ЗаказПокупателя.Дата МЕЖДУ &Дата И &Дата2
                 |    И ЗаказПокупателя.Подразделение = &Подразделение
                 |
                 |СГРУППИРОВАТЬ ПО
                 |    ЗаказПокупателя.Дата,
                 |    ЗаказПокупателя.ДатаОтгрузки,
                 |    ЗаказПокупателя.Ответственный,
                 |    ЗаказПокупателя.Ссылка";
   
   Запрос.УстановитьПараметр("Дата", НачалоПериода);
   Запрос.УстановитьПараметр("Дата2", КонецПериода);
   Запрос.УстановитьПараметр("Подразделение", Подразделение);
   Результат = Запрос.Выполнить();    
   Выборка = Результат.Выбрать();

   ДГ.ОбластьЗаголовка.Текст = "График заказов";
   
   
   Пока Выборка.Следующий() Цикл
   Точка = ДГ.УстановитьТочку(Выборка.Ответственный);
   Точка = ДГ.УстановитьТочку(Выборка.Ссылка);

   Серия = ДГ.УстановитьСерию("Срок изготовления");
   
   ЗначениеПериод = ДГ.ПолучитьЗначение(Точка, Серия);
   Интервал = ЗначениеПериод.Добавить();
   Интервал.Начало = Выборка.Дата;
   Интервал.Конец  = Выборка.ДатаОтгрузки;
   
   КонецЦикла;

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


Спасибо!
1 sora_tm
 
04.07.13
10:51
Может есть у кого пример посмотреть...
2 ОбычныйЧеловек
 
04.07.13
10:56
Ты по человечески объясни чего хочешь... Ни первый ни второй вопрос понять не возможно...
3 sora_tm
 
04.07.13
11:26
(2) Диаграмма Ганта, идут строки

+ Ответственный 1
+ Ответственный 2
+ Ответственный 3

Когда щелкаем по + разворачивается список заказов

+ Ответственный 1
_____Заказ 1
_____Заказ 2
_____Заказ 3

+ Ответственный 2
_____Заказ 3
_____Заказ 4
_____Заказ 5


Ну и сами периоды справа от заказов.

Когда два раза щелкаем по заказу, открывается сам заказ.

Как-то так.
4 sora_tm
 
04.07.13
15:44
up!
5 Широкий
 
04.07.13
15:49
МояПодчТочка=МояТочка.Точки.Добавить();
МояПодчСерия=МояСерия.Серии.Добавить();
...
6 sora_tm
 
04.07.13
16:26
(5) Вот такая фигня выходит :(

http://itmages.ru/image/view/1106239/22c64c50


Процедура КнопкаСформироватьНажатие(Кнопка)
   ДГ = ЭлементыФормы.ДиаграммаГанта1;
   ДГ.АвтоОпределениеПолногоИнтервала = Истина;
   ДГ.Очистить();
   
   Запрос = Новый Запрос;
   
   Запрос.Текст ="ВЫБРАТЬ
                 |    ЗаказПокупателя.Дата,
                 |    ЗаказПокупателя.ДатаОтгрузки,
                 |    ЗаказПокупателя.Ответственный,
                 |    ЗаказПокупателя.Ссылка,
                 |    ЗаказПокупателя.Подразделение,
                 |    ЗаказПокупателя.Контрагент
                 |ИЗ
                 |    Документ.ЗаказПокупателя КАК ЗаказПокупателя
                 |ГДЕ
                 |    ЗаказПокупателя.Дата МЕЖДУ &Дата И &Дата2
                 |    И ЗаказПокупателя.Подразделение = &Подразделение
                 |
                 |СГРУППИРОВАТЬ ПО
                 |    ЗаказПокупателя.Ответственный,
                 |    ЗаказПокупателя.Дата,
                 |    ЗаказПокупателя.ДатаОтгрузки,
                 |    ЗаказПокупателя.Ссылка,
                 |    ЗаказПокупателя.Подразделение,
                 |    ЗаказПокупателя.Контрагент";
   
   Запрос.УстановитьПараметр("Дата", НачалоПериода);
   Запрос.УстановитьПараметр("Дата2", КонецПериода);
   Запрос.УстановитьПараметр("Подразделение", Подразделение);
   Результат = Запрос.Выполнить();    
   Выборка = Результат.Выбрать();
   
   ДГ.ОбластьЗаголовка.Текст = "График заказов";
   
   Точка=ДГ.Точки.Добавить();
   МояПодчТочка=Точка.Точки.Добавить();
   Серия = ДГ.УстановитьСерию("Срок изготовления");
   
   Пока Выборка.Следующий() Цикл
   
   Точка = ДГ.УстановитьТочку(Выборка.Ответственный);    

   МояПодчТочка = ДГ.УстановитьТочку(Выборка.Ссылка);

   ЗначениеПериод = ДГ.ПолучитьЗначение(Точка, Серия);
   
   Интервал = ЗначениеПериод.Добавить();
   Интервал.Начало = Выборка.Дата;
   Интервал.Конец  = Выборка.ДатаОтгрузки;
   Интервал.Текст = Выборка.Контрагент.Наименование;
   
   КонецЦикла;
7 sora_tm
 
05.07.13
10:04
up
8 sora_tm
 
08.07.13
12:31
ап
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.