diff --git a/ItemInventoryQuery.py b/ItemInventoryQuery.py index c1ebc05..1c8bbcf 100644 --- a/ItemInventoryQuery.py +++ b/ItemInventoryQuery.py @@ -125,6 +125,7 @@ class ItemInventoryQuery: data = tree.findall(".//ItemInventoryRet") NameFromTaco = [] FullName = [] + UnitOfMeasure = [] print(f'get_data->response_string:{response_string}') # print(data) if 'DataExtRet' in self.IncludeRetElement: @@ -144,13 +145,20 @@ class ItemInventoryQuery: print(f'ItemInventoryQuery->Not Exact Len:Fullname={len(FullName)}; NameFromTaco={len(NameFromTaco)}') return {} else: - fullnames = tree.findall(".//FullName") - for fullname in fullnames: + # fullnames = tree.findall(".//FullName") + itemInventoryRet = tree.findall(".//ItemInventoryRet") + for itemInventory in itemInventoryRet: + # for fullname in fullnames: + fullname = itemInventory.find("FullName") + uom = itemInventory.find("UnitOfMeasureSetRef") if len(fullname.text.split(":"))==3: FullName.append(fullname.text) - # print(fullname.text.strip(), type(fullname)) + print(f'{fullname.text = }') + UnitOfMeasure.append(uom[1].text) + print(f'{uom.text = }') + print(fullname.text.strip(), type(fullname)) if len(FullName)>0: - return {'FullName': FullName} + return {'FullName': FullName, 'UnitOfMeasureSetRef':UnitOfMeasure} else: return {} def to_excel(self, filename:str=''): @@ -189,9 +197,10 @@ class ItemInventoryQuery: js_data=None # print(self.create_QBXML()) response_string = self.connect_to_quickbooks(self.create_QBXML()) - + print(f'{response_string = }') ret, msg = self.status_ok(response_string) if ret: + print(f'{ret = }') df = pd.DataFrame.from_dict(self.get_data(response_string)) print(df) if len(df)>0: diff --git a/main.py b/main.py index aa887e7..701e96b 100644 --- a/main.py +++ b/main.py @@ -60,7 +60,8 @@ async def renew_iteminventory(): @app.get('/get-iteminventory-fullname') async def get_iteminventory_fullname(maxreturned:Union[int, None] = None): - item_inv = ItemInventoryQuery( IncludeRetElement=['FullName'], MaxReturned=maxreturned) #MaxReturned=None means get ALL items + item_inv = ItemInventoryQuery( IncludeRetElement=['FullName','UnitOfMeasureSetRef'], MaxReturned=maxreturned) #MaxReturned=None means get ALL items + # item_inv = ItemInventoryQuery( IncludeRetElement=['FullName',], MaxReturned=maxreturned) #MaxReturned=None means get ALL items QBXML = item_inv.create_QBXML() itu = item_inv.connect_to_quickbooks(item_inv.create_QBXML()) status, data = item_inv.to_json()