هل يمكن لـ 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