Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Bom dia

 

Estamos com dificuldade em relação ao CST no item da Nota Fiscal Eletronica.

No nosso cadastro ele esta correto, só que na hora de mandar para o DANFE e mando somento com o valor Zero.

Vimos na função da ACBR que não existe nenhuma informação que puxe o CST. como exemplo abaixo

 

Prod.qCom     := strtofloat(IBNotaFiscalItensQuantidade.asstring);
            Prod.vUnCom   := strtofloat(IBNotaFiscalItensValorUnitario.asstring);
            Prod.vProd    := strtofloat(IBNotaFiscalItensValorTotal.asstring);
            Prod.qTrib    := strtofloat(IBNotaFiscalItensQuantidade.asstring);
            Prod.vUnTrib  := strtofloat(IBNotaFiscalItensValorUnitario.asstring);
            Prod.uTrib    := IBNotaFiscalItensUnidade.asstring;
            Prod.NCM      := IBNotaFiscalItensClasseFiscal.asstring;
            infAdProd     := 'Teste informacao adicional';
 
Ficamos curiosos e fomos ver qual era o campo que o DANFE chamava no Rave e achamos um tal ORIGEM + CST.
 
Mais não achamos nada dentro dessa função. Como resolver esse problema??
 
Ficamos no aguardo.
Postado

+ OU - ASSIM:

 

   with ICMS do
               begin

                if (varCRT = '1') then //--> se for simples nacional ...
                 begin

                   if QItensP.FieldByName('CSOSN').AsString = '101' then
                    CSOSN := csosn101
                   else
                   if QItensP.FieldByName('CSOSN').AsString = '102' then
                    CSOSN := csosn102
                   else
                   if QItensP.FieldByName('CSOSN').AsString = '103' then
                    CSOSN := csosn103
                   else
                   if QItensP.FieldByName('CSOSN').AsString = '201' then
                    CSOSN := csosn201
                   else
                   if QItensP.FieldByName('CSOSN').AsString = '202' then
                    CSOSN := csosn202
                   else
                   if QItensP.FieldByName('CSOSN').AsString = '203' then
                    CSOSN := csosn203
                   else
                   if QItensP.FieldByName('CSOSN').AsString = '300' then
                    CSOSN := csosn300
                   else
                   if QItensP.FieldByName('CSOSN').AsString = '400' then
                    CSOSN := csosn400
                   else
                   if QItensP.FieldByName('CSOSN').AsString = '500' then
                    CSOSN := csosn500
                   else
                   if QItensP.FieldByName('CSOSN').AsString = '900' then
                    CSOSN := csosn900;

                 end else begin  //---> regime normal .. CRT=3

                   if QItensP.FieldByName('CODTRB').AsString = '03' then
                     CST := cst00
                   else
                   if QItensP.FieldByName('CODTRB').AsString = '08' then
                     CST := cst60
                   else
                   if QItensP.FieldByName('CODTRB').AsString = '09' then
                     CST := cst60
                   else
                   if QItensP.FieldByName('CODTRB').AsString = '10' then
                     CST := cst10
                   else
                   if QItensP.FieldByName('CODTRB').AsString = '04' then
                     CST := cst40
                   else
                   if QItensP.FieldByName('CODTRB').AsString = '83' then //-- imobilizado com ICM
                     CST := cst00
                   else
                   if QItensP.FieldByName('CODTRB').AsString = '88' then //-- imobilizado com ST
                     CST := cst60
                   else
                   if QItensP.FieldByName('CODTRB').AsString = '00' then //-- Outros
                     CST := cst90;

                 end;//-->encerrando CRT...
 

  • Moderadores
Postado

Primeira coisa, antes de tudo ao abrir um tópico coloque um nome sugestivo para a sua dúvida, não somente "como", isso atrapalha lhe ajudarem e atrapalha para futuras consultas por parte de outros usuários.

 

Você pode utilizar os seguintes métodos para preencher as propriedades:

// pra regime normal
Imposto.ICMS.CST := StrToCSTICMS(ConverteOk, <CST_B>);

// para simples nacional
Imposto.ICMS.CSOSN := StrToCSOSNIcms(ConverteOk, <CSOSN>);

Se lembre de adicionar "pcnConversao" ao uses da unit.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

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