Pregunta

Tengo una gran lista de productos y la necesidad de generar un archivo estático de él, y han dicho archivo será accesible en mi sitio web.En la actualidad, puedo generar la lista, y se carga en el archivo del gabinete.Quiero automatizar este proceso.Me gustaría programar una SuiteScript para ejecutar cada noche y generar esta lista y actualizar un archivo en el gabinete.

Se puede hacer esto?

gracias

¿Fue útil?

Solución

Puede automatizar este proceso con SuiteScript. Se podría utilizar el nlapiLoadFile y nlapiSubmitFile llamadas para lograrlo. Si usted tiene una lista de productos grande que es probable que encuentre algunas otras cuestiones. Es probable que golpear los límites de gobierno y tendrá que desarrollar este script de manera que hace un seguimiento de los avances y reprograma misma manera apropiada. SuiteScript búsquedas sólo se devolverán los primeros 1000 registros. Si usted tiene más de 1000 artículos para incluir en este archivo, es probable que necesite usar una bandera en el registro de artículo para rastrear los elementos que quedan para la exportación. En la actualidad existe un límite de 5 MB en el tamaño del archivo cuando se carga o la creación de archivos utilizando SuiteScript.

Otros consejos

Ejemplo SuiteScript para crear un archivo:

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í, se puede hacer que el uso de secuencias de comandos programados y programarlos como su deseo. No existe una función API especial para editar un archivo existente, usted podría tomar los detalles del archivo existente y crear un nuevo archivo con los mismos datos pero cambiando el campo de datos única y borrar el archivo antiguo.

    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
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top