Especificación de Requisitos | |
Proyecto/Versión: MEX12.0/TOTVS Microsiga Protheus V12.0 | Requisito/Módulo: 151105/SIGACTB |
Sub-Requisito/Función: 151105/Asientos Estandar | Tarea/Llamado: 00000B.06.01 |
País: todos | Fecha Especificación: 16/12/2013 |
Rutinas Involucradas | ||
Rutina | Tipo de Operación | Opción de Menú |
CTBA080 – Asientos Estándar | Modificación | Actualizaciones->Archivos->Entes->Asientos Estándar |
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 aplic |
Permitir asociar Formulas a los Asientos Estándar.
Consulta CWKESP
Crear la consulta especifica CWKESP, que llamara a la rutina CTB93CWK la cual realizara la visualización de las pantallas del prototipo 01 y del prototipo 03 al 05. Dependiendo del campo que solicito la consulta, será el tipo de pantalla desplegado:
Si los campo son de las cuentas contable (CT5_DEBITO, CT5_CREDIT), al seleccionar F3 mostrara la pantalla del Prototipo 01. Si selecciona Cuenta contable, mostrara la consulta estándar de las cuentas contable que ya actualmente lo hace.
Si los campo son de los centros de costo (CT5_CCD, CT5_CCC), al seleccionar F3 mostrara la pantalla del Prototipo 03. Si selecciona Centro de Costo, mostrara la consulta estándar de Centro de Costo que ya actualmente lo hace.
Si los campo son de las cuentas contable (CT5_ITEMD, CT5_ITEMC), al seleccionar F3 mostrara la pantalla del Prototipo 04. Si selecciona Ítems Contables, mostrara la consulta estándar de Ítems Contables que ya actualmente lo hace.
Si los campo son de las cuentas contable (CT5_CLVLDB, CT5_CLVLCR), al seleccionar F3 mostrara la pantalla del Prototipo 05. Si selecciona Clase Valor, mostrara la consulta estándar de Clase Valor que ya actualmente lo hace.
Si selecciono la consulta de Formulas Visualizara la consulta especifica CTB931, explicada en la siguiente sección.
A la pestaña de Valores se agregar la consulta CTB931 a los campos de valores (ct5_vlr01.. ct5_vlr05).
Consulta especifica CtB931.
Se creara la consulta específica CTB931 que llamara a la rutina CTBA080FOR que generara la pantalla como el prototipo 06.
El retorno de la consulta deberá ser el campo CWK_FOREJE.
Validaciones de los campos CT5_DEBITO, CT5_CREDIT, CT5_CCD, CT5_CCT, CT5_ITEMD, CT5_ITEMC, CT5_CLVLDB, CT5_CLVLCR, ct5_vlr01.. ct5_vlr05
Se creara la rutina CTB93VCA que se ejecutara solo si el campo tiene la instrucción EjeFor , y validara que:
De no cumplir las validaciones, enviará al usuario el aviso correspondiente y no permitirá dejar ese valor en el campo.
Al guardar el Asiento
Colocar la condición, si está en el rpo la función CTBA093, al guardar eliminara todos los registros contenidos para ese asiento y secuencia en la tabla de relación de los asientos vs formulas (CWM) y después guardara la nueva relación, solo debe haber un código de formula relacionado a cada Asiento y secuencia.
Preparación de las tablas y formulas al ejecutar el Asiento Estándar (Cambios a la función DetProva)
Se entenderá primero la funcionalidad de la rutina DetProva ubicada en el fuente MATXFUNA.prx, ya que ahí hay que agregar código para las siguientes acciones:
Dentro de Matxfuna, crear la rutina POSTABCTB , la cual deberá seleccionar los registros de la tabla CWO que sean del código de asiento estándar en cuestión (cwo_codpto=ct5_lanpad), y que sean de usuario (cwo _tipo='U'). Por cada registro, inicializar la tabla (cwo _tabla) con el índice (cwo _indice) y posicionándose (cwo _llave, solo si esta no está vacío el campo), para así dejar preparada la tabla que usara el asiento estándar.
Verificar en que parte de la rutina DetProva contenida en el fuente matxfuna.prx , es posible llamar a la rutina POSTABCT, y al llamarla meter una condición de si existe la función CTBA093 (formulas) ejecutarla de otra forma no.
Crear la rutina EjeFor (en el fuente Matxfuna), la cual recibirá como dato de entrada el código de la fórmula del Asiento estándar y regresará como resultado el código ADVPL (cwk_advpl).
Function EjeFor(cFormula)
Local cForm := " "
Local cAliCWK := "CWK"
Local xRegreso:=Nil
DbSelectArea(cAliCWK)
(cAliCWK )->(dbSetOrder(1))
/*/
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³La fórmula debe existir en el catálogo de formula (CWK).³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ/*/
If (cAliCWK )->(dbSeek(xFilial(cAliCWK )+cFormula))
cForm := AllTrim((cAliCWK )->CWK_ADVPL )
xRegreso:=&cForm
Else
Aviso( OemToAnsi(STR0037),OemToAnsi(STR0054) + cFormula + OemToAnsi(STR0055) + CT5->CT5_LANPAD , {OemToAnsi(STR0056)} ) //"Error. No se encontró la Formula " // " del asiento " // "Ok"
EndIf
Return xRegreso
Verificar en que línea de la rutina DetProva contenida en el fuente MatxFuna.prx es pertinente llamar a la función EjecFor y debe ser ejecutada solo si existe la función CTBA093 (catálogo de fórmulas).
Tablas Utilizadas
Prototipo 01 Regresar
Cuando selección F3 visualizara la pantalla:
Si selecciona Cuentas contables, visualizara la pantalla:
Protótipo 02 Regresar
Al seleccionar la consulta estándar visualizara la pantalla:
Prototipo 03
Prototipo 04
Prototipo 05
Prototipo 06
Consulta CTB91FOR
Módulo | SIGACTB / PROTHEUS |
Función | Asientos estándar. |
Descripción de Función | Permite asociar fórmulas que fueron creadas por la herramienta de formulación (CTBA093). |
Diagrama de Entidad y Relación
Diccionario de Datos
Modificar las consultas estándar de los campos de la CT5 y agregar la validación como sigue:
Campo | Cambios | ||||
CT5_DEBITO |
| ||||
CT5_CREDIT |
| ||||
CT5_CCD |
| ||||
CT5_CCC |
| ||||
CT5_ITEMD |
| ||||
CT5_ITEMC |
| ||||
CT5_CLVLCR |
| ||||
CT5_CLVLDB |
| ||||
CT5_VLR01 |
| ||||
CT5_VLR02 |
| ||||
CT5_VLR03 |
| ||||
CT5_VLR04 |
| ||||
CT5_VLR05 |
|
CWM – Formulas usadas por Asiento Estándar | |||||||||||||||
Campo | Tipo | Tam. | Dec. | Título | Descripción | ||||||||||
CWM_FILIAL | C | Sucursal | |||||||||||||
CWM_LANPAD | C | 3 | Asiento Estándar |
| |||||||||||
CWM_SEQUEN | C | 3 | Secuencia |
| |||||||||||
CWM_CODFOR | C | 15 | Cod. formula |
|
Índice: CWM_FILIAL+CWM_LANPAD+CWM_SEQUEN+CWM_CODFOR
CWM_FILIAL+CWM_CODFOR+CWM_LANPAD+CWM_SEQUEN
Agregar los índices a las Tablas
Tabla | Num Ind | Índice |
CWQ | 1 | CWQ_FILIAL+CWQ_CODFOR+CWQ_TABLA |
CWQ | 2 | CWQ_FILIAL+CWQ_TABLA+ CWQ_CODFOR |
CWO | 2 | CWO_FILIAL+CWO_CODPTO+CWO_TABLA |
Grupo de Preguntas
No aplica
Consulta estándar
CWKESP.- Consulta específica para crear la pantalla donde permitirá al usuario seleccionar entre dos tipos de consulta.
CTB931.- Consulta especifica de fórmulas.