Árvore de páginas


01. DADOS GERAIS

Linha de Produto:Linha Protheus
Segmento:Backoffice
Módulo:Financeiro


02. VISÃO GERAL

A rotina FINA070 possui cinco parâmetros a serem informados, porém para o funcionamento em Execauto. O primeiro parâmetro necessita ser preenchido como um array, pois as informações utilizadas neste array são essenciais para a conclusão do processo.

Parâmetros utilizados pela FINA070

xAutoCab: É possível informar o array com os dados referentes ao título a ser baixado e as informações necessárias para esta baixa, como por exemplo data da baixa, data de crédito, etc.

nOpc: Opção que está sendo realizada no fonte, como por exemplo: baixa, cancelamento de baixa, etc - Conteúdos do nOpc: 3 - Baixa de Título, 5 - Cancelamento de baixa, 6 - Exclusão de Baixa.

lNoMbrowse: Variável lógica que informa se deve ou não ser apresentado o Browse da rotina FINA070.

nOpbaixa: Variável que determina qual baixa ou cancelamento de baixa será executado.

Exemplo nOpBaixa: Caso um título seja baixado completamente em duas, ou mais baixas parciais, por meio deste parâmetro pode-se informar qual das baixas será cancelada.

Observação

Este parâmetro não obedece a sequência de baixa gravada na tabela SE5, portanto, em um cenário com 4 baixas parciais, por exemplo, ao cancelar a segunda baixa (parâmetro igual a 2) e em seguida, for opção do usuário, cancelar a terceira baixa, o parâmetro deve ser passado com o valor 2 novamente, pois a baixa anteriormente cancelada não é mais considerada na sequência de baixas, a rotina considera uma nova sequência, de 1 a 3, sendo a primeira baixa equivalente a 1, a terceira baixa equivalente a 2 e a quarta baixa equivalente a 3.

Caso o valor do parâmetro seja superior ao número de baixas existente (por exemplo, 3 baixas parciais e o parâmetro com valor 4), a rotina considera automaticamente o parâmetro como valor 1, cancelando a primeira baixa da sequência (seja essa sequência a original, ou seja, respeitando a ordem das baixas, ou seja a ordem atual, já após ter havido o cancelamento de alguma baixa parcial).

cFiltro: Grava um filtro nos títulos da MBrowse.


Caso os campos abaixo sejam informados com valor zero no array da rotina automática, o 4o. elemento no array (lógico) deve retornar .T. para que seja considerado o valor informado.
Se o 4o. elemento não for informado o sistema assume os valores padrão do sistema:

AUTJUROS
AUTMULTA
AUTDESCONT
AUTCM1
AUTPRORATA

03. EXEMPLO DE UTILIZAÇÃO


Exemplo de rotina automatica
#INCLUDE "Protheus.ch"

//-------------------------------
// Baixa do titulo a receber
//-------------------------------

User Function BAIXA070()
 
	Local aBaixa := {}
 
	aBaixa := {{"E1_PREFIXO"  ,"   "                ,Nil    },;
			{"E1_NUM"      ,"200      "            ,Nil    },;
			{"E1_PARCELA"  ," "                    ,Nil    },;
			{"E1_TIPO"     ,"NF "                  ,Nil    },;
			{"AUTMOTBX"    ,"NOR"                  ,Nil    },;
			{"AUTBANCO"    ,"001"                  ,Nil    },;
			{"AUTAGENCIA"  ,"00001"                ,Nil    },;
			{"AUTCONTA"    ,"0000000001"           ,Nil    },;
			{"AUTDTBAIXA"  ,dDataBase              ,Nil    },;
			{"AUTDTCREDITO",dDataBase              ,Nil    },;
			{"AUTHIST"     ,"BAIXA TESTE"          ,Nil    },;
			{"AUTJUROS"    ,0                      ,Nil,.T.},;
			{"AUTVALREC"   ,700                    ,Nil    }}
 
	MSExecAuto({|x,y| Fina070(x,y)},aBaixa,3) 
 
Return

