2016-07-05 11 views
1

受注のCustbodyフィールドを更新する必要があります。Netsuite PHPツールキットの更新販売注文

フィールドはドロップダウンとチェックボックスです。チェックボックスフィールドに「チェック」値を送信するにはどうすればよいですか?結果は「成功」を返しますが、フィールドは既存の値から決して更新されません。ここに私のコードです。

$customStringFieldList = new StringCustomFieldRef(); 
$customStringFieldList->internalId = "custbody_order_status"; 
$customStringFieldList->value = "Cancelled"; 

$customSelectFieldList = new SelectCustomFieldRef(); 
$customSelectFieldList->value = new ListOrRecordRef(); 
$customSelectFieldList->value->internalId = 49; 
$customSelectFieldList->internalId = 'custbody_shipping_confirmed'; 
//send true? 

$basicCustomRecord = new SalesOrder(); 
$basicCustomRecord->internalId = "114467"; // internal id of the custom record you want to update 
$basicCustomRecord->recType = new RecordRef(); 
$basicCustomRecord->customFieldList = new CustomFieldList(); 
$basicCustomRecord->customFieldList->customField = array($customStringFieldList, $customSelectFieldList); 

$updateRequest = new UpdateRequest(); 
$updateRequest->record = $basicCustomRecord; 

$updateResponse = $service->update($updateRequest); 

var_dump($updateResponse); 
if (!$updateResponse->writeResponse->status->isSuccess) { 
    echo "UPDATE ERROR"; 
    exit(); 
} else { 
    echo "UPDATE SUCCESS, id " . $updateResponse->writeResponse->baseRef->internalId; 
} 

答えて

0

は、あなたが将来的にこの問題に苦しむことがある人のためにそれを行うだろうかです:

$si = 'internal value of the option you can find this in custom settings'; 

$customSelectFieldList = new SelectCustomFieldRef(); 
$customSelectFieldList->value = new ListOrRecordRef(); 
$customSelectFieldList->value->internalId = $s_id; 
$customSelectFieldList->scriptId = 'custbody_order_status'; 


    $aBooleanField = new BooleanCustomFieldRef(); 
    $aBooleanField->value = true; 
    $aBooleanField->scriptId = 'custbody_move_confirmed'; 



      $SalesOrderId = 437127; 
      $SalesOrderRecord = new SalesOrder(); 
      $SalesOrderRecord->internalId = $SalesOrderId; 


      $SalesOrderRecord->customFieldList = new CustomFieldList(); 
      $SalesOrderRecord->customFieldList->customField = array($customSelectFieldList,$aBooleanField); 

      $updateRequest = new UpdateRequest(); 
      $updateRequest->record = $SalesOrderRecord; 

      $updateResponse = $service->update($updateRequest); 


      if (!$updateResponse->writeResponse->status->isSuccess) { 
       echo "UPDATE ERROR"; 
       exit(); 
      } else { 
       echo "UPDATE SUCCESS, id " . $updateResponse->writeResponse->baseRef->internalId; 


      } 
0

私はそれを見逃している可能性があります。しかし、私はあなたがチェックされた値またはチェックされていない値をどこに設定しているのかわかりません。

つまり、SuiteScript 1.0では、フィールドの値としてチェックボックスをオンまたはオフにするには 'T'または 'F'を使用します。

2.0では、通常、trueまたはfalse(文字列ではなくブール値)を使用できます。ここで

関連する問題