Jacson
Membros-
Total de ítens
20 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Jacson postou
-
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.....
-
[ACBR-8893] NFSeX MEI NACIONAL / PROVEDOR NACIONAL, FALHA DE OBTERDNFSE - FR3
Jacson replied to Antonio Gomes's tópico in ACBrNFSe
Boa tarde, atualizações do Fast? -
favor mover pra acbrnfe, abri no local errado
-
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
-
Começando do Zero Nota Fiscal de Serviço de Padrão Nacional
Jacson replied to jairxpereira's tópico in ACBrNFSe
a principio, só cnpj em homologação a software house nao entra nesse processo -
Anexando PadraoNacional.LerXml.pas anexado
-
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;
-
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
-
voltei a pasta fontes pra uma anterior que eu tinha e funcionou... tem algo quebrado na ultima atuzalização
-
para correção incluir linha NFSe.DataEmissao := ObterConteudo(AuxNode.Childrens.FindAnyNs('dhEmi'), tcDatHor); no arquivo PadraoNacional.LerXml abaixo da linha 841
-
resolvido, utilizando padrão nacional pra cancelamento
-
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
-
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
-
isso tem relação com o regime, se você seguiu o demo
-
Claro! Usando aqueles urls, o retorno é o mesmo
-
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...
-
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%
-
Caxias do sul - RS mesma coisa
-
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.
-
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.
