Ir para conteúdo
  • Cadastre-se

brsamn

Membros
  • Total de ítens

    178
  • Registro em

  • Última visita

Posts postados por brsamn

  1. Obrigado Daniel.

     

    Criei um código aqui pra verificar isso.

    O código é este, caso alguém precise em algum momento de algo parecido com o que eu precisava:

    function ExisteIndiceECF: Boolean;
    var
      i, indice: integer;
      slFormasPagamento: TStringList;
    begin
      Result:= True;
      slFormasPagamento:= TStringList.Create;
    
      with ACBrECF1 do
      begin
        CarregaFormasPagamento;
        for i:= 0 to FormasPagamento.Count - 1 do
          slFormasPagamento.Add(FormasPagamento[i].Indice);
      end;
    
      cdsTempMovimentos.First;
      for i:= 0 to cdsTempMovimentos.RecordCount - 1 do
      begin
        if not slFormasPagamento.Find(cdsTempMovimentosINDICE_TIPOPGTO_ECF.AsString, indice) then
          Result:= False;
        cdsTempMovimentos.Next;
      end;
    
      slFormasPagamento.Free;
    end;
    

    Se alguém tiver uma sugestão de melhora, fiquem a vontade.

     
    Obrigado.
  2. Bom Dia.

     

    Entendi, mas quando ele dá esse erro o cupom já foi inciado, já foi lançado o cabeçalho e os itens e, por conta do erro, não posso continuar o cupom, tenho que cancelá-lo por uma opção do menu. Não seria o caso de jogar os trechos do "AchaFPGIndice" e "ImprimeVinculado" para dentro do try?

     

    Obrigado

  3. Bom Dia.

     

    O erro ocorre no seguinte trecho, dentro da procedure EfetuaPagamento:

      FPG := AchaFPGIndice( CodFormaPagto ) ;
      if FPG = nil then
         raise EACBrECFErro.Create( Format(ACBrStr(cACBrECFAchaFPGIndiceException), [ CodFormaPagto ])) ;
    

    Ele nem chega a entrar no try, porque o erro que eu programei pra simular foi de "Forma de Pagamento Inválida".

     

    Obrigado.

  4. Bom Dia Daniel Simões, segue o log:

    
    --------------------------------------------------------------------------------
    ATIVAR - 27/03/15 08:22:12:850 - Modelo: Sweda - Porta: COM2 - TimeOut: 3
             Device: BAUD=9600 DATA=8 PARITY=N STOP=1 HANDSHAKE=DTR/DSR MAXBANDWIDTH=0
    --------------------------------------------------------------------------------
    
    -- 08:22:12:851 
                    TX -> [ESC].271}
       08:22:12:972 RX <- .+C00112703150223CN000000000025803980000002100000000000000000000000000000000000000000000000000000000000000000000000000000142I  }
    -- 08:22:12:972 
                    TX -> [ESC].27G}
       08:22:13:188 RX <- .+C001G000000000005000500001.000000000002580398000000000000000000000000000000000000000000000000000000000000                    }
    -- 08:22:13:188 
                    TX -> [ESC].27H}
       08:22:13:391 RX <- .+C001H00000000000000000001 01.00.01    00050021000000000011000142000000000223000000000000000000000000000258039800000000000000 }
    -- 08:22:13:391 Estado
                    TX -> [ESC].28}
       08:22:13:603 RX <- .+0000000CREDUCAO 00N000000000000000000000000!2703150822N                                   001NN000000000000000000000000SNNN0 }
    -- 08:22:13:603 IdentificaOperador(1)
                    TX -> [ESC].23}
       08:22:13:809 RX <- .+P550.+0000}
    -- 08:22:13:810 Estado
                    TX -> [ESC].28}
       08:22:14:010 RX <- .+0000000CREDUCAO 00N000000000000000000000000!2703150822N                                   001NN000000000000000000000000SNNN0 }
    -- 08:22:14:011 TestaPodeAbrirCupom
                    TX -> [ESC].28}
       08:22:14:206 RX <- .+0000000CREDUCAO 00N000000000000000000000000!2703150822N                                   001NN000000000000000000000000SNNN0 }
    -- 08:22:14:206 AbreCupom( , ,  )
                    TX -> [ESC].17}
       08:22:15:125 RX <- .+0001}
    -- 08:22:15:125 
                    TX -> [ESC].28}
       08:22:15:283 RX <- .+0001000P VENDAS 17N000000000000000000000000!2703150822N                                   001NN000000000000000000000000SNNN0 }
    -- 08:22:15:283 NumCupom
                    TX -> [ESC].27H}
       08:22:15:498 RX <- .+C001H00000000000000000001 01.00.01    00050021000000000011000143000000000224000000000000000000000000000258039800000000000000 }
    -- 08:22:15:532 Estado
                    TX -> [ESC].28}
       08:22:15:703 RX <- .+0001000P VENDAS 17N000000000000000000000000!2703150822N                                   001NN000000000000000000000000SNNN0 }
    -- 08:22:15:703 VendeItem( 759 , LEITE DANONE CORPUS DESNATADO TP 1LT , FF , 1 , 4,19 , 0 , UN , % , D , -1 )
                    TX -> [ESC].01759          0001000000004190000000000419~LEITE DANONE CORPUS DESF  NATADO TP 1LT UN}
       08:22:15:901 RX <- .+0002}
    -- 08:22:15:901 Subtotal
                    TX -> [ESC].28}
       08:22:16:121 RX <- .+0002001P VENDAS 01N000000000419000000000419!2703150822N                                   001NN000000000419000000000000SNNN0 }
    -- 08:22:16:121 SubtotalizaCupom( 0 ,  )
                    TX -> [ESC].10}
       08:22:16:315 RX <- .+0003}
    -- 08:22:16:315 Estado
                    TX -> [ESC].28}
       08:22:16:521 RX <- .+0003001P VENDAS 10N000000000419000000000419!2703150822N                                   001NN000000000419000000000000SNNN0 }
    -- 08:22:16:521 CarregaFormasPagamento
                    TX -> [ESC].295}
       08:22:16:728 RX <- .+T0015S041500                     NDinheiro       SC. D[233]bito      SC. Cr[233]dito                                                 }
    -- 08:22:16:728 
                    TX -> [ESC].296}
       08:22:16:934 RX <- .+T0016NCheque         NTicket         NContra-Vale    NOutro          STEF            N               N                       }
    -- 08:22:16:934 
                    TX -> [ESC].29Q}
       08:22:17:143 RX <- .+T001QN               N               N               N               N               N                                       }
    -- 08:22:17:143 
                    TX -> [ESC].29R}
       08:22:17:346 RX <- .+T001RN               N               N               N                                                                       }
    
    

    Obrigado.

  5. Boa tarde amigos.

     

    Estou fazendo algumas rotinas para controle dos cupons fiscais emitidas pelo meu sistema.

     

    Estou fazendo testes com possíveis erros relacionados ao momento de Efetuar o Pagamento, para isso criei uma rotina no evento "ErrorEfetuaPagamento".

     

    Nos meus testes, fiz o erro acontecer nesse momento(informei no sistema um tipo de pagamento não existente na impressora), o componente gerou a exceção mas não entrou no evento "ErrorEfetuaPagamento".

     

    Existe alguma outra configuração que devo fazer, ou algo que deva considerar sobre este evento e os outros eventos de erro?

     

    Obrigado.

  6. Obrigado pela resposta.

    O erro acontece tanto nos nossos testes com o emulador, quanto no cliente, mas como disse antes, isso é esporádico, não acontece sempre.

    As vezes no cliente, funciona por horas sem dar erro, e as vezes dá o erro várias vezes seguidas.

    Nossa orientação pra eles nesse caso é ir até o EcfConfigurações e ativar o ECF por lá e depois de desativar voltar ao sistema, dessa forma volta a funcionar por um tempo.

  7. Boa Tarde.

    Estou enfrentando um problema parecido usando SwedaSTX.

    Algumas vezes, pelo ECFConfigurações, ele ativa normalmente, e outras vezes ele dá o erro de "Impressora SwedaSTX não está respondendo" ou "Erro (0193) Falha de comunicação na transmissão das informações".

     

    Já tentei algumas coisas faladas neste post ou em outros posts do fórum, mas nada fez a impressora funcionar com regularidade.

     

    Segue em anexo um log que tirei dos três estados que falei acima: Primeiro o "Erro (0193) Falha de comunicação na transmissão das informações", depois "Impressora SwedaSTX não está respondendo" e por último a vez que ativou o componente.

     

    Obrigado.

    ecflog.txt

  8. Bom Dia.

     

    Os testes que fiz aqui apresentaram o seguinte comportamenteo. Assim que emito a nota, na primeira impressão, os itens são apresentados com quebra.

     

    Se saio do sistema e volto a tentar imprimir depois, os serviços saem todos juntos, dessa forma:

     

    Md4JAL.png

     

    Acredito que na primeira impressão sai correta porque ele imprime o que esta no componente.

     

    Depois que você fecha o DANFE e vai imprimir novamente, ele passa a imprimir lendo o xml.

  9. Boa Tarde amigos.

     

    Os componentes de impressão de NFSe do ACBR usam por padrão o caractere ';'(ponto e vírgula) para quebra de linha no momento da impressão, por isso devemos passar os serviços da NFSe separados por esse caractere para que no momento da impressão eles saiam separados em linhas. Exemplo:
     

    Servico.Discriminacao:= 'Teste de Serviço I' + ';' + 'Teste de Serviço II'
    

    A impressão fica dessa forma:

     

    kRRD6p.png

     

    Mas quando a nota é impressa pelo site, ela fica dessa maneira:

     

    lPPhyF.png

     

    Em consulta ao manual da Abrasf e a empresa responsável pela NFSe aqui da minha cidade, verifiquei que o separador correto para esses casos é o conjunto de caracteres \s\n.

     

    Usando esse conjunto a impressão no site da prefeitura acontece da maneira correta.

     

    Pensando nisso adicionei a classe ACBrNFSeDANFSeClass a propriedade "CaractereQuebraLinha" que deixará a cargo do usuário do componente a escolha do caractere usado para quebra de linha.

     

    Mantive o ';' como padrão para não ocorrerem problemas com os que já usam dessa forma.

     

    Peço a algum dos moderadores que verifiquem a alteração que fiz e se essa é uma alteração interessante para ser incorporada ao componente.

     

    Obs: a principio fiz apenas para FortesReport, pois só tenho ele instalado na minha máquina.

     

    Obrigado.

     

     

     

     

    ACBrNFSeDANFSe.rar

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