Domanda

Ho una grande lista dei prodotti e bisogno di generare un file statico di esso, e che hanno il file sia accessibile nel mio sito. Attualmente, ho generare la lista, e caricarlo sul schedario. Vorrei automatizzare questo processo. Vorrei programmare un SuiteScript per eseguire ogni notte e generare questo elenco e aggiornare un file nel raccoglitore.

si può fare?

grazie

È stato utile?

Soluzione

È possibile automatizzare questo processo con SuiteScript. Si potrebbe utilizzare il nlapiLoadFile e nlapiSubmitFile chiamate a realizzarlo. Se si dispone di un elenco di grandi dimensioni prodotto che rischia di incontrare un paio di altre questioni. Si rischia di colpire i limiti di governance e avrà bisogno di sviluppare questo script in modo che rintraccia il progresso e si riprogramma in modo appropriato. Ricerche SuiteScript torneranno solo i primi 1000 record. Se si dispone di più di 1000 elementi da includere in questo file, è probabile che sia necessario utilizzare una bandiera sul record voce per tenere traccia di quali elementi rimangono per l'esportazione. Non ci sono attualmente un limite di 5 MB alle dimensioni del file durante il caricamento o la creazione di file utilizzando SuiteScript.

Altri suggerimenti

Esempio SuiteScript per creare un file:

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);

Sì, è possibile farlo utilizzando degli script pianificate e pianificare come vostro desiderio. Non esiste una funzione speciale API per modificare un file esistente, si potrebbe prendere i dettagli del file esistente e creare un nuovo file con gli stessi dettagli, ma cambiando il campo dati solo ed eliminare il vecchio file.

    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
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top