Asientos Contables

Características del Requisito

Línea de Producto:

Microsiga Protheus

Segmento:

Mercado Internacional

Módulo:

SIGACTB

Rutina:

Rutina

Nombre Técnico

CTBA105.PRW

Inclusión de lanzamientos contables

Rutina(s) involucrada(s)

Nombre Técnico

CTBA102.PRW

Inclusión de lanzamientos contables manuales

CT102DLG.PRWPunto de Entrada CT102DLG

Punto de Entrada:

http://tdn.totvs.com/x/25lc

Llamados vinculados:

 

Requisito/Story/Issue:DMICNS-130

País(es):

Chile

Base(s) de Datos:

Todas.

Tablas utilizadas:

CT5 - Asientos Estandar

CT2 - Asientos Contables

Sistema(s) operativo(s):

Todos.

Descripción 

Se solicita la creación de punto de entrada para detonarse cuando se genere un asiento contable On-line de los módulos del ERP. Se utiliza el Punto de Entrada existente CT102DLG.

Procedimiento de Implantación 

Deberá aplicar el paquete de actualización (patch) relacionado a este llamado (respaldar RPO antes de aplicar). El patch contiene la actualización de los fuentes:

  • CTBA102 - Inclusión de lanzamientos contables manuales

  • CTBA105 - Inclusión de lanzamientos contables

El sistema es actualizado después de la aplicación del paquete de actualizaciones (Patch) de este Issue.

Procedimiento de Utilización 

 

Configuraciones Previas

  • Crear y compilar el punto de entrada CT102DLG
  • Tener configurada y activa la Contabilidad On-line

    Ejemplo de Procedimiento:
  1. Dentro del módulo Compras ejecutar la rutina Factura de Entrada (Actualizaciones|Movimientos) se genera una Factura en Dolares.
  2. Se muestran los Asientos Contables, donde fueron generadas líneas por cada peso de diferencia.
  3. Se observa que se generaron correctamente los Asientos.

 

Punto de Entrada

Descripción:

Punto de Entrada para alteraciones antes de visualizar el Browse

Ubicación:

 

Eventos:

Lanzamientos Contables Automaticos

Programa Fuente:

CT102DLG

Función:

CTBA102/CTBA105

Respuesta:

 

 

Ejemplo:

#Include "Protheus.ch"

User Function CT102DLG()

Local nCred := Iif(ValType(oCred:cText) == "N",oCred:cText,Val(oCred:cText))
Local nDeb := Iif(ValType(oDeb:cText) == "N",oDeb:cText,Val(oDeb:cText))
Local nDif := (nCred * -1) + nDeb
Local nX := 0
Local nLinea := oGetDb:nCount

For nX := 1 To ABS(nDif)
   nLinea += 1
   RecLock("TMP", .T.)
   TMP->CT2_LINHA := StrZero(nLinea,Len(TMP->CT2_LINHA))
      If nDif>0
         nCred += 1
         TMP->CT2_DC := "2"
         TMP->CT2_CREDIT := "000002"
      Else
         nDeb += 1
         TMP->CT2_DC := "1"
         TMP->CT2_DEBITO := "000001"
       EndIf
      TMP->CT2_VALOR := 1
      TMP->CT2_HIST := "AJUSTE PESOS"
      TMP->CT2_TPSALD := "1"
   MsUnlock()
Next nX

oGetDb:nCount := nLinea
oCred:cText := Iif(ValType(oCred:cText) == "N",nCred,AllTrim(STR(nCred)))
oDeb:cText := Iif(ValType(oDeb:cText) == "N",nDeb,AllTrim(STR(nDeb)))
oDig:cText := Iif(ValType(oDig:cText) == "N",nDeb + nCred,AllTrim(STR(nDeb + nCred)))

Return