本文提供多個解決方案,針對在 Microsoft Dynamics SL 中列印或列印預覽報表時,收到 系統訊息 7011 錯誤訊息的問題。
適用於: Microsoft Dynamics SL 2011
原始 KB 編號: 905595
徵兆
請考慮您在下列任一模組中列印或列印預覽報表的案例:
- Microsoft Dynamics SL 中的購買
- Microsoft Dynamics SL 中的訂單管理
- Microsoft Dynamics SL 中的庫存
- 在 Microsoft Dynamics SL 中的專案時間和費用
當您採取此動作時,會收到下列其中一系列錯誤訊息:
第 1 系列:
系統訊息 7011 - CRPERC 的 ROI Get RIPARAM 失敗。 Error=。
收到此訊息之後,您會收到下列錯誤訊息:
系統訊息 7011 - CRPEMSGCNT 的 ROI Get RIPARAM 失敗。 Error=。
請參閱原因 1、2、3 和 4。
第 2 系列:
CRPEHLPR MFC 應用程式發生問題且需要關閉。 很抱歉造成您的不便。
接著是:
系統訊息 7011 - CRPERC 的 ROI Get RIPARAM 失敗。 Error=。
接著是:
系統訊息 7011 - CRPEMSGCNT 的參數提取操作(ROI Get RIPARAM)失敗。 Error=。
請參閱原因 5。
第 3 系列:
Microsoft Visual C++ Runtime Library 執行階段錯誤! 程式:應用程式已要求運行時間以不尋常的方式終止。 如需詳細資訊,請連絡應用程式支援小組。
接著是:
系統訊息 7011 - CRPERC 的 ROI Get RIPARAM 失敗。 Error=。
接著是:
系統訊息 7011 - CRPEMSGCNT 的參數提取操作(ROI Get RIPARAM)失敗。 Error=。
請參閱原因 6。
原因
發生此問題的原因如下。
原因 1
當 Microsoft Dynamics SL 或 Microsoft Business Solutions - 所羅門程式檔位於執行下列其中一個作業系統的電腦上時,資料執行防止(DEP)功能會阻止某些檔案成功運行:
- Windows Server 2008 或 Windows Server 2008 R2
- Windows 7
- Windows Server 2003 含 Service Pack 1 (SP1)
- Windows Vista 包含 Service Pack 1 (SP1)
- Windows XP Professional with Service Pack 2 (SP2)
原因 2
Microsoft Dynamics SL 應用程式資料庫或 Microsoft Business Solutions - 所羅門應用程式資料庫中有損毀的記錄。
原因 3
Capicom.dll檔案註冊不正確。
原因 4
Microsoft Dynamics SL 使用 Crystal Reports 10。 此版本的 Crystal Reports 是從舊版升級。 因此,某些程式設定已不再相容。
原因 5
此問題的發生是因為與您嘗試列印的報表相關聯的子報表上有一個抑制公式。
原因 6
MSDSL 應用程式角色或 E7F575915A2E4897A517779C0DD7CE SQL 使用者未正確與 Microsoft Dynamics SL 資料庫同步。 或者,角色和使用者未正確同步。 如果下列條件成立,就可能發生這種情況:
- 您在資料庫維護 (98.290.00) 畫面中選取 同步處理所有擁有權和安全性 更新案例,而 資料庫維護 (98.290.00) 畫面來自舊版的 Microsoft Dynamics SL。
- 您可以在與 Microsoft Dynamics SL 7.0 資料庫相同的 SQL Server 實例上執行更新案例。
決議 1
設定資料執行防止功能,以啟用Crpehlpr.exe檔案和要執行的Roi.exe檔案。 若要這樣做,請遵循下列步驟:
以滑鼠右鍵按一下 [我的電腦],然後再按 [內容]。
在 Windows Server 2003 或 Windows XP 中,按兩下 [ 進階 ] 索引標籤。在 Windows Vista、Windows 7 或 Windows Server 2008 中,按兩下 [ 進階系統設定 ] 連結。
在 [效能] 區段中,按兩下 [設定]。
在 [ 數據執行防止 ] 索引標籤上,按兩下 [ 新增]。
注意
默認選項是為所有程式和服務啟用 DEP,除了我選擇的除外。
流覽至 Microsoft Dynamics SL 程式安裝目錄或 Microsoft Business Solutions - 所羅門程式安裝程序目錄。 如果您有一個對應到此安裝目錄的額外磁碟,您必須在兩個路徑中都新增檔案。
例如,您會將 Microsoft Dynamics SL 7.0 安裝到下列資料夾:
C:\Program Files\Microsoft Dynamics\SL\Applications
在同一部電腦上,您將 "S" 之磁碟驅動器映射至下列資料夾:
C:\Program Files\Microsoft Dynamics\SL
當您遵循此步驟時,必須使用下列兩個路徑來新增檔案:
- C:\Program Files\Microsoft Dynamics\SL\Applications\
- S:\Applications\
找到並點擊以選取以下檔案:
Crpehlpr.exe
按兩下 [ 開啟],按兩下 [套用],然後按兩下 [ 確定]。
針對Roi.exe檔案重複步驟 1 到步驟 7。
決議案 2
從 Microsoft Dynamics SL 應用程式資料庫,或從 Microsoft Business Solutions - 所羅門應用程式資料庫刪除損毀的記錄。 若要這麼做,請執行下列步驟。
注意
在您遵循本文中的指示之前,請確定您有資料庫的完整備份複本,您可以在發生問題時進行還原。
請確定所有Microsoft Dynamics SL使用者或所有Microsoft Business Solutions - Solomon使用者都已登出。
開始Microsoft SQL 查詢分析器。 或者,啟動 Microsoft SQL Server Management Studio。
連接到適當的 Microsoft Dynamics SL 應用程式資料庫或 Microsoft Business Solutions - 所羅門應用程式資料庫。
執行下列語句。
Delete from Roidetail Delete from Rptcompany Delete from Rptruntime
決議 3
若要解決此問題,請手動註冊Capicom.dll檔案。 若要這樣做,請遵循下列步驟:
找出本機電腦上的Capicom.dll檔案。 根據預設,此檔案位於下列資料夾中:
SystemDrive:\Windows\System32
確認Capicom.dll檔案的版本為 2.1.0.1 或更新版本。 若要這樣做,請遵循下列步驟:
- 以滑鼠右鍵按兩下Capicom.dll檔案,然後按兩下 [ 屬性]。
- 在 [ 版本] 索引標籤上,確認檔案版本為 2.1.0.1 或更新版本。
- 按一下 [確定]。
以滑鼠右鍵按Capicom.dll檔案,然後點選 [使用程式開啟]。
在 [ Windows ] 對話框中,按兩下 [從列表中選取程式],然後按兩下 [ 確定]。
在 [開啟方式] 對話方塊中,按一下 瀏覽。
找出 ,然後開啟下列資料夾:
SystemDrive:\Windows\System32
按兩下Regsvr32.exe檔案,然後按兩下 [ 確定]。
當您收到下列訊息時,按兩下 [ 確定 ]:
RegSvr32 - SystemDrive:\windows\system32\capicom.dll中的 DllRegisterServer 成功。
注意
如果您在註冊Capicom.dll檔案之前,在任何工作站計算機上遇到「系統訊息 9827」錯誤訊息,則必須在資料庫維護 (98.290.00) 畫面中重新執行 [同步處理所有擁有權和安全性更新] 案例。
決議 4
若要解決此問題,請選取商務物件水晶報表中報表檔案中的 [ 無印表機] 複選框。 若要這樣做,請遵循下列步驟:
- 開啟水晶報表後,點擊報表檔案以開啟它。
- 按兩下 [ 檔案]。
- 按兩下 [ 印表機設定]。
- 按兩下以選取 [ 無印表機] 複選框,然後按兩下 [ 確定]。
- 按一下儲存。
決議5
變更 Business Objects Crystal Reports 中的報表,以移除子報表上的隱藏。
在 [商業物件水晶報表] 中,開啟產生錯誤的報表檔案。
如果報表的任何區段內有子報表,請以滑鼠右鍵按兩下子報表。 注意:如果沒有子報表,此解析將無法運作。
按兩下 [ 格式化子報表]。 顯示的 [ 隱藏公式] 按鈕應該包含紅色文字。 此紅色文字的存在表示有抑制公式。 當公式使用父報表中的變數時,必須移除變數。
注意
- 如果您沒有收到抑制公式存在的跡象,此解決方案將無法運作。
- 如果歸並公式使用子報表變數和父報表變數的組合,則必須分隔這些變數,才能移除父報表變數。
- 如果包含子報表的區段也包含其他顯示的變數,則必須分隔變數。
- 如果包含子報表的區段已經有歸併公式,您必須決定是否要合併公式,以及如何執行這項操作。
按兩下 [隱藏公式] 以開啟 [格式編輯器] 對話框,然後按下 [編輯] 選單上的 [全部選取]。
注意
如果壓制公式只使用子報表中的變數,這個替代方法將無法運作。
在 [ 編輯] 功能表上,按下 [ 複製 ] 以複製公式。
刪除公式。
按兩下 [確定 ] 關閉 [ 格式編輯器] 對話框。
以滑鼠右鍵點擊顯示子報表的畫面左側區段,然後點選 區段專家。
在 [區段專家] 對話框中,單擊 [隱藏公式],然後按兩下 [編輯] 功能表上的 [貼上] 來貼上公式。
按兩下 [ 儲存並關閉],然後按兩下 [ 確定]。
在 [檔案] 功能表上,按一下 [儲存]。
決議 6
同步使用者。 若要這樣做,請遵循下列步驟:
使用 SQL Server Management Studio 針對 Microsoft Dynamics SL 系統資料庫執行下列語句:
DELETE FROM RPTExtra
在資料庫維護 (98.290.00) 畫面中選取 [同步處理所有擁有權和安全性更新案例],然後按兩下 [開始處理]。