#INCLUDE 'PROTHEUS.CH'
USER FUNCTION F565EXEC()
Local aTela1 := {}
Local aTela2 := {}
Local aEdtVlr := {}
Local aCols := {}
Local aItens := {}
Local cPrefixo := 'GER'
Local cFornec := '100 FINC83'
Local cLoja := '0001'
Local nRotina := 2 // Liquidar
Local nI := 0
// Variáveis utilizadas para o controle de erro da rotina automática
Private lMsErroAuto := .F.
Private lAutoErrNoFile := .T.
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01 " USER "admin" PASSWORD "" TABLES "SE1,SA1,SE2" MODULO "FIN"
// Define a DataBase da movimentação
dDataBase := cToD("0208/09/20192016")
// Define Parâmetros da Rotina
Pergunte('FIN565',.F.)
// Array de desvio de tela - Caso não seja passado nenhum dos parametros
// a liquidação ira considerar o título posicionado
aAdd(aTela1, {'cFornDe', '100FINC83'}) //- Fornecedor De:
aAdd(aTela1, {'cLojaDe', '0001' }) //- Loja De:
aAdd(aTela1, {'cFornAte', '100FINC83'}) //- Fornecedor Até:
aAdd(aTela1, {'cLojaAte', '0001' }) //- Loja Até:
aAdd(aTela1, {'cForn565', '100FINC83'}) //- Gerar p/:
aAdd(aTela1, {'cLoja', '0001'}) //- Loja:
aAdd(aTela1, {'nValorMax', 0.00}) //- Valor:
aAdd(aTela1, {'nValorDe', 0.00}) //- Titulos no valor De:
aAdd(aTela1, {'nValorAte', 999999999999}) //- Até o Valor De:
aAdd(aTela1, {'cMoeda565', '21'}) //- Moeda:
aAdd(aTela1, {'cOutrMoed', '1'}) //- Outras moedas:
AddaAdd(aTela1, {'cIntervalo', '1'}) //- Intervalo por:
aAdd(aTela1, {'dData565I', CTOD('2908/0809/20192016')}) //- Data De:
aAdd(aTela1, {'dData565F', CTOD('2908/0809/20192016')}) //- Data Até:
aAdd(aTela1, {'cPrefDe', 'POR '}) //- Prefx De:
aAdd(aTela1, {'cPrefAte', 'PORzzz'}) //- Prefx Até:
aAdd(aTela1, {'cNumDe', '000001FIN565001'}) //- Titulo De:
aAdd(aTela1, {'cNumAte', '000001FIN565001'}) //- Titulo Até:
//aHeader - Cabeçalho
aAdd(aTela2, {'cLoja', cLoja }) //- Loja
aAdd(aTela2, {'cCondicao', '101003' }) //- Condicao (opcional)
aAdd(aTela2, {'cTipo', 'BOLCH ' }) //- Tipo
aAdd(aTela2, {'cNatureza', '111FIN001CA' }) //- Natureza
aAdd(aTela2, {'NTXLIQ', 4}) //- Vlr AcrescimoTX Moeda (opcional)
aAdd(aTela2, {'cFornece', cFornec }) //- Fornecedor
// Itens/aCols
//Utilizando condição de pagamento étorna-se obrigatorioobrigatório apenas esses campos
aItens := {}
AADD(aItens, {'E2_PREFIXO', cPrefixo}) //- Prefixo
AADD(aItens, {'E2_BCOCHQ' , '001'}) //- Banco
AADD(aItens, {'E2_AGECHQ' , '0001'}) //- Agencia
AADD(aItens, {'E2_CTACHQ' , '00001'}) //- Conta
AADD(aItens, {'E2_NUM' , 'CHQ001'}) //- Num Cheque
AADD(aCols, ACLONE(aItens))
//Array que controla edição dos títulos a serem liquidados.
aEdtVlr := {}
AAdd( aEdtVlr, {'Editar', .T. } ) //- Se necessario Editar Valores
aAdd( aEdtVlr, { {'chave','D MG01LIQ000003 NF 100 00 E2_FILIAL+E2_PREFIXO+E2_NUM+E2_PARCELA+E2_TIPO+E2_FORNECE+E2_LOJA'},;
{'nCotMoed', 53},;
{'nValJur', 0},;
{'nValDes', 0},;
{'nValLiq', 50006005} } )
MSEXECAUTO( { |a, b, c, d, e, f, g| FINA565( a, b, c, d, e, f, g )}, nRotina, aTela1, aChaveNil, aTela2, aCols, aEdtVlr, .T. )
If lMsErroAuto
MostraErro()
Else
Conout("Liquidação gerada com sucesso!")
EndIf
Return NIL
|