Hello @alex_barylski,
As I don’t know how exactly you have configured the gantt chart, so I can miss some details.
Regarding this question:
I have a series of tasks which have duration ZERO - seems the chart wants to render those as ONE which throws off our daily balances and makes things appear buggy.`
If I understand you correctly, the task with “duration: 0” field is displayed as “1day” duration task in a chart, am I right?
This behavior occurs because the gantt is unable to calculate “end_date” for the task with a duration less than the “1” duration unit. It’s unexpected behavior, I sent it to our dev team and they will work on a fix, unfortunately, I can’t give you any ETA.
For now, if you want to have a task with “0” duration, you should store it’s data in the “start_date/end_date” format, so the “0” duration will be calculated correctly.
You can see it in the demo below(DATA tab, Task #1):
http://snippet.dhtmlx.com/5/d3e5c2766
Regarding the displaying duration in the grid:
You can format the displaying content of the column using the template
function, like in the following fragment:
gantt.config.columns=[
{name:"text", label:"Task name", tree:true, width:'*' },
{name:"start_date", label:"Start time", align: "center" },
{name:"duration", label:"Duration", align: "center", template:function(obj)
{
if (obj.duration != 0) return obj.duration
if (obj.duration === 0 ) return "NaN"
}},
{name:"add", label:"" }
];
When the duration of object is “0” (for example), the column cell will render “NaN” string.
Here is a demo:
http://snippet.dhtmlx.com/5/b19fe3312