| 
 
  Авторизация
                    
                    
                    
                        
                      
                    На сайте: 
 |  | Содержание 
 Как обработать интерактивное изменение интервалов диаграммы Ганта?
 
 
 
 // Получить значение диаграммы - дежурство Петрова на вахте. Значение = ДГ.ПолучитьЗначение(ТочкаП, СерияНаВахте);
 // Разрешить интерактивное редактирование интервалов.
 Значение.Редактирование = Истина;
 // Получить значение диаграммы - дежурство Петрова в центральном офисе.
 Значение = ДГ.ПолучитьЗначение(ТочкаП, СерияВЦентре);
 Значение.Редактирование = Истина;
 // Получить значение диаграммы - дежурство Сидорова на вахте.
 Значение = ДГ.ПолучитьЗначение(ТочкаС, СерияНаВахте);
 Значение.Редактирование = Истина;
 // Получить значение диаграммы - дежурство Сидорова в центральном офисе.
 Значение = ДГ.ПолучитьЗначение(ТочкаС, СерияВЦентре);
 Значение.Редактирование = Истина;
 Процедура ДГПриОкончанииРедактированияИнтервала(Элемент, Интервал, Отмена)
 // Сгладить погрешности интерактивного перетаскивания -
 // округлить интервал по границе дня.
 Интервал.Начало = Интервал.Начало + 3600 * 12;
 Интервал.Начало = НачалоДня(Интервал.Начало);
 Интервал.Конец = Интервал.Конец + 3600 * 12;
 Интервал.Конец = НачалоДня(Интервал.Конец);
 // Скорректировать цвета связей.
 Для Каждого Связь Из Интервал Цикл
 Если Связь.Начало.Конец <= Связь.Конец.Начало Тогда
 Связь.Цвет = WebЦвета.Синий;
 Иначе // есть пересечение интервалов - выделить красным
 Связь.Цвет = WebЦвета.Красный;
 КонецЕсли;
 КонецЦикла;
 КонецПроцедуры
 
 |