我正在尝试使用QuickBooks SDK根据某些条件添加一项。我有5种QuickBooks方法,如下所示。
$Queue->enqueue(QUICKBOOKS_IMPORT_INVOICE, QB_PRIORITY_INVOICE);
$Queue->enqueue(QUICKBOOKS_IMPORT_CUSTOMER, QB_PRIORITY_CUSTOMER);
$Queue->enqueue(QUICKBOOKS_IMPORT_ITEM, QB_PRIORITY_ITEM);
$Queue->enqueue(QUICKBOOKS_IMPORT_SALESORDER, QB_PRIORITY_SALESORDER);
$Queue->enqueue(QUICKBOOKS_ADD_SALESORDER, QB_PRIORITY_ADD_SALESORDER);
在最后一种方法中,我正在检查是否将该项目添加到QuickBooks中,然后仅将订单同步到自定义仪表板。如果商品未同步,我将使用ItemInventory XML进行添加。这是我的逻辑
$Queue = QuickBooks_WebConnector_Queue_Singleton::getInstance();
$item = $Queue->enqueue(QUICKBOOKS_ADD_INVENTORYITEM, null, QB_PRIORITY_ADD_ITEM, array( 'SKU' => $sku ));
现在,当我运行QuickBooks Web连接器时,它将执行所有此方法,但是当执行order方法时,如果未同步项目,它将调用最后一个方法(添加项目),然后在此停止。它不添加任何项目。
但是现在,当我第二次运行连接器时,它将从该项目添加方法开始同步(方法成功执行),然后,它将执行所有方法。
所以我的问题是项目添加方法在第二次运行后执行。我如何在第一次尝试中运行它。