Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

  • Membros Pro
Postado

Boa tarde,

Estou com uma situação que não descobri como resolver, procurei pelo fórum e não encontrei nada.

Como não informar a TAG modBC quando ICMS51 com pDif=100? Ou seja, quando o diferimento do produto for 100%, devo informar apenas a tag <orig> e <CST> e neste caso a tag modBC está sendo informada automaticamente com <modBC>0</modBC>, por se tratar de um tipo enumerado. Conforme a imagem abaixo:
image.png.7a38e9230c12ef27593849012c5b00a9.png

Mas na tabela onde informa se a tag é obrigatória ou não para cada CST, temos um ?, no modBC para o ICMS51, como pode ser visto na imagem abaixo:
image.thumb.png.24902511b188d127771d5b0f52a98aac.png

Pesquisando, encontrei essa informação:

image.thumb.png.216677eb3b191dcaacb77ddc4a8e2dc8.png

Agradeço, desde já alguém que possa ajudar.

Obrigado.

  • Consultores
Postado

Bom dia Marcelo,

Realmente o campo modBC recebe um enumerador, logo se não atribuirmos nada será assumido o primeiro valor que é zero.

Como a tag é opcional, acredito que a melhor solução para esse caso é criar um enumerador chamado "dbiNenhum".

Desta forma se o valor de modBC for dbiNenhum a tag não será gerada.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado
33 minutos atrás, Italo Jurisato Junior disse:

Bom dia Marcelo,

Realmente o campo modBC recebe um enumerador, logo se não atribuirmos nada será assumido o primeiro valor que é zero.

Como a tag é opcional, acredito que a melhor solução para esse caso é criar um enumerador chamado "dbiNenhum".

Desta forma se o valor de modBC for dbiNenhum a tag não será gerada.

Bom dia Italo,

Pensei exatamente isso, mas não tenho conhecimento suficiente para esse tipo de alteração. Pode me ajudar?

  • Membros Pro
Postado

Basicamente, teria que alterar o arquivo pcnConversao.pas, da seguinte forma?

 

TpcnDeterminacaoBaseIcms = (dbiMargemValorAgregado, dbiPauta, dbiPrecoTabelado, dbiValorOperacao, dbiNenhum);

// N13 - Modalidade de determinação da BC do ICMS ******************************
function modBCToStrTagPosText(const t: TpcnDeterminacaoBaseIcms): string;
begin
  result := EnumeradoToStr(t, ['0 - Margem Valor Agregado (%)', '1 - Pauta (Valor)', '2 - Preço Tabelado Máx. (valor)', '3 - valor da operação', ''],
    [dbiMargemValorAgregado, dbiPauta, dbiPrecoTabelado, dbiValorOperacao, dbiNenhum]);
end;

function modBCToStr(const t: TpcnDeterminacaoBaseIcms): string;
begin
  // 0 - Margem Valor Agregado (%);
  // 1 - Pauta (Valor);
  // 2 - Preço Tabelado Máx. (valor);
  // 3 - valor da operação.
  result := EnumeradoToStr(t, ['0', '1', '2', '3', ''],
    [dbiMargemValorAgregado, dbiPauta, dbiPrecoTabelado, dbiValorOperacao, dbiNenhum]);
end;

function StrTomodBC(out ok: boolean; const s: string): TpcnDeterminacaoBaseIcms;
begin
  result := StrToEnumerado(ok, s, ['0', '1', '2', '3', ''],
    [dbiMargemValorAgregado, dbiPauta, dbiPrecoTabelado, dbiValorOperacao, dbiNenhum]);
end;

  • Membros Pro
Postado
5 minutos atrás, Italo Jurisato Junior disse:

Marcelo,

Além do pcnConversao é preciso alterar também o pcnNFeW.

Atualize tudo e faça um novo teste.

Acabei de verificar a condição adicionada em pcnNFeW.
Voltarei para dar o feedback.

  • Curtir 1
  • Este tópico foi criado há 2275 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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...
The popup will be closed in 10 segundos...