Pergunta

Eu tenho uma grande lista de produtos e preciso gerar um arquivo estático e fazer com que esse arquivo seja acessível no meu site. Atualmente, eu gero a lista e a carrego para o gabinete de arquivos. Desejo automatizar esse processo. Gostaria de agendar um suites para executar todas as noites e gerar esta lista e atualizar um arquivo no gabinete do arquivo.

Isso pode ser feito?

obrigado

Foi útil?

Solução

Você pode automatizar esse processo com o SuiteScript. Você usaria as chamadas Nlapiloadfile e NlapisubMitFile para realizá -lo. Se você tiver uma grande lista de produtos, provavelmente encontrará alguns outros problemas. É provável que você atinja os limites da governança e precisará desenvolver esse script para que ele rastreie o progresso e se reagenda adequadamente. As pesquisas do Suitescript retornarão apenas os primeiros 1000 registros. Se você tiver mais de 1000 itens a serem incluídos neste arquivo, provavelmente precisará usar um sinalizador no registro do item para rastrear quais itens permanecem para exportação. Atualmente, existe um limite de 5 MB no tamanho do arquivo ao carregar ou criar arquivos usando o SuiteScript.

Outras dicas

Exemplo do Suitescript para criar um arquivo:

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

Sim, você pode fazer isso usando scripts programados e agendá -los como seu desejo. Não existe uma função API especial para editar um arquivo existente, você pode pegar os detalhes do arquivo existente e criar um novo arquivo com os mesmos detalhes, mas alterando apenas o campo de dados e excluindo o arquivo antigo.

    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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top