Painel de líderes
Conteúdo popular
Showing content with the highest reputation on 29-10-2018 em Posts
-
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
-
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
-
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
-
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
-
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
-
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
-
Bom dia. Entendi sim @Italo Jurisato Junior Não tinha me atendado que dentro do FConsSitLoteRPS.Executar tinha o mesmo sleep. Com isso essa situação da qual abri esse tópico está resolvida, Solução: atribuir a propriedade de configuração AguardarConsultaRet com um valor maior que 40000 quando for WEBISS 1.00 Com isso um outro erro passou a surgir: Valor do ISS nao corresponde a aliquota multiplicada pela base de calculo. Verifique se os valores estao corretos Isso acontece pq estou passando a tag <Aliquota>5.0000</Aliquota> assim como o demo do ACBr faz e como fazemos em outras cidades tbm, se eu mudar para <Aliquota>0.0500</Aliquota> o WEBIss aceita e retorna tudo certo, porém esse não parece ser o padrão da ABRASF. Testei com outros valores de alíquota suportado mas o erro é o mesmo, precisando fazer a divisão por 100 pra dar certo. Mandei uma msg pro suporte da WEBIss mas ainda não responderam, mas para esse problema abro um novo tópico. Muito obrigado pela atenção e a ajuda.1 ponto
-
Bom dia, leosilvacosta. Veja o tópico abaixo, talvez possa te ajudar: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
-
Bom dia. Esta informação se encontra no manual do ACBrMonitor https://acbr.sourceforge.io/ACBrMonitor/ComocompilaroACBrMonitor.html Att.1 ponto
-
Bom dia Adicionado para análise, obrigado!1 ponto
-
Olá Pessoal, Até que enfim consegui compilar e gerar o ACBrMonitor.exe, foi gerado na pasta C:\FontesACBr\trunk2\Projetos\ACBrMonitorPLUS\Lazarus. Gostaria de saber como gerar o instalador ?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
-
Bom dia Verifique e acompanhe este tópico com novidades sobre os componentes de impressão.... Att Ricardo1 ponto
-
Bom dia Vc NÃO deve gerar novo xml para enviar uma nfce emitida em contingencia, deve enviar o mesmo xml gerado e salvo no ato da venda e impressão... Vc viu que o campo tpEmis faz parte da chave de acesso ? 1=normal e 9=contingencia offline Outra recomendação é ler este manual que trata da emissãoem contingencia... Att Ricardo1 ponto
-
Bom dia Tente copiar o arquivo ACBrNFeServicos.ini atualizado para a pasta do teu projeto. Att Ricardo1 ponto
-
Italo para mim seriam esses vou pastar aqui todos os arquivos do processo desculpa ai. Estão ai 1885292780-pro-rec.xml 1885292780-pro-rec-soap.xml tmp_060205-gnre.txt 1885292780-ped-rec.xml 1885292780-ped-rec-soap.xml1 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
-
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
-
Willian, Ao Consultar a Situação do Lote (lembrando que esse serviço só existe nos provedores que seguem a versão 1 do layout da ABRASF) temos como resposta: 1 - Lote não enviado 2 - Lote em processamento 3 - Lote processado com falhas 4 - Lote processado com sucesso A principio para fazer essa consulta devemos informar obrigatoriamente o numero do protocolo e opcionalmente o numero do lote que foi enviado. A minha sugestão é que o numero do lote seja sempre um numero sequencial controlado pela sua aplicação. Após o envio do lote é retornado o numero do protocolo, como dito anteriormente será utilizado para realizar a consulta a situação do lote.1 ponto
-
Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo 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
-
Buenas... Pelo que analisei a passagem de ônibus (ida e volta) está na faixa de R$ 250,00. Distância de 400 km +- daria uns R$ 300,00 de combustível, ou seja, pouco mais de uma passagem. Não sei quanto tem de pedágio, mas creio que não seja muito. Isso sem contar que de ônibus demora bem mais. Ainda tem a questão dos horários que ficamos condicionados aos do ônibus. Mas tranquilo...Qualquer coisa me avise. Já deixei meu fone aí no post. Obrigado.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 Anderson, Aqui colocamos no xml e nos dados adicionais da NF-e. Assim como alguns contadores nos solicitaram1 ponto
-
Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.1 ponto
-
Rafael, Obrigado pela dica! Mas consegui resolver meu problema, espero que no futuro essas informações esclareçam o problema de outros... Tomando como exemplo (RETORNO.TXT) O ACBr Monitor gera um arquivo com o nome RETORNO.TMP e após escrever o arquivo ele renomeia para RETORNO.TXT resolvi meu problema fazendo os seguintes procedimentos: 1 - Preencho o NOTA.INI 2 - Preencho o COMANDO.TXT [ NFe.CriarEnviarNFe("C:\ACBrMonitorPlus\NOTA.ini",1,1) ] [Nesse momento que acontece a criação do RETORNO.TMP e posterior renomeio para RETORNO.TXT] 3 - Crio uma function com FileSystemWatcher do VB.net (recurso presente em outras linguagens também) e com o mesmo faço o monitoramento dos processos RENAMED. Quando um arquivo é renomeado para RETORNO.TXT dentro do diretório então chamo minha função para LER o txt e tomar a decisão final do que fazer com o retorno do sefaz! Se quiserem o código fonte em VB.net disponibilizo com praqzer... só chamar!1 ponto
-
1 ponto
-
Bom dia, como dica deixo oque foi feito em alguns clientes específicos: fazer as atualizações do Windows, instalar o .Net Framework 4.7.1, e o ie 11. E para o cancelamento em especifico estamos utilizando o SSLType = LT_all , sem problemas.1 ponto
-
Então, eu apenas usei o código ACBrNFe1.DistribuicaoDFePorUltNSU(UF,CNPJ,'') ; Depois os arquivos xmls resumidos são salvos em uma pasta que eu defini. Agora eu queria visualizar essa nota, se teria como, vou mandar o XML que foi baixado. 35181003180843000105550010000016611000016610-resNFe.xml1 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
