2016-09-21 4 views
0

PHP APIを使用してQBで請求書を作成しています。 が、https://github.com/consolibyte/quickbooks-php/blob/master/docs/partner_platform/example_app_ipp_v3/example_invoice_add.php#L21の例のように$Line->setDetailType('SalesItemLineDetail');を追加するために必要でした。QuickBooks API - query SalesItemLineDetail

そして、それは

$SalesItemLineDetail = new QuickBooks_IPP_Object_SalesItemLineDetail(); 
$SalesItemLineDetail->setItemRef('8'); 
$SalesItemLineDetail->setUnitPrice(20 * 0.516129); 
$SalesItemLineDetail->setQty(1.00000); 

を設定setItemRefがハード8.

に符号化されていることを注意は今、私は名前でSalesItemLineDetailを検索し、参照を取得したいです。

だけ

$pref->query($Context, $realm, "SELECT * FROM SalesItemLineDetail"); 

は通常、我々はサービスとqueryを行い、私は私が試したすべてを取得できるかどうかを確認します。私の場合は$prefです。

私は試しましたが、InvoiceServiceSalesOrderServicePreferencesServiceItemServiceですが、何の結果も得られません。

InvoiceProduct/Serviceを見つけて参考にしてください。事前

+0

助けが必要ですか?なにか提案を?何か案が? – masterFly

答えて

0

私はそれを理解する!

ItemServiceが必要です。これが私のやり方です。

$ItemService = new \QuickBooks_IPP_Service_Item(); 
$response = $ItemService->query($Context, $realm, "SELECT * FROM Item where Name = 'Services'"); 

$responseからIDを取得します。私はIDをハードコードする必要はありません。

これは、この問題を抱えている人に役立つことを期待しています。

0

おかげであなたはSalesLineItemDetailで検索することはできません。 Intuitはそれをサポートしていません。

あなただけの既存の請求書内ItemRefを見つけようとしている場合は、あなたが最初の請求書を照会することができます

$list = $InvoiceService->query($Context, $realm, "SELECT *, Line.* FROM Invoice WHERE Id = '5' "); 

して、行の項目をループデータを取得する:

for ($i = 0; $i < $num_lines; $i++) 
{ 
    $Line = $Invoice->getLine($i); 

    if ($Line->getDetailType() == 'SalesItemLineDetail') 
    { 
     $Detail = $Line->getSalesItemLineDetail(); 
     $item_id = $Detail->getItemRef(); 

    } 
} 
+0

'$ Line-> setDetailType( 'SalesItemLineDetail');'を指定せずに請求書の行を作成する方法はありますか?助けてください! – masterFly

+0

'DetailType'を指定する必要があります(必ずしも' SalesItemLineDetail'である必要はありません)。あなたはその文書を読んだことがありますか? –

関連する問題