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 PROTOTIPO01). Con las opciones Incluir, Modificar, Visualizar, Borrar, Consulta y las estándares.
Opción Incluir
Al ingresar a esta opción visualizara una pantalla con dos pestañas ( PROTOTIPO02), una que permita hacer registro de fórmulas sencillas y otra en la que se permitirá registrar fórmulas más complejas.
Pestaña de Configuración Rápida
Los datos que solicitara son:
Código (cwk_codfor) – Código asignado por el usuario para identificar la formula. Obligatorio.
Descripción (CWK_desc) – Nombre corto que describa la funcionalidad de la formula.
Grupo (cwk_grupo) – Código de grupo al que pertenecerá la formula, podrá seleccionar de la consulta estándar de la tabla genérica CZ (tabla de la sx5). Obligatorio.
Desc. Grupo (x5_descri) – Descripción del grupo. Virtual.
Tipo (cwk_tipo) - Podrá seleccionar entre, Cuenta/C. Costo/Ítem contable/Cl. Valor/Valor fijo o Formula (esto indica limpieza de los demás campos que se describen a continuación).
Al salir de este campo limpiara los datos de los campos siguientes, excepto el que sea del Tipo seleccionado. Enviara un mensaje de advertencia al usuario cuando detecte que hay información en algún otro campo que no fue el seleccionado, antes de continuar con el borrado. Si la respuesta del usuario es afirmativa, procederá a realizar la limpieza, de otra forma dejara el Tipo seleccionado, y no limpiara ningún campo.
Tipo de dato (CWK tipdat) .- Podrá seleccionar entre _Numérico, Carácter o Fecha. Se refiere al tipo de resultado que arrojara la formula cuando se haga uso de ella en el opción de Asiento Estándar o en la de Mnemónicos.
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 ( prototipo03):
Formula (CWK_advpl) – Este dato será actualizado al guardar la formula o al seleccionar el botón Generar Formula, siempre y cuando exista información en al getdados inferior o datos en los campos Cuenta/C. Costo/Ítem contable/Cl. Valor/Valor de la pestaña de Catalogo. Solo se visualizara.
Los datos en el getdados:
La edición del getdados solo será válida si el dato tipo de la pestaña de Catalogo es de tipo Formula.
Sec. (cwl_sec) – Numero de secuencia, y será asignado por el usuario. Indicara la secuencia en la que se ejecutara la formula. Dato obligatorio y no puede repetirse.
Operador (cwl_oper).- Mostrara un listbox fijo con los códigos de operadores (dependiendo del idioma mostrara diferentes descripciones de operador), de acuerdo al arreglo siguiente (operadores válidos):
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 a columna 5 del arreglo de acuerdo al operador tiene una O.
Tendrá las mismas pre validaciones que tiene el operador 1, y la validación del tipo de dato que puede aceptar, será de acuerdo al operador seleccionado (ver arreglo arriba, columna 6).
Conjunción (cwl_conjun).- Solo se activara si el Operador es de tipo condición, y solo permitirá seleccionar entre O e Y.
Salta a Sec (cwl_selsec).- solo se activara si el Operador es de Condición y el campo de Conjunción está vacío. Solo permitirá colocar numéricos. Es el camino que tomara la condición si es verdadera.
Expresión (cwl_expres).- Permitirá generar una expresión aritmética haciendo uso de operadores y mnemónicos, al seleccionar la consulta especifica CTB931, abrirá una pantalla que permite construir la expresión (al salir de este campo validara que la expresión tenga sintaxis ADVPL correcta) verifique el prototipo05. Solo permitirá edición si todos los campos anteriores están vacíos.
Por cada renglón deberá validar que la sintaxis sea correcta de acuerdo al Operador (la sintaxis estará ubicadas en un arreglo en rutinas del Protheus en código duro), verificando información como, si el tipo de dato que acepta el operador es válido o si este es un dato obligatorio, etc.
Al bajar de línea deberá mostrar en los campos Descripción Operando 1/Descripción Operando 2, la descripción del mnemónico elegido en cada e pero solamente si el operando es un mnemónico de lo contrario la descripción debe quedar el blanco.
Los campos descripción operando1/Descripción Operando 2 deberán crearse en tiempo de ejecución y no se guarda su contenido en la BD.
Nota técnica: Crear una rutina de validación de sintaxis por cada operador, misma que será utilizada para la validación por renglón.
Si no es correcto, enviara al usuario el mensaje correspondiente y no permitirá avanzar ni guardar con el error.
Cuando se Confirme, realizar las siguientes acciones:
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 ( prototipo 04).
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) y relacionar las coincidencias con la tabla de Asientos (tabla ct5, ct5_lanpad=cwm_lanpad y ct5_sequen=cwm_sequen).
Encabezado visualizara los datos:
Código (CWK_codofor) – Código asignado por el usuario para identificar la formula.
Descripción (CWK_desc) – Nombre corto que describa la funcionalidad de la formula.
Grupo (CWK_grupo) – Código de grupo al que pertenecerá la formula.
Desc. Grupo (x5_descri) – Descripción del grupo.
Formula (CWK_advpl) – Formula en ADVPL.
En el detalle visualizara los datos:
Cod Asto Est. (ct5_lanpad) Código del asiento estándar, Secuencial (ct5_sequen), Estatus (ct5_status), Descripción (ct5_desc), Tipo Asiento (ct5_dc) , todos los campo Cta. Cargo (ct5_debito) , Cta. Abono (ct5_credit) , C. Costos CRG (ct5_ccd), C. Costo Abn (ct5_ccc), Item Cargo (ct5_itemd), Item Abono (ct5_itemc), Cl. Vlr. Crg. (ct5_clvldb), Cl. Vlr. Abn. (ct5_clvlcr), Otr. Inf. Crg (ct5_ativde), Otr. Inf. Abn (ct5_ativcr) y los campos de valores(ct5_vlr01.. ct5_vlr05), Asto. Monedas (ct5_moedas) .
Consulta CWJFOR.- Mnemónicos
Se creara la consulta estándar CWJFOR, donde se visualizaran las columnas:
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.
Operadores Validos
[Regreso
#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
Prototipo 01 Regresar
Prototipo 02 Regresar
Prototipo 03 Regresar
Prototipo 04 Regresar
Protótipo 05 Regresar
Consulta CTB931 (Rutina CTB93EXPR)
Expresión a retornar.- Es un campo tipo memo que podrá editar el usuario, o ir formando la expresión con la herramientas mostradas abajo. Al selecciona OK, será la expresión retornada al getdados de la formula.
Operadores.- Podrá seleccionar entre:
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 |
| ||||||||||||||||||||||||||||||||||
CWK_GRUPO | C | 6 | Grupo |
| ||||||||||||||||||||||||||||||||||
CWK_TIPO | C | 1 | Tipo |
| ||||||||||||||||||||||||||||||||||
CWK_TIPDAT | C | 1 | Tipo de Dato |
| ||||||||||||||||||||||||||||||||||
CWK_VALOR | C | 50 | Valor |
| ||||||||||||||||||||||||||||||||||
CWK_CONASI | C | 40 | Cond. Asiento |
| ||||||||||||||||||||||||||||||||||
CWK_CUENTA | C | 20 | Cuenta Cont |
| ||||||||||||||||||||||||||||||||||
CWK_CC | C | 16 | C. de Costo |
| ||||||||||||||||||||||||||||||||||
CWK_ITECTB | C | 16 | Ítem contable |
| ||||||||||||||||||||||||||||||||||
CWK_CLVALO | C | 16 | Cl. Valor |
| ||||||||||||||||||||||||||||||||||
CWK_HELP | MEMO | Ayuda |
| |||||||||||||||||||||||||||||||||||
CWK_ADVPL | MEMO | ADVPL |
| |||||||||||||||||||||||||||||||||||
CWK_FOREJE | C | 30 | Ejecutable |
| ||||||||||||||||||||||||||||||||||
CWK_DESGPO | C | 20 | Desc. Grupo |
|
Índices: CWK_FILIAL+CWK_CODFOR
| |||||||||||||||||||||||||||||||
Campo | Tipo | Tam. | Dec. | Título | Descripción | ||||||||||||||||||||||||||
CWL_FILIAL | C | Sucursal | |||||||||||||||||||||||||||||
CWL_CODFOR | C | 15 | Código |
| |||||||||||||||||||||||||||
CWL_SEC | C | 6 | Sec. |
| |||||||||||||||||||||||||||
CWL_OPER | C | 02 | Operador |
| |||||||||||||||||||||||||||
CWL_OPER1 | C | 37 | Operador 1 |
| |||||||||||||||||||||||||||
CWL_OPER2 | C | 37 | Operador 2 |
| |||||||||||||||||||||||||||
CWL_CONJUN | C | 1 | Conjunción |
| |||||||||||||||||||||||||||
CWL_SELSEC | C | 6 | Salta a Sec. |
| |||||||||||||||||||||||||||
CWL_EXPRES | C | 200 | Expresión 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 |
| |||||||||||||||||||
CWQ_TABLA | C | 3 | Alias de tabla |
|
Í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 |
| |||||||||||||||||||
CWM_LANPAD | C | 3 | Asiento Estándar |
| |||||||||||||||||||
CWM_SEQUEN | C | 3 | Í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 |