Índice


Objetivo

Cuentas por pagar son compromisos representados por compra de mercaderías, servicios, sueldos, impuestos, alquiler, préstamos, aportes, máquinas, insumos para producción, etc.

La rutina Cuentas por pagar del sistema Microsiga Protheus controla todos los documentos, también llamados títulos, pagados por la empresa y que pueden ser: facturas de crédito, cheques, notas pagarés, anticipos, pagos anticipados, facturas, etc. La información registrada contribuye en la toma de decisiones sobre todos los compromisos de la empresa, que representan el desembolso de recursos y están atribuidas a los siguientes criterios:

  • Elaboración del flujo de caja.
  • Garantizar el plazo de pago, incluso considerando la posibilidad de conseguir descuentos, y principalmente, evitar sanciones que resultan en el costo de multas e interés.
  • Priorizar pagos en la hipótesis de dificultad financiera.
  • Identificar situaciones contratadas e no pagadas.
  • Garantizar la conciliación con los saldos contables.

Nota

Los tipos de títulos identifican el dinero referente a un determinado ingreso o gasto. Estos deben definirse en la tabla 05 (Tipos de títulos) del módulo Configurador o en la rutina Tipos de títulos.

La inclusión de un título en la cartera por pagar puede realizarse de forma manual (inclusión individual de los títulos por medio de digitación) o automática (a partir de las facturas de entrada, siempre y cuando, el módulo Compras y/o Stock y costos estén integrados al módulo Financiero).

Nota

Para que el título se genere automáticamente, es necesario que los módulos de Compras y/o Stock y costos estén implantados e integrados, pues el proceso depende de la recepción de documentos de entrada y de los pedidos de compra.

El registro de Cuentas por pagar está elaborado de la siguiente manera:

Factura de entrada creada en el módulo Stock y costosTítulos generados en el Cuentas por pagar

101010 (6.000) en 6 cuotas de 1.000

101010 A - 1.000

101010 B - 1.000

101010 C - 1.000

101010 D - 1.000

101010 E - 1.000

101010 F - 1.000

Para que la configuración de las cuotas sea en la forma alfabética, es necesario que el parámetro MV_1DUP tenga en su contenido la letra A, sin embargo, para división de cuotas de manera numérica, informe la opción 1.

Los títulos deben agruparse por modalidad, permitiendo de esta manera la generación de resultados (informes) de forma estructurada y organizada, siendo una poderosa herramienta de gestión.

La opción de desdoblamiento permite la generación de diversos títulos a partir de uno, teniendo todos el mismo valor (cuota), o el valor dividido por el número de cuotas (total).

La facturación, cuando está integrada, genera títulos por pagar por medio de la rutina Actualización de comisión. Estos títulos se mostrarán por el estándar con la opción COM y su prefijo se definirá por la configuración del parámetro MV_3DUPREF.

El sistema realiza el seguimiento del historial de los proveedores, como mayor saldo, media y mayor atraso, y el control de saldos por pagar como valor vencido, por vencer, etc.

En la liquidación de los títulos, el sistema ofrece facilidades en el tratamiento de Empresa vs. Banco, con pagos automáticos y emisión de cheques. La baja de los títulos por pagar puede realizarse de forma manual o automática, individual o por lotes recibidos de los bancos.

Los títulos que deben considerarse para fines de flujo de caja pueden controlarse, pues en la inclusión de cuentas por pagar el sistema actualiza este flujo y efectúa los asientos contables por medio de parámetros definidos y de los asientos estándar.

Mapa mental

En este diagrama conozca la información que considera la funcionalidad de la rutina: 

 


Antes de comenzar con el procedimiento de inclusión, pulse la tecla [F12] para realizar la parametrización de la rutina que considera los siguientes criterios: 

Campo:

Descripción

¿Muestra Asiento Contab?

Indica, por medio de la selección entre las opciones y No, si el asiento contable debe mostrarse si la contabilidad fuera on-line.

Ejemplo:

Sí.

¿Contab. Tít. Provis?

Indica, por medio de la selección entre las opciones y No, si deben contabilizarse los títulos provisionales.

Ejemplo:

No.

¿Inf. Ctas en el prorrateo?

Indica, por medio de la selección entre las opciones y No, si deben mostrarse los campos para digitación de las cuentas a débito y a crédito en el prorrateo del título.

Ejemplo:

