No arquivo "pcesS1000.pas" no evento "GerarInfoEFR" a verificação:
"if infoEmpregador.infoCadastro.InfoOp.InfoEFRInst() and (infoEmpregador.infoCadastro.InfoOp.infoEFR.cnpjEFR <> EmptyStr) then" impede a geração da tag "ideEFR" porem ela é obrigatória caso tenha de informar "infoEFR" mas a "cnpjEFR" não é.
como correção o Bloco ficou assim.
"if infoEmpregador.infoCadastro.InfoOp.InfoEFRInst() then
begin
Gerador.wGrupo('infoEFR');
Gerador.wCampo(tcStr, '', 'ideEFR', 1, 1, 1, eSSimNaoToStr(infoEmpregador.infoCadastro.InfoOp.infoEFR.ideEFR));
if (infoEmpregador.infoCadastro.InfoOp.infoEFR.cnpjEFR <> EmptyStr) then
Gerador.wCampo(tcStr, '', 'cnpjEFR', 14, 14, 0, infoEmpregador.infoCadastro.InfoOp.infoEFR.cnpjEFR);
Gerador.wGrupo('/infoEFR')
end;"
Mas assim ele passa a enviar sempre a tag "ideEFR", devido a ele ser do tipo tpSimNao e isso dificulta a verificação se o mesmo vai ser informado ou não.