Ir para conteúdo
  • Cadastre-se

moisesaugusto

Membros
  • Total de ítens

    116
  • Registro em

  • Última visita

Tudo que moisesaugusto postou

  1. Boa noite, Newton. Tudo bem ? Eu estava procurando algo para tirar uma dúvida que tenho ( sobre uma função Delphi que preciso alterar ) , porém ao ler o teu tópico, fiquei curioso em saber se tu conseguiste resolver o problema com " o aplicativo parou . " Uso também o Delphi 10.4 (Sidney ) , já aconteceu algumas vezes como comentado por ti, porém na ocasião eu reinstalei o app no celular (no meu caso o Motorola G-5-S ) e resolveu. A título de curiosidade, usei no " Run -> Parameters -> Parameters " -cleaninstall ---- mas tal não funcionaria para o teu caso (na minha humilde opinião ), pois você estava instalando em dispositivos " zerados" de fábrica . Espero que tu tenhas resolvido. Obrigado pela atenção.
  2. Consegui compilar (como disse antes, uso Delphi 10.4 (Sidney ) , depois das seguintes alterações : 1 - Deletar a diretiva de compilação {$R ..\..\..\es\ACBrDiversos\ACBrFalaWaves\ACBrFala.FontRES } que está na linha 84 do projeto Se alguém me explicar como a mesma funciona, agradeço --- pois não encontrei pesquisando no Google ) . 2 - Acrescentar no " uses " -- System.UITypes 3 - No evento "edValorKeyPress " ( linha 195 ) deletar o código após o "then" -- pois o DecimalSeparator não é aceito como identificador válido (tentei utilizar FormatSetting.DecimalSeparator -- de SysUtils e System.SysUtils porém também não foi validado ). 4 - Alterei manualmente, na propriedade "OrigemArquivos" do componente Acbr/fala1 , o path dos arquivos .Wav, ou seja, no meu caso , "C:\ACBR\Fontes\ACBrDiversos\ACBrFalaWaves\" 5 - No evento "onClick" do button "bFalar", acrescentei " rbDir.Checked := true; " e dessa forma consegui compilar ( parabéns ao autor pois a qualidade do som ficou excelente ) . 6 - Dessa forma, creio que acrescentando arquivos .wav com o conteúdo que for interessante, resolve-se o problema de o aplicativo converter texto para voz, da forma como for desejado. 7 Achei muito legal, pena que não me servirá, pois como eu disse, preciso compilar para uso em dispositivo mobile.
  3. Ok, Juliomar. Vou refazer a instalação ( do ACBR ) marcando a opção de limpeza , quem sabe desta feita funcione. Apesar de que, na primeira instalação , o windows 10 tinha sido recentemente colocado na máquina , portanto não deveria haver resquícios de arquivos anteriores. Obrigado pelo interesse na resolução.
  4. Boa noite. Instalei hoje o ACBR no Delphi Sidney . Funcionou tudo certinho, como sempre. Normalmente utilizo para emissão de Notas Fiscais Eletrônicas. Porém, ao tentar utilizar o componente ACBRFala, a fim de implementar algum áudio em meu aplicativo, o exemplo que vem no pacote ACBR não compila. O retorno é " file not found -- ...\fontes\acbrdiversos\acbrFalaWaves\AcbrFala.Res " . Alguém poderia por favor me dar uma luz ? Muito obrigado. Outra coisa -- Alguém conhece uma rotina // classe// ou componente que possa ser compilado para Android ( para a mesma finalidade ) ---- Desculpem se estou errado porém creio que o ACBRFala ainda não compila em Android, ok ??
  5. E aí, Romulo, bom dia , conseguiu resolver o teu problema ?
  6. Bom dia. Tudo bem ? " Como não há a possibilidade de transformar um txt em xml o meu aplicativo lê o txt da nota e transforma em xml. " Desculpe a curiosidade, porém por que não há essa possibilidade ? Por que você não tenta , utilizando o AcbrNfe fazer o seu próprio Xml em vez de importar ? Se dispuser de um banco de dados com as informações de que você precisa não é tão difícil assim ( refiro-me a emitente / clientes / produtos . Acredito até que seja, ao contrário, mais fácil. No princípio eu também importava txt porém depois mudei . Caso necessite te envio um exemplo funcional ( usando banco firebird ) . Seria somente adaptar. Outra coisa - o importante é, como o José Junior disse há pouco, é sempre utilizar os schemas que acompanham o ACBR , devidamente atualizados.
  7. Desculpe, XTRcelo, somente depois de postar eu percebi que no cancelamento você não tinha problemas. Só por curiosidade, este problema está dando somente em produção, ou você nem consegue também emitir carta de correção em homologação ? Porque estou a fim de fazer uns testes por aqui para ver se também terei problemas (não tenho ainda essa rotina em meu aplicativo) .
  8. Será que isso é caso isolado que ta acontecendo, pq tem só nós aqui no tópico reclamando, e não interessou nem para algum técnico dar um parecer Bom dia. Estou em Bauru / SP -- Somente hoje vi estes posts. Eu uso a mesma rotina que era utilizada na versão 3.10 para fazer o cancelamento da nota ( com envio do xml ou com a chave ) e faz mais ou menos um mês que conseguimos fazer os cancelamentos ( homologação e produção) sem problema algum. Portanto, creio que o seu problema esteja realmente na inicialização do componente (protocolos, libs, etc . A minha está assim configurada : procedure TFrmPrincipal.IniciaNFe; begin ACBrNFe1.EventoNFe.Evento.Clear; ACBRNFE1.Configuracoes.Geral.ModeloDF := moNFe; ACBRNFE1.Configuracoes.Geral.VersaoDF := ve400; AcbrNfe1.Configuracoes.Certificados.ArquivoPFX := 'c:\nota eletronica\certificado\**********.pfx'; AcbrNfe1.Configuracoes.Certificados.Senha :='***********' ; AcbrNfe1.Configuracoes.Arquivos.PathSchemas := 'c:\Nota Eletronica\Schemas'; if RGFormaEmissao.ItemIndex = 1 then AcbrNfe1.Configuracoes.Geral.FormaEmissao := TeScan else AcbrNfe1.Configuracoes.Geral.FormaEmissao := TeNormal; AcbrNfe1.SSL.SSLCryptLib := cryOpenSSL; AcbrNfe1.SSL.SSLHttpLib := httpOpenSSL; AcbrNfe1.SSL.SSLXmlSignLib := xsMsXml; AcbrNfe1.SSL.SSLType := LT_TLSv1_2; AcbrNfe1.Configuracoes.WebServices.Visualizar := True; if not cbCamposObrigatorios.Checked then AcbrNfe1.Configuracoes.Geral.CamposFatObrigatorios := False else AcbrNfe1.Configuracoes.Geral.CamposFatObrigatorios := True; end;
  9. Pessoal, depois de ver em outro tópico uma outra informação, coloquei a propriedade "CamposFatObrigatorios " em False, enviei uma nota para produção ( SEFAZ SP ) e validou sem problema. Valeu ..
  10. Também estou emitindo normalmente na vs. 4.0 no ambiente de homologação. Quando tento em ambiente de produção , porém, exatamente a mesma nota que foi validada, retorna a rejeição de que está em desacordo com os schemas vigentes (utilizei aqueles que vêm junto com os exemplos do ACBR, que também atualiizei hoje ( e após isso, reinstalei no Delphi. Respondendo à Mariana , quanto à propriedade CamposFatObrigatorios -- acrescentada ao componente e que vem com default em "true", isto é, independente de haver valor positivo ele irá gerar a tag "VDesc " --- acredito que não adiantará muito para a solução do caso (nem que a gente mude para false ) , pois na minha opinião o que está ocorrendo é que a SEFAZ SP está utilizando schemas diferentes para validar a homologação / ou / a produção. Tentei, ainda, baixar (nos downloads da SEFAZ ) os " arquivos vigentes " porém o que verifiquei é que só me apareceram ( a não ser que bobeei em alguma coisa ) -- só vieram os schemas para a versão 3.10 ( o que logicamente provocaria os erros que estamos comentando. Provavelmente ( infelizmente, this is Brazil ) os schemas correspondentes à 4.0 serão colocados no dia em que a versão 3.10 não for mais possível de se usar . Estou tentando de todas as maneiras, evitando colocar arbitrariamente o valor 0.01 como uma constante a ser acrescentada no VDesc, pois apesar de muitos amigos do fórum informarem que assim funciona, não creio ser uma solução correta (com todo respeito às demais opiniões ). Teoricamente, seria um problema para a SEFAZ resolver.
  11. Boa tarde. Também fiz a modificação ( linha 2208 ). Emiti várias notas em homologação, ficou jóia. Porém hoje, ao implantar na produção, realmente deu rejeição / schemas . Inclusive atualizei os mesmos com a última versão constante no acbr. Retornei a vs. 3.10, a fim de testar os schemas, enviou normalmente. Está difícil pessoal.
  12. Pessoal, boa tarde. Também estou com o problema : Quando tento enviar a nota, recebo a rejeição " Campos do grupo fatura não informados . Segue o trecho dos comandos inseridos em meu aplicativo, relativos à fatura : Cobr.Fat.nFat := EdtNrDP.Text; Cobr.Fat.vOrig := Valtot ; Cobr.Fat.vDesc := DescontoTotal; Cobr.Fat.vLiq := Cobr.Fat.vOrig - Cobr.Fat.vDesc; with Cobr.Dup.Add do begin nDup := '001' ; // EdtNumeroNota.Text; .................................. Outros comandos. Estou anexando o referido XML . Se alguém puder auxliar-me , fico agradecido. 35180702553503000110550010000609251000000018-nfe.xml
  13. Boa tarde, Carlos. Muito obrigado pela resposta. Felizmente, já consegui terminar o projeto.
  14. Bom dia. Alexandre. Que bom que conseguir emitir tuas Nf-e . Na minha opinião, o que importa é conseguirmos fazer isso. Quanto ao erro que recebeu ao tentar aquela configuração que lhe passei a princípio (a qual utilizo ) -- tal erro é devido ao fato de que a biblioteca OpenSSL exige que , em vez de colocarmos o número de série para manipular o certificado digital, informemos o caminho (path) + o nome (com extensão) do arquivo (.pfx) que compõe o certificado. Ah, sim, naturalmente teremos de informar também a senha, a fim de que a mesma não fique sendo solicitada em tempo de execução. A vantagem ( na minha modesta opinião ) de se usá-la é que você não precisa se preocupar mais nem mesmo em instalar o certificado digital no Internet Explorer A desvantagem é que neste caso (se não estou enganado ) -- é que com essa configuração não se pode usar o certificado model A-3 ( pelo qual muitas empresas optam , geralmente por motivos de ( menor ) custo do mesmo. A respeito do Capicom, dê uma procurada pela net, não está mais sendo muito viável sua utilização , porque ele está há algum tempo descontinuado (sua atualização ) pela Microsoft, procure por um artigo que se chama " Bye-bye Capicom " -- nele há uma explanação ampla dessa matéria. 2) Quanto às configurações avançadas do IE, no meu estão setadas as seguintes configurações : Utilizar SSL 2 e 3 ( muitos sites exigem ) Utilizar TLS 1.2 ( protocolo utilizado na vs. 4.0 da Nfe-4.0 ) Verificar se há assinaturas em programas baixados. Com essa configuraçao, tenho acessado normalmente quaisquer sites e não tenho tido programa na emissão da NF-e 4.0 . Desejo-lhe boa sorte . Nota : Costumo fazer dessa forma --- Encontro uma configuração que permita emitir a NF , a fim de não perder o prazo de implementação. Em seguida, já sem sufoco, faço uma porção de testes com outras configurações e se alguma outra for mais rápida faço a substituição no ERP.
  15. Solicito ao Sr. moderador que coloque " Resolvido " no tópico. Solução : {Adiciona produtos} Contador := 0; // variável Integer declarar no início da rotina Itens := 0; // variável Integer Contador := AcbrNfe2.NotasFiscais[0].NFe.Det.Count ; ACBrNFe1.NotasFiscais[0].NFe.Det.Clear; While Itens < Contador do begin ACBrNFe1.NotasFiscais[0].NFe.Det.Add; ACBrNFe1.NotasFiscais[0].NFe.Det[Itens].Prod.cProd := ACBrNFe2.NotasFiscais[0].NFe.Det[Itens].Prod.cProd ; ................. // outras propriedades preenchidas ..... // finalzinho da rotina Itens := Itens + 1; ShowMessage ('Número de produtos = ' + InttoStr (Contador ) + #13 + 'Variável Itens = ' + InttoStr ( Itens )); end; De qualquer forma, ficam meus agradecimentos a alguém que possa haver lido e tido a intenção de ajudar-me ( o que vale é a intencão ). Abraços a todos .
  16. Muito bem, independentemente de ficar aguardando alguma resposta, continuei a fazer testes e já consegui a forma de saber quantos produtos constam da nota : A rotina que usei ( num buttom ) é a seguinte : var Itens : Integer; begin Itens := 0; // .......... leiitura do xml ..... if AcbrNfe2.NotasFiscais[0].NFe.Det.Count > 0 then ShowMessage ('Número de produtos : ' + InttoStr (AcbrNfe2.NotasFiscais[0].NFe.Det.Count) ); end; Agora se alguém puder me auxiliar, eu gostaria de saber como poderia fazer um laço antes de incluir os produtos no componente , a fim de que eles sejam todos incluídos . Obrigado !.
  17. Rotina onde incluo o produto : {Dados dos produtos} ACBrNFe1.NotasFiscais[0].NFe.Det.Clear; ACBrNFe1.NotasFiscais[0].NFe.Det.Add; ACBrNFe1.NotasFiscais[0].NFe.Det[0].Prod.cProd := ACBrNFe2.NotasFiscais[0].NFe.Det[0].Prod.cProd ; ACBrNFe1.NotasFiscais[0].NFe.Det[0].Prod.nItem := ACBrNFe2.NotasFiscais[0].NFe.Det[0].Prod.nItem ; ACBrNFe1.NotasFiscais[0].NFe.Det[0].Prod.cEAN := ACBrNFe2.NotasFiscais[0].NFe.Det[0].Prod.cEAN ; ACBrNFe1.NotasFiscais[0].NFe.Det[0].Prod.xProd := ACBrNFe2.NotasFiscais[0].NFe.Det[0].Prod.xProd ; ACBrNFe1.NotasFiscais[0].NFe.Det[0].Prod.NCM := ACBrNFe2.NotasFiscais[0].NFe.Det[0].Prod.NCM ; {Colocar uma escolha para diversos CfopS} ACBrNFe1.NotasFiscais[0].NFe.Det[0].Prod.CFOP := '1101'; ACBrNFe1.NotasFiscais[0].NFe.Det[0].Prod.uCom := ACBrNFe2.NotasFiscais[0].NFe.Det[0].Prod.uCom ; ACBrNFe1.NotasFiscais[0].NFe.Det[0].Prod.qCom := ACBrNFe2.NotasFiscais[0].NFe.Det[0].Prod.qCom ; ACBrNFe1.NotasFiscais[0].NFe.Det[0].Prod.vUnCom := ACBrNFe2.NotasFiscais[0].NFe.Det[0].Prod.vUnCom ; ACBrNFe1.NotasFiscais[0].NFe.Det[0].Prod.vProd := ACBrNFe2.NotasFiscais[0].NFe.Det[0].Prod.vProd ; ACBrNFe1.NotasFiscais[0].NFe.Det[0].Prod.uTrib := ACBrNFe2.NotasFiscais[0].NFe.Det[0].Prod.uTrib ; ACBrNFe1.NotasFiscais[0].NFe.Det[0].Prod.qTrib := ACBrNFe2.NotasFiscais[0].NFe.Det[0].Prod.qTrib ; ACBrNFe1.NotasFiscais[0].NFe.Det[0].Prod.vUnTrib := ACBrNFe2.NotasFiscais[0].NFe.Det[0].Prod.vUnTrib ; ACBrNFe1.NotasFiscais[0].NFe.Det[0].Prod.cEANTrib := ACBrNFe2.NotasFiscais[0].NFe.Det[0].Prod.cEANTrib ; end;
  18. Bom dia. Estou implantando uma rotina para emissão de nota de estorno. Já está funcionando, consigo emitir a nota, porém fiz os testes com Danfes que contenham apenas um produto. Nessa rotina, estou utilizando dois componentes ACBRNfe, sendo que um deles lê o XML da nota a ser estornada e o segundo grava o XML após eu colocar o número da nota a ser emitida e também o CFOP de entrada , justificativa (inf complementares, nota referenciada etc.. Os dados do emitente coloco manualmente (banco de dados ) --- do destinatário e dos produtos, extraio do XML / leitura . 2) Minha dúvida é a seguinte : Como faço para saber quantos produtos existem no Danfe ( que então foi lido ) para que eu possa fazer um laço e " pegar " todos os produtos nele (Danfe) constantes ? Estou tentando assim : if AcbrNfe2.NotasFiscais.Items[0].NFe.Det.Count > 0 then ShowMessage ('Tem produtos'); Porém eu precisava saber " quantos " são os produtos . Obrigado pela atenção. Nota : pesquisei anteriormente no forum nada encontrei a respeito.
  19. Alexandre, em tempo : esqueci de colocar também, nas configurações acima = AcbrNfe1.configuracoes.geral.SSLLib := libOpenSSL; Espero que o ajude.
  20. Boa noite, Alexandre. tudo bem ? Eu também tive muitos problemas desse mesmo tipo , há uns dias atrás, Com a mudança do protocolo pela SEFAZ, alguns computadores de uma determinada empresa não aceitavam o mesmo tipo de configuração. Você já tentou mudar e fazer a configuração pelo OpenSSL ? No meu caso, ficou assim ( e está funcionando corretamente ) : ACBrNFe1.SSL.SSLCryptLib := cryOpenSSL; ACBrNFe1.SSL.SSLHttpLib := httpOpenSSL; ACBrNFe1.SSL.SSLXmlSignLib := xsMsXml; AcbrNfe1.SSL.SSLType := LT_TLSv1_2; No meu caso, coloquei também as DLLs que acompanham o ACBR ( 1.0.2.13 ) -- na pasta onde está o executável . Não quis por na pasta do sistema para não interferir com outros possíveis programas instalados. Adicionei também no ERP algumas combobox , a fim de permitir essa configuração em tempo de execução, pois como disse cada caso é um caso. Outra coisa : parece-me que com OpenSSL você nem precisa se preocupar com as configurações do Internet Explorer.
  21. A fim de evitar que fiquem perdendo tempo, informo que consegui resolver o meu problema da seguinte forma. Em vez de fazer a associação do componente DanfeACbr ao componente da nota fiscal, fi-lo na propriedade " AcbrNfe " do próprio componente DanfeFR ( ou DanfeRL ). Portanto por favor sr. Moderador, considero o tópico ' RESOLVIDO ". De qualquer forma, ficam aqui meus agradecimentos a todos que tenham visualizado e tiveram a intenção de auxiliar-me.
  22. Adicionando mais informações, à medida que vou fazendo testes, reparei que esse erro só está ocorrendo em aplicativos já existentes (se eu mandar abrir o projeto , retirar o AcbrDanfe e colocar de novo, acontece o erro). 2) Se eu abrir um novo projeto Vcl , colocar os dois componentes ( AcbrNfe e DanfeRL ) a associação é feita normalmente. 3) Testei também no Delphi Berlin, sendo que as ocorrências são idênticas. 4) O mesmo ocorre se o componente Danfe for o DanfeFr .
  23. Tenho um aplicativo que compilava anteriormente sem problema algum. Porém a partir de hoje começou a retornar-me o seguinte erro : " ACBRDANFENFE deve ser do tipo TACBRNFE. Já fiz os seguintes procedimentos, sem sucesso : 1) desinstalei o Delphi -- inclusive deletei o respectivo diretório 2) Reinstalei, instalei o Jedi, o FastReports, o FortesCE (com os instaladores) -- e por fim o ACBR (install ). Tudo sem erros. 3) Tenho na máquina dois sistemas operacionais independentes. Tentei nos dois, dá exatamente o mesmo erro. 4) A pasta ACBR está devidamente atualizada ( revisão 15.373 ). Alguma sugestão ? Nota = antes de abrir o tópico, já procurei (Google e neste site ). Não achei nenhuma menção a este erro. Se for o caso, formatarei meu computador. Obrigado pela atenção.
  24. Já que não houve respostas à minha indagação, vou postar a resposta para a minha própria dúvida, pois sei que pode ser de interesse para algum programador interessado em ajustar as configurações avançadas no internet explorer via código delphi (fonte = https://support.microsoft.com/pt-br/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-a-default-secure-protocols-in código do botão "Executar" var Registro: TRegistry; begin //acertando opções da internet (revogados / SSL / TSL) //verificar revogação de certificados do servidor Registro := TRegistry.Create(KEY_WRITE); Registro.RootKey := HKEY_CURRENT_USER; if registro.OpenKey('Software\Microsoft\Windows\CurrentVersion\Internet Settings', true) then begin Registro.WriteInteger('CertificateRevocation', 0); end; registro.CloseKey; //verificar se há certificados revogados do fornecedor if registro.OpenKey('Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing', true) then begin Registro.WriteInteger('State', 146944); end; registro.CloseKey; //Usar TLS 1, TLS 1.1, TLS 1.2 } if registro.OpenKey('Software\Microsoft\Windows\CurrentVersion\Internet Settings', true) then begin Registro.WriteInteger('SecureProtocols', 2688 ); end; registro.CloseKey; registro.Free;
  25. Somente para complementar, tentei criar a chave ( peguei o path em um artigo (link) disponibilizado pelo Italo Jurisato Jr, aqui neste mesmo tópico, porém aparentemente nao funcionou da forma que implementei. if registro.OpenKey ('SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols', true) then begin Registro.WriteInteger('TLS 1.2' , 1); end; registro.CloseKey;
×
×
  • 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.