#include#INCLUDE “Protheus"Protheus.ch”ch"
User Function F290Fat2FFatAut()
Local aCabaFatPag := {} // array que recebera as informações do titulo
Local aFatPagAutaTits := {}
Local //nTamTit array que recebera dados para geração da fatura
Local aTit := {}:= TamSx3("E2_NUM")[1]
Local nTamParc := TamSx3("E2_PARCELA")[1]
Local nTamForn := TamSx3("E2_FORNECE")[1]
Local nTamLoja := TamSx3("E2_LOJA")[1]
Private lMsErroAuto := .F.
//|-------------------------------|
//|[13] - ARRAY DEcom TITULOSos titulos da fatura - Geradores (esses títulos devem existir |
//|-------------------------------|
aTit := {{ "FIN" /*Prefixo*/,;
"FINA290 " /*Numero*/,;
"1" /*Parcela*/,;
"NF " /*Tipok*/,;
.F. /*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)*/},;
{ "FIN" /*Prefixo*/,;
"FINA290 " /*Numero*/,;
"2" /*Parcela*/,;
"NF " /*Tipok*/,;
.F. /*Título localizado na geracao de fatura (lógico)*/};
}
//|----------------------------------------------|
//| ARRAY DE GERAÇÃO FATURA |
//|----------------------------------------------|
aFatPagAut := { "FIN" /*Prefixo*/,;
"FT" /*Tipo*/,;
"1520165" /*Numero da Fatura*/,;
"FIN2000028" /*Natureza*/, ;
CtoD("15/09/2016") /*Data de*/,;
CtoD("15/09/2016") /*Data Ate*/,;
"FIN142" /*Fornecedor*/,;
"01" /*Loja*/,;
"" /*Fornecedor para geracao*/,;
"" /*Loja do fornecedor para geracao*/,;
"003" /*Condicao de pagto*/,;
01 /*Moeda*/,;
aTit /*ARRAY com os titulos da fatura*/,;
/*Valor de decrescimo*/,;
/*Valor de acrescimo*/
}
MsExecAuto( { |x,y,z| FINA290(x,y,z)}, 3,aFatPagAut, .T.)//3 - Inclusao, 4 - Alteração, 5 - Exclusão (nPosArotina,aFatPag,lAutomato)
If lMsErroAuto
MostraErro()
Else
Alert("Fatura gerada com sucesso!")
Endif
Return
/*
______________________________________________________________________________________________________________________________________________
*/
#include “Protheus.ch”
User Function F290Fat2()
Local aCab := {} // array que recebera as informações do titulo
Local aFatPagAut := {} // array que recebera dados para geração da fatura
Local aTit := {}
Private lMsErroAuto := .F.
//|-------------------------------|
//| ARRAY DE TITULOS |
//|-------------------------------|
aTit := {{ "FIN" /*Prefixo*/,;
"FINA290 " /*Numero*/,;
"1" /*Parcela*/,;
"NF " /*Tipok*/,;
.F. /*Título localizado na geracao de fatura (lógico)*/},;
{ "FIN" /*Prefixo*/,;
"FINA290 " /*Numero*/,;
"2" /*Parcela*/,;
"NF " /*Tipok*/,;
.F. /*Título localizado na geracao de fatura (lógico)*/};
}
//|----------------------------------------------|
//| ARRAY DE GERAÇÃO FATURA |
//|----------------------------------------------|
aFatPagAut := { "FIN" /*Prefixo*/,;
"FT" /*Tipo*/,;
"1520165" /*Numero da Fatura*/,;
"FIN2000028" /*Natureza*/, ;
CtoD("15/09/2016") /*Data de*/,;
CtoD("15/09/2016") /*Data Ate*/,;
"FIN142" /*Fornecedor*/,;
"01" /*Loja*/,;
"" /*Fornecedor para geracao*/,;
"" /*Loja do fornecedor para geracao*/,;
"003" /*Condicao de pagto*/,;
01 /*Moeda*/,;
aTit /*ARRAY com os titulos da fatura*/,;
/*Valor de decrescimo*/,;
/*Valor de acrescimo*/
. Iniciar com falso.
//[13,6] Fornecedor
//[13,7] Loja
aTits := {{ "FTG", PADR("TIT01",nTamTit), PADR(" ",nTamParc), "NF ", .f., PADR("000000",nTamForn),PADR("00",nTamLoja) },;
{ "FTG", PADR("TIT02",nTamTit), PADR(" ",nTamParc), "NF ", .f., PADR("000000",nTamForn),PADR("00",nTamLoja) }}
//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", "NF", "FAT001", "001", CtoD("30/10/2019"), CtoD("30/10/2019"), "000000", "00", "", "", "001", 01, aTits ,0 ,0 }
MsExecAuto( { |x,y,z| FINA290(x,y,z)}, 3,aFatPagAut, .T.)//3 - Inclusao, 4 - Alteração, 5 - Exclusão (nPosArotina,aFatPag,lAutomato aFatPag )
If lMsErroAuto
MostraErro()
Else
Alert("Fatura gerada com sucesso!")
Endif
Return |