Ir para conteúdo
  • Cadastre-se

EvertonEVN035

Membros
  • Total de ítens

    24
  • Registro em

  • Última visita

Tudo que EvertonEVN035 postou

  1. boa tarde ítalo, o teste realizado foi apenas nas URLs do município em questão a qual continua com o mesmo provedor e versão tendo apenas realizado a troca da hospedagem do servidor da NFS-e, por fim adicionei a data do teste com o provedor Pronimv2 que o município utiliza: Pronim v2.02 17/08/2022 Provedores-Implementados.txt
  2. Teste realizado os links estão funcionando, muito obrigado Italo
  3. boa tarde, Realizei algumas alterações na unit: ACBrTEFDCliDTEF.pas para retorno dos seguintes dados: Código da Bandeira Padrão na posição 75 dos dados estendidos; Código de Autorização da Transação na posição 147 dos dados; Valor do Desconto na posição 51 dos dados estendidos. As alterações realizadas na função MontaArquivoResposta aonde carrega da DLL do DTEF e também ConteudoToProperty que monta o objeto de resposta, segue em anexo o fonte com as alterações. ACBrTEFDCliDTEF.pas
  4. Olá, Município de Coronel Vivida-PR trocou o endereço do webservice da NFS-e, continua sendo o mesmo provedor apenas alterado para novo endereço, segue os links para realizar a substituição no ACBrNFSeServicos.ini Antigo: ProRecepcionar=http://www.nfse.coronelvivida.pr.gov.br:8087/nfse.portal.integracao/services.svc HomRecepcionar=http://www.nfse.coronelvivida.pr.gov.br:8087/nfse.portal.integracao.teste/services.svc Novo: ProRecepcionar=http://coronelvivida.govbr.cloud/nfse.portal.integracao/services.svc HomRecepcionar=http://coronelvivida.govbr.cloud/nfse.portal.integracao.teste/services.svc
  5. Realizado a atualização dos fontes e também realizado os testes para o servidor EQUIPLANO, problema solucionado, muito obrigado e parabéns pela agilidade.
  6. Boa Noite, Ao realizar a emissão de uma NFS-e usando ACBrNFSeX para o município de Realeza o qual utiliza Equiplano está ocorrendo uma violação de acesso na unit: Equiplano.Provider.pas nas funções: TACBrNFSeProviderEquiplano.TratarRetornoConsultaSituacao TAG: <nrLoteRps> e <stLote> usando AuxNode aonde deveria usar oNode e TACBrNFSeProviderEquiplano.TratarRetornoConsultaLoteRps TAG: <nrProtocolo> estavam utilizando o objeto AuxNode aonde deveria usar Document.Root; e na função TACBrNFSeProviderEquiplano.TratarRetornoConsultaNFSeporRps removido o WITH Response; segue em anexo unit alteradaEquiplano.Provider.pas
  7. ACBrNFSeXLerXml_ABRASFv2.pas Este é o arquivo que alterei aqui, mas já fiz UPDATE e realizei os testes aqui, já funcionou perfeito, já vi também que foi incluído a cidade de Sulina também no arquivo ini, Show de bola Ítalo, parabéns pela agilidade
  8. bom dia, Realizando alguns testes de emissão da NFS-e foi encontrado um erro ao a TAG confirmação do XML LerConfirmacao(const ANode: TACBrXmlNode), adicionado validação para não gerar erro seguindo em anexo arquivo com a correção. ACBrNFSeXLerXml_ABRASFv2.pas Obs.: Não consegui realizar testes em outras rotinas pois ainda não implementei no sistema.
  9. bom dia Dercide, Ao efetuar a leitura do retorno ao alimentar o nosso número está entrando na função CalcularTamMaximoNossoNumero(), evento esse disparado na função LerRetorno240() onde preenche o nosso número formatado, nesse momento ainda não carregou a conta e acaba por gerar a exception da imagem 1 para resolver o meu problema efetuei as alterações de acordo com a imagem 3. o detalhe é que o retorno que utilizo é CNAB240.
  10. obrigado.. já efetuei a criação de um novo tópico..
  11. Bom dia, estou em ambiente de testes para a AILOS ou CECRED e pra funcionar o retorno foi necessário uma alteração no fonte: ACBrBancoCecred.pas função LerRetorno240() adicionando também a leitura do número da conta, gostaria de saber se seria possível a implementação dessa alteração para o banco em específico. Segue em anexo código fonte alterado para análise. ACBrBancoCecred.pas
  12. Boa noite, não sei se posso postar aqui mesmo ou será necessário a abertura de um novo tópico para esse banco em específico mas lá vai... estou em ambiente de testes para a AILOS ou CECRED e pra funcionar o retorno foi necessário uma alteração no fonte: ACBrBancoCecred.pas função LerRetorno240() adicionando também a leitura do número da conta, gostaria de saber se seria possível a implementação dessa alteração para o banco em específico. Segue em anexo código fonte alterado para análise. Atenciosamente Everton Neres ACBrBancoCecred.pas
  13. Boa noite, meu cliente utilizou esta rotina e acabou por gerar erro novamente, de momento efetuei uma validação para quando enviar NIHIL não executar a função ValidaDIDSI, ou seja resultando True na função. Outra situação é a DI que na Aduana quando importa o XML para a validação o dígito verificador é calculado com o primeiro digito, ou seja se informar 21600xxx-y vai ocorrer falha sendo necessário informar apenas 1600xxx-y sem o primeiro dígito no XML, também efetuei o ajuste para enviar para o XML somente o número da DI sem o primeiro dígito. Também tive problemas com o nRE que em uma situação específica pode ser ZERO, aonde o número será gerado posteriormente na Aduana, assim também validei para enviar ZERO quando for o CFOP específico.
  14. Boa tarde, o correto é sim esta validação utilizando o "OR", também ajustei para que quando não existir nRE, para que seja criada a TAG "<nRE>" com valor ZERO, caso contrário a validação dos XSDs reprovam o mesmo.
  15. Bom dia Daniel, desculpe a demora, No trunck2 esta alteração deve ser efetuado na unit pcnNFeW.pas na linha 886 procedure TNFeW.GerarDetProddetExport(const i: Integer); a qual está da seguinte forma: Trunck2 if nfe.Det.Prod.detExport[j].nRE <> '' then begin Gerador.wGrupo('exportInd', 'I52'); Gerador.wCampo(tcStr, 'I53', 'nRE ', 12, 12, 1, nfe.Det.Prod.detExport[j].nRE, DSC_NRE); if not ValidaRE(nfe.Det.Prod.detExport[j].nRE) then Gerador.wAlerta('I53', 'nRE', DSC_NRE, ERR_MSG_INVALIDO); .... Ajuste if (nfe.Det.Prod.detExport[j].nRE <> '')or(nfe.Det.Prod.detExport[j].chNFe <> '') then // Ajustado para gerar TAG também quando existir NF-e Referênciada begin Gerador.wGrupo('exportInd', 'I52'); Gerador.wCampo(tcStr, 'I53', 'nRE ', 12, 12, 0, nfe.Det.Prod.detExport[j].nRE, DSC_NRE); if (nfe.Det.Prod.detExport[j].nRE <> '') and (not DFeUtil.ValidaRE(nfe.Det.Prod.detExport[j].nRE)) then Gerador.wAlerta('I53', 'nRE', DSC_NRE, ERR_MSG_INVALIDO);.... Qualquer dúvida estou a disposição, obrigado!
  16. Bom dia, Quando envio nota com este grupo está ocorrendo o erro "Element IPI: is unexpected according to content model of parent element", ajustei no sistema para que não seja gerado este grupo, em uma exploração rápido dos componentes ACBr, identifiquei que esta alteração poderia ser útil para contribuir com o desenvolvimento do mesmo. Obs: Sincronizei o trunk2 a pouco tempo, ainda não liberei para produção, a estratégia da empresa onde trabalho é efetuar testes exaustivos antes de liberar.
  17. Ao gerar uma nota de importação com dispensa da emissão da DI, DSI ou outro documento controlado pela RFB deve ser gerada a TAG <nDI> com a descrição NIHIL, porém ao informar este valor o ACBr acaba por não permitir gerando exceção. Também na mesma função está ocorrendo erro ao validar o número da DI, a validação executada pelo módulo 11 está sendo efetuada com o carácter de identificação (2=DI ou 4=DSI), porém na aduana o cálculo é realizado sem o mesmo, para resolver os problemas identificados foram efetuados as seguintes alterações: unit ACBrDFeUtil.pas Repositório: class function DFeUtil.ValidaDIDSI(AValue: string): Boolean; var ano: Integer; sValue: String; begin // AValue = TAANNNNNNND // Onde: T Identifica o tipo de documento ( 2 = DI e 4 = DSI ) // AA Ano corrente da geração do documento // NNNNNNN Número sequencial dentro do Ano ( 7 ou 8 dígitos ) // D Dígito Verificador, Módulo 11, Pesos de 2 a 9 AValue := LimpaNumero(AValue); ano := StrToInt(Copy(IntToStr(YearOf(Date)), 3, 2)); if (length(AValue) < 11) or (length(AValue) > 12) then Result := False else if (copy(Avalue, 1, 1) <> '2') and (copy(Avalue, 1, 1) <> '4') then Result := False else if not ((StrToInt(copy(Avalue, 2, 2)) >= ano -1) and (StrToInt(copy(Avalue, 2, 2)) <= ano +1)) then Result := False else begin sValue := copy(AValue, 1, length(AValue)- 1); Result := copy(AValue, length(AValue), 1) = Modulo11(sValue); end; end; Ajuste: class function DFeUtil.ValidaDIDSI(AValue: string): Boolean; var ano: Integer; sValue: String; begin // AValue = TAANNNNNNND // Onde: T Identifica o tipo de documento ( 2 = DI e 4 = DSI ) // AA Ano corrente da geração do documento // NNNNNNN Número sequencial dentro do Ano ( 7 ou 8 dígitos ) // D Dígito Verificador, Módulo 11, Pesos de 2 a 9 { Validação conforme orientação (Orientacao_da_NF-e_versao_2015.pdf) esta trata-se da dispensa da emissão da DI, DSI ou outro documento controlado pela RFB } if (UpperCase(AValue) = 'NIHIL') then Result := True else begin AValue := LimpaNumero(AValue); ano := StrToInt(Copy(IntToStr(YearOf(Date)), 3, 2)); if (length(AValue) < 11) or (length(AValue) > 12) then Result := False else if (copy(Avalue, 1, 1) <> '2') and (copy(Avalue, 1, 1) <> '4') then Result := False else if not ((StrToInt(copy(Avalue, 2, 2)) >= ano -1) and (StrToInt(copy(Avalue, 2, 2)) <= ano +1)) then Result := False else begin {Alterado para não calcular o módulo 11 com o dígito identificador do tipo de documento, pois a aduana não calcula com este o dígito verificador} sValue := copy(AValue, 2, length(AValue)- 1); Result := copy(AValue, length(AValue), 1) = Modulo11(sValue); end; end; end; Caso alguém tenha passado pelo mesmo problema e puder informar uma possível solução para contribuir com os ajustes e se possível gostaria que fosse ajustado no ACBR. Orientacao_da_NF-e_versao_2015.pdf ACBrDFeUtil.pas
  18. Ao informar um serviço e suas respectivas informações, está gerando o grupo de IPI para o serviço, ajustado para que não seja gerado este grupo, pois serviços não geram IPI: unit pcnNFeW.pas Repositório: procedure TNFeW.GerarDetImposto(const i: Integer); if (( NFe.Det.Imposto.ISSQN.cSitTrib <> ISSQNcSitTribVazio ) or (( NFe.infNFe.Versao > 3 ) and ( nfe.Det.Imposto.ISSQN.cListServ <> '' ))) then begin if NFe.infNFe.Versao >= 3 then (**)GerarDetImpostoIPI(i); (**)GerarDetImpostoISSQN(i); end Ajuste: if (( NFe.Det.Imposto.ISSQN.cSitTrib <> ISSQNcSitTribVazio ) or (( NFe.infNFe.Versao > 3 ) and ( nfe.Det.Imposto.ISSQN.cListServ <> '' ))) then begin (**)GerarDetImpostoISSQN(i); end Caso alguém tenha passado pelo mesmo problema e puder informar uma possível solução para contribuir com os ajustes e se possível gostaria que fosse ajustado no ACBr. pcnNFeW.pas
  19. Quando informado o CFOP DE EXPORTAÇÃO 7501, o grupo <exportInd> (Exportação Indireta) deve ser gerado, porém o usuário pode informar apenas a chave da NF-e referênciada sem informar a nRE, dessa forma o ACBr não gera a TAG pois a validação não permite, para resolver o problema efetuei o seguinte ajuste: Manual: NT2013.005_Exportação_CFOP-7501.pdf unit pcnNFeW.pas Repositório: procedure TNFeW.GerarDetProddetExport(const i: Integer); if nfe.Det.Prod.detExport[j].nRE <> '' then begin Gerador.wGrupo('exportInd', 'I52'); Ajuste: procedure TNFeW.GerarDetProddetExport(const i: Integer); if (nfe.Det.Prod.detExport[j].nRE <> '')or(nfe.Det.Prod.detExport[j].chNFe <> '') then begin Gerador.wGrupo('exportInd', 'I52'); Caso alguém tenha passado pelo mesmo problema e puder contribuir com uma possível solução, também gostaria se possível ser executado estas alterações no ACBr. Att pcnNFeW.pas NT2013.005_Exportação_CFOP-7501.pdf
  20. Boa tarde, O problema ocorre quando é instalado módulo de segurança da empresa GAS, o mesmo é utilizado por alguns bancos, o qual é solicitado a instalação no momento em que o usuário efetua o login, estamos verificando esta situação, não ocorre somente com aplicações delphi, existem situações que o mesmo também ocorre com o VB, este módulo entra em execução quando o navegador está aberto, por isso que em algumas situações acontecem e outras não..
  21. Boa tarde, tive o mesmo problema com este mesmo campo e com outros referentes as decimais. Para mim conseguir emitir as notas precisei alterar o fonte: Repositório: Gerador.wCampo(IIf(Usar_tcDe4,tcDe4,tcDe2), 'N19', 'pMVAST ', 01, IIf(Usar_tcDe4,07,05), 0, nfe.Det.Imposto.ICMS.pMVAST, DSC_PMVAST); Alterado: Gerador.wCampo(tcDe2, 'N19', 'pMVAST ', 01, 05, 0, nfe.Det.Imposto.ICMS.pMVAST, DSC_PMVAST);
  22. Bom dia Cintia_Maria, Seu percentual de diferimento está informado 100% <pDif>, porém a TAG <vICMSDif> está informado valor referente a 50% do valor de ICMS, ou seja, diferimento de 50%. Para resolver seu problema existem duas situações. 1 - seria informar a TAG <pDif>50.00</pDif> 2 - ou recalcular os valores novamente para 100% de diferimento, onde as TAGs ficariam dispostas da seguinte forma, <ICMS51> ... <vICMSDif>4039.20</vICMSDif> <vICMS>0.00</vICMS> ... </ICMS51> este cálculo também vai influenciar nas tags do total da nota, <total> ... <ICMSTot> <vBC>16830.00</vBC> <vICMS>0.00</vICMS> ... </ICMSTot> </total> pelo que entendi no seu post você terá que utilizar a segunda opção.
  23. Bom dia, Estou com um problema relacionado a nota fiscal de importação, a qual foi emitida e enviada, mas na validação efetuada pelo despachante Aduaneiro está reportando o seguinte erro, "Número da DI informado na nota fiscal eletrônica 21506853210 diferente da DI informada no processo:1506853210" Sei que o número 2 adicionado na frente do número da DI é para identificar se é DI ou DSI e que o dígito verificador também é calculado com o mesmo, já utilizo dessa forma há um bom tempo e ainda não tinha ocorrido nenhum problema referente, porém este erro repetiu em dois clientes, para resolver momentaneamente fiz uma pequena modificação na unit pcnNFeW.pas no procedimento GerarDetProdDI(const i: Integer) para não gerar o número 2 da DI apenas os números restantes no XML, permanecendo as validações anteriores ao processo, gostaria de saber se alguém passou por esse problema, também se o que fiz é o correto ou se a validação da Aduana está incorreta, aparentemente isso pode ser uma nova validação da NFe 3.10, mas não tenho certeza disso. Att;
×
×
  • 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.