Ir para conteúdo
  • Cadastre-se

dev botao

NFe 4.0 - Mudança para atender nova tag pST para CST 60


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

Recommended Posts

Boa tarde,

Conforme tópico abaixo, fiz uma alteração das units em anexo, para atender a situação de preencher a tag pST no CST 60. Da forma como está atualmente sempre está gerando o grupo de repasse(ICMSST) quando utilizado o CST 60 e os campos vBCSTRET e/ou vICMSSTRET preenchidos, não gera o grupo ICMS60 e consequentemente a tag pST. O que fiz, foi criar uma propriedade para definir se será gerado esse grupo de repasse, colocando como padrão True que é o que o componente está fazendo, sempre criando grupo de repasse para CST 60 quando os campos vBCSTRet ou vICMSSTRet ou vBCSTDest ou vICMSSTDest forem diferentes de zero. Como é algo que tem haver com a "finalidade" da nota, criei uma propriedade que deixa a cargo do desenvolvedor se será gerado ou não o grupo de repasse,  tratando na aplicação tal situação, já que esse grupo deve ser gerado quando a nota for interestadual ou quando for emitida uma contra nota dele para ele mesmo,  com o objetivo de anular um lançamento. Então com essa mudança, caso for situação diferente dessas basta setar a propriedade abaixo, para gerar o grupo ICMS60  normalmente quando preenchidos os campos vBCSTRET e/ou vICMSSTRET:

  ACBrNFe.Configuracoes.Geral.GerarGrupoRepasse := False;

Aguardo análise. Obrigada.

 

 

ACBrNFeNotasFiscais.pas

pcnGerador.pas

pcnNFeW.pas

ACBrDFeConfiguracoes.pas

Adryelle Silva Soares
Analista de Sistemas
email: [email protected]
Montes Claros / MG

Link para o comentário
Compartilhar em outros sites

  • Fundadores
1 hora atrás, Adryelle disse:

  ACBrNFe.Configuracoes.Geral.GerarGrupoRepasse := False;

Não me parece ser uma boa ideia... esse tipo de ação geralmente é definido pela cardinalidade da propriedade no Schema

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Daniel Simoes disse:

Não me parece ser uma boa ideia... esse tipo de ação geralmente é definido pela cardinalidade da propriedade no Schema

Boa noite Daniel,

Entendo, qual seria a sugestão para gerar o grupo ICMS60 e sua tag pST então? Porque da forma como está hoje não é possível gerar a tag, pois o ela está condicionada ao preenchimento dos campos vBCSTRET e/ou vICMSSTRET, porém ao preencher esses campos o componente está "convertendo" o cst60 para cstRep60, deixando de gerar o grupo ICMS60 e passando a gerar apenas o ICMSST, mesmo em operação dentro do mesmo estado.

Conforme documentação no schema e na nota técnica, o grupo ICMSST deve ser gerado quando a operação for interestadual:

image.png.7958b05e0a82b1029faf59be89652bdd.png

Porém se colocar para verificar também se a operação é interestadual na unit pcnNFeW, onde já está sendo verificado se os campos  vBCSTRET e vICMSSTRET estão preenchidos para transformar o cst60 em cstRep60, não irá resolver a situação de: "caso o emitente necessite emitir uma contra nota dele para ele mesmo,  com o objetivo de anular um lançamento" citado pelo Agnaldo Prates, no post anterior:

 

Por isso sugeri as mudanças nas units postadas, a fim de definir na aplicação essa segunda situação citada pelo Agnaldo, onde a nota de anulação deveria ser igual a nota de origem ou seja se tiver sido gerado o grupo ICMSST deveria ser gerado o mesmo grupo na nota de anulação, e nesse caso a verificação se a nota é interestadual seria inválida. Além disso, imagino que apenas pela aplicação seria viável fazer a verificação se foi gerado o grupo ICMSST na nota de origem para então gerar esse grupo na nota de anulação.

Obrigada pela atenção, aguardo retorno.

 

