Árvore de páginas

Índice

Objetivo

As contas a pagar são compromissos representados por compra de mercadorias, serviços, salários, impostos, aluguel, empréstimos, contribuições, máquinas, insumos para produção, entre outros.

A rotina de Contas a Pagar do sistema Microsiga Protheus controla todos os documentos, também chamados de títulos, pagos pela empresa e que podem ser: duplicatas, cheques, notas promissórias, adiantamentos, pagamentos antecipados, notas fiscais etc. As informações cadastradas contribuem na tomada de decisões sobre todos os compromissos da empresa que representam o desembolso de recursos e, também, estão atribuídas aos seguintes critérios:

  • Elaboração do fluxo de caixa.
  • Garantir o prazo de pagamento, inclusive considerando as possibilidades de conseguir descontos e, principalmente, evitar penalidades que resultam no ônus de multas e juros.
  • Priorizar pagamentos na hipótese de dificuldade financeira.
  • Identificar situações contratadas e não pagas.
  • Garantir a conciliação com os saldos contábeis.

Nota

Os tipos de títulos identificam o numerário referente a uma determinada receita ou despesa. Eles devem ser definidos na tabela 05 (Tipos de títulos) do módulo Configurador ou na rotina Tipos de títulos.

A inclusão de um título na carteira a pagar pode ser feita de forma manual (inclusão individual dos títulos por meio de digitação) ou automática (a partir das notas fiscais de entrada, desde que, o módulo de Compras e/ou Estoque e Custos estejam integrados ao módulo Financeiro).

Nota

Para que o título seja gerado automaticamente, é necessário que os módulos de Compras e/ou Estoque e Custos estejam implantados e integrados, pois, o processo depende do recebimento de documentos de entrada e dos pedidos de compras.

O cadastro de contas a pagar está elaborado da seguinte forma:

NF de entrada criada no módulo Estoque e custos
Títulos gerados no Contas a pagar
101010 (R$ 6.000), em 6 parcelas 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 a configuração das parcelas seja na forma alfabética, é necessário que o parâmetro MV_1DUP tenha em seu conteúdo a letra A, entretanto, para divisão de parcelas de maneira numérica, informe a opção 1.

Os títulos devem ser agrupados por natureza, permitindo assim, uma geração de resultados (relatórios) de forma estruturada e organizada, sendo uma poderosa ferramenta gerencial.

A opção de desdobramento permite a geração de diversos títulos a partir de um, tendo todos o mesmo valor (parcela) ou o valor dividido pelo número de parcelas (total).

O faturamento, quando integrado, gera títulos a pagar por meio da rotina de Atualização de Comissão. Esses títulos serão apresentados pelo padrão com a opção COM e seu prefixo será definido pela configuração do parâmetro MV_3DUPREF.

O sistema realiza o acompanhamento do histórico dos fornecedores, como maior saldo, média e maior atraso e o controle dos saldos a pagar como valor vencido, a vencer e outros.

Na quitação dos títulos, o sistema oferece facilidades no tratamento da empresa X Banco com pagamentos automáticos e emissão de cheques. A baixa dos títulos a pagar pode ser feita de forma manual ou automática, individual ou por lotes recebidos dos Bancos.

Os títulos que devem ser considerados para fins de fluxo de caixa podem ser controlados, pois, na inclusão de contas a pagar o sistema atualiza esse fluxo e efetua os lançamentos contábeis por meio de parâmetros definidos e dos lançamentos padronizados.

Mapa Mental

Conheça neste diagrama as informações que contemplam as funcionalidades da rotina: 

 


Antes de iniciar o procedimento de inclusão, pressione a tecla [F12] para realizar a parametrização da rotina que contempla os seguintes critérios: 

Campo:

Descrição

Mostra lanc. contab.?

Indica, por meio da seleção entre as opções Sim e Não, se o lançamento contábil deve ser exibido quando a contabilização for on-line.

Exemplo:

Sim.

Conta. tit. provisor?

Indica, por meio da seleção entre as opções Sim e Não, se devem ser contabilizados os títulos provisórios.

Exemplo:

Não.

Inf. cats no rateio?

Indica, por meio da seleção entre as opções Sim e Não, se devem ser exibidos os campos para digitação das contas a débito e a crédito no rateio do título.

Exemplo:

Sim.

Contabiliza on-line?

Indica, por meio da seleção entre as opções Sim e Não, se a contabilização será on-line, ou seja, no momento da efetivação da transação um a um (inclusão de título, baixa, geração de cheque, exclusão etc) ou se será contabilizado off-line, onde todos os lançamentos não efetuados on-line são contabilizados em um processo de lote.

Exemplo:

Não.

Gerar cheq. p/ Adiant.?

Indica, por meio da seleção entre as opções Sim e Não, se deve gerar cheque para títulos de adiantamento. Dessa forma o sistema habilitara o campo Cheque na inclusão do pagamento antecipado e quando seu número é informado, ocorre a movimentação bancaria.

Exemplo:

Sim.

Rateia valor? 

Indica o valor para ser utilizado no rateio de contas a pagar. Dispõe das opções Bruto (Valor do título mais os impostos) e Líquido (valor sem os impostos).

Exemplo:

Bruto.

Aglutina lançamento contábil? 

Indica, por meio da seleção entre as opções Sim e Não, se os lançamentos contábeis do rateio devem ser aglutinados em uma única linha, desde que, as contas, centro de custo, item e classe de valor sejam iguais nos lançamentos efetuados.

Exemplo:

Não.

Mostra rateio exclusão? 

Indica, por meio da seleção entre as opções Sim e Não, se deve ser exibida a tela de rateio na exclusão do título.

Exemplo:

Sim.

Mov. Banc. sem cheque? 

Indica se deve gerar movimento bancário quando o campo Gera Chq.p/Adiant. estiver preenchido com a opção Não. Dispõe das opções:

  • Sim: adiantamento em dinheiro (com movimentação).
  • Não: adiantamento sem movimento bancário para envio de CNAB (DOC/TED).

Exemplo:

Não.

Gera rateio? 

Para situações em que são utilizadas múltiplas naturezas, indica se o rateio será gerado como natureza/centro de custo. Para os valores dos impostos, será aplicado somente se a opção de rateio do valor for informada como liquido. Dispõe das opções Título e Título/Impostos.

Exemplo:

Título.

Incluir Rateio de um titulo oriundo de um modulo diferente do Financeiro.

Seleciona o titulo e ir na opção de Alterar, assim acessar a aba Contabil e se direcionar até o campo Rateio (E2_RATEIO) e por meio da seleção entre as opções Sim e Não, se deve ser exibida a tela de rateio.

Exemplo:

Não.

Obs. Para esse situação o título não pode estar contabilizado.


Na página principal da rotina, estão disponíveis as opções:

Permite a inclusão de informações dos documentos/títulos que devem ser pagos pela empresa.

Ao selecionar esta opção, eleja a Filial desejada e clique em Ok.

As informações devem ser preenchidas de acordo com as orientações descritas em Principais Campos.

Veja também mais funcionalidades disponíveis em Outras Ações.


Principais Campos 

Campo:

Descrição

Prefixo:

Permite identificar um conjunto de títulos que pertencem ao mesmo grupo ou filial. Uma vez informado o prefixo, ele é considerado parte integrante da chave de acesso ao título.

Nota

Para que a configuração das parcelas seja na forma alfabética, é necessário que o parâmetro MV_1DUP tenha em seu conteúdo a letra A, entretanto, para divisão de parcelas de maneira numérica, informe a opção 1.

N. Título:

Informe o número do título.

Exemplo:

FIN000024

Parcela:

Informe a parcela do título. O sistema permite o controle dos desdobramentos de um título.

Exemplo:

1