Sí.

¿Contabiliza on-line?

Indica, por medio de la selección entre las opciones y No, si la contabilidad será on-line, es decir, en el momento de hacer efectiva la transacción uno a uno (inclusión de título, baja, generación de cheque, borrado, etc.) o si se contabilizará off-line, donde todos los asientos no efectuados on-line se contabilizan en un proceso de lote.

Ejemplo:

No.

¿Generar Cheq. p/ Anticip.?

Indica, por medio de la selección entre las opciones y No, si debe generar cheque para títulos de anticipo. De esta manera el sistema habilitará el campo Cheque en la inclusión del pago anticipado y cuando se informa su número, ocurre el movimiento bancario.

Ejemplo:

Sí.

¿Prorratea valor? 

Indica el valor para utilizarse en el prorrateo de cuentas por pagar. Dispone de las opciones Bruto (Valor del título más los impuestos) y Neto (valor sin los impuestos).

Ejemplo:

Bruto.

¿Agrupa asiento contable? 

Indica, por medio de la selección entre las opciones y No, si los asientos contables del prorrateo deben agruparse en una única línea, siempre y cuando, las cuentas, centro de costo, ítem y clase de valor sean iguales en los asientos efectuados.

Ejemplo:

No.

¿Muestra prorrateo borrado? 

Indica, por medio de la selección entre las opciones y No, si debe mostrarse la pantalla de prorrateo en el borrado del título.

Ejemplo:

Sí.

¿Mov. Banc. sin cheque? 

Indica si debe generar movimiento bancario si el campo Genera Chq.p/Anticip. se hubiera completado con la opción No. Dispone de las opciones:

  • Sí: anticipo en efectivo (con movimiento).
  • No: anticipo sin movimiento bancario para envío de CNAB (DOC/TED).

Ejemplo:

No.

¿Genera prorrateo? 

Para situaciones en las que se utilizan múltiples modalidades, indica si el prorrateo se generará como modalidad/centro de costo. Para los valores de los impuestos, se aplicará solamente si la opción de prorrateo del valor se informara como neto. Dispone de las opciones Título y Título/Impuestos.

Ejemplo:

Título.

Incluir prorrateo de un título proveniente de un módulo diferente del Financiero.

Seleccione el título y vaya a la opción Modificar, acceda a la solapa Contable y diríjase al campo Prorrateo (E2_RATEIO) por medio de la selección entre las opciones y No, debe mostrarse la pantalla de prorrateo.

Ejemplo:

No.

Obs. Para esta situación el título no puede estar contabilizado.


En la página principal de la rutina están a disposición estas opciones:

Permite la inclusión de información de los documentos/títulos que la empresa debe pagar.

Al seleccionar esta opción, elija la Sucursal deseada y haga clic en Ok.

La información debe completarse de acuerdo con las orientaciones descritas en Principales campos.

Vea también más funcionalidades puestas a disposición en Otras acciones.


Principales campos 

Campo:

Descripción

Prefijo:

Permite identificar un conjunto de títulos que pertenecen al mismo grupo o sucursal. Después de informar el prefijo, este se considera parte integrante de la clave de acceso al título.

Nota

Para que la configuración de las cuotas sea en la forma alfabética, es necesario que el parámetro MV_1DUP tenga en su contenido la letra A, sin embargo, para división de cuotas de manera numérica, informe la opción 1.

N. Título:

Informe el número del título.

Ejemplo:

FIN000024

Cuota:

Informe la cuota del título. El sistema permite el control de los desdoblamientos de un título.

Ejemplo:

1

Tipo:

Clasifica el título por su finalidad. Los tipos están registrados en la tabla 05 (Tipos de títulos) del módulo Configurador o en la rutina Tipos de títulos. Si fuera necesario, utilice el recurso de Consulta estándar para seleccionar el título y completar el campo.

Ejemplo:

TX (esta sigla corresponde a título de tasas).

Nota

Tipos especiales

 

Títulos provisionales

Se utiliza para hacer la provisión de ingresos que ocurrirán para presupuestos/flujo de caja.

En la implantación del título debe indicarse el tipo PR o es necesario informar su condición en el campo Tipos de títulos.

Para hacerlo efectivo, debe utilizarse la opción Sustituir informando el código/tienda del cliente/proveedor.

 

Anticipos

Identifica un título que obtuvo pago anticipado (PA), es decir, antes de la emisión de la factura, hubo el pago parcial o total del título. El saldo bancario se actualiza on-line, ya que existe la entrada/salida de dinero en el Banco.

En la implantación del título debe indicarse el tipo RA o PA o informarse como cobranza/pago anticipado en el campo Tipos de títulos. A continuación, deben informarse los datos referentes al anticipo: Banco, agencia, cuenta y cheque (solamente para pagos).

La generación de pago anticipado (PA) puede efectuarse de acuerdo con la configuración del parámetro MV_PABRUTO siendo:

  • Valor bruto - si en el anticipo no se descuentan los impuestos.
  • Valor neto - si en el anticipo se descuentan los impuestos.

El estándar del sistema es incluir un PA calculando el valor de los impuestos sobre el valor bruto del anticipo, generando el título referente al valor neto y los títulos para cada impuesto retenido.

En el pago anticipado también es posible retener el INSS generando un título del tipo INA para el pago del impuesto. Para esto, el contenido del campo Calcula INSS debe ser igual a . El paquete completo involucra algunas rutinas:

  • Inclusión de títulos en la rutina de cuentas por pagar.
  • Borderó de pagos.
  • Baja manual y automática.
  • Compensación de cuentas por pagar.
  • Borderó de pago con impuestos.

 

Notas de créditos

Se utiliza para indicar que existen notas de crédito/débito en clientes o proveedores. En estos casos, el saldo bancario no se actualiza.

En la implantación de una nota de crédito debe indicarse el tipo NCC o NDF o informarse como Nota de crédito/Nota de débito en el campo Tipos de títulos.

 

Descuentos

Se utiliza para indicar la existencia de valores que deben descontarse en el título. Siempre está vinculado a un título principal.

Para implantar un título de descuento, debe indicarse el tipo AB o el tipo indicado como Descuento en el campo Tipos de títulos. Debe digitarse el prefijo, número y cuota del título principal o marcar el título principal y digitar el tipo referente al descuento.

Nota

Si el sistema encontrara títulos con claves parecidas, de acuerdo con la clave del descuento que se está incluyendo, se mostrará una pantalla con los títulos para selección del título correcto que se descontará.

Ejemplo:



Modalidad:

Identifica la procedencia de la modalidad del título y permite la consolidación por este ítem, así como el control presupuestario. Si fuera necesario, utilice el recurso Consulta estándar para seleccionar la modalidad del título y completar el campo.

Ejemplo:

ISS

Aviso

Este campo no estará disponible para modificación, cuando el título por pagar esté contabilizado o dado de baja.

Proveedor:

Informe el código del proveedor. Si fuera necesario, utilice el recurso de Consulta estándar para seleccionar el proveedor registrado y completar el campo.

Ejemplo:

FIN061

Tienda:

Informe el código que identifica la tienda del proveedor.

Ejemplo:

01

Nombre proveedor

Muestra el nombre del proveedor.  Se completa automáticamente, de acuerdo con el contenido definido en el campo Proveedor.

Ejemplo:

Proveedor PJ

Fch. Emisión: 

Fecha de emisión del título.

Ejemplo:

17/12/2015

Vencimiento:

Informe la fecha de vencimiento nominal del título considerando también las posibles prorrogaciones.

Ejemplo:

El título número FIN000024 tiene su vencimiento el 17/12/2015, pero por cuestiones comerciales con el proveedor, hubo una prorrogación de 10 días para su pago. De esta manera, este campo debe completarse con la fecha del 27/12/2015.

Nota

El sistema no permite una fecha de vencimiento inferior a la fecha de emisión del título.

Vencto. Real: 

Fecha de vencimiento real del título calculada automáticamente a partir de la fecha informada en el campo Vencimiento.

Ejemplo:

17/12/2015

Nota

El sistema considera solamente los días útiles, es decir, verifica si la fecha del vencimiento será sábado, domingo o feriado y descarta estos días. También existe la verificación de los días de retención sugeridos por el Banco, que considera la transferencia de títulos del Banco a la cartera, y consecuentemente ajusta la cumplimentación del campo.

Val. Título: 

Valor original del título en la moneda actual.

Ejemplo:

1.835,62

Historial:

Este campo permite realizar un breve comentario sobre el título.

Saldo:

El sistema mantiene en este campo el saldo actualizado del valor del título después de cada una de las transacciones efectuadas.

 Ejemplo:

1.835,62

Moneda: 

Código de la moneda en la cual se está informando el título. Moneda 1 = estándar monetario nacional y monedas de 2 a 5, de acuerdo con los criterios definidos en los parámetros MV_MOEDA2, MV_MOEDA3, MV_MOEDA4 y MV_MOEDA5, por medio del módulo Configurador.

Ejemplo:

1

Val. R$: 

Valor del título expresado en moneda actual.

 Ejemplo:

1.835,62

Tasa moneda:

Si se informa una tasa, ésta es se utilizará como base de conversión en el momento de la baja, en caso contrario, se utilizará la tasa contratada o la tasa de la moneda del día de la baja.

Cód. Aprob.: 

Código del aprobador del título, de acuerdo con las reglas para aprobación simple o pertinencia de fondo fijo. Si fuera necesario, utilice el recurso Consulta estándar para seleccionar el aprobador del título y completar el campo.


Ejecución automática 

VISIÓN GENERAL

Ejemplo de ejecución automática de las operaciones de inclusión, borrado y modificación de títulos por pagar.

Aviso

La función Fa050Inclu() no puede utilizarse en personalizaciones, por tratarse de una función de menú existen algunas dependencias de variables privates declaradas en FINA050.

EJEMPLO DE UTILIZACIÓN


Inclusión
#INCLUDE "Protheus.ch"
USER FUNCTION FIN050INC()
	LOCAL aArray := {}
	 
	PRIVATE lMsErroAuto := .F.
	
	//Estructura para PA ( Pago anticipado )
	aArray := { { "E2_PREFIXO"  , "PAG"             , NIL },;
				{ "E2_NUM"      , "0001"            , NIL },;
				{ "E2_TIPO"     , "PA"              , NIL },;
				{ "E2_NATUREZ"  , "001"             , NIL },;
				{ "E2_FORNECE"  , "0001"            , NIL },;
				{ "E2_EMISSAO"  , CtoD("17/02/2012"), NIL },;
				{ "E2_VENCTO"   , CtoD("17/02/2012"), NIL },;
				{ "E2_VENCREA"  , CtoD("17/02/2012"), NIL },;
				{ "E2_VALOR"    , 5000              , NIL },;
				{ "AUTBANCO"    , "001"				, NIL },;
				{ "AUTAGENCIA"  , "1234"			, NIL },;
				{ "AUTCONTA"    , "123456"			, NIL } }

	//Estructura para otros títulos
	aArray := { { "E2_PREFIXO"  , "PAG"             , NIL },;
				{ "E2_NUM"      , "0001"            , NIL },;
				{ "E2_TIPO"     , "NF"              , NIL },;
				{ "E2_NATUREZ"  , "001"             , NIL },;
				{ "E2_FORNECE"  , "0001"            , NIL },;
				{ "E2_EMISSAO"  , CtoD("17/02/2012"), NIL },;
				{ "E2_VENCTO"   , CtoD("17/02/2012"), NIL },;
				{ "E2_VENCREA"  , CtoD("17/02/2012"), NIL },;
				{ "E2_VALOR"    , 5000              , NIL } }
	 
	MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 3)  // 3 - Inclusión, 4 - Modificación, 5 - Borrado
	 
	 
	If lMsErroAuto
		MostraErro()
	Else
		Alert("¡Título incluido con éxito!")
	Endif
	 
Return
Modificación
#INCLUDE "Protheus.ch"
USER FUNCTION FIN050ALT()
	LOCAL aArray := {}
	 
	PRIVATE lMsErroAuto := .F.

	aArray := { { "E2_PREFIXO"  , "PAG"             , NIL },;
				{ "E2_NUM"      , "0001"            , NIL },;
				{ "E2_VALOR"    , 2000              , NIL } }  

	DbSelectArea("SE2") 
	DbSetOrder(1)
	DbSeek(xFilial("SE2")+"PAG"+"0001     "+" "+"NF") //Modificación debe tener el registro SE2 marcado
			 
	MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 4)  // 3 - Inclusión, 4 - Modificación, 5 - Borrado

	If lMsErroAuto
		MostraErro()
	Else
		Alert("¡Título modificado con éxito!")
	Endif

Return
Borrado
#INCLUDE "Protheus.ch"
USER FUNCTION FIN050EXC()
	LOCAL aArray := {}
	 
	PRIVATE lMsErroAuto := .F.
	 
	DbSelectArea("SE2") 
	DbSetOrder(1)
	DbSeek(xFilial("SE2")+"PAG"+"0001     "+" "+"NF") //Borrado debe tener el registro SE2 marcado
									
	aArray := { { "E2_PREFIXO" , SE2->E2_PREFIXO , NIL },;
					{ "E2_NUM"     , SE2->E2_NUM     , NIL } }
	 
	MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 5)  // 3 - Inclusión, 4 - Modificación, 5 - Borrado
	 
	If lMsErroAuto
		MostraErro()
	Else
		Alert("¡Borrado del título con éxito!")
	Endif
 
Return

Inclusión con VA (Valores adicionales)
#INCLUDE "Protheus.ch"
USER FUNCTION FIN050VA()
    LOCAL aArray := {}
    LOCAL nOpc   := 3 // 3-Inclusión, 4 Modificación
 
    // Datos del valor adicional.
    LOCAL aVAAut     := {}
    LOCAL cValAce1   := "000001"  // Código del Va
    LOCAL nValAce1   := 200       // Valor del Va
    LOCAL cValAce2   := "000012"
    LOCAL nValAce2   := 4
 
    PRIVATE lMsErroAuto := .F.
  
    aArray := { { "E2_PREFIXO"  , "PAG"             , NIL },;
              { "E2_NUM"      , "0001"            , NIL },;
              { "E2_TIPO"     , "NF"              , NIL },;
              { "E2_NATUREZ"  , "001"             , NIL },;
              { "E2_FORNECE"  , "0001"            , NIL },;
              { "E2_EMISSAO"  , CtoD("17/02/2012"), NIL },;
              { "E2_VENCTO"   , CtoD("17/02/2012"), NIL },;
              { "E2_VENCREA"  , CtoD("17/02/2012"), NIL },;
              { "E2_VALOR"    , 5000              , NIL } }
  
    // Array con valor adicional
    aAdd(aVAAut, {cValAce1, nValAce1})
    aAdd(aVAAut, {cValAce2, nValAce2})
 
    MsExecAuto( { |a,b,c,d,e,f,g,h,i,j,k,l| FINA050(a, b, c, d, e, f, g, h, i, j, k, l)}, aArray,, nOpc,,,,,,,,, aVAAut)  
  
    If lMsErroAuto
        MostraErro()
    Else
        If nOpc == 3       
            Alert("¡Título incluido con éxito!")
        Else
            Alert("¡Título modificado con éxito!")
        EndIf
    Endif
  
Return
Inclusión con PA con cheque
#INCLUDE "Protheus.ch"
USER FUNCTION FIN050INCPA()
    LOCAL aArray := {}
  
    PRIVATE lMsErroAuto := .F.
  
    aArray := { { "E2_PREFIXO", "PAG"             , NIL },;
              { "E2_NUM"      , "0001"            , NIL },;
              { "E2_TIPO"     , "PA"              , NIL },;
              { "E2_NATUREZ"  , "001"             , NIL },;
              { "E2_FORNECE"  , "0001"            , NIL },;
              { "E2_EMISSAO"  , CtoD("17/02/2012"), NIL },;
              { "E2_VENCTO"   , CtoD("17/02/2012"), NIL },;
              { "E2_VENCREA"  , CtoD("17/02/2012"), NIL },;
              { "E2_VALOR"    , 5000              , NIL },;
              { "AUTBANCO"    , "FIN"             , NIL },;
              { "AUTAGENCIA"  , "00015"           , NIL },;
              { "AUTCONTA"    , "0000000001"      , NIL },;
              { "AUTMOED"     , "1"               , NIL },;
              { "AUTCHEQUE"   , "124569"          , NIL }}
  
    MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 3)  // 3 - Inclusión
   
    If lMsErroAuto
        MostraErro()
    Else
        Alert("¡Título incluido con éxito!")
    Endif
  
Return
Inclusión con prorrateo de proyecto (PMS)
USER FUNCTION F050IPMS()
	Local cPref := "FIN"
	Local cNum := "210408001"
	Local cPar := "1"
	Local cTipo := "NF"
	Local cNaturez := "FGRV01"
	Local cFornec := "FGRV04"
	Local cLoja := "01"
	Local nValor := 1000
	Local aGrvSe2 := {}
	Local aInfProj := {}
	Local aInfAFR := {}
 
	PRIVATE lMsErroAuto := .F.
 
	PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01 " MODULO "FIN" TABLES "SE2","SE5","SA2","AFR","AF9","AF8"
	 
	aAdd(aInfAFR, {"AFR_PROJET", PadR("PMSU000023", TamSX3("AF9_PROJET")[1]), Nil})
	aAdd(aInfAFR, {"AFR_TAREFA", "01.02", Nil})
	aAdd(aInfAFR, {"AFR_TIPOD", PadR("0004", TamSx3("AFR_TIPOD")[1]), Nil})
	aAdd(aInfAFR, {"AFR_VALOR1", nValor, Nil})
	aAdd(aInfAFR, {"AFR_REVISA", StrZero(4, TamSX3("AFR_REVISA")[1]), Nil})
	aAdd(aInfAFR, {"AFR_PREFIX", cPref, Nil})
	aAdd(aInfAFR, {"AFR_NUM", cNum, Nil})
	aAdd(aInfAFR, {"AFR_PARCEL", cPar, Nil})
	aAdd(aInfAFR, {"AFR_TIPO", cTipo, Nil})
	aAdd(aInfAFR, {"AFR_FORNEC", cFornec, Nil})
	aAdd(aInfAFR, {"AFR_LOJA", cLoja, Nil})
	aAdd(aInfAFR, {"AFR_DATA", Date(), Nil})
	aAdd(aInfAFR, {"AFR_VENREA", Date(), Nil})
	aAdd(aInfProj, aInfAFR)
 
	aGrvSe2 := { { "E2_PREFIXO" , cPref , NIL },;
	{ "E2_NUM" , cNum , NIL },;
	{ "E2_TIPO" , cTipo , NIL },;
	{ "E2_NATUREZ" , cNaturez , NIL },;
	{ "E2_FORNECE" , cFornec , NIL },;
	{ "E2_LOJA" , cLoja , NIL },;
	{ "E2_EMISSAO" , Date() , NIL },;
	{ "E2_VENCTO" , Date() , NIL },;
	{ "E2_VENCREA" , Date() , NIL },;
	{ "E2_VALOR" , nValor , NIL },;
	{ "E2_PROJPMS" , "2" , NIL },;
	{ "E2_HIST" , "Inclusión de proyecto" , NIL },;
	{"AUTRATAFR" , aInfProj ,Nil } }
 
	MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aGrvSe2,, 3) // 3 - Inclusión, 4 - Modificación, 5 - Borrado
 
	If lMsErroAuto
		MostraErro()
	Else
		Conout("¡Título incluido con éxito!")
	Endif
 
Return
Código de retención de títulos por pagar
#INCLUDE "Protheus.ch"

/*	Si hubiera cualquier tipo de operación que involucre la inclusión de valor en el campo
	E2_CODRET, es necesario utilizar la función SetFuName("FINA050") antes de ejecutar MSExecAuto(),
	pues existe una validación en X3_VALID -(EXISTCPO("SX5","37"+M->E2_CODRET) .AND. Iif(FUNNAME() $ "FINA050|FINA750",FA050Natur(),.T.))
	de este campo que solamente realizará el cálculo del impuesto por código de retención si FunName() estuviera contenido en "FINA050".	*/

USER FUNCTION F050CODRET()
	LOCAL aArray := {}
	 
	PRIVATE lMsErroAuto := .F.
	
	//Estructura para otros títulos
	aArray := { { "E2_PREFIXO"  , "PAG"             , NIL },;
				{ "E2_NUM"      , "0001"            , NIL },;
				{ "E2_TIPO"     , "NF"              , NIL },;
				{ "E2_NATUREZ"  , "001"             , NIL },;
				{ "E2_FORNECE"  , "0001"            , NIL },;
				{ "E2_EMISSAO"  , CtoD("17/02/2012"), NIL },;
				{ "E2_VENCTO"   , CtoD("17/02/2012"), NIL },;
				{ "E2_VENCREA"  , CtoD("17/02/2012"), NIL },;
				{ "E2_VALOR"    , 5000              , NIL },;
 				{ "E2_DIRF"     , "1"				, NIL },;
				{ "E2_CODRET"   , "3208"            , NIL }}
	
	SetFunName("FINA050") 
	MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 3)  // 3 - Inclusión, 4 - Modificación, 5 - Borrado
	 
	 
	If lMsErroAuto
		MostraErro()
	Else
		Alert("¡Título incluido con éxito!")
	Endif
	 
Return
Sustitución de título provisional
#INCLUDE "Protheus.ch"
USER FUNCTION FIN050SUBST()
	LOCAL aArray := {}
	LOCAL aAuxTitPrv := {}
	LOCAL aTitPrv    := {}
	 
	PRIVATE lMsErroAuto := .F.
	
	//Título efectivo
	aArray := { { "E2_PREFIXO"  , "DRG"             , NIL },;
				{ "E2_NUM"      , "VT002"            , NIL },;
				{ "E2_PARCELA"  , " "               , NIL },;
				{ "E2_TIPO"     , "NF"              , NIL },;
				{ "E2_NATUREZ"  , "001"             , NIL },;
				{ "E2_FORNECE"  , "001"            , NIL },;
				{ "E2_LOJA"     , "00"              , NIL },;
				{ "E2_EMISSAO"  , CtoD("27/10/2021"), NIL },;
				{ "E2_VENCTO"   , CtoD("27/10/2021"), NIL },;
				{ "E2_VENCREA"  , CtoD("27/10/2021"), NIL },;
				{ "E2_VALOR"    , 5000              , NIL } }
		
	//El array aAuxTitPrv debe contener la información de los títulos provisionales que se substituirán
	aAuxTitPrv := { { "E2_PREFIXO"          ,PadR("DRG",TamSx3("E2_PREFIXO")[1])  	, NIL },;
					{ "E2_NUM"              ,PadR("000000001",TamSx3("E2_NUM")[1])  , NIL },;
					{ "E2_PARCELA"          ,PadR("1",TamSx3("E2_PARCELA")[1])      , NIL },;
					{ "E2_TIPO"             ,PadR("PR ",TamSx3("E2_TIPO")[1])       , NIL },;
					{ "E2_FORNECE"          ,PadR("001",TamSx3("E2_FORNECE")[1])    , NIL },;
					{ "E2_LOJA"             ,PadR("00",TamSx3("E2_LOJA")[1])        , NIL }}
	
	aadd(aTitPrv, aAuxTitPrv)
		
	MsExecAuto({|a,b,c,d,e,f,g,h,i,j| FINA050(a,b,c,d,e,f,g,h,i,j)},aArray,,6,,,,,,aTitPrv)
	 
	 
	If lMsErroAuto
		MostraErro()
	Else
		Conout("¡Título sustituido con éxito!")
	Endif
	 
Return
Inclusión con complemento de título
#INCLUDE "Protheus.ch"

/*
Exemplo: 
	Inclusión de título por pagar con cálculo de IR, completando la 
	modalidad de rentabilidad (FKF_NATREN) en el complemento del título (FKF).
*/
User Function A050Inc1()

    Local aArray  := {}
	Local aFKF    := {}
	Local cNatRen := "13002"      

	PRIVATE lMsErroAuto := .F.

    //Datos de SE2
    aArray := { { "E2_PREFIXO"  , "BOL"              , NIL },;
                { "E2_NUM"      , "BOL00110"         , NIL },;
                { "E2_TIPO"     , "BOL"              , NIL },;
                { "E2_NATUREZ"  , "RNF000002"        , NIL },;
                { "E2_FORNECE"  , "RNF017"           , NIL },;
                { "E2_LOJA"     , "01"               , NIL },;
                { "E2_EMISSAO"  , CtoD("09/02/2023") , NIL },;
                { "E2_VENCTO"   , CtoD("09/02/2023") , NIL },;
                { "E2_VENCREA"  , CtoD("09/02/2023") , NIL },;
                { "E2_VALOR"    , 5000               , NIL }}

	//Datos de FKF - Complemento del título
	aFKF := { { "FKF_NATREN", cNatRen , NIL }}

	aAdd(aArray, {"AUTCMTIT", aFKF, Nil})
    
    MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 3)  // 3 - Inclusión, 4 - Modificación, 5 - Borrado
      
    If lMsErroAuto
        MostraErro()
    Else
        Conout("¡Título incluido con éxito!")
    Endif

Return

OTRAS INFORMACIONES

No hay.

ASSUNTOS RELACIONADOS

Documento de referencia FINA050




Contenidos relacionados