我需要使用PHP从quickbooks发票上的销售明细行项目中检索所有服务日期。
我可以检索发票,行,但不是服务日期......
有人能指出我正确的方向吗?
$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"
}
}
}
答案 0 :(得分:0)
您必须确保$ Line-> getDetailType()==' SalesItemLineDetail',然后 使用SalesItemLineDetail的get方法将返回一个包含getServiceDate()方法的对象,该对象将返回正确的值。
if ($Line->getDetailType() == 'SalesItemLineDetail') {
$Detail = $Line->getSalesItemLineDetail();
echo $Detail->getServiceDate();
}