dongluanguang4774 2010-08-12 16:45
浏览 36
已采纳

未找到Magento列:访问Sales Shipment API时出现未知列'order_created_at'

Will appreciate any ideas on this error in Magento 1.4.1.1. I wonder why this happens but Magento 1.4.0 and Magento 1.3.2.4 works fine.

The error is caused by accessing Magento Sales Shipment List API with "order_created_at filter. This filter worked in previous versions but with this version it fails.

I wonder why this could happen.

Also see Magento Issue for reference: http://www.magentocommerce.com/bug-tracking/issue/?issue=9556 there are some details of request sent to Magento webservice.

Here is the actual request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:salesOrderShipmentList soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:Magento">
<sessionId xsi:type="xsd:string">bbb778755d046129c1c5df1cf4f0b119</sessionId>
<filters href="#id0"/>
</ns1:salesOrderShipmentList>
<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:filters" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="urn:Magento">
<filter xsi:type="ns2:associativeEntity" xsi:nil="true"/>
<complex_filter soapenc:arrayType="ns2:complexFilter[1]" xsi:type="soapenc:Array">
<complex_filter href="#id1"/>
</complex_filter>
</multiRef>
<multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns3:complexFilter" xmlns:ns3="urn:Magento" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<key xsi:type="xsd:string">order_created_at</key>
<value href="#id2"/>
</multiRef>
<multiRef id="id2" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns4:associativeEntity" xmlns:ns4="urn:Magento" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<key xsi:type="xsd:string">gt</key>
<value xsi:type="xsd:string">2010-07-08</value>
</multiRef>
</soapenv:Body>
</soapenv:Envelope>

Here is the response: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'order_created_at' in 'where clause'

  • 写回答

2条回答 默认 最新

  • duannaikuang1301 2010-08-13 09:43
    关注

    The truth is that "order_created_at" filter for shipments is broken (at least using SOAP API) in the latest 1.4.1.1 SE and 1.8.0 Enterprise versions, while it worked in previous versions.

    The workaround is to use "created_at" filter for shipments this will give some more extra shipments than expected for the the same period, but as the shipment creation time always goes after it's order creation time - it's safe that you will get all shipments of orders created after specified creation time.

    If someone needs more precise shipments list related to all orders created after given time then the shipments downloaded with "created_at" filter can be further filtered, although this will assume downloading orders list as well. Shortly, shipments can be further filtered on client side.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应