Ir para conteúdo
  • Cadastre-se

NILSON BRASIL

Membros
  • Total de ítens

    4
  • Registro em

  • Última visita

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

NILSON BRASIL's Achievements

Rookie

Rookie (2/14)

  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputação

  1. NÃO ESTOU CARREGANDO NENHUMA DLL PELO SISTEMA. SERÁ QUE PODE SER AS CHAVE PRIVADA/PUBLICA ESTOU SOMENTE COM ESSE PROBLEMA NA AQUI NA POLING. OBRIGADO na procedure abaixo, passei na chave 6 letras, será q tem que ser 4. procedure TfsH.ACBrAAC1GetChave(var Chave: String); <- AQUI EU PASSEI UMA CHAVE COM 6 LETRAS. no O eECFc está validando beleza a chave DEIXA EU TE PASSA O MEU CÓDIGO: function TfPrincipal.GeraMD5: string; var Arquivo : TextFile; NomeArq, ArqTexto, aMD5: string; F : TSearchRec; Ret : Integer; begin Result := ''; try // Apaga arquivo anterior ArqTexto := 'Listamd5.txt'; if FileExists(ArqTexto) then DeleteFile(ArqTexto); // cria o arquivo TXT na mesma pasta do sistema AssignFile(Arquivo, ArqTexto); ReWrite(Arquivo); // lista todos os arquivo exe da pasta do aplicativo e gera o MF5 Ret := FindFirst(ExtractFilePath(Application.ExeName)+'\*.exe', faAnyFile, F); try while Ret=0 do begin if F.Attr and faDirectory<>faDirectory then begin NomeArq := ExtractFilePath(Application.ExeName)+F.Name; aMD5 := MD5Print(MD5File(NomeArq)); WriteLn(Arquivo, NomeArq+' - '+aMD5); end; Ret := FindNext(F); end; //verificar com homologador Ret := FindFirst(ExtractFilePath(Application.ExeName)+'\*.dll', faAnyFile, F); while Ret=0 do begin if F.Attr and faDirectory<>faDirectory then begin if (UpperCase(F.Name)= uppercase('DarumaFrameWork.dll')) or (UpperCase(F.Name)= uppercase('LeituraMFDBin.dll')) or (UpperCase(F.Name)= uppercase('lebin.dll')) or (UpperCase(F.Name)= uppercase('BemaFI32.dll')) or (UpperCase(F.Name)= uppercase('Bematech.dll')) or (UpperCase(F.Name)= uppercase('BemaMFD2.dll')) or (UpperCase(F.Name)= uppercase('BemaMFD.dll')) or (UpperCase(F.Name)= uppercase('elgin.dll')) or (UpperCase(F.Name)= uppercase('InterfaceEpson.dll')) or (UpperCase(F.Name)= uppercase('CONVECF.dll')) or (UpperCase(F.Name)= uppercase('DLLG2.dll')) or (UpperCase(F.Name)= uppercase('sign_bema.dll')) or (UpperCase(F.Name)= uppercase('MSJET35.dll')) then begin NomeArq := ExtractFilePath(Application.ExeName)+F.Name; aMD5 := MD5Print(MD5File(NomeArq)); WriteLn(Arquivo, NomeArq+' - '+aMD5); end; end; Ret := FindNext(F); end; finally FindClose(F); end; Closefile(Arquivo); // gera MD5 do arquivo texto finally cMD5txt := MD5Print(MD5File(ArqTexto)); end; end; procedure TfPrincipal.ChamaMD5; var F : TSearchRec; Ret : Integer; begin GeraMD5; with fsH.ACBrAAC1.IdentPAF.OutrosArquivos.New do begin Nome := 'c:\infobrasil\infopdv\exec\infopdv.exe'; MD5 := MD5Print(MD5File(Nome)); end; Ret := FindFirst(ExtractFilePath(Application.ExeName)+'\*.dll', faAnyFile, F); while Ret=0 do begin if F.Attr and faDirectory<>faDirectory then begin if (UpperCase(F.Name)= uppercase('lebin.dll')) or (UpperCase(F.Name)= uppercase('LeituraMFDBin.dll')) or (UpperCase(F.Name)= uppercase('DarumaFrameWork.dll')) or (UpperCase(F.Name)= uppercase('BemaFI32.dll')) or (UpperCase(F.Name)= uppercase('Bematech.dll')) or (UpperCase(F.Name)= uppercase('BemaMFD2.dll')) or (UpperCase(F.Name)= uppercase('BemaMFD.dll')) or (UpperCase(F.Name)= uppercase('elgin.dll')) or (UpperCase(F.Name)= uppercase('InterfaceEpson.dll')) or (UpperCase(F.Name)= uppercase('CONVECF.dll')) or (UpperCase(F.Name)= uppercase('DLLG2.dll')) or (UpperCase(F.Name)= uppercase('sign_bema.dll')) or (UpperCase(F.Name)= uppercase('MSJET35.dll')) then begin with fsH.ACBrAAC1.IdentPAF.OutrosArquivos.New do begin Nome := ExtractFilePath(Application.ExeName)+F.Name; end; end; end; Ret := FindNext(F); end; with fsH.ACBrPAF1.PAF_N do begin RegistroN1.RAZAOSOCIAL := fsH.ACBrAAC1.IdentPAF.Empresa.RazaoSocial; RegistroN1.UF := fsH.ACBrAAC1.IdentPAF.Empresa.Uf; RegistroN1.CNPJ := fsH.ACBrAAC1.IdentPAF.Empresa.CNPJ; RegistroN1.IE := fsH.ACBrAAC1.IdentPAF.Empresa.IE; RegistroN1.IM := fsH.ACBrAAC1.IdentPAF.Empresa.IM; RegistroN2.NOME := fsH.ACBrAAC1.IdentPAF.Paf.Nome; RegistroN2.VERSAO := fsH.ACBrAAC1.IdentPAF.Paf.Versao; RegistroN2.LAUDO := fsH.ACBrAAC1.IdentPAF.NumeroLaudo; end; with fsH.ACBrAAC1.IdentPAF.ArquivoListaAutenticados do begin Nome := 'ListaMD5.txt'; MD5 := fsH.ACBrEAD1.MD5FromFile('c:\infobrasil\infopdv\exec\listamd5.txt'); end; fsH.ACBrPAF1.Path :='C:\INFOBRASIL\INFOPDV\EXEC\'; fsH.ACBrPAF1.SaveFileTXT_N('PAF_LISTAMD5.TXT'); fsH.ACBrAAC1.SalvarArquivo;
  2. with fsH.ACBrPAF1.PAF_N do begin RegistroN1.RAZAOSOCIAL := fsH.ACBrAAC1.IdentPAF.Empresa.RazaoSocial; RegistroN1.UF := fsH.ACBrAAC1.IdentPAF.Empresa.Uf; RegistroN1.CNPJ := fsH.ACBrAAC1.IdentPAF.Empresa.CNPJ; RegistroN1.IE := fsH.ACBrAAC1.IdentPAF.Empresa.IE; RegistroN1.IM := fsH.ACBrAAC1.IdentPAF.Empresa.IM; RegistroN2.NOME := fsH.ACBrAAC1.IdentPAF.Paf.Nome; RegistroN2.VERSAO := fsH.ACBrAAC1.IdentPAF.Paf.Versao; RegistroN2.LAUDO := fsH.ACBrAAC1.IdentPAF.NumeroLaudo; end; with fsH.ACBrAAC1.IdentPAF.ArquivoListaAutenticados do begin Nome := 'ListaMD5.txt'; MD5 := fsH.ACBrEAD1.MD5FromFile('c:\infobrasil\infopdv\exec\listamd5.txt'); end; fsH.ACBrPAF1.Path :='C:\INFOBRASIL\INFOPDV\EXEC\'; fsH.ACBrPAF1.SaveFileTXT_N('PAF_LISTAMD5.TXT'); fsH.ACBrAAC1.SalvarArquivo; pq as dlls de impressora fiscal que tem mais 13 letras gera o md5 ( todo com 0 ). notei que gera exception.
  3. ESTOU HOMOLOGANDO E NA LISTA DE PARAMETRO NÃO TA SAINDO O PARAMETRO ACBrAAC1.IdentPAF.Paf.TransportePassageiro
  4. TENHO ESSAs PROCEDUREs CREATE OR ALTER PROCEDURE SET_CONTEXTO ( ib_chave integer) as BEGIN RDB$SET_CONTEXT('USER_SESSION', 'IB_KEY', :IB_CHAVE); END CREATE OR ALTER PROCEDURE VENDAS_CALC_HASH ( loj_codigo integer, ven_numero integer) returns ( ven_hash bigint) as begin select hash( RDB$GET_CONTEXT('USER_SESSION', 'IB_KEY' ) ||loj_codigo ||ven_coo ||ven_ccf ||ven_totalbruto ||ven_totaldesc ||ven_totalcanc ||ven_percdesc ||ven_totalliquido ||ven_quant ||ven_totalacresc ) from vendas ven where ven.loj_codigo = :loj_codigo and ven_numero = :ven_numero into :ven_hash ; suspend; end e tambem essa trigger CREATE OR ALTER PROCEDURE VENDAS_CALC_HASH ( loj_codigo integer, ven_numero integer) returns ( ven_hash bigint) as begin select hash( RDB$GET_CONTEXT('USER_SESSION', 'IB_KEY' ) ||loj_codigo ||ven_coo ||ven_ccf ||ven_totalbruto ||ven_totaldesc ||ven_totalcanc ||ven_percdesc ||ven_totalliquido ||ven_quant ||ven_totalacresc ) from vendas ven where ven.loj_codigo = :loj_codigo and ven_numero = :ven_numero into :ven_hash ; suspend; end entao executa essa procedure via delphi, EXECUTE PROCEDURE SET_CONTEXTO(1010) e não gera o hash no firebird, o q estou fazendo de errado. obg. nilson brasil
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.