Ir para conteúdo
  • Cadastre-se

LEANDRODOCOUTO

Membros
  • Total de ítens

    76
  • Registro em

  • Última visita

Posts postados por LEANDRODOCOUTO

  1. Tive muitos problemas de erro 12002 depois das ultimas atualizações.
    Uma forma que resolveu em todos os clientes, foi indo nas Opções de Internet / Avançadas e desmarcar todas as opções TLS ( 1.1 e 1.2 ) e deixando marcada somente SSL 2.0 e 3.0.
    No Download da XML ainda dá muitos erros 12002 ( timeout ), mas creio que isso é problema de infra pois o que tem que ser priorizado é a validação das notas fiscais,
    portanto os demais serviços ficam em segundo plano.

     

    • Curtir 2
  2. Quando a inutilização não dava certo ( tentando inutilizar um numero que ja existia, por exemplo ), a rotina devolvia a constante "InutilizarNFe" ( Result := SetRetornoWebService(SSL.HTTPResultCode, 'InutilizarNFe')
    só substitui a contante 'InutilizarNFe' por xMotivo, pra trazer o motivo da inutilização não deu certo. Quando a inutilização não dá certo, XMotivo traz a mensagem de erro.
     

  3. Na Unit AcbrLibNfeClass.. no médodo NFE_Inutilizar

    o result estava como Result := SetRetornoWebService(SSL.HTTPResultCode, 'InutilizarNFe');  ( linha 1027 )
    quando a inutilização não dava certo.. Então a mensagem de retorno sempre tinha como InutilizarNFe.
    Isso dificultava o entendimento.
    Mudei para
    Result := SetRetornoWebService(SSL.HTTPResultCode, Inutilizacao.XMotivo );
    Isso retorna a mensagem correta de retorno do WebService

  4. 1 hora atrás, avoss disse:

    É justamente isso que gostaria de saber, se meus clientes precisarão fazer duas notas, ou ainda é possível fazer tudo numa mesma nota?

    Não precisa... faz desse jeito..

     

    nesse caso, tem que colocar um item na tag PAG com o valor sem faturamento...

    if( vSemFaturamento > 0 ) then
           With Pag.Add do
           begin
              tPag := fpSemPagamento ;
              vPag := vSemFaturamento;
           end;

     

    a soma dos itens da tag PAG têm que fechar com o total da nota..mesmo uma nf de remessa tem que ter essa tag ...

     
  5. Fiz dessa forma.. ( POG puro...)

     if( nf.ValorDesconto > 0 ) then
                vDesc       := nf.ValorDesconto
             else
                begin
                   if ( nfe.configuracoes.webservices.Ambiente = taHomologacao ) then
                   vDesc       := 0.001;
                end;

             vOrig       := tFat + vDesc;
             vLiq        := tFat;

          end;
     

    Funciona em homologação e produção.. claro.. depois de setembro vai dar erro de novo... mas ai tira-se o condicional..

    Finalmente validando nfe 4.0 em produção e homologação...

     

    • Obrigado 1
  6. 3 minutos atrás, avoss disse:

    Boa tarde, tenho uma dúvida relacionada a esse assunto:

    Meus clientes fazem numa mesma NF "retorno e cobrança pelos serviços prestados", usando as CFOPs 5902 (retorno) e 5124 (cobrança) de acordo com os itens.
    Nesse caso o valor da NF é um, mas o valor da fatura a ser paga pelo cliente dele é outro. Por exemplo, retorno R$ 1.000,00 de insumos, mas cobro R$ 850,00 pelos serviços prestados.

    Mas agora com as novas validações, especificamente a 902 (que está em anexo), a princípio meus clientes não poderão mais fazer o exposto acima, a menos que no campo vDesc_Y05 deem como desconto o valor da mercadoria de retorno.

     

    Estou certo no meu raciocínio??

    Grato pela ajuda!

    NT 902.gif

    nesse caso, tem que colocar um item na tag PAG com o valor sem faturamento...

    if( vSemFaturamento > 0 ) then
           With Pag.Add do
           begin
              tPag := fpSemPagamento ;
              vPag := vSemFaturamento;
           end;

     

    a soma dos itens da tag PAG têm que fechar com o total da nota..mesmo uma nf de remessa tem que ter essa tag ...

  7. Desta forma abaixo funcionou perfeitamente...

    sds,

    function TACBrBancoBrasil.FormataNossoNumero(const ACBrTitulo :TACBrTitulo): String;
    var
      ANossoNumero, AConvenio: String;
      wTamNossoNum: Integer;
    begin
      with ACBrTitulo do
      begin
        AConvenio    := ACBrBoleto.Cedente.Convenio;
        ANossoNumero := NossoNumero;
        wTamNossoNum := CalcularTamMaximoNossoNumero(Carteira,ANossoNumero);

        if ((ACBrTitulo.Carteira = '16') or (ACBrTitulo.Carteira = '18')) and
            (Length(AConvenio) = 6) and (wTamNossoNum = 17) then
          ANossoNumero := PadLeft(ANossoNumero, 17, '0')
        else if Length(AConvenio) <= 4 then
          ANossoNumero := PadLeft(AConvenio, 4, '0') + PadLeft(ANossoNumero, 7, '0')
        else if (Length(AConvenio) > 4) and (Length(AConvenio) <= 6) then
    //      ANossoNumero := PadLeft(AConvenio, 6, '0') + PadLeft(ANossoNumero, 5, '0')
          ANossoNumero := PadLeft(AConvenio, 6, '0') + RightStr(ANossoNumero, 5)

        else if (Length(AConvenio) = 7) then
          ANossoNumero := PadLeft(AConvenio, 7, '0') + RightStr(ANossoNumero, 10);
      end;
      Result := ANossoNumero;
    end;

  8. Bom dia...

    Na Unit ACBRBancoBrasil, rotina FormataNossoNumero, 

     

    if ((ACBrTitulo.Carteira = '16') or (ACBrTitulo.Carteira = '18')) and
            (Length(AConvenio) = 6) and (wTamNossoNum = 17) then
          ANossoNumero := PadLeft(ANossoNumero, 17, '0')
        else if Length(AConvenio) <= 4 then
          ANossoNumero := PadLeft(AConvenio, 4, '0') + PadLeft(ANossoNumero, 7, '0')
        else if (Length(AConvenio) > 4) and (Length(AConvenio) <= 6) then
          ANossoNumero := PadLeft(AConvenio, 6, '0') + PadLeft(ANossoNumero, 5, '0')
        else if (Length(AConvenio) = 7) then
          ANossoNumero := PadLeft(AConvenio, 7, '0') + RightStr(ANossoNumero, 10);

    No meu caso, cairia nessa opção em negrito..

    Convenio com 6 digitos..

    aNossoNumero  ='0000000039871'
    aConvenio = '691329'

    o Acbr esta pegando os CINCO PRIMEIROS digitos do nosso numero , ou seja está pegando 5 zeros..
    Ele não deveria pegar os 5 últimos pra compor o nosso numero corretamente ? ( RightStr(ANossoNumero, 5) ) ??

     

    sds,

     

  9. No processamento do arquivo de retorno da caixa federal estou recebendo o erro de carteira inválida, mandando utilizar RG ou SR, porém está vindo 14.

    Quando chega na função TACBrCaixaEconomica.RetornaModalidade o componente lança a exceção :

    Exception.Create( ACBrStr('Carteira Inválida.'+sLineBreak+'Utilize "RG" ou "SR"') ) ; 

     

    R121200002.ret

  10. O Manual do BB no padrão CNAB240, ignora o Segmento 'S' , que são as mensagens do boleto...
    As mensagens nos boletos vão no header do Lote..
    Nos fontes do acbr os dois campos estão indo sempre vazios.

                   PadRight('', 40, ' ')                           + // 104 a 143 - Mensagem 1 para todos os boletos do lote
                   PadRight('', 40, ' ')                           + // 144 a 183 - Mensagem 2 para todos os boletos do lote

    Tam alguma propriedade na classe Banco ou Carteira aonde eu possa informar
    2 linhas para serem adicioandas ao arquivo de remessa ?

     

    sds,

    Leandro 

    Aggille Sistemas de Gestão

  11. Em todos os manuais do Sicredi que tenho aqui, os codigos de Mora são 1 2 e 3 .. porque no acbr temos que informar A B ?

    Sugestão:
    criar um tipo tpCodigoMora ( tpcmValorDiario, tpcmTaxaMensal, tpcmIsento ) e dai tratar dentro dos units dos bancos...

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