4

したがって、顧客を作成し、次に顧客ジョブを作成するコードがあります。顧客のジョブが不可解な理由で失敗します。

最初のリクエストは次のとおりです。

<?xml version="1.0" encoding="US-ASCII"?><?qbxml version="8.0"?>
<QBXML>
    <QBXMLMsgsRq newMessageSetID="c80f653c176ed1e5975e" onError="stopOnError">
        <CustomerAddRq>
            <CustomerAdd>
                <Name>xxxx. (20615)</Name>
                <CompanyName>xxxx</CompanyName>
                <Salutation/>
                <FirstName/>
                <MiddleName/>
                <LastName/>
                <BillAddress>
                    <Addr1>xxxx</Addr1>
                    <Addr2>xxx</Addr2>
                    <Addr3/>
                    <Addr4/>
                    <City>xxx</City>
                    <State>xx</State>
                    <PostalCode>xxxxx</PostalCode>
                    <Country>USA</Country>
                    <Note/>
                </BillAddress>
                <Phone>000000</Phone>
                <Fax>000000</Fax>
                <Email/>
                <Contact/>
                <TermsRef>
                    <FullName>Net 30</FullName>
                </TermsRef>
            </CustomerAdd>
        </CustomerAddRq>
    </QBXMLMsgsRq>
</QBXML>

そして、応答の関連部分:

<?xml version="1.0" ?>
<QBXML>
    <QBXMLMsgsRs newMessageSetID="3368552138367687637">
        <CustomerAddRs statusCode="0" statusSeverity="Info" statusMessage="Status OK">
            <CustomerRet>
                <ListID>80000118-1272906278</ListID>
                <TimeCreated>2010-05-03T13:04:38-05:00</TimeCreated>
                <TimeModified>2010-05-03T13:04:38-05:00</TimeModified>
                <EditSequence>1272906278</EditSequence>
                <TermsRef>
                    <ListID>80000006-1244039697</ListID>
                    <FullName>Net 30</FullName>
                </TermsRef>
                <Balance>0.00</Balance>
                <TotalBalance>0.00</TotalBalance>
                <JobStatus>None</JobStatus>
            </CustomerRet>
        </CustomerAddRs>
    </QBXMLMsgsRs>
</QBXML> 

これで Quickbooks に戻ります。

<?xml version="1.0" encoding="US-ASCII"?><?qbxml version="8.0"?>
<QBXML>
    <QBXMLMsgsRq newMessageSetID="0da30b5086cd3938febe" onError="stopOnError">
        <CustomerAddRq>
            <CustomerAdd>
                <Name>xxxxxxx</Name>
                <ParentRef>
                    <ListID>80000118-1272906278</ListID>
                </ParentRef>
                <CompanyName>xxxxxxx</CompanyName>
                <Salutation/>
                <FirstName/>
                <MiddleName/>
                <LastName/>
                <BillAddress>
                    <Addr1>xxxxx</Addr1>
                    <Addr2>xxxxx</Addr2>
                    <Addr3/>
                    <Addr4/>
                    <City>xxxx</City>
                    <State>xxx</State>
                    <PostalCode>xxxx</PostalCode>
                    <Country>USA</Country>
                    <Note/>
                </BillAddress>
                <Phone>00000000</Phone>
                <Fax>0000000</Fax>
                <Email/>
                <Contact/>
                <TermsRef>
                    <FullName>Net 30</FullName>
                </TermsRef>
            </CustomerAdd>
        </CustomerAddRq>
    </QBXMLMsgsRq>
</QBXML>  

そして、Quickbooks はその 2 番目の要求に次のように応答します。

<?xml version="1.0" ?>
<QBXML>
    <QBXMLMsgsRs newMessageSetID="0da30b5086cd3938febe">
        <CustomerAddRs statusCode="3240" statusSeverity="Error"
                       statusMessage="Object &quot;80000118-1272906278&quot; specified in the request cannot be found. "/>
    </QBXMLMsgsRs>
</QBXML> 

最初の応答は 2013-01-21 10:34:22.353 で、2 番目の応答は 2013-01-21 10:35:21.080 (サーバー時間) です。

なぜ失敗するのですか?動作することが多いので注意してください。この要求シーケンスだけで、同じコマンドを使用して問題なく他の 2 つの要求を作成しました。

場合によっては、代わりに次のように応答します。

<?xml version="1.0" ?>
<QBXML>
    <QBXMLMsgsRs newMessageSetID="215932fd6e1fffdd574c">
        <CustomerAddRs statusCode="3120" statusSeverity="Error"
                       statusMessage="Object &quot;11A0001-1289401726&quot; specified in the request cannot be found.  QuickBooks error message: Invalid argument.  The specified record does not exist in the list."/>
    </QBXMLMsgsRs>
</QBXML> 

作成したばかりの顧客が、次のコマンドで参照するリストに含まれていることを確認するにはどうすればよいですか?

4

2 に答える 2

2

<FullName> を指定して、<ListID> の代わりにそれを使用しようとしましたか? SDK ガイドの第 15 章に「ListID に関する注意事項」という興味深いセクションがあり、ジョブを追加しようとしたときに ListID が変更されている可能性があることを示しています。

于 2013-02-05T14:04:59.013 に答える
1

顧客を作成するときに、顧客をアクティブとして設定しようとしましたか?<CustomerAddRq>

    <CustomerAddRq>
        <CustomerAdd>
            <Name>xxxx. (20615)</Name>
            <IsActive>1</IsActive>
            <!-- rest of the details... -->
        </CustomerAdd>
    </CustomerAddRq>
于 2013-02-01T07:47:10.480 に答える