Jump to content

QuickBooks SDK COM Start...


 Share

Recommended Posts

@Everyone,

I had a project a few years ago that required me to use the QuickBooks SDK, and their COM wrappers to manipulate data and the QB interface. I didn't make it very far before I was taken off the project and told to move in another direction as that was put on hold. I recently had someone request the work that I had done, or see if I had completed it so everyone thank junkshalom for bringing it to my attention that I never released the source that I did work on. I would like to release this out to the community and if anyone makes updates, or gets something more working then great. For now I still don't have a new project that has taken me back to this code, but wanted to benefit anyone that I could.

The QuickBooksSDK.au3 is a bunch of constants that are used in the SDK example files. I don't recall if I got all of them completed before the project got nixed. The QBGUI.au3 is the start of a GUI to the project.

QuickBooksSDK.au3

QBGUI.au3

Any comments welcome,

Jarvis

AutoIt Links

File-String Hash Plugin Updated! 04-02-2008 Plugins have been discontinued. I just found out.

ComputerGetInfo UDF's Updated! 11-23-2006

External Links

Vortex Revolutions Engineer / Inventor (Web, Desktop, and Mobile Applications, Hardware Gizmos, Consulting, and more)

Link to comment
Share on other sites

  • 4 months later...

@JSThePatriot

After a year of non-use I’m a little rusty with Autoit but I tried to understand what you did and the result is basically an unpopulated Gui.

It can’t be populated because you never included the DoRequest statement that I assume looks like this:

$SOAddResp = $sessionMan.DoRequests($SalesOrderSet)

But I can’t get that (or anything else) to work and QB manuals are mainly qbXML or VB which I don’t want to learn. I’m an accountant remember not a programmer.

I get connection and certification and the $SalesOrderSet message is built (correctly I believe) but then:

>Running:(3.3.0.0):C:\Program Files\AutoIt3\autoit3.exe "D:\AutoIt v3 Script\QBGuitest3.au3"

D:\QBGuitest3.au3 (141) : ==> The requested action with this object has failed.:

$SOAddResp = $sessionMan.DoRequests($SalesOrderSet)

$SOAddResp = $sessionMan.DoRequests($SalesOrderSet)^ ERROR

I keep getting kicked out of Autoit (can’t seem to trap the fatal error either) but the qbsdklog.txt file shows error code (HRESULT=0x80040154) that does not seem to exist in the manuals?

Here are qbsdklog.txt extracts dated July11,09

20090711.090750 I 7860 UI Subscription:Update Subscription updates detected

20090711.090750 I 7860 UI Subscription:Update 0 UI extensions processed

20090711.090754 I 7860 EventSub:Synch Subscription updates detected

20090711.090754 E 7860 COMEventHandler Callback not created: CoCreateInstance failed HRESULT=0x80040154

20090711.090929 I 7860 EventSub:Synch Subscription updates detected

20090711.090929 E 7860 COMEventHandler Callback not created: CoCreateInstance failed HRESULT=0x80040154

20090711.105040 I 7860 QBSDKProcessRequest Application named 'Halo HOA Management' starting requests (process 10720).

20090711.105040 E 7860 XMLDtdMapper Unsupported version of qbXML requested

20090711.105040 E 7860 XercesSAXParseManager Invalid DOCTYPE - unable to transform from PUBLIC to SYSTEM

20090711.105040 I 7860 MsgSetHandler Parser error, finishing.

20090711.105040 I 7860 QBSDKProcessRequest Application named 'Halo HOA Management' finishing requests (process 10720), ret = 6.

Before I contact QB I want to make sure my Autoit syntax is in order because they obviously won’t support it and will blame it for anything that does not work.

Have I left something out? Please help.

Can you also help me with QB error trapping for HRESULT that is equivalent to Autoit’s $sFuncName = ObjEvent("AutoIt.Error")

Thanks

Russell

Link to comment
Share on other sites

Sir,

I appreciate your response to my topic. I unfortunately haven't had the time to finish the code. I have released it here in hopes that someone can use the code. It is certainly incomplete, and probably needs a ton of work. I haven't run that code in a long time, and I don't even have access to QB right now to try and use some of it.

I hope you can figure out the issue, and if you do figure it out, please report back here. Also, you may want to sign up to be part of the Intuit Developer Network...I have gotten a lot of help using their resources. This may be what you want to do before calling them as I am sure they will tell you to sign up for that and it should provide most if not all of the resources you need to develop your own applications that tie in with Quick Books.

Thanks,

Jarvis

AutoIt Links

File-String Hash Plugin Updated! 04-02-2008 Plugins have been discontinued. I just found out.

ComputerGetInfo UDF's Updated! 11-23-2006

External Links

Vortex Revolutions Engineer / Inventor (Web, Desktop, and Mobile Applications, Hardware Gizmos, Consulting, and more)

Link to comment
Share on other sites

Thanks,I did sign up with IDN but at a quick scan around the forums I really found nothing to help so before I asked QB for help I wanted to make sure my Autoit commands were okay and I was so sure you must have used that DoRequests method because up to that point everything else works and it is the only method that is used when communicating with QB.

When I find the time I’ll get back to this. Thanks for getting me started. Russell

Link to comment
Share on other sites

Thanks,I did sign up with IDN but at a quick scan around the forums I really found nothing to help so before I asked QB for help I wanted to make sure my Autoit commands were okay and I was so sure you must have used that DoRequests method because up to that point everything else works and it is the only method that is used when communicating with QB.

When I find the time I’ll get back to this. Thanks for getting me started. Russell

If you find any documentation on their COM objects, that's what you would be looking for. Most of their examples and issues on their forums are obviously going to be in other languages, but it's usually pretty easy to convert the code to AutoIt (if you know some of the other language(s) syntax).

Thanks,

Jarvis

AutoIt Links

File-String Hash Plugin Updated! 04-02-2008 Plugins have been discontinued. I just found out.

ComputerGetInfo UDF's Updated! 11-23-2006

External Links

Vortex Revolutions Engineer / Inventor (Web, Desktop, and Mobile Applications, Hardware Gizmos, Consulting, and more)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...