Painel de líderes
Conteúdo popular
Showing content with the highest reputation on 29-10-2018 em todas as áreas
-
Tenta assim: var I: integer; begin ACBrNFe1.SSL.ListaCertificados.Clear; ACBrNFe1.SSL.LerCertificadosStore; For I := 0 to ACBrNFe1.SSL.ListaCertificados.Count-1 do begin LOG.Lines.Add('Encontrado!'); LOG.Lines.Add(ACBrMDFe1.SSL.ListaCertificados[I].CNPJ); end; end;3 pontos
-
Jamil, Você tem toda razão... e com a chegada da ACBrLIb, passou da hora de automatizarmos o processo de geração dos binários Estou trabalhando em Scripts de compilação automática, com Cross Compiling pata Linux3 pontos
-
Joia. Agora ficou mais claro. Obrigado por explicar. Como comentário pessoal, acho que vocês vão gostar quando a ACBrLib estiver mais completa. Graças ao apoio de pessoas como vocês que resolveram adotar o SAC, estamos desenvolvendo a ACBrLib que terá tanto DLLs como classes acessíveis em várias linguagens.2 pontos
-
2 pontos
-
Realmente, falta de atenção minha. Mil perdões. Estava tão acostumado a só clicar no menu inicial que não me dei conta que agora tem várias opções de filtragem após esse clique inicial. Como a categoria padrão que vem selecionada é "Blocks" e não "Fóruns"... Tudo certo. Obrigado.2 pontos
-
Com relação à mensagem de erro: CryptExportKey - len Parou de aparecer, sinceramente não sei o que foi, mais acredito que foi resolvida instalando uma cadeia de certificados, agora qual foi não sei, instalei tantas pra fazer teste, mais acredito que a solução pode ter sido essa, mais tbém não tenho certeza. Com Relação ao Erro: Entidade Certificadora nao encontrada na lista de autoridades confiaveis. Informar um certificado valido com uma cadeia certificadora valida. Acessando a página do Ginfes de Ribeirão Preto/SP: https://ribeiraopreto.ginfes.com.br/ Na Seção de FAQ, consta a informação abaixo: Sendo assim, envie o certificado pra eles por e-mail e estou aguardando a solução, já mantivemos algumas trocas de e-mail, mais ainda não foi solucionado. O erro E320 pode ocorrer devido o seguinte fator: O certificado digital não está incluso em nossa base de dados. Solução: É necessário que seja realizado o contato através do e-mail [email protected] informando o erro, os dados do certificado e o CNPJ da empresa que está realizando o consumo do serviço WebService. Após identificarmos que o certificado é válido, esse será incluso na lista de autoridades confiáveis.2 pontos
-
Por isso que funciona, pelo Número de Série ele usara o Certificado previamente instalado na Store do Windows... Wincryot também suporta certificado por PFX Tudo indica que o PFX no disco está inacessível ou corrompido... Você pode gerar um novo PFX exportando o mesmo do seu Windows2 pontos
-
Está configurando a versão do componente para o layout 4.00? ACBrNFe1.Configuracoes.Geral.VersaoDF := ve400;2 pontos
-
ola, não amigo, nenhuma alteração no acbr, apenas copilei novamente, fiz alteração apenas no meu aplicativo.2 pontos
-
2 pontos
-
Boa tarde. O novo instalador do ACBrMonitorPlus foi disponilizada, por favor realize novos testes. Att.2 pontos
-
Por favor teste com a Unit anexada nesse Post: Mudei a visibilidade do HttpSendCriticalSection, para dentro do TDFeSSL2 pontos
-
Desculpe-me pela demora na resposta... Verifiquei a sua sugestão, e realmente faltou um tratamento interno para a Thread, capturar os Exceptions.. O Exception disparado abortava o código da Thread, que já era liberada pelo FreeOnTerminate, por isso tínhamos o A.V. Essa Thread tem uma característica diferente das Threads tradicionais... A ideia é deixar que ela mesmo se libere... Isso porque lidar com Socktes, pode prender o sistema, mesmo quando configuramos os TimOuts na API.. então não podemos ficar esperando o final normal da Thread... Fiz alguns ajustes, baseado nas suas sugestões... Por favor teste com a Unit em anexo... Também fiz algumas melhorias, para o caso abaixo: ACBrDFeSSL.pas2 pontos
-
Segue exemplo de código para pra listar as notas. Algumas partes do código foram omitidas. procedure Consultar({ ... }); var I: Integer; LDocumento: TDFeDocumento; { Objeto interno do Sistema } LDocZip: TdocZipCollectionItem; begin ACBrNFe.DistribuicaoDFe(UF, CNPJ, UltimoNSURecebido, '') ; for I := 0 to Pred(ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count) do begin LDocZip := ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip[I]; LDocumento := TDFeDocumento.Create; if (LDocZip.schema in [schprocNFe, schresNFe]) then begin { schresNFe = nota resumida / schprocNFe = nota completa } LDocumento.ChaveAcesso := LDocZip.resNFe.chNFe; LDocumento.CnpjEmitente := LDocZip.resNFe.CNPJCPF; LDocumento.NomeEmitente := LDocZip.resNFe.xNome; LDocumento.DataEmissao := LDocZip.resNFe.dhRecbto; LDocumento.ValorDocumento := LDocZip.resNFe.vNF; LDocumento.NSU := StrToInt(LDocZip.NSU); LDocumento.XML := LDocZip.XML; case LDocZip.resNFe.tpNF of tnEntrada: LDocumento.TipoOperacao := toEntrada; tnSaida: LDocumento.TipoOperacao := toSaida; end; end; if (LDocZip.schema = schprocEventoNFe) then begin { evento como cancelamento } LDocumento.ChaveAcesso := LDocZip.procEvento.chNFe; LDocumento.CnpjEmitente := LDocZip.procEvento.CNPJ; LDocumento.DataEmissao := LDocZip.procEvento.dhEvento; LDocumento.Descricao := TpEventoToStr(LDocZip.procEvento.tpEvento) + ' - ' + LDocZip.procEvento.detEvento.descEvento; { ... } end; if (LDocZip.schema = schresEvento) then begin { evento de MDF-e e outros } LDocumento.ChaveAcesso := LDocZip.resEvento.chNFe; LDocumento.CnpjEmitente := LDocZip.resEvento.CNPJCPF; LDocumento.XML := LDocZip.XML; LDocumento.Descricao := TpEventoToStr(LDocZip.resEvento.tpEvento) + ' - ' + LDocZip.resEvento.xEvento; { ... } end; Documentos.Add(LDocumento); { lista dos documentos retornados na consulta, pode ser visualizado em um grid} end; UltimoNSUrecebido := StrToIntDef(ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.ultNSU, 0); MaiorNSUexistente := StrToIntDef(ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.maxNSU, 0); end;2 pontos
-
Modifiquei o AcbrBancoBrasil nos motivos do retorno para que não quando ache o motivo, retorne 00-Outros motivos. Fiz a modificação baseado no AcbrSantander que já possui a funcionalidade. 1) Primeira mudança - alinhamento do if que verifica CNAB 400 2) Alinhamento/padronização dos motivos do tipo da ocorrência: toRetornoComandoRecusado: //03 (Recusado) 3) Adicionado um retorno padrão (CNAB 400), semelhante ao que tem no fonte do AcbrSantander, para retornar outros motivos. 4) CNAB 240 - (toRetornoRegistroRecusado) - Alinhado case, e colocado no result os códigos junto com a descrição, seguindo o padrão existente: 5) CNAB 240 -(toRetornoLiquidado, toRetornoBaixaAutomatica, toRetornoLiquidadoSemRegistro: // 06, 09 e 17 (Liquidado)) Colocado no result os códigos junto com a descrição, seguindo o padrão existente: 6) Mesmo acima para toRetornoDebitoTarifas 7) Adicionado um retorno padrão (CNAB 240), semelhante ao que tem no fonte do AcbrSantander, para retornar outros motivos. Segue arquivo fonte para análise se pode ser alterado no Acbr. ACBrBancoBrasil.Acbr.2018.10.26-Correcao.pas Obrigado,1 ponto
-
Adicionei o campo CNPJCPFProp em cdsModalRodo, pois tive a necessidade de imprimir o proprietário do veículo no MDF-e. ACBrMDFeDAMDFEFR.pas1 ponto
-
Uma nova tentativa... por favor teste com a Unit em anexo... Nessa nova modificação, ligo o FreeOnTerminate, apenas quando a Thread atingiu o timeout... assim não ficamos presos no "Thread.waitfor", quando aplicarmos o Abort. ACBrDFeSSL.pas1 ponto
-
1 ponto
-
1 ponto
-
Enviado ao SVN na revisão 15875. Queira validar e reportar qualquer problema.1 ponto
-
Legal... vamos afinar a questão do A.V. no exception da Thread e já subimos tudo...1 ponto
-
Entendi, . só explicando a sua pergunta. "Acho que não entendi o que quer dizer DLL Fiscais" Somos uma empresa que tem um software legado, com muitos clientes brasil à fora, e com uma linguagem que não é delphi, pascal, e só poderia ser consumido os recursos ACBr pelo Monitor, porém optamos por fazer DLL , específicas para cada ambiente fiscal. O aplicativo chamava uma DLL que antes era paga, a ideia foi construir a nossa própria ferramenta, feita em Delphi consumido os recursos ACBr, retirando um custo desnecessário. Motivo Esse foi que mostrei que seria necessário e até justo, o investimento no SAC do projeto.1 ponto
-
A ideia é ótima mesmo, as melhorias serão bem vindas. A preocupação mesmo é saber o que vai afetar o código de quem está já usando, no nosso caso por exemplo, usamos Delphi, gerando DLL Fiscais, com todos os recursos, e inclusive com Impressão, então no momento do código, criamos o objeto, e vou alimentando as propriedades, um deles, e apontar para o obj "principal, NFE, MDFe, etc" qual é o objeto "impressor", isso vai mudar ? Se sim, poderia soltar um beta antes, para quem usa usa os objetos instanciando em run time por código, poder ajustar.1 ponto
-
Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.1 ponto
-
Bom dia. Esta informação se encontra no manual do ACBrMonitor https://acbr.sourceforge.io/ACBrMonitor/ComocompilaroACBrMonitor.html Att.1 ponto
-
Tenta ai e adapta... FormatDateTime(' dd ''de'' MMMM ''de'' yyyy', Now); //---- troque o Now pelo seu campo data se não quiser a data atual Vai retornar: "27 de outubro de 2018", se testar hoje é claro. Agora é só adaptar a sua necessidade.1 ponto
-
Vou olhar a Documentação. Então meu erro era o endereço colocado no arquivo ENT. Estava diferente do caminho onde salvei o NFe.ini.1 ponto
-
1 ponto
-
Bom dia Verifique e acompanhe este tópico com novidades sobre os componentes de impressão.... Att Ricardo1 ponto
-
Bom dia Tente copiar o arquivo ACBrNFeServicos.ini atualizado para a pasta do teu projeto. Att Ricardo1 ponto
-
Boa tarde. Ajustes adicionados ao svn, favor realizar novos testes. Att.1 ponto
-
Boa tarde pessoal. Foi realizada a alteração com a inclusão da propriedade DigitoVerificadorAgenciaConta para definir o campo DV da Ag/Conta conforme orientação da cooperativa. Por favor realizem novos testes após atualizar seus fontes. Att.1 ponto
-
Boa tarde a todos, O numero da serie só é mudada quanto o limite do numero da nota é atingido. E esse limite é 999.999.999 Se você não chegar até o final deverá informar a SEFAZ o porque não foi emitido as notas de numeração faltante. A SEFAZ espera receber 999.999.999 notas de cada serie, se pular a numeração você deverá inutilizar os números que não foram usados. Supondo que no final do ano a numeração chega a 900.000 para 999.999.999 são 999.099.999 números de notas que não serão mais enviadas da serie atual. Esses números deverão ser inutilizados. Como só podemos inutilizar uma faixa de 10.000 números sequenciais de cada vez o método Inutilizar deverá ser executado 99.910 vezes. Você acha isso correto? Imagina agora um supermercado com uma bateria de caixas composta por 30 PDVs. Se no final do ano mudar a série e iniciar uma nova contagem quanto tempo você acha que vai acabar as séries disponíveis? Apesar da serie ter 3 dígitos nos faz acreditar que vai de 001 até 999. Verdade, mas somente da 001 até 899 podemos usar para emitir as nossas notas, digamos normais, pois do 900 até 999 são de uso restrito. Se dividirmos 899 por 30 teremos 29,96 arredondando 30, ou seja daqui 30 anos as series se esgotariam. Você esta impondo um limite de vida de 30 anos para esse supermercado, isso é justo?1 ponto
-
Boa tarde. Nova versão do ACBrMonitorPlus disponível para download, por favor realize novos testes. Att.1 ponto
-
Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.1 ponto
-
Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.1 ponto
-
Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.1 ponto
-
1 ponto
-
Pode ser necessário atualizar o Sw.Básico desse equipamento... Veja esse tópico:1 ponto
-
Me parece que os pacotes do ExtratoSAT em Fortes não estão instalados corretamente... Abrindo "Project Inspector", você poderá ver quais Packages estão faltando1 ponto
-
Boa tarde Chaves, Acrescentando o que o Felipe já lhe orientou, por se tratar de um provedor que segue a versão 2 do layout da ABRASF a principio você só vai ter que acrescentar esse provedor na unit pnfsConversao.pas criar um arquivo INI para ele, acrescentar a cidade no arquivo Cidades.ini, criar uma pasta Schemas junto com as demais e dentro desta pasta colocar os Schemas (arquivos XSD) usados por esse provedor. Como os provedores que seguem a ABRASF, tem o costume de mudar alguma coisa, talvez seja necessário alterar mais alguns unit do componente.1 ponto
-
Adilson, O componente ACBrNFSe se utiliza de dois arquivos INI. Um é o Cidades.ini e o outro é do provedor, por exemplo: Virtual.ini Ao configurar o componente é informado o código IBGE da cidade. O componente procura no arquivo Cidades.ini a seção que tem esse código, desta forma ele encontra o provedor que atende essa cidade. Feito isso o componente carrega todas as informações do arquivo INI do provedor em questão para finalizar a sua configuração.1 ponto
-
Legal a iniciativa pessoal.... não deixem de vir... Será ótimo conhece-los...1 ponto
-
Sim fazemos assim também (XML e Infos Complementares), mas e no corpo da nota (digo no DANFE) as informações são impressas (ICMS). É disto que trata esta norma para empresas do Simples Nacional, ou seja não pode ser impresso nos campos mas precisa aparece no XML e nas Infcomplemnetar. (segundo um contador esta nos passando).1 ponto
-
Bom dia, O emitente dessa nota é de qual UF? Veja bem, quando emitimos uma nota, esta é enviada para a SEFAZ-Autorizadora e não para o Ambiente Nacional a não ser que a UF do emitente seja MA ou PA. Favor anexar o XML de pedido de cancelamento bem como o seu retorno que foi gerado pelo e salvo pelo ACBrMonitor.1 ponto
-
Não tem como. O tipo código "Interleaved" codifica pares de números, e por isso não pode gerar códigos com numeração ímpar. Veja essas informações: https://www.barcodefaq.com/1d/interleaved-2of5/ https://en.wikipedia.org/wiki/Interleaved_2_of_51 ponto
-
1 ponto
-
Bom dia Anderson, Aqui colocamos no xml e nos dados adicionais da NF-e. Assim como alguns contadores nos solicitaram1 ponto
-
Bom dia Paulo, A minha sugestão é que você tenha todos os fontes (inclusive os Schemas) atualizados. Hoje o grupo <infRespTec> é opcional, mas futuramente poderá ser obrigatório, isso vai depender de cada UF. Eu já deixaria tudo preparado, inclusive o banco de dados com as informações do Responsável Técnico. Pois se amanhã a UF do seu cliente exigir esse grupo basta você mudar uma configuração na sua aplicação e pronto ela passa as informações e o grupo é gerado no XML.1 ponto