Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 22-10-2020 em todas as áreas

  1. Olá pessoal, Para quem ainda não sabe estou promovendo um Refactoring no componente ACBrNFSe. Ele praticamente foi reescrito do zero e infelizmente teremos algumas quebras de código quando ele for liberado. Mas vamos falar de coisas boas. Hoje temos que disponibilizar para os nossos clientes além do executável, DLLs, os famosos arquivos INI, o arquivo Cidades.ini e os arquivos INI dos provedores. Pois bem, isso acabou. Os arquivos INI referente aos provedores se transformaram em Unit, ou seja, fazem parte do fonte do componente. O conteúdo do arquivo Cidades.ini migrou para o arquivo ACBrNFSeServicos.ini que é transformando no ACBrNFSeServicos.res através do BAT: Compila_RES. O arquivo ACBrNFSeServicos.res é incorporado ao executável, logo vocês só vão precisar distribuir o executável e as DLLs para os seus clientes. O que vocês acharam dessa mudança? Ainda não esta 100%, em função das diferenças dos provedores, mas criei um novo método chamado Emitir que tem por finalidade gerar o XML do RPS, assinar se necessário, gerar o Lote e assinar se necessário, enviar, aguardar o retorno do XML da NFSe. Independente do serviço que o provedor se utiliza para recepcionar o XML do RPS. Vou dar um exemplo: O provedor 4R que segue a versão 2 do layout da ABRASF implementou somente o método EnviarLoteRpsSincrono para recepcionar o RPS, sendo que no Manual da ABRASF versão 2 estão previstos os métodos: EnviarLoteRps, EnviarLoteRpsSincrono e GerarNfse. Por outro lado o provedor ISSJoinville que também segue a versão 2 do layout da ABRASF implementou somente o método EnviarLoteRps. Se vocês tem clientes cujas cidades utilizam o provedor 4R e tem clientes em Joinville, ou vocês tem duas aplicações ou a aplicação tem uma tela de configuração para definir qual método a ser utilizado. O método Emitir vem para tentar resolver esse problema da seguinte forma: se o provedor for 4R ele vai se utilizar do método EnviarLoteRpsSincrono automaticamente, agora se for ISSJoinville vai usar o EnviarLoteRps. Desta forma não precisamos de nos preocuparmos com qual o método devemos usar para enviar o RPS para o webservice. Acredito que vai ficar muito bom e pratico. O que vocês acham? Muita coisa já foi feita e muito mais precisa ser feito. Para que vocês tenham uma ideia foi criado 32 Units, ou seja, uma para cada provedor que segue a versão 1 do layout da ABRASF, mais 53 Units para os provedores que seguem a versão 2 do layout da ABRASF e mais 19 Units para os provedores que tem o seu próprio layout. Até o final deste mês de outubro estarei disponibilizando o programa exemplo compilado para que vocês possam fazer mais testes. Em breve vou explicar como vão ser os testes e como reportar os resultados. Antes que eu esqueça, esse Refactoring visa poder incluir a emissão da NFS-e no ACBrMonitor Plus e a criação do ACBrLibNFSe (DLL). Um forte abraço a todos.
    4 pontos
  2. Boa Tarde, Acabei de testar a nova versão que o @Daniel Simoes colocou no site e verifiquei que o problema foi resolvido obrigado mais uma vez a Equipe ACBr
    3 pontos
  3. Parece ser algo relacionado a Impressora PDF... eu realmente recomendo que você não use o método "CriarEnviarNFe".. use métodos separados: Apesar dele facilitar as coisas, se você tiver um erro, em qualquer fase da geração ou impressão, você receberá a resposta de Erro... e nesse caso, o XML já foi gerado... https://acbr.sourceforge.io/ACBrMonitor/NFECriarNFe.html https://acbr.sourceforge.io/ACBrMonitor/NFEEnviarNFe.html https://acbr.sourceforge.io/ACBrMonitor/NFEImprimirDanfe.html
    2 pontos
  4. Pessoal já esta disponivel a versão das biblioteca ACBr com suporte a carregamento das configurações em memoria. Com esta versão é possivel usar as configurações apenas na memoria sem a necessidade de arquivo físico junto da biblioteca. Para utilizar a configuração em memoria basta passar como primeiro parâmetro do metodo inicia o seguinte valor "[Memory]" ou passando o conteúdo do arquivo ini. Pros Arquivo carregado na memoria sem necessidade de arquivo físico. As configurações ficam na memoria sendo possivel alterar elas apenas pela lib. Contras A configuração fica apenas na memoria. Você fica encarregado de pegar a configuração e salvar a mesma. Com isso também foi adicionado 2 novos métodos para fazer importação e exportação das configurações. Ex.: https://acbr.sourceforge.io/ACBrLib/NFE_ConfigImportar.html https://acbr.sourceforge.io/ACBrLib/NFE_ConfigExportar.html Estes métodos foram adicionados nas classes que o projeto disponibiliza. Ainda temos mais modificações para atender melhor vocês, fiquem ligados nas próximas novidades da ACBrLib.
    1 ponto
  5. Boa tarde Léo, Muito obrigado pela colaboração, vou incluir na minha lista de tarefas.
    1 ponto
  6. Boa tarde Alexandre, No arquivo Cidades.ini temos o seguinte: [3101607] Nome=Alfenas UF=MG Provedor=Betha Imagem do programa exemplo com a cidade selecionada:
    1 ponto
  7. Boa tarde Brito, No programa exemplo tem um campo que você ativa para salvar os arquivos Soap. Faça isso, repita os testes e anexa os arquivos "*-soap.xml"
    1 ponto
  8. Sim. a contigência da NFC-e não funciona em SC, ela deve de ser feita pelo Paf-ECF. lembrando que a liberação da NFC-e não é do desenvolvedor nem do cliente e sim do sefaz, eles é quem dizem se pode não emitir , o cliente solicita e eles vão dizer sim ou não
    1 ponto
  9. Heptas, Já alterei o arquivo Cidades.ini e enviei para o repositório. Muito obrigado pela colaboração. Não se faz necessário alterar o fonte do componente.
    1 ponto
  10. Uma teoria, o suporte dos caras me disseram que eu não tenho ambiente de homologação e eque eu preciso solicitar essa liberação, será que se ativar esse ambiente, o de produção acaba por funcionar também? Hahahaha
    1 ponto
  11. obrigado @heptas, no meu fiz a alteração para o SimplISSv2 e deu como município não encontrado, alterei o Cidades.ini, deve ser porque o sistema aqui é antigo e não deixam atualizar o Acbr. Vou ter que descobrir como fazer essas alterações.
    1 ponto
  12. Boa tarde, Essas alterações foram feitas na rotina que alimenta o componente com os dados da nota, correto? E o arquivo Cidades.ini como que ficou? Anexa ele aqui.
    1 ponto
  13. Consegui enviar uma NFSe, porém não apareceu no portal de homologação [3304904] Nome=Sao Goncalo UF=RJ Provedor=SimplISSv2 NomeURL_H=homologacaoabrasf NomeURL_P=saogoncalo
    1 ponto
  14. Bom dia Camilo, Quanto você enviou a nota cuja chave é: 15201019152664000102550010000000051391666649 a mesma foi rejeitada acusando que ela já existe mas a chave é diferente. Essa nota é a nota de numero 5 o que esta com diferença é o código da nota que essa é 39166664 e a que foi enviada anteriormente e foi autorizada possui um outro código. O erro esta no seu sistema que deveria gerar o código da nota de forma aleatória e salvar no banco de dados juntamente com os demais dados da nota. E ao gerar o arquivo TXT ler os dados da nota e consequente atribuir o código da nota (salvo no banco de dados) ao campo cNF. Isso evita que você tenha a rejeição de duplicidade com diferença na chave. Outra erro que existe na sua aplicação é permitir que o usuário envie a mesma nota mais de uma vez. Essa possibilidade só pode estar disponível caso ocorra erro de validação, ou seja, existem informações que não foram validadas pelos schemas e logo a nota nem sequer foi enviada para a SEFAZ. Nesse caso deve-se fazer as devidas correções, gerar novamente o XML, validar e enviar caso esteja tudo OK. Outra possibilidade de enviar novamente a nota é quando ela é enviada e a SEFAZ a rejeita por conter dados errados, por exemplo foi informado o CNPJ da matriz e a IE da filial. Nesse caso deve-se fazer as devidas correções, gerar novamente o XML, validar e enviar para a SEFAZ. Caso ocorra erro de internet como por exemplo timeout, jamais devemos enviar novamente a nota, pelo simples fato de você não saber se o erro ocorreu no envio ou no retorno do protocolo. Cabe nessa situação, carregar o XML da nota que foi enviada e realizar uma consulta. Se o erro ocorreu no retorno e a nota foi processada com sucesso o XML será atualizado com o numero do protocolo e consequentemente você pode imprimir do DANFE e segue a vida. Agora se o erro ocorreu no envio, a SEFAZ vai retornar a mensagem que a nota não consta na base de dados, ai sim você envia novamente. Dica importante: Não ative a opção para Salvar Apenas as NFe Processadas. Isso é dar um tiro no pé, pois se ocorrer um erro de internet você não vai ter o XML assinado para carregar e fazer a consulta.
    1 ponto
  15. 1 ponto
  16. Bom dia Edmar, O Evento de Comprovante de Entrega foi criado para a transportadora, no seu caso não é uma transportadora, logo não tem como enviar esse evento. Não me recordo onde eu li, mas existe a intensão de criar o Evento de Comprovante de Entrega para as empresas que vendem e realizam a entrega da mercadoria. Acredito que isso não vai demorar muito, pois já existe os Schemas de validação para os eventos de Comprovante de Entrega e o de Cancelamento do Comprovante de Entrega. Vamos aguardar.
    1 ponto
  17. Sim emissão igual contigência somente Paf-ECF . mas é o Fisco quem vai liberar quem pode usar mas continua precisando ter o Paf-ECF com contigência
    1 ponto
  18. Bom dia Willian, Existem casos não necessariamente a alíquota e sim outro tipo de informação que para uma determinada cidade deve-se informar de uma forma e para outra de outra forma. Neste caso na rotina que gera o XML além de filtrar por provedor tem que filtrar por cidade. Isso para mim é uma aberração, um provedor que não consegue estabelecer um padrão para todas as cidades que ele atende. Bom, acredito que o caso da alíquota esta resolvido, vou fechar esse tópico, para novas duvidas favor criar um novo tópico.
    1 ponto
  19. Talvez seja necessário excluir anexos antigos... https://www.projetoacbr.com.br/forum/attachments/
    1 ponto
  20. Metendo minha colher de pau no angu alheio, descobri este grid https://www.steema.com/product/gridvcl que me parece bem interessante. Apesar do link dar a entender que é um produto para VCL, não é este o caso. Cheguei a testá-lo rapidamente alguns meses atrás mas, pra variar, não progredi muito por razões várias. O grid da DevExpress ainda está em um estágio muito rudimentar, estou usando em um projeto "bacalhau", tosco, então quebra o galho. Mas, de forma alguma, justifica o investimento necessário pois o acesso a ele requer o desembolso mínimo de US$ 999,99. O string grid da TMS não dá suporte a Live Bindings, apenas o live grid o faz, abrindo mão dos recursos mais atraentes presentes no string grid. -- Carlos Tré
    1 ponto
  21. Olá pessoal, 19/10/2020 Implantada NT 2020.002 - BPe TM em Homologação Comunicamos que o Bilhete de Passagem para Transporte Metropolitano encontra-se implantado no ambiente de homologação da SVRS.
    1 ponto
  22. Pessoal já esta disponivel a versão das biblioteca ACBr com suporte a multithread. Inicialmente as dll da ACBrLib foram planejadas para serem simples e de facil uso, mas com o passar do tempo foi percebido que alguns usuário precisavam de algum suporte extra, principalmente para que quer usar as lib para API web. Por isso fizemos esta versão nova das bibliotecas visando atender melhor este tipo de ambiente, com este lançamento já possivel usar as bibliotecas em ambientes multithreads ou se necessario ter 2 instancias da lib com configurações distintas. As vantagens e desvantagens você ve abaixo. Pros Múltiplas instancias da lib, pode ter 2 libs carregada simultaneamente com configurações diferentes. Pode ser usada em thread separada da principal, facilitando assim seu uso em serviços. Contras Precisa que seja usado um ponteiro para controlar a instancia da lib Precisa sempre passar o ponteiro da instancia para executar um metodo. Não iremos descontinuar a versão single thread que já usa assim e te atende bem pode continuar usando, agora quem precisa de multithread pode agora utilizar esta nova versão. Para quem baixa do site basta usar as dll que estão na pasta MT e atualizar sua classe com os novos parâmetros ou se usar as classes disponibilizadas pelo projeto basta atualizar elas para sua variante MT. Para quem compila dos fontes vai ver que tem novos modos de compilação terminados com MT basta compilar com este modo. É recomendado a uso na lib com MT caso você tenha as seguintes necessidades. Precisa imprimir de forma simultanea o pedido na cozinha e no balcão. Tem uma API concentrada de envio de NFe e/ou Boleto que usa varias empresas e de forma simultâneas. Exemplo de alteração das chamadas para usar a versão MT. Os demos também foram atualizados para funcionar com a versão multithread basta utilizar os demos com MT no nome Ainda temos mais modificações para atender melhor vocês, fiquem ligados nas próximas novidades da ACBrLib.
    1 ponto
  23. Boa tarde Pessoal, Começei a ter problemas na validação dos CTe's e não estou conseguindo resolver sozinho. O erro esta ocorrendo em uma validação do arquivo ACBrCTeConhecimentos, mais precisamente na chamada da função SSL.Validar na linha 411: CTeEhValido := SSL.Validar(AXML, GerarNomeArqSchema(ALayout, FCTe.infCTe.Versao), Erro); O erro retornado é o seguinte: Falha na validação dos dados do Conhecimento: 40 Element '{http://www.portalfiscal.inf.br/cte}infCTeSupl' is unexpected according to content model of parent element '{http://www.portalfiscal.inf.br/cte}CTe'. Expecting: {http://www.w3.org/2000/09/xmldsig#}Signature. Ao verificar o XML enviado pela variável "AXML", verifiquei que realmente esta sendo colocado no XML um bloco que eu desconhecia, abaixo eu copie um fragmento do código onde aparece a tag infCTeSupl logo após o fechamento do infCTe e ante da parte de assinatura: </rodo> </infModal> </infCTeNorm> </infCte> <infCTeSupl> <qrCodCTe> <![CDATA[https://cte.fazenda.mg.gov.br/portalcte/sistema/qrcode.xhtml?chCTe=31191017033881000140570020000000401000007500&tpAmb=1]]> </qrCodCTe> </infCTeSupl> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> Alguém saberia me dizer como faço para evitar esse erro? Sei que possivelmente é esse bloco a mais que não esta deixando o XML ser validado mas eu não sei como ele começou a ser colocado e nem sei qual configuração devo mexer no código para ele não ser gerado. Antecipadamente agradeço a ajuda. Gabriel Lopes
    1 ponto
×
×
  • 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.