Ir para conteúdo
  • Cadastre-se

MarcosRWeimer

Membros
  • Total de ítens

    434
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que MarcosRWeimer postou

  1. Evolui aqui, utilizando o ILSpy para explorar a DLL e converter o código dela de .NET para Delphi. Objetivo é gerar o código do CIOT (Item B4 do manual: "Código Identificador da Operação de Transporte: deve ser gerado conforme padrão definido pela ANTT, utilizando a DDL/Executável disponibilizada para geração do identificador") que vai no campo IdOperacaoTransporte no serviço DeclaracaoOperacaoTransporte Codigo: 1 - tentei anexar, o forum estava bloqueando achando se tratar de um ataque (estranho não?) 2 - Não consegui anexar, nem como .PAS nem como .TXT, erro 200 3 - Editando e anexando como ZIP foi Agora para chamar/gerar é só fazer assim: procedure TForm1.Button1Click(Sender: TObject); var Gerador: TGeradorCIOTService; begin Gerador := TGeradorCIOTService.Create; try ShowMessage(Gerador.GerarCIOT('AquiVaiOCNPJ')); finally Gerador.Free; end; end; Tem algumas coisas pra acertar ainda (memory leaks), estava em em um app só de teste, agora vou migrar pra dentro do sistema e fazer as melhorias. Unit1.zip
  2. Conseguiu chamar o metodo GerarCIOT? Estou tentando aqui sem sucesso.
  3. Tive algum progresso aqui, usando diretamente o TDFeSSL do próprio ACBr. Obtive os dados tanto em produção como em homologação, claro que é apenas uma consulta, não evolui ainda para a geração do CIOT, mas fica a dica de utilizar o próprio TDFeSSL do ACBr procedure TForm1.Button1Click(Sender: TObject); const LUrlHomologacao : String = 'https://appservices-hml.antt.gov.br/pefServices'; LUrlProducao : String = 'https://appservices.antt.gov.br/pefServices'; var LSSL: TDFeSSL; //uses ACBrDFeSSL LJson: String; LRetorno: String; LUrl: String; begin if (not FDConnection1.Connected) then FDConnection1.Open; qCertificado.Close; qCertificado.Open; LSSL := TDFeSSL.Create; LSSL.SSLCryptLib := cryWinCrypt; LSSL.SSLHttpLib := httpWinHttp; LSSL.SSLXmlSignLib := xsLibXml2; //Carrega certificado A1 armazenado no abnco LSSL.Senha := qCertificadoSENHA.AsString; LSSL.NumeroSerie := qCertificadoNUMERO_SERIE.AsString; LSSL.DadosPFX := TNetEncoding.Base64.Decode(qCertificadoDADOS_PFX.AsAnsiString); LSSL.CarregarCertificado; if (not LSSL.CertificadoLido) then raise Exception.Create('Certificado digital não pode ser carregado! ' + 'Verifique certificado cadastrado no cadastro de filiais.'); if (LSSL.CertDataVenc < Now) then raise Exception.Create('Certificado da filial X venceu em ' + DateTimeToStr(LSSL.CertDataVenc)); //LUrl := LUrlHomologacao + '/api/ConsultarSituacaoTransportador'; LUrl := LUrlProducao + '/api/ConsultarSituacaoTransportador'; //segundo o manual o RNTRC se for 7 digitos deveria aceitar, mas aqui rejeitou, entao adicionei 0 a esquerda ate completar os 9 e passou LJson := '{"CpfCnpjInteressado": "xxxx", "CpfCnpjTransportador": "xxxx", "RNTRCTransportador": "999999999"}'; LRetorno := LSSL.Enviar(LJson, LUrl, '', 'application/json; charset=utf-8', '', False); end;
  4. A thread aqui é voltada para a UX, mas pra desenvolver comecei a testar hj: https://github.com/Code4Delphi/Delphi-AI-Developer
  5. Qual é a idéia? fazer um componente novo? Estava vendo a documentação da API https://api-docs.portalunico.siscomex.gov.br/pages/sintia/ e tem muitos métodos, não entendi o processo ainda, se vai utilizar todos os métodos ou alguns, comecei a pesquisar hoje sobre o assunto.
  6. mesmo BO aqui, será que não seria a formatação? enviar 0.1 ao invés de 0.1000 ?
  7. Prova tirada, não é obrigatório o NBS, autorizei a NFSe em homologação utilizando os schemas (e parte da modificação) disponibilizado acima. Alterei o fonte para enviar fixo o nrServico, pois aqui o sistema ainda não tem desdobra/especialização
  8. Bom dia! Estava alterando estas units ontem no fim do dia, sua alteração está bem interessante, só tenho um questionamento. com base no manual: o NBS não é obrigatório, e na sua alteração para gerar o nrServico obrigatoriamente tem de informar o CodigoServicoNacional, o que, pela minha interpretação, não seria o mais adequado (com base no que entendi no manual (print acima)) Vim aqui justamente para questionar este ponto, como seria a melhor forma de implementar e encontrei sua alteração. abaixo o print da questão que estou em dúvidas (para quem for opinar não ter de baixar o fonte):
  9. Aqui também não aconteceu de "sumir" a opção de exportar e resolveu a questão da duplicidade.
  10. @Italo Giurizzato Junior acabei de atualizar, funcionando 100%. Obrigado
  11. Boa Tarde! Acabei de atualizar, não está mais duplicando. Alteração aprovada.
  12. Resolvido. Atualizado ACBr até a versão 42298 e alterado configuração do municipio: Params=NomeTagAtividadeEconomica:ItemLei116AtividadeEconomica|NaoGerarTag:ItemLei116|FormatarItemServicoNaoSeAplica:True Detalhe que apenas informar a tag FormatarItemServicoNaoSeAplica não encontra (mesmo que no Config busque apenas ela e não um valor ligado a mesma), tem de setar algum valor. Então ficou assim: [5101407] ; Atualizado em 20/10/2025 Nome=Aripuana UF=MT Provedor=Agili Params=NomeTagAtividadeEconomica:ItemLei116AtividadeEconomica|NaoGerarTag:ItemLei116|FormatarItemServicoNaoSeAplica:True Podem fechar. ACBrNFSeXServicos.ini
  13. Ola! ACBr está formatando estes campos e não devem formatar, Aripuana/MT: Estou alimentando os campos com o valor 713, porem o ACBr formata, buscando internamente localizei este ponto: (Agili.GravarXML.GerarInfDeclaracaoPrestacaoServico) item := FormatarItemServico(NFSe.Servico.ItemListaServico, FormatoItemListaServico); Teria de mudar o FormatoItemListaServico de filsSemFormatacao para filsNaoSeAplica, para dentro do FormatarItemServico não incluir o 0 (zero) a esquerda. Isto resolveria o caso do ItemLei116AtividadeEconomica para o campo ItemLei116, no GerarDadosServico, onde é incluido o "." se tem mais de 2 caracteres: CodServico := IntToStr(StrToIntDef(OnlyNumber(NFSe.Servico.ItemServico[i].CodServ), 0)); if Length(CodServico) > 2 then Insert('.', CodServico, Length(CodServico) - 2 + 1); A questão é que este provedor varia de cidade para cidade, ou seja, tem cidades que precisa estar formatado e tem cidades que não precisa. Procurei alguma maneira (configuração, ini...) de mudar o FormatoItemListaServico, mas não encontrei. Alguma sugestão?
  14. também acredito que va quebrar, dependendo da versão do FR muda a maneira de acessar os exports
  15. É o único ambiente que tenho para testar, não consigo testar em outras versões
  16. D12 Pro + FR 2024.2.5 VCL
  17. Tive tempo de voltar a mexer nesta questão hoje, a situação é a seguinte, realmente o fastreport adiciona um 'PDF Export' no menu para cada tfrxpdfexport que existir. Teste: - Crie um novo app - Adicione um frxReport e um frxpdfexport - adicione um botão para exibir o report, vá em salvar, terá 1 pdf export - adicione mais um frxpdfexport e teste novamente, verá que terá 2 pdf export no menu. Isto ocorre com frxpdfexport mesmo em outros forms. A solução (paleativa) que encontrei no momento é remover os "duplicados": procedure RemoveExportPDFDup; var LCount: Integer; begin //Remove do menu, exportações de PDF "duplicadas" //FastReport varre a aplicação por RTTI buscando TfrxPDFExport //Para cada TfrxPDFExport é criado um item no menu //Este processo varre os plugins de exportação deixando apenas 1 (o ultimo) TfrxPDFExport LCount := 0; for var i: Integer := Pred(frxExportFilters.Count) downto 0 do begin if frxExportFilters[i].Filter.ClassName.ToUpper.Equals('TFRXPDFEXPORT') then begin if LCount > 0 then frxExportFilters.Delete(i) else Inc(LCount); end; end; end; Chamo esta procedure ANTES de imprimir/visualizar o report, no momento é o que resolveu.
  18. bahhh falha minha, estava "tudo verdinho" mas olhando a data a pasta de schemas estava como 19/09 (não sei pq o tortoise estava "verdinho"), apaguei ela, baixei de novo e funcionou. Obrigado
  19. Bom dia! Estou com problemas na validação com o schema: 1871 - Element '{http://www.portalfiscal.inf.br/nfe}vIBS': This element is not expected. Expected is ( {http://www.portalfiscal.inf.br/nfe}gCBS ). Schemas estão atualizados, como está no xml Veja que o vIBS está sendo gerado antes do gCBS, que é a critica em questão retornada ao validar com o schema. Pegando o xml gerado e testando no validador do RS, retorna como "autorizada"
  20. respondido inbox
  21. Lembrem que esta mesma NT 2025.001 que modificou o envio para síncrono, modificou o bloco de pagamentos e o QRCode v3, entrou em produção hoje, mas como falado acima, faz tempo que o sefaz e até aqui no proprio ACBr estavam falando disso e avisando: https://www.projetoacbr.com.br/forum/topic/83872-atenção-em-01092025-sua-emissão-de-nfe-pode-parar/
  22. Aqui tivemos de adicionar no library e tudo o mais, pois nos pcs do desenvolvimento é gerado em Debug, e no Continua CI é em Release, ai não compilava no servidor, acredito que tenha de ter como instalar das 2 formas, mas atualmente foi assim que resolveu, a compilação demora bem mais, principalmente se fizer um Build no projeto todo, não sei se está no roadmap do ACBr instalar em debug e release, seria bem interessante. Particularmente EU acho que o auto complete esta cada vez pior, ou é devido ao tamanho do sistema que ultrapassa os 5 milhões de linhas, milhares de telas, entidades, interfaces, dao... enfim é gigante, é muita coisa pro auto complete vasculhar
  23. Habilitei para exibir os memory leaks (ReportMemoryLeaksOnShutdown := True;) e ao fechar após visualizar a DANFE não reportou vazamentos de memória.
  24. Ao carregar o xml para impressão e clicar em gravar, está duplicando (usando o demo do ACBr, no sistema aparece mais vezes) o "salvar pdf" - Não encontrei em que momento manipula esta opção - Se imprimo algum outro relatório do sistema (tambem em fast report) não ocorre este problema. - Tanto faz qual FR3 do demo eu selecione, acontece a mesma situação. - Delphi 12.3 com Path de Maio - Fast Report 2024.2.5
  25. @gbrlfr Obrigado por reportar, achei que estava isolado com este problema
×
×
  • 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...
The popup will be closed in 10 segundos...