bnobre
Membros Pro-
Total de ítens
1.491 -
Registro em
-
Última visita
-
Days Won
4
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que bnobre postou
-
Oi Basicamente no dia 30-09-2022 eu executei a consulta começando com o 961. Então executei o código abaixo: CNPJ := Emitente_CNPJCPF; docs := 0; repeat try ACBrNFe1.DistribuicaoDFe( iso_estado, CNPJ, sUltimoNSU, '' ); //UltimoNSU = Começou com 961 sStat := IntToStr(ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat); sMotivo := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.xMotivo; if ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat = 137 then sTemMais := 'N' else sTemMais := 'S'; sUltimoNSU := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.ultNSU; ...//armazeno o valor acima no banco if ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat = 138 then begin j := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count - 1; for i := 0 to j do begin sSerie := ''; sNumero := ''; sCNPJ := ''; sNome := ''; sIEst := ''; sNSU := ''; sEmissao := ''; sTipoNFe := ''; Valor := 0.0; Impresso := ' '; if ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resDFe.chDFe <> '' then begin // Conjunto de informações resumo da NF-e localizadas. // Este conjunto de informação será gerado quando a NF-e for autorizada ou denegada. sChave := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resDFe.chDFe; sSerie := Copy(sChave, 23, 3); sNumero := Copy(sChave, 26, 9); sCNPJ := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resDFe.CNPJCPF; sNome := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resDFe.xNome; sIEst := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resDFe.IE; case ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resDFe.tpNF of tnEntrada: sTipoNFe := '0'; tnSaida: sTipoNFe := '1'; end; sNSU := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].NSU; sEmissao := DateToStr(ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resDFe.dhEmi); Valor := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resDFe.vNF; case ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].resDFe.cSitDFe of snAutorizado: Impresso := 'AUTORIZADO'; snDenegado: Impresso := 'DENEGADO'; snCancelado: Impresso := 'CANCELADO'; end; end; ...// Registro no Banco de Dados as Notas Retornadas pela Consulta end; end; except on E : Exception do begin messageBox(handle,Pchar(e.message),'Erro!',MB_ICONERROR+mb_OK); Exit; end; end; until (sTemMais = 'N'); Com esse código os únicos arquivos de LOG que foram gerados foram esses... Como assim o retorno dessa execução? Algum outro log? Devo especificar algo há mais no meu código para ter esse retorno? Não entendi que retorno seria esse... seria um arquivo de log?
-
Criptografia de senha com SALT
bnobre replied to bnobre's tópico in Object Pascal - Delphi & Lazarus
Descobri o que era... No meu exemplo estava pegando o valor para descriptografar de um Memo, e não de um Edit conforme você fez... Se pegar de um Memo (Memo1.Text) o valor criptografado e tentar descriptografar, tu vai ter o mesmo problema que eu... Estranho... Mas era isso mesmo que precisa... Valeu mesmo Pena que o Delphi não tem algo assim nativo -
Criptografia de senha com SALT
bnobre replied to bnobre's tópico in Object Pascal - Delphi & Lazarus
Então... Me desculpe a ignorância, mas o que seria um TYPE? Se souber de algum texto que possa me explicar eu te agradeço. E conseguiu ver a questão do caractere que aparece no final? Esqueci de anexar a imagem... Segue anexo. Ah... O nome são tipo enumerados, achei aqui https://drgarcia1986.wordpress.com/2011/12/07/tipos-enumerados-em-delphi/ -
Criptografia de senha com SALT
bnobre replied to bnobre's tópico in Object Pascal - Delphi & Lazarus
É exatamente isso que preciso, mas por algum motivo ficou acrescentando um caracter ao final na hora de descriptografar, conforme em anexo. Sabe porque? E outra dúvida, essa seria sobre Delphi... o que significa o trecho abaixo e onde é o local correto para colocá-lo no código (coloquei antes do implementation): Type TTipoCript = (tcCript, tcDecript); Desde já agradeço as discas -
Oi @Italo Giurizzato Junior... Tudo bom? Segue os arquivos de log do momento em que realizei a consulta em anexo. Como pode ver o ultNSU é o 000000000001077. Conforme tinha falado, a última nota retornada na consulta tem o NSU de número 000000000001051. Daí a minha dúvida... É isso mesmo? O ultNSU não teria que ser o NSU da última nota carregada? 20220930093111-con-dist-dfe.xml 20220930093111-dist-dfe.xml 20220930093108-con-dist-dfe.xml
-
Criptografia de senha com SALT
bnobre replied to bnobre's tópico in Object Pascal - Delphi & Lazarus
Opa... Vou dar uma olhada durante a semana e posto os comentários aqui... Obrigado meu amigo -
Oi Italo, tudo bom? Segunda vou consultar no micro do escritório e posto aqui.
-
Criptografia de senha com SALT
bnobre replied to bnobre's tópico in Object Pascal - Delphi & Lazarus
Dei uma conferida aqui, mas não é isso que eu estava pensando. O que eu queria é especificar por exemplo: 1 - Tenho uma senha "teste123" e um SALT "F881mwZnJ&29". 2 - Com os dados acima o sistema geraria uma criptografia e eu armazenaria no banco. 3 - Depois eu quero pegar esse conteúdo no banco e descriptografar (e não apenas comparar como no caso do MD5 ou do BCrypt) 4 - Sendo que para essa descriptografia eu precisaria, além da senha criptografada que está no banco, também do SALT que estaria no código do meu executável. -
Criptografia de senha com SALT
bnobre replied to bnobre's tópico in Object Pascal - Delphi & Lazarus
Oi @datilas, tudo bom? Sua explicação sobre o MD5 está correta, portanto com o acesso ao HASH completo (que foi gravado no banco) o invasor pode através de um ataque de força bruta descobrir. Já com o SALT, se eu não estiver falando besteira, eu não teria o HASH completo no banco, teria uma parte lá e o SALT no meu código fonte, e só com os 2 eu teria o HASH completo, então para isso o invasor teria que descobrir o SALT no meu código. Esse bcrypt usa esse conceito de SALT? -
Como eu disse essas impressoras estão uma epidemia aqui... Não sei como vocês estão se virando nos outros estados.
-
Olá a todos, Me perdoem pela demora, mas ficou o caos aqui, aí pedi para a @Juliana Tamizou reabrir o tópico pra mim. Conforme pedido pelo Daniel, estou anexando algumas fotos: Primeiro de um cupom impresso nessa impressora e um em uma impressora tradicional (Epson, Bematech, Elgin, etc), para que possam ver a diferença: Segundo de um fechamento de caixa nessa impressora e um em uma impressora tradicional (Epson, Bematech, Elgin, etc), para que possam ver a diferença: Como podem ver, no cupom já fica estranho, mas no fechamento de caixa corta. Normalmente uso 48 ou 42 colunas para a maioria das impressoras no ACBrESCPOS, mas essa o melhor resultado que obtive com 30 colunas, conforma a configuração abaixo:
-
Olá a todos, Tenho um projeto em Delphi onde eu criptografo a senha em MD5 e armazeno no banco, depois eu descriptografo e leio a senha. Mas se alguém tiver acesso ao banco e executar uma função de descriptografia MD5, assim como eu, terá acesso a senha. O Delphi tem algum tipo de criptografia com SALT? Uso isso em JS e resolve essa questão, pois o SALT ficaria gravado no código do executável e ninguém teria acesso, e sem o mesmo só a senha criptografada o banco seria inútil. Desde já agradeço a atenção
-
PS: Outra coisa que achei interessante, na consulta, a última nota carrega tem o NSU 000000000001051, mas o componente retornou como ultNSU (ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.ultNSU) o valor 000000000001077. É isso mesmo? O ultNSU não teria que ser o NSU da última nota carregada?
-
Bom dia meu amigo... Tudo bom? Desculpa a demora, está um caos aqui. kkkkkkkkkkkkk Teve uma reviravolta, copiei o banco de dados do cliente agora e testei em minha máquina, aqui consultou normal. Com o mesmo ultNSU (961). Não sei porque lá estava dando erro esse tempo todo... Terei que acompanhar... Tem idéia do que poderia ser? Desde já agradeço a atenção
-
Olá Renato, Beleza? Obrigado pelo retorno. Então estou usando o código correto, na verdade até imaginei que usava, pois outros clientes conseguem consultar normal. Mas estou com um cliente que sempre que ele tenta consultar ele recebe o seguinte erro: Rejeicao: Consumo Indevido (Deve ser utilizado o ultNSU nas solicitacoes subsequentes. Tente apos 1 hora) A última consulta que ele conseguiu fazer foi dia 18/03/2022 e o ultNSU no sistema está gravado com o valor "000000000000961". Pra piorar a situação esse cliente usa nosso sistema em mais 2 CNPJs dele e nos mesmos a consulta funciona normal. Alguém pode me dar uma luz do que pode estar acontecendo? Desde já agradeço a atenção de todos
-
Oi Juliomar, tudo bom? Já tinha visto esse comando... Mas esse que estou usando ainda funciona e tem um parâmetro ULTNSU, portanto creio que ele se baseia no ultimo NSU consultado que é a exigência da consulta. Por isso queria saber se ele é equivalente ao "DistribuicaoDFePorUltNSU( <código da UF do destinatário>, <CNPJ do destinatário>, <numero do ultimo NSU> )" que você citou.
-
Olá a todos, Atualmente nos meus clientes eu uso o seguinte código para fazer a consulta das notas: ACBrNFe1.DistribuicaoDFe( iso_estado, CNPJ, sUltimoNSU, '' ) Aonde o "sUltimoNSU" representa o ultNSU que armazenei no banco, capturado ao final de cada consulta com o comando ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.ultNSU. Está correto isso?
-
Boa tarde galera, Basicamente coloquei a chamada de uma função no evento onException do componente ApplicationEvents que irá registrar em um TXT qualquer exceção global gerada pelo programa, armazenando o valor do E.Message. Até aí tudo certo, mas seria bem mais interessante se além do E.Message, eu pudesse também registrar a linha que disparou essa exceção. Tem algo no Delphi para atingir esse objetivo? Desde já agradeço a atenção
-
Diferença entre DisposeOf e Free
bnobre replied to bnobre's tópico in Object Pascal - Delphi & Lazarus
Kkkkkkkkk Era usado pelo Delphi X4? Qual é o usado agora? Desde já agradeço os esclarecimentos -
Diferença entre DisposeOf e Free
bnobre replied to bnobre's tópico in Object Pascal - Delphi & Lazarus
Oi Daniel... O que seria esse compilador NEXTGEN? -
Tratando alerta - Variável pode não ser inicializada
bnobre replied to bnobre's tópico in Object Pascal - Delphi & Lazarus
RESTRequest1.Method := rmPOST; RESTRequest1.Resource := ''; RESTRequest1.Params.ParameterByName('body').Value := jsonInsert; RESTRequest1.Execute; jsonValue := TJSONObject.ParseJSONValue(RESTResponse1.Content); try inseridos := jsonValue.GetValue<integer>('result'); finally jsonValue.Free; end; Tipo assim? -
Tratando alerta - Variável pode não ser inicializada
um tópico no fórum postou bnobre Object Pascal - Delphi & Lazarus
Olá a todos, Estou com o seguinte código procedure ... var jsonValue: TJSONValue; begin try RESTRequest1.Method := rmPOST; RESTRequest1.Resource := ''; RESTRequest1.Params.ParameterByName('body').Value := jsonInsert; RESTRequest1.Execute; jsonValue := TJSONObject.ParseJSONValue(RESTResponse1.Content); inseridos := jsonValue.GetValue<integer>('result'); finally jsonValue.Free; end; end; Bem, com esse código recebo o alerta abaixo: [dcc32 Warning] Unit1.pas(236): W1036 Variable 'jsonValue' might not have been initialized Até tudo bem, pois sei que o alerta surgiu pelo fato de eu não ter inicializado ela antes do try. Então coloquei o seguinte comando antes: jsonValue := nil; Com isso o alerta sumiu... Mas existe alguma forma mais "recomendável" de inicializar essa variável? Desde já agradeço a atenção -
Diferença entre DisposeOf e Free
bnobre replied to bnobre's tópico in Object Pascal - Delphi & Lazarus
Oi Juliomar... Na verdade não... É aplicação desktop Windows mesmo, estou usando VCL. Mas nos tutoriais tem essa mistura! Devo usar qual então? -
Oi Pessoal, Estou trabalhado com JSON no Delphi... Em alguns tutoriais eu vejo o pessoal usar o DisposeOf para encerrar objetos JSON, por exemplo: jsonObject.DisposeOf; Em outros usam o Free: jsonObject.Free; Qual a diferença entre eles? Qual é o que devo usar? Desde já agradeço a atenção de todos