Диаграмма Ганта .. + Галактика = Миф или реальность
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 1089
- Зарегистрирован: 04 сен 2008, 11:27
- Откуда: Москва
- Контактная информация:
Диаграмма Ганта .. + Галактика = Миф или реальность
Товарисчи .. если есть опыт или встречался какой либо мануал как подружить галактику с диаграммой ганта прошу отписатся ...
варианты любые кто что знает ... вплоть до импорта в Project ...
варианты любые кто что знает ... вплоть до импорта в Project ...
Время ведет!
-
- Местный житель
- Сообщения: 1357
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: СПб, ЭП-Аудит
- Контактная информация:
Есть стандартное решение выгрузки планов в МS Project.
Но мы сейчас идем другим путем, так как стандартные предложения не устраивают. Слишком громоздко и медленно.
А так:
1. Выгружаете в XLS, потом запускаете МS Project и загружаете данные из XLS через схему. (идем этим путем)
2. Выгружаете в XML, потом запускаете МS Project и загружаете данные из XML.
3. Формируете свою таблицу, куда кидаете данные. В МS Project проект формируете через ODBC.
4. Формируете отчет в FR, там есть диаграмма ганта простенькая.
Достаточно для простого примера выгрузить:
1. Порядклвый номер
2. Название
3. Начало
4. Окончание
5. Длительность
6. Предшественники (список номеров предшественников)
Но мы сейчас идем другим путем, так как стандартные предложения не устраивают. Слишком громоздко и медленно.
А так:
1. Выгружаете в XLS, потом запускаете МS Project и загружаете данные из XLS через схему. (идем этим путем)
2. Выгружаете в XML, потом запускаете МS Project и загружаете данные из XML.
3. Формируете свою таблицу, куда кидаете данные. В МS Project проект формируете через ODBC.
4. Формируете отчет в FR, там есть диаграмма ганта простенькая.
Достаточно для простого примера выгрузить:
1. Порядклвый номер
2. Название
3. Начало
4. Окончание
5. Длительность
6. Предшественники (список номеров предшественников)
-
- Местный житель
- Сообщения: 1357
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: СПб, ЭП-Аудит
- Контактная информация:
1. Сделай диаграмму простую в прожекте.
2. Сделай сохранение в XLS. Настрой схему и сохрани ее. Количество полей минимально(достаточно тех что я указал).
3. Сделай выгрузку из галактики чего либо в полученный "шаблон" XLS.
4. Открой в прожекте файл XLS при помощи ранее сохраненной схемы.
Пункт 4 можно запустить макросом из самого же отчета XLS.
2. Сделай сохранение в XLS. Настрой схему и сохрани ее. Количество полей минимально(достаточно тех что я указал).
3. Сделай выгрузку из галактики чего либо в полученный "шаблон" XLS.
4. Открой в прожекте файл XLS при помощи ранее сохраненной схемы.
Пункт 4 можно запустить макросом из самого же отчета XLS.
Еше диаграммы Ганта можно печатать в FastReport.
Когда выйду из отпуска опубликую пример (все осталось на работе)
А пока возможно поможет следующая информация:
FastReport рисует диаграммы с помошью набора компонент "TeeChart Std" котрый входит в поставку любой версии Delphi. Возможно в документации по Delphi или в документации по FastReport (http://fast-report.com/ru/documentation/) надете описание и примеры. Составить выгрузку из VIP не так уж и сложно.
Еще "TeeChart Std" это на самом деле урезанная версия набора компонент "TeeChart Pro", посмотрите на сайте производителя (http://www.steema.com/products/teechart ... rview.html) может быть там тоже найдете примеры и документацию с описанием принципов программирования диаграмм.
Когда выйду из отпуска опубликую пример (все осталось на работе)
А пока возможно поможет следующая информация:
FastReport рисует диаграммы с помошью набора компонент "TeeChart Std" котрый входит в поставку любой версии Delphi. Возможно в документации по Delphi или в документации по FastReport (http://fast-report.com/ru/documentation/) надете описание и примеры. Составить выгрузку из VIP не так уж и сложно.
Еще "TeeChart Std" это на самом деле урезанная версия набора компонент "TeeChart Pro", посмотрите на сайте производителя (http://www.steema.com/products/teechart ... rview.html) может быть там тоже найдете примеры и документацию с описанием принципов программирования диаграмм.
-
- Местный житель
- Сообщения: 1089
- Зарегистрирован: 04 сен 2008, 11:27
- Откуда: Москва
- Контактная информация:
а примером не поделитесь ?? или мануалом каким?? masygreen (сцабака) gmail.com ??Seybukan писал(а): Да но там уж очень простенькая диаграмма.
Не нашел например как заполняется процент выполнения (в том числе и показывается на графике), групповые задачи, вывести дополнительный текст в диаграмму (пояснения).
Время ведет!
-
- Местный житель
- Сообщения: 1357
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: СПб, ЭП-Аудит
- Контактная информация:
Я зашел в любой отчет FR.
вставил объект диаграмма
добавил из списка гантта
поставил параметр данные "фиксированные данные"
Заполнил через запятую по два параметра.
вот тебе и диаграмма
Чтобы посмотреть возможности диаграммы гантта в FR этого достаточно.
Реальный отчет будет отличаться лишь тем что данные будут из набора данных или бенда.
Мне как не программисту этого было достаточно.
Реальный пример должен выложить LaaLaa.
вставил объект диаграмма
добавил из списка гантта
поставил параметр данные "фиксированные данные"
Заполнил через запятую по два параметра.
вот тебе и диаграмма
Чтобы посмотреть возможности диаграммы гантта в FR этого достаточно.
Реальный отчет будет отличаться лишь тем что данные будут из набора данных или бенда.
Мне как не программисту этого было достаточно.
Реальный пример должен выложить LaaLaa.
-
- Местный житель
- Сообщения: 1089
- Зарегистрирован: 04 сен 2008, 11:27
- Откуда: Москва
- Контактная информация:
Может кому пригодится .. простейшая диаграмма .. интерфейс выбора договора - по ним строим диаграмму Ганта..
собираем .. далее запускаем делаем отчет сохраняем выходим. отчет прилетает в рабочий ресурсник .. переименовываем его ка надо.
Код: Выделить всё
const
cmPrintDoc = 3440;
End;
Interface SelectDogovor;
Show at(1,1,92,30);
var
_nRecDogovor:comp;
create view
as select *
from dogovor
bounds cVidDog = 281474976710671==dogovor.CVIDDOG(noindex)
bounds cDogovor = _nRecDogovor == dogovor.nrec
bounds cCalplan = dogovor.nrec == calplan.cdogovor and 0==calplan.directplat and 1==calplan.DIRECTMC(noindex);
/**********************************************************************/
screen DocScreen;
show at (,,,2);
buttons cmPrintDoc;
<<
<.Печать диараммы.>
>>
end
/**********************************************************************/
Browse B1;
show at (,3,,);
fields
dogovor.nodoc 'Номер':[7],Protect;
dogovor.ddoc 'Дата':[80],Protect;
end;
/**********************************************************************/
var
IsFirstRec : boolean;
counter : integer;
datastream DocDataStream
(
[DogovorNoDoc] Dogovor.noDoc; //элемент "нулевого" уровня
[DogovorDDoc] Dogovor.DDoc; //элемент "нулевого" уровня
table Calplan //элемент уровня table
(
[PosY] counter;
[NoDoc] Calplan.nodoc;
[DateStart] CALPLAN.DFROM;
[DateEnd] Calplan.dto;
);
)
/**********************************************************************/
handleevent table Calplan //обработчик dataset
cmPreProcess:
{
PushBounds(tbcDogovor);
PushBounds(tbcCalplan);
counter := 0;
}
cmOnProcess:
{
counter := counter + 1;
if( not NextVisual )
BreakProcess;
}
end;
/**********************************************************************/
handleevent // обработчик datastream
cmPreProcess:
StartNewVisual(vtRotateVisual,
vfTimer + vfBreak + vfConfirm,
'Формируется отчет', 0);
cmPostProcess:
StopVisual('', 0);
end;
end;
/**********************************************************************/
HandleEvent// обработка событий формы
/**********************************************************************/
cmInit:
{
PushBounds(tbcVidDog);
}
/**********************************************************************/
cmPrintDoc :
{
_nRecDogovor := dogovor.nrec;
RunFReport(DocDataStream, '', false);
PopBounds(tbcDogovor);
PopBounds(tbcCalplan);
};
/**********************************************************************/
cmDone:
{
CloseInterface(cmDefault);
stop;
}
end;
end.
Время ведет!
Пример опубликовал здесь: http://code.google.com/p/laalaa/source/ ... vip/FrGant