Jump to content

dev botao

Aliq_Icms Com Decimal


  • Este tópico foi criado há 3526 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Gostaria de saber como proceder para valores de aliquotas de icms com fator decimal acima de zero ex.: 5,6. pois apresenta erro ao gerar sped fiscal, haja visto que foi modificado de: LFill( ALIQ_ICMS, 6, 2 ) ) para: VLFill( ALIQ_ICMS, 0, 2 )

 
strLinha := LFill('0200') +
                      LFill( COD_ITEM ) +
                      LFill( DESCR_ITEM ) +
                      LFill( COD_BARRA ) +
                      LFill( COD_ANT_ITEM ) +
                      LFill( UNID_INV ) +
                      LFill( strTIPO_ITEM ) +
                      LFill( COD_NCM ) +
                      LFill( EX_IPI ) +
                      LFill( COD_GEN ) +
                      LFill( COD_LST ) +
                      VLFill( ALIQ_ICMS, 0, 2 );    <------------------------------------

 

fiz o teste no Sped piscofins e tudo ok. verifiquei e ainda está LFill( ALIQ_ICMS, 6, 2 ) ).

 

estou passando o valor como --> float

Link to comment
Share on other sites

  • Moderadores

Bom dia

Percebi que é seu segundo post e é relativamente novo no fórum!

 

Seja bem vindo ao mesmo!

Gostaria de convidar a ler as regras do fórum!

segue o link

 

Se está informando algum problema no fonte do sistema, anexe a unit alterada ao post

que faremos a validação e subimos ao svn!

 

também peço para que aguarde a resposta, pois é um fórum colaborativo e visto que nem 24 horas se passou do seu post pode ser considerado spam e ser bloqueado seus posts !

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link to comment
Share on other sites

  • 2 weeks later...

Boa Tarde,

também tive o mesmo caso, passei uma ALIQ_ICMS com decimal ( Ex. 2,42 ).
fui depurando e o erro ocorre na função IsNumber(2,42), que retorna false, ocorrendo o erro na geração do sped.


comentei as linhas que testam o IsNumber, e gerou correto o arquivo do SPED.

function TACBrTXTClass.VLFill(Value: Variant;
                             Size: Integer;
                             Decimal: Integer;
                             Caracter: Char;
                             Mascara: String): String;
var
intFor, intP: Integer;
strCurMascara: string;
begin
  strCurMascara := FCurMascara;
  // Se recebeu uma mascara como parametro substitue a principal
  if Mascara <> '' then
     strCurMascara := Mascara;

  // Se o parametro Nulo = true e Value = 0, será retornado '|'
  if (Value = Null) or (Value=Unassigned) then
  begin
     Result := FDelimitador;
     Exit;
  end;
  // Checa se é um valor numérico
  //----------------->> if not IsNumber(Value) then
  //----------------->>   raise Exception.Create( Format('[%a] Não é um valor numérico!', [Value]) );

  intP := 1;
  for intFor := 1 to Decimal do
  begin
     intP := intP * 10;
  end;

  if (strCurMascara <> '#') and (strCurMascara <> '') then
     Result := FDelimitador + FormatCurr(strCurMascara, Value)
  else
     Result := LFill(Trunc(Value * intP), Size, False, Caracter);
end;
 

Link to comment
Share on other sites

  • Consultores

É possível reproduzir esse erro no programa de Exemplo?

Quais são as alterações a serem feitas?

  • Like 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

boa tarde,

no programa de exemplo, é só colocar um percentual de icms com decimal que ocorre erro na geração do arquivo SPED.


exemplo:

with Registro0200New do
      begin
        COD_ITEM := '000001';
        DESCR_ITEM := 'PRODUTO 1';
        COD_BARRA := '';
        UNID_INV := 'UN';
        TIPO_ITEM := tiMercadoriaRevenda;
        COD_NCM := '30049026';
        COD_GEN := '30';
        ALIQ_ICMS := 2.42;
      end;

Link to comment
Share on other sites

  • Este tópico foi criado há 3526 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...