Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Microsiga Protheus® tiene una transacción que permite la ejecución de asientos automáticos contables off-line.

Para ejecutar la rutina de generación de archivo para la Contabilidad, debemos procesar la Contabilidad Off-line.

Esta rutina efectúa los asientos contables off-line para los documentos de entrada y pedidos de compra, de acuerdo con los parámetros de la rutina y las reglas de contabilidad de los asientos estándar:

  • 640 - Ítems del documento de entrada - Solamente devolución (SD1)
  • 641 - Ítems del documento de entrada - Devolución o mejora (SD1)
  • 642 - Encabezado del documento de entrada (SF2) - Devolución o mejora (SF1)
  • 650 - Ítems del documento de entrada (SD1)
  • 651 - Ítems del prorrateo de centro de costo (SDE)
  • 652 - Ítems del pedido de compra (SC7)
  • 660 - Encabezado del documento de entrada (SF2)
  • 950 - Encabezado del documento de entrada. Se ejecutado solamente para documentos de importación (SIGAEIC).

 

Image AddedImportante:

Esta rutina fue concebida para ejecutarse en cualquier versión del sistema, sin embargo deben observarse las siguientes diferencias:

  • En las versiones que no utilizan el DBAccess, el sistema pone a disposición para cada uno de los asientos estándar los alias informados anteriormente, antes de la ejecución de cada asiento estándar.
  • Para as versiones DBAccess existen dos posibilidades de configuración del parámetro MV_OPTNFE:
  • Parámetro MV_OPTNFE con contenido F.
  • Parámetro MV_OPTNFE con contenido T.

De acuerdo con el contenido del parámetro, el asiento estándar, debe configurarse de acuerdo con los ejemplos descritos anteriormente. 

Cómo trabajar con el parámetro MV_OPTNFE con contenido F

La rutina seleccionará los registros utilizando los recursos del servidor del banco de datos (query), y antes de la ejecución del asiento estándar, los alias se marcarán y dejarán a disposición para uso. De esta manera, los asientos pueden ser:

 

Crédito

Iif(SF1->F1_TIPO$’DB’,SA1->A1_CONTA,SA2->A2_CONTA)

Débito

SD1->D1_CONTA

Valor

SD1->D1_TOTAL-SD1->D1_VALDESC+SD1->D1_VALIPI+SD1->D1_ICMRET

Cómo trabajar con el parámetro MV_OPTNFE con contenido T

La rutina seleccionará los registros utilizando los recursos del servidor de base de datos (query) y para la ejecución de los asientos se pondrá a disposición el alias CTBANFE, que contiene algunos campos de las tablas mencionadas en los asientos estándar. De esta manera, los asientos pueden ser:

 

Crédito

Iif(CTBANFE->F1_TIPO$’DB’,CTBANFE->A1_CONTA,CTBANFE->A2_CONTA)

Débito

CTBANFE->D1_CONTA

Valor

CTBANFE->D1_TOTAL-CTBANFE->D1_VALDESC+CTBANFE->D1_VALIPI+CTBANFE->D1_ICMRET

 

Image Added Importante:

Si el parámetro MV_OPTNFE se hubiera completado con T, los archivos SD1 - Ítem Documento de entrada y SF1 - Encabezado documento de entrada no estarán marcados. Por lo tanto, el usuario debe utilizar el alias CTBANFE en la inclusión de los asientos estándar, como se mostró en el ejemplo anterior.

Campos disponibles en el alias CTBANFE

 

SF1

Todos los campos, excepto aquellos que comienzan con: F1_BASE y F1_BASI

SD1

Todos los campos, excepto aquellos que comienzan con: D1_BASE y D1_BASI

SA2

A2_FILIAL, A2_COD, A2_LOJA, A2_CONTA, A2_NOME, A2_NREDUZ

SA1

A1_FILIAL, A1_COD, A1_LOJA, A1_CONTA, A1_NOME, A1_NREDUZ

SB1

B1_FILIAL, B1_COD, B1_CONTA

SF4

F4_FILIAL, F4_CODIGO, F4_CF

SC7

Todos los campos del SC7 (Solamente para registro estándar 652)

 

Para agregar otros campos, debe utilizarse el punto de entrada CTBNFE.


...

Ejemplo:

User Function CTBNFE()

If PARAMIXB <> Nil

aSelect := PARAMIXB[1]

aFrom : PARAMIXB[2]

cWhere := PARAIXB[3]

//Aquí agrego el campo específico de la TES.

Aadd(aSelect,{”F4_MEUTS”,\"C\",3,0})

//Aquí agrego el campo específico del Producto

Aadd(aSelect,{”B1_MEUPRD”,\"C\",15,0})

//Aquí agrego el campo específico del Proveedor

Aadd(aSelect,{”B1_MEUSA2”,\"C\",6,0})

Return({aSelect,aFrom,cWhere})

Else

Return(PARAMIXB)

EndIf

User Function CTBPC()

If PARAMIXB <> Nil

aSelect := PARAMIXB[1]

aFrom : PARAMIXB[2]

cWhere := PARAIXB[3]

//Aquí agrego el campo específico de la TES.

Aadd(aSelect,{”F4_MEUTS”,\"C\",3,0})

//Aquí agrego el campo específico del Producto

Aadd(aSelect,{”B1_MEUPRD”,\"C\",15,0})

//Aquí agrego el campo específico del Proveedor

Aadd(aSelect,{”B1_MEUSA2”,\"C\",6,0})

Return({aSelect,aFrom,cWhere})

Else

Return(PARAMIXB)

EndIf

 

...

Vea también

...