Bom dia Pessoal,
Alguém tem um exemplo de fonte usando ExecAuto do FINA090?
Estou com dificuldade em rodar esse ExecAuto.
Obrigado
Bom dia Pessoal,
Alguém tem um exemplo de fonte usando ExecAuto do FINA090?
Estou com dificuldade em rodar esse ExecAuto.
Obrigado
Segue como nós utilizamos internamente para realizar a baixa de PAs. Pode ser adaptado para qualquer tipo de título.
No nosso caso, a SE2 deve estar posicionada no título a ser baixado.
Local cOperacao := 3
Local aTitulos := Array(19)
Local aAutoErro
Private lMsHelpAuto := .T.
Private lMsErroAuto := .F.
Private lAutoErrNoFile := .T.
aTitulos[1] := {SE2->(Recno())}
aTitulos[2] := Padr(_BANCO , TamSX3("A6_COD")[1]) // Banco da baixa
aTitulos[3] := Padr(_AGENCIA, TamSX3("A6_AGENCIA")[1]) // Agência da baixa
aTitulos[4] := Padr(_CONTA , TamSX3("A6_NUMCON")[1]) // Conta da baixa
aTitulos[5] := "" // Cheque da Baixa
aTitulos[6] := "" // Lote Financeiro da baixa
aTitulos[7] := "" // Natureza do movimento bancario - apenas Contas a Pagar
aTitulos[8] := SE2->E2_VENCREA // Data da baixa
aTitulos[9] := 1 // (1 = Baixa somente titulos que não estao em bordero ou nTipoBx -> 2 = Baixa somente titulos em bordero)
aTitulos[10]:= " " // Portador de
aTitulos[11]:= "ZZZ" // Portador Até
aTitulos[12]:= DaySub(SE2->E2_VENCREA, 2) // Vencimento Inicial
aTitulos[13]:= SE2->E2_VENCREA // Vencimento Final
aTitulos[14]:= " " // Borderô Inicial
aTitulos[15]:= "ZZZZZZ" // Borderô Final
aTitulos[16]:= "" // Beneficiário do Cheque
aTitulos[17]:= "" // Historico do Cheque
aTitulos[18]:= .F. // Rateio Multiplas naturezas
aTitulos[19]:= {"02"} // Array para a baixa de vendor
MSExecAuto({|x,y| Fina090(x,y)}, cOperacao, aTitulos)
If lMsErroAuto
aAutoErro := GETAUTOGRLOG()
// Seu tratamento de erro (alerta, log, banco de dados, etc)
Endif
Um cuidado que se deve tomar, é com os campos Vencimento Inicial e Final (Posição 12 e 13 do array). Por alguma razão, mesmo que você passe o RecNo do registro que quer baixar na posição 1 do array, ele busca o registro por um select filtrando por estas datas, e se não houver registros no retorno do select, ele dá a mensagem "RECNO - Não existe registro com arquivo em pauta".
Opa, Valeu mestre, vai me ajudar bastante.
Mas uma dúvida, na unica documentação q encontrei, só cita 8 parametros. Tens alguma outra documentação ?
— Mateus Zanin 23 de May de 2023Não tem, quem me passou este código foi um consultor que trabalhou na TOTVS.
— Israel Alcantara Possoli 23 de May de 2023Israel, bom dia.
Belo post, você sabe me dizer se o execauto acima preenche as tabelas FK´s ?
— Clístenis Batista 06 de Aug de 2024Respondento tardiamento a pergunta do Clístenis Batista: Sim, ela preenche as tabelas FKs
— Israel Alcantara Possoli 2 months agoMateus encontrei no TDN então não é garantia que vai funcionar segue o exemplo:
Rotina de Baixas a Pagar Automática através de ExecAuto
Descrição do uso da rotina automática (ExecAuto) FINA090 - Baixas a Pagar Automática, sendo possível utilizar esse procedimento em customizações ou rotinas facilitadoras.
Deve ser passado um array (aTitulos), com oito posições, sendo que cada posição deverá conter a seguinte composição:
Composição de aTitulos
Caso a contabilização seja online e a tela de contabilização possa ser mostrada em caso de erro no lançamento (falta de conta, débito/crédito não batem, etc) a baixa automática em lote não poderá ser utilizada.
Somente será processada se:
Exemplo da chamada da ExecAuto:
User Function TST090AUTO()
Local aTitulos := Array(8)
Private lMsErroAuto := .F.
aTitulos[1] := {3 , 4 , 5}
aTitulos[2] := "000"
aTitulos[3] := "00000"
aTitulos[4] := "0000000000"
aTitulos[5] := "001"
aTitulos[6] := "1"
aTitulos[7] := "1"
aTitulos[8] := dDataBase
MSExecAuto({|x, y| Fina090(x,y)},3,aTitulos)
If lMsErroAuto
MostraErro()
Endif
Return Nil
Cara então... essa documentação tá bem mal feita, não consegui fazer com apenas a documentação do TDN. Acabei usando o Fina080.
Mas valeu mesmo assim João
— Mateus Zanin 23 de May de 2023Boa tarde
Por favor, verifique a documentação mais atual da rotina de Baixas Automáticas CP (FINA090).
https://tdn.totvs.com/pages/viewpage.action?pageId=645486009
No final da seção 03 - Execução, tem um exemplo de rotina automática para Baixa, Cancelamento e Baixa por Vendor.
Espero ter ajudado.
Boa tarde, eu sei que o post já tem mais de 7 meses, mas estou com uma dúvida: Eu consegui implementar a baixa, porém, quando executo ela manualmente disparando via debug ou a tela de parâmetros iniciais do protheus, o execauto está trazendo a tela para preenchimento do histórico. Esta correto isso ? Como fazer para isso não ocorrer ?
Olá amigo bom dia. Poderia compartilhar esta baixa automatica via execauto ? clistenis@gmail.com Obrigado.
— Clístenis Batista 06 de Aug de 2024