опишите, пожалуйста, как запросить счет Quickbooks с помощью Quickbooks PHP SDK для позиций, содержащих определенную дату обслуживания - PullRequest
0 голосов
/ 11 июня 2018

Мне нужно получить все даты обслуживания из отдельных позиций продаж по счету quickbooks с использованием PHP.

Я могу получить счет-фактуру, строки, но не дату обслуживания ...

Может кто-то указать мне верное направление?

$sql = "SELECT * FROM Invoice WHERE DocNumber ='".$docNumber."'";
$invoices = $InvoiceService->query($Context, $realm, $sql);
$Line = $invoices[0]->getLine(0);
$Detail = $Line->getSalesItemLineDetail();

and $Detail, when using  var_dump($Detail->getServiceDate()); 

returns null.

but a var_dump shows $Detail to be:

bject(QuickBooks_IPP_Object_SalesItemLineDetail)#90 (1) {
  ["_data":protected]=>
  array(6) {
    ["ItemRef"]=>
    array(1) {
      [0]=>
      string(5) "{-35}"
    }
    ["ItemRef_name"]=>
    array(1) {
      [0]=>
      string(5) "00008"
    }
    ["UnitPrice"]=>
    array(1) {
      [0]=>
      string(4) "2.86"
    }
    ["Qty"]=>
    array(1) {
      [0]=>
      string(1) "1"
    }
    ["TaxCodeRef"]=>
    array(1) {
      [0]=>
      string(4) "{-6}"
    }
    ["ServiceDate"]=>
    array(1) {
      [0]=>
      string(10) "2018-06-01"
    }
  }

}

1 Ответ

0 голосов
/ 11 июня 2018

Вы должны убедиться, что $ Line-> getDetailType () == 'SalesItemLineDetail', а затем с помощью метода get для SalesItemLineDetail вернет объект, содержащий метод getServiceDate (), и вернёт правильное значение.

if ($Line->getDetailType() == 'SalesItemLineDetail') {
  $Detail = $Line->getSalesItemLineDetail();
  echo $Detail->getServiceDate();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...