quickbooks SalesOrderAddRq 添加问题

quickbooks SalesOrderAddRq adding issue

您好,我在使用 https://packagist.org/packages/consolibyte/quickbooks

在 Quickbooks 中添加 SalesOrderAddRq 时遇到问题

以下是我在 Quickbooks 中添加销售订单的 XML,这里还有标签 <ListID > 这个字段的值是多少!

此外,我在添加

时遇到此错误

版本: PHP /quickbooks/qbwc

上的 QuickBooks SOAP 服务器 v3.0

留言:

3140: There is an invalid reference to QuickBooks Customer "john Doe" in the SalesOrder. QuickBooks error message: Invalid argument. The specified record does not exist in the list.

描述:

Error message received from application via getLastError(): 3140: There is an invalid reference to QuickBooks Customer "john Doe" in the SalesOrder. QuickBooks error message: Invalid argument. The specified record does not exist in the list.

 public function _addSaleorderRequest($requestID, $user, $action, $ID, $extra, &$err, $last_action_time, $last_actionident_time, $version, $locale)
 {

    // Do something here to load data using your model
    //$data = $this->yourmodel->getCustomerData($ID);
    // Build the qbXML request from $data
    $xml = '<?xml version="1.0"?>
  <?qbxml version="4.0"?>
 <QBXML>
      <QBXMLMsgsRq onError="stopOnError">
        <SalesOrderAddRq  requestID="' . $requestID . '">
          <SalesOrderAdd>
              <CustomerRef> <!-- required -->
                <ListID >' . $requestID . '</ListID> <!-- optional -->
                <FullName >john Doe</FullName> <!-- optional -->
            </CustomerRef>
            <TxnDate>2013-05-23</TxnDate>
            <RefNumber>$requestID</RefNumber>
            <BillAddress>
                <Addr1>China Town One</Addr1>
                <Addr2>China Town Two</Addr2>
                <City>Pta Nai</City>
                <State>Dont Know</State>
                <PostalCode>420420</PostalCode>
                <Country>PK</Country>
            </BillAddress>
            <ShipAddress>
                <Addr1>China Town One</Addr1>
                <Addr2>China Town Two</Addr2>
                <City>Houston</City>
                <State>TX</State>
                <PostalCode>77074</PostalCode>
                <Country>US</Country>
            </ShipAddress>
            <SalesOrderLineAdd>
                <ItemRef>
                    <FullName>Booklets:CB1-101</FullName>
                </ItemRef>
                <Desc>CHF</Desc>
                <Quantity>15</Quantity>
                <Amount>59.25</Amount>
            </SalesOrderLineAdd>
            <SalesOrderLineAdd>
                <ItemRef>
                    <FullName>Booklets:CB3-101</FullName>
                </ItemRef>
                <Desc>High Blood Pressure</Desc>
                <Quantity>15</Quantity>
                <Amount>59.25</Amount>
            </SalesOrderLineAdd>
            <SalesOrderLineAdd>
                <ItemRef>
                    <FullName>Booklets:DB1-101</FullName>
                </ItemRef>
                <Desc>Diabetes Type 1 or 2 with Insulin</Desc>
                <Quantity>15</Quantity>
                <Amount>59.25</Amount>
            </SalesOrderLineAdd>
            <SalesOrderLineAdd>
                <ItemRef>
                    <FullName>Booklets:DB2-101</FullName>
                </ItemRef>
                <Desc>Diabetes Type 1 or 2 w/o Insulin</Desc>
                <Quantity>15</Quantity>
                <Amount>59.25</Amount>
            </SalesOrderLineAdd>
        </SalesOrderAdd>
    </SalesOrderAddRq>
</QBXMLMsgsRq>
 </QBXML>';

    return $xml;

}

这条消息:

3140: There is an invalid reference to QuickBooks Customer "john Doe" in the SalesOrder. QuickBooks error message: Invalid argument. The specified record does not exist in the list.

表示您要让 QuickBooks 添加客户 John Doe 的销售订单,但该客户 在 QuickBooks 中不存在

您不能向不存在的客户添加销售订单。

这类似于每个关系数据库系统的工作方式——您需要满足的记录之间存在外部 keys/dependencies。

这个:

<ListID >' . $requestID . '</ListID>

不是有效的 ListID 值。您需要传入一个有效的 ListID 值。

您正在为特定的 qbXML 请求传递 $requestID 值,这在各个方面都与客户的 ListID 完全无关。

请传递一个有效的 Customer ListID 值(或者,传递一个有效的 Customer Name 值并且根本不传递 ListID 标记)。