Я использую PHP для подключения к Microsoft Dynamics Nav (Navision) Web Services 2016. Аутентификация (NTLM) работает нормально, и я могу получать данные. Пока что я тестирую страницу товара и страницу списка товаров.
Я могу легко отфильтровать, какие элементы я хочу получить, но теперь я хотел бы также отфильтровать столбцы, которые я получаю. Есть ли способ сделать это? В основном эквивалент MySQL SELECT this, that, theOther...
заявление вместо SELECT *...
Вот некоторые соответствующие коды, которые я использовал это руководство в качестве отправной точки.
try {
$pageURL = $baseURL . "ItemList";
$service = new NTLMSoapClient($pageURL);
// this filter says to get all items. I could change Criteria to an item number to get just that item.
$params = array('filter'=>array( array('Field'=>'No', 'Criteria'=>'*') ), 'setSize'=>20);
$result = $service->ReadMultiple($params);
$resultSet = $result->ReadMultiple_Result->ItemList;
if (is_array($resultSet)) {
foreach($resultSet as $rec) {
echo $rec->No . " " . $rec->Description."<br>";
}
} else {
echo $resultSet->No . " " . $resultSet->Description."<br>";
}
} catch (Exception $error) {
echo "<hr><b>ERROR: SoapException:</b> [" . $error . "]<hr>";
echo "<pre>" . htmlentities(print_r($service->__getLastRequest(),1)) . "</pre>";
}
Задача ещё не решена.
Других решений пока нет …