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

Objetivo 

Permitir asociar Formulas a los Asientos Estándar.

Definición da Regla de Negocio 

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:

  • La fórmula digitada como parámetro dentro de la función EjeFor, debe existir en el catálogo de formula (CWK).
  • Obtener las tablas o alias asociados a la formula (tablas cwq) y que estas existan en el Asiento estándar que se está configurando (tabla CWO), si al menos una no existe, no será una formula valida.


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:

  1. Preparar las tablas de usuario que serán usadas por el Asiento Estándar:


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.

  1. Meter en uso la rutina Ejefor.


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

  • CT5.-Asientos estándar
  • CWK.-Formulas.
  • CWQ.-Tablas vs. formulas
  • CWO.- Tablas vs. Puntos de Asiento
  • CWM.-Formulas usadas por asientos estándar

Prototipo de Pantallas 


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

Release Notes 


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).


Flujo de Proceso 

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

F3

CWKESP

Vld. Sistema

CTB93VCA()

CT5_CREDIT

F3

CWKESP

Vld. Sistema

CTB93VCA()

CT5_CCD

F3

CWKESP

Vld. Sistema

CTB93VCA()

CT5_CCC

F3

CWKESP

Vld. Sistema

CTB93VCA()

CT5_ITEMD

F3

CWKESP

Vld. Sistema

CTB93VCA()

CT5_ITEMC

F3

CWKESP

Vld. Sistema

CTB93VCA()

CT5_CLVLCR

F3

CWKESP

Vld. Sistema

CTB93VCA()

CT5_CLVLDB

F3

CWKESP

Vld. Sistema

CTB93VCA()

CT5_VLR01

F3

CTB931

Vld. Sistema

CTB93VCA()

CT5_VLR02

F3

CTB931

Vld. Sistema

CTB93VCA()

CT5_VLR03

F3

CTB931

Vld. Sistema

CTB93VCA()

CT5_VLR04

F3

CTB931

Vld. Sistema

CTB93VCA()

CT5_VLR05

F3

CTB931

Vld. Sistema

CTB93VCA()

 

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


Descripción

Código de asiento estándar

Formato

@!

Nivel

1

Usado

Si

Obligatorio

Si

CWM_SEQUEN

C

3


Secuencia

Descripción

Secuencia de asiento estándar

Formato

@!

Nivel

1

Usado

Si

Obligatorio

Si

CWM_CODFOR

C

15


Cod. formula

Descripción

Código de formula

Formato

@!

Nivel

1

Usado

Si

Obligatorio

Si

Í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.


  • Sem rótulos