Ir para conteúdo
  • Cadastre-se

Mario Inacio

Membros Pro
  • Total de ítens

    361
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que Mario Inacio postou

  1. Bom dia. Com essa alteração, mesmo os boletos que "Não" eram pra negativar, estavam emitindo com a mensagem de Negativação. Correção em anexo. ACBrBoleto.pas
  2. Bom dia. Infelizmente temos mais isso pra ver em nosso dia a dia. Estamos lendo muito também, mas de fato, o que vimos, foram muitas cópia de artigos que falam a mesma coisa, e nada ainda de como implementar isso em nossos ERP´s. É um assunto novo e nem mesmo foi criada a Agência que vai regulamentar a forma de verificação e comprovação da aplicação dessa Lei. Temos que trocar experiências para evoluir no assunto.
  3. Bom dia. Alterei a Unit ACBrBoleto para exibir a mensagem de negativação caso ela seja diferente de "cnNenhum". Função: AdicionarMensagensPadroes Linha: 2049 Segue fonte para análise ACBrBoleto.pas
  4. Boa tarde. Diretamente no site da Febraban em https://portal.febraban.org.br/pagina/3053/33/pt-br/layout-240 E nesse link, as particularidades do Banco do Brasil. https://www.bb.com.br/docs/pub/emp/empl/dwn/CNAB240SegPQRSTY.pdf
  5. Boa tarde. Pelo que notei, as alterações acima referentes a Negativação não contemplaram a geração do arquivo, e sim a impressão. Fiz a mudança no fonte para gerar no Banco do Brasil CNAB240, como seguem anexo. ACBrBancoBrasil.pas
  6. Olá Juliana. Estou me referindo a retorno no CNAB 240 e não possui essa informação de carteira nessas posições, como segue o arquivo de retorno em anexo. IEDCBR4020605201935631.ret
  7. Bom dia Juliana. Mas no header de retorno não há informação de carteira.
  8. Boa tarde. Notei que para um cliente que configurou como carteira 11, também não está entrando no IF da primeira imagem, a solução foi alterar conforme abaixo:
  9. Boa tarde. Meu cliente emite boleto BB na carteira 17. Para retornar o nosso número gerado a função abaixo esta analisando e retornando 5 digitos: Já no retorno, ele não está entrando no mesmo lugar, pois quando atribui a Carteira na leitura, está atribuindo apenas o '7, que está na posição 58': Arquivo de retorno para teste. IEDCBR4020605201935631.ret
  10. Bom dia. Não sei ao certo o que mudaram na validação do Sicoob, mas tive que alterar novamente o ACBrBancoBancoob.pas. O código (linha 896) estava assim, enviando a DataDesconto vazia caso não houvesse informação de desconto: {Descontos} if (ValorDesconto > 0) then begin if(DataDesconto > 0) then ADataDesconto := FormatDateTime('ddmmyyyy', DataDesconto) else ADataDesconto := PadLeft('', 8, '0'); end else ADataDesconto := PadLeft('', 8, '0'); Dessa forma, estava rejeitando, então apenas alterei pra gerar zeros caso não haja desconto: {Descontos} if (ValorDesconto > 0) then begin if(DataDesconto > 0) then ADataDesconto := FormatDateTime('ddmmyyyy', DataDesconto) else ADataDesconto := PadLeft('0', 8, '0'); // aqui end else ADataDesconto := PadLeft('0', 8, '0'); //aqui Segue o novo arquivo em anexo. Abraços ACBrBancoBancoob.pas
  11. Boa tarde. Assim como fez wadcompany, estou anexando uma alteração que fiz na unit ACBrBancoBancoob pois a mesma não estava gerando no arquivo de remessa a data juros mora, posição 119 a 126, do bloco Registro Detalhe "P", mesmo informando nas propriedades do componente. Comentei o trecho que estava preenchendo a data como 00000000, na linha 873 até a 879, informado abaixo a variável ADataMoraJuros formatada e obrigatória conforme norma do Manual, também em anexo. Peço que algum moderador avalie e se for o caso suba pra todos no SVN, pois com algumas mudanças no validador do SICOOB sem esta informação não valida o arquivo de remessa 240, e após a referida mudança, validou corretamente. Fico no aguardo e agradeço a atenção. ACBrBancoBancoob.pas Layouts_para_troca_de_informações - cooperativas - Cobrança Bancária.xls
  12. Boa tarde. Vocês conseguiram transmitir com o ValorCancelamento no campo apropriado? Se sim, como esse valor impactou no total parcial? Se tiver um exemplo ajuda. Simplesmente um descaso da SEF, pois estou desde o dia 21/09 esperando e questionando e não respondem. Se transmito conforme a primeira imagem retorna: Erro 3012: O valor da venda bruta diária deve ser a soma dos valores líquidos + cancelamentos + descontos. Venda bruta diária: R$ 200952. Soma dos valores: R$ 2015,27 Se transmito conforme a segunda, retorna: Erro 3011: O valor do totalizador parcial F1 deve ser a soma dos valores líquidos dos produtos/serviços
  13. Olá Marina, Podia me passar informações de como transmitir esses arquivos a CIDASC, bem como montar o XML, pois não encontro informações sobre isso?
  14. Certo, assim que resolver essa questão, coloco aqui a título de conhecimento.;
  15. Boa tarde Gustavo. Você está conseguindo enviar arquivos de Redução que contenham Cancelamentos? Está transmitindo até a alguns dias atrás, depois começou a recusar, em contato com o Bruno Nogueira, ele me passou que deveria retirar o "Can-T" como Totalizador Parcial, e incluir esse valor cancelamento no campo "ValorCancelamento". Desde então, não consigo mais transmitir, mudando esse valor e somando-o ao TotalizadorParcial. Peço ajuda a SEF mas somente me mandam manuais e não esclarecem porque tal rejeição. Já passou por isso? E caso esteja conseguindo transmitir, pode me enviar um XML pra comparar com o meu?
  16. Vou enviando os próximos. Os que estão na condição de "aguardando", consulto sempre pra ver se mudou o status.
  17. Estou deixando como pendente e consulta diariamente, no meu caso, não chegou a ficar no limite permitido de pendências.
  18. Olá Joao. Essa demora é do WS, que vive em manutenção. Tem que ficar consultando, pois ele ainda não tem um ambiente estável. Testei aqui com apenas um produto e também trava. Está travando nesse trecho: XmlAss := FSSLXmlSignClass.Assinar( ConteudoXML, docElement, infElement, SignatureNode, SelectionNamespaces, IdSignature, IdAttr); ConteudoXML - Está chegando conteúdo do XML docElement - Está chegando 'Estoque' infElement - Está chegando 'Mensagem' Os demais parâmetros estão chegando vazios.
  19. Boa tarde. Estou assinando pelo componente, assim como faço com as reduções. https://drive.google.com/open?id=1ZB6_juPIf2ssxjye88PMOH3VsFkJJ8Tz
  20. Bom dia. Alguém me ajudar?
  21. Boa tarde. O Bloco X está funcionando normalmente num cliente quanto a Reducoes. Mas ao fazer o arquivo de Estoque, travou quando foi para assinar o arquivo. Deixei mais de uma hora e não retornou. O arquivo tem 23MB. Alguém já passou por esse problema? Segue o arquivo em anexo pra quem queira testar. Fisco - Estoque Mensal - 31072018.rar
  22. Bom dia. O componente ACBRBlocoX não funciona com certificados A3 ? Estou tentando transmitir num cliente e me retorna "Cartão não pode ser acessado porque o PIN errado foi apresentado"
  23. Olá Jefferson. HTTP 500 é o servidor fora do ar. Acontece com frequência, tente mais tarde. A compactação faço pelo componente citado acima.
  24. Seguem os códigos: function ValidarArquivo: Boolean; begin Result := True; if tArqXml.Text = '' then begin MessageBox('Erro! Arquivo Vazio'); Result := False; end; if not XmlEstaAssinado(tArqXml.Text) then begin MessageBox('Erro! Arquivo sem assinatura'); Result := False; end; end; function XML_Validar: boolean; begin Result := False; if not ValidarArquivo then Exit; WSValidar := trBlocoX.WebServices.ValidarBlocoX; WSValidar.XML := tArqXml.Text ; WSValidar.ValidarPafEcfEEcf := False; if WSValidar.Executar then Result := True else wrequest(WSValidar.RetWS); end; function XML_Transmitir: boolean; var FileStream: TMemoryStream; begin Result := False; if not ValidarArquivo then Exit; try FileStream := TMemoryStream.Create; FileStream.LoadFromFile(PastaGrav+ArqZip); WSEnviar := trBlocoX.WebServices.EnviarBlocoX; WSEnviar.XML := tArqXml.Text; WSEnviar.XMLZipado := TransfBase64.EncodeStream(FileStream,FileStream.Size); if WSEnviar.Executar then begin Recibo:= wSEnviar.Recibo; if Pos('Não gerado',Recibo) > 0 then begin MessageBox('Erro ao enviar para WebService do Sefaz!'+#13+#13+ WSEnviar.RetWS); end else begin Result := True; XML_GravaRecibo(1); SalvaStringArquivo(WSEnviar.RetWs, fMenu.PastaApl+'PAF-ECF\'+ iif(cds1.fieldbyname('codigo').asstring='REDUCAO', 'Recibos dos Arquivos com Informações da Reducao Z do PAF-ECF\', 'Recibos dos Arquivos com Informações do Estoque Mensal do Estabelecimento\')+ Recibo+'.xml'); Sleep(3000); end; end else MessageBox('Erro ao enviar para WebService do Sefaz!') finally FileStream.Free; DeleteFile(PastaGrav+ArqZip); end; end; procedure XML_ConsultaRecibo; begin WSConsultar := trBlocoX.WebServices.ConsultarBlocoX; WSConsultar.Recibo := Recibo; WSConsultar.Executar ; if wsconsultar.SituacaoProcCod = 1 then begin MessageBox('Arquivo com informações '+ iif(cds1.fieldbyname('codigo').asstring='REDUCAO', 'da Redução Z do PAF-ECF ','do Estoque Mensal do Estabelecimento ')+ 'transmitido com sucesso!'); XML_GravaRecibo(9); end else MessageBox('Erro ao enviar para WebService do Sefaz!'+#13+#13+ wsconsultar.RetWS); end; Usei o componente IdEncoderMIME da paleta Indy pra converter para Base64. Nenhuma função que peguei na internet ou no fórum funcionou. Qualquer coisa, pergunta ai.
  25. Bom dia. Você deverá transformar o arquivo ZIP em base64
×
×
  • 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.