Ir para conteúdo
  • Cadastre-se

paulorsa

Membros
  • Total de ítens

    95
  • Registro em

  • Última visita

  • Days Won

    1

Posts postados por paulorsa

  1. Parte do código para você dar uma olhada em como achar o tipo que você precisa.
     
    unit ACBrBarCode;
     
    type
      TACBrBarCode = class ( TGraphicControl )
      private
    //  fsAbout: TACBrAboutInfo;
        fsBarCode  : TAsBarcode ;
        fsTransparent: Boolean;
        procedure SetTransparent(const Value: Boolean);
        function GetAngle: Double;

        property Typ    : TBarcodeType read GetTyp   write SetTyp

    Olhe no Uses para encontra a unit que consta o TBarcodeType.

    uses
     {ACBrBase, }Classes, SysUtils,
     {$IFDEF VisualCLX}
      QGraphics, QControls, QExtCtrls, QDialogs,
     {$ELSE}
      Graphics, Controls, ExtCtrls, Dialogs,
     {$ENDIF}
      AJBarcode ;

    Olhe a unit AJBarcode;

    type
      TBarcodeType =
      (
      bcCode_2_5_interleaved,
      bcCode_2_5_industrial,
      bcCode_2_5_matrix,
      bcCode39,
      bcCode39Extended,
      bcCode128A,
      bcCode128B,
      bcCode128C,
      bcCode93,
      bcCode93Extended,
      bcCodeMSI,
      bcCodePostNet,
      bcCodeCodabar,
      bcCodeEAN8,
      bcCodeEAN13,
      bcCodeUPC_A,
      bcCodeUPC_E0,
      bcCodeUPC_E1,
      bcCodeUPC_Supp2,    { UPC 2 digit supplemental }
      bcCodeUPC_Supp5,    { UPC 5 digit supplemental }
      bcCodeEAN128A,
      bcCodeEAN128B,
      bcCodeEAN128C
      );

     


     

     

  2. Eu pedi para um amigo testar no delphi seatle e também funciona, isso quer dizer que é um problema do delphi. Com isso em mente comparei as funções do Delphi XE com a do Delphi Seatle.

     

    Delphi XE

    function SimpleRoundTo(const AValue: Extended; const ADigit: TRoundToRange = -2): Extended;
    var
      LFactor: Extended;
    begin
      LFactor := IntPower(10, ADigit);
      if AValue < 0 then
        Result := Trunc((AValue / LFactor) - 0.5) * LFactor
      else
        Result := Trunc((AValue / LFactor) + 0.5) * LFactor;
    end;

     

    Delphi Seatle.

    function SimpleRoundTo(const AValue: Extended; const ADigit: TRoundToRange = -2): Extended;
    var
      LFactor: Extended;
    begin
      LFactor := IntPower(10.0, ADigit);
      if AValue < 0 then
        Result := Int((AValue / LFactor) - 0.5) * LFactor
      else
        Result := Int((AValue / LFactor) + 0.5) * LFactor;
    end;

    Como se trata de uma função do Delphi que é usada dentro do RoundABNT, para resolver meu problema eu criei uma Função SimpleRoundToEX igual ao do Delphi Seatle e inclui dentro da unit ACBrUtil, e passei a usar ela no lugar da SimpleRoundTo do Delphi.

    Eu não sei se essa seria a melhor opção para o projeto, mas rodei a UnitTestes é funcionou direitinho.

    Segue unit para analise.

    ACBrUtil.pas

    acbrutiltest.pas

    • Curtir 1
  3. A exception é gerada ao tentar arredondar o nr  9.41212959024529 em 10 casas.

    RoundABNT(9.41212959024529,-10)

    Debugando percebi que na verdade a exception e gerada em uma função do Delphi a SimpleRoundTo.

    Na unit ACBrUtil na linha 580.

    PowValue := SimpleRoundTo( FracValue * 10 * Pow, -9) ; // SimpleRoundTo elimina dizimas ;

    A versão do Delphi que eu uso e a XE. Não sei se em outras versões ou se no Lazarus também ocorre essa exception.

  4. 99% das dúvidas referente a utilização do componente podem ser sanadas dando uma olhada nos exemplos que estão contidos em ..\trunk2\Exemplos.

    Os 1% restantes vão ser coisas bem específicas, e que se não achar a resposta aqui no Forum (quase sempre tem), é só postar a dúvida que alguém sempre ajuda.

     

    • Curtir 3
  5. Também recebo um ou outro xml errado (com o mesmo tipo de erro), mas que foram validados, tanto é que foram baixados do portal nacional, mas o que eu faço é corrigir a tag errada e ele é validado.

    Segue um exemplo que de xml que também está errado, mas está no portal nacional.

    41161193949899000417570010001927631128650862.xml

    Segue o mesmo xml corrigido manualmente e validado pelo acbr.

     

    41161193949899000417570010001927631128650862.xml

  6. Valdir eu entendo sua posição, mas você está vendo o seu caso, mas pense um pouco mais amplo, veja por exemplo o que diz o Agnaldo

    20 minutos atrás, Agnaldo Prates disse:

    Não é o caso de adicionar estas informações no campo sugerido, visto que, cada cliente informa seu texto em informações complementares, tendo em vista que, cada unidade da federação tem suas peculiaridades. Se for o caso de adicionar de forma automática, poderá ocorrer transtorno para alguns.

    atente para "cada cliente informa seu texto em informações complementares, ...", não é só texto sobre legislação tributária que vai ali, também tem nr do pedido do cliente, alguns colocam o nome do vendedor e assim vai. E o que você fizer vai afetar todos os usuários do ACBR e sua implementação acredito eu não passaria pelo crivo dos administradores do componente e assim toda a comunidade de usuários ficaria sem a sua contribuição, que como eu já deixei claro minha opinião é de que é uma implementação válida e interessante.

  7. Acho válido e muito interessante sim, mas também acho que você deve ficar atento quando implementar essa funcionalidade, de deixar a cargo de quem usa optar por incluir automaticamente ou não, pois no meu caso minha tabela de notas tem um campo com as informações complementares e já consta o texto do DIFAL, nesse caso sairia duas vezes o texto. Também acho que essa caso você implemente, a opção deva ser como padrão para não incluir o texto e quem necessitar marque a propriedade.

    • Curtir 1
  8. Eu tenho clientes que fazem acesso ao sistema usando Área de trabalho remota também, como você não informou qual o tipo de certificado (A1 ou A3). Vou falar com base nos meus clientes que são todos tipo A1, Nesse caso você deve instalar o certificado para cada Usuário do servidor.

  9. Eu tenho clientes que emitem notas com acesso TS normalmente, mas não sou eu quem faz a configuração do certificado, quem faz e a empresa que da suporte no server, mas o que sei é que você deve além de instalar o certificado no usuário, registrar a capcom também nesse usuário, pois em algumas situações ocorrem problemas ao emitir a nota.

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