Frage

Ich habe eine große Produktauswahl und eine statische Datei zu generieren, und habe diese Datei in meiner Website zugänglich sein. Derzeit erzeugen ich die Liste, und es den Aktenschrank laden. Ich möchte diesen Prozess automatisieren. Ich möchte einen SuiteScript planen jede Nacht laufen zu lassen und diese Liste zu erzeugen und eine Datei in der CAB-Datei zu aktualisieren.

Kann dies geschehen?

Dank

War es hilfreich?

Lösung

Sie können diesen Prozess mit SuiteScript automatisieren. Sie würden die nlapiLoadFile und nlapiSubmitFile Anrufe verwenden, um es zu erreichen. Wenn Sie eine große Produktliste haben, sind Sie wahrscheinlich ein paar andere Probleme zu begegnen. Sie sind wahrscheinlich Treffer Governance Grenzen und müssen dieses Skript entwickeln, damit es Fortschritte verfolgt und Umplanungen sich entsprechend. SuiteScript Suche werden nur die ersten 1000 Datensätze zurück. Wenn Sie mehr als 1000 Elemente haben in dieser Datei enthalten, werden Sie wahrscheinlich eine Flagge auf dem Artikeldatensatz verwenden müssen, welche Elemente bleiben für den Export zu verfolgen. Derzeit gibt es eine 5 MB Grenze für die Dateigröße beim Laden oder Erstellen von Dateien mit SuiteScript.

Andere Tipps

Beispiel SuiteScript eine Datei zu erstellen:

var data = 'Your,CSV,File,Here';
var folderId = 519; // Your File Cabinet folder ID here

// Create the file and add it to the folder
var f = nlapiCreateFile('products.csv', 'CSV', data);
f.setFolder(folderId);
var id = nlapiSubmitFile(f);

// If you want to attach the file to a record, you can do something like this:
nlapiAttachRecord('file', id, 'customrecord_x', recordId);

Ja, man könnte es tun geplant Scripts verwenden und planen, dass sie als Ihr Wunsch. Es gibt keine spezielle API-Funktion zu bearbeiten eine vorhandene Datei, können Sie die Details der vorhandenen Datei übernehmen und eine neue Datei mit den gleichen Details erstellen, aber das Datenfeld nur und löschen Sie die alte Datei zu ändern.

    var start = function(request, response)
{
    var fileId = "107524";//get the existing file id
    var file = nlapiLoadFile(fileId);
    var data = file.getValue();
    var name = file.getName();
    var folderId = file.getFolder();
    var fileType = file.getType();
    nlapiDeleteFile(fileId);//delete the older file

    data += "this is the appended data";//change the data
    var newFile = nlapiCreateFile(name, fileType, data);//create a new file with the same details
    newFile.setFolder(folderId);
    nlapiSubmitFile(newFile);//submit it
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top