PDA

View Full Version : Applescript problems


mattao
07-28-2006, 04:06 PM
Hi guys,

As an architect I got a lot of projects for omniplan :)

It includes of course classic project planning.

But I plan to implement some right click linking of 3D model parts directly from maya.

AND

I want to create a little script to RECORD the task I am doing on my computer.

Example: Foundation works: start at 8.00 today ended at 11.30

I am planning to do that through applescripts.

Actually I succeed in creating a task from a script, change it's name or duration.

But I failed in effectively changing it's "starting date"

The actual start seems to be modified in the task information panel but it do not update the calendar view.
And the modification is buggy, as soon as I want to go to the ressource panel i got the following alert:*** -[NSCFDate dayOfCommonEra]: selector not recognized [self = 0x52539c0] wich appear and appear again in such a way i got to force quit.

here the applescript I wrote:

property ATime : date
property BTime : date
property CDuration : 4
property ADur : 4
property BDur : 4

tell application "OmniPlan"
activate
set CTime to (current date)
set myDoc to front document
tell front document
-- set Myself to make new resource with properties {kind:person, efficiency:2, name:"Tom", cost per hour:200.0}
--set MyTask to make new task with properties {name:"Cure Cancer", starting date:CTime, duration:CDuration}
--assign MyTask to Myself
set ADur to duration of task "Cure Mat"
set duration of task "Cure Mat" to 12
set BDur to duration of task "Cure Mat"
set ATime to starting date of task "Cure Mat"
set BTime to current date
set starting date of task "Cure Mat" to BTime
set BTime to starting date of task "Cure Mat"
display dialog ADur & " " & BDur & return & ATime & return & BTime as string
end tell
end tell


Any clue?

PS: please ask if you want some more details on my goal. I am trying to do something like "timelog" do.

mattao
07-28-2006, 04:09 PM
I got this part of answer on an other thread:

Well, I don't know how to solve it, but the problem is that "current date" returns the wrong kind of date. (NSDate vs. NSCalendarDate)

I am actually working on it

mattao
07-28-2006, 04:52 PM
It appears that OS X doesn't map NSDate objects to AppleScript dates.

As far as I can see I will need to use some Cocoa Method

mattao
07-28-2006, 05:24 PM
Actually I switched to Xcode to get some cocoa code easily

Tom Bunch
07-28-2006, 05:35 PM
It appears that OS X doesn't map NSDate objects to AppleScript dates.

Yes, or, rather the default coercions don't map back and forth from AppleScript dates, which come to the app as NSDate, and NSCalendarDate, which we use in our object model. We have to add, oh, two lines of code, if we can only figure out which two.

-Tom

mattao
07-31-2006, 12:48 PM
Yes, or, rather the default coercions don't map back and forth from AppleScript dates, which come to the app as NSDate, and NSCalendarDate, which we use in our object model. We have to add, oh, two lines of code, if we can only figure out which two.

-Tom

Thank for your answer.

Do you think I should wait for you to fix this "two lines of code" or should I write in cocoa?

Greg Titus
07-31-2006, 06:59 PM
We'll write it. Your script should work as is, we just need to fix the bug on our end.

mattao
08-02-2006, 11:52 AM
thanks.

please warn me as soon as the update is done in order to give me the ability to go on my development...

:D

mattao
08-18-2006, 05:36 PM
Hi,

Should I expect something new in the next update?

Lizard
08-20-2006, 09:05 PM
Not beta 6, maybe in beta 7 (but no guarantees). We've been a little side-tracked by WWDC.

mattao
09-08-2006, 01:11 PM
Could you confimr me if beta 7 will contain this problem?

Thanks

Greg Titus
09-10-2006, 09:39 AM
Could you confimr me if beta 7 will contain this problem?


This bug is now fixed, and so with beta 7 you should no longer have any problems with AppleScripting dates.

mattao
09-19-2006, 04:45 PM
This bug is now fixed, and so with beta 7 you should no longer have any problems with AppleScripting dates.
Cool thanks

I am impatient!

mattao
09-28-2006, 07:23 PM
OK guys

My scripts actually work.
I will add some functionality soon I try to build up an aplication.

Thanks a lot for your help.

I will give news soon.

Lizard
09-28-2006, 09:27 PM
Thanks for the good news mattao, and let us know if you hit any more roadblocks.

mattao
11-27-2006, 01:49 PM
Hi guys and gals,

And a BIG HI to Lizard,

My script is evoluting I need to create group and affects task to it.

I can't succeed! Could you please help?

my script is:

property ATime : date
property BTime : date
property CDuration : 4
property ADur : 4
property BDur : 4


set CTime to (current date)

tell application "OmniPlan"
activate
tell document "planning"
set MyTask to make new task with properties {name:"Cure Mat"}
set MyTask to make new task with properties {name:"Bisoux", starting date:CTime, duration:CDuration}
set duration of task "Bisoux" to 1
set ATime to current date
set starting date of task "Bisoux" to ATime

set task type of task "Cure Mat" to group task
set parent task of task "Bisoux" to "Cure Mat"


end tell
end tell

:mad:

As you can probably see if you try it, it fail on the last instruction line. I got an error message:"OmniPlan got an error: Can't make "Cure Mat" into type task."

What to do?

mattao
11-27-2006, 04:07 PM
And in the dictionnary I read: "parent task (task, r/o) : the group that this task is in"

What the hell r,o mean?

Thanks

mattao
11-27-2006, 04:15 PM
OK r/o means read only!

Who said it's obvious?

:rolleyes: