|
Красота диаграммы Ганта | ☑ | ||
---|---|---|---|---|
0
Chuvaschow
24.11.15
✎
10:10
|
Здравствуйте, Уважаемые форумчане!
Требуется Ваша помощь в освоении такой штуки, как диаграмма Ганта. Есть такой код: &НаКлиенте Процедура Сформировать(Команда) СформироватьНаСервере(); КонецПроцедуры &НаСервере Процедура СформироватьНаСервере() ДГ.Очистить(); ДГ.Обновление = Ложь; Запрос = Новый Запрос; Запрос.УстановитьПараметр("Проект",Элементы.Проект); Запрос.Текст = "ВЫБРАТЬ | ОстаткиРаботОстатки.Проект, | ОстаткиРаботОстатки.Работа, | ОстаткиРаботОстатки.Артикул, | ОстаткиРаботОстатки.ЕдИзм, | ОстаткиРаботОстатки.Смета, | ОстаткиРаботОстатки.ДатаОкончания, | ОстаткиРаботОстатки.НачалоПроекта, | ОстаткиРаботОстатки.ОкончаниеПроекта, | ОстаткиРаботОстатки.ДатаНачала, | ОстаткиРаботОстатки.КоличествоОстаток, | ОстаткиРаботОстатки.Смета.Номер |ИЗ | РегистрНакопления.ОстаткиРабот.Остатки КАК ОстаткиРаботОстатки"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл //Точка = ДГ.УстановитьТочку("Локальная смета" + " " + Выборка.СметаНомер); ТочкаРабота = ДГ.УстановитьТочку(Выборка.Работа); Серия = ДГ.УстановитьСерию("Работа"); Значение = ДГ.ПолучитьЗначение(ТочкаРабота,Серия); Интервал = Значение.Добавить(); Интервал.Начало = Выборка.ДатаНачала; Интервал.Конец = Выборка.ДатаОкончания; КонецЦикла; //ДГ.АвтоОпределениеПолногоИнтервала = Ложь; //ДГ.УстановитьПолныйИнтервал(Выборка.НачалоПроекта, Выборка.ОкончаниеПроекта); ДГ.Анимация = АнимацияДиаграммы.Использовать; ДГ.ПоддержкаМасштаба = ПоддержкаМасштабаДиаграммыГанта.Авто; ДГ.Обновление = Истина; КонецПроцедуры; И выглядит все это так http://s020.radikal.ru/i722/1511/7a/288e329f3c11.jpg Что хотелось бы получить на выходе: 1. Иерархию. То есть Локальная смета с плюсом (раскрывается) под ней все работы, затем следующая локальная смета и так далее. 2. В шкале времени, выше чисел получить месяц. В гугле крайне мало описаний по поводу Ганта. Лишь стандартные примеры. |
|||
1
Cyberhawk
24.11.15
✎
10:12
|
Штатная довольно негибкая, рекомендую рисовать полностью свою ДГ
|
|||
2
Лефмихалыч
24.11.15
✎
10:14
|
(0) этого многим бы хотелось, но приходится потреблять, что дают :)
|
|||
3
SilentMan
24.11.15
✎
10:42
|
(0) Вот тут на картинках похоже на то, что ты хочешь: http://its.1c.ru/db/v837doc#bookmark:dev:TI000001693
|
|||
4
Cyberhawk
24.11.15
✎
10:49
|
Говорю еще раз: пили свой движок ДГ и будет тебе счастье.
Например, вот такое: https://goo.gl/e3fpN5 |
|||
5
Юрий Лазаренко
24.11.15
✎
10:53
|
(0) Мы на html делали, там можно реализовать и разворачивание уровней, и перетаскивание, и прочие плюшки.
|
|||
6
Chuvaschow
24.11.15
✎
11:23
|
Такое не осилю....
|
|||
7
Chuvaschow
24.11.15
✎
12:15
|
Ну хотя бы иерархию?
|
|||
8
Chuvaschow
24.11.15
✎
14:20
|
Пока Выборка.Следующий() Цикл
Точка = ДГ.УстановитьТочку(Выборка.Смета); ДГ.РазвернутьТочку(Точка,Истина); ТочкаРабота = Точка.Точки.Добавить(); ТочкаРабота = ДГ.УстановитьТочку(Выборка.Работа); Серия = ДГ.УстановитьСерию("Работа"); Значение = ДГ.ПолучитьЗначение(ТочкаРабота,Серия); Интервал = Значение.Добавить(); Интервал.Начало = Выборка.ДатаНачала; Интервал.Конец = Выборка.ДатаОкончания; КонецЦикла; Так получается слишком глубоко... |
|||
9
Chuvaschow
24.11.15
✎
15:03
|
||||
10
Cyberhawk
24.11.15
✎
15:07
|
Ну раз глубоко, то накладывай условие при обходе выборки (в цикле)
|
|||
11
Chuvaschow
25.11.15
✎
10:49
|
Подскажите, как поправить запрос/цикл чтобы получилась структура вида:
Локальная смета 1 Работа 1 Работа 2 Работа ... Локальная смета 2 Работа 1 Работа 2 Работа ... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |