2017-09-15 3 views
3

誰かが、ACCEからの一括アクションスクリプトから書き込んだJavaScriptをどのようにデバッグすることができるか、というアイディアを投げ捨てることはできますか?アラートまたはデバッグに関する記述がそこでは機能しない可能性があることを理解しています。私たちが持っている他の選択肢は何ですか?ACCEからバルクアクションのjavascriptをデバッグするにはどうすればよいですか?

答えて

2

私はJavaでスクリプトを書いています。

輸入はほぼ同じです。変数はStringなどの代わりにvarとして再宣言する必要があります。他のすべてはほぼ同じです。

注意しておきたいことがあります: ceobjectですぐに更新を呼び出す必要があるかもしれません。 JavaScriptのようにceobjectを呼び出すメソッドでJavaクラスを設定したいと思うかもしれません。

IBMは、JavaScriptの例としてSetting document properties. を提供しています。同じページに、ACCE JavaScript内からのJava APIの使用例を示す他の例があります。

それが一括更新機能の最も一般的な用途の一つを示し、これは特に良い例です:

importClass(Packages.com.filenet.api.property.Properties); 
importClass(Packages.com.filenet.api.constants.RefreshMode); 

function OnCustomProcess (CEObject) 
{ 
    CEObject.refresh(); 
    CEObject.getProperties().putValue("DocumentTitle", "Test1"); 
    CEObject.save(RefreshMode.REFRESH); 
} 

Javaで書かれた、まったく同じコード:

import com.filenet.api.property.Properties; 
import com.filenet.api.constants.RefreshMode; 
import com.filenet.api.core.Document; 

public class Java2JavaScript { 

    public void OnCustomProcess (Document CEObject) 
    { 
     CEObject.refresh(); 
     CEObject.getProperties().putValue("DocumentTitle", "Test1"); 
     CEObject.save(RefreshMode.REFRESH); 
    } 

次のような違い

  1. インポート文の構文が少し異なります。
  2. CEObjectのインポートはJavaScriptでは必要ありませんが、Javaでは必要です。ただし、JavaScriptに含めることができます。この場合、文書import com.filenet.api.core.Document;をインポートしますが、Documentの代わりに他のタイプのCEObjectを使用することもできます。
  3. Javaクラスには有効なクラス定義が必要です。
  4. JavaメソッドでCEObjectを宣言する必要があります。さらに、Javaの宣言(つまり、String someString)はJavaScript宣言(var someString)に変更する必要があります。
  5. Java "public void OnCustomProcess(Document CEObject)"は単に "function OnCustomProcess(CEObject)"になります。 ACCEは、呼び出された関数としてのみ "関数OnCustomProcess(CEObject)"を受け入れます。
+0

おそらく単純なコードのスニペットは誰にでも役立つでしょう:) –

+0

確かに。私の携帯電話では、私がコンピュータに戻るまでそれは起こらないでしょう。 –

+0

私はコードスニペットがあなたの答えをupvoteするのを待っています:) –

関連する問題