Код: Выделить всё
Fatal error: Uncaught SoapFault exception: [soapenv:Server.userException] com.netledger.schemabean.NLSchemaBeanException: getResponse is not a legal value for {urn:types.core_2022_1.platform.webservices.netsuite.com}RecordType in /var/www/composer/vendor/ryanwinchester/netsuite-php/src/NetSuiteClient.php:196
Stack trace:
#0 /var/www/composer/vendor/ryanwinchester/netsuite-php/src/NetSuiteClient.php(196): SoapClient->__soapCall()
#1 /var/www/composer/vendor/ryanwinchester/netsuite-php/src/NetSuiteService.php(103): NetSuite\NetSuiteClient->makeSoapCall()
#2 /var/www/vhosts/intranet.kegworks.com/docs/netsuite/modify_sales_order.php(37): NetSuite\NetSuiteService->update()
#3 {main}
Строка 37 в мой код:
Код: Выделить всё
$updateResponse = $ns2->update($update);
Код: Выделить всё
// Netsuite PHP
require ($inc_path . "composer/vendor/autoload.php");
use NetSuite\NetSuiteService;
use NetSuite\Classes\GetRequest;
use NetSuite\Classes\RecordRef;
use NetSuite\Classes\UpdateRequest;
$ns = new NetSuiteService($ns_creds[$env]);
$ns->setLogPath('/var/www/vhosts/*********************/docs/netsuite/logs');
$ns->logRequests(true);
$request = new GetRequest();
$request->baseRef = new RecordRef();
$request->baseRef->internalId = 86900717;
$request->baseRef->type = "salesOrder";
$response = $ns->get($request);
$response->department = "Commercial Sales";
$ns2 = new NetSuiteService($ns_creds[$env]);
$update = new UpdateRequest();
$update->record = $response;
$updateResponse = $ns2->update($update);
print_r ($updateResponse);
print_r ($response);
Поискивал еще немного и думаю, что нашел правильный способ сделать это, но это не так. кажется, не работает. Новый код:
Код: Выделить всё
// Netsuite PHP
require ($inc_path . "composer/vendor/autoload.php");
use NetSuite\NetSuiteService;
use NetSuite\Classes\GetRequest;
use NetSuite\Classes\RecordRef;
use NetSuite\Classes\SalesOrder;
use NetSuite\Classes\UpdateRequest;
$ns = new NetSuiteService($ns_creds[$env]);
$ns->setLogPath('/var/www/vhosts/*********************/docs/netsuite/logs');
$ns->logRequests(true);
$dep = new RecordRef();
$dep->internalId = "10";
$dep->name = "Commercial Sales";
$so = new SalesOrder();
$so->internalId = 86900717;
$so->department = $dep;
$request = new UpdateRequest();
$request->record = $so;
$response = $ns->update($request);
print_r($response);
print_r($so);
Код: Выделить всё
NetSuite\Classes\UpdateResponse Object
(
[writeResponse] => NetSuite\Classes\WriteResponse Object
(
[status] => NetSuite\Classes\Status Object
(
[statusDetail] => Array
(
[0] => NetSuite\Classes\StatusDetail Object
(
[code] =>
[message] =>
[afterSubmitFailed] =>
[type] => ERROR
)
)
[isSuccess] => 1
)
[baseRef] => NetSuite\Classes\RecordRef Object
(
[internalId] => 86900717
[externalId] =>
[type] => salesOrder
[name] =>
)
)
)
Подробнее здесь: https://stackoverflow.com/questions/791 ... ales-order
Мобильная версия