2014-01-19 2 views
0

qb에서 구매할 때 구매하려는 품목에 대해 청구서를 입력하십시오. 제 질문은 다음과 같습니다 : a. 올바른 구성 요소가 될 qbfc를 사용할 때 ibillquery, itranscationquery를 시도했지만 기울이지 않아 올바른 것을 찾은 것 같습니다.quickbooks purchase details

Dim MsgRq As IMsgSetRequest 
     MsgRq = sessMgr.CreateMsgSetRequest("US", 4, 0) 

    Dim bquery As IBillQuery 
    bquery = MsgRq.AppendBillQueryRq 
    bquery.ORBillQuery.RefNumberList.Add("") 

    Dim MsgRs As IMsgSetResponse 
    MsgRs = sessMgr.DoRequests(MsgRq) 

    Dim resp As IResponse 
    resp = MsgRs.ResponseList.GetAt(0) 

    Dim blist As IBillRetList 
    blist = resp.Detail 

    Dim x As Integer 
    For x = 0 To blist.Count - 1 
     Dim bret As IBillRet 
     bret = blist.GetAt(x) 
     Console.Write(bret.ORItemLineRetList.GetAt(0).ItemLineRet.Desc.GetValue) 
    Next 

위의 내용은 기본 주식이 아닌 실제 청구 정보 봇을 검색하는 데 적합합니다.

답변

0

QuickBooks의 많은 구매 거래는 항목 및/또는 비용을 사용할 수 있습니다. 청구서, 상품 영수증, 수표 또는 신용 카드가 될 수 있습니다. 이러한 트랜잭션을 쿼리 할 때 ORItemLineRetList가 있는지 확인해야합니다. ORItemLineRetList가 null 인 경우 해당 트랜잭션에 항목이 없습니다. 품목 만있는 구매 트랜잭션은 구매 주문입니다.

ORItemLineRet의 각 항목은 ItemLineRet 또는 ItemGroupLineRet이 될 수 있습니다. ItemLineRet의 경우 이름/목록 ID, 설명, 수량 및 비용과 같은 항목에 대한 정보에 액세스 할 수 있습니다.

코드를 기반으로 ORItemLineRetList를 통해 다른 루프를 수행합니다. VB를 사용하지 않으므로 코드가 100 %가 아닐 수도 있습니다.


Dim x as Integer 
For x = 0 to blist.Count -1 
    Dim bret as IBillRet 
    bret = blist.GetAt(x) 
    If bret.ORItemLineRetList IsNot Null 
     For y = 0 to bret.ORItemLineRetList.Count -1 
      Dim bItemLine as IORItemLineRet 
      bItemLine = bret.ORItemLineRetList.GetAt(y) 
      If bItemLine.ItemLineRet IsNot Null 
       Console.Write(bItemLine.ItemLineRet.ItemRef.FullName.GetValue) 
      End If 
     Next 
    End If 
Next