2012-09-25 2 views
2

업데이트해야하는 NetSuite 파일 캐비닛 내에 파일이 있습니다 (URL 필드가 변경됨). 이 사이트에서 유명한 기사를 찾았지만 요청한 코드를 수행 할 코드 예제가 없습니다. nlapiLoadFile 및 nlapiSubmitFile 호출을 사용함을 나타냅니다. 누구든지 코드 예제를 지원할 수 있습니까?파일 캐비닛의 파일을 수정하는 NetSuite SuiteScript

링크 : Can Netsuite Suitescript modify a file in the file cabinet?

+1

불행하게도, 나는 SuiteScript 기록 브라우저에서 URL 필드가 표시되지 않은 : 가 https://system.netsuite.com/help/helpcenter/en_US/RecordsBrowser/2011_2/index.html 내가 찾은 "폴더를 "필드 테이블에는 URL이 포함되어 있지 않으므로 필드를 스크립팅에 사용할 수없는 것처럼 보입니다. – user1698662

답변

1

대신 필드의 파일을 의미합니까? nlapiLoadFile (/ path/file)을 사용하면 getURL()을 사용하여 해당 파일에 대한 링크를 제공 할 수 있습니다.

2

예, 다소 이상하게 보입니다. 내가 찾은 유일한 방법은 다음과 같습니다

  1. 로드 파일
  2. 의 파일 핸들을 만들기 : 당신이 의도 한으로 설정
    • 파일 이름을.
    • 콘텐츠를 원하는 것으로 설정하십시오.
  3. 폴더를 설정하고 제출하십시오.

내가 코드를 첨부이 도움이

 

    var file = nlapiLoadFile(file_id); 
    var content = file.getValue(); 
    content = '...put your content...'; 
    file = nlapiCreateFile(file.getName(), 'FILE TYPE', content); 
    file.setFolder(required_folder_id); 
    nlapiSubmitFile(file); 

희망을 니펫을.

+0

이것은 매우 유용한 답변이며 imho에게 올바른 답변입니다. 콘텐츠 매개 변수에 대해 알지 못했습니다. –

0

NetSuite에는 편집 파일 종류의 API가 없습니다. 원본 파일을로드하고 필요에 따라 내용을 수정 한 다음 동일한 파일 이름으로 동일한 폴더 안에 새 파일을 만들어 해당 데이터를 제출해야합니다. 이것은 기존 파일을 단순히 대체합니다.

var original = nlapiLoadFile(FILE_ID_OR_FILE_PATH_IN_FILE_CABINET); 
var originalContent = original.getValue(); //Return the value (base64 encoded for binary types) of the file 

var updated = nlapiCreateFile(original.getName(), FILE_TYPE, UPDATED_FILE_CONTENTS); 
updated.setFolder(original.getFolder()); 
nlapiSubmitFile(updated); 
2

기존 파일을 편집 할 수있는 특별한 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 
} 
관련 문제