2017-05-03 3 views
1

Ich versuche meine Hand bei einem 2.0 Restlet. Dies ist mehr oder weniger meine erste Erfahrung mit SuiteScript 2.0. Ich versuche, einen Kreditzahlungsdatensatz zu erstellen. Ich konnte einen Kreditorendatensatz ohne ein Problem erstellen, aber wenn ich mit Kreditorzahlung versuche, erhalte ich einen Fehler, der besagt: "Sie müssen mindestens eine Werbebuchung für diese Transaktion eingeben", was sinnvoll erscheint. Dort bin ich allerdings festgefahren. Ich kann den Unterlistenpunkt in 2.0 nicht erstellen.Wie erstellt man einen Kreditor-Zahlungsdatensatz aus einem NetSuite 2.0-Restlet?

Ich habe ein paar Dinge ausprobiert, aber im Grunde ein Datensatz wie folgt Ich schaffe (. Typ, isDynamic und Defaultvalues ​​sind Parameter in dieser Funktion isDynamic ist false):

var rec = record.create({ 
     type: type, 
     isDynamic: isDynamic, 
     defaultValues: defaultValues 
    }); 

Wie kann ich dann Verwenden Sie 'rec', um eine Transaktion hinzuzufügen? Ich nehme an, es auf die ‚Anwendung‘ sublist geht, also habe ich ein paar Dinge ähnlich wie

rec.selectLine('apply', 0); 
    rec.setSublistValue({'sublistId': 'apply', 'fieldId': 'doc', 'value': 'blah', 'line': 0}); 

versucht, aber ich erhalte eine Fehlermeldung, die sagt: „Kann nicht Funktion Selectline in Objekt DeferredDynamicRecord finden“. Ich habe auch andere Schnipsel ausprobiert, aber keine Liebe. Ich bin mir nicht sicher, ob ich den richtigen Weg gehe. Danke im Voraus.

Antwort

0

Nur auf der Grundlage des von Ihnen zur Verfügung gestellten Codes sind einige Punkte zu beachten. Zunächst müssen Sie bei dieser Art von Datensatz den 'entity' Wert in Ihrer defaultValue Eigenschaft setzen, damit sogar eine 'apply'-Liste verfügbar ist, um Werte abzurufen oder festzulegen. Ihre andere Option wäre, 'isDynamic' auf 'wahr' zu setzen. Damit müssen Sie erneut den Wert "Entity" festlegen, bevor Sie auf die Liste "apply" zugreifen können.

Das nächste Problem ist der Aufruf rec.selectLine(). Sie müssen keine selectLine() ausführen, wenn sich der Datensatz nicht im dynamischen Modus befindet. Wenn Sie also line() auswählen, müssen Sie den Aufruf setCurrentSublistValue/Text() verwenden.

Schließlich können Sie den Wert "doc" nicht in der Anwendungsliste festlegen. Dies ist keine Unterliste, wie z. B. die Artikelunterliste eines Kundenauftrags, die dynamisch hinzugefügt werden kann. Es ist mehr wie die Liste auf der Artikelerfüllung, die einschränkt, welche Optionen Sie in Bezug auf Einstellungswerte haben. Sie können nur die folgenden Felder in der Anwendungsliste auf dem Bildschirm "Rechnungszahlung" beeinflussen:

"Anwenden" Dies ist die Checkbox ganz links. 'Disc' - das Disc Taken Feld. 'Betrag' - Zahlungsfeld.

Ich schlage vor, dass Sie den Prozess zum Erstellen einer Rechnungszahlung in der Benutzeroberfläche durchlaufen, damit Sie verstehen, wie der Prozess vom Zeitpunkt her funktionieren muss, bevor Sie Ihr Skript reparieren. Viel Glück und ich hoffe das hilft.

Verwandte Themen