Может ли Netsuite Suitescript изменить файл в картотеке?

StackOverflow https://stackoverflow.com/questions/1765886

  •  21-09-2019
  •  | 
  •  

Вопрос

У меня есть большой список продуктов, и мне нужно сгенерировать его статический файл, и сделать так, чтобы этот файл был доступен на моем веб-сайте.В настоящее время я создаю список и загружаю его в картотеку.Я хочу автоматизировать этот процесс.Я хотел бы запланировать запуск SuiteScript каждую ночь, сгенерировать этот список и обновить файл в картотеке.

Можно ли это сделать?

Спасибо

Это было полезно?

Решение

Вы можете автоматизировать этот процесс с помощью SuiteScript.Для этого вы должны использовать вызовы nlapiLoadFile и nlapiSubmitFile.Если у вас большой список продуктов, вы, скорее всего, столкнетесь с несколькими другими проблемами.Скорее всего, вы столкнетесь с ограничениями в управлении, и вам нужно будет разработать этот скрипт таким образом, чтобы он отслеживал прогресс и соответствующим образом перепланировал себя.Поиск по SuiteScript вернет только первые 1000 записей.Если у вас есть более 1000 элементов для включения в этот файл, вам, вероятно, потребуется использовать флаг в записи элемента, чтобы отслеживать, какие элементы остаются для экспорта.В настоящее время размер файла ограничен 5 МБ при загрузке или создании файлов с помощью SuiteScript.

Другие советы

Пример SuiteScript для создания файла:

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

Да, вы могли бы сделать это с помощью запланированных сценариев и запланировать их по своему желанию.Не существует специальной функции API для редактирования существующего файла, вы могли бы взять детали существующего файла и создать новый файл с теми же деталями, но изменив только поле данных и удалив старый файл.

    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
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top