Especificación de Requisitos | |
Proyecto/Versión: MEX12.0/TOTVS Microsiga Protheus V12.0 | Requisito/Módulo:001511/SIGACTB |
Sub-Requisito/Función: 151101/Mantenimiento de mnemónicos | Tarea/Llamado: 00000B.02.01 |
País: All | Fecha Especificación: 26/11/2013 |
Rutinas Involucradas | ||
Rutina | Tipo de Operación | Opción de Menú |
CTBA091 – Mantenimiento a mnemónicos | Creación | Actualizaciones-> >Entes>Mnemónicos |
Estrategia de Desarrollo y liberación | |
Producto | Microsiga Protheus – Contabilidad |
Reléase que está siendo desarrollado | 11.90 |
Posee Réplica? | ( )Si ( X)No |
Cual versión? | No aplica |
Crear la rutina que permita el registro de los mnemónicos que serán utilizados para el proceso de formulación delos Asientos Estándar.
Definición de mnemónico, es un código asociado un campo, una función, una formula, una tabla o un valor fijo.
Se desarrollará una rutina donde se muestre un browse con los mnemónicos (tabla CWJ) y con las opciones Incluir, Modificar, Borrar y las demás opciones estándar (ver prototipo 01).
Botón Incluir
Se mostrará la ventana con los siguientes campos (ver prototipo 02):
Mnemónico (CWJ_codmne) .- Código asignado al mnemónico. Obligatorio. (Asociar la función CWJMnemoPvar al campo x3_pictvar, para que obligue a que la variable inicie con el prefijo M_ ).
Regla de integridad
El código de mnemónico es único, valide que no se repita.
Descripción (CWJ_descri) .- Descripción corta del mnemónico. Obligatorio.
Grupo (CWJ_grupo).- Código de modulo o grupo al que pertenecerá la formula podrá seleccionar de la consulta estándar de la tabla de la sx5, tabla CZ. Obligatorio.
Tipo (CWJ_tipdat) .- Describe el tipo de mnemónico, podrá seleccionar entre Campo de BD/Tabla/Formula/Función/Función de usuario, Valor. Obligatorio. Cuando salga de este dato deberá habilitar y deshabilitar (y limpiar el contenido) los campos como sigue:
Si Campo de BD – Habilitara la sección de Tablas y Campos, deshabilitara Dato vinculado, Función de RPO y valor.
Si Tabla – Habilitara la sección de Tablas y deshabilitara la sección de Campos, Dato vinculado, Función de usuario y valor.
Si Formula o Función – Deshabilitara la sección de Tablas y Campos, Función de Rpo y valor. Habilitará Dato vinculado.
Si Función de usuario – Deshabilitara la sección de Tablas y Campos, Dato vinculado y valor. Habilitará función de usuario.
Si Valor – Deshabilitara la sección de Tablas y Campo, Dato vinculado y función de RPO.
Dato vinculado (CWJ_datvin) .- Código del dato vinculado, solo se habilitara y será obligatorio, si el tipo de dato fue Formula o Función. Y podrá seleccionar la información desde las consultas especiales (CTB911 Prototipo 06), según sea el caso.
Si selecciono Función validara que esta exista en el catálogo de funciones (CWN), si selecciono formula validara que exista en el catálogo de fórmulas (CWK), esta validación será realizada con la rutina CTB91VLDVIN().
Función en RPO (CWJ_funrpo) .- Nombre de la función de usuario. Solo se habilitara y será obligatorio, si el tipo de dato fue Función de Usuario y validara que la función registrada exista en el repositorio (permitirá funciones del sistema o de usuario).
Valor (CWJ_valor) .- Dato alfanumérico. Solo se habilitara y será obligatorio si el tipo de dato fue Valor. Y podrá seleccionar la información desde la consultas especifica CTB911 Prototipo 07.
Sección de Tablas |
Estos 2 campos solo se habilitaran si el tipo de dato es Tablas o Campos de BD.
Todas (CWJ_todas1).- Si selecciona SI, al salir del campo refrescara el contenido del siguiente campo con el contenido de la tabla SX2. Si selecciono NO, cargara solo las tablas para formulación (contenido de la tabla CWH). Si selecciono Si, enviara un mensaje al usuario antes de salir de la elección con la pregunta "Visualizara todas las tablas del sistema ¿continuar?", si es afirmativa refrescara el siguiente campo. Por default este campo debe ser NO.
Tabla (CWJ_tabla).- Presentara las tablas que están disponibles para el uso de mnemónicos (CWH) o los registros de la tabla SX2 según fue solicitado en el campo anterior ( debe mostrar alias y descripción de la tabla Prototipo 03). Al salir de este campo inicializara el siguiente campo con No, y refrescara el campo Campos con los campos que conforman la tabla seleccionada, solo con los que son de uso para formulación (CWI).
Sección de Campos |
Estos campos solo se habilitaran si el tipo de dato es Tablas o Campos de BD.
Todos (CWJ_todas2).- Si selecciona Si, al salir del campo refrescara el contenido del siguiente campo con los campos de la tabla SX3 (solo los que pertenecen a la tabla seleccionada). Si seleccionó NO, cargara solo los campos que son de uso para formulación (CWI) de la tabla seleccionada.
Campos (CWJ_campo).- Presentará los campos que están disponibles para el uso de mnemónicos (CWI) o los registros de la tabla SX3, según fue solicitado en el campo anterior ( debe mostrar descripción del campo Prototipo 04). Al salir de este campo refrescara la información del campo ayuda que a continuación se explica.
Ayuda (CWJ_help) .- Solo se visualizará. Obtener esta información del help y características del campo (tipo, tamaño, usado y validaciones de la sx3, para extraer el help de campo utilice la función Ap5GetHelp('cCampo')). Esta será refrescada cada vez que salga del campo anterior, y después de seleccionar una tabla (dejándolo vacío).
Al seleccionar Confirmar, validara como sigue, si el tipo de datos (cwj_tipdat) es:
Si alguna de estas condiciones no se cumple, enviará al usuario el aviso correspondiente y no permitirá guardar, hasta que el usuario haga la corrección.
Si todo bien, guardara la información en la tabla CWJ marcando el registro como de tipo usuario (CWJ_TIPO="U").
Botón Modificar
A los mnemónicos del sistema (CWJ_TIPO='S') solo es posible modificarles la descripción, los que son de usuarios se les puede modificar todos los campos, excepto el código (CWJ_codmne).
Al Confirmar la grabación de la información, deberá validar igual que cuando lo hace por la opción de Incluir.
Regla de integridad
Verifique que el mnemónico no esté siendo utilizado por una formula (verifique en la tabla CWl que no exista el código de mnemónico en cuestión como operando, campos cwl_oper1, cwl_oper2), ni utilizado como parámetro en alguna función (cwn, en cwn_par1.. cwn_par5). De ser así, solo permitirá modificar la Descripción y el grupo.
Si el mnemónico es de sistema, antes de permitir la modificación, enviará al usuario el aviso "El mnemónico seleccionado es de tipo Sistema y solo permitirá modificar la descripción".
Si el mnemónico está siendo utilizado por una formula o Función y no es de sistema, enviara al usuario el aviso "Mnemónico está en uso de alguna fórmula o función, solo permitirá cambios en la Descripción y el grupo".
Botón Borrar
Al selección un registro, ingresara y mostrara todos los datos, después al seleccionar Confirmar, preguntara ¿Está seguro de Eliminar el registro?, si la respuesta es afirmativa, procederá a eliminarlo.
Regla de integridad
Antes de eliminar verifique que otras tablas no estén utilizando el mnemónico a borrar (verifique en la tabla CWL que no exista el código de mnemónico en cuestión como operando, campos cwl_oper1, cwl_oper2), ni utilizado como parámetro en alguna función (cwn, en cwn_par1.. cwn_par5).
El registro que intenta eliminar es de tipo sistema (CWJ_TIPO<>'U'), al Confirmar, en vez de preguntar enviara un aviso al usuario "Este registro es de sistema y no se puede eliminar".
Si el mnemónico está siendo utilizado por una formula y no es de sistema, enviara al usuario el aviso "Mnemónico está en uso de alguna fórmula o función, no permitirá eliminarlo".
Botón Leyenda
Mostrará los tipos de Mnemónicos pantalla Prototipo 05.
Al ingresar por primera vez a la rutina
La primera vez que se ejecute la rutina de mantenimiento de mnemónicos, se deben cargar los mnemónicos de sistema (CWJ), las tablas (CWH) y campos usados (CWI). Para estos dejar el llamado de la rutina CTB91CARGA(), que contendrá dicho proceso, desarrollo en el Requisito 151106 .
Consultas especiales
Selección de Funciones (Consulta especial, función CTB91FUN)
Al ingresar a esta consulta mostrara la pantalla (ver Prototipo 07), con la siguiente información:
Tipo.- Permitirá seleccionar entre Conversión de Monedas (AxMoeda) y Apuntador (Posicione) (hacer uso de la función CTB92LBOX, para generar este contenido). Al salir de este campo filtrara el catálogo de funciones (CWN) con los que sean del tipo seleccionado (CWN_tipo) para llenar con esta información el listbox siguiente. También limpiar el campo de Ayuda.
Funciones.- Código y descripción de la función (CWN_codfun y CWN_descri). Al salir de este campo llenara el campo de ayuda (CWN_help).
Ayuda.- Texto de la ayuda de acuerdo a la función seleccionada en el campo anterior (CWN_help).
Al seleccionar Ok, retornara el código de la función seleccionada (CWN_codfun), si anular, no regresa ningún valor.
Selección de Formulas (Consulta especial , función CTB91FOR)
Al ingresar a esta consulta mostrara la pantalla (ver Prototipo 08), con la siguiente información:
Grupo.- El usuario podrá teclear el código del grupo o seleccionarlo de la tabla cz de las tablas genéricas (sx5). Se validara que sea un código válido. Al salir de este campo filtrara la información de las formulas (CWK), que son del grupo seleccionado (CWK_grupo). También limpiar el campo de Ayuda.
Descripción.- Nombre del grupo, solo se visualiza (x5_descri).
Formula.- Código y descripción (CWK_codfor, CWK_desc) de la fórmula de acuerdo al grupo seleccionado. Al salir de este campo llenara los datos correspondientes en el campo de Ayuda (CWK_help).
Ayuda.- Texto de la ayuda de acuerdo a la formula seleccionada en el campo anterior (CWK_help). Después de la ayuda colocar la información de la instrucción de ADVPL de la formula (CWK_advpl).
Al seleccionar Ok, retornara el código de la formula seleccionada (CWK_codfor), si anular, no regresa ningún valor.
Selección de Valor fijo (Consulta especial , función CTB91VAL)
Esta consulta permitirá al usuario seleccionar valores de los catálogos de Cuentas contables, Centros de costos, ítem contable y Clase valor.
Al ingresar mostrara la pantalla (ver Prototipo 09), con la siguiente información:
Tipo.- Podrá seleccionar entre las opciones Cuentas contable, Centros de costos, ítem contable y clase valor.
Cuenta contable.- Este campo se activara si el tipo es de Cuenta contable, podrá teclear directamente una cuenta contable valida o seleccionarla del catálogo (ct1). Al seleccionar la cuenta valida mostrara en el siguiente campo la descripción de la cuenta.
Descripción.- Descripción de la cuenta (ct1_desc01). No editable.
C. de Costo.- Este campo se activara si el tipo es de C. de Costo, podrá teclear directamente un Centros de costo valido o seleccionarla del catálogo (ctt). Al seleccionar el centro de costo valido mostrara en el siguiente campo la descripción.
Descripción.- Descripción de la cuenta (ctt_desc01). No editable.
Ítem Contable.- Este campo se activara si el tipo es de Ítem contable, podrá teclear directamente un código valido o seleccionarla del catálogo (ctd). Al seleccionar el código valido mostrara en el siguiente campo la descripción.
Descripción.- Descripción de la cuenta (ctd_desc01). No editable.
Cl. Valor.- Este campo se activara si el tipo es de Clase Valor, podrá teclear directamente un código valido o seleccionarlo del catálogo (cth). Al seleccionar el código valido mostrara en el siguiente campo la descripción.
Descripción.- Descripción de la cuenta (cth_desc01). No editable.
Al seleccionar Ok, retornara el contenido del campo activado, si anular, no regresa ningún valor.
CTB911 .- Consulta dinámica
Se creara la consulta específica CTB911 ya que cuando sale del campo Tipo de dato, la consulta del campo de Dato vinculado (CWJ_datvin) cambiara dependiendo del dato seleccionado:
Para conseguir esto, deberá crear una consulta específica llamada CTB911, la cual llamara la función CTB91CESP() y esta función será programada para desplegar una consulta u otra, igual crear la función CTB91CRET () para programar el retorno del dato deseado.
Tablas Utilizadas
Prototipo 2: Captura de mnemónicos Regresar
Consulta CTB91FUN
Consulta CTB91FOR
Protótipo 7.- Consulta de valores Regresar
Consulta CTB91VAL
Módulo | SIGACTB / PROTHEUS |
Función | Mantenimiento de mnemónicos |
Descripción de Función | La rutina da mantenimiento a los Mnemónicos para la formulación de Asientos Estándar. |
Diagrama de Entidad y Relación
Diccionario de Datos
CWH – Tablas para Mnemónicos | |||||||||||||||
Campo | Tipo | Tam. | Dec. | Título | Descripción | ||||||||||
CWH_FILIAL | C | Sucursal | |||||||||||||
CWH_TABLA | C | 3 | Tabla |
| |||||||||||
CWH_DESCRI | C | 30 | Descripción |
|
Índice: CWH_FILIAL+CWH_TABLA
CWI – Tablas de Campos para Mnemónicos | |||||||||||||||
Campo | Tipo | Tam. | Dec. | Título | Descripción | ||||||||||
CWI_FILIAL | C | Sucursal | |||||||||||||
CWI_TABLA | C | 3 | Tabla |
| |||||||||||
CWI_CAMPO | C | 10 | Campo |
| |||||||||||
CWI_DESCRI | C | 25 | Descripción |
|
Índice: CWI_FILIAL+CWI_TABLA+CWI_CAMPO
CWJ –Mnemónicos | |||||||||||||||||||||||||||||
Campo | Tipo | Tam. | Dec. | Título | Descripción | ||||||||||||||||||||||||
CWJ_FILIAL | C | Sucursal | |||||||||||||||||||||||||||
CWJ_CODMNE | C | 16 | Cod Mnemon |
| |||||||||||||||||||||||||
CWJ_TIPO | C | 1 | Tipo Reg. |
| |||||||||||||||||||||||||
CWJ_DESCRI | C | 40 | Descripción |
| |||||||||||||||||||||||||
CWJ_GRUPO | C | 6 | Grupo |
| |||||||||||||||||||||||||
CWJ_TIPDAT | C | 1 | Tipo |
| |||||||||||||||||||||||||
CWJ_DATVIN | C | 15 | Dato Vinculo |
| |||||||||||||||||||||||||
CWJ_FUNRPO | C | 10 | Función RPO |
| |||||||||||||||||||||||||
CWJ_VALOR | C | 20 | Valor Fijo |
| |||||||||||||||||||||||||
CWJ_TODAS1 | C | 1 | ¿Todas? |
| |||||||||||||||||||||||||
CWJ_TABLA | C | 3 | Tabla |
| |||||||||||||||||||||||||
CWJ_TODAS2 | C | 1 | ¿Todas? |
| |||||||||||||||||||||||||
CWJ_CAMPO | C | 10 | Campo |
| |||||||||||||||||||||||||
CWJ_HELP | M | Ayuda |
|
Índice: CWJ_FILIAL+CWJ_codMNE
Nota:
Las función CWJAliasBox() debe mostrar las tablas disponibles para los mnemónicos (CWH), tomar como base la función fTablesBox()
Las función CWJAliasVld() debe validar las tablas disponibles para los mnemónicos (CWH), tomar como base la función RcaAliasVld().
La consulta CWJCPO debe mostrar los campos disponibles para la tabla seleccionada (CWH) filtrando solo los campos de acuerdo a la tabla seleccionada. Tomar como base la consulta RCAFIE que contiene la función fListaField().
CWN – Funciones | ||||||||||||||||||||||||||||
Campo | Tipo | Tam. | Dec. | Título | Descripción | |||||||||||||||||||||||
CWN_FILIAL | C | Sucursal | ||||||||||||||||||||||||||
CWN_CODFUN | C | 15 | Código |
| ||||||||||||||||||||||||
CWN_DESCRI | C | 40 | Descripción |
| ||||||||||||||||||||||||
CWN_HELP | Memo | Ayuda |
| |||||||||||||||||||||||||
Índice: CWN_FILIAL+CWN_CODFUN
CWK – Formulas | |||||||||||||||||||||||
Campo | Tipo | Tam. | Dec. | Título | Descripción | ||||||||||||||||||
CWK_FILIAL | C | Sucursal | |||||||||||||||||||||
CWK_CODFOR | C | 15 | Cód. Formula |
| |||||||||||||||||||
CWK_DESC | C | 30 | Descripción |
| |||||||||||||||||||
CWK_GRUPO | C | 6 | Grupo |
| |||||||||||||||||||
CWK_ADVPL | MEMO | Traduc ADVPL |
| ||||||||||||||||||||
CWK_HELP | MEMO | Ayuda |
|
Índice: CWK_FILIAL+CWK_CODFOR
Tablas genéricas (sx5)
CZ.- Grupos o Módulos | |
X5_CHAVE | X5_DESCSPA |
000001 | SIGACTB |
000002 | SIGAFAT |
000003 | SIGACOM |
000004 | SIGAPCP |
000005 | SIGAGPE |
Consultas Especiales (sxb)
CTB911- Consulta especial | |||||||
XB_ALIAS | XB_TIPO | XB_SEQ | XB_COLUNA | XB_DESCRI | XB_DESCSPA | XB_DESCENG | XB_CONTEM |
1 | 01 | RE | Especial | Especial | Especial | ||
2 | 01 | 01 | CTB91CESP() | ||||
3 | CTB91CRET() |
Estructura de Menú
En el módulo Configurador (SIGACFG) ingrese a la ruta Ambiente/Archivos/Menu (CFGX013). Informe la nueva opción del menú de SIGACTB (Contabilidad de Gestión) conforme las siguientes instrucciones:
Menú | Contabilidad de Gestión |
Submenú | Actualizaciones>Archivos>Entes>Mnemónicos |
Nombre de Rutina | Mnemónicos |
Programa | CTBA091 |
Módulo | SIGACTB |
Tipo | Función Protheus |