Ir para conteúdo
  • Cadastre-se

gutembergscosta

Membros
  • Total de ítens

    169
  • Registro em

  • Última visita

Tudo que gutembergscosta postou

  1. Consultando a URL de status do serviço, direto no Browse com o certificado, o serviço retorna normalmente.
  2. E o pior é não saber a origem do problema, para uma ação pro-ativa, e poder sinalizar ao usuário.
  3. Boa tarde, do nada a conexão com a Sefaz/SP, certificado A3, parou de funcionar, uma simples consulta de status retornando. - Nada foi alterado, apenas atualização normal do Windows 10. - Uso as DLLs do projeto ACBr, configurado TLS 1.2. - Componentes ACBr atualizado. - Internet ok, a mesma de sempre DNS do Google, mas também testado com CloudFlare. Antes apresentava erro 12030, e de repente o erro abaixo. Erro Interno: -2146893815 Erro HTTP: 0 URL: https://nfe.fazenda.sp.gov.br/ws/nfestatusservico4.asmx Erro: 2148073481 - Alguém passando por isso ?
  4. Alguem sabe como obter token para a consulta via calendario.com.br ?
  5. Olá, Segue o arquivo devidamente ajustado ... nesse caso houve mais ajustes, tanto no envio, quanto no retorno, então as alterações ocorreram nas seguintes procedures; procedure GerarRegistroTransacao400(ACBrTitulo : TACBrTitulo; aRemessa: TStringList); override; Procedure LerRetorno400(ARetorno:TStringList); override; Percebi que essa funcition que retorna a descrição da rejeição está desatualizada em conformidade com a documentação / layout, caso desejem atualizar. function TACBrBancoSantander.CodMotivoRejeicaoToDescricao( const TipoOcorrencia:TACBrTipoOcorrencia; CodMotivo: Integer) : String; Obrigado. ACBrBancoSantander.pas 24-08-05_132259_cobrancas_400_ptbr[1].pdf
  6. Favor desconsiderar esse .pas, por algum motivo não foi o completamente alterado, inclusive, estou agora alterando o retorno para contemplar o registro pix de retorno, desculpe, logo mais envio o atualizado, definitivo.
  7. Alteração na procedure TACBrBancoSantander.GerarRegistroTransacao400(ACBrTitulo :TACBrTitulo; aRemessa: TStringList); ACBrBancoSantander.pas
  8. Na rotina de leitura, o registro=2, relacionado ao Pix, quando enviado na remessa(registro=8), não está sendo tratado. Anexei também um arquivo retorno, exemplicando o registro=2. Anexei o manual atualizado do Santander. COBST_CRUC_03_211124P_MOV.TXT 24-08-05_132259_cobrancas_400_ptbr[1].pdf
  9. Olá pessoal, homologuei o boleto Santander via cnab400 hibrido, contudo, para homologar o registro relacionado ao Pix, se fez necessário duas alterações, as quais reporto aqui para ajuste no projeto. Anexei duas imagens uma como o registro ficou, depois de alterado, e a outra com a nota/instrução do manual do banco onde fala sobre isso. 1) O registro=8, obrigatoriamente precisa ser inserido no arquivo logo depois do registro=1, e no caso antes do registro=2 (imagem anexada), somente assim o registro hibrido foi aceito pelo banco. 2) no registro 8 tem um uppercase, foi necessário retirar, uma vez que a chave pix passada foi um e-mail, e no caso o banco considera em minusculo. Abaixo a procedure TACBrBancoSantander.GerarRegistroTransacao400, modificada. procedure TACBrBancoSantander.GerarRegistroTransacao400(ACBrTitulo :TACBrTitulo; aRemessa: TStringList); var DigitoNossoNumero, Ocorrencia,aEspecie :String; Protesto, aAgencia, TipoSacado, wLinha :String; aCarteira, I: Integer; LMensagem1, LMensagem2, LMensagem3 : String; LTipoChaveDICT, Ltipopagamento : string; begin aCarteira := StrToIntDef( DefineCarteira(ACBrTitulo) , 0); if aCarteira = 5 then aAgencia := PadLeft(OnlyNumber(ACBrTitulo.ACBrBoleto.Cedente.Agencia) + ACBrTitulo.ACBrBoleto.Cedente.AgenciaDigito,5,'0') else aAgencia:= '00000'; FvTotalTitulos := FvTotalTitulos + ACBrTitulo.ValorDocumento; with ACBrTitulo do begin DigitoNossoNumero := CalcularDigitoVerificador(ACBrTitulo); {Tipo de Ocorrencia} ocorrencia := TipoOcorrenciaToCodRemessa(ACBrTitulo.OcorrenciaOriginal.Tipo); {Especie Documento} aEspecie := DefineEspecieDoc(ACBrTitulo); {Instruções} Protesto := InstrucoesProtesto(ACBrTitulo); {Pegando Tipo de Sacado} TipoSacado := DefineTipoSacado(ACBrTitulo); with ACBrBoleto do begin wLinha:= '1' + // 1- ID Registro IfThen(Cedente.TipoInscricao = pJuridica,'02','01') + // 2 a 3 PadLeft(trim(OnlyNumber(Cedente.CNPJCPF)),14,'0') + // 4 a 17 PadRight(trim(Cedente.CodigoTransmissao),20,'0') + // 18 a 37 PadRight( SeuNumero ,25,' ') + // 38 a 62 PadLeft(RightStr(NossoNumero,7),7,'0') + DigitoNossoNumero + // 63 a 70 IfThen(DataAbatimento < EncodeDate(2000,01,01), '000000', FormatDateTime( 'ddmmyy', DataAbatimento)) + // 71 a 76 ' '+IfThen(PercentualMulta > 0,'4','0') + // 77 a 78 IntToStrZero( round( PercentualMulta * 100 ), 4) + // 79 a 82 '00'+StringOfChar( '0', 13)+space(4) + // 83 a 101 IfThen((DataMulta <= 0),'000000', FormatDateTime( 'ddmmyy', DataMulta)) + // 102 a 107 IntToStr(aCarteira) + Ocorrencia + // 108 a 110 PadRight( NumeroDocumento,10,' ') + // 111 a 120 FormatDateTime( 'ddmmyy', Vencimento) + // 121 a 126 IntToStrZero( round( ValorDocumento * 100), 13) + // 127 a 139 '033' + aAgencia + // 140 a 147 PadLeft(aEspecie, 2) + 'N' + // 148 a 150 FormatDateTime( 'ddmmyy', DataDocumento ) + // 151 a 156 PadLeft(trim(Instrucao1),2,'0') + // 157 a 158 PadLeft(trim(Instrucao2),2,'0') + // 159 a 160 IntToStrZero( round(ValorMoraJuros * 100 ), 13) + // 161 a 173 IfThen(DataDesconto < EncodeDate(2000,01,01), '000000', FormatDateTime( 'ddmmyy', DataDesconto)) + // 174 a 179 IntToStrZero( round( ValorDesconto * 100), 13) + // 180 a 192 IntToStrZero( round( ValorIOF * 100 ), 13) + // 193 a 205 IntToStrZero( round( ValorAbatimento * 100 ), 13) + // 206 a 218 TipoSacado + PadLeft(OnlyNumber(Sacado.CNPJCPF),14,'0') + // 219 a 234 PadRight( Sacado.NomeSacado, 40, ' ') + // 235 a 274 PadRight( Sacado.Logradouro + ' '+ Sacado.Numero, 40, ' ') + // 275 a 314 PadRight( Sacado.Bairro,12,' ') + // 315 a 326 PadRight( OnlyNumber(Sacado.CEP) , 8, ' ' ) + // 327 a 334 PadRight( Sacado.Cidade, 15, ' ') + PadRight( Sacado.UF, 2 ) + // 335 a 351 Space(30) + // 352 a 381 ' I' + // 382 a 383 Copy( Cedente.Conta, length( Cedente.Conta ),1 ) + // PadLeft( Cedente.ContaDigito, 1 ) + // 384 a 385 Space(6) + // 386 a 391 Protesto + ' ' + // 392 a 394 IntToStrZero( aRemessa.Count + 1, 6 ); // 395 a 400 if (ACBrTitulo.ACBrBoleto.Cedente.PIX.TipoChavePIX <> tchNenhuma) then begin case ACBrTitulo.ACBrBoleto.Cedente.PIX.TipoChavePIX of tchCPF : LTipoChaveDICT := '1'; tchCNPJ : LTipoChaveDICT := '2'; tchCelular : LTipoChaveDICT := '3'; tchEmail : LTipoChaveDICT := '4'; tchAleatoria : LTipoChaveDICT := '5'; end; case tipopagamento of tpAceita_Qualquer_Valor : Ltipopagamento := '01'; tpAceita_Valores_entre_Minimo_Maximo: Ltipopagamento := '02'; tpNao_Aceita_Valor_Divergente: Ltipopagamento := '03'; end; wLinha:= '8' + // 001 - 001 PIX Ltipopagamento + // 002 - 003 Identificação do tipo de pagamento IntToStrZero(QtdeParcelas,2) + // 004 - 005 Quantidade de pagamento possíveis '2' + // 006 - 006 Tipo de valor informado (1=%, 2=Valor) IntToStrZero( round( ValorDocumento * 100), 13) + // 007 - 019 Valor Máximo PadLeft('0',5,'0') + // 020 - 024 % (Percentual) Máximo IntToStrZero( round( ValorDocumento * 100), 13) + // 025 - 037 Valor Mínimo PadLeft('0',5,'0') + // 038 - 042 % (Percentual) Mínimo LTipoChaveDICT + // 043 - 043 Tipo de Chave Pix PadRight(ACBrTitulo.ACBrBoleto.Cedente.PIX.Chave,77,' ') + // 044 - 120 Chave Pix PadRight(QrCode.txId,35,' ') + // 121 - 155 Código de identificação do Qr Code (TXID) Space(239) + // 156 - 394 Reservado (uso Banco) IntToStrZero( aRemessa.Count + 1 , 6 ); // 395 - 400 Sequencial de Registro aRemessa.Add(wLinha); aRemessa.Add(UpperCase(wLinha)); LMensagem1 := ''; LMensagem2 := ''; LMensagem3 := ''; if Mensagem.Count >= 1 then LMensagem1 := TiraAcentos(Mensagem[0]); if Mensagem.Count >= 2 then LMensagem2 := TiraAcentos(Mensagem[1]); if Mensagem.Count >= 3 then LMensagem3 := TiraAcentos(Mensagem[2]); wLinha:= '2' + // 001-001 "2" - Recibo Pagador space(16) + // 002-017 Reservado Banco PadLeft(Cedente.CodigoTransmissao,20,'0') + // 018-037 Agencia / Conta Movimento / Conta Cobranca Space(10) + // 038-047 Reservado Banco '01' + // 048-049 SubRegistro "01" PadRight(LMensagem1, 50) + // 050-099 Mensagem Variavel '02' + // 100-101 SubSequencia "02" PadRight(LMensagem2, 50) + // 102-151 Mensagem Variavel '02' + // 152-153 SubSequencia "02" PadRight(LMensagem3, 50) + // 154-203 Mensagem Variavel Space(179) + // 204-382 Reservado Banco 'I' + // 383-383 Identificação do Complemento PadLeft(Copy( Cedente.Conta, length( Cedente.Conta ),1 ), 1, '0') + PadLeft( Cedente.ContaDigito, 1, '0' ) + // 384-385 Complemento Space(9) + // 386-394 Reservado Banco IntToStrZero( aRemessa.Count + 1 , 6 ); // 395-400 Sequencial de Registro aRemessa.Add(UpperCase(wLinha)); end; end; end; end;
  10. Alguém que já implementou e está funcional poderia fornecedor informações, tipo a integração está legal, envia vários boletos, o retorno é na própria requisição, ou tem que consultar depois, na consulta volta o lote com todos os titulos do dia, como seria a consulta, retorno, perrengues ... agradeço quem puder enviar informações a dispeito da implantação e uso nesse banco.
  11. Fiz a comparação, mudou o header e trailer do arquivo, isso por que o numero de protocolo que recebemos ao enviar aumentou de tamanho, essa foi a diferença que encontrei header antigo : 025739872900018520217602440 header novo : 0257398729000185240000744059230 aumentou por conta do numero de protocolo, vou aguardar pra ver se por acaso a versão do software importado do banco sofre alguma alteração por conta disso - obrigado.
  12. Infelizmente não, apenas que o arquivo está inconsistente, e que falta informações, e só, tentei inserir aqui os arquivos e imagem, mas dá erro de upload.
  13. Sim, transmito o arquivo via componente, porém pelo que vi o arquivo retorno de pagamento passou a gerar inconsistencia ao importar no software do banco do brasil.
  14. Boa tarde, Alguém usa o arquivo de retorno de pagamento oriundo do portal da GNRE para automatizar o pagamento, importando o arquivo via soft do Banco do Brasil ? Até poucos dias estava ok, mas houve uma mudança onde o header e trailer sofreram alteração de tamanho, acredito que face o numero de protocolo que aumentou de tamanho, agora o software do banco do brasil ao tentar importar, informa que o arquivo está inconsistente. Não consegui inserir os dois arquivos o antigo e o novo, apresenta erro de upload.
  15. Boa tarde, Alguém usa o arquivo de retorno de pagamento do portal para automatizar o pagamento importando o arquivo via soft do Banco do Brasil ? Até poucos dias estava ok, mas houve uma mudança onde o header e trailer sofreram alteração de tamanho, acredito que face o numero de protocolo que aumentou de tamanho, agora o software do banco do brasil ao tentar importar, informa que o arquivo está inconsistente.
  16. Bacana, obrigado pela atenção, vou acessar para ver a solução.
  17. Boa tarde, Atualizado todo o acbr (reinstalando), apresenta o erro nos report do Fortes Report, é preciso usar alguma nova versão do Fortes, se sim, poderia informar qual versão devo instalar. Não foi possível localizar o ponto de entrada do procedimento @Rlreport@TRLCustomReport@SetDefaultFilter$qqrpx25Rlfilters@TRLCustomFilter na biblioteca de vínculo dinâmico \NFe_ACBR_Novo\Lib\Delphi\LibD7\Win32\ACBr_BoletoRL.bpl.
  18. Banco 341-itau, gero no cnab o registro 3 = BoleCode, e no retorno no mesmo registro 3, banco informa o Payload do Pix gerado por ele e vinculado ao boleto, no qual pego essa string e envio para o cliente fazer copie-e-cole, daí gostaria de imprimir o boleto com o qrcode desse payload.
  19. Olá pessoal, Como faço para imprimir o QRCode Pix, já tenho a string do payload disponibilizado pelo Banco, gostaria de passar para o componente e imprimir o qrcode baseado nesse payload - não encontrei propriedade para indicar essa string.
  20. O mais estranho é que XML é validado em qualquer ferramenta online, e ele é o XML protocolado e enviado pelo próprio prestador de serviço, poderia até antes de submeter ao componente remover essa tag <RetornoConsulta ....> e </RetornoConsulta>, mas não seria muito usual... pelo que entendi então o componente entende/lê apenas apartir da tag <NFe ... seria isso teria quer normatizar essa string do XML antes ?
  21. exatamente aqui -> XMLStr := DecodeToString(XMLUTF8, True); tirando esse caractere ? o arquivo é importado sem problema, contudo, os valores não carregados nas propriedades do componente ... mas nenhum erro/exceção é disparado pelo componente.
  22. Tranquilo, na próxima não posto mais no corpo da mensagem - esse XML (anexado) é o fornecedor do serviço que nos envia, já vem dessa forma, mas está ok e validado/protocolado, o problema ocorre quando é importado no componente.
  23. Boa tarde, favor desconsiderar ... por um problema no INI aqui, o componente ficou desconfigurado ... já resolvido. obrigado.
  24. Bom dia, coincidencia ou não ... após atualização do componente ... ao carregar um XML (o arquivo está ok,validado, protocolado) está retornano a exceção. unit ACBrNFeNotasFiscais.pas Result := LoadFromString(String(XMLUTF8), AGerarNFe); XML anexado para que possa usar em testes. 35220803838744000178550010000727101705536353.xml
×
×
  • 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...