Ir para conteúdo
  • Cadastre-se

Advance

Membros
  • Total de ítens

    16
  • Registro em

  • Última visita

Community Answers

  1. Advance's post in [ACBR-9469] [NFSe] GovDigital - Erro GOV110 - CST e TpRetPisCofins não gerados no XML was marked as the answer   
    Provedor: GovDigital (Várzea Paulista - SP) Versão do ACBrMonitorPlus: 1.4.0.434 Erro retornado: Codigo=GOV110 - Necessário informar a Situação Tributária PIS/COFINS quando informado esses valores Causa: O método TNFSeW_GovDigital200.GerarValores em GovDigital_GravarXml.pas depende de NFSe.Servico.Valores.CSTPis estar populado, mas a leitura do INI via LerINIValoresTribFederal não estava populando corretamente o campo antes da geração do XML Arquivo alterado: GovDigital_GravarXml.pas Correção: Adicionar fallback para tribFed.CST e tribFed.tpRetPisCofins quando CSTPis e tpRetPisCofins estiverem vazios, além de um fallback final com valores padrão Olá a todos, precisei fazer uma alteração para que as tags CST e tpRetPisCofins constasse no XML do RPS. Peço a gentileza de verificarem se essa minha alteração faz sentido, mas foi a única forma de fazer as tags constar no XML.
    Função Anterior
    function TNFSeW_GovDigital200.GerarValores: TACBrXmlNode;
    begin
      Result := inherited GerarValores;
      if (NFSe.Servico.Valores.ValorPis>0) or (NFSe.Servico.Valores.ValorCofins>0) then
      begin
        Result.AppendChild(AddNode(tcStr, '#1', 'CST', 2, 2, 0,
                                     CSTPisToStr(NFSe.Servico.Valores.CSTPis), ''));
        if not (StrToIntDef(CSTPisToStr(NFSe.Servico.Valores.CSTPis),0) in [0,8,9]) then
          Result.AppendChild(AddNode(tcStr, '#1', 'TpRetPisCofins', 1, 1, 0,
                     tpRetPisCofinsToStr(NFSe.Servico.Valores.tpRetPisCofins), ''));
      end;
    end; 
    Nova Função
    function TNFSeW_GovDigital200.GerarValores: TACBrXmlNode;
    var
      sCST: string;
      sRet: string;
    begin
      Result := inherited GerarValores;
      if (NFSe.Servico.Valores.ValorPis > 0) or (NFSe.Servico.Valores.ValorCofins > 0) then
      begin
        // Tenta CSTPis primeiro, usa tribFed.CST como fallback
        sCST := CSTPisToStr(NFSe.Servico.Valores.CSTPis);
        if sCST = '' then
          sCST := CSTToStr(NFSe.Servico.Valores.tribFed.CST);
        if sCST = '' then
          sCST := '01'; // fallback final: operação tributável alíquota normal
        Result.AppendChild(AddNode(tcStr, '#1', 'CST', 2, 2, 1, sCST, ''));
        if not (StrToIntDef(sCST, 0) in [0, 8, 9]) then
        begin
          // Tenta tpRetPisCofins, usa tribFed como fallback
          sRet := tpRetPisCofinsToStr(NFSe.Servico.Valores.tpRetPisCofins);
          if sRet = '' then
            sRet := tpRetPisCofinsToStr(NFSe.Servico.Valores.tribFed.tpRetPisCofins);
          if sRet = '' then
            sRet := '1'; // fallback final: retido
          Result.AppendChild(AddNode(tcStr, '#1', 'TpRetPisCofins', 1, 1, 1, sRet, ''));
        end;
      end;
    end;
     
    GovDigital.GravarXml.pas
×
×
  • 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...