Tipo:

Classifica o título por sua finalidade. Os tipos estão cadastrados na tabela 05 (Tipos de Títulos) do módulo Configurador ou na rotina Tipos de títulos. Se necessário, utilize o recurso de Consulta Padrão para selecionar o título e fazer o preenchimento do campo.

Exemplo:

TX (essa sigla corresponde a título de taxas).

Nota

Tipos Especiais


Títulos provisórios

É utilizado para provisionar receitas que ocorrerão para efeito de orçamentos/fluxo de caixa.

Na implantação do título deve ser indicado o tipo PR ou é necessário informar sua condição no campo Tipos de títulos.

Para efetivá-lo, deve ser utilizada a opção Substituir informando o código/loja do cliente/fornecedor.


Adiantamentos

Identifica um título que obteve pagamento antecipado (PA), ou seja, antes da emissão da nota fiscal houve o pagamento parcial ou total do título. O saldo bancário é atualizado on-line, visto que existe a entrada/saída de numerário no Banco.

Na implantação do título deve ser indicado o tipo RA ou PA ou informado como recebimento/pagamento antecipado no campo Tipos de títulos. Em seguida, devem ser informados os dados referentes ao adiantamento: Banco, agência, conta e cheque (apenas para pagamentos).

A geração de pagamento antecipado pode ser efetuada conforme a configuração do parâmetro MV_PABRUTO sendo:

  • Valor bruto: quando no adiantamento não são descontados os impostos.
  • Valor líquido: quando no adiantamento são descontados os impostos.

O padrão do sistema é incluir um PA calculando o valor dos impostos sobre o valor bruto do adiantamento, gerando o título referente ao valor líquido e os títulos para cada imposto retido.

No pagamento antecipado também é possível reter o INSS gerando um título do tipo INA para o pagamento do imposto. Para isso, o conteúdo do campo Calcula INSS deve ser igual a Sim. O pacote completo envolve algumas rotinas:

  • Inclusão de títulos na rotina de contas a pagar.
  • Borderô de pagamentos.
  • Baixa manual e automática.
  • Compensação de contas a pagar.
  • Borderô de pagamento com impostos.


Notas de Créditos

Utilizado para indicar a existência de notas de crédito/débitos em clientes ou fornecedores. Nestes casos, o saldo bancário não sofre atualização.

Na implantação de uma nota de crédito deve ser indicado o tipo NCC ou NDF ou informado como Nota de Crédito/Nota de Débito no campo Tipos de títulos.


Abatimentos

Utilizado para indicar a existência de valores que devem ser abatidos no título. Está sempre vinculado a um título principal.

Para implantar um título de abatimento, deve ser indicado o tipo AB ou o tipo indicado como Abatimento no campo Tipos de títulos. Devem ser digitados o prefixo, número e parcela do título principal ou posicionar o cursor sobre o título principal e digitar o tipo referente a abatimento.

Nota

Se o sistema encontrar títulos com chaves parecidas de acordo com a chave do abatimento que está sendo incluído, será apresentada uma tela com os títulos para seleção do título correto que será abatido.

Exemplo:

Natureza:

Identifica a procedência da natureza do título e permite a consolidação por este item, bem como, o controle orçamentário. Se necessário, utilize o recurso de Consulta Padrão para selecionar a natureza do título e fazer o preenchimento do campo.

Exemplo:

ISS

Aviso

Este campo não estará disponível para alteração, quando o titulo a pagar estiver contabilizado ou baixado.

Fornecedor:

Informe o código do fornecedor. Se necessário, utilize o recurso de Consulta Padrão para selecionar o fornecedor cadastrado e fazer o preenchimento do campo.

Exemplo:

FIN061

Loja:

Informe o código que identifica a loja do fornecedor.

Exemplo:

01

Nome Fornecedor

Apresenta o nome do fornecedor.  É preenchido automaticamente de acordo com o conteúdo definido no campo Fornecedor.

Exemplo:

Fornecedor PJ

DT. emissão: 

Data da emissão do título.

Exemplo:

17/12/2015

Vencimento:

Informe data de vencimento nominal do título considerando também as possíveis prorrogações.

Exemplo:

O título número FIN000024 tem seu vencimento para a data de 17/12/2015, mas, por questões comerciais com o fornecedor, houve uma prorrogação de 10 dias para o seu pagamento. Desta forma, este campo deve estar preenchido com a data de 27/12/2015.

Nota

O sistema não permite data de vencimento menor que a data de emissão do título.

Vencto real: 

Data do vencimento real do título calculada automaticamente a partir da data informada no campo Vencimento.

Exemplo:

17/12/2015

Nota

O sistema considera apenas os dias úteis, ou seja, verifica se a data do vencimento será no sábado, domingo ou feriado e descarta estes dias. Há também, a verificação dos dias de retenção sugeridos pelo Banco que contempla a transferência de títulos do Banco para carteira e, consequentemente, ajusta o preenchimento do campo.

Vlr. título: 

Valor original do título na moeda corrente.

Exemplo:

1.835,62

Histórico: Este campo permite o preenchimento de um breve comentário sobre o título.
Saldo:

O sistema mantém neste campo o saldo atualizado do valor do título após cada uma das transações efetuadas.

 Exemplo:

1.835,62

Moeda: 

Código da moeda em que o título está sendo informado. Moeda 1 = padrão monetário nacional e moedas de 2 a 5 de acordo com os critérios definidos nos parâmetros MV_MOEDA2, MV_MOEDA3, MV_MOEDA4 e MV_MOEDA5 por meio do módulo Configurador.

Exemplo:

1

Vlr. R$: 

Valor do título expresso em moeda corrente.

 Exemplo:

1.835,62

Taxa Moeda:

Se for informada uma taxa, será utilizada como base de conversão no momento da baixa, caso contrário, será utilizada a taxa contratada ou a taxa da moeda do dia da baixa.

Cód. Aprov.:  Código do aprovador do título conforme regras para aprovação simples ou alçada de fundo fixo. Se necessário, utilize o recurso de Consulta Padrão para selecionar o aprovador do título e fazer o preenchimento do campo.


Execução Automática 


VISÃO GERAL

Exemplo de execução automáticas das operações de inclusão, exclusão e alteração de títulos a pagar.

Aviso

A função Fa050Inclu() não pode ser usada em customizações por se tratar de um função de menu existem algumas dependências de variáveis privates declaradas no FINA050.

EXEMPLO DE UTILIZAÇÃO


Inclusão
#INCLUDE "Protheus.ch"
USER FUNCTION FIN050INC()
	LOCAL aArray := {}
	 
	PRIVATE lMsErroAuto := .F.
	
	//Estrutura para PA ( Pagamento Antecipado )
	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 } }

	//Estrutura para demais 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 - Inclusao, 4 - Alteração, 5 - Exclusão
	 
	 
	If lMsErroAuto
		MostraErro()
	Else
		Alert("Título incluído com sucesso!")
	Endif
	 
Return
Alteração
#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") //Alteração deve ter o registro SE2 posicionado
			 
	MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 4)  // 3 - Inclusao, 4 - Alteração, 5 - Exclusão

	If lMsErroAuto
		MostraErro()
	Else
		Alert("Título alterado com sucesso!")
	Endif

Return
Exclusão
#INCLUDE "Protheus.ch"
USER FUNCTION FIN050EXC()
	LOCAL aArray := {}
	 
	PRIVATE lMsErroAuto := .F.
	 
	DbSelectArea("SE2") 
	DbSetOrder(1)
	DbSeek(xFilial("SE2")+"PAG"+"0001     "+" "+"NF") //Exclusão deve ter o registro SE2 posicionado
									
	aArray := { { "E2_PREFIXO" , SE2->E2_PREFIXO , NIL },;
					{ "E2_NUM"     , SE2->E2_NUM     , NIL } }
	 
	MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 5)  // 3 - Inclusao, 4 - Alteração, 5 - Exclusão
	 
	If lMsErroAuto
		MostraErro()
	Else
		Alert("Exclusão do Título com sucesso!")
	Endif
 
Return

Inclusão com VA (Valores acessorios)
#INCLUDE "Protheus.ch"
USER FUNCTION FIN050VA()
    LOCAL aArray := {}
    LOCAL nOpc   := 3 // 3-Inclusão, 4 Alteração
 
    // Dados do valor acessório.
    LOCAL aVAAut     := {}
    LOCAL cValAce1   := "000001"  // Código do Va
    LOCAL nValAce1   := 200       // Valor do 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 com valor acessório
    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 com sucesso!")
        Else
            Alert("Título alterado com sucesso!")
        EndIf
    Endif
  
Return
Inclusão com PA com 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 - Inclusão
   
    If lMsErroAuto
        MostraErro()
    Else
        Alert("Título incluído com sucesso!")
    Endif
  
Return
Inclusão com rateio de projeto (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" , "Inclusão de Projeto" , NIL },;
	{"AUTRATAFR" , aInfProj ,Nil } }
 
	MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aGrvSe2,, 3) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão
 
	If lMsErroAuto
		MostraErro()
	Else
		Conout("Título incluído com sucesso!")
	Endif
 
Return
Código de retenção de títulos a pagar
#INCLUDE "Protheus.ch"

/*	Quando houver qualquer tipo de operação que envolva a inserção de valor no campo
	E2_CODRET, é necessário utilizar a função SetFuName("FINA050") antes de executar a MSExecAuto(),
	pois existe uma validação no X3_VALID -(EXISTCPO("SX5","37"+M->E2_CODRET) .AND. Iif(FUNNAME() $ "FINA050|FINA750",FA050Natur(),.T.))
	deste campo que so ira realizar o calculo do imposto por código de retenção se o FunName() estiver contido em "FINA050".	*/

USER FUNCTION F050CODRET()
	LOCAL aArray := {}
	 
	PRIVATE lMsErroAuto := .F.
	
	//Estrutura para demais 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 - Inclusao, 4 - Alteração, 5 - Exclusão
	 
	 
	If lMsErroAuto
		MostraErro()
	Else
		Alert("Título incluído com sucesso!")
	Endif
	 
Return
Substituição de titulo provisório
#INCLUDE "Protheus.ch"
USER FUNCTION FIN050SUBST()
	LOCAL aArray := {}
	LOCAL aAuxTitPrv := {}
	LOCAL aTitPrv    := {}
	 
	PRIVATE lMsErroAuto := .F.
	
	//Titulo efetivo
	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 } }
		
	//No array aAuxTitPrv devera conter as informações dos títulos provisórios que serão substituídos
	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 substituído com sucesso!")
	Endif
	 
Return
Inclusão com Complemento de Título
#INCLUDE "Protheus.ch"

/*
Exemplo: 
	Inclusão de título a pagar com cálculo de IR, preenchendo a 
	natureza de rendimento (FKF_NATREN) no complemento do título (FKF).
*/
User Function A050Inc1()

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

	PRIVATE lMsErroAuto := .F.

    //Dados da 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 }}

	//Dados da FKF - Complemento do titulo
	aFKF := { { "FKF_NATREN", cNatRen , NIL }}

	aAdd(aArray, {"AUTCMTIT", aFKF, Nil})
    
    MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 3)  // 3 - Inclusao, 4 - Alteração, 5 - Exclusão
      
    If lMsErroAuto
        MostraErro()
    Else
        Conout("Titulo incluso com sucesso!")
    Endif

Return

DEMAIS INFORMAÇÕES

Não há.

ASSUNTOS RELACIONADOS

Documento de referencia FINA050




Conteúdos Relacionados