2016-06-12 22 views
1

Es sieht so aus, als ob es eine Einschränkung gibt, wenn wir Lieferanten in NetSuite importieren, da wir nicht mehrere Niederlassungen in unseren Mappings angeben können.NetSuite - Mehrere Subsidiaris für den Lieferantenimport Problem

Da ich einige 100 Lieferanten importieren muss, möchte ich nicht wirklich jede Herstellerakte bearbeiten, wo ein Verkäufer mehr als auf Tochtergesellschaft verlangt.

Können wir irgendetwas clever im Code dafür tun oder hat jemand eine Lösung für diese Einschränkung?

Danke

Antwort

1

Als Alternative zu Rusty Shackles gibt es eine undokumentierte Unterliste, auf die in den Lieferantenunterlagen der Tochtergesellschaften zugegriffen werden kann. Diese Unterliste hat den Namen submachine. Aus irgendeinem Grund muss auf sie zugegriffen werden, indem record.selectLineItem, record.setCurrentLineItemValue und record.commitLineItem im Gegensatz zu den API-Funktionen record.setLineItemValue verwendet werden.

Zum Beispiel habe ich ein Massenupdate-Skript, das verwendet wurde, um eine Tochtergesellschaft von jedem Anbieter in der Massenaktualisierungssuche zu ersetzen. Hier ist der Code Probe

function massUpdate(recType, recId) { 
    var context = nlapiGetContext(); 
    var subToRemove = context.getSetting('SCRIPT', 'custscript_subsidiary_to_remove'); 
    var subToReplace = context.getSetting('SCRIPT', 'custscript_replacement_sub'); 
    var record = nlapiLoadRecord('vendor', recId); 
    var lineCount = record.getLineItemCount('submachine'); 
    nlapiLogExecution('DEBUG', 'lineCount = ' + lineCount) 
    if (lineCount > 0){ 
     for (var i = 1; i <= lineCount; i++){ 
      record.selectLineItem('submachine', i); 
      var sub = record.getCurrentLineItemValue('submachine', 'subsidiary') 
      nlapiLogExecution('DEBUG', i, sub); 
      if (sub == subToRemove){ 
       record.setCurrentLineItemValue('submachine', 'subsidiary', subToReplace); 
       record.commitLineItem('submachine'); 
       break; 
      } 
     } 
    } 
    nlapiSubmitRecord(record); 
} 

Damit eröffnet die Möglichkeit, eigene geplante Skript zu schreiben, die eine Datei verarbeitet und aktualisiert die Tochtergesellschaft Liste, aus welchem ​​Grund eine CSV-Upload nicht verwendbar ist.

+0

Großartig, danke für die Probe. – MG2016

2

Sie haben versucht, zwei Importe zu tun.

Die erste, die den Kreditor Datensatz in Netsuite erstellen, nur einen, wenn die Tochtergesellschaften. Dann redigieren Sie Ihre CSV-Datei zu etwas wie diesem:

Dann machen Sie einen aktualisierten CSV-Import.

+0

Ja, das funktioniert. Danke vielmals! – MG2016