-
Total de ítens
5.312 -
Registro em
-
Última visita
-
Days Won
155
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Diego Foliene postou
-
SPED: ECD - Publicada nova versão do programa validador
Diego Foliene replied to Juliana Tamizou's tópico in Notícias do ACBr
Boa tarde. Em 29/03/2023, foi publicada a versão 10.1.2 do programa validador do SPED ECD - Escrituração Contábil Digital, trazendo as seguintes mudanças: Fonte: http://sped.rfb.gov.br/pagina/show/7190 -
Boa tarde. Primeiro de tudo, muito obrigado pela contribuição! Toda colaboração é e sempre será mais do que bem vinda! Em sua contribuição, você adiciona uma função que faz o seguinte: Se conferirmos na unit ACBrNFSeXGravarXml_ABRASFv1(classe base para a BHISS.GravarXml), é possível observar que ela insere no XML a Razão Social assim: Result.AppendChild(AddNode(tcStr, '#38', 'RazaoSocial', 1, 115, 0, NFSe.Tomador.RazaoSocial, DSC_XNOME)); Conferindo dentro da estrutura de AddNode temos o seguinte trecho: // Grava a tag no arquivo - Quando existir algum conteúdo if ((ocorrencias = 1) or (not EstaVazio)) then begin Result := CreateElement(Tag); if ParseTextoXML then Result.Content := FiltrarTextoXML(FOpcoes.RetirarEspacos, ConteudoProcessado, FOpcoes.RetirarAcentos, True, FOpcoes.FQuebraLinha) else Result.Content := ConteudoProcessado; if (Atributo <> '') and (Result <> nil) then begin AttSplit := Split('=', Atributo); Result.SetAttribute(Trim(AttSplit[0]), Trim(AttSplit[1])); end; end; Pela forma com é feita a chamada da AddNode, o parâmetro ParseTextoXML é igual a True, então ele vai passar pela function FiltrarTextoXML. Dentro dela, temos o seguinte: function FiltrarTextoXML(const RetirarEspacos: boolean; aTexto: String; RetirarAcentos: boolean; SubstituirQuebrasLinha: Boolean; const QuebraLinha: String): String; begin if RetirarAcentos then aTexto := TiraAcentos(aTexto); aTexto := ParseText(AnsiString(aTexto), False ); if RetirarEspacos then begin while pos(' ', aTexto) > 0 do aTexto := FaststringReplace(aTexto, ' ', ' ', [rfReplaceAll]); end; if SubstituirQuebrasLinha then aTexto := ChangeLineBreak( aTexto, QuebraLinha); Result := Trim(aTexto); end; Conferindo o conteúdo da ParseText, a mesma já faz a substituição. if Decode then begin Astr := DecodeToString( Texto, IsUTF8 ) ; Astr := InternalStringReplace(AStr, '&' , '&'); AStr := InternalStringReplace(AStr, '<' , '<'); AStr := InternalStringReplace(AStr, '>' , '>'); AStr := InternalStringReplace(AStr, '"' , '"'); AStr := InternalStringReplace(AStr, ''' , #39); AStr := InternalStringReplace(AStr, '-' , '-'); AStr := InternalStringReplace(AStr, 'á', 'á'); AStr := InternalStringReplace(AStr, 'Á', 'Á'); AStr := InternalStringReplace(AStr, 'â' , 'â'); AStr := InternalStringReplace(AStr, 'Â' , 'Â'); AStr := InternalStringReplace(AStr, 'ã', 'ã'); AStr := InternalStringReplace(AStr, 'Ã', 'Ã'); AStr := InternalStringReplace(AStr, 'à', 'à'); AStr := InternalStringReplace(AStr, 'À', 'À'); AStr := InternalStringReplace(AStr, 'é', 'é'); AStr := InternalStringReplace(AStr, 'É', 'É'); AStr := InternalStringReplace(AStr, 'ê' , 'ê'); AStr := InternalStringReplace(AStr, 'Ê' , 'Ê'); AStr := InternalStringReplace(AStr, 'í', 'í'); AStr := InternalStringReplace(AStr, 'Í', 'Í'); AStr := InternalStringReplace(AStr, 'ó', 'ó'); AStr := InternalStringReplace(AStr, 'Ó', 'Ó'); AStr := InternalStringReplace(AStr, 'õ', 'õ'); AStr := InternalStringReplace(AStr, 'Õ', 'Õ'); AStr := InternalStringReplace(AStr, 'ô' , 'ô'); AStr := InternalStringReplace(AStr, 'Ô' , 'Ô'); AStr := InternalStringReplace(AStr, 'ú', 'ú'); AStr := InternalStringReplace(AStr, 'Ú', 'Ú'); AStr := InternalStringReplace(AStr, 'ü' , 'ü'); AStr := InternalStringReplace(AStr, 'Ü' , 'Ü'); AStr := InternalStringReplace(AStr, 'ç', 'ç'); AStr := InternalStringReplace(AStr, 'Ç', 'Ç'); AStr := InternalStringReplace(AStr, ''' , ''''); end else begin AStr := string(Texto); AStr := StringReplace(AStr, '&', '&' , [rfReplaceAll]); //Aqui ele substitui o "e" comercial; AStr := StringReplace(AStr, '<', '<' , [rfReplaceAll]); AStr := StringReplace(AStr, '>', '>' , [rfReplaceAll]); AStr := StringReplace(AStr, '"', '"', [rfReplaceAll]); AStr := StringReplace(AStr, #39, ''' , [rfReplaceAll]); AStr := StringReplace(AStr, '''',''', [rfReplaceAll]); end; Result := AStr; Por favor, isso não está ocorrendo? É possível fazer um teste? Se abrir o XML gerado no navegador e também em um editor de texto como o bloco de notas ou notepad++ ele ainda tem o & ?
-
Bom dia. Que bom que deu certo! Por favor, para ajudar outros que possam vir a ter o mesmo problema futuramente, pode compartilhar qual foi a solução?
-
Erro NFS-e ACBrNFSeXServicos.res
Diego Foliene replied to colmanetti's tópico in DFe - Documentos Fiscais Eletrônicos
Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico. -
Erro NFS-e ACBrNFSeXServicos.res
Diego Foliene replied to colmanetti's tópico in DFe - Documentos Fiscais Eletrônicos
Bom dia. Por favor, depois de atualizar os fontes você reinstalou o ACBr? Verifique se não tem nenhum arquivo defasado perdido dentro da pasta da aplicação. -
Mas mesmo constando no ambiente nacional ao consultar ela devolve rejeição de que não consta quando você tenta transmitir?
-
Bom dia. Pode ter sido alguma instabilidade na Sefaz ou demora no processo de sincronização. Consultei no ambiente nacional a chave de acesso desse XML e a nota está constando lá. Por favor faça um novo teste.
-
Provedor Agili cidade de Delmiro Gouveia/AL
Diego Foliene replied to neto233's tópico in DFe - Documentos Fiscais Eletrônicos
Obrigado pela contribuição, em breve será validada para possível inclusão ao svn #TK-3789 -
ACBrPagFor - Sicredi
Diego Foliene replied to Rafael Luís Acco's tópico in Dúvidas Gerais sobre o ACBr
A rotina lê a ocorrência que vem no respectivo segmento no arquivo. -
Provedor Agili cidade de Delmiro Gouveia/AL
Diego Foliene replied to neto233's tópico in DFe - Documentos Fiscais Eletrônicos
Desculpe, esses dois erros mostram que minha orientação foi incorreta. Utilize a configuração que o Italo indicou. Isso deve resolver estes dois erros. Nem sempre o XML gerado pela prefeitura segue o mesmo padrão que o gerado pelo WebService. No XML gerado pelo ACBr a tag itemLei116 está com valor zero. Você está alimentando a propriedade ACBrNFSeX.NotasFiscais[Indice].NFSe.Servico.ItemServico[Indice].CodServ ? -
Provedor Agili cidade de Delmiro Gouveia/AL
Diego Foliene replied to neto233's tópico in DFe - Documentos Fiscais Eletrônicos
Boa tarde. Este erro da a entender que o valor informado na tag não foi um valor válido. Este da a entender que não deve enviar tag ItemLei116AtividadeEconomica. Se for possível, tente substituir no INI por CodigoCnaeAtividadeEconomica e fazer um novo teste. Informação de Série ou Tipo RPS não parecem estar corretas. -
Como remover a Tag IndApuracao do evento S-1210
Diego Foliene replied to Ronald.camara's tópico in ACBreSocial
Boa tarde. Fiz um teste com o programa exemplo e tag não foi gerada no XML. Se conferirmos a procedure GerarXML na unit pcesS1210 a mesma está assim: function TEvtPgtos.GerarXML: Boolean; begin try inherited GerarXML; Self.VersaoDF := TACBreSocial(FACBreSocial).Configuracoes.Geral.VersaoDF; Self.Id := GerarChaveEsocial(now, self.ideEmpregador.NrInsc, self.Sequencial); GerarCabecalho('evtPgtos'); Gerador.wGrupo('evtPgtos Id="' + Self.Id + '"'); if VersaoDF <= ve02_05_00 then GerarIdeEvento3(Self.ideEvento, True, True, False) else GerarIdeEvento3(Self.ideEvento, True, False, True); //Se você configurou corretamente o ACBreSocial, é nesse momento que ele gera o grupo ideEvento GerarIdeEmpregador(Self.ideEmpregador); GerarIdeBenef(Self.ideBenef); Gerador.wGrupo('/evtPgtos'); GerarRodape; FXML := Gerador.ArquivoFormatoXML; // XML := Assinar(Gerador.ArquivoFormatoXML, 'evtPgtos'); // Validar(schevtPgtos); except on e:exception do raise Exception.Create('ID: ' + Self.Id + sLineBreak + ' ' + e.Message); end; Result := (Gerador.ArquivoFormatoXML <> '') end; Repare que ele faz a chamada a procedure GerarIdeEnvento3 da seguinte maneira. GerarIdeEvento3(Self.ideEvento, True, False, True); Agora vamos conferir como é a procedure GerarIdeEvento3: procedure TeSocialEvento.GerarIdeEvento3(pEvt: TIdeEvento3; GeraIndRetif: Boolean=True; GeraIndApuracao: Boolean=True; GeraIndGuia: Boolean=True); begin Gerador.wGrupo('ideEvento'); GerarIdeEvento2(pEvt, false, GeraIndRetif, false); if (GeraIndApuracao) then Gerador.wCampo(tcStr, '', 'indApuracao', 1, 1, 1, eSIndApuracaoToStr(pEvt.IndApuracao)); Gerador.wCampo(tcStr, '', 'perApur', 7, 7, 1, pEvt.perApur); if (GeraIndGuia) and (VersaoDF >= veS01_00_00) and (pEvt.indGuia <> '') then Gerador.wCampo(tcStr, '', 'indGuia', 1, 1, 0, pEvt.indGuia); GerarIdeEvento(pEvt, false); Gerador.wGrupo('/ideEvento'); end; Repare que o parâmetro GerarIndApuracao é passado como False na chamada e por isso não é gerado. Se seus fontes estiverem diferente disso eles estão desatualizados. Importante lembrar que não basta apenas fazer o update no SVN para atualizar, é preciso reinstalar o ACBr rodando o instalador, de preferência marcando a opção "Apagar Arquivos Antigos".- 1 reply
-
- 2
-
Provedor SmarAPD com erro ao assinar.
Diego Foliene replied to C4Dev's tópico in DFe - Documentos Fiscais Eletrônicos
Boa tarde. Por favor, pode disponibilizar os arquivos de envelope para análise? Para gerar os mesmos é preciso definir a propriedade ACBrNFSeX.Configuracoes.WebService.Salvar := True; -
ACBrPagFor - Banco Caixa Economica Federal (CEF)
Diego Foliene replied to Grupo FS's tópico in ACBrDiversos
Obrigado pela contribuição, em breve será validada para possível inclusão ao svn #TK-3782 -
Obrigado pela contribuição, em breve será validada para possível inclusão ao svn #TK-3781. Por favor, é possível disponibilizar o manual do banco para que possamos usar na análise?
-
Nova cidade compativel com AcbrNFSeX
Diego Foliene replied to Microsys Sistemas's tópico in DFe - Documentos Fiscais Eletrônicos
Contribuição enviada ao SVN na Rev-28921. Por favor, queira atualizar seus fontes, reinstalar o ACBr para realizar novos testes e reportar qualquer problema. -
Nova cidade compativel com AcbrNFSeX
Diego Foliene replied to Microsys Sistemas's tópico in DFe - Documentos Fiscais Eletrônicos
Obrigado pela contribuição, em breve será validada para possível inclusão ao svn #TK-3779