Advance Postado 3 Abril Postado 3 Abril 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
Ramon loureiro Postado 7 Abril Postado 7 Abril Boas! Esse município tem ambiente de homologação? Não consigo conectar no https://ws.homolog.integracao.nfe-cidades.com.br/ws/varzea?wsdl Onde tem a documentação atualizada desse NFSeCidades/Govdigital? Alguém me dá uma luz!
Advance Postado 27 Abril Autor Postado 27 Abril Revivendo este tópico, para uma emissão correta de NFS-e com retenção de PIS/COFINS/CSLL, precisei fazer as alterações abaixo no componente ACBr_NFSeX, precisamente no arquivo C:\ACBR\Fontes\ACBrDFe\ACBrNFSeX\Provedores\GovDigital.GravarXml.pas: 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 sCST := CSTPisToStr(NFSe.Servico.Valores.CSTPis); if sCST = '' then sCST := CSTToStr(NFSe.Servico.Valores.tribFed.CST); if sCST = '' then sCST := '01'; Result.AppendChild(AddNode(tcStr, '#1', 'CST', 2, 2, 1, sCST, '')); if not (StrToIntDef(sCST, 0) in [0, 8, 9]) then begin sRet := tpRetPisCofinsToStr(NFSe.Servico.Valores.tribFed.tpRetPisCofins); if (sRet = '') or (sRet = '0') then sRet := tpRetPisCofinsToStr(NFSe.Servico.Valores.tpRetPisCofins); if (sRet = '') or (sRet = '0') or (sRet = '2') then sRet := '1'; Result.AppendChild(AddNode(tcStr, '#1', 'TpRetPisCofins', 1, 1, 1, sRet, '')); end; end; end; Sem essa alteração não gera a tag CST do PIS e COFINS e a tag TpRetPisCofins está sempre igual a 2. Devo postar isso em alguma sessão específica do forum para que seja adicionada essa alteração nas fontes do ACBR?
Consultores Juliomar Marchetti Postado 27 Abril Consultores Postado 27 Abril 1 hora atrás, Advance disse: Revivendo este tópico, para uma emissão correta de NFS-e com retenção de PIS/COFINS/CSLL, precisei fazer as alterações abaixo no componente ACBr_NFSeX, precisamente no arquivo C:\ACBR\Fontes\ACBrDFe\ACBrNFSeX\Provedores\GovDigital.GravarXml.pas: 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 sCST := CSTPisToStr(NFSe.Servico.Valores.CSTPis); if sCST = '' then sCST := CSTToStr(NFSe.Servico.Valores.tribFed.CST); if sCST = '' then sCST := '01'; Result.AppendChild(AddNode(tcStr, '#1', 'CST', 2, 2, 1, sCST, '')); if not (StrToIntDef(sCST, 0) in [0, 8, 9]) then begin sRet := tpRetPisCofinsToStr(NFSe.Servico.Valores.tribFed.tpRetPisCofins); if (sRet = '') or (sRet = '0') then sRet := tpRetPisCofinsToStr(NFSe.Servico.Valores.tpRetPisCofins); if (sRet = '') or (sRet = '0') or (sRet = '2') then sRet := '1'; Result.AppendChild(AddNode(tcStr, '#1', 'TpRetPisCofins', 1, 1, 1, sRet, '')); end; end; end; Sem essa alteração não gera a tag CST do PIS e COFINS e a tag TpRetPisCofins está sempre igual a 2. Devo postar isso em alguma sessão específica do forum para que seja adicionada essa alteração nas fontes do ACBR? somente a unit modificada nesse tópico mesmo e ele como tempo será validado Juliomar Marchetti Ajude o Projeto ACBr crescer - Seja Pro discord: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!
Consultores valterpatrick Postado 8 Junho Consultores Postado 8 Junho @Advance obrigado pela contribuição. Foi criada a tarefa ACBR-9469 para análise do caso e parecer por parte da equipe de consultores. Qualquer novidade será divulgada aqui no tópico. Valter Patrick Gerente de Projetos na empresa CTEC Consultor ACBr (33)98400-0936 GitHub: https://github.com/valterpatrick Ajude o Projeto ACBr crescer - Assine o Clube PRO (15) 2105-0750 (15)99790-2976. Discord
powerlog Postado Ontem às 12:19 Postado Ontem às 12:19 Pessoal, Estou com o mesmo problema só que em Java. Pelo que observei nesse tópico, a alteração que @Advance fez, foi em Delphi. Em java, nós utilizamos as DLLs do ACBr. Tenho como efetuar essa correção em Java também ou dependemos do ACBr gerar uma nova versão com a correção ? Esse mesmo problema está registrado na tarefa ACBR-9468. Obrigado!
Consultores valterpatrick Postado Há 10 horas Consultores Postado Há 10 horas A Lib é baseada no componente Delphi, então depende do ACBr aceitar as contribuições para gerar a Lib. No momento esta tarefa está em nosso backlog, peço que aguarde um pouco mais. Valter Patrick Gerente de Projetos na empresa CTEC Consultor ACBr (33)98400-0936 GitHub: https://github.com/valterpatrick Ajude o Projeto ACBr crescer - Assine o Clube PRO (15) 2105-0750 (15)99790-2976. Discord
Recommended Posts
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 contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora