Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Control Windows Quickbooks with Win32::OLE

by metaperl (Curate)
on Nov 19, 2011 at 06:40 UTC ( #938945=note: print w/ replies, xml ) Need Help??


in reply to Control Windows Quickbooks with Win32::OLE

Cleaned up the code even more:

#!/usr/bin/perl use strict; use warnings; use Win32::OLE::Const; Win32::OLE->Option( Warn => 2 ); use File::Slurp; use XML::TreeBuilder; my $rand = rand 999999999; my $app_name = "Test $rand"; # http://www.devx.com/xml/Article/30482/1763/page/2 # only relevant if you develop software for QuickBooks that you intend + to sell to other parties. my $app_id = ''; my $qb_company_file = ""; my $request_xml_file = "vendor_query.xml"; main(); sub main { my $qbxmlrp_const = Win32::OLE::Const->Load("QBXMLRP2 1.0 Type Lib +rary"); my $request_processor = Win32::OLE->new( "QBXMLRP2.RequestProcessor", sub { $_[0]->CloseConnection(); } ) or die "oops\n"; $request_processor->OpenConnection2( $app_id, $app_name, $qbxmlrp_const->{"localQBD"} ); my $ticket = $request_processor->BeginSession( $qb_company_file, $qbxmlrp_const->{"qbFileOpenDoNotCare"} ); my $request_xml_string = File::Slurp::read_file($request_xml_file) +; my $response_xml_string = $request_processor->ProcessRequest( $ticket, $request_xml_string + ); warn $response_xml_string; } # # Read the contents of a file into a string. # # Accepts filename as a parameter and returns the file contents. # sub read_file($) { # my $filename = shift; # my $file_data; # local ($/) = undef; # my $file_handle = IO::File->new(); # $file_handle->open($filename); # $file_data = <$file_handle>; # $file_handle->close(); # return $file_data; # }




The mantra of every experienced web application developer is the same: thou shalt separate business logic from display. Ironically, almost all template engines allow violation of this separation principle, which is the very impetus for HTML template engine development.

-- Terence Parr, "Enforcing Strict Model View Separation in Template Engines"


Comment on Re: Control Windows Quickbooks with Win32::OLE
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://938945]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (16)
As of 2015-07-30 16:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (273 votes), past polls