Пример использования диаграммы Ганта
☑
0
jcage
20.06.07
✎
13:59
Сабж.
Поиск не работает(
1
RomaH
naïve
20.06.07
✎
14:06
абалдеть - посмотри типовые, менеджер контактов
как там график встречь организован
2
ХочуСтать1 Сником
20.06.07
✎
14:12
Что конкретно надо...пример реализации построения Ганта.
3
jcage
20.06.07
✎
14:15
(1) у меня типовых под рукой нет. Поэтому и спрашиваю.
4
ХочуСтать1 Сником
20.06.07
✎
14:18
Вот юзай...делал по примеру Радченко...
Процедура КнопкаСформироватьНажатие(Кнопка)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НачисленияФактическийПериодДействия.Сотрудник,
| НачисленияФактическийПериодДействия.ВидРасчета,
| НачисленияФактическийПериодДействия.ПериодДействияНачало,
| НачисленияФактическийПериодДействия.ПериодДействияКонец,
| НачисленияФактическийПериодДействия.Результат,
| НачисленияФактическийПериодДействия.Регистратор,
| НачисленияФактическийПериодДействия.Регистратор.Представление
|ИЗ
| РегистрРасчета.Начисления.ФактическийПериодДействия КАК НачисленияФактическийПериодДействия";
ВыборкаРезультата = Запрос.Выполнить().Выбрать();
Диаграмма = ЭлементыФормы.ДиаграммаГанта;
// Запретить обновление диаграммы
Диаграмма.Обновление = Ложь;
Диаграмма.Очистить();
Диаграмма.ОтображатьЗаголовок = Ложь;
//заполнить диаграмму
Пока ВыборкаРезультата.Следующий() цикл
//получить серию, точку н значение для них
ТекущаяСерия=Диаграмма.УстановитьСерию(ВыборкаРезультата.ВидРасчета,ВыборкаРезультата.ВидРасчета);
ТекущаяТочка = Диаграмма.УстановитьТочку(ВыборкаРезультата.Сотрудник, ВыборкаРезультата.Сотрудник);
ТекущееЗначение = Диаграмма.ПолучитьЗначение(ТекущаяТочка,ТекущаяСерия);
//создать нужные нам интервалы в значении
ТекущийИнтервал = ТекущееЗначение.Добавить();
ТекущийИнтервал.Начало = ВыборкаРезультата.ПериодДействияНачало;
ТекущийИнтервал.Конец = ВыборкаРезультата.ПериодДействияКонец;
ТекущийИнтервал.Текст = ВыборкаРезультата.РегистраторПредставление;
ТекущийИнтервал.Расшифровка = ВыборкаРезультата.Регистратор;
КонецЦикла;
//раскрасить серии своими цветами
Для Каждого Серия из Диаграмма.Серии цикл
Если Серия.Значение = ПланыВидовРасчета.ОсновныеНачисления.Оклад тогда
Серия.Цвет = WEBЦвета.ГолубойСоСтальнымОттенком;
иначеЕсли Серия.Значение = ПланыВидовРасчета.ОсновныеНачисления.Премия тогда
Серия.Цвет = WEBЦвета.Зеленый;
иначеЕсли Серия.Значение = ПланыВидовРасчета.ОсновныеНачисления.Невыход тогда
Серия.Цвет = WEBЦвета.Красный;
КонецЕсли;
КонецЦикла;
//разрешить обновление диаграммы
Диаграмма.Обновление = Истина;
КонецПроцедуры
5
jcage
20.06.07
✎
14:38
(0) Спасибо
6
jcage
20.06.07
✎
14:41
(5) к (4) :))))))))))
7
jcage
20.06.07
✎
14:55
а можно ли вывести в конкретном интервале текст?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший