Yeah, you can write an Applescript that will fill in the column on command (it will
not update dynamically, and you don't want to be editing one of the cells when you run the script). Put the script in the OmniOutliner scripts folder and the Customize Toolbar command will allow you to put a button for it in your toolbar. I don't recall if the ability to make a document-specific toolbar is a OO Pro feature, but if it isn't, that would be even better.
Here's a sample:
Code:
tell application "OmniOutliner"
tell front document
set currentDate to (current date)
if title of every column does not contain {"Date due"} then
display dialog "You need columns named 'Date due' and 'Days overdue' for this script" buttons "Cancel" default button 1
end if
if title of every column does not contain {"Days overdue"} then
display dialog "You need columns named 'Date due' and 'Days overdue' for this script" buttons "Cancel" default button 1
end if
repeat with myRow in every row
if (state of myRow is unchecked) then
set rowDueDate to value of cell "Date due" of myRow
if (rowDueDate is not missing value) then
if (currentDate > rowDueDate) then
set daysOverdue to (currentDate - rowDueDate) / days
else
set daysOverdue to missing value
end if
set value of cell "Days overdue" of myRow to daysOverdue
end if
end if
end repeat
end tell
end tell
"Date due" should be a column of type Date, and "Days overdue" should be a column of type Number, and both allow some variation in formatting which you should adjust to suit.