2016-05-13 17 views
0

Wenn der Fakturierungsplan ausgeführt wird, generiert er automatisch Rechnungen aus dem Kundenauftrag. Wenn dies geschieht - wie kann ich einen Link im Kundenauftrag anlegen, mit dem ich die entsprechende Rechnung im Code laden kann?NetSuite - So erstellen Sie einen Referenzlink

Ich brauche das, damit ich ein paar Feldwerte aus der Rechnung holen kann, aber ich kann nicht direkt von einer anderen Entität auf die Rechnung zugreifen, die nur auf den Kundenauftrag bezogen scheint.

EDIT 1:

var fil = []; 
fil[0] = new nlobjSearchFilter('createdfrom', null, 'is', nlapiGetRecordId()) 
var col = []; 
col[0] = new nlobjSearchColumn('internalid'); 
var invoices = nlapiSearchRecord('invoice', null, fil, col); 
nlapiLogExecution('DEBUG', 'field val', invoices); 

ungültig Operator wirft oder nicht in der richtigen Syntax: createdfrom.

Antwort

3

Obwohl das Hinzufügen eines Links zum Kundenauftrag eine praktikable Lösung ist, ist dies nicht Ihre einzige Option. Alternativ können Sie nach Rechnungen suchen, bei denen das Feld createdfrom die interne ID Ihres Kundenauftrags ist. So etwas wie in SuiteScript 1.0:

var invoices = nlapiSearchRecord('invoice', null, 
    [['createdfrom', 'is', nlapiGetRecordId()]], 
    [/* create search columns for the fields you need off the invoice */] 
) || []; 

oder in 2.0:

var invoices = search.create({ 
    "type": search.Type.INVOICE, 
    "filters": [['createdfrom', 'is', context.currentRecord.id]], 
    "columns": [/* create search columns for the fields you need off the invoice */] 
}).run().each(processResult); 

Diese erhalten Sie eine Liste aller Rechnungen aus Ihrem Kundenauftrag erstellt (was wahrscheinlich ist nur 1). Wenn Sie der Ansicht sind, dass Sie eine Verknüpfung mit der Rechnung im Kundenauftrag benötigen, können Sie das benutzerdefinierte Feld body hinzufügen und dann ein Benutzerereignis für den Rechnungsdatensatz erstellen, der dieses neue Feld mit dem Wert createdfrom für das Ereignis Before Submit füllt . Was passiert aber, wenn Ihr Kundenauftrag über mehrere Rechnungen bezahlt wird?

+0

Danke für den Vorschlag. Willst du sagen, dass die createdfrom ein Build-in-Feld ist? Das createfrom-Feld, das ich auf dem Rechnungsformular sehe, enthält die internid nicht wie folgt: "Kundenauftrag #SO -6" – MG2016

+1

@ MG2016 'createdfrom' ist die interne Standard-ID für' Kundenauftrag # SO' – Rockstar

+0

Dies gibt ein Ungültiger Operator oder nicht in der richtigen Syntax: createdfrom. – MG2016

Verwandte Themen