Especificación de Requisitos |
|
Proyecto/Versión: MEX12.0/TOTVS Microsiga Protheus V12.0 | Requisito/Módulo: 001511/SIGACTB |
Sub-Requisito/Función: 151104/Mantenimiento de Formulas | Tarea/Llamado: 00000B.05.01 |
País: Todos | Fecha Especificación: 04/12/13 |
Rutinas Involucradas |
|
|
Rutina | Tipo de Operación | Opción de Menú |
CTBA093 – Manto. Formulas | Creación | Actualizaciones->Archivos->Entes-> Manto. formulas |
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 una rutina que permita el registro de fórmulas para ser utilizadas en la opción de Asientos Estándar.
Esta opción permitirá el registro de una configuración sencilla o de una configuración más compleja de instrucciones que serán utilizadas en la configuración en la opción de los Asientos Estándar. A la primera la llamaremos Configuración Rápida y a la segunda Formulación.
Al ingresar a esta opción presentara el browse de los datos de fórmulas existentes (tabla CWK, pantalla
Âncora | ||||
---|---|---|---|---|
|
Âncora | ||||
---|---|---|---|---|
|
Config. Rápida (formula valor) |
Valor (CWK_valor) – Se activara solo si el campo Tipo fue Valor. Permitirá el registro de cualquier tipo de dato o formula advpl (validar que la sintaxis advpl sea correcta, verificar la función de asientos estándar para ver como hace esa validación).
Cond. Asiento (CWK_conasi) – Se activara solo si el campo Tipo fue Valor.
Aquí el usuario se registrara una fórmula que retorne true o false, ya que si en su ejecución da true, el contenido del campo valor es el que dejara como resultado de la ejecución de la formula.
Deberá validarse que el código ADVPL aquí registrado sea válido (verificar la rutina de Asientos estándar para ver como hace esa validación).
Config. Rápida (constantes) |
Cuenta Cont. (CWK_cuenta) – Se activara solo si el campo Tipo fue Cuenta. Podrá seleccionar los valores de la consulta específica CWKTIP.
Si el usuario digita directamente valores en el campo, este valor se validara que exista en el catálogo de cuenta contables (ct2), pero si el inicio del campo es M{_}, entonces validara que exista el mnemónico (tabla cwj).
C. de Costos (CWK_cc) – Se activara solo si el campo Tipo fue C. Costo y el llenado de este campo se volverá obligatorio. Podrá seleccionar los valores de la consulta específica CWKTIP.
Si el usuario digita directamente valores en el campo, este valor se validara que exista en el catálogo de centro de costos (ctt), pero si el inicio del campo es M_, entonces validara que exista el mnemónico (tabla cwj).
Ítem contable (CWK_itectb) – Se activara solo si el campo Tipo fue Ítem Contable, y el llenado de este campo se volverá obligatorio. Podrá seleccionar los valores de la consulta específica CWKTIP.
Si el usuario digita directamente valores en el campo, este valor se validara que exista en el catálogo de ítems contables (ctd), pero si el inicio del campo es M_, entonces validara que exista el mnemónico (tabla cwj).
Cl. Valor (CWK_clvalo) – Se activara solo si el campo Cl. Valor, y el llenado de este campo se volverá obligatorio. Podrá seleccionar los valores de la consulta específica CWKTIP.
Si el usuario digita directamente valores en el campo, este valor se validara que exista en el catálogo de clase valor (cth), pero si el inicio del campo es M_, entonces validara que exista el mnemónico (tabla cwj).
Ayuda (CWK_help)– Permitirá registrar una breve explicación de lo que hace la formula.
Al seleccionar Confirmar, realizara la traducción de la formula a ADVPL considerando lo siguiente:
Si no hubo mnemónicos, guardara el editado valor directamente en el campo cwk_advpl.
"IF ("Cond. Asiento", "Valor")"
El resultado se guardara en el campo cwk_advpl.
Estas mismas acción se ejecutaran cuando se haga uso del botón Generar Formula y el resultado de la traducción se podrá visualizar en el primer campo de la pestaña de Código Formula.
Una vez realizada la traducción guardara la información correspondiente en la tabla de fórmulas (CWK).
Pestaña de Formulación
Los datos que visualizara son (
Âncora | ||||
---|---|---|---|---|
|
Âncora | ||||
---|---|---|---|---|
|
COD | CODIGO DE OPERADOR | Tipo | OPERANDO 1 | TIPO DE OPERANDO 1 | OPERANDO 2 | TIPO DE OPERADO 2 |
| Sintaxis 2 |
01 | SUMA | A | O | N | O | N | OP1 + OP2 |
|
02 | RESTA | A | O | N | O | N | OP1 - OP2 |
|
03 | MULTIPLICA | A | O | N | O | N | OP1 * OP2 |
|
04 | DIVIDE | A | O | N | O | N | OP1 / OP2 |
|
05 | PORCENTAJE | A | O | N | O | N | (OP1/100) * OP2 |
|
06 | TIPOCAMBIO | A | O | D | O | N | RECMOEDA(CTOD(OP1),OP2) |
|
07 | SI-MAYOR | Condición | O | C,D,N | O | TIPO 1 | OP1>OP2 | IF (OP1>OP2 |
08 | SI-MENOR | Condición | O | C,D,N | O | TIPO 1 | OP1<OP2 | IF (OP1<OP2 |
09 | SI-DIFERENTE | Condición | O | C,D,N | O | TIPO 1 | OP1<>OP2 | IF ( OP1<>OP2 |
10 | SI-CONTENIDO | Condición | O | C | O | C | OP1 $ OP2 | IF (OP1 $ OP2 |
11 | SI-INICIAEN | Condición | O | C | O | C | AT(OP2,OP1)==1 | IF (AT(OP2,OP1)==1 |
12 | SI-VACIO | Condición | O | C,D | V |
| EMPTY(OP1) | IF (EMPTY(OP1) |
13 | SI-ENCONTRO | Condición | O | TABLA | O | CAMPO | OP1->(DBSEEK(XFILIAL('OP1')+OP2) | IF (OP1->(DBSEEK(XFILIAL('OP1')+OP2) |
14 | SI-FUNCION | Condición | O | C | V |
| FUNNAME()=OP1 | IF (FUNNAME()=OP1 |
15 | SI-IGUAL | Condición | O | C,D,N | O | TIPO1 | OP1==OP2 | IF ( OP1==OP2 |
16 | CONVIERTE-TEXTO | S | O | N | V |
| STR(OP1) |
|
17 | CONVIERTE-VALOR | S | O | C | V |
| VAL(OP2) |
|
18 | ELIMINA-ESPACIOS | S | O | C | V |
| ALLTRIM(OP2) |
|
19 | FILIAL | D | O | TABLA | V |
| XFILIAL(OP1) |
|
20 | CONTENIDO-PARAMETRO | D | O | C | V |
| GETMV("OP1") |
|
21 | REDONDEA | N | O | N | O | N | ROUND(OP1,OP2) |
|
22 | RESIDUO | N | O | N | O | N | MOD(OP1 , OP2) |
|
23 | TRUNCA | N | O | N | O | N | ROUND(OP1,OP2) |
|
24 | LEE-SB1 | T | O | C | O | C | POSICIONE("SB1",1,OP1,OP2) |
|
25 | LEE-SED | T | O | C | O | C | POSICIONE("SED",1,OP1,OP2) |
|
26 | LEE-SF4 | T | O | C | O | C | POSICIONE("SF4",1,OP1,OP2) |
|
27 | LEE-SA2 | T | O | C | O | C | POSICIONE("SA2",1,OP1,OP2) |
|
28 | LEE-SA1 | T | O | C | O | C | POSICIONE("SA1",1,OP1,OP2) |
|
29 | LEE-SBM | T | O | C | O | C | POSICIONE("SBM",1,OP1,OP2) |
|
30 | RETORNO | R | O | C,D,N | V |
| OP1 |
|
31 | CONCATENA | S | 0 | C | 0 | C | OP1+OP2 |
|
Arreglo de operadores
Operando 1 (cwl_oper1) .- Solo se podrá editar si el Operador no está vacío. Esta campo puede aceptar mnemónicos (reconocidos por que inician en M{_}, mnemónicos concatenados por signo +), valores numéricos o caracteres (los cuales debe ir entre comillas para ser identificados.
Podrá seleccionar los mnemónicos de la consulta específica CWJFOR.
Después de registrar el valor pre-validara que se trate de cualquiera de los tres tipos mencionados:
Si el tipo de dato del operando es una Formula (cwj_tipdat='3'), validar que la formula asociada al mnemónico (cwj_datvin) no sea la misma que la que se está registrando (cwj_datvin<>m->cwk_codfor).
Después validara el tipo de dato que puede aceptar en este campo, de acuerdo al operador seleccionado (ver arreglo arriba columna 4).
Operando 2 (cwl_oper2).- Pero solo será editable si Operador no está vacío y l
Âncora | ||||
---|---|---|---|---|
|
Âncora | ||||
---|---|---|---|---|
|
Si la fórmula es validada correctamente, guardara los campos correspondientes en las tablas cwk y cwl, en el campo cwk_advpl guardara en el código advpl resultante del punto anterior en el campo cwk_foreje guardara la instrucción EjeFor y el código de la formula por ejemplo: EjeFor("FOR001").
Guardará las tablas que fueron utilizadas en la formulación (sin repetir la tabla) en la tabla de relación de fórmulas vs tablas (CWQ). No debe tomar en cuenta aquellas que fueron utilizadas en el alias de las instrucciones Posicione.
Opción Modificar
Al ingresar a esta opción visualizara una pantalla con dos pestañas (prototipo02) y solo se podrá hacer uso de esta si el usuario está posicionado en una formula. De lo contrario deberá enviar el mensaje "No hay datos a modificar".
Todos los datos se pueden modificar con excepción del código de la formula (cwk_codofor), y los demás datos tendrán la misma funcionalidad que se describe para la opción de Incluir.
Al guardar la información, verificar si algún Asiento Estándar utiliza la formula en cuestión, esto es: Seleccionar todos los registros de la relación de Asientos Estándar vs Formula (tabla cwm), que contengan el código de la formula (cwk_codfor=cwm_codfor). Si encuentra registros, preguntar al usuario "Existen Asientos utilizando esta fórmula, si guarda la información actualizara los Asientos involucrados ¿Continuar?".
De ser afirmativa la respuesta, guardar, de lo contrario cancelar la operación.
Opción Borrar
Al ingresar a esta opción visualizara una pantalla con dos pestañas (prototipo02) y solo se podrá hacer uso de esta si el usuario está posicionado en una formula. De lo contrario deberá enviar el mensaje "No hay datos a borrar".
Cuando el usuario de clic en Confirmar, verificar si algún Asiento Estándar utiliza la formula en cuestión, esto es Seleccionar todos los registros de la relación de Asientos Estándar vs Formula (tabla cwm), que contengan el código de la formula (cwk_codfor=cwm_codfor) . Si encuentra registros, enviara al usuario el aviso "Existen Asientos utilizando esta fórmula, y no puede ser eliminada". Si no encuentra registros, preguntara al usuario "¿Eliminar la formula?", de ser afirmativa procederá al borrado, de lo contrario regresara al browse.
Opción Consultar
Al ingresar a esta opción se visualizara el encabezado de la formula y una getdados con los asientos estándar que están haciendo uso de la formula (
Âncora | ||||
---|---|---|---|---|
|
Filtrar la información para que solo muestre las registros que son del tipo que necesita el operador (de acuerdo al arreglo de operadores).
Por ejemplo: si el operador es SUMA el operando debe ser de tipo Numérico, entonces los mnemónicos que presente serán de tipo Numérico (mostrara los mnemónicos de tipo Campo, Formula, Función o Valor cuyo retorno sea numérico, para el primero validar cwj_campo en la sx3 y obtener x3_tipo=N, para la formula buscar en el archivo de fórmulas y que el tipo de esta sea numérico (cwk_tipdat=Numérico), para la función cwj_tipdat=1. Crear la función CTB093FIL, la cual tendrá los diferentes filtros del acuerdo al tipo de datos requerido.
CODIGO DE OPERADOR | TIPO DE OPERANDO 1 | TIPO DE OPERADO 2 |
SUMA | N | N |
RESTA | N | N |
MULTIPLICA | N | N |
DIVIDE | N | N |
PORCENTAJE | N | N |
TIPOCAMBIO | D | N |
SI-MAYOR | C,D,N | Igual al tipo Operando 1 |
SI-MENOR | C,D,N | Igual al tipo Operando 1 |
SI-DIFERENTE | C,D,N | Igual al tipo Operando 1 |
SI-CONTENIDO | C | C |
SI-INICIAEN | C | C |
SI-VACIO | C,D |
|
SI-ENCONTRO | TABLA | CAMPO |
SI-FUNCION | C |
|
SI-IGUAL | C,D,N | Igual al tipo Operando 1 |
CONVIERTE-TEXTO | N |
|
CONVIERTE-VALOR | C |
|
ELIMINA-ESPACIOS | C |
|
FILIAL | TABLA |
|
CONTENIDO-PARAMETRO | C |
|
REDONDEA | N | N |
RESIDUO | N | N |
TRUNCA | N | N |
LEE-SB1 | C | C |
LEE-SED | C | C |
LEE-SF4 | C | C |
LEE-SA2 | C | C |
LEE-SA1 | C | C |
LEE-SBM | C | C |
RETORNO | C,D,N |
|
CONCATENA | C | C |
Retornara el valor del código del mnemónico seleccionado (cwj_codmne).
Consulta CWKTIP.- Selección de dato
Se creara la consulta específica CWKTIP, si el campo CWK_CUENTA es de donde se está ejecutando, entonces presentara la pantalla:
Solo uno de los campos debe ser llenado.
El campo Cuenta, tendrá asociada la consulta estándar CT2, y al salir del campo validara que el dato digitado exista en el catálogo de cuentas. Solo será editable este campo si el otro está vacío.
El campo de Mnemónico, tendrá asociada la consulta estándar CWJ, y al salir del campo validara que el dato digitado exista en el catálogo de mnemónicos. Solo será editable este campo si el otro está vacío.
Si el campo CWK_CC es de donde se está ejecutando, entonces presentara la pantalla:
Solo uno de los campos debe ser llenado.
El campo Centro de Costo, tendrá asociada la consulta estándar CTT, y al salir del campo validara que el dato digitado exista en el catálogo de centros de costo. Solo será editable este campo si el otro está vacío.
El campo de Mnemónico, tendrá asociada la consulta estándar CWJ, y al salir del campo validara que el dato digitado exista en el catálogo de mnemónicos. Solo será editable este campo si el otro está vacío.
Si el campo CWK_ITECTB es de donde se está ejecutando, entonces presentara la pantalla:
Solo uno de los campos debe ser llenado.
El campo Ítem contable, tendrá asociada la consulta estándar CTD, y al salir del campo validara que el dato digitado exista en el catálogo de Ítem contable. Solo será editable este campo si el otro está vacío.
El campo de Mnemónico, tendrá asociada la consulta estándar CWJ, y al salir del campo validara que el dato digitado exista en el catálogo de mnemónicos. Solo será editable este campo si el otro está vacío.
Si el campo CWK_CLVALO es de donde se está ejecutando, entonces presentara la pantalla:
Solo uno de los campos debe ser llenado.
El campo Clase valor, tendrá asociada la consulta estándar CTH, y al salir del campo validara que el dato digitado exista en el catálogo de Clase valor. Solo será editable este campo si el otro está vacío.
El campo de Mnemónico, tendrá asociada la consulta estándar CWJ, y al salir del campo validara que el dato digitado exista en el catálogo de mnemónicos. Solo será editable este campo si el otro está vacío.
Retornara el valor digitado.
Âncora | ||||
---|---|---|---|---|
|
#regreso6] | ||||
Operador |
|
| Uso |
|
Español | Portugués | Ingles |
|
|
SUMA | SUM | ADD |
| Suma operando 1 y operando 2. |
Operador |
|
| Uso |
|
Español | Portugués | Ingles |
|
|
RESTA |
| SUBTRACT |
| Resta operando 1 y operando 2. |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
MULTIPLICA |
| MULTIPLY | Multiplica operando 1 y operando 2. |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
DIVIDE |
| DIVIDE | Divide operando 1 y operando 2. Donde operando 1 es el dividendo y el Operando 2 es el divisor. |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
PORCENTAJE |
| MODULUS | Obtiene el porcentaje del Operando 1 sobre el Operando 2. |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
TIPOCAMBIO |
| EXCHANGE | Obtiene el valor de la moneda (operador2) en una fecha determinada (operador1). |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
SI-IGUAL |
| IF-EQUAL | Compara el valor de un mnemónico con otro, si se cumple la condición de que son IGUALES, debe indicar con una secuencia HACIA DÓNDE SIGUE ESTE PROCEDIMIENTO, AL NO CUMPLIRSE LA CONDICIÓN DE IGUALDAD, la secuencia de instrucciones continúa. |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
SI-MAYOR |
| IF-GREATERTHAN | Compara el valor de un mnemónico con otro, si se cumple la |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
SI-MENOR |
| IF-LESSTHAN | Compara el valor de un mnemónico con otro, si se cumple la condición de que el valor del mnemónico que se encuentra en EL OPERANDO1 ES MENOR al valor del mnemónico del OPERANDO 2, debe indicar con una secuencia HACIA DÓNDE SIGUE ESTE PROCEDIMIENTO, AL NO CUMPLIRSE LA CONDICIÓN, la secuencia de instrucciones continúa. |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
SI-DIFERENTE |
| IF-NOTEQUAL | Compara el valor de un mnemónico con otro, si se cumple la |
Operador |
|
| Uso |
|
Español | Portugués | Ingles |
|
|
SI-CONTENIDO |
| IF-CONTENT |
| Si el mnemónico contenido en el Operando 1 CONTIENE parte del valor contenido en el operando 2, si se cumple la condición, debe indicar con secuencia HACIA DÓNDE SIGUE ESTE PROCEDIMIENTO, AL NO CUMPLIRSE LA CONDICIÓN, la secuencia de instrucciones continúa. |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
SI-INICIAEN |
| IF-BEGIN | Si el mnemónico contenido en el Operador 1 INICIA con el valor contenido en el Operando2, si se cumple la condición, debe indicar con una secuencia HACIA DÓNDE SIGUE ESTE PROCEDIMIENTO, AL NO CUMPLIRSE LA CONDICIÓN, la secuencia de instrucciones continúa. |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
SI-VACIO |
| IF-EMPTY | Indica si el operando 1 esta vació. |
Español | Portugués | Ingles |
|
SI-ENCOTRO |
| IF-FOUND | Si encuentra en la tabla contenida en el Operador 1 , el valor contenido en el operador2 |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
CONVIERTE-VALOR |
| VALUE | Convierte en VALOR NUMERICO el contenido del Operando 1 |
Operador |
|
| Uso |
| |
Español | Portugués | Ingles |
|
|
|
ELIMINA-ESPACIOS |
| DELETE-SPACES |
| Elimina los espacios a la izquierda y derecha del mnemónico contenido en el Operando 2 (ALLTRIM) |
|
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
FILIAL |
|
| Devuelve al Resultado la filial del mnemónico contenido en el Operando 2 |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
CONTENIDO-PARAMETRO |
| FIND-PARAMETER | Este operador lee la tabla de Parámetros. |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
REDONDEA |
| ROUND | Redondea el valor de Operando1 en |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
RESIDUO |
|
| Este operador tiene la misma función que el "MOD" de una calculadora. Divide dos mnemónicos donde operando 1 es el dividendo y el Operando 2 es el divisor. |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
TRUNCA |
| TRUNC | Quita la parte decimal del valor de un mnemónico que se encuentra en el Operando 2 y deja la parte entera en otro mnemónico. |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
LEE-SBM |
| READ-SBM | Obtiene información de la tabla de Grupo de Productos (SBM). |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
LEE-SB1 |
| READ-SB1 | Obtiene información de la tabla de Productos (SB1). |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
LEE-SED |
| READ-SED | Obtiene información de la tabla de Modalidades (SED). |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
LEE-SF4 |
| READ-SF4 | Obtiene información de la tabla de TES (SF4). |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
LEE-SA2 |
| READ-SA2 | Obtiene información de la tabla de Proveedores (SA2). |
Operador |
|
| Uso |
Español | Portugués | Ingles |
|
LEE-SA1 |
| READ-SA1 | Obtiene información de la tabla de Clientes (SA1). |
Español | Portugués | Ingles | Uso |
SI-FUNCION |
|
| Valida si el nombre de una función de ADVPL existe en el RPO |
Tablas Utilizadas
Âncora | ||||
---|---|---|---|---|
|
Âncora | ||||
---|---|---|---|---|
|
Âncora | ||||
---|---|---|---|---|
|
Âncora | ||||
---|---|---|---|---|
|
Âncora | ||||
---|---|---|---|---|
|
Operador |
+
|
Al salir de ese campo, el operador seleccionado se enviara al campo memo donde se está formando la expresió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 los mnemónicos (CWJ), de solo las tablas (CWJ_tabla) que son del grupo seleccionado (CWJ_grupo). También limpiar el campo de Ayuda y Mnemónico.
Descripción.- Nombre del grupo, solo se visualiza (x5_descri).
Tabla.- Se mostraran el código de tabla y descripción (CWJ_tabla, CWH_descri) de acuerdo al código de Grupo seleccionado en el campo anterior. Al salir de este campo filtrara la información de los mnemónicos (CWJ), visualizando solo los campos que son de la tabla seleccionada. También limpiar el campo de Ayuda.
Mnemónico.- Código y descripción (CWJ_codmne, CWJ_desc) del mnemónico de acuerdo a la tabla seleccionada. Al salir de este campo llenara los datos correspondientes en el campo de Ayuda.
Ayuda.- Mostrar la ayuda del campo seleccionado (CWJ_help). Como título nombre del campo (CWJ_campo) y de la tabla (CWJ_tabla), después la ayuda (CWJ_help), después como subtítulo de Validación el tipo y tamaño de acuerdo a la información del campo contenido en la tabla sx3.
Botón Agregar.- Agregara el mnemónico seleccionado.
Botón Limpiar.- Limpiara todo el contenido del campo memo.
Botón OK.- Enviara la expresión del campo memos al getdados de la formula.
Botón Anular.- No enviara la expresión respetando lo ya contenido en la expresión del getdados de la formula.
Indicado en la regla de negocio.
Módulo | SIGACTB / PROTHEUS |
Función | Mantenimiento a catálogo de fórmulas para Asientos Estándar |
Descripción de Función | Permite crear la formulación (que será utilizada para los Asientos Estándar), de forma más amigable para el usuario. |
Diagrama de Entidad y Relación
Diccionario de Datos
Diccionario de Datos.
|
|
|
|
|
| ||
---|---|---|---|---|---|---|---|
Campo | Tipo | Tam. | Dec. | Título | Descripción | ||
CWK_FILIAL | C |
|
| Sucursal |
| ||
CWK_CODFOR | C | 15 |
| Código | Descripción | Código de la fórmula | |
Formato | @! | ||||||
Nivel | 1 | ||||||
Usado | Si | ||||||
Obligatorio | Si | ||||||
Browse | Si | ||||||
Propiedad | Real/Alterar | ||||||
Val. Sistema | ExistChav("CWK") | ||||||
Help | Código de la fórmula. | ||||||
CWK_GRUPO | C | 6 |
| Grupo | Descripción | Código del grupo | |
Formato | @! | ||||||
Nivel | 1 | ||||||
Usado | Si | ||||||
Obligatorio | Si | ||||||
Browse | Si | ||||||
F3 | CZ | ||||||
Propiedad | Real/Alterar | ||||||
Inicializador |
| ||||||
Opciones |
| ||||||
When |
| ||||||
Val. Sistema | ExistCpo("SX5","CZ"+M->CWK_GRUPO) | ||||||
Help | Modulo o grupo al que pertenece la formula. | ||||||
CWK_TIPO | C | 1 |
| Tipo | Descripción | Tipo de Formula | |
Formato | @! | ||||||
Nivel | 1 | ||||||
Usado | Si | ||||||
Obligatorio | No | ||||||
Browse | Si | ||||||
F3 |
| ||||||
Propiedad | Real/Alterar | ||||||
Inicializador |
| ||||||
Opciones | 1= Cuenta;2=C. Costo;3=Ítem contable;4=Cl. Valor;5=Valor fijo;6=formula | ||||||
When |
| ||||||
Val. Sistema |
| ||||||
Help | Si el tipo es vacío, se refiere a una fórmula compleja, si selecciona cualquier otra, es para referir a una configuración sencilla. | ||||||
CWK_TIPDAT | C | 1 |
| Tipo de Dato | Descripción | Tipo de dato del resultado | |
Formato | @! | ||||||
Nivel | 1 | ||||||
Usado | Si | ||||||
Obligatorio | Si | ||||||
Browse | Si | ||||||
F3 |
| ||||||
Propiedad | Real/Alterar | ||||||
Inicializador |
| ||||||
Opciones | 1=Numérico;2=Carácter;3=Fecha | ||||||
When |
| ||||||
Val. Sistema |
| ||||||
Help | Es el tipo de dato que resultara de la ejecución de la formula. | ||||||
CWK_VALOR | C | 50 |
| Valor | Descripción | Valor a aplicar | |
Formato | @! | ||||||
Nivel | 1 | ||||||
Usado | Si | ||||||
Obligatorio |
| ||||||
Browse | Si | ||||||
F3 |
| ||||||
Propiedad | Real/Alterar | ||||||
Inicializador |
| ||||||
Opciones |
| ||||||
When | M->CWK_TIPO=='5' | ||||||
Val. Sistema | iif(M->CWK_TIPO=='5', !Empty(M->CWK_VALOR),.T.) .AND. CTB93FORM(,,.T.) | ||||||
Help | Es el valor que colocara en el Asiento Estándar si la condición del campo Cond. Asiento se cumple. | ||||||
CWK_CONASI | C | 40 |
| Cond. Asiento | Descripción | Condición para el Asiento | |
Formato | @! | ||||||
Nivel | 1 | ||||||
Usado | Si | ||||||
Obligatorio |
| ||||||
Browse | No | ||||||
F3 |
| ||||||
Propiedad | Real/Alterar | ||||||
Inicializador |
| ||||||
Opciones |
| ||||||
When | M->CWK_TIPO=='5' | ||||||
Val. Sistema | iif(M->CWK_TIPO=='5', !Empty(M->CWK_VALOR),.T.) .AND. CTB93FORM(,,.T.) | ||||||
Help | Condición en ADVPL, que deberá retornar verdadero | ||||||
CWK_CUENTA | C | 20 |
| Cuenta Cont | Descripción | Cuenta contable | |
Formato | @! | ||||||
Nivel | 1 | ||||||
Usado | Si | ||||||
Obligatorio |
| ||||||
Browse | No | ||||||
F3 | CWKTIP | ||||||
Propiedad | Real/Alterar | ||||||
Inicializador |
| ||||||
Opciones |
| ||||||
When | M->CWK_TIPO=='1' | ||||||
Val. Sistema | iif(M->CWK_TIPO=='1', !Empty(M->CWK_CUENTA) .and. CTB93VALID(M->CWK_CUENTA,1),.T.) | ||||||
Help | Mnemónico que tenga una cuenta contable asociada o digite directamente el número de cuenta contable. | ||||||
CWK_CC | C | 16 |
| C. de Costo | Descripción | Centro de costo | |
Formato | @! | ||||||
Nivel | 1 | ||||||
Usado | Si | ||||||
Obligatorio |
| ||||||
Browse | No | ||||||
F3 | CWKTIP | ||||||
Propiedad | Real/Alterar | ||||||
Inicializador |
| ||||||
Opciones |
| ||||||
When | M->CWK_TIPO=='2' | ||||||
Val. Sistema | iif(M->CWK_TIPO=='2', !Empty(M->CWK_CC) .and. CTB93VALID(M->CWK_CC,2),.T.) | ||||||
Help | Mnemónico que tenga una centro de costo asociado o digite directamente el número de Centro de Costo. | ||||||
CWK_ITECTB | C | 16 |
| Ítem contable | Descripción | Ítem contable | |
Formato | @! | ||||||
Nivel | 1 | ||||||
Usado | Si | ||||||
Obligatorio |
| ||||||
Browse | No | ||||||
F3 | CWKTIP | ||||||
Propiedad | Real/Alterar | ||||||
Inicializador |
| ||||||
Opciones |
| ||||||
When | M->CWK_TIPO=='3' | ||||||
Val. Sistema | iif(M->CWK_TIPO=='3', !Empty(M->CWK_ITECTB) .and. CTB93VALID(M->CWK_ITECTB,3),.T.) | ||||||
Help | Mnemónico que tenga un Ítem contable asociado o digite directamente el número de Ítem contable. | ||||||
CWK_CLVALO | C | 16 |
| Cl. Valor | Descripción | Clase Valor | |
Formato | @! | ||||||
Nivel | 1 | ||||||
Usado | Si | ||||||
Obligatorio |
| ||||||
Browse | No | ||||||
F3 | CWKTIP | ||||||
Propiedad | Real/Alterar | ||||||
Inicializador |
| ||||||
Opciones |
| ||||||
When | M->CWK_TIPO=='4' | ||||||
Val. Sistema | iif(M->CWK_TIPO=='4', !Empty(M->CWK_CLVALO) .and. CTB93VALID(M->CWK_CLVALO,4),.T.) | ||||||
Help | Mnemónico que tenga un código de Clase Valor asociado o digite directamente el código de Clase Valor. | ||||||
CWK_HELP | MEMO |
|
| Ayuda | Descripción | Ayuda | |
Formato | @! | ||||||
Nivel | 1 | ||||||
Usado | Si | ||||||
Obligatorio |
| ||||||
Browse | No | ||||||
F3 |
| ||||||
Propiedad | Real/Alterar | ||||||
Inicializador |
| ||||||
Opciones |
| ||||||
When |
| ||||||
Val. Sistema |
| ||||||
Help | Describa el uso de esta fórmula. | ||||||
CWK_ADVPL | MEMO |
|
| ADVPL | Descripción | Formula en ADVPL | |
Formato | @! | ||||||
Nivel | 1 | ||||||
Usado | Si | ||||||
Obligatorio |
| ||||||
Browse | No | ||||||
F3 |
| ||||||
Propiedad | Real/visualizar | ||||||
Inicializador |
| ||||||
Opciones |
| ||||||
When |
| ||||||
Val. Sistema |
| ||||||
Help | Traducción de la formula a código ADVPL | ||||||
CWK_FOREJE | C | 30 |
| Ejecutable | Descripción | Formula ejecutable | |
Formato | @! | ||||||
Nivel | 1 | ||||||
Usado | No | ||||||
Obligatorio |
| ||||||
Browse | Si | ||||||
F3 |
| ||||||
Propiedad | Real/Alterar | ||||||
Inicializador |
| ||||||
Opciones |
| ||||||
When |
| ||||||
Val. Sistema |
| ||||||
Help |
| ||||||
CWK_DESGPO | C | 20 |
| Desc. Grupo | Descripción | Descripción de Grupo |
|
Formato |
| @! | |||||
Usado |
| si | |||||
Obligatorio |
| No | |||||
Browse |
| No | |||||
F3 |
|
| |||||
Propiedad |
| Virtual/Visualizar | |||||
Inicializador |
| IF(!INCLUI,POSICIONE("SX5",1,XFILIAL("SX5")+ "CZ"+M->CWK_GRUPO,"X5DESCRI()"),"") | |||||
Val. Sistema |
|
| |||||
Help |
| Módulo o grupo al que pertenece la fórmula | |||||
Índices: CWK_FILIAL+CWK_CODFOR
|
|
|
|
|
| |
---|---|---|---|---|---|---|
Campo | Tipo | Tam. | Dec. | Título | Descripción | |
CWL_FILIAL | C |
|
| Sucursal |
| |
CWL_CODFOR | C | 15 |
| Código | Descripción | Código de la fórmula |
Formato | @! | |||||
Nivel | 1 | |||||
Usado | Si | |||||
Obligatorio | Si | |||||
Browse | No | |||||
Propiedad | Real/Alterar | |||||
Val. Sistema |
| |||||
Inicializador | IIF(!inclui,CWK->CWK_CODFOR,"0") | |||||
Help | Código de la fórmula | |||||
CWL_SEC | C | 6 |
| Sec. | Descripción | Numero de secuencia |
Formato | @! | |||||
Nivel | 1 | |||||
Usado | Si | |||||
Obligatorio | Si | |||||
Browse | No | |||||
F3 | No | |||||
Propiedad | Real/Alterar | |||||
Inicializador |
| |||||
Opciones |
| |||||
When |
| |||||
Val. Sistema | Validar que no se repita en número de secuencia en todo el getdados. | |||||
Help | Secuencia en la que se ejecutará la formula. | |||||
CWL_OPER | C | 02 |
| Operador | Descripción | Operador de formulación |
Formato | @! | |||||
Nivel | 1 | |||||
Usado | Si | |||||
Obligatorio | No | |||||
Browse | No | |||||
F3 |
| |||||
Propiedad | Real/Alterar | |||||
Inicializador |
| |||||
Opciones | #CTB93LBOX() | |||||
When |
| |||||
Val. Sistema |
| |||||
Help | Operador para formular. | |||||
CWL_OPER1 | C | 37 |
| Operador 1 | Descripción | Operador 1 |
Formato | @! | |||||
Nivel | 1 | |||||
Usado | Si | |||||
Obligatorio | No | |||||
Browse | Si | |||||
F3 | CWKFOR | |||||
Propiedad | Real/Alterar | |||||
Inicializador |
| |||||
Opciones |
| |||||
When | CTB93CWLEX() | |||||
Val. Sistema | CTB93VOP() | |||||
Help | Es el primer operando utilizado por el operador seleccionado. | |||||
CWL_OPER2 | C | 37 |
| Operador 2 | Descripción | Operador 2 |
Formato | @! | |||||
Nivel | 1 | |||||
Usado | Si | |||||
Obligatorio | No | |||||
Browse | Si | |||||
F3 | CWKFOR | |||||
Propiedad | Real/Alterar | |||||
Inicializador |
| |||||
Opciones |
| |||||
When | CTB93WOP2() | |||||
Val. Sistema | CTB93CWLEX() | |||||
Help | Es el segundo operando utilizado por el operador seleccionado, puede ser que no sea requerido. | |||||
CWL_CONJUN | C | 1 |
| Conjunción | Descripción | Conjunción |
Formato | @! | |||||
Nivel | 1 | |||||
Usado | Si | |||||
Obligatorio | No | |||||
Browse | Si | |||||
F3 |
| |||||
Propiedad | Real/Alterar | |||||
Inicializador |
| |||||
Opciones | 1=Y;2=O | |||||
When | CTB93CWLEX() | |||||
Val. Sistema |
| |||||
Help | Permite continuar la secuencia actual con la siguiente ya sea por un AND o por un OR. | |||||
CWL_SELSEC | C | 6 |
| Salta a Sec. | Descripción | Salta a la secuencia |
Formato | @! | |||||
Nivel | 1 | |||||
Usado | Si | |||||
Obligatorio | No | |||||
Browse | No | |||||
F3 |
| |||||
Propiedad | Real/Alterar | |||||
Inicializador |
| |||||
Opciones |
| |||||
When | CTB93CWLEX() | |||||
Val. Sistema |
| |||||
Help | Numero de secuencia en donde continuara, en caso de que la condición no se cumpla. Debe existir en el getdados. | |||||
CWL_EXPRES | C | 200 |
| Expresión ADVPL | Descripción | Expresión ADVPL |
Formato | @! | |||||
Nivel | 1 | |||||
Usado | Si | |||||
Obligatorio | No | |||||
Browse | No | |||||
F3 | CTB932 | |||||
Propiedad | Real/Alterar | |||||
Inicializador |
| |||||
Opciones |
| |||||
When | CTB93CWLEX() | |||||
Val. Sistema | CTB93FORM() | |||||
Help | Puede registrar operaciones aritméticas en ADVPL. | |||||
Indices: 1. CWL_FILIAL+CWL_CODFOR+CWL_SEC
2. CWL_FILIAL +CWL_OPER1
3. CWL_FILIAL+CWL_OPER2
|
|
|
|
|
| |
---|---|---|---|---|---|---|
Campo | Tipo | Tam. | Dec. | Título | Descripción | |
CWQ_FILIAL | C |
|
| Sucursal |
| |
CWQ_CODFOR | C | 15 |
| Código | Descripción | Código de la fórmula |
Formato | @! | |||||
Nivel | 1 | |||||
Usado | No | |||||
Obligatorio | Si | |||||
Browse | No | |||||
Propiedad | Real/Alterar | |||||
Val. Sistema |
| |||||
Help | Código de la fórmula | |||||
CWQ_TABLA | C | 3 |
| Alias de tabla | Descripción | Alias de la tabla |
Formato | @! | |||||
Nivel | 1 | |||||
Usado | No | |||||
Obligatorio | Si | |||||
Browse | No | |||||
Propiedad | Real/Alterar | |||||
Val. Sistema |
| |||||
Help | Alias de la tabla asociada a la formula. | |||||
Índices: CWQ_FILIAL+CWQ_CODFOR+CWQ_TABLA
CWQ_FILIAL+CWQ_TABLA+ CWQ_CODFOR
|
|
|
|
|
| |
---|---|---|---|---|---|---|
Campo | Tipo | Tam. | Dec. | Título | Descripción | |
CWM_FILIAL | C |
|
| Sucursal |
| |
CWM_CODFOR | C | 15 |
| Código | Descripción | Código de la fórmula |
Formato | @! | |||||
Nivel | 1 | |||||
Usado | No | |||||
Obligatorio | Si | |||||
Browse | No | |||||
Propiedad | Real/Alterar | |||||
Val. Sistema |
| |||||
Help | Código de la fórmula | |||||
CWM_LANPAD | C | 3 |
| Asiento Estándar | Descripción | Código de Asiento Estándar |
Formato | @! | |||||
Nivel | 1 | |||||
Usado | No | |||||
Obligatorio | Si | |||||
Browse | No | |||||
Propiedad | Real/Alterar | |||||
Val. Sistema |
| |||||
Help | Código de Asiento Estándar | |||||
CWM_SEQUEN | C | 3 |
| Ítem del Asiento Estándar | Descripción | Ítem del Asiento Estándar |
Formato | @! | |||||
Nivel | 1 | |||||
Usado | No | |||||
Obligatorio | Si | |||||
Browse | No | |||||
Propiedad | Real/Alterar | |||||
Val. Sistema |
| |||||
Help | Ítem del Asiento Estándar | |||||
Índices: CWM_FILIAL+CWM_CODFOR+CWM_LANPAD+CWM_SEQUEN
CWM_FILIAL+ CWM_LANPAD+ CWM_CODFOR
Grupo de Preguntas
No aplica
Tablas genéricas (sx5)
CZ.- Grupos o Módulos |
|
---|---|
X5_CHAVE | X5_DESCSPA |
000001 | SIGACTB |
000002 | SIGAFAT |
000003 | SIGACOM |
000004 | SIGAPCP |
000005 | SIGAGPE |
Consulta estándar
CWJ.-Mnemónicos
CWJFOR.- Consulta especifica de mnemónicos
CWJTIP.- Consulta especifica de tipo de dato
CZ.- Consulta estándar de Grupos Tabla SX5
CTB931.- Consulta específica para formar expresiones.
CWJ001.-Consulta estándar Mnemónicos
Parámetros
No aplica
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> Manto. Formulas |
Nombre de Rutina | Manto. Formulas |
Programa | CTBA093 |
Módulo | SIGACTB |
Tipo | Función Protheus |
Los casos de teste mencionados abajo deben ser ejecutados para garantizar la calidad del producto, tiene como finalidad obtener los resultados esperados.
No aplica
Caso de Pruebas | Incluir una formula por Configuración Rápida de Tipo Cuenta. |
|
|
Finalidad de Pruebas | Verificar que las validaciones explicadas en el documento, para el registro de fórmulas de tipo Cuentas, se cumplan. |
Estimativas | 10 mins |
Teste del Programador |
|
Recomendaciones |
|
Pré-condiciones | Información registrada en Catalogo de Mnemónicos (CWJ) . |
Pós-condiciones |
|
Como verificar los resultados | Cuando se finalice la prueba, verificar con la opción Visualizar la formula registrada. |
Procedimientos | Resultados Esperados |
1) Entrar a la rutina de mantenimiento de fórmulas (Actualizaciones>Archivos>Entes>Manto. Formulas) | Todos los campos de la sección de Catálogo permitirán registro. |
Aprobado por: |
|
| Aprobado por: |
|
|
|
|
| |
Elaborado por: Guadalupe Santacruz Arredondo |
|
| Modificado por: |
|