Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 23-08-2023 em todas as áreas

  1. Bom dia! Conferindo no painel Situação-SVC, é possível observar que a Sefaz de Goiás esta com contingência agendada, com previsão de inicio no dia 26/08/2023 às 18:00 e encerramento no dia 28/08/2023 às 12:00. Para usar o ACBr em contingência durante este período, siga as orientações do tópico a seguir: Um agradecimento ao membro @Felipe Mariano, por chamar a atenção ao fato no canal #sefaz em nossa comunidade do Discord.
    3 pontos
  2. Olá, Enviados ajustes ao SVN na Rev-30388, configurando a Produção Restrita (Homologação) para gerar os eventos síncronos, da versão 1.5.1, na versão 2.1.2. O que isso quer dizer? Na Produção Restrita, a versão 2.1.2 irá receber eventos síncronos e assíncronos, assim como será feito em Produção, quando entrar em vigor a versão 2.1.2. O que muda para configurar o componente? Nada! Permanece como já era até o momento: * Para eventos síncronos, selecione a versão 1.5.1 * Para eventos assíncronos, selecione a versão 2.1.2 Resumindo... Foi unificado o leiaute, utilizando os endereços da versão 1.5.1 para eventos síncronos e os da versão 2.1.2 para os assíncronos.
    3 pontos
  3. Como ambos os tópicos tratam a mesma contribuição, vou fechar este aqui e continuamos no outro.
    2 pontos
  4. Bom dia @Lindomar S. Menezes, Mais uma vez obrigado pela contribuição! Poderia anexar o arquivo inteiro alterado? Facilita bastante para avaliarmos as alterações. Obrigado!
    2 pontos
  5. Bom dia! A alteração em questão foi feita visando sanar o problema relatado neste tópico:
    2 pontos
  6. Boa Tarde! Vi que ainda não tem o Boleto Híbrido do Bradesco implementado no ACBrBoleto. Consegui contato com o Gerente e geraram as chaves e me mandaram o manual de configuração. Fiquei meio perdido com o manual, e acho que é por isso que ainda não tem esse Boleto Hibrido aqui..kkkkk No fim de uns 2 dias fazendo testes consegui entender e fazer funcionar a Requisição do Token no Postman e no TidHttp. Inclusive para atender os clientes aqui da Empresa vou fazer usando o TidHttp do Indy. Para tentar colocar na ACBr fiz a copia dos arquivos do Bancoob e comecei a mexer. Criei o arquivo: ..\svn\trunk2\Fontes\ACBrBoleto\WS\ACBrBoletoW_Bradesco.pas ..\svn\trunk2\Fontes\ACBrBoleto\WS\ACBrBoletoRet_Bradesco.pas Abaixo, segue todo o código que fiz na função GerarTokenAutenticacao no arquvo ..\svn\trunk2\Fontes\ACBrBoleto\WS\ACBrBoletoW_Bradesco.pas: function TBoletoW_Bradesco.GerarTokenAutenticacao: string; var strheaderJSON, strPayloadJSON : String; JsonHeader, JsonPayload: TJsonObject; intMiliSegundos, intSegundos, intSegundos1h: int64; dataAtual: TDateTime; stremHeadPayload : TStringStream; strHeaderBase64, strPayloadBase64, strHeadPayloadAssinado, strAssertion: WideString; xRequestBody : TStringList; begin {*** BLOCO FORMATACAO DA DATA DO PAYLOAD***} dataAtual := Now; intSegundos := DateTimeToUnix(dataAtual, False); //Data Atual UTC em Segundos. intSegundos1h := DateTimeToUnix(IncHour(dataAtual, 1), False); //Data Atual UTC em Segundos + Horario 1h intMiliSegundos := DateTimeToUnix(dataAtual, False) * 1000 + MilliSecondsBetween(dataAtual, Trunc(dataAtual)); //Data Atual UTC em Milisegundos. {*** FIM BLOCO FORMATACAO DA DATA DO PAYLOAD***} {*** BLOCO MONTAGEM DO HEADER JSON ***} JsonHeader := TJsonObject.Create; try JsonHeader.Add('alg').Value.asString := 'RS256'; JsonHeader.Add('typ').Value.asString := 'JWT'; strheaderJSON := JsonHeader.Stringify; strHeaderBase64 := EncodeBase64(strheaderJSON); except end; {*** FIM BLOCO MONTAGEM DO HEADER JSON ***} {*** BLOCO MONTAGEM DO PAYLOAD JSON ***} JsonPayload := TJsonObject.Create; try JsonPayload.Add('aud').Value.asString := 'https://proxy.api.prebanco.com.br/auth/server/v1.1/token'; //URL; JsonPayload.Add('sub').Value.asString := 'cliente_id'; //Client ID; JsonPayload.Add('iat').Value.asString := IntToStr(intSegundos); //data atual em segundos; JsonPayload.Add('exp').Value.asString := IntToStr(intSegundos1h); //data atual adicionando uma hora à frente, em segundos; JsonPayload.Add('jti').Value.asString := IntToStr(intMiliSegundos); //data atual em milissegundos; JsonPayload.Add('ver').Value.asString := '1.1'; strPayloadJSON := JsonPayload.Stringify; strPayloadBase64 := EncodeBase64(strPayloadJSON); except end; {*** FIM BLOCO MONTAGEM DO PAYLOAD JSON ***} {*** BLOCO DE ASSINATURA ***} FSSLDigest := dgstSHA256; FSSLHashOutput := outBase64; DFeSSL.SSLCryptLib := cryOpenSSL; DFeSSL.SSLHttpLib := httpOpenSSL; DFeSSL.SSLXmlSignLib := xsLibXml2; DFeSSL.ArquivoPFX := 'certificado.pfx'; DFeSSL.Senha := 'senha'; DFeSSL.CarregarCertificado; stremHeadPayload := TStringStream.Create(strHeaderBase64+'.'+strPayloadBase64); //concatena conforme o manual. strHeadPayloadAssinado := CalcularHash(stremHeadPayload);//aqui realiza a assinatura. strAssertion := strHeaderBase64+'.'+strPayloadBase64+'.'+strHeadPayloadAssinado; //HeaderBase64 + PayloadBase64 + JWT assinado = JWS. {*** FIM BLOCO DE ASSINATURA ***} {*** MONTAGEM DO BODY COM O JWS (JSON Web Signature) ***} xRequestBody := TStringList.Create; xRequestBody.Add('grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer'); xRequestBody.Add('assertion='+strAssertion); HTTPSend.Document.Clear; //Esse xRequestBody precisa ser enviado no Body do Post, não consegui fazer funcionar. {*** FIM MONTAGEM BODY ***} OAuth.ContentType := 'application/x-www-form-urlencoded'; OAuth.Payload := true; OAuth.AuthorizationType := atNoAuth; //precisa alterar para NoAuth para não mandar o Basic. Result := inherited GerarTokenAutenticacao; end; Todo esse código é somente para Gerar o JWS (JSON Web Signature). Não segui muito as boas praticas, só queria fazer funcionar, e até consegui montar todos os dados, inclusive o JWS gerado aqui foi o que eu Utilizei no Postman. mas no momento de enviar, o FHTTPSend.HTTPMethod(MetodoHTTPToStr(htPOST), URL) manda esses dados pelo Header e o Bradesco só aceita se mandar pelo Body. Esse pequeno, grande detalhe foi o que fez eu não conseguir gerar o Token, a resposta que está vindo é esta: Erro: 400 - Bad Request { "code": "100", "message": "invalid token", "details": null } Pelo que li no manual, todos os endpoints precisam de Assinatura no Payload. Não encontrei outro Banco já configurado que tenha este tipo de abordagem e acho que o Bradesco só está dificultando as coisas. Se mais alguém quiser colaborar, para colocar no ACBrBoleto, está aí, pelo menos a parte de geração do Token. Segue em anexo o Manual e os arquivos alterados para conseguir utilizar no ACBrBoleto. ACBrBoleto-Bradesco.zip
    1 ponto
  7. Conferindo MOC Anexo I Leiaute NFe temos o a seguinte informação para esta rejeição: No caso de receber está rejeição, a primeira medida se tomar é verificar se a IE do emitente está de fato em ordem. Feito este processo e constatado que de fato está tudo correto com a IE, é necessário verificar se o emissor é credenciado para realizar a emissão de NFe junto a Sefaz do estado. Esse processo de credenciamento pode variar e por isso é importante verificar junto ao cliente ou contador responsável do mesmo. Alguns exemplos de processo de credenciamento: Mato Grosso do Sul São Paulo Rio de Janeiro Rio Grande do Sul Paraná ...
    1 ponto
  8. Segue implementação do método LerXML do evento S2200 caso seja do interesse da comunidade para adicionar ao projeto. pcesS2200.pas
    1 ponto
  9. Olá Devs! Desenvolvi um app no Android para equipamentos Pos de várias marcas/modelos. Agora preciso fazer funcionar no Elgin EP5855 e manter compatibilidade com o que já existe. Foi desenvolvido em Delphi usando o componente ACBrPosPrinter. Segue o código de como está funcionando já com outros modelos (direcionando para porta BTH:<nomedaimpressora>). Preciso entender no caso do equipamento Elgin como seria feito pois em meus testes não está imprimindo. procedure TFmRelDia.ImprimeReldia(); var pp : TAcbrPosprinter; i : integer; begin pp := TAcbrPosPrinter.Create(nil); try pp.Porta := 'BTH:'+nomeprint; pp.Modelo := TACBrPosPrinterModelo(12); pp.Ativar; pp.ImprimirLinha('FONTE NORMAL'); pp.ImprimirLinha('<e>EXPANDIDO</e>'); pp.ImprimirLinha('<c>CONDENSADO</c>'); pp.ImprimirLinha('<i>ITALICO</i>'); pp.ImprimirLinha('</linha simples>'); pp.ImprimirLinha('</linha dupla>'); pp.ImprimirLinha('</ae>ESQUERDA'); pp.ImprimirLinha('</ce>CENTRO'); pp.ImprimirLinha('</ad>DIREITA'); pp.Desativar; finally j.Free; pp.Free; end; end;
    1 ponto
  10. until
    Para mais informações confira:
    1 ponto
  11. Boa tarde Pessoal. O pessoal da UY3 me passou que o layout deles seguem o mesmo padrão do Bradesco. Desta forma eu fiz algumas adaptações e tive sucesso na homologação em produção. Nosso cliente já está emitindo e processando os boletos. Está gerando Boleto, remessa e processando retorno. Vou postar aqui os fontes para análise. Obrigado. ACBrBoleto.pas ACBrBancoUY3.pas 457.bmp
    1 ponto
  12. Se você está se questionando se "Vale a pena migrar do VB.Net para o C# para utilizar a biblioteca?", é importante notar que não posso simplesmente tomar uma decisão definitiva para essa pergunta sem conhecer o seu contexto e situação. O que posso fazer é oferecer minha opinião a respeito. Em resumo, a resposta é: "depende". Para entrar em detalhes, é necessário analisar cuidadosamente o seu cenário, situação atual e planos futuros antes de tomar essa decisão. Ao optar por utilizar a biblioteca, você ganhará maior flexibilidade em comparação ao uso do monitor, e não será mais necessário manter um segundo aplicativo em execução no systray do sistema. No entanto, é importante reconhecer que essa flexibilidade vem com um custo adicional. A biblioteca é uma DLL que precisa ser integrada, o que implica um esforço de desenvolvimento mais substancial. Minha recomendação para você, como membro PRO, é aproveitar o acesso aos cursos oferecidos pelo ACBr. Assista ao curso "Dominando o ACBrMonitorPLUS", onde são apresentados os conceitos e demonstrações práticas sobre o uso do ACBrMonitorPLUS. Assista também ao curso "Introdução às Bibliotecas ACBrLib", que oferece conceitos e demonstrações práticas sobre o uso da ACBrLib. Após concluir ambos os cursos e adquirir um entendimento mais amplo sobre o ACBrMonitor e a ACBrLib, sugiro que reflita sobre os seguintes pontos antes de tomar uma decisão: Quantos membros compõem a sua equipe? Quantos deles poderão se concentrar nessa tarefa em específico? Qual é o seu prazo para a implementação? Vale a pena investir tempo na curva de aprendizado necessária? Como essa decisão afetará o seu planejamento geral? Considere outros fatores que julgue relevantes. Ao ponderar esses aspectos, você estará mais preparado para decidir qual abordagem é a mais adequada para a sua situação.
    1 ponto
  13. Obrigado por sua resposta. Criei uma tabela com o dicionário de dados, assim gravo e leio o valor pelo Registro e pelo nome campo no E-social: E o Dicionário vai servir para vincular cada campo na base da Folha para validar alterações necessárias para reenvio do registro.
    1 ponto
  14. pessoal, me surgiu uma dúvida, se as empresas do Simples Nacional, emitirem nfce dos pgtos, mesmo que com o CFOP 5949, isso não vai acabar somando no faturamento delas? ou influenciando no faixa das alíquotas?
    1 ponto
  15. Muito bom. Consegui o manual para a implementação mas como vi seu topico vou anexar junto. Clique aqui ManualAPI
    1 ponto
  16. Bom dia @Italo Giurizzato Junior, Obrigado, irei testar.
    1 ponto
  17. Bom dia @SG Sistemas, Fiz uma alteração, removi do componente de impressão o calculo do total de retenções federais e passei para as Units responsáveis pela leitura do XML da NFS-e. Por favor atualize todos os fontes de todas as pastas, reinstale o ACBr e faça novos testes.
    1 ponto
  18. Bom dia! Acho que não entendi bem a sua lógica. Realmente, pode ser que dê vários campos se você for colocar nome por nome. Mas se observar os Leiautes do e-Social, da para ver que alguns campos se repetem nele em múltiplos registros. Além disso, sem ter uma melhor ideia do contexto, apenas lendo isso aqui: A princípio, pode parecer algo mais simples, mas me passa a impressão de que futuramente seja penoso para dar manutenção, pois pode acabar se encaixando na famosa expressão: "Quando eu fiz esse código lá atrás, só eu e Deus sabiam o que ele fazia, agora só Deus sabe". Do que eu entendi para sua atual necessidade, acredito que seria o caso de usar Rtti. Alguns links com explicação e demonstração: Working with RTTI [Delphi] Usando RTTI para exibir dados de um objeto em componentes visuais RTTI no Delphi 2010 Dominando a RTTI do Delphi - Aula 01
    1 ponto
  19. Oi Alexandre. Pois, eu sempre informava serie 10 para contingência SVC - AN , que achava que seria um padrão da receita de MG, estava enganado. Muito Obrigado.
    1 ponto
  20. Obrigado pela contribuição, em breve será validada para possível inclusão ao svn. #TK-4347
    1 ponto
  21. Bom dia, Na verdade não é preciso mudar a série quando emite em contingência. No link abaixo tem uma boa explicação sobre como fazer as mudanças para contingência.
    1 ponto
  22. Boa tarde! Na Rev-30232, foi removido o site de Colatina que estava fixo.
    1 ponto
  23. Foi lançado recentemente o ACBrBoletoFPDF, um novo componente desenvolvido para facilitar a impressão de boletos utilizando o ACBrBoleto. Esse componente foi criado com a intenção de oferecer uma solução independente de recursos gráficos, especialmente em servidores consoles. Uma das principais características do ACBrBoletoFPDF é a possibilidade de adicionar uma senha ao arquivo PDF gerado, aumentando a segurança dos boletos impressos. Isso é especialmente relevante para empresas que precisam garantir a confidencialidade das informações presentes nos boletos. Além disso, o ACBrBoletoFPDF já está disponível no instalador ACBrInstall, facilitando sua adoção por desenvolvedores que utilizam o ACBrBoleto em seus projetos. Esse novo componente utiliza a FPDF-Pascal, uma biblioteca convertida da famosa biblioteca FPDF, muito utilizada no PHP. A FPDF permite a criação de relatórios PDFs totalmente por código. Isso significa que os desenvolvedores também podem utilizar a FPDF-Pascal para criar relatórios PDF personalizados de maneira eficiente. Com o lançamento do ACBrBoletoFPDF, espera-se que o processo de impressão de boletos se torne muito mais rápido, acessível e seguro, atendendo às necessidades das empresas que dependem dessa funcionalidade. Essa é uma ótima notícia para desenvolvedores e empresas que lidam com boletos e desejam uma solução confiável e eficiente para a impressão desses documentos. O ACBrBoletoFPDF abre novas possibilidades para a automação de processos financeiros e oferece uma alternativa viável para a geração de boletos em ambientes sem recursos gráficos. O ACBr incorporou os fontes da biblioteca FPDF-Pascal, na pasta: \ACBr\Fontes\Terceiros\FPDF-Pascal Saiba mais sobre a FPDF-Pascal no link abaixo: https://github.com/Projeto-ACBr-Oficial/FPDF-Pascal
    1 ponto
×
×
  • 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.