2017-03-09 3 views
1

Ich habe eine benutzerdefinierte Liste, die als Matrixoption des Artikels Inventar verwendet wird. Seine 'Farbe'. Diese benutzerdefinierte Liste enthält eine Abkürzungsspalte. Ich erstelle eine gespeicherte Suche für ein Objekt und benutze das Feld Farbe (Join) und versuche, auf das Feld 'Abkürzung' der Farbe zuzugreifen. Abkürzung für benutzerdefinierte Liste ist verfügbar, wenn 'Matrix Optionsliste' aktiviert ist. Kann mir bitte jemand helfen, dies zu erreichen? Ich habe versucht, dies über ein Skript zu tun, und es scheint, als könnten wir nicht über Skript auf die Spalte "Abkürzung" zugreifen. Ich habe auch versucht, Skript zu verwenden, um eine Suche direkt auf 'Farbe' - benutzerdefinierte Liste zu schreiben und die 'Abkürzung' durch Suchspalten zu erhalten. Es hat nicht funktioniert. Gibt es eine Möglichkeit, aus benutzerdefinierten Listen auf "Abkürzung" zuzugreifen?Zugriff auf das Feld "Abkürzung" einer benutzerdefinierten Liste in den benutzerdefinierten NetSuite-Listen

Vielen Dank im Voraus

Antwort

1

Sie es über suitescript unter Verwendung des Datensatztypen „Custom“ und die interne ID der Liste wie so zugreifen:

var rec = nlapiLoadRecord('customlist', 5); 
var abbreviation = rec.getLineItemValue('customvalue', 'abbreviation', 1); 
nlapiLogExecution('DEBUG', 'abbreviation', abbreviation); 

Beachten Sie, dass das dritte Argument von getLineItemValue ist die Zeilennummer, nicht die interne ID des Elements in der Liste. Wenn Sie eine bestimmte Werbebuchung suchen möchten, können Sie rec.findLineItemValue(group, fldnam, value) verwenden.


Leider sieht es nicht so aus, als würde dies gespeicherte Suchvorgänge bedeuten. Die suiteanswer bei https://netsuite.custhelp.com/app/answers/detail/a_id/10653 hat den folgenden Code:

var col = new Array(); 
col[0] = new nlobjSearchColumn('name'); 
col[1] = new nlobjSearchColumn('internalid'); 
var results = nlapiSearchRecord('customlist25', null, null, col); 
    for (var i = 0; results != null && i < results.length; i++) 
    { 
     var res = results[i]; 
     var listValue = (res.getValue('name')); 
     var listID = (res.getValue('internalid')); 
     nlapiLogExecution('DEBUG', (listValue + ", " + listID)); 
    } 

jedoch unabhängig Teil der Anwendungsschicht schlägt sich dies in einer Abfrage nicht die Abkürzung Bereich behandeln. Eine Sache zu beachten ist, dass der "benutzerdefinierte Liste" Datensatz ist im Grunde ein Header-Datensatz, und jeder einzelne Eintrag ist seine eigene Aufzeichnung, die damit verbunden ist. Sie können einige der zugrunde liegenden Struktur sehen here, aber das Mitnehmen ist, dass Sie eine Möglichkeit, Drill-Down in die Listeneinträge benötigen würde, und die gespeicherte Suchoberfläche nicht wirklich unterstützt.

Ich könnte falsch liegen, aber ich glaube nicht, dass es eine Möglichkeit gibt, es in einer gespeicherten Suche auszuführen, so wie es ist. Ich dachte, der erste Teil meiner Antwort könnte Ihnen helfen, einen Workaround zu finden.

Verwandte Themen