Al introducir y mostrar datos de Acumulado anual en un formulario de Financial Consolidation and Close, puede utilizar uno de los siguientes métodos:
Para crear reglas Groovy para introducir datos directamente en el miembro FCCS_YTD:
Agregue una regla a petición en Calculation Manager denominada "PreFormLoad".
Cambie el tipo de script de la regla a petición a "Script Groovy".
Agregue el siguiente código a la regla "PreFormLoad":
operation.grid.dataCellIterator("FCCS_YTD").each { DataCell cell -> if (!cell.crossDimCell("FCCS_YTD_Input") && cell.isReadOnly())cell.forceEditable=true}
Guarde y valide la regla "PreFormLoad".
Proporcione los valores predeterminados de petición de datos en tiempo de ejecución en la regla "PreFormLoad" tal y como se muestra a continuación:
Consolidación: "Entrada de entidad"
Moneda: "Moneda de entidad"
Entidad: "FCCS_Global Assumptions"
Periodo: "Jul"
Escenario: "Actual"
Años "FY19"
Compruebe las opciones Está oculto y Utilizar como valor de reemplazo para las seis peticiones de datos en tiempo de ejecución de la regla "PreFormLoad".
Guarde, valide y despliegue la regla "PreFormLoad".
Agregue una regla a petición en Calculation Manager denominada "PreFormSave".
Cambie el tipo de script de la regla a petición a "Script Groovy".
Agregue el siguiente código a la regla "PreFormSave":
def app = operation.application Cube cube = operation.cube Member ytdInputMember = app.getDimension(DimensionType.VERSION).getMember("FCCS_YTD_Input") Collection<DataCell> pendingYtdCells = operation.grid.dataCellIterator("FCCS_YTD").findAll {DataCell ytd -> if (ytd.edited) { def ytdInput = ytd.crossDimCell(ytdInputMember.name) ytdInput?.formattedValue = ytd.formattedValue ytd.setEdited(false) return ytdInput == null } } if (pendingYtdCells) { DataGridBuilder builder = cube.dataGridBuilder("MM/DD/YYYY") Set<String> allDimNames = set(app.getDimensions(cube)*.name) List<String> rowDimNames = set((allDimNames - operation.grid.pov*.dimName) - [ytdInputMember.dimension.name]) as List builder.addPov(operation.grid.pov.findAll({it.dimName != ytdInputMember.dimension.name})*.uniqueMbrName as String[]) builder.addColumn(ytdInputMember.name) pendingYtdCells.each {DataCell cell -> builder.addRow(rowDimNames.collect {cell.getMemberName(it, MemberNameType.UNIQUE_NAME)}, [cell.formattedValue])} DataGridBuilder.Status status = new DataGridBuilder.Status() builder.build(status).withCloseable {grid -> cube.saveGrid(grid)} } Set<String> set(Collection<String> names) { Set<String> set = new TreeSet<>(String.CASE_INSENSITIVE_ORDER) set.addAll(names) return set }
Guarde y valide la regla "PreFormSave".
Proporcione los valores predeterminados de petición de datos en tiempo de ejecución en la regla "PreFormSave" tal y como se muestra a continuación:
Consolidación: "Entrada de entidad"
Moneda: "Moneda de entidad"
Entidad: "FCCS_Global Assumptions"
Periodo: "Jul"
Escenario: "Actual"
Años "FY19"
Compruebe las opciones Está oculto y Utilizar como valor de reemplazo para las seis peticiones de datos en tiempo de ejecución de la regla "PreFormSave".
Guarde, valide y despliegue la regla "PreFormSave".
Agregue un formulario denominado "YTD_Test_1" con "FCCS_Periodic" y "FCCS_YTD" en las filas, como se muestra a continuación:
Formulario de acumulado anual de muestra
Haga clic en el separador Reglas de negocio y mueva "Consol – Rule – PreFormSave" y "Consol – Rule – PreFormLoad" a la derecha. Active Ejecutar antes de guardar para la regla "Consol – Rule – PreFormSave" y active Ejecutar después de cargar para la regla "Consol – Run – PreFormLoad". La pantalla debe mostrarse como se indica a continuación:
Reglas de negocio de muestra
Guarde y haga clic en Finalizar.
Nota: Con estos pasos se marcarán los datos de "Actual"/ "FY19" "Jul" y "FCCS_Global Assumptions" como modificados. Asegúrese de que la unidad de proceso se haya iniciado y tenga el estado desbloqueado. Esto se aplica solo a este prototipo. La implementación real no tendrá estas restricciones.
Abra "YTD_Test_1 form" y agregue valores a FCCS_YTD como se muestra a continuación:
Valores de acumulado anual de ejemplo
Guarde el formulario. FCCS_Periodic se rellenará con los valores periódicos correspondientes, como se muestra a continuación:
Formulario de acumulado anual relleno de muestra