Solution
Calculations on web forms apply to all cells. There is no way in web forms to specify which cells/subcubes should be calculated. You can do that in grids however.
You can however have a comparing column. HFM performs a calculate for all cells in the web form. If some of those cells are read only to a user, whether due to process management or security, the web form will try to calculate all the cells, but cannot calculate ones that are read-only for that user. When this happens HFM simply writes an event to the log essentially saying that we tried to fulfill the request but could not fulfill all of it. HFM will calculate the cells that the user has modify rights to and leave the other ones alone.
An Administrator in HFM has no security restriction. Therefore, an administrator can calculate the entire form regardless of security class or process management level. The only type of cell an administrator cannot modify is one that has been Locked.
One issue is the fact that we generate an error message when web forms try to calculate a no-input cell. Please note that it is possible to disable the error message generation for this event. Here are the instructions for doing so:
The file is WDEFConstants.asp in the web/hfm/data folder. The file is actually self explaining:
review level access error on Calculate or Force Calculate
' Related to defect 34629
'PLEASE BE AWARE IF YOU CHANGE THIS FILE
' Only one of the const lines should begin with a '
' You will get a "Name redefined" asp error if both const lines below do not start with '
' You will get a "Variable is undefined" asp error if both const lines start with '
' If set to false, we will show the user messages resulting from "Access Denied" on a
' Calculate or Force Calculate
' Remove the ' from the following line AND add ' to the const line below
const bSuppressCalculateError = false
' If set to true, we will NOT show the user messages resulting from "Access Denied" on a
' Calculate or Force Calculate
' Remove the ' from the following line AND add ' to the const line above
'const bSuppressCalculateError = true
GKontos
Comments