This commit is contained in:
bcomsugi 2024-03-14 03:30:41 +07:00
parent 6c7a48c5cc
commit 8cb34eb560
3 changed files with 21 additions and 13 deletions

View File

@ -136,10 +136,10 @@ def QBStock(client_socket=None, filename='', searchitems = {}):
qbxml_query1 = """<?xml version="1.0" encoding="utf-8"?>\n""" qbxml_query1 = """<?xml version="1.0" encoding="utf-8"?>\n"""
qbxml_query1 = qbxml_query1 + """<?qbxml version="13.0"?>""" qbxml_query1 = qbxml_query1 + """<?qbxml version="13.0"?>"""
qbxml_query1 = qbxml_query1 + "\n" + mydata qbxml_query1 = qbxml_query1 + "\n" + mydata
print (qbxml_query, type(qbxml_query)) # print (qbxml_query, type(qbxml_query))
print("") # print("")
print(qbxml_query1, type(qbxml_query1)) # print(qbxml_query1, type(qbxml_query1))
#print("") #print("")
@ -148,7 +148,7 @@ def QBStock(client_socket=None, filename='', searchitems = {}):
# Disconnect from Quickbooks # Disconnect from Quickbooks
sessionManager.EndSession(ticket) # Close the company file sessionManager.EndSession(ticket) # Close the company file
sessionManager.CloseConnection() # Close the connection sessionManager.CloseConnection() # Close the connection
print (response_string) # print (response_string)
# Parse the response into an Element Tree and peel away the layers of response # Parse the response into an Element Tree and peel away the layers of response
#QBXML = xml.etree.ElementTree.fromstring(response_string) #QBXML = xml.etree.ElementTree.fromstring(response_string)

View File

@ -3,7 +3,7 @@ import win32com.client
#from win32com.client import constants #from win32com.client import constants
import xml.etree.ElementTree as ET import xml.etree.ElementTree as ET
def QBStock(client_socket=None, filename='', searchitems = None): def QBStock(client_socket=None, filename='', searchitems = None, debug:bool=False):
if searchitems is None: if searchitems is None:
searchitems = {} searchitems = {}
@ -73,7 +73,7 @@ def QBStock(client_socket=None, filename='', searchitems = None):
</QBXML> </QBXML>
""" """
def createSubElement(ET, parentNode, thisNode, text="", whiteSpace = 0, attrib ={}): def createSubElement(ET, parentNode, thisNode, text="", whiteSpace = 0, attrib ={}, debug:bool=False):
ele = ET.SubElement(parentNode, thisNode) ele = ET.SubElement(parentNode, thisNode)
for x in attrib: for x in attrib:
ele.set(x, attrib[x]) ele.set(x, attrib[x])
@ -151,7 +151,7 @@ def QBStock(client_socket=None, filename='', searchitems = None):
# Disconnect from Quickbooks # Disconnect from Quickbooks
sessionManager.EndSession(ticket) # Close the company file sessionManager.EndSession(ticket) # Close the company file
sessionManager.CloseConnection() # Close the connection sessionManager.CloseConnection() # Close the connection
print (f"itemreportquery.py response -> {response_string}") if debug:print (f"itemreportquery.py response -> {response_string}")
# Parse the response into an Element Tree and peel away the layers of response # Parse the response into an Element Tree and peel away the layers of response
#QBXML = xml.etree.ElementTree.fromstring(response_string) #QBXML = xml.etree.ElementTree.fromstring(response_string)
@ -171,7 +171,7 @@ def QBStock(client_socket=None, filename='', searchitems = None):
#print("") #print("")
DataRow = QBXML.iter("DataRow") DataRow = QBXML.iter("DataRow")
print(f"itemreportquery -> {DataRow}") print(f"itemreportquery -> {DataRow}")
print("Hello") # print("Hello")
for ItemInvRet in DataRow: for ItemInvRet in DataRow:
try: try:
Rowdata = ItemInvRet.find("RowData") Rowdata = ItemInvRet.find("RowData")

