Asientos automáticos de cuentas corrientes de póliza (Vida No Tradicional)

Función

La finalidad de este programa es llevar los movimientos producidos en el área de Cuentas corrientes de pólizas al área de Contabilidad. Procesa todas las operaciones de cuentas corrientes de pólizas (inversiones, compra de unidaes, cargos administrativos, costo del seguro, etc. ) realizadas entre las fechas indicadas.
Este programa puede ser ejecutado con la periodicidad que el usuario desee, y ésta puede ir variando en el tiempo; ya que el programa estáen capacidad de verificar a partir de una fecha dada los registros que están sin procesar. El usuario siempre debe indicar la fecha hasta la cual desea que se realicen los asientos automáticos.
Este proceso requiere que existan previamente las guías contables correspondientes a los movimientos a contabilizar.

Proceso batch

Proceso

  • Se realiza la lectura de la Tabla de Control de Fechas de Ejecución de Procesos (Ctrol_date) a fin de obtener la fecha de última ejecución del proceso contable de "Cuentas corrientes de pólizas". La fecha leída en este registro corresponde a la fecha de inicio del proceso.
  • Se realiza la lectura de la Tabla de Movimientos de Cuentas Corrientes de Pólizas de VNT (Ul_move_acc_pol)  y Vida especial (Move_AccPol), con todos los registros cuya fecha de contabilización (dOperdate y/o dMovDate respectivamente) es posterior a la fecha de inicio de proceso - fecha de la Tabla de Control de Fechas de Ejecución de Procesos (Ctrol_date) e inferior o igual a la fecha hasta de proceso dado como parámetro. Si en esta lectura no se obtiene ningún registro, se envía error correspondiente y se termina el proceso.
  • Por cada registro obtenido de esta lectura, se realiza lo siguiente:
    • Se realiza la lectura del archivo de la Tabla de Detalle de la Guía Contable (Det_lines) a fin de obtener todos los registros correspondientes a:
         
        Area = Cuentas corrientes de pólizas
        Tipo de transacción = Tipo de movimientos de cuentas corrientes en la Tabla de Movimientos de Cuentas Corrientes (Ul_move_acc_pol/ Move_AccPol)
    • Si no se consigue ningún registro, se realiza la impresión correspondiente en el listado de "asientos no contabilizados" y se procesa el próximo registro de la Tabla de Movimientos de Cuentas Corrientes de Pólizas.
    • Si se consigue información se procede de la siguiente manera:
    • Basándose en el valor del complemento obtenido del archivo de la Tabla de Detalle de la Guía Contable (Det_lines), se obtiene la cuenta asociada a la línea del asiento a realizar.
      • Se verifica el tipo de auxiliar que tiene asociado la cuenta, dependiendo de este valor se busca el código correspondiente (Moneda, Zona o Sucursal, Ramo, Ramo Contable, etc.) en la tabla que corresponda. Los tipos de auxiliar que se pueden utilizar en este proceso son los siguientes:
        • Moneda, la información se obtiene del código de moneda asociado al movimiento en la Tabla de Movimientos de Cuentas Corrientes de Pólizas.
      • Se genera(n) la(s) línea(s) en la Tabla Temporal de Detalle de Asientos Automáticos Contables (TLedgerAutDetail).
      • Si la ejecución es "Definitiva", se actualiza la fecha en que se contabilizó el movimiento (campo "dPosted") de la Tabla de Movimientos de Cuentas Corrientes de Póliza (Ul_move_acc_pol y Move_AccPol) con la fecha del asiento enviada como parámetro.
    • Se realiza una agrupación de la Tabla Temporal de Detalle de Asientos Automáticos Contables (TLedgerAutDetail) (ver notas para el programador). Esto con el fin de poder “resumir” (sumarizar) las líneas generadas por los movimientos contabilizados.
    • Si el tipo de proceso indicado como parámetro es "Definitivo", entonces, el número de comprobante debe ser buscado en la Tabla Numerador (Numerator) con el tipo de número correspondiente a “Numeración de asientos”.

    Efecto

    Las líneas de asiento se generan en la Tabla de Líneas de un Asiento (Acc_lines), la información general del asiento o comprobante es generado en la Tabla de Comprobantes Contables (Acc_transa).
    Actualiza la Tabla de Control de Fechas de Ejecución de Procesos (Ctrol_date) y la Tabla de Movimientos de Cuentas Corrientes de Pólizas (Ul_move_acc_pol y Move_AccPol) para colocar la fecha en que se contabilizó el movimiento.

    Notas para el programador

    La lectura de la Tabla de Movimientos de Cuentas Corrientes de Pólizas (Ul_move_acc_pol y Move_AccPol) se realiza ordenando la información por los siguientes campos:
  • Tipo de movimiento.
  • Rutina de asientos

    Esta rutina debe recibir como parámetros los siguientes datos:
      • Importe de la línea.
      • Valores del registro de la Tabla de Detalle de la Guía Contable (Det_lines) correspondiente al asiento a realizar.
      • Código de la cuenta contable.
      • Valor del complemento a agregar a la cuenta contable.
      • Valor del auxiliar de la cuenta contable.
    Es importante aclarar que esta rutina es utilizada por todos los procesos de asientos automáticos, ya que en todos los casos es el mismo procedimiento a realizar.
    Con el código de la compañía contable asociado a la Tabla Maestro de la Guía Contable (Tab_lines) se actualiza en el arreglo el campo que indica que la compañía ha sido utilizada, se coloca el valor de afirmativo.
    Si la variable que contiene el valor del complemento esta lleno, se agrega éste al código de cuenta contable donde debe realizarse el asiento. Para agregar el complemento se debe verificar el nivel - esta información se obtiene de la Tabla de Compañías Contables (Led_compan) al que pertenece la cuenta y la cantidad de caracteres asociados al nivel al que pertenece el complemento a agregar. Por ejemplo, la estructura del código contable es la siguiente:
     
    Nivel Caracteres
    1 3
    2 2
    3 2
    4 4
    La cuenta a afectar es 001-03-12 y el valor del complemento es 2. Se debe completar el valor del complemento con ceros hasta llegar a la cantidad de caracteres del nivel 4 que sería el nivel de la cuenta final. El resultado debe ser 001-03-12-0002.
    El código de cuenta tomando en cuenta el auxiliar (si la cuenta tiene asociado alguno), debe estar registrado en el catálogo de cuentas (Ledger_acc) de la compañía contable que se afecta con el asiento. En caso de no existir la cuenta, se realiza la impresión correspondiente en el listado de "asientos no contabilizados" y no se genera ningún tipo de información en la Tabla Temporal de Detalle de Asientos Automáticos Contables (LedgerAutDetail).
    En caso de que se encuentre registrada la cuenta en la Tabla de Cuentas Contables (Ledger_acc) se procede de la siguiente manera:
  • Se agrega un registro en la Tabla Temporal de Detalle de Asientos Automáticos Contables (TLedgerAutDetail) tomando en cuenta el importe recibido como parámetro y la información contenida en el registro de la Tabla de Detalle de la Guía Contable (Det_lines) recibido como parámetro.
  • Si se ha solicitado la impresión del detalle de los asientos generados, se debe imprimir la línea del reporte correspondiente a cada una de las líneas generadas en el asiento.
  • Para la generación de los asientos y las líneas de los mismos se toma en cuenta la información generada en la Tabla Temporal de Detalle de Asientos Automáticos Contables (TLedgerAutDetail). Esta información debe estar agrupada (sumarizada) por los siguientes campos:
  • Código de la compañía contable.
  • Código de grupo de asiento.
  • Cuenta contable.
  • Auxiliar de la cuenta (solo si la cuenta tiene asociado un auxiliar).
  • Moneda original del movimiento.
  • Fecha del movimiento, es la fecha en que fue creado el movimiento.
  • Indicador de “Débito” (1) o “Crédito” (2).
  • Por cada código de compañía contable y código de grupo de asiento se genera un asiento en la Tabla de Comprobantes Contables (Acc_transa) con sus respectivas líneas asociadas en la Tabla de Líneas de un Asiento (Acc_lines), según la información de la Tabla Temporal de Detalle de Asientos Automáticos Contables (TLedgerAutDetail).
    La descripción de las líneas de (los) asiento(s) generado(s) se obtiene según el código de agrupación de asientos (valores posibles según la tabla 641), Se actualiza en la Tabla de Comprobantes Contables (Acc_transa), la descripción del comprobante contable generado (sDescript) como “Asiento automático de cuentas corrientes”; además, se indica que el comprobante es automático (sInd_automa).

    Fórmulas

    La tabla de parámetros para la compañía de seguros que rige el área de cuentas corrientes es la siguiente:
     

    Número

    Nombre

    Condición

    Cálculo

    7000

    Importe de crédito del movimiento Ul_move_acc_pol.nDebit
    7001 Importe de débtio del movimiento Ul_move_acc_pol.nCredit