Painel de líderes
Conteúdo popular
Showing content with the highest reputation on 30-10-2020 em todas as áreas
-
Olá pessoal Confirme prometido estou anexando aqui nessa postagem o programa exemplo do componente ACBrNFSe refatorado para que vocês possam realizar os testes com os provedores de seus clientes. Caso tenham algum problema, em alguma funcionalidade favor anexar os XMLs de envio e de retorno que funciona atualmente e os gerados com o novo componente para que eu possa fazer as devidas correções. Foram implementados nesse novo componente 32 provedores que se utilizam da versão 1 do layout da ABRASF, 55 provedores (inclusive: SiapSistemas e DSFv2) que se utilizam da versão 2 do layout da ABRASF e 20 provedores que seguem o seu próprio layout, totalizando 107 provedores, abrangendo 1215 cidades. Como realizar os testes: Na sua maquina de desenvolvimento crie uma pasta (Por exemplo: NovoACBrNFSe) descompacte o arquivo ACBrNFSe_Exemplo.rar dentro dessa pasta. Ao executar ele pela primeira vez vai aparecer a tela de erro: O motivo de aparece essa tela é porque ainda não existe o arquivo de configuração. Clique no botão [OK] E configure da mesma forma que você configurou o programa exemplo do componente atual, ou antes de executar copie para dentro dessa pasta o arquivo de configuração (ACBrNFSe_Exemplo.ini) do programa exemplo que esta na pasta: ...\Exemplos\ACBrDFe\ACBrNFSe\Delphi Note que nesse novo programa exemplo temos um botão chamado Envio: Foi criado um novo método chamado Emitir que tem por finalidade abstrair os métodos de envio de cada provedor. Vamos a alguns exemplos: Os provedores que seguem a versão 1 do layout da ABRASF só possuem 1 método de envio que é o Enviar, logo o método Emitir vai usar esse método, por outro lado o provedor 4R que segue a versão 2 do layout da ABRASF e deveria ter disponibilizado os métodos Enviar, EnviarSincrono e Gerar, disponibilizou somente o EnvioSincrono, logo o método Emitir vai usar esse método. O provedor MegaSoft que também segue a versão 2 do layout da ABRSAF e que deveria ter disponibilizado os 3 métodos citados acima, só disponibilizou o método Gerar, logo o método Emitir vai se utilizar do método Gerar para enviar o RPS par o WebService. Assim que liberarmos os fontes do novo componente conto com todos para melhorarmos o método Emitir, pois acredito que ele vai simplificar bastante. Por fim peço a todos que postem os resultados dos testes aqui no fórum. Para quem não é membro do SAC favor postar em: Home / Fórum Aberto - ACBr / ACBrDFe / ACBrNFSe Para quem é membro do SAC favor postar em: Home / Suporte Pago - SAC / DFe - Documentos Fiscais Eletrônicos Programa exemplo do novo componente ACBrNFSe: ACBrNFSe_Exemplo.exe(compilado: 11/11/2020 as 16:14) Desde já muito obrigado pela colaboração de todos.4 pontos
-
do e-mail já consegui. Já deu certo também o número da nota. Muito obrigado pessoal! Suporte rápido e direto do ACBR! Parabéns!2 pontos
-
@Bruno Maia emissão de Cupom SAT é somente para o estado de São Paulo e Ceará, no Ceará é utilizado o MFE, o ACBrSAT atende isso. para os demais estados senão me engano é a emissão de NFe/NFCe e ECF https://www.projetoacbr.com.br/forum/forum/88-mapa-fiscal/2 pontos
-
Olá galera, foram feiras algumas alterações no ACBrNFSe, há algum cliente que é optante MEISimei na Cidade de Juina-MT, e não havia uma forma de enviar essa informação pelo componente, eis as mudanças(em anexo). pnfsNFSeW_Agili.pas pnfsLerListaNFSe.pas pnfsNFSe.pas1 ponto
-
1 ponto
-
Para programador não sei se tem melhor, existe as da tecnospeed mas nunca vi1 ponto
-
1 ponto
-
Olá pessoal, Para quem ainda não sabe estou promovendo um Refactoring no componente ACBrNFSe. Ele praticamente foi reescrito do zero e infelizmente teremos algumas quebras de código quando ele for liberado. Mas vamos falar de coisas boas. Hoje temos que disponibilizar para os nossos clientes além do executável, DLLs, os famosos arquivos INI, o arquivo Cidades.ini e os arquivos INI dos provedores. Pois bem, isso acabou. Os arquivos INI referente aos provedores se transformaram em Unit, ou seja, fazem parte do fonte do componente. O conteúdo do arquivo Cidades.ini migrou para o arquivo ACBrNFSeServicos.ini que é transformando no ACBrNFSeServicos.res através do BAT: Compila_RES. O arquivo ACBrNFSeServicos.res é incorporado ao executável, logo vocês só vão precisar distribuir o executável e as DLLs para os seus clientes. O que vocês acharam dessa mudança? Ainda não esta 100%, em função das diferenças dos provedores, mas criei um novo método chamado Emitir que tem por finalidade gerar o XML do RPS, assinar se necessário, gerar o Lote e assinar se necessário, enviar, aguardar o retorno do XML da NFSe. Independente do serviço que o provedor se utiliza para recepcionar o XML do RPS. Vou dar um exemplo: O provedor 4R que segue a versão 2 do layout da ABRASF implementou somente o método EnviarLoteRpsSincrono para recepcionar o RPS, sendo que no Manual da ABRASF versão 2 estão previstos os métodos: EnviarLoteRps, EnviarLoteRpsSincrono e GerarNfse. Por outro lado o provedor ISSJoinville que também segue a versão 2 do layout da ABRASF implementou somente o método EnviarLoteRps. Se vocês tem clientes cujas cidades utilizam o provedor 4R e tem clientes em Joinville, ou vocês tem duas aplicações ou a aplicação tem uma tela de configuração para definir qual método a ser utilizado. O método Emitir vem para tentar resolver esse problema da seguinte forma: se o provedor for 4R ele vai se utilizar do método EnviarLoteRpsSincrono automaticamente, agora se for ISSJoinville vai usar o EnviarLoteRps. Desta forma não precisamos de nos preocuparmos com qual o método devemos usar para enviar o RPS para o webservice. Acredito que vai ficar muito bom e pratico. O que vocês acham? Muita coisa já foi feita e muito mais precisa ser feito. Para que vocês tenham uma ideia foi criado 32 Units, ou seja, uma para cada provedor que segue a versão 1 do layout da ABRASF, mais 53 Units para os provedores que seguem a versão 2 do layout da ABRASF e mais 19 Units para os provedores que tem o seu próprio layout. Até o final deste mês de outubro estarei disponibilizando o programa exemplo compilado para que vocês possam fazer mais testes. Em breve vou explicar como vão ser os testes e como reportar os resultados. Antes que eu esqueça, esse Refactoring visa poder incluir a emissão da NFS-e no ACBrMonitor Plus e a criação do ACBrLibNFSe (DLL). Um forte abraço a todos.1 ponto
-
Olá Marcelo! Sim! kkkk, esta informação surgiu do BC no final do dia 29/10/2020 e veio para atender as necessidades do B2B. Em breve teremos que implementar esta funcionalidade. A única coisa que não foi respondida é se poderá ser utilizado para protesto.1 ponto
-
https://olhardigital.com.br/noticia/o-fim-dos-boletos-banco-central-anuncia-o-pix-cobranca/109577 ...Batizado de Pix Cobrança, um dos recursos permite que lojistas, fornecedores e prestadores de serviço gerem QR Codes para receber valores. Com isso, é possível definir data limite para que o valor seja pago, descontos e multas. A funcionalidade se assemelha ao que é visto hoje com o pagamento de boletos bancários. ... O Pix Cobrança para pagamentos imediatos poderá ser feito já a partir do lançamento do novo sistema, marcado para 16 de novembro. Já o Pix Cobrança para pagamentos com vencimento (data futura) "será ofertado em breve", informou o BC.1 ponto
-
Bom dia Claudio, O problema é que você esta gerando a chave de forma errada. O digito que vem logo após o numero do MDF-e é o tipo de emissão (tag tpEmis) e não o tipo do emitente (tag tpEmit). Outra coisa, você esta atribuindo a tag cMDF um numero fraco que me parece ser o valor de nMDF + 1. O valor de cMDF tem que ser um código aleatório, conforme consta no manual. cMDF - Código numérico que compõe a Chave de Acesso. - Código aleatório gerado pelo emitente, com o objetivo de evitar acessos indevidos ao documento. O código deve ser gerado pela sua aplicação e salvo no banco de dados juntamente com os demais dados. Na hora de gerar o XML esse código é lido do banco de dados. Outra coisa que notei é que você esta gerando o XML com quebras de linha, recomento que não faça isso.1 ponto
-
1 ponto
-
1 ponto
-
pra falar e verdade eu não sei pois ele não vai ser lido por mim, mas eu resolvi usando json4delphi (que esta na pasta "Fontes\Terceiros" do acbr)e nele funciona certinho, é algum problema no fpjson que eu não consegui resolver. eu só não queria depender de nenhum componente externo pois é um projeto simples e eu vou ter que entregar os fontes para o cliente e ele não quer dependência externa para não gerar quebra quando houver uma possível migração ou atualização1 ponto
-
A causa do problema era a falta das dlls na pasta do meu sistema: libcrypto-1_1-x64.dll libssl-1_1-x64.dll libcrypto-1_1.dll libssl-1_1.dll Estas dlls podem ser encontradas na pasta original do ACBR: \Acbr\DLLs\OpenSSL Bastou copiar essas dlls para a mesma pasta do meu sistema e voltou a funcionar o envio de emails.1 ponto
-
Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.1 ponto
-
Bom dia, está se referindo ao log... São detalhes dos procedimentos internos que estão sendo realizados, campos como senhas por exemplo são criptografados para gravar no .ini de configuração, essa função faz essa validação.1 ponto
-
Bom dia Danny, Muito obrigado pela colaboração, vou incluir na minha lista de tarefas.1 ponto
-
Forçando no código a versão para 4.0 resolveu ACBrNFe1.Configuracoes.Geral.VersaoDF:= ve400 ;1 ponto
-
Boa tarde Claudio, Quando você gerar o XML não gere com identação e nem quebra de linha. O seu XML possui quebra de linha em todas as tags.1 ponto
-
Bom dia, está na nossa lista de tarefas. Em breve disponibilizamos para testes...1 ponto
-
@Alexandre Felippeto Henzen estamos fazendo um ajuste, logo vamos retornar para você !1 ponto
-
Acho que você pode usar a mesma técnica que usamos, para imprimir o QRCode no Fortes, na Unit: ACBrDFeReport.pas... creio que basta copiar esse trecho de código Uses ACBrDelphiZXingQRCode .... procedure PintarQRCode(const QRCodeData: String; APict: TPicture; const AEncoding: TQRCodeEncoding); var QRCode: TDelphiZXingQRCode; QRCodeBitmap: TBitmap; Row, Column: Integer; begin QRCode := TDelphiZXingQRCode.Create; QRCodeBitmap := TBitmap.Create; try QRCode.Encoding := AEncoding; QRCode.QuietZone := 1; QRCode.Data := widestring(QRCodeData); //QRCodeBitmap.SetSize(QRCode.Rows, QRCode.Columns); QRCodeBitmap.Width := QRCode.Columns; QRCodeBitmap.Height := QRCode.Rows; for Row := 0 to QRCode.Rows - 1 do begin for Column := 0 to QRCode.Columns - 1 do begin if (QRCode.IsBlack[Row, Column]) then QRCodeBitmap.Canvas.Pixels[Column, Row] := clBlack else QRCodeBitmap.Canvas.Pixels[Column, Row] := clWhite; end; end; APict.Assign(QRCodeBitmap); finally QRCode.Free; QRCodeBitmap.Free; end; end;1 ponto
-
100% certa a resposta do @Marcos Bordin. Obrigada pela ajuda. Abaixo como ficaria a conexão via protocolo ADO sem a necessidade da dll ntwdblib.dll para quem precisar. {$IFDEF ZEOS} S := 'Provider=SQLOLEDB.1;' + 'Password=''123'';' + 'Persist Security Info=True;' + 'User ID=''SA'';' + 'Initial Catalog=''DB_LOJA'';' + 'Data Source=''SERVIDOR\SQLEXPRESS'' '; Result := TModelConexaoFactoryConexoes.New .ConexaoZeos .Parametros .Database(S) .DriverID('ado') //protocol .Porta(3050) .EndParametros .Conectar; {$ENDIF}1 ponto