Jump to content

CarlosSolla

Membros
  • Posts

    35
  • Joined

  • Last visited

1 Follower

Recent Profile Visitors

1,223 profile views

CarlosSolla's Achievements

Contributor

Contributor (5/14)

  • Reacting Well Rare
  • First Post
  • Collaborator Rare
  • Conversation Starter
  • Week One Done

Recent Badges

13

Reputation

  1. Boa tarde! Consegui implementar o recurso da marca d'água na DANFE do FastReports, utilizando uma Banda Overlay com uma frxImage. Porém para funcionar, além de ter que incluir estes 2 componentes no arquivo FR3, é necessário alterar as units ACBrNFeDANFEFR.pas e ACBrNFeDANFEFRDM.pas Para utilizar o recurso criei 3 propriedades na unit ACBrNFeDANFEFR, as quais devem ser especificadas no código do programa. LogoMarcaDAguaPngFileName: String => se especificado ira ativar a marca d'agua, e deve conter o caminho do arquivo PNG que contem a imagem , que já deve ser bem transparente. LogoMarcaDAguaTop: Double => Posição vertical que a marca d'agua deve ser impressa na pagina da DANFE LogoMarcaDAguaHeight: Double => Altura da imagem Estou postando aqui para ver se pode ser útil a alguém, porém não tenho experiência com os componentes ACBR , e também só alterei a DANFE retrato. Abraço a todos! ACBrNFeDANFEFR.pas ACBrNFeDANFEFRDM.pas DANFeRetrato.fr3
  2. Bom dia a todos! Esta semana ocorreu caso em que o cliente teve que fazer uma nota fiscal de devolução de uma venda exportação. A natureza de operação utilizada foi a 3211. A Sefaz retornava Rejeição 525: CFOP de Importação e não informado dados da DI. Porém o cliente não tinha a declaração de importação, pois não se tratava de importação e sim de uma devolução de exportação Pesquisei na internet e encontrei o tópico abaixo, orientando para preencher o campo DI com o termo "NIHIL', porém o ACBR faz uma validação do nº do DI e não aceitava. Para conseguir fazer o teste eu alterei a unit pcnNFeW, na linha 920, para aceitar. Após esta alteração consegui autorizar a NF, porém não tenho certeza se a solução foi a adequada, mas estou postando aqui caso alguém mais passe por esta situação. https://documentacao.senior.com.br/bancodesolucoes/erp/21702.htm Muito obrigado! pcnNFeW.pas
  3. Ola BigWings, Boa tarde! Atualizei e colei a sua unit aqui, fiz vários testes e deu certo. Mais uma vez agradeço a todos. Abraço!
  4. Boa tarde Italo, É isso mesmo, só sai correto a primeira, as demais cartas saiam errado, com dados da primeira NFe, então fiz esta correção na TACBrNFeDANFEFR.ImprimirEVENTO, para resolver o problema aqui, mas toda vez que atualizo os componentes ACBR tenho que ficar revisando. Abraço!
  5. Boa tarde! No cenário que utilizo aqui tenho uma tela de seleção na qual demonstro ao usuário as notas que têm carta de correção; o usuário pode selecionar várias notas para emissão da carta. Carrego todas as notas selecionadas para a lista do componente ACBrNFe, e faço um FOR , chamando a procedure TACBrNFeDANFEFR.ImprimirEVENTO, passando como parâmetro cada item (NFe) carregado no componente ACBrNFe. Caso o componente ACBrNFe sempre tiver somente um item carregado, não vai acontecer este problema. Nesse caso o parametro ANFE existente na procedure TACBrNFeDANFEFR.ImprimirEVENTO, fica sem utilidade.
  6. Boa tarde a todos, Existe um problema na emissão da carta de correção da nota fiscal eletrônica quando são carregadas para a lista do componente ACBrNFe mais de uma nota, a carta de correção sempre sai com os dados da primeira nota. Detectei que o problema estava na procedure PrepareReportEvento, na linha 2122, que sempre estava carregando o item zero: NFe := TACBrNFe(DANFEClassOwner.ACBrNFe).NotasFiscais.Items[0].NFe; Fiz a correção na revisão17570 , e anexei a unit caso seja útil para mais alguém, aqui para mim resolveu o problema. Abraço! ACBrNFeDANFEFRDM.pas
  7. Boa tarde! Acredito que consegui resolver o problema, que era na "function TinfoCREstabCollection.New: TinfoCREstabCollectionItem;" (linha 1173), faltava o comando Self.Add(Result); Unit alterada em anexo. Abraço a todos! pcesS5011.pas
  8. Bom dia! Após a atualização do ACBR referente revisão 16797 , está apresentando o erro "List index out of bounds (0)' ao tentar carregar o xml do evento S-5011. var S5011: TS5011; begin S5011 := TS5011.Create; S5011.Xml := S1299XML5011.AsString; .... end; verifiquei os fontes e ao que parece o problema é no treco abaixo (linha 778 da unit pcesS5011.pas), onde, após adicionar um item no comando InfoCREstab.add, o InfoCREstab.Count permanece = 0. Não consegui entender o porque, talvez eu esteja fazendo algo errado while Leitor.rExtrai(4, 'infoCREstab', '', j + 1) <> '' do begin infoCS.ideEstab.Items[i].infoCREstab.Add; infoCS.ideEstab.Items[i].infoCREstab.Items[j].FtpCR := leitor.rCampo(tcInt, 'tpCR'); infoCS.ideEstab.Items[i].infoCREstab.Items[j].FvrCR := leitor.rCampo(tcDe2, 'vrCR'); infoCS.ideEstab.Items[i].infoCREstab.Items[j].FvrSuspCR := leitor.rCampo(tcDe2, 'vrSuspCR'); inc(j); end; Obrigado a todos!
  9. Bom dia Anderson, Acredito que são códigos da tabela 19 do eSocial - Motivos de Desligamento
  10. Boa tarde a todos! Referente ao nº do DI, é necessário ficar atento à quantidade de zeros à esquerda que vem especificado no documento, após o ano e antes do digito final. Um cliente precisou fazer uma nota de importação hoje, na qual o nº do DI no documento recebido da transportadora era no formato: AANNNNNNNNND, onde: AA -> Ano com 2 posições (18) NNNNNNNNN -> nº do documento de importação com zeros à esquerda até completar 9 dígitos. D -> Digito Verificador. Para dar certo na validação do ACBR tive que retirar os zeros à esquerda do nº do documento, ficando no formato TAANNNNNNND, onde: T -> Tipo de documento = 2 - Documento de Importação (DI) AA -> Ano com 2 posições = 18 NNNNNNN -> nº do documento com zeros a esquerda até completar 7 dígitos D -> dígito verificador.
  11. Bom dia Mariana O código que você postou apenas carrega as informações de um evento que será adicionado na lista de eventos que será incluída no lote. Você precisa cuidar para que não seja adicionado mais que 50 eventos, que é o máximo permitido por lote. Dentro de seu while, para cada evento você ainda precisa chamar o comando evtTabRubrica.GerarXML, onde o ACBR vai carregar o ID do evento (caso não tenho sido atribuido) e assinar. O arquivo na verdade será criado quando você chamar o comando ACBreSocial.Enviar(egIniciais), que é quando o arquivo XML será salvo na pasta especificada nas configurações do ACBR, isso se a opção de salvar o XML também estiver ativada, e o XML contendo os eventos carregados no lote (através dos comandos ACBreSocial.Eventos.Tabelas.S1010.Add) serão transmitidos. Logo após a transmissão deve-se esperar um tempinho através do comando Sleep(3000) e efetuar a consulta do protocolo do lote: var RetornoEnvioLote: TRetEnvioLote; DataHoraDaRecepcaoDoLote: string; VersaoDoAplicativoNaRecepcao: string; ProtocoloDoEnvioDoLote: string; begin RetornoEnvioLote := ACBreSocial.WebServices.EnvioLote.RetEnvioLote; if RetornoEnvioLote.Status.cdResposta in [201, 202] then begin DataHoraDaRecepcaoDoLote := RetornoEnvioLote.dadosRecLote.dhRecepcao; VersaoDoAplicativoNaRecepcao := RetornoEnvioLote.dadosRecLote.versaoAplicRecepcao; // ProtocoloDoEnvioDoLote deverá ser usado para obter depois o resultado do processamento do lote ProtocoloDoEnvioDoLote := RetornoEnvioLote.dadosRecLote.Protocolo; end; end;
  12. Boa tarde! Como sugestão estão postando uma adaptação que fiz na emissão da Danfe em Fast. Criei uma nova propriedade chamada de ExibirTotalTributosItem, que indica se a informação sobre os tributos deve ser impressa sempre ou apenas para o consumidor final. Incluída também na mesma unit ACBrNFeDANFEFR.pas uma correção na função PrepareReportEvento, pois em uma lista de NFes, o evento estava sendo impresso sempre referente à primeira NFe da lista. Desculpem se fiz algo errado, não tenho conhecimento da estrutura das classes do ACBr como um todo. Abraço! ACBrNFeDANFEFR.pas ACBrNFeDANFEFRDM.pas
  13. Olá Rogério, boa tarde! Sim, realmente só podemos enviar lotes com no máximo 50 eventos. Dê uma olhada no tópico,abaixo que tem várias sugestões sobre como fazer o envio:
  14. Boa tarde Anderson, Creio que, mesmo utilizando certificado A3, você precisa carregar o nº de série do certificado para o componente ACBRESocial, da seguinte forma: ACBreSocial.Configuracoes.Certificados.NumeroSerie := wNumeroDeSerieDoCertificadoA3;
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.