Ir para conteúdo
  • Cadastre-se

Jacson

Membros
  • Total de ítens

    20
  • Registro em

  • Última visita

Tudo que Jacson postou

  1. ao carregar uma dps padrão nacional sem as tags <toma> o acbr coloca o seguinte: <toma> <cNaoNIF>0</cNaoNIF> <xNome>Tomador Nao Identificado</xNome> </toma> sendo que na verdade se a tag nao existe nao deveria trazer razao social como tomador nao identificado... isso gera outros problemas como ao carregar um log de xml e tentar gerar ele pq coloca sozinho essas tags.....
  2. Jacson

    PROBLEMA COM CST IS

    favor mover pra acbrnfe, abri no local errado
  3. Jacson

    PROBLEMA COM CST IS

    recebi esse bloco dentro de uma nota de serviço, e na hora de importar ocorreu o erro <IS> <CSTIS>410</CSTIS> <cClassTribIS>410999</cClassTribIS> <vBCIS>0.00</vBCIS> <pIS>0.00</pIS> <uTrib>Kg</uTrib> <qTrib>50.0000</qTrib> <vIS>0.00</vIS> </IS> precisamos incluir cst 410 pois se o sefaz autorizou a emissão assim, ocorrerá novamente segue xml 1770639939438.xml 1770639939438.xml
  4. a principio, só cnpj em homologação a software house nao entra nesse processo
  5. Anexando PadraoNacional.LerXml.pas anexado
  6. isso, coloco padrão nacional pra cancelar e vai // Configura CNPJ da Prefeitura T2.ACBrNFSeX1.Configuracoes.Geral.CNPJPrefeitura := Nst(T2.qCfgaNse['NSE_CNPPRE']); // Configura provedor if Nst(T2.qCfgaNse['NSE_PROVED']) = 'proInfisc' then T2.ACBrNFSeX1.Configuracoes.Geral.Provedor := proPadraoNacional// nacional pra funcionar else if Nst(T2.qCfgaNse['NSE_PROVED']) = 'proAbaco' then T2.ACBrNFSeX1.Configuracoes.Geral.Provedor := proAbaco else if Nst(T2.qCfgaNse['NSE_PROVED']) = 'proPadraoNacional' then begin T2.ACBrNFSeX1.Configuracoes.Geral.Provedor := proPadraoNacional; T2.ACBrNFSeX1.Configuracoes.Geral.LayoutNFSe := lnfsPadraoNacionalv101; end else T2.ACBrNFSeX1.Configuracoes.Geral.Provedor := proPadraoNacional;
  7. essa linha existia em versão anterior da pasta fontes... NFSe.DataEmissao := ObterConteudo(AuxNode.Childrens.FindAnyNs('dhEmi'), tcDatHor); e foi trocada para dataemissaorps porem precisa alimentar as 2 variaveis, pq quem trabalha com multi provedores hora precisaria pegar uma variavel hora outra, isso é inviavel NFSe.DataEmissao := ObterConteudo(AuxNode.Childrens.FindAnyNs('dhEmi'), tcDatHor); no arquivo PadraoNacional.LerXml abaixo da linha 841
  8. voltei a pasta fontes pra uma anterior que eu tinha e funcionou... tem algo quebrado na ultima atuzalização
  9. para correção incluir linha NFSe.DataEmissao := ObterConteudo(AuxNode.Childrens.FindAnyNs('dhEmi'), tcDatHor); no arquivo PadraoNacional.LerXml abaixo da linha 841
  10. resolvido, utilizando padrão nacional pra cancelamento
  11. Jacson

    erro no loadfromfile

    ao carregar o loadfromfile... não carrega a data correta da nfse segue arquivo que carreguei o elemento data acessado em xAcbrnfsex.NotasFiscais[0].NFSe.DataEmissao acaba não trazendo a data de emissão real do arquivo e sim a data "1899" ou 0 como preferir chamar S100003313-nfe.xml
  12. Após atualizar o componente, percebi que sem alterar nada de código começou gerar tag quebrada no xml o componente ta gerando quebrado assim <regTrib> <opSimpNac>3</opSimpNac> <regApTribSN>1</regApTribSN> <regEspTrib/> <----- aqui falta fechar </regTrib> alguém tem uma dica? falta o regEspTrib o fechamento. Segue código com base no demo NotaAtual.verAplic := '1.00'; NotaAtual.tpEmit := tePrestador; NotaAtual.RegimeEspecialTributacao := retNenhum; case ivl(Trim(Nst(T2.qEmpresa['CRT']))) of 1, 2: begin NotaAtual.RegimeEspecialTributacao := retSimplesNacional; end; 3: begin NotaAtual.RegimeEspecialTributacao := retLucroReal; end; end; if NotaAtual.RegimeEspecialTributacao = retSimplesNacional then begin // if SameText(Trim(Nst(T2.qEmpresa['PORTE'])), 'MEI') // nao temos mei hoje // then NotaAtual.OptanteSN := osnOptanteMEI else NotaAtual.OptanteSN := osnOptanteMEEPP; end else NotaAtual.OptanteSN :S100003312-rps.xml= osnNaoOptante; o componente ta gerando quebrado assim <regTrib> <opSimpNac>3</opSimpNac> <regApTribSN>1</regApTribSN> <regEspTrib/> <----- aqui falta fechar </regTrib> alguém tem uma dica? falta o regEspTrib o fechamento. nao consegui editar o post original, segue bloco legível
  13. isso tem relação com o regime, se você seguiu o demo
  14. Claro! Usando aqueles urls, o retorno é o mesmo
  15. Em caxias do sul, não é possível emitir diretasmente em ambiente nacional. Preciso gerar no layout nacional e enviar a infisc o xml padrão nacional, eles aprovam e comunicam o ambiente nacional...
  16. Segue bloco do ini, a emissão já está ok e funcionando. Só falta o cancelamento. Bloco do ini. [4305108] Nome=Caxias do Sul UF=RS Provedor=Infisc ProRecepcionar=https://sefin.caxias.rs.gov.br/sefinnacional ProConsultarDFe=https://sefin.caxias.rs.gov.br/sefinnacional ProConsultarParam=https://adn.nfse.gov.br ProObterDANFSE=https://adn.nfse.gov.br ProLinkURL=https://www.nfse.gov.br/ConsultaPublica/?tpc=1&chave=%CodVerif% HomRecepcionar=https://sefinhomol.caxias.rs.gov.br/sefinnacional HomConsultarDFe=https://sefinhomol.caxias.rs.gov.br/sefinnacional HomConsultarParam=https://adn.producaorestrita.nfse.gov.br HomObterDANFSE=https://adn.producaorestrita.nfse.gov.br HomLinkURL=https://www.producaorestrita.nfse.gov.br/ConsultaPublica/?tpc=1&chave=%CodVerif%
  17. Caxias do sul - RS mesma coisa
  18. A principio não estou usado o TACBrXMLDocument. consegui resolver criando em separado e evento e adicionado ele posteriormente. procedure PrestacaoServicoDesacordoCTe(xObs, UFTomador, CNPJTomador, Chave : string); var iLote: Integer; obCteSefaz : TCteSefaz; novoEvento : TInfEvento ; begin novoEvento := TInfEvento.Create; novoEvento.cOrgao := UFtoCUF(UFTomador); novoEvento.chCTe := Chave; novoEvento.CNPJ := RemoverCaracteresEspeciais(CNPJTomador); novoEvento.dhEvento := now; novoEvento.tpEvento := tePrestDesacordo; novoEvento.detEvento.xOBS := xObs; obCteSefaz := TCteSefaz.Create; with obCTeSefaz do begin ACBrCTe.Conhecimentos.Clear; ACBrCTe.EventoCTe.Evento.Clear; ACBrCTe.EventoCTe.Evento.New.InfEvento := novoEvento; iLote := 1; // Numero do Lote do Evento ACBrCTe.EnviarEvento(iLote); ACBrCTe.Free; end; obCTeSefaz.Free; end; Parece que o ADD faz algum tipo de validação e acabava por "eliminar" o conteúdo. Ou não esta sendo passado ao adicionar... Não achei isso no código, apenas especulação. De qualquer forma, fica essa solução temporária, parece gambiarra mas funcionou.
  19. Boa tarde, Estamos desenvolvendo uma rotina para registrar o evento de desacordo na CTe. Temos 2 versões desse método, um que é feito a leitura do XML, esse está 100%. E outra que seria apenas informado a chave da CTe, justificativa e UF. Porem percebemos que ele retorna a mensagem de "UF não pode ser vazia.". Debugando o código, percebi que a chCTe esta sumindo no meio do caminho. Em dado momento ele tenta obter a UF, com essa função function ExtrairUFChaveAcesso(const AChave: string): Integer; begin Result := StrToIntDef(Copy(OnlyNumber(AChave),1,2), 0); end; Como a chave chegou ali em branco ele acaba não conseguindo obter a UF. Código da minha função: procedure PrestacaoServicoDesacordoCTe(xObs, UFTomador, CNPJTomador, Chave : string); var iLote: Integer; obCteSefaz : TCteSefaz; begin obCteSefaz := TCteSefaz.Create; with obCTeSefaz do begin ACBrCTe.Conhecimentos.Clear; ACBrCTe.EventoCTe.Evento.Clear; with ACBrCTe.EventoCTe.Evento.Add do begin infEvento.nSeqEvento := 1; // Devemos informar a UF do Emitente do CT-e InfEvento.cOrgao := UFtoCUF(UFTomador); infEvento.chCTe := Chave; infEvento.CNPJ := RemoverCaracteresEspeciais(CNPJTomador); infEvento.dhEvento := now; infEvento.tpEvento := tePrestDesacordo; infEvento.detEvento.xOBS := xObs; end; iLote := 1; // Numero do Lote do Evento ACBrCTe.EnviarEvento(iLote); ACBrCTe.Free; end; obCTeSefaz.Free; end; Tem mais um print em anexo, nele podemos ver que o xml gerado não tem a chave, e podemos ver que na lista de watchList, a variável com chave está devidamente preenchida. Que no caso seria essa: 43250634046620000183570000000000241025021119-cte.xml apenas com os números. Em outros tópicos (já fechados) sobre esse assunto, é dito que não há necessidade de carregar o XML para emitir esse tipo de evento.
×
×
  • 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.

The popup will be closed in 10 segundos...