甘特图属于只读子表,所以要实现甘特图您需要有一个子单据(不是子表,而是实实在在的子单据所有的只读子表都先要有子单据才行)。
在软件系统中它并非是必须的,但是它却可以以一种比较直观的方式显示项目进度状态,要使用“甘特图”必须满足如下几个条件:
1、主表单(比如我们的项目表单)必须要有“开始时间”和“完成时间”字段,用于确定整体图表的时间范围;
2、子表单(甘特图取数对应的子表单,比如项目任务)也必须要有“开始时间”和“完成时间”字段,用于确定单个任务的时间范围;
如下效果图:
所以我们的主表单(如下图的“测试项目”表单)设计如下,有启动时间,结项时间:
子表单“项目任务”设计如下,有开始时间、完成时间:
“甘特图”控件在开发平台“工具箱\其他控件”下:
增加好甘特图后设置属性如下:
列设置:点击右侧的按钮后进入“设置列表字段”页面。默认会生成一些样本列如下图中“红框部分”和“蓝框部分”,默认的这些都是没有意义的列,因为他们没有“数据库字段”属性。
1、您可以删除默认的前面红框的三列(任务名称,执行者,截止时间)然后重新从左侧树中勾选想要的列后用下方工具条中的“列左移”按钮把列移动到前方。
2、保留后面蓝框中的列(主要是为了在开发平台中能一目了然看清楚这是甘特图列表);
删除前面红框中的列并重新从左侧树中勾选所需要的列后,效果如下图,自己勾选的列都是有“数据库字段”属性值的。
后面的日期列保留即可,不需要去删除。
状态颜色:状态颜色设置的是每个任务的进度条的颜色,点击右侧的按钮后,进入“单据列表状态颜色设置”窗口,如下图:
点击“条件”列的单元格设置条件,点击前景色设置满足此条件则显示的进度条颜色,如下图“条件编辑”窗口中,可选的字段名必须是上面“列设置”中加入表格的字段,这里我们设置“状态 = 正常”则显示进度条颜色为蓝色:
图表最小日期:由于是取主表字段所以需要用到E6取数脚本,我们例子设置为GetValue("__StartDate__"),表示取主表上的“启动时间”字段的值;
图表最大日期:由于是取主表字段所以需要用到E6取数脚本,我们例子设置为GetValue("__EndDate__"),表示取主表上的“结项时间”字段的值;
如下图红框及箭头所指:
主表的启动时间是2020-10-09,则在图表上显示的最小日期为2020-10-09;
主表的结项时间是2020-11-11,则在图表上显示的最大日期为2020-11-11;
行最小日期列:对应项目任务表单上的“开始时间”,我们这里设置为__StartDate__;
行最大日期列:对应项目任务表单上的“完成时间”,,我们这里设置为__EndDate__;
行完成率列:这应该是一个百分比列,如果任务表单上有则填字段名,表示任务完成百分比;
进度条颜色:表示甘特图上默认的任务进度条颜色;
设置完成后保存发布即可!