PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2024 → Ping Bob Roos (Clarion Quickbooks)
Ping Bob Roos (Clarion Quickbooks)
Iniciado por guest, 19,ene. 2016 02:31 - 9 respuestas
Publicado el 19,enero 2016 - 02:31
Bob, you still around. Did you get the Clarion Quickbooks stuff translated over to WD?

Assuming he is not, any good hints or code I can purchase to get my transactions out of my HFSQL file and into QB?

Thanks in Advance,
Art
Publicado el 19,enero 2016 - 10:03
sorry I accidentely posted on this thema
Publicado el 19,enero 2016 - 13:36
Hello Art,

AFAIK, he did translate it for WD, as I was supposed to use it myself (another project so far on the back burner). If he doesn't answer here, I have his email address, so I can pass him a message

Best regards
Publicado el 19,enero 2016 - 13:52
Thanks Fabrice.
Publicado el 19,enero 2016 - 16:38
I am still around. Yes, It works in WD (quite well I think)

email me at roosbob at wybatap dot com

Bob
Publicado el 19,enero 2016 - 17:30
Hello Bob,

This is something I am interested in also.

DW
Publicado el 19,enero 2016 - 18:56
I've got a pretty nice QB interface built out in my application using the XML API.

Pretty sure that DW got me started with code to connect and I took it from there.

My interface is predicated on having a single procedure (QB_ProcessRequest) to manage the connection and send the XML file over to QB. (QB must be running on machine running interface in my model)

I also have a single procedure which parses all the responses (QB_ProcessResponse).

Then, for each transaction type I want to execute, I have a procedure which builds the XML file, calls QB_ProcessRequest passing the XML, then calls QB_ProcessResponse to parse data coming back. I pass a Process ID identifying the TRX I am parsing response to and use a SWITCH to control how each response gets parsed.
__________

Here is the code I use to connect to QB. (I imported the .Net assembly from the QB SDK into my project)

PROCEDURE QB_ProcessRequest(sXmlRequest is string)

gsTicket is string
arrQBVersion is array of string
sFilePath is string =Company_control.QBFilePath+Brand.QBCompanyFile+".qbw"

XMLResponse is string

//This is the .Net Assembly that runs everything...
clMyQbXMLRP2 is object RequestProcessor2Class

//Open the connection to quickbooks

//clMyQbXMLRP2.OpenConnection2(
clMyQbXMLRP2.OpenConnection2("",Brand.QBCompanyFile,QBXMLRPConnectionType::localQBD)


//clMyQbXMLRP2.BeginSession(
//Get the ticket number of the session to use later in request
gsTicket = clMyQbXMLRP2.BeginSession(sFilePath,QBFileMode::qbFileOpenDoNotCare)

//Send your request to QB

XMLResponse = clMyQbXMLRP2.ProcessRequest(gsTicket,sXmlRequest)

//Close the connection
clMyQbXMLRP2.CloseConnection()

RESULT=XMLResponse


Hope this helps.
Publicado el 21,enero 2016 - 04:14
Thanks Steve. Appreciate the info, code and link to the API reference. There is another accounting software out there called XERO. It is only online and not local, and it appears that their API is also a form of XML. I am going to have to code for both in my program.

Looks like I am going to be dragged kicking and screaming into the XML world... :-(

Newbie question here, so apologies if I sound ignorant (yes, I is...). So did you use a file type of XML and store all the values necessary from your transactions, create the string to send to QB, then when the response came in parse and store those in yet another XML file? Or did you not use the native XML files, and just build the XML strings from a HFSQL file, then parse the return into another HF file (or just take the response and update a current record)?

Even if I go with Bob's prepackaged QB integration I am just trying to understand how all this works in the background. After all, knowledge is a dangerous thing. ;)

Thanks, Art
Publicado el 21,enero 2016 - 17:29
Hi Art,

I built the and parsed the XML in real time from/to my data base (which is SQL Server). You're basically just gathering up the data you want to use for a particular transaction into string variables and then formatting the XML file by using windev functions: XMLDocument, XMLAddChild, XMLInsertElement etc.

Once you have the hang of working with XML it's pretty handy. I have XML interfaces to Wufoo (www.wufoo.com) for web forms integration and to Authorize.net for credit cards as well.

I'd be very interested in what you find out about Xero, it's becoming very prevalent in the travel industry and I've heard good things.

Steve
Publicado el 25,enero 2016 - 06:13
My QBSnap product is a set of classes that build all the XML for you and intreprets the XML response from QB. It includes a helper program that takes all the information from the OSR and puts it into a format that I think is much easier to handle. The helper is nice because it has all the correct spelling and sequencing information for the fields.

check it out here http://qbsnap.wybatap.com and look at QBSnap for programmers.

In addition to the helper program to help you build the XML requests there is a debugging aid that helps to display the XML streams and QB log files.

I was very disappointed to see that QB is pushing the online version and made the interface completely different than the desk top one.

I am on the road and the best thing is to send an email to me at roosbob at wybatap dot com