1

QuickBooks PHP DevKitを使用して、QuickbooksWebコネクタツールを介してWebアプリケーションをQuickBooksに接続しています。データを挿入するときは非常にうまく機能しますが、更新しようとすると次のエラーが発生します。

0x80040400:QuickBooksは、提供されたXMLテキストストリームを解析するときにエラーを検出しました。

このリンクは、利用可能なxmlオプションを示しています。

http://dev.developer.intuit.com/qbSDK-current/OSR/OnscreenRef/index-QBD.html

$xml = '<?xml version="1.0" encoding="utf-8"?>
    <?qbxml version="2.0"?>
    <QBXML>
        <QBXMLMsgsRq onError="stopOnError">
            <EstimateModRq requestID="' . $requestID . '">
                <EstimateMod>
                    <TxnID>B9-1340134119</TxnID>
                    <EditSequence>1340134119</EditSequence>
                    <CustomerRef>
                        <FullName>cliente prueba</FullName>
                    </CustomerRef>
                    <TxnDate>2009-01-09</TxnDate>
                    <RefNumber>16466</RefNumber>
                    <EstimateLineMod>
                        <TxnLineID>-1</TxnLineID>
                        <ItemRef>
                            <FullName>Sales</FullName>
                        </ItemRef>
                        <Desc>gift certificate</Desc>
                        <Quantity>4</Quantity>
                        <Rate>11.00</Rate>
                    </EstimateLineMod>
                </EstimateMod>
            </EstimateModRq>
        </QBXMLMsgsRq>
    </QBXML>';
4

1 に答える 1

2

QuickBooks OSR(およびできればここで最新バージョン:http://developer.intuit.com/qbsdk-current/common/newosr/index.html)を参照すると、EstimateModリクエストに気付くでしょう。このようにマークされています:

EstimateMod (3.0)

つまり、EstimateModはqbXMLバージョン3.0までサポートされていません(詳細が必要な場合は、QuickBooks SDK .PDFドキュメントにqbXMLバージョンに関する詳細情報がたくさんあります)。

qbXMLバージョン2.0を使用しています:

<?qbxml version="2.0"?>

それをより高いバージョンに変更し(6.0以降がサポートするのに最適なバージョンです。6.0はほとんどのバージョンのQuickBooksとの互換性の範囲が最も広いです)、すべて設定されているはずです。

于 2012-06-20T15:30:46.650 に答える