1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

[RESOLVIDO] Notas de entrada desaparecendo

Discussão em 'EMS , HCM e Totvs 11' iniciado por Clayton Oliveira, Julho 10, 2017.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. Clayton Oliveira

    Clayton Oliveira Membro Participativo

    possuo uma ferramenta de integração que chama a REAPI316B para criar registros no RE1001, esta minha ferramenta importa uma unica nota podendo possuir N itens e encerra o processo limpando todas as variáveis que ficam em memoria que a REAPI316B deixa em aberto, porem ela é utilizada varias vezes seguidas e o que me ocorre é que em 2 clientes apos importar algumas notas e ja aparecendo no RE1001 e até aprovando a nota, os registros simplesmente somem.

    Olhando o arquivo do banco de dados .LG constatei que é executado BACKOUT nos momentos em que as notas somem e a chamada do REAPI316B não está dentro de uma transaction mas quando tento colocar, diz que o processo já está dentro de uma transaction.

    mesmo com a ferramenta tendo sido utilizada vários minutos atras, se der um erro de progress na sessão do usuário o problema pode ocorrer das notas sumirem.

    outro detalhe é que na mesma maquina e com os mesmos usuários, se eles digitam pelo re1001, este problema simplesmente não ocorre mas já testei em maquinas diferentes com usuários diferentes desses mesmos clientes e o problema continua ocorrendo quando utilizo a minha solução.

    erro de exemplo que ocorre na maquina do usuário:
    upload_2017-7-10_10-44-31.png
  2. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    isso ai é pau de transação com certeza, o progress deve estar colocando o scopo da transação em um nivel maior, eu já vi acontecer esse tipo de coisa, no meu caso o bloco de transação ficou no nivel do menu, imagina o rolo, quando o usuario tinha algum problema que algum processo fazia um undo, desfazia tudo que o usuario tinha feito até o momento, veja se vc não tem algum log de programa ativo para o seu especifico ou coisa do tipo, veja se durante o processo em que some a nota, se vc não tem algum undo perdido.
  3. Clayton Oliveira

    Clayton Oliveira Membro Participativo

    meu processo infelizmente não possui nenhum undo ou transaction, se houver erros, ele retorna a tabela de erro da reapi316b e não grava a docum-est. e lembrando que o problema também acontece mesmo apos a gravação com sucesso e o programa já fechado a vários minutos e o usuário trabalhando com outras coisas.
  4. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    tudo bem, a transação está ativa independente de onde o seu usuario esteja, qualquer CTRL-C, ou undo de um programa do produto padrão, já vai desfazer tudo que foi feito dentro da transação, não importando se procedeu corretamente ou não, tem uma transação gigante ai englobando tudo que o usuario tá fazendo na sessão.
    Clayton Oliveira curtiu isso.
  5. Clayton Oliveira

    Clayton Oliveira Membro Participativo

    quando aconteceu com voce, o que voce fez para conseguir resolver este problema ?
  6. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    tem que descobrir quem é o vilão da historia, tem que garimpar, colocar uns messages em pontos chaves pra ver se tem transação ativa até descobrir o programa que está bagunçando, é coisa de detalhe mesmo, ir rotina por rotina, descobrir que é um especifico ou se é um programa padrão, ver se vc não está rodando algum programa persistent que fica na memoria iniciando transação, pode ser tanta coisa, no meu caso, até que foi facil, era um log de usuario, entrava no datasul, já gravava um registro com data e hora do login, nesse momento iniciava uma transação e tudo ficava dentro dela, se o usuario saisse do datasul de forma normal, tava tudo bem, mas qualquer rotina que gerasse um erro ou um undo, ferrou, desfazia tudo, chegou a perder um dia inteiro de um usuario. Veja bem, uma transação normalmente é on error undo, leave, ou seja, se um find der erro sem tratar, tipo, esqueceu de por um no-error no find, gera erro progress e desfaz tudo.
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página