mirror of
https://github.com/bcomsugi/dasaproject.git
synced 2026-01-10 05:42:38 +07:00
Compare commits
2 Commits
cf7293c912
...
db5a2b9105
| Author | SHA1 | Date | |
|---|---|---|---|
| db5a2b9105 | |||
| 0f65abb29f |
@ -312,8 +312,9 @@ def LineAdd(lineAdd:Union[list, dict])->dict:
|
||||
|
||||
class InvoiceAdd(baseQBQuery):
|
||||
def __init__(self, *args, **kwargs):
|
||||
print(f'{args = }')
|
||||
print(f'{kwargs = }')
|
||||
# print(f'{args = }')
|
||||
# pprint.pprint(args, sort_dicts=False)
|
||||
# print(f'{kwargs = }')
|
||||
super().__init__(*args, **kwargs)
|
||||
# self.includeRetElements_allowed = ['TxnID', 'TimeCreated', 'TimeModified', 'EditSequence', 'TxnNumber', 'CustomerRef', 'ClassRef', 'ARAccontRef', 'TemplateRef']
|
||||
self.onError = "stopOnError"
|
||||
@ -329,13 +330,16 @@ class InvoiceAdd(baseQBQuery):
|
||||
# self.QBDict[self.classNameRq]={}
|
||||
# self.QBDict={}
|
||||
print('before')
|
||||
print(f'{len(args) = }')
|
||||
if len(args)==0:
|
||||
print("Only 1 args")
|
||||
self.create_data(kwargs)
|
||||
self.qbdicttemp = self.QBDict.copy()
|
||||
del self.QBDict[self.__class__.__name__]
|
||||
self.QBDict[self.classNameRq]=self.qbdicttemp
|
||||
else:
|
||||
self.qbdictlist = []
|
||||
print("more than 1 args")
|
||||
for arg in args:
|
||||
self.create_data(arg)
|
||||
self.qbdictlist.append(self.QBDict.copy())
|
||||
@ -345,7 +349,7 @@ class InvoiceAdd(baseQBQuery):
|
||||
|
||||
|
||||
def create_data(self, kwargs):
|
||||
# print(kwargs)
|
||||
# pprint.pprint(kwargs, sort_dicts=False)
|
||||
self.isRequiredFieldSatisfied = False
|
||||
# self.QBDict[self.__class__.__name__]={'@defMacro':'MACROTYPE'}
|
||||
self.QBDict[self.__class__.__name__]={}
|
||||
@ -586,6 +590,7 @@ class InvoiceAdd(baseQBQuery):
|
||||
self.QBDict[self.classNameRq]["IncludeRetElement"]=kwargs['IncludeRetElement']
|
||||
|
||||
# print(self.classNameRq)
|
||||
print('self.QBDICT')
|
||||
pprint.pprint(self.QBDict, sort_dicts=False)
|
||||
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@ def timing(f):
|
||||
class baseQBQuery:
|
||||
def __init__(self, *args, **kwargs, ) -> None:
|
||||
# print(f'{kwargs = }')
|
||||
print(f'{args = }')
|
||||
# print(f'{args = }')
|
||||
self.QBXML = None
|
||||
self.QBDict = {}
|
||||
self.response_string = None
|
||||
|
||||
24
exim.py
24
exim.py
@ -1,7 +1,7 @@
|
||||
# from . import QBClasses
|
||||
from pprint import pprint
|
||||
# from QBClass.QBClasses import InvoiceQuery, SalesOrderQuery
|
||||
from QBClass.QBClasses import InvoiceQuery, SalesOrderQuery
|
||||
from QBClass.QBClasses import InvoiceQuery, SalesOrderQuery, InvoiceAdd
|
||||
# import timeit
|
||||
import time
|
||||
import json
|
||||
@ -363,6 +363,7 @@ def make_invoiceadd_dict(iq_list):
|
||||
inv_line_no_soline = []
|
||||
inv_line_no_itemref = []
|
||||
invoiceaddlist = []
|
||||
invadddict = {}
|
||||
for inv_line in iq_list:
|
||||
# if 'InvoiceLineRet' not in txn:
|
||||
# print(f"{txn['RefNumber'] = } doesnt have InvoiceLineRet")
|
||||
@ -420,7 +421,7 @@ def make_invoiceadd_dict(iq_list):
|
||||
inv_line['InvoiceLineRet'] = [inv_line['InvoiceLineRet']]
|
||||
|
||||
for idx, invlineret in enumerate(inv_line['InvoiceLineRet']):
|
||||
print(f'{invlineret = }')
|
||||
# print(f'{invlineret = }')
|
||||
if 'ItemRef' not in invlineret:
|
||||
inv_line_no_itemref.append({'RefNumber':inv_line['RefNumber'],
|
||||
'idx':idx,})
|
||||
@ -454,7 +455,8 @@ def make_invoiceadd_dict(iq_list):
|
||||
invadddict['InvoiceLineAdd'] = invoicelineadd_list
|
||||
invoiceaddlist.append(invadddict)
|
||||
|
||||
pprint(invadddict, sort_dicts=False)
|
||||
# pprint(invadddict, sort_dicts=False)
|
||||
pprint(invoiceaddlist, sort_dicts=False)
|
||||
for x in invoiceaddlist:
|
||||
if '10671' in x['RefNumber']:
|
||||
pprint(x, sort_dicts=False)
|
||||
@ -463,7 +465,8 @@ def make_invoiceadd_dict(iq_list):
|
||||
# if '10671' in y['ItemRef_FullName']:
|
||||
# pprint(x, sort_dicts=False)
|
||||
# break
|
||||
print(f'{len(invoiceaddlist) = }')
|
||||
print(f'make_invoiceadd_dict - >{len(invoiceaddlist) = }')
|
||||
return invoiceaddlist
|
||||
|
||||
def writeToFile(iq_list=None, so_dict=None, filename = "", suffix="", indent=2):
|
||||
if not filename:
|
||||
@ -529,6 +532,7 @@ def main(fromtxndate, totxndate, maxreturned:int=None):
|
||||
# process()
|
||||
|
||||
invqueryfilename = f'exim\Data\{fromtxndate}iq'
|
||||
|
||||
# if maxreturned:
|
||||
# iq_list, so_dict = get_all_so_from_invoice(MaxReturned=maxreturned)
|
||||
|
||||
@ -542,7 +546,7 @@ def main(fromtxndate, totxndate, maxreturned:int=None):
|
||||
|
||||
# ## Reading from QB and write to a file depends on txndate
|
||||
# iq_list, so_dict = get_all_so_from_invoice(FromTxnDate=fromtxndate, ToTxnDate=totxndate)
|
||||
# writeToFile(iq_list, so_dict, filename=invqueryfilename)
|
||||
# writeToFile(iq_list, so_dict, filename=invqueryfilename)
|
||||
|
||||
### reading from existing file the iq_list and so_dict jsonfile
|
||||
|
||||
@ -556,13 +560,17 @@ def main(fromtxndate, totxndate, maxreturned:int=None):
|
||||
print(len(iq_list))
|
||||
print(f'Seems {invqueryfilename}{suffix}.json is {checking_iqwith_so(iq_list)}') #checking the iq_list. is it good to import to new QB?
|
||||
|
||||
make_invoiceadd_dict(iq_list)
|
||||
return make_invoiceadd_dict(iq_list)
|
||||
|
||||
if __name__=='__main__':
|
||||
# print(np.arange('2021-02', '2021-03', dtype='datetime64[D]'))
|
||||
fromtxndate = '2022-08-01'
|
||||
fromtxndate = '2022-07-02'
|
||||
totxndate = get_last_date_of_month(fromtxndate)
|
||||
_fromdate = datetime.datetime.fromisoformat(fromtxndate)
|
||||
|
||||
print(fromtxndate)
|
||||
main(fromtxndate, totxndate)
|
||||
readydata = main(fromtxndate, totxndate, 2)
|
||||
# print(readydata)
|
||||
|
||||
IA = InvoiceAdd(*readydata, debug=False)
|
||||
# IA.all()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user