2016-08-16 2 views
2

Um SubmitFields auf Standard Netsuite Datensätze (das heißt von Bestellungen) ausführen es so etwas wie dieses:Wie führe ich SubmitFields für einen benutzerdefinierten Datensatz in SuiteScript 2.0 aus?

var poId = context.key; 

    var id = record.submitFields({ 
     type: record.Type.PURCHASE_ORDER, 
     id: poId, 
     values: { 
      custbody_someField: someValue 
     }, 
     options: { 
      enableSourcing: false, 
      ignoreMandatoryFields : true 
     } 
    }); 

Was für benutzerdefinierte Aufzeichnungen das Typenfeld ist? Ich habe versucht, die ID des benutzerdefinierten Datensatzes, aber es funktioniert nicht: z.

type: record.Type.customrecord_my_record_id 

Antwort

4

Ich weiß nicht, was die "offizielle" Antwort ist. Die falschen Enum-Typen haben keine benutzerdefinierten Datensatzverweise, die ich finden konnte. Das Festlegen des Typs auf die Zeichenfolge, die die ID des benutzerdefinierten Datensatzes ist, funktioniert für mich. (No record.Type. Präfix obwohl)

... type: "customrecord_my_record_id", ...

+2

Dies wäre meine Vermutung. Die von NetSuite bereitgestellten Enumerationen dienen nur für systemeigene Datensätze. Sie wären nicht in der Lage, Ihre benutzerdefinierten Datensatztypen aufzuzählen, es sei denn, sie erzeugen die Enumeration jedes Mal dynamisch, wenn das 'N/record'-Modul geladen wird, was ich sehr bezweifle, dass sie es jemals tun werden. Die rohe Zeichenfolge-ID für den Parameter "type" sollte funktionieren. – erictgrubaugh

+0

Das ist richtig. Ich habe das ein paar Mal in unseren Skripten verwendet. – W3BGUY

1

Das ist wahr, dass die Verweise sind nur für Standard-Datensatztypen. Sie können alternativ alle enums in eine Variable und loggen Sie sie mit

var recordTypesEnums = Object.keys(record.Type); 
//you may log recordTypesEnums array 
Verwandte Themen