View File

@ -13,6 +13,8 @@ class TransactionQuery:
# print(f'kwargs:{kwargs}') # print(f'kwargs:{kwargs}')
# print(args) # print(args)
# self.TransactionTypeFilter = kwargs['TransactionTypeFilter'] if 'TransactionTypeFilter' in kwargs else 'SalesOrder' # self.TransactionTypeFilter = kwargs['TransactionTypeFilter'] if 'TransactionTypeFilter' in kwargs else 'SalesOrder'
self.debug = kwargs['Debug'] if 'Debug' in kwargs else False
if self.debug != True and self.debug != False: self.debug=False
self.EntityTypeFilter = kwargs['EntityTypeFilter'] if 'EntityTypeFilter' in kwargs else None self.EntityTypeFilter = kwargs['EntityTypeFilter'] if 'EntityTypeFilter' in kwargs else None
self.RefNumber = kwargs['RefNumber'] if 'RefNumber' in kwargs else None self.RefNumber = kwargs['RefNumber'] if 'RefNumber' in kwargs else None
@ -287,15 +289,21 @@ if __name__ == '__main__':
# ini=TransactionQuery(FromTxnDate='2023-01-11', ToTxnDate='2023-01-12', TransactionPaidStatusFilter='Closed', TransactionDetailLevelFilter='All') # ini=TransactionQuery(FromTxnDate='2023-01-11', ToTxnDate='2023-01-12', TransactionPaidStatusFilter='Closed', TransactionDetailLevelFilter='All')
# ini=TransactionQuery(FromTxnDate='2023-01-11', ToTxnDate='2023-01-12', TransactionPaidStatusFilter='Closed', TransactionDetailLevelFilter=None, # ini=TransactionQuery(FromTxnDate='2023-01-11', ToTxnDate='2023-01-12', TransactionPaidStatusFilter='Closed', TransactionDetailLevelFilter=None,
# IncludeRetElement=['EntityRef', 'TxnDate', 'Amount', 'Memo']) # IncludeRetElement=['EntityRef', 'TxnDate', 'Amount', 'Memo'])
ini=TransactionQuery( TransactionPaidStatusFilter='Open', TransactionDetailLevelFilter=None, ini=TransactionQuery(
TransactionPaidStatusFilter='Either',
TransactionDetailLevelFilter=None,
# FullName='Abadi Serpong', # FullName='Abadi Serpong',
# EntityTypeFilter='Customer', # EntityTypeFilter='Customer',
# RefNumber = ['24010005', '24010001', '24010002'], # RefNumber = ['24010005', '24010001', '24010002'],
RefNumber = ['24010002'], # RefNumber = ['24010002'],
TxnTypeFilter = None, # RefNumber = ['B24010066'],
# IncludeRetElement=['EntityRef', 'TxnDate', 'Amount', 'Memo', 'RefNumber', 'TxnID', 'TimeCreated', 'TimeModified']) # RefNumber = ['B23122529'],
RefNumber = ['33185'],
TxnTypeFilter = "Invoice",
IncludeRetElement=['EntityRef', 'TxnDate', 'Amount', 'Memo', 'RefNumber', 'TxnID', 'TimeCreated', 'TimeModified', 'Amount']
IncludeRetElement=[ 'TxnID', 'EntityRef', 'TxnDate', 'RefNumber', 'Memo']) # IncludeRetElement=[ 'TxnID', 'EntityRef', 'TxnDate', 'RefNumber', 'Memo']
)
# ini=TransactionQuery(TransactionTypeFilter='SalesByItemSummary') # ini=TransactionQuery(TransactionTypeFilter='SalesByItemSummary')
# ini=TransactionQuery(TransactionTypeFilter='SalesByRepSummary') # ini=TransactionQuery(TransactionTypeFilter='SalesByRepSummary')
# ini=TransactionQuery(TransactionTypeFilter='PurchaseByVendorSummary') # ini=TransactionQuery(TransactionTypeFilter='PurchaseByVendorSummary')