Ir para conteúdo
  • Cadastre-se

dev botao

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