Ir para conteúdo
  • Cadastre-se

francinaldoac

Membros Pro
  • Total de ítens

    75
  • Registro em

  • Última visita

  • Days Won

    1

Posts postados por francinaldoac

  1. Bom dia!

    Olha esse tópico foi criado há quase 15 dias, olhei o meu histórico anterior e antes de me tornar membro SAC pago meus tópicos eram resolvidos no mesmo dia ou no máximo em 6 dias, convenci nossa gerência a contribuir monetariamente pelo excelente trabalho que vocês fazem mantendo esses componentes com código aberto e grátis, mas desse jeito fico sem justificativa para manter o suporte pago, visto que tivemos essa piora no atendimento.

  2. Bom dia!

    Temos um problema com o campo "Identificação do Título na Empresa" na Caixa Econômica, layout CNAB400, arquivo de remessa, na procedure que grava o registro de detalhe, a formatação e o tratamento do campo estão errados de acordo com o manual.

    procedure TACBrCaixaEconomica.GerarRegistroTransacao400(ACBrTitulo: TACBrTitulo; aRemessa: TStringList);
    ...
          with ACBrBoleto do
          begin
             wLinha:= '1'                                                              + //  1 até 1   -  ID Registro - Preencher com ‘1'
                      ATipoCendente                                                    + //  2 até 3   -  Tipo de inscrição da empresa 01-CPF / 02-CNPJ
                      PadLeft(OnlyNumber(ACBrBoleto.Cedente.CNPJCPF),14,'0')           + //  4  até 17 - Inscrição da empresa
                      ifthen(Length(ACodCedente) > 6, '000',
                             RightStr(OnlyNumber(ACBrBoleto.Cedente.Agencia), 4 ))     + // 18 até 21  - Código da Agência
                      ifthen(Length(ACodCedente) > 6, PadRight(ACodCedente, 7, '0'),
                             ACodCedente )                                             + // 22 até 27  - Código do Cedente
                      ATipoBoleto                                                      + // 28 a 29    - Quem emite e quem distribui
                      '00'                                                             + // 30 a 31    - Comissão de permanência - informar 00
                      PadLeft(OnlyNumber(ACBrTitulo.SeuNumero), 25)                    + // 32 até 56  - Seu numero
    ...

    Na linha " PadLeft(OnlyNumber(ACBrTitulo.SeuNumero), 25)                    + // 32 até 56  - Seu numero" o componente está colocando "espaços" a esquerda e retirando caracteres não numéricos, visto que o campo é alfanumérico isso não devia acontecer.

    Acho que o ideal seria alterar essa linha para PadRight(ACBrTitulo.SeuNumero, 25, ' ') 

    Em anexo manual, verificar página 20.

    Grato 

    Manual_de_Leiaute_de_Arquivo_Eletronico_CNAB_400 (1).pdf

  3. Boa tarde,

    Sim, havia visto no manual que esses eram os métodos necessários para homologação, estou no momento desenvolvendo a integração básica, quando terminar vou tentar desenvolver o que falta.

    Os métodos de consulta são importantes porque de outra forma temos que sempre enviar os dados completos dos motoristas, veículos, proprietários antes do envio do CIOT, a não ser que façamos no sistema interno o registro que aquele cadastro já foi enviado.

    Obrigado.

    • Curtir 1
  4. No manual eles colocaram apenas o métodos necessários para homologação do integrador junto ao eFrete, mas lá eles falam dos outros métodos, nesse caso os de consulta, isso seria interessante, porque o sistema poderia consultar se o motorista, veículo, proprietário já existe na base do eFrete,  isso evitaria ter que enviar esses dados.

    Exemplos:

    https://dev.efrete.com.br/Services/MotoristasService.asmx?WSDL

    https://dev.efrete.com.br/Services/MotoristasService.asmx?op=Obter

    image.thumb.png.5f6485c88f46524077c2d7657957162c.png

  5. Sim, eu atualizei logo cedo hoje, não testei com demo do exemplo, mas peguei de lá o código fonte para enviar o evento.

    Eu depurei o código até a função que pega a descrição do evento, verifiquei que estava OK, porém quando olho o XML que vai ser enviado, está sem os acentos e "cedilha" e dá o erro.

    Tem alguma coisa a ser atualizada nos "esquemas", porque não fiz atualização deles.

  6. Bom dia,

    Ao enviar um evento de Prestação de Serviço em Desacordo no CTe, estou recebendo o erro de validação abaixo:

    image.png.538662c0915562dda9d5e49af9735de8.png

    Verifiquei que no campo "EP02 - DescEvento" está sendo enviado o valor "Prestacao do Servico em Desacordo" e de acordo com o manual deveria ser "Prestação do Serviço em Desacordo".

    image.thumb.png.03c113f6b0391d0ee076a321a5313b3f.png

    Eu encontrei a função abaixo e fiz a correção:

    function TInfEvento.getDescEvento: String;
      case FTpEvento of
        tePrestDesacordo              : Desc := 'Prestação do Serviço em Desacordo';

    Porém o erro persiste, isto é, o XML continua sendo enviado com o valor  "Prestacao do Servico em Desacordo".

    Vocês poderiam ajudar.

  7. Bom dia, 

    Ao fazer isso da função :

    TpEventoToDescStr(ACBrCTe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].procEvento.tpEvento);

    Quando o evento é 310611 "MDF-e Cancelado", a função retorna "NaoMapeado", assim também a função:

    TpEventoToStr(ACBrCTe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i].procEvento.tpEvento)

    Retorna o valor -99999.

    Meu componente está atualizado, tem algum problema ou essa função está descontinuada?

    Grato.

    image.png.d505f9f9746b1bda52a2766e7b38617f.png

  8. Bom dia!

    Na geração do cnab400 da caixa econômica, no registro de transação, o campo Sacado.NomeSacado, está sendo gravado no lugar do campo Sacado.SacadoAvalista.NomeAvalista, posição 368 do registro.

    Unit ACBrBancoCaixa, procedure GerarRegistroTransacao400.

    O código estava assim:

    PadRight(Sacado.NomeSacado, 22)                                  + // 368 até 389 - Nome do Sacador Avalista

    Na verdade deveria ser assim:

    PadRight(Sacado.SacadoAvalista.NomeAvalista, 22)                 + // 368 até 389 - Nome do Sacador Avalista

    Em anexo o manual, observar na página 21, essas informações são diferentes, no meu caso a caixa solicita que deixe o campo "Sacado/Avalista" em branco na remessa, mas preciso preencher o outro campo que é necessário.

    Desde já agradeço.

    Manual_de_Leiaute_de_Arquivo_Eletronico_CNAB_400 (1).pdf

    ACBrBancoCaixa.pas

  9. Boa tarde!

    No padrão CNAB400 da Caixa, o vampo "ValorPago" não foi implementado, apenas o campo "ValorRecebido", no CNAB240 os dois campos possuem funcionalidades diferentes, mas no CNAB400 deveriam ser iguais ou o campo "ValorRecebido" não ser atribuído.

    O campo "ValorPago" nos dois padrões é o valor efetivo a ser baixado pelo cliente, o "ValorRecebido" no CNAB240 existe quando o banco fica com parte do valor pago pelo cliente no banco a título de taxa/remuneração.

    Peço a gentileza de avaliar esse caso.

    Manual_de_Leiaute_de_Arquivo_Eletronico_CNAB_400 (1).pdf

  10. Boa tarde, 

    No retorno da caixa econômica padrão CNAB400, na procedure TACBrCaixaEconomica.LerRetorno400, o componente está pegando o valor do campo "SeuNumero" na posição errada:

           SeuNumero                   := copy(Linha,59,15);

    A posição acima é a do número do documento, na verdade deveria ser assim:

           SeuNumero                   := copy(Linha,32,25);

    Fiz a correção da unit, segue em anexo.

    ACBrBancoCaixa.pas

    • Curtir 1
  11. Boa tarde!

    Descobri isso hoje também quando precisei usar esse registro, a partir da versão  "Versao103" o código tem que ser este:

    if FBloco_0.Registro0000.COD_VER >= vlVersao103 then //trocar por FBloco_0.Registro0000.COD_VER in [vlVersao103,vlVersao104] se na versão vlVersao105 não for gerado esse registro.
              begin
                 Add( LFill('E113') +
                      LFill( COD_PART ) +
                      LFill( COD_MOD ) +
                      LFill( SER ) +
                      LFill( SUB ) +
                      LFill( NUM_DOC ) +
                      LFill( DT_DOC ) +
                      LFill( COD_ITEM ) +
                      LFill( VL_AJ_ITEM,0 ) +
                      LFill( CHV_NFE )) ;
              end;

     

  12. Senhores, o problema é que realmente essa nota não deve existir na base da SEFAZ, já tinha tentado consultar no ambiente nacional, existia uma falha em nosso sistema, nós tratamos os casos em que a chave não existe, não está autorizada ou está autorizada, mas não preparamos para o erro de chave inválida que é retornado pelo webservice da receita, por isso o digitador conseguiu salvar essa chave na nota fiscal.

    Agradeço a todos e encerro o assunto.

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