Árvore de páginas

01. VISÃO GERAL

Procedimento realizado de forma automática na rotina de Faturas a Pagar (FINA290), sem exibição de telas ou necessidade de interação do usuário.

Utilizado em customizações onde o processo não necessita de interações do usuário (MSEXECAUTO).

02. PARÂMETROS

PosiçãoTipoDescrição
1NuméricoOperação (3 - inclusão)
2VetorVetor aFatPag (Dados relacionados à fatura)

Vetor aFatPag

PosiçãoTipoDescrição
1CaracterePrefixo do título
2CaractereTipo do título
3CaractereNúmero da fatura (se o numero estiver em branco obtém pelo FINA290)
4CaractereNatureza
5DataData "De"
6DataData "Até"
7CaractereFornecedor
8CaractereLoja
9CaractereFornecedor para a geração do novo título
10CaractereLoja do fornecedor para a geração do novo título
11CaractereCondição de pagamento
12CaractereMoeda
13VetorVetor aTitulos (Títulos incluídos na fatura - devem existir na base)
14NuméricoValor de decréscimo
15NuméricoValor de acréscimo

Vetor aTitulos

PosiçãoTipoDescrição
1CaracterePrefixo do título
2CaractereNúmero do título
3CaractereParcela do título
4CaractereTipo do título
5LógicoTítulo localizado na geração de fatura? (Iniciar com falso)
6CaractereFornecedor (Deve ser o mesmo informado na posição 7 do vetor aFatPag)
7CaractereLoja
8CaractereFilial (opcional, utilizado em fatura de títulos de diferentes filiais)

03. EXEMPLO DE UTILIZAÇÃO

Importante

É importante que as informações da chave do título (Prefixo, Número, Parcela, Tipo, Fornecedor e Loja) tenham o conteúdo do tamanho exato do seu respectivo campo configurado na tabela.


Exemplo de rotina automática
#INCLUDE "Protheus.ch"
 
User Function FFatAut()

Local aFatPag :={}
Local aTits :={}
Local nTamTit := TamSx3("E2_NUM")[1]
Local nTamParc := TamSx3("E2_PARCELA")[1]
Local nTamForn := TamSx3("E2_FORNECE")[1]
Local nTamLoja := TamSx3("E2_LOJA")[1]
Local nTamTipo := TamSx3("E2_TIPO")[1]
Local nTamFil  := TamSx3("E2_FILIAL")[1]

Private lMsErroAuto := .F.

//[13] - ARRAY com os titulos da fatura - Geradores (esses títulos devem existir na base)
//[13,1] Prefixo
//[13,2] Numero
//[13,3] Parcela
//[13,4] Tipo
//[13,5] Título localizado na geracao de fatura (lógico). Iniciar com falso.
//[13,6] Fornecedor
//[13,7] Loja
//[13,8] Filial (utilizada em fatura de títulos de diferentes filiais)
aTits := {{ "FTG", PADR("TIT01",nTamTit), PADR(" ",nTamParc), PADR("NF",nTamTipo), .f., PADR("000000",nTamForn),PADR("00",nTamLoja), PADR("D MG 01 ",nTamFil) },;
		  { "FTG", PADR("TIT02",nTamTit), PADR(" ",nTamParc), PADR("NF",nTamTipo), .f., PADR("000000",nTamForn),PADR("00",nTamLoja), PADR("D MG 02 ",nTamFil)  }}


//Descricao do Array aFatPag
//[01] - Prefixo
//[02] - Tipo
//[03] - Numero da Fatura (se o numero estiver em branco obtem pelo FINA290)
//[04] - Natureza
//[05] - Data de
//[06] - Data Ate
//[07] - Fornecedor
//[08] - Loja
//[09] - Fornecedor para geracao
//[10] - Loja do fornecedor para geracao
//[11] - Condicao de pagto
//[12] - Moeda
//[13] - ARRAY com os titulos da fatura - Geradores
//[14] - Valor de decrescimo
//[15] - Valor de acrescimo
aFatPag := { "FAT", PADR("NF",nTamTipo), PADR("FAT001",nTamTit), "001", CtoD("30/10/2019"), CtoD("30/10/2019"), PADR("000000",nTamForn), PADR("00",nTamLoja), "", "", "001", 01, aTits ,0 ,0 }

MsExecAuto( { |x,y| FINA290(x,y)}, 3, aFatPag )

If lMsErroAuto
	MostraErro()
Else
	Alert("Fatura gerada com sucesso")
Endif

Return

04. INFORMAÇÕES RELACIONADAS

https://tdn.totvs.com/display/public/PROT/Faturas+a+Pagar+-+FINA290+-+Financeiro+-+P12