Ir para conteúdo
  • Cadastre-se

Mateus Brunelli

Membros Pro
  • Total de ítens

    135
  • Registro em

  • Última visita

  • Days Won

    1

Posts postados por Mateus Brunelli

  1. Bom dia pessoal, estou com o mesmo problema, e verifiquei o seguinte. 

    Para emissão do boleto e do arquivo de remessa para o Banrisul segundo o layoute do banco na página 5. Com relação ao Código do Beneficiário informa o seguinte:

    image.thumb.png.cffcfe79f2b8fc3c0f106bec204bed0f.png

    Ou Seja, o banco exige que na remessa tenha sempre 4 dígitos na agencia. Mesmo quando o número da agência tem apenas 3 dígitos. 

    Porém no retorno que vem do banco conforme informa o Manual do banco na página 17 (print abaixo), se a agencia tiver apenas 3 dígitos, o arquivo de retorno virá com apenas estes 3 dígitos, sem o zero na frente da agencia. Ou seja mudará as posições onde tem a agencia e código do beneficiário no header do arquivo de retorno.

    image.thumb.png.66448d0cff58c5d2fda6e4ca4d70dbec.png

     

    Sendo assim na leitura do arquivo de retorno quando pegar a informação da agencia e beneficiário no header do arquivo de retorno as posições destes campo vai variar dependendo se a agencia tem 3 ou 4 dígitos. Ex: Caso a agencia tenha 3 dígitos o código do beneficiário começará na posição 30 e caso a agencia tenha 4 dígitos o código do beneficiário começará na posição 31. Por isso está dando problema na validação da agencia/conta do arquivo de retorno.

    Para contornar isso fiz uma alteração no arquivo ACBrBancoBanrisul.pas onde verifico quantos dígitos existem nas posições 27 a 39 se tiver 12 dígitos então é porque a agencia está com 3 dígitos apenas, sendo assim tem que pegar apenas os 3 caracteres (27, 28 e 29 do header do arquivo) e pegar o beneficiário a partir da posição 30. Já se tiver 13 dígitos é porque a agencia possui 4 dígitos, sendo assim tem que pegar 4 caracteres (27, 28, 29 e 30 do header do arquivo) e pegar o beneficiário a partir da posição 31. Visto que quando tiver apenas 3 dígitos na agencia, então o último caractere do intervalo 27 a 39 (que será o caractere 39 do header do arquivo) será branco pois começou o beneficiário 1 caractere antes.

    A alteração que fiz está no arquivo em anexo.

    Peço que validem e se acharem pertinente disponibilizem no repositório de fontes do SVN.

     

    ACBrBancoBanrisul.pas

  2. Bom dia,

    Daniel, fiz os testes e adicionando o TipoCampo 134 ali funciona para conseguir ter o valor do NSU da última transação efetuada no momento que restaurar a aplicação que caiu no momento que pedir para retirar o cartão para confirmar as transações. Porém verifiquei que eu preciso também da informação do Nome da Instituição (Bandeira) que é o tipo campo 156. Como pode ver no log que estou passando abaixo este campo vem depois na sequencia, aí já não tenho ele também no arquivo temporário e teria que incluir ali nos campos também. Que no caso ficaria: 133, 134, 156, 952. E veja ali nos logs também que o último campo que vem é o TipoCampo=1. E conforme o manual de integração do Sitef (Print em anexo) página 30 o TipoCampo = 1 significa "Dados de confirmação da transação. Para ambientes com múltiplos servidores será retornado no seguinte formato: <Dados_Confirmacao>;<Indice_SiTef>;<Endereco_SiTef>". Ou seja, eu não acharia incorreto deixar ali o tratamento para gravar no arquivo quando o TipoCampo for 1.

    Se puder verifica isso, para minha aplicação eu precisaria dos campos 134 e 156 além dos que já estão sendo tratados (133 e 952). Mas acharia melhor já colocar o TipoCampo=1 ali. Para que não seja necessário acrescentar mais algum campo futuramente ali no tratamento.

     

    Logs_SITEF.jpg

    Print_pag30_ManualCliSitef.jpg

  3. Bom dia

    Com a alteração sugerida pelo @drdenilson com relação ao "toRetornoBaixadoViaArquivo" faz-se necessário alterar também na linha 1486

    onde existia: toRetornoBaixado                                 : Result := '09';

    substituir por: toRetornoBaixadoViaArquivo                                 : Result := '09';

    Pois senão fizer isso está acontecendo problemas ao processar retornos onde vem a instrução de baixa Código "09". Não está localizando corretamente essa instrução e colocando ela com código de instrução "02" o que é incorreto.

     

    O Arquivo corrigido está em anexo abaixo.

     

    ACBrBancoSicredi.pas

    • Curtir 1
  4. Daniel, realmente não vem em ordem, por isso que coloquei o tipocampo=1 ali para gravar as informações, pois percebi que é retornado tipocampo=1 depois de todos os outros campos, por isso por isso coloquei o tipocampo=1 ali, para que se precisar recuperar outro campo além do 133, 134 e 952 também seja possível sem que seja necessário modificar nos fontes.

    O que acha?

     

  5. Oi Daniel,

    Certo mas fazendo isso força com que quando o tipo campo for 1 grave as informações no TXT. E gravando no TXT quando vai confirmar a transação interrompida anteriormente vai ter o NSU da ultima transação efetuada, que é o que precisa.

    Com essa alteração resolve o problema. Creio que se colocar o tipo campo = 134 (NSU do Host autorizador) também funcione para este campo, só que se precisar pegar algum outro campo que vem na sequencia não terá também pois não gravou no TXT com a informação da ultima transação efetuada.

     

  6. Bom dia pessoal, existe a possibilidade de inclusão no repositório dos fontes essa alteração realizada nos posts acima? Essa alteração está funcionando corretamente já tem bastante tempo e toda vez que atualizo os fontes se faz necessário efetuar a alteração no fonte manualmente.

    Abaixo estou passando novamente o arquivo atualizado e alterado.

    Agradeço desde já.

     

    ACBrTEFDCliSiTef.pas

  7. Boa tarde.

    Com relação a incluir o código de autorização na impressão do cupom, não sei se é adequado por isso a princípio não incluí a alteração do @Marcelo Aguiar Alvim sugerida logo acima. Porém eu alterei a impressão para que só imprima a bandeira do cartão junto da forma de pagamento quando o tpIntegra = tiPagIntegrado, pois se não tiver essa validação, sempre imprime a bandeira "Visa" para as formas de pagamento de cartões quando tpIntegra <> tiPagIntegrado.

    Peço que analisem os arquivos em anexo para uma possível submissão ao repositório de fontes.

    Agradeço desde já.

     

    ACBrNFeDANFeESCPOS.pas

    ACBrDANFCeFortesFr.pas

    • Curtir 1
  8. Bom dia, 

    Estou com o seguinte problema, após carregar todos os documentos de NFSe para o componente ACBrNFSe, quando chamo o comando ACBrNFSe1.NotasFiscais.Imprimir; está abrindo a impressão do Danfse no fortes várias vezes, sendo uma vez para cada documento carregado no componente, ao invés de abrir uma única vez a impressão colocando cada documento carregado em uma página da impressão.

    Já existe alguma forma de fazer com que traga todos os documentos em uma única impressão, separando por páginas?

    Agradeço desde já

×
×
  • 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.