2017-01-30 4 views
0

価格を計算するライブラリを持つオーダーフォームがあります。 document1は主な顧客データ・ソースであり、docLineItemは順序付けられたデータ・ソースである項目です。ユーザーが注文に追加するアイテムを入力すると、コードはアイテムレコードを作成し、注文の合計(小計、延長合計...)でメインdocument1レコードを更新します。注文を入力して顧客に入り、最初の項目を入力すると正しく保存されます。 2番目の項目を入力すると、コードはdocument1の保存時にエラー(例外NotesXspDocument.save()メソッドの呼び出しが発生しました)をスローします。なぜこれをやっているのですか?2回目の使用時に保存エラーが送信される

docLineItem.replaceItemValue("ItemPrice", Number(vQtyPrice)); 
    docLineItem.replaceItemValue("ItemExtPrice", Number(vExtPrice)); 
    docLineItem.replaceItemValue("IncenInd", viewScope.vsIncenInd); 
    docLineItem.replaceItemValue("SplitInd", viewScope.vsSplitInd); 
    docLineItem.save(true); 

    document1.replaceItemValue("OrderSubTot", Math.round((vSubTot * 100)/100)); 
    document1.replaceItemValue("OrderIncenTot", Math.round((vIncenTot * 100)/100)); 
    document1.replaceItemValue("OrderTDTot", Math.round((vTDTot * 100)/100)); 
    document1.replaceItemValue("OrderGTot", Math.round((vGTot * 100)/100)); 
    document1.save(); 

スタックトレース:

javax.faces.FacesException: Error while executing JavaScript action expression 
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:102) 
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210) 
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:96) 
com.ibm.xsp.controller.FacesControllerImpl.execute(FacesControllerImpl.java:256) 
com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:228) 
com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157) 
com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160) 
com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138) 
com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103) 
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576) 
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335) 
com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853) 
com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796) 
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565) 
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319) 
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662) 
com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482) 
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:350) 
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:306) 
com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272) 
com.ibm.xsp.exception.EvaluationExceptionEx: Error while executing JavaScript action expression 
com.ibm.xsp.binding.javascript.JavaScriptMethodBinding.invoke(JavaScriptMethodBinding.java:126) 
com.ibm.xsp.application.ActionListenerImpl.processAction(ActionListenerImpl.java:60) 
javax.faces.component.UICommand.broadcast(UICommand.java:324) 
com.ibm.xsp.component.UIEventHandler.broadcast(UIEventHandler.java:366) 
com.ibm.xsp.component.UIDataPanelBase.broadcast(UIDataPanelBase.java:400) 
com.ibm.xsp.component.UIViewRootEx.broadcast(UIViewRootEx.java:1535) 
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:307) 
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:428) 
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:94) 
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210) 
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:96) 
com.ibm.xsp.controller.FacesControllerImpl.execute(FacesControllerImpl.java:256) 
com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:228) 
com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157) 
com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160) 
com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138) 
com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103) 
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576) 
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335) 
com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853) 
com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796) 
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565) 
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319) 
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662) 
com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482) 
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:350) 
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:306) 
com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272) 
com.ibm.jscript.InterpretException: Script interpreter error, line=327, col=19: [TypeError] Exception occurred calling method NotesXspDocument.save() 
null 
com.ibm.xsp.script.WrapperDominoEx$fct_DominoDocument.call(WrapperDominoEx.java:527) 
com.ibm.jscript.types.FBSObject.call(FBSObject.java:161) 
com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:197) 
com.ibm.jscript.ASTTree.ASTDebug.interpret(ASTDebug.java:148) 
com.ibm.jscript.std.FunctionObject._executeFunction(FunctionObject.java:261) 
com.ibm.jscript.std.FunctionObject.executeFunction(FunctionObject.java:185) 
com.ibm.jscript.std.FunctionObject.call(FunctionObject.java:171) 
com.ibm.jscript.types.FBSObject.call(FBSObject.java:161) 
com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:197) 
com.ibm.jscript.ASTTree.ASTDebug.interpret(ASTDebug.java:148) 
com.ibm.jscript.ASTTree.ASTProgram.interpret(ASTProgram.java:119) 
com.ibm.jscript.ASTTree.ASTProgram.interpretEx(ASTProgram.java:139) 
com.ibm.jscript.JSExpression._interpretExpression(JSExpression.java:435) 
com.ibm.jscript.JSExpression.access$1(JSExpression.java:424) 
com.ibm.jscript.JSExpression$2.run(JSExpression.java:414) 
java.security.AccessController.doPrivileged(AccessController.java:362) 
com.ibm.jscript.JSExpression.interpretExpression(JSExpression.java:410) 
com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:251) 
com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:234) 
com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:222) 
com.ibm.xsp.binding.javascript.JavaScriptMethodBinding.invoke(JavaScriptMethodBinding.java:111) 
com.ibm.xsp.application.ActionListenerImpl.processAction(ActionListenerImpl.java:60) 
javax.faces.component.UICommand.broadcast(UICommand.java:324) 
com.ibm.xsp.component.UIEventHandler.broadcast(UIEventHandler.java:366) 
com.ibm.xsp.component.UIDataPanelBase.broadcast(UIDataPanelBase.java:400) 
com.ibm.xsp.component.UIViewRootEx.broadcast(UIViewRootEx.java:1535) 
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:307) 
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:428) 
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:94) 
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210) 
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:96) 
com.ibm.xsp.controller.FacesControllerImpl.execute(FacesControllerImpl.java:256) 
com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:228) 
com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157) 
com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160) 
com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138) 
com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103) 
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576) 
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335) 
com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853) 
com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796) 
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565) 
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319) 
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662) 
com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482) 
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:350) 
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:306) 
com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272) 
NotesException: Note delete failed 
lotus.domino.local.Document.Nsave(Native Method) 
lotus.domino.local.Document.save(Unknown Source) 
lotus.domino.local.Document.save(Unknown Source) 
com.ibm.xsp.model.domino.wrapped.DominoDocument.save(DominoDocument.java:1192) 
com.ibm.xsp.script.WrapperDominoEx$fct_DominoDocument.call(WrapperDominoEx.java:505) 
com.ibm.jscript.types.FBSObject.call(FBSObject.java:161) 
com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:197) 
com.ibm.jscript.ASTTree.ASTDebug.interpret(ASTDebug.java:148) 
com.ibm.jscript.std.FunctionObject._executeFunction(FunctionObject.java:261) 
com.ibm.jscript.std.FunctionObject.executeFunction(FunctionObject.java:185) 
com.ibm.jscript.std.FunctionObject.call(FunctionObject.java:171) 
com.ibm.jscript.types.FBSObject.call(FBSObject.java:161) 
com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:197) 
com.ibm.jscript.ASTTree.ASTDebug.interpret(ASTDebug.java:148) 
com.ibm.jscript.ASTTree.ASTProgram.interpret(ASTProgram.java:119) 
com.ibm.jscript.ASTTree.ASTProgram.interpretEx(ASTProgram.java:139) 
com.ibm.jscript.JSExpression._interpretExpression(JSExpression.java:435) 
com.ibm.jscript.JSExpression.access$1(JSExpression.java:424) 
com.ibm.jscript.JSExpression$2.run(JSExpression.java:414) 
java.security.AccessController.doPrivileged(AccessController.java:362) 
com.ibm.jscript.JSExpression.interpretExpression(JSExpression.java:410) 
com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:251) 
com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:234) 
com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:222) 
com.ibm.xsp.binding.javascript.JavaScriptMethodBinding.invoke(JavaScriptMethodBinding.java:111) 
com.ibm.xsp.application.ActionListenerImpl.processAction(ActionListenerImpl.java:60) 
javax.faces.component.UICommand.broadcast(UICommand.java:324) 
com.ibm.xsp.component.UIEventHandler.broadcast(UIEventHandler.java:366) 
com.ibm.xsp.component.UIDataPanelBase.broadcast(UIDataPanelBase.java:400) 
com.ibm.xsp.component.UIViewRootEx.broadcast(UIViewRootEx.java:1535) 
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:307) 
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:428) 
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:94) 
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210) 
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:96) 
com.ibm.xsp.controller.FacesControllerImpl.execute(FacesControllerImpl.java:256) 
com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:228) 
com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157) 
com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160) 
com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138) 
com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103) 
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576) 
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335) 
com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853) 
com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796) 
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565) 
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319) 
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662) 
com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482) 
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:350) 
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:306) 
com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272) 
+0

は私たちに、例外からスタックトレースの残りの部分をご提示ください。これはサーバー上のdata/IBM_TECHNICAL_SUPPORTフォルダーにあります。サーバー上のXPagesログファイルに直接アクセスできない場合は、OpenNTFのXPages Log File Readerを使用して、ブラウザからログファイルに簡単にアクセスできます。 –

+0

ファイアウォール経由でVPNに接続するユーザをまだ設定していないためNotesデータベースにアクセスする方法がわからないため、サーバを使用していません。しかし、ここにエラーページのトレースがあります。 –

答えて

2

非常に興味深いものです。 this postによれば、いくつかの項目にnull Vectorを入力する可能性があります。確認済みhere。あなたのスタックトレースから小さなディテールでGoogleで検索

からNotesException: Note delete failed

0

私はよくXSPDocument「背後」ドキュメントへの変更がnullを投げるためのハンドルとしてそれを使用して何かを起こすことがわかります。これは、変数がもはやその背後の文書への接続を持っていないかのように動作します。私のテストの中には、バックグラウンド文書のNotesIDまたはUNIDが返されますが、XSPDocumentはnullでエラーを返します。

このようなケースがあるときは、NoteIDまたはUNIDを変数に格納し、保存する新しいインスタンスを作成します。

私はそれが最も効率的な方法であるとは確信していません(実際にはそうではないと確信しています)。しかし、XSPDocumentが接続を失っているように見えるようになるまで動作します)。私はより良い方法を見たいと思う。

+0

これは、スクリプト内で、docLineItem.save行で、docLineItemで始まる改行を入力すると役立ちます。ノーツは、どのような方法が利用可能であるかのドロップダウンを私に与えるでしょう。私がdocument1で同じことをしたら。それは私にドロップダウンを与えることはありません。何故ですか?私はdocument1を属性としてスクリプトに渡しますが、replaceItemValue行はすべて保存されますが、保存されません。 –

+0

ブライアン、私は理由を見つけたようです。私はnullとしてdocument1レコードのフィールドを設定していました。 Nullと ""はjavascriptで異なり、時には1つ、時には他のものを行います。まだそれを理解していないが、私はそれが事実だと思う。 –

関連する問題