-
Total de ítens
104 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Diogo Loff postou
-
Oi bom dia, eu fiz um tópico sobre um problema que estou tendo com Encoding na Betha e IPM, alguem poderia me ajudar? Abri este outro tópico pois o original por algum motivo aqui na minha maquina não esta abrindo e não consigo ver.
-
Então mestre era isto mesmo, eu até havia dito acima que estava com a UF certa, e estava sendo setada no componente a certa.... mas depois debugando mais a fundo detectei uma rotina um pouco antes de enviar aqui do meu sistema, que estava lendo a empresa/filial errada, e pegando os dados de outra empresa. Valeu ai pela atenção.
- 8 replies
-
- inutilização
- nfe
-
(e 1 mais)
Tags:
-
Ola boa tarde, já conferi a questão da UF e esta tudo correto. Vou tentar hoje ou no máximo amanhã simular a questão para enviar os dados SOAP verificar.
- 8 replies
-
- inutilização
- nfe
-
(e 1 mais)
Tags:
-
Sim eu uso sim, blz vou verificar como extrair isto para enviar.
- 8 replies
-
- inutilização
- nfe
-
(e 1 mais)
Tags:
-
Olá! Estou com um problema relacionado a Encoding em dois sistemas diferentes Betha e IPM, eles ocorrem em uma situação peculir, segue o contextos: Quando pegamos um novo cliente, onde o mesmo emitia NFSe diretamente pelos portais de suas respectivas prefeituras, os mesmos realizam os cadastros de seus clientes dentro do portal para emitir a NFSe, até aqui tudo bem. Assim que migra para o sistema próprio e não utiliza mais o portal das prefeituras, que começam os problemas. Por exemplos: Emite o RPS pelo sistema, com os dados do cliente correto sem acentuação nem nada, porem a prefeitura quando valida o RPS, ela manda a NFSe com dados digamos lá do cliente todo acentuado, como esta no cadastro lá feito antes na prefeitura, não respeitam o que agente manda no RPS se por acaso este cadastro já existir lá no portal. Ai o arquivo tem vindo com acentuações, pelo que vi no componente o mesmo é convertido para o encoding UTF-8, inclusive no retorno da prefeitura na tag logo no começo do XML vem como UTF-8, porem é um UTF-8 fake, se pegar o XML e abrir em um notepadd++ por exemplo vai ver que esta com encoding ISO8891. Então o sistema não entende isto, gera um erro conforme na imagem: Isto tem gerado um certo transtorno, pois no fim a NFSe é validada, mas como o ACBr não entende o retorno causa este problema e o RPS fica preso no sistema, porque entende que não validou. O que temos orientado é os clientes irem lá no portal da prefeitura acessar lá, e arrumarem o cadastro dos clientes removerem as acentuações para que isto não aconteça, e realmente resolve, mas da muita reclamação dos usuários de ter que arrumar isto. Então a pergunta é tem uma forma de contornar isto, digamos o componente conseguir entender este retorno? Obrigado, pela atenção.
-
Opa Juliomar, obrigado pelo rapido retorno, mas não entendi o que seria este processo de "pegar os soaps gerados", como pego isto ai?
- 8 replies
-
- inutilização
- nfe
-
(e 1 mais)
Tags:
-
Olá! Estou com um problema em um cilente no Pernambuco, onde o único processo que não consegue realizar é a Inutilização de NF-e, alguem tem informações sobre isto? Tem algum problema? Precisa de alguma liberação/cadastro na sefaz? Os componentes estão atualizados, o endereço de inutilização do componente está: NfeInutilizacao_4.00=https://nfe.sefaz.pe.gov.br/nfe-service/services/NFeInutilizacao4 E o endereço de produção no site direto da Sefaz de PE é o mesmo: https://www.sefaz.pe.gov.br/Servicos/nota-fiscal-eletronica/Paginas/url-web-services-prod-homolog.aspx O erro que retorna da Sefaz é "Emissor nao habilitado para emissoa de NF-e".
- 8 replies
-
- inutilização
- nfe
-
(e 1 mais)
Tags:
-
ACBrNFSeX - Erro DataVencimento provedor Betha
Diogo Loff replied to Diogo Loff's tópico in ACBrNFSe
Valeu resolvido! -
Ola! No componente ACBrNFSeX, quando importado um XML de um RPS do provedor Betha, esta ocorrendo erro no campo de DataVencimento. O tipo esta incorreto. Atualmente no fonte esta: DataVencimento := ObterConteudo(ANodes[i].Childrens.FindAnyNs('DataVencimento'), tcDat); O correto é: DataVencimento := ObterConteudo(ANodes[i].Childrens.FindAnyNs('DataVencimento'), tcDatVcto); Fonte Betha.LerXml.pas Linha 98. Segue anexo fonte alterado. Betha.LerXml.pas
-
Bom já testei deu certo valeu!
-
Valeu mestre, a noite vou testar e reporto.
-
Sim, entendo, justamente qe ultimamente tenho colocado mas questões aqui e o ACBr tem ajustado. Realmente não quero mais ter que mexer no componente. Mas ocorre que anos atras tivemos um problema sério em uma das primeiras versões do Trunk2, onde as NFes no momento de validar em Lote se tinha uma no meio que dava erro, acabava replicando a chave de acesso da primeira que dava certo e gerou um transtorno gigantesco, nossa empresa trabalha com industria e muitos são multinacionais, empresas que trabalham com Petrobras, Vale e outras, empresas que emitem muita NF. Então por segurança e receio nosso estavamos sempre adequando principalmente a NFe e NFSe, porem isto tem ficado complicado demais em manter as alterações em aparalelo, principalmente da NFSe. Mas em fim se puderem verificar este item agradeço. Para fins de informação, hoje na empresa usamos a NFe, CTe, SPED EFD, Consulta de CNPJ e Impressão de Etiquetas, esta ultima esta totalmente customizada desde antes do trunk2, este tenho que tirar um tempo e avaliar bem o que tem no componente se esta funcional em todas as linguages e se faltar alguma coisa enviar um compilado de tudo que adequei para ver se vocês aceitam. E fora a etiqueta no momento só tenho customizado a partes dos Danfe da NFSe que inclusive abri já um outro topico sugerindo adequações. Valeu ai obrigado.
-
Não saberia precisar, mas faz bastante tempo, eu me obriguei atualizar agora inicio do ano devido a NFse. Muita vezes atualizava partes dos fontes e adaptava outras aqui para manter compatibilidade, mas já fazia acho uns 2 anos que não atualizava ele total. Estava usando muita coisa customizada nos fontes aqui também, coisa que quero eliminar total, quero passar usar o ACBr 100% oficial sem customizações. Tem um ultimo item ainda que não consegui usar o de vocês atalizado que é a impressão de etiquetas térmicas, o fonte é todo modificado aqui a mais de 10 anos já, sempre passo um trabalho com troca dos fontes e adaptar o AcbrDevice, mas quero ver se até final do ano mando as sugestões para vocês, pois o meu aqui esta rodando com PPLA, PPLB, ZPL, ZPLII, EPL2 com todos os comandos disponiveis.
-
Ao meu ver é um erro, pois, antes fazia agora não mais. Também todas as outras funções da NFe como gerar nfe e eventos, estão trazendo path completo, pelo que vi só a opção de donwload que não o faz mais. Vou anexar aqui os fontes, ao meu ver minha sugestão resolve, porem fica fora do padrão dos outros objetos como NF e Eventos. Também não entendi porque o objeto abaixo é destruido e depois recriado novamente sem o path. Então creio que vocês deveriam avaliar para se manter o padrão conforme das demais funções. Segue os fontes. Obrigado! ACBrNFeWebServices.pas
-
Olá! No meu sistema na parte de entrada de notas fiscais, se o usuário colocar a chave da NFe eu faço o Download da mesma. Ocorre que 09/01/24 fiz uma atualização dos componentes e agora no nome do arquivo não vem mais o path e esta ocorrendo erros no sistema, pois bem. Antes após fazer o comando: ACBrNFe1.DistribuicaoDFePorChaveNFe(StrToInt(Copy(lsChave, 1, 2)), nfeEmitCNPJ, lsChave); Eu pegava o path assim lsArquivo := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[0].NomeArq Aqui vinha o path completo, com o definido na propriedade de download + o mês ano, pasta down + e o nome do arquivo final. Então o que esta acontecendo... agora esta ficando em branco, eu estive vendo no fonte do ACBrNFeWebServices linha 3778 e esta sendo dado Free na variavel FretDistDFeInt que é a mesma que retornar em retDistDFeInt. Pois bem para resolver o problema eu fiz uma alteração antes onde adiciona os arquivos numa lista para colocar o path, linha 3760. if NaoEstaVazio(NomeArq) then FlistaArqs.Add( aPath + FNomeArq ); Ai no sistema agora estou usando assim lsArquivo := ACBrNFe1.WebServices.DistribuicaoDFe.ListaArqs[0]; Bom resolveu meu problema, mas tive que mexer no componente, então não achei outra forma de resolver. Se puderem me orientar ou verificar o caso, agradeço.
-
Fechou deu certo.
-
Certo, bom como disse são sugestões. Sim o item 1 da quebra pode ser em virtude do item 2 onde nós utilizamos os dois blocos. Como sitei pelo menos meus clientes querem as informações mais padronizadas, tabuladas, mais semelhante a uma NFe, mas tudo bem, vou manter ainda minhas adequações aqui em separado como sempre fiz. Sobre o item 3 quais são os campos equivalentes? pois não localizei, aqui resolvendo já evito algumas linhas de customização.
-
Ola! Estou testando as novas possibilidades de consulta CNPJ pelas APIs que foram disponibilizadas no ACBrConsultaCNPJ e senti falta de exceção quando vem um erro do servidor. Como por exemplo o ReceitaWS com mais de 3 consultas por minuto já da erro, porem no componente não esta acontecendo nada. Fica sugestão a alteração que fiz. Implementei na ReceitaWS e na BrasilAPI. Em ambas adicionei um else se não deu certo, para lançar uma exceção do campo "message". if (Trim(LJsonObject.Values['message'].AsString) <> '') then raise EACBrConsultaCNPJWSException.Create(LJsonObject.Values['message'].AsString); Obrigado. ACBrConsultaCNPJ.WS.BrasilAPI.pas ACBrConsultaCNPJ.WS.ReceitaWS.pas
-
Valeu, fechou!
-
Valeu!
-
Oi Italo, na realidade ali a ordem não interfere, o idendificador pode vir depois não tem problema. A questão mesmo é que o identificador precisa ser diferente se não acaba misturando numeração com a oficial do cliente. Como coloquei ali eu adicionei um "h" no identificador para distinguir o teste, pois eles não aceitam a série diferente, em fim vai entender. O IPM é precario em documentação, diria um dos mais, e tem questões que depois de muito tempo bater cabeça com o suporte deles você acaba resolvendo. Mas em fim isto já ta rodando a bastante tempo, e não tenho tido problemas, aqui esta o print de como fica no envio o RPS e depois como Retorna deles. Se por acaso você envia em testes com o mesmo identificador do produção, começa misturar notas com do cliente, um exemplo. Digamos que eu na minha base de testes esteja com numeração inferior a do cliente, quando eu gero meu teste e o identificador é o mesmo de produção, acaba dando problema de RPS já informado e se consulta vem a nota que o cliente emitiu lá em produção anteriormente. Agora ao contrário, se por acaso você esta com númeração acima do cliente e faz o teste ai o pepino é maior, porque quando o cliente atinge o mesmo número ele não consegue mais seguir, trava a sequencia, e só ligando para prefeitura e IPM para resolver. Agora se no teste você também gera com um indentificador diferente ai este problema fica resolvido. Segue anexo os prints de como fica.
-
Boa tarde, Sempre que atualizo os fontes do ACBr, tenho que realizar algumas customizações no fonte da impressão de Danfse do ACBrNFSex para fastreports. Fica se sugestão se puderem realizar estas melhorias. Antes de mais nada vamos ao que levaram agente ter que customizar os Danfse. 1 - A quebra de pagina não funciona de uma forma bem certa, pode ser nós que talvez nunca soubermos a forma correta de utilizar como pode ser defeito. 2 - Cliente desejam ver as parcelas ali impressas, mesmo que o provedor não tenha a parte financeira no XML o cliente quer que apareça isto na impressão. 3 - Tem dois campos de datas que tive que criar a parte para atender algumas prefeituras, que diziam que tinha que ter. Ficaria muito grato se pudessem estudar as questões apresentadas, já tem ao menos uns 2 anos que tenho tido sempre que customizar isto. Item 1: Com relação a quebra, nós customizamos os arquivos de impressão, para que cada bloco siga o seu antecessor, nos originais disponibilizados isto não esta bem correto ao nosso entendimento, e tem bloco quebrando de forma manual via codificação, e acreditamos que da forma como ajustamos resolvemos o problema da quebra de pagina, uma vez que principalmente no corpo dos itens os demais campos abaixo seguem a quebra. Segue anexo os modelos de impressão, inclusive estes 3 modelos estamos usando em diversos municipios já a uns 2 anos e não tem necessitado mais adequações. DANFSEX_ATUAL modelo1 - Padrao.fr3 (Este é o modelo simples com chave da prefeitura pequena) DANFSEX_ATUAL modelo2 - Chave Grande (Este é o modelo simples com chave da prefeitura grande) DANFSEX_ATUAL modelo3 - QrCode (Este é o modelo com QrCode) Item 2: Com relação as parcelas os clientes querem ver no corpo, e também sempre querem os itens tabulados (não só descrição do serviço), isto é uma coisa que sempre gerou reclamação ao menos nos meus clientes e uma solução foi comentar a seguinte linha no procedimento TACBrNFSeXDANFSeFR.frxReportBeforePrint(Sender: TfrxReportComponent). frxReport.FindObject('Memo13').Visible := (not ((cdsItensServico.RecordCount > 0) and (frxReport.FindObject('Page2') <> nil)) or (frxReport.FindObject('Page2') = nil)); Se pudessem criar uma propriedade que pudesse setar sempre visivel este memo eu agradeceria, pois ocorre que pela implementação do ACBr este bloco fica invisivel se você colocar os itens da nota em formato de grade. O mesmo só fica visivel se só informado os itens de forma descritiva. Como nós utilizamos aqui??? Sempre a impressão dos itens é alimentado em forma de grade, mesmo que no XML da prefeitura seja só a descrição dos serviços, então sempre sai tabulado em grade. E porque precisamos ainda do "Memo13", é para ali mostrar outras informações que não constam muitas vezes na prefeitura, como por exemplo as parcelas, este é um caso muito utilizado. Em anexo estou colocando 3 modelos impressos para vocês entenderem o que estou falando. Ver os modelos de DANFSe anexados. Item 3: Tive necessidade para um provedor especifico criar duas propriedades novas para mostrar correto no DANFe. No procedimento TACBrNFSeXDANFSeFR.CriarDataSetsFrx adicionado; cdsIdentificacao.FieldDefs.Add('DataServico', ftString, 20); // para distinguir a data do servico da data da nfe para provedor que tenha isto cdsIdentificacao.FieldDefs.Add('DataEmissaoRps', ftString, 19); // para distinguir a data do RPS da data da nfe frxIdentificacao.FieldAliases.Add('DataServico=DataServico'); // Relação dos campos com o report frxIdentificacao.FieldAliases.Add('DataEmissaoRps=DataEmissaoRps'); // Relação dos campos com o report No procedimento TACBrNFSeXDANFSeFR.CarregaIdentificacao(ANFSe: TNFSe) adicionado LCDS.FieldByName('DataServico').AsString := FormatDateTime('dd/mm/yyyy', ANFSe.Competencia); // Alimentado o campo DataServico if (Provedor in [ proSigCorp ]) then LCDS.FieldByName('DataEmissaoRps').AsString := FormatDateBr(ANFSe.DataEmissaoRps); // Alimentado o campo DataEmissaoRps Segue anexo os fontes. DANFSEX_ATUAL modelo1 - Padrao.fr3 DANFSEX_ATUAL modelo2 - Chave Grande.fr3 DANFSEX_ATUAL modelo3 - QrCode.fr3 ACBrNFSeXDANFSeFR.pas DANFSEX_ATUAL_chavesimples2.pdf DANFSEX_ATUAL_chavegande2.pdf NFS-E teste PRODUCAO 2.pdf
-
Segue: IPM.LerXml.pas IPM.GravarXml.pas
-
Cidade de Campo Largo, precisa de uma atualização no arquivo ACBrNFSeXServicos.ini. No original não tem ambiente de homologação, mas o mesmo esta disponivel, e no municipio não pode gerar o grupo rps, e esta faltando o "Params=NaoGerarGrupoRps:" Segue o correto: Nome=Campo Largo UF=PR Provedor=IPM Versao=1.01 Params=NaoGerarGrupoRps: ProRecepcionar=https://ws-campolargo.atende.net:7443/atende.php?pg=rest&service=WNERestServiceNFSe HomRecepcionar=https://treinamento.atende.net/?pg=rest&service=WNERestServiceNFSe&cidade=treina_campolargo Também aqui ocorre o problema da competencia que coloquei em outro topico. Já o problema do identificador não ocorre, pois não gera conforme indicado acima.
-
Boa tarde, já tem mais de um ano que a Prefeitura de Morro da Fumaça / SC, trocou o sistema da Betha pelo IPM. Sempre que realizo a atualização do acbr tenho que atualizar o arquivo ACBrNFSeXServicos.ini. Segue as informações corretas da cidade. Nome=Morro da Fumaca UF=SC Provedor=IPM Versao=1.01 ProRecepcionar=https://morrodafumaca.atende.net/?pg=rest&service=WNERestServiceNFSe HomRecepcionar=https://morrodafumaca.atende.net/?pg=rest&service=WNERestServiceNFSe Além disto sempre tem duas correções que são necessárias fazer no componente. Componente atualizado 09/01/2024 e ainda permance a situação. Correção 1: IPM.GravarXML.pas function TNFSeW_IPM.GerarXml: Boolean; Apartir da linha 132, precisa de um identificador diferente para quando esta em homologação, como sabemos o IPM não tem homologação em alguns municípios, e é obrigatório usar o ambiente de produção, ocorre que a além da tag nfse_teste que deve ser informada, é ideal que a tag do identidicador seja diferente do produção, porque? Vou dar o exemplo do Morro da Fumaça, eles não permitem usar uma série diferente da de produção, então se você realiza testes com o identificador igual ao de produção, a numeração da nota de teste com a nota de produção começa conflitar, e o cliente perde a sequencia da NF. Como sugestão aqui eu fixei quando esta em testes para que o identificado seja "'nfseh_' + NFSe.IdentificacaoRps.Numero + '.' + NFSe.IdentificacaoRps.Serie", e isto tem me permitido realizar os testes sem bagunçar os dados do cliente lá na prefeitura. Aqui esta o bloco alterado: if (VersaoNFSe in [ve100, ve101]) and (Ambiente = taHomologacao) then begin if not FpNaoGerarGrupoRps then NFSeNode.AppendChild(AddNode(tcStr, '#2', 'identificador', 1, 80, 0, 'nfseh_' + NFSe.IdentificacaoRps.Numero + '.' + NFSe.IdentificacaoRps.Serie, '')); NFSeNode.AppendChild(AddNode(tcStr, '#3', 'nfse_teste', 1, 1, 1, '1', '')); end else begin if not FpNaoGerarGrupoRps then NFSeNode.AppendChild(AddNode(tcStr, '#2', 'identificador', 1, 80, 0, 'nfse_' + NFSe.IdentificacaoRps.Numero + '.' + NFSe.IdentificacaoRps.Serie, '')); end; Correção 2: IPM.LerXml.pas procedure TNFSeR_IPM.LerNota(const ANode: TACBrXmlNode); Não esta alimentando a competencia que vem automático pela prefeitura. Adicionar no corpo do procedimento: Competencia := StrToDateDef(ObterConteudo(AuxNode.Childrens.FindAnyNs('data_fato'), tcStr), 0); Agradeço se puderem implementar estas questões, pois a cada atualização que realizo do Acbr acabo tendo que sempre conferir estes itens e ajustar.