//-------------------------------
// Cancelamento da baixa do titulo a receber
//-------------------------------
User Function CANC070()
 
	Local aBaixa := {}
 	
	aBaixa := {{"E1_PREFIXO"  ,"   "                ,Nil    },;
			{"E1_NUM"      ,"200      "            ,Nil    },;
			{"E1_PARCELA"  ," "                    ,Nil    },;
			{"E1_TIPO"     ,"NF "                  ,Nil    },;
			{"AUTMOTBX"    ,"NOR"                  ,Nil    },;
			{"AUTBANCO"    ,"001"                  ,Nil    },;
			{"AUTAGENCIA"  ,"00001"                ,Nil    },;
			{"AUTCONTA"    ,"0000000001"           ,Nil    },;
			{"AUTDTBAIXA"  ,dDataBase              ,Nil    },;
			{"AUTDTCREDITO",dDataBase              ,Nil    },;
			{"AUTHIST"     ,"BAIXA TESTE"          ,Nil    },;
			{"AUTJUROS"    ,0                      ,Nil,.T.},;
			{"AUTVALREC"   ,700                    ,Nil    }}
 
	MSExecAuto({|x,y| Fina070(x,y)},aBaixa,5) 
 
Return

Exemplo de rotina automática com rateio de múltiplas naturezas
#INCLUDE "Protheus.ch"

//--------------------------------------------------
// Para correto funcionamento o parâmetro MV_MULNATR 
// deve estar igual a .T.
//---------------------------------------------------

//-------------------------------------------------------------
// Neste exemplo é utilizada uma natureza e um centro de custo
//--------------------------------------------------------------

User Function EXEC070()
 
	Local aBaixa := {}
 
	aBaixa := {{"E1_PREFIXO"  ,"   "                ,Nil    },;
			{"E1_NUM"      ,"200      "            ,Nil    },;
			{"E1_PARCELA"  ," "                    ,Nil    },;
			{"E1_TIPO"     ,"NF "                  ,Nil    },;
			{"AUTMOTBX"    ,"NOR"                  ,Nil    },;
			{"AUTBANCO"    ,"001"                  ,Nil    },;
			{"AUTAGENCIA"  ,"00001"                ,Nil    },;
			{"AUTCONTA"    ,"0000000001"           ,Nil    },;
			{"AUTDTBAIXA"  ,dDataBase              ,Nil    },;
			{"AUTDTCREDITO",dDataBase              ,Nil    },;
			{"AUTHIST"     ,"BAIXA TESTE"          ,Nil    },;
			{"AUTJUROS"    ,0                      ,Nil,.T.},;
			{"AUTVALREC"   ,500                    ,Nil    }}
 
	//Adicionando o vetor da natureza
	Aadd(aAuxEv,{"EV_NATUREZ","EASY", NIL }) //Natureza a Ratear
	Aadd(aAuxEv,{"EV_VALOR", 500, NIL }) //Valor do Rateio na Natureza
	Aadd(aAuxEv,{"EV_PERC", 100, NIL }) //Percentual do Rateio na Natureza
	Aadd(aAuxEv,{"EV_RATEICC", "1", NIL }) //Rateio por Centro de Custo == 1 - Sim

	//Adicionando Múltiplos Centros de Custo
	//Primeiro Centro de Custo
	aAuxEz := {}
	Aadd( aAuxEz,{"EZ_CCUSTO", "000001   ", NIL}) //Centro de Custo da Natureza
	Aadd( aAuxEz, {"EZ_VALOR", 500, NIL}) //Valor do Rateio neste Centro de Custo
	Aadd(aRatEz, aAuxEz)
	Aadd(aAuxEv,{"AUTRATEICC", aRatEz, NIL}) //Recebendo dentro do Array da Natureza os Multiplos Centros de Custo
	
	Aadd(aRatEvEz,aAuxEv) //Adicionando a Natureza ao Rateio de Multiplas Naturezas
	
	MSExecAuto({|x,y,z| Fina070(x,y,,,,,,,z)},aBaixa,3,aRatEvEz) 
	
	If lMsErroAuto
		MostraErro()
	Else
		MsgAlert("Baixa realizada com sucesso!")
	EndIf
 
Return

04. DEMAIS INFORMAÇÕES

Não há.



05. ASSUNTOS RELACIONADOS

Documento de referencia FINA070 - baixas a receber