ExecAuto FINA040 - Nao permite alteração de titulos

Boa tarde. Estou com esta situação na release 12.1.27: O execauto da rotina FINA040 não permite usar a opção 4 (alterar), e retorna a msg:

AJUDA:FA040NUMTentativa de incluir ou alterar um registro já existente no arquivo.

Tabela SE1 04/03/2022 17:11:55 Prefixo - E1_PREFIXO := MAN No. Titulo - E1_NUM := 8182727Parcela - E1_PARCELA := 001 Tipo - E1_TIPO := BFC < -- Invalido Cliente - E1_CLIENTE := 88926381 Loja - E1_LOJA := 0001 Natureza - E1_NATUREZ := 4104070101 DT Emissao - E1_EMISSAO := 04/03/2022 Vencimento - E1_VENCTO := 30/06/2022 Historico - E1_HIST := TESTE

  • O tipo BFC existe
  • A chave do titulo está correta
  • O título existe na base
  • Preciso apenas alterar o vencimento pois fazendo por dentro do sistema ( de forma manual ) é permitido.

Poderia colocar a parte onde vc monta o execauto e faz a chamada ? Assim fica mais facil de tentar identificar algum problema.

dbSelectArea("SE1") DbGoTo( 2465123 )

aVetor:= {} //aAdd( aVetor, { "E1_FILIAL" ,'03BA0005' ,Nil}) aAdd( aVetor, { "E1_PREFIXO" ,PADR(SE1->E1_PREFIXO, TAMSX3("E1_PREFIXO")[1]) ,Nil}) aAdd( aVetor, { "E1_NUM" ,PADR(SE1->E1_NUM, TAMSX3("E1_NUM")[1]) ,Nil}) aAdd( aVetor, { "E1_PARCELA" ,PADR(SE1->E1_PARCELA, TAMSX3("E1_PARCELA")[1]) ,Nil}) aAdd( aVetor, { "E1_TIPO" ,PADR(SE1->E1_TIPO, TAMSX3("E1_TIPO")[1]) ,Nil}) aAdd( aVetor, { "E1_CLIENTE" ,PADR(SE1->E1_CLIENTE, TAMSX3("E1_CLIENTE")[1]) ,Nil}) aAdd( aVetor, { "E1_LOJA" ,PADR(SE1->E1_LOJA, TAMSX3("E1_LOJA")[1]) ,Nil}) aAdd( aVetor, { "E1_NATUREZ" ,PADR(SE1->E1_NATUREZ, TAMSX3("E1_NATUREZ")[1]),Nil}) aAdd( aVetor, { "E1_EMISSAO" ,DDATABASE ,Nil}) aAdd( aVetor, { "E1_VENCTO" ,STOD('20220630') ,Nil}) aAdd( aVetor, { "E1_HIST" ,PADR('TESTE', TAMSX3("E1_HIST")[1]) ,Nil}) lMsErroAuto := .F. lMsHelpAuto := .T. INCLUI:= .F. ALTERA:= .T. MsExecAuto( { |x,y| FINA040(x,y)} , aVetor, 4) If !lMsErroAuto MsgInfo("oK") Else MostraErro() EndIf

Estou posicionando direto no registro para testar passando o DbGoTo.

Verifique a validação do campo E1_TIPO no dicionário (remova para testar).

A validação do campo E1_TIPO é esta: FA040Tipo() .And. FA040Num() .And. FA040Natur()
E retirando da a mesma msg!

1 - Talvez voce esteja executando o programa em uma filial errada, que não tenha o BFC cadastrado como TIPO. 2 - Tente remover essa manipulação do INCLUI e ALTERA, nao acho que seja isso, mas o execauto já recebe a opção de alteração, não tem porque voce mudar essas variaveis manualmente. 3 - Dica: Não precisar usar os PADR, pq vc ta jogando o conteudo do E1_NUM pro proprio E1_NUM, ou seja, o tamanho dos campos já são compativeis.

Estou com mesmo problema! Alguém conseguiu ?