Pessoal eu tenho um programa que gera titulos a receber conforme o bloco que codigo abaixo, este bloco esta inserido no programa.
aArray := { { "E1_PREFIXO" , SE1->E1_PREFIXO , NIL },;
{ "E1_NUM" , SE1->E1_NUM , NIL },;
{ "E1_PARCELA" , SE1->E1_PARCELA , NIL },;
{ "E1_TIPO" , "AB-" , NIL },;
{ "E1_NATUREZ" , SE1->E1_NATUREZ , NIL },;
{ "E1_CLIENTE" , SE1->E1_CLIENTE , NIL },;
{ "E1_LOJA" , SE1->E1_LOJA , NIL },;
{ "E1_NOMCLI" , SE1->E1_NOMCLI , NIL },;
{ "E1_EMISSAO" , DDATABASE , NIL },;
{ "E1_EMIS1" , DDATABASE , NIL },;
{ "E1_HIST" , 'LOTE CARTAO: '+SE1->E1_LOTECAR, NIL },;
{ "E1_VENCTO" , DDATABASE , NIL },;
{ "E1_VENCREA" , DDATABASE , NIL },;
{ "E1_VALOR" , SE1->E1_DESCTXC , NIL },;
{ "E1_SALDO" , SE1->E1_DESCTXC , NIL },;
{ "E1_STATUS" , 'A' , NIL },;
{ "E1_LOTECAR" , SE1->E1_LOTECAR , NIL }}
MsExecAuto( { |x,y| FINA040(x,y)} , aArray, 3) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão
pois bem depois da atualização para a 2310 esta dando um problema e esta dando um erro conforme mais abaixo, porem se eu pegar essa função e limpar ela, criar uma user function so para fazer o execauto da certinho.
tentei olhar todas as variaveis que o meu programa poderia estar mexendo mas nao tive sucesso
como eu faço para ressetar todas as variaveis como se eu estivesse na tela inicial do protheus ? usei GetArea() erestarea e tudo o que podia, mas nao deu certo.
acionei a totvs e nao estamos conseguindo sair do chao
DIVAIR ZARPELON 12 de set. de 2024, 12:25 BRT apos a migração do sistema para a versao 2310 um processo que eu possuo aqui parou de funcionar, essa processo ja estava no ar a mais de 5 anos, ele simplesmente executa isso
static function _graAbt2(oSay)
LOCAL aArray := {} LOCAL _F local _nAb := 0 PRIVATE lMsErroAuto := .F.
SetFunName("FINA740") for _f:= 1 to len(aTitLiqs) _PREFIXO := aTitLiqs[_f][2] _TITULO := aTitLiqs[_f][3] _PARCELA := aTitLiqs[_f][4]
DbSelectArea("SE1") DbSetorder(1) DbSeek(xFilial('SE1')+ _PREFIXO + _TITULO + _PARCELA,.F.)
do while !eof() .and. _PREFIXO + _TITULO + _PARCELA == SE1->E1_PREFIXO + SE1->E1_NUM + SE1->E1_PARCELA nReg:= SE1->(Recno()) if found() _nAb += 1 aArray := { { "E1_PREFIXO" , SE1->E1_PREFIXO , NIL },; { "E1_NUM" , SE1->E1_NUM , NIL },; { "E1_PARCELA" , SE1->E1_PARCELA , NIL },; { "E1_TIPO" , "AB-" , NIL },; { "E1_NATUREZ" , SE1->E1_NATUREZ , NIL },; { "E1_CLIENTE" , SE1->E1_CLIENTE , NIL },; { "E1_LOJA" , SE1->E1_LOJA , NIL },; { "E1_NOMCLI" , SE1->E1_NOMCLI , NIL },; { "E1_EMISSAO" , DDATABASE , NIL },; { "E1_EMIS1" , DDATABASE , NIL },; { "E1_HIST" , 'LOTE CARTAO: '+SE1->E1_LOTECAR, NIL },; { "E1_VENCTO" , DDATABASE , NIL },; { "E1_VENCREA" , DDATABASE , NIL },; { "E1_VALOR" , SE1->E1_DESCTXC , NIL },; { "E1_SALDO" , SE1->E1_DESCTXC , NIL },; { "E1_STATUS" , 'A' , NIL },; { "E1_LOTECAR" , SE1->E1_LOTECAR , NIL }}
U_ShowArray(aArray)
MsExecAuto( { |x,y| FINA040(x,y)} , aArray, 3) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão
If lMsErroAuto u_dz_enmail("Nao consegui gerar abatimento" + STR_PULA + "Usuario: " + alltrim (cUserName),"Numero do Lote de credito: "+cNumLot,"divair@conpasul.com.br;contasareceber@conpasul.com.br") MostraErro() _Log(" Nao conseguir gerar abatimento "+ Substr(Time(),1,2)+":"+Substr(Time(),4,2)+":"+Substr(Time(),7,2)) else _Log("Abatimento gerado "+ Substr(Time(),1,2)+":"+Substr(Time(),4,2)+":"+Substr(Time(),7,2))
Endif
EndIf
DbGoTo(nReg) DbSelectArea("SE1") dbskip() Enddo
Next
if _nAb == 0
_Log(" Abatimentos nao encontrados "+ Substr(Time(),1,2)+":"+Substr(Time(),4,2)+":"+Substr(Time(),7,2))
endif
return
veja o erro que acontece Tabela SE1 09/09/24 13:24:26 Prefixo - E1_PREFIXO := MAT No. Titulo - E1_NUM := 000049041 Parcela - E1_PARCELA := 1 Tipo - E1_TIPO := AB- Natureza - E1_NATUREZ := CARTAO Cliente - E1_CLIENTE := 064108 Loja - E1_LOJA := 01 Nome Cliente - E1_NOMCLI := STONE INSTITUICAO DE DT Emissao - E1_EMISSAO := 09/09/24 DT Contab. - E1_EMIS1 := 09/09/24 Historico - E1_HIST := LOTE CARTAO: 004296 Vencimento - E1_VENCTO := 09/09/24 Vencto real - E1_VENCREA := 09/09/24 Vlr.Titulo - E1_VALOR := 11.5 < -- Invalido Saldo - E1_SALDO := 11.5 Status - E1_STATUS := A Lote Cartao - E1_LOTECAR := 004296 Erro --> Ocorreu um erro durante a validacao: type mismatch on + on FCALCISS line : 13860 Called from FA040NATUR line : 3541 Called from EVALVALID line : 1171 Called from ENCHAUTO line : 368 Called from FA040INCLU line : 723 Called from MBROWSEAUTO line : 86 Called from FINA040 line : 391 Called from { |X,Y| FINA040(X,Y)} line : 870 Called from MSEXECAUTO line : 3136 Called from _GRAABT2 line : 870 Called from {|OSAY| _GRAABT2(OSAY) } line : 730 Called from {|| EVAL(BACTION, OSAY), ODLGSVG:END() } line : 100 Called from ACTIVATE line : 0 Called from FWMSGRUN line : 100 Called from GRV_LCTOL line : 730 Called from {|OSAY| GRV_LCTOL(OSAY) } line : 269 Called from {|| EVAL(BACTION, OSAY), ODLGSVG:END() } line : 100 Called from ACTIVATE line : 0 Called from FWMSGRUN line : 100 Called from U_DZ_CART line : 269 Called from SIGAIXB line : 280 Called from __EXECUTE line : 670 Called from FWPREEXECUTE line : 86 Called from {||FWPreExecute('# Seleção Pgo Cartao', 'DZ_CART()', 3, '05', 'xxxxxxxxxx') } line : 422 Called from ACTIVATE line : 0 Called from ACTIVATE line : 790 Called from SIGAFIN line : 177
AJUDA:FALHATUDOK Falha na execução dos processos de validaçao da rotina de geraçao de títulos (FINA040)
nao faz sentido pois se eu lancar manual funciona perfeitamente, no E1_VALOR tenho essa informação
Tipo N Tamanho 17 Decimais 2 Uso Obrig
Funçäo:positivo().and.naovazio().and.fa040natur().and.fa040valor()
tentei tirar a validação do campo mas mesmo assim
pessoal, algo mudou no processo do execauto, e como disse, rotina que rodava a anos att