Adryelle Silva Soares
Analista de Sistemas
email: [email protected]
Montes Claros / MG

Link para o comentário
Compartilhar em outros sites

Em 29/11/2017 at 17:55, Daniel Simoes disse:

Não me parece ser uma boa ideia... esse tipo de ação geralmente é definido pela cardinalidade da propriedade no Schema

Bom dia

Alguma outra sugestão para resolver essa situação?

 

Adryelle Silva Soares
Analista de Sistemas
email: [email protected]
Montes Claros / MG

Link para o comentário
Compartilhar em outros sites

Estou passando pelo mesmo problema, para conseguir fazer os testes e validar a NF-e modifiquei o código do ACBr conforme abaixo.

Enviar a informação dos valores de destinatário no caso de ocorrer partilha, e para isso, verifico somente se os campos referente ao destinatário estão preenchidos.

            if (nfe.infNFe.Versao >= 4) and
               (nfe.Det.Imposto.ICMS.CST = cst60) and       //Ajuste para funcionar no ACBrNFeMonitor
               (//(nfe.Det.Imposto.ICMS.vBCSTRet <> 0) or     //Qdo passar CST 60 e algum campo de repasse de ICMS ST
                //(nfe.Det.Imposto.ICMS.vICMSSTRet <> 0) or   //estiver preenchido será trocado o cst para cstRep60

                (nfe.Det.Imposto.ICMS.vBCSTDest <> 0) or
                (nfe.Det.Imposto.ICMS.vICMSSTDest <> 0)) then
               nfe.Det.Imposto.ICMS.CST := cstRep60;
 

Até que realizem o ajuste no componente estou fazendo desta forma.

 

Link para o comentário
Compartilhar em outros sites

@Daniel Simoes

Boa tarde,

Acha melhor então criar uma propriedade no pcnNFe, como por exemplo:

property GerarGrupoRepasse: Boolean read FGerarGrupoRepasse write FGerarGrupoRepasse default True;

E na aplicação definir:

ACBrNFe1.NotasFiscais.Items[x].NFe.Det[y].Imposto.ICMS.GerarGrupoRepasse := False;

 

Assim seria melhor, ou deveria ser de outra forma?

Editado por Adryelle

Adryelle Silva Soares
Analista de Sistemas
email: [email protected]
Montes Claros / MG

Link para o comentário
Compartilhar em outros sites

34 minutos atrás, hleorj disse:

@Adryelle,  estamos estudando a melhor implementação do caso.

Em breve teremos a solução 

Grato pela sua contribuição.

 

@hleorj, muito obrigada pelo retorno!

Vamos aguardar a melhor solução.

Adryelle Silva Soares
Analista de Sistemas
email: [email protected]
Montes Claros / MG

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • 2 meses depois ...
  • Moderadores

Boa tarde, há algum tempo foi realizado uma modificação removendo as condições que impossibilitavam  a geração da tag. Favor atualizar os fontes es realizar o teste.

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

  • 3 meses depois ...
  • Moderadores
19 minutos atrás, Gr@c@ disse:

Ainda estou com esse problema da tag pST não estar sendo gerada. Como foi solucionado? Meu componente está atualizado. 

Por favor, poste em apenas um local.

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.lambretinha.com.br
Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...

boa tarde. em meu sistema a 4.0 não estava passando para combustíveis, porque eu ainda não havia colocado :

 

[ICMS001]
CST=60 rep

depois que fiz a nfe passou a validar mas no .xml os campos orig+cst ficam =

 

000

e não 

060.

 

NO cadastro do produto e no .txt de entrada está informando:

[ICMS001]
CST=60 rep
Origem=0

mas no .xml sai .

-<imposto>
-<ICMS>
-<ICMS00>
<orig>0</orig>
<CST>00</CST>

é normal isso ?

o próprio acbr faz isso ? (mudar de 060 para 000) ??

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2087 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.

The popup will be closed in 10 segundos...