JUDSON Posted January 8, 2014 Report Share Posted January 8, 2014 Amigos estou com o seguinte problema , tenho um cadastro de nota + itens ( siinota.dbf ) e um 2o banco ( defa.dbf ) onde guardo o sequencial dessas notas , so que qd abro dois cadastros ao mesmo tempo o segundo nunca pega o sequencial da nota atualizada, a rotina e esta: // Atualiza o numero de controle das notas fiscais wcdnf=strzero(val(defa->cdnf)+1,6) ? val(wcdnf) , val(defa->cdnf) If val( wCdnf ) <> (val(DEFA->cdnf)+1) wCdnf := strzero(val(DEFA->cdnf)+1,6) oGetCdnf:refresh() MsgWait("Definido outro número da nota "+wCdnf,"Atenção", 3 ) Endif dbselectarea("DEFA") ; dbgotop() if Trava(2) replace DEFA->cdnf with wcdnf dbunlock() endif dbcommit() ? val(wcdnf) , val(defa->cdnf) ou seja eu atualizo o defa + 1 so quando for incluir o 1o item , entao se os operadores entrarem ao mesmo tempo irão trabalhar com o mesmo numero de nota ate incluirem o 1o itenm ai esta rotina faria a atualizacao da variavel wcdnf , mas parece que o campo defa->cdnf nao e atualizado , alguem ja passou por isso ? Obs: durante a abertura dos dois cadastro quando gravo o 1o item fui no dbu e vi que o defa->cdnf esta atualizado mais no sistema ele mostra . Como se nao tivesse atualizado. Quote Link to comment Share on other sites More sharing options...
aferra Posted January 8, 2014 Report Share Posted January 8, 2014 Tenta assim: defa->( dbGoTop() ) wcdnf=strzero(val(defa->cdnf)+1,6) Quote Link to comment Share on other sites More sharing options...
JUDSON Posted January 8, 2014 Author Report Share Posted January 8, 2014 alessandro obrigado pela diga , mas resolvi assim: defa->(dbclosearea()) use (w_dbfPath)+"defa.dbf" alias DEFA shared new fecho e abro o banco, ai ele pega o campo atualizado . Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.