Erro mesma lista em duas paginas diferentes duplicate Id for a component

Olá pessoal estou com esse problema no meu projeto, é o seguinte:
Tenho duas paginas que listam uma mesma lista, uma de listagem de contratos e a outra de listagem para um relatório. Por ser o mesmo método listar co ContratoControle. Abaixo está o códico da pagina da listagem do contrato, colocarei somente a div que esta dentro do a4j:form:


   <div class="alignCenter">
                            <rich:dataTable styleClass="tableList" id="tabelaASC" value="#{ManterContrato.listar}" var="contrato" binding="#{ManterContrato.table}" onRowMouseOver="colore(this)" onRowMouseOut="descolore(this)">
                                <f:facet name="header">
                                    <rich:columnGroup>
                                        <rich:column>
                                            <h:outputText value="Filial"/>
                                        </rich:column>
                                        <rich:column>
                                            <h:outputText value="Número do Contrato"/>
                                        </rich:column>
                                        <rich:column>
                                            <h:outputText value="Nome da Fábrica"/>
                                        </rich:column>
                                        <rich:column>
                                            <h:outputText value="Data Inicial"/>
                                        </rich:column>
                                        <rich:column>
                                            <h:outputText value="Data Final"/>
                                        </rich:column>
                                        <rich:column>
                                            <h:outputText value="Status"/>
                                        </rich:column>
                                        <rich:column>
                                            <h:outputText value="Ações"/>
                                        </rich:column>
                                    </rich:columnGroup>
                                </f:facet>

                                <rich:column id="inputNumeroCnpj" styleClass="alignCenter">
                                    <h:outputText value="#{contrato.cnpjUnidade}" />
                                </rich:column>

                                <rich:column id="inputNumeroContrato" styleClass="alignCenter">
                                    <h:outputText value="#{contrato.numero}" />
                                </rich:column>


                                <rich:column id="inputNomeFabrica" styleClass="alignLeft">
                                    <h:outputText value="#{contrato.nome_fabrica}" />
                                </rich:column>

                                <rich:column id="inputDataInicial" styleClass="alignCenter">
                                    <h:outputText value="#{contrato.data_ini_contrato}" >
                                        <f:convertDateTime pattern="dd/MM/yyyy" timeZone="America/Sao_Paulo"/>
                                    </h:outputText>
                                </rich:column>

                                <rich:column id="inputDatafinal" styleClass="alignCenter">
                                    <h:outputText value="#{contrato.data_fim_contrato}" >
                                        <f:convertDateTime pattern="dd/MM/yyyy" timeZone="America/Sao_Paulo"/>
                                    </h:outputText>
                                </rich:column>

                                <rich:column id="nivel" styleClass="alignCenter">
                                    <h:outputText value="Aberto" id="nivel0" rendered="#{contrato.status == 0}"/>
                                    <h:outputText value="Cancelado" id="nivel1" rendered="#{contrato.status == 1}"/>
                                    <h:outputText value="Fechado" id="nivel2" rendered="#{contrato.status == 2}"/>
                                </rich:column>

                                <rich:column styleClass="alignCenter">
                                    <a4j:commandLink ajaxSingle="true" id="editlink" action="#{ManterContrato.editarContrato}" oncomplete="javascript:Richfaces.showModalPanel('panelEditarContrato');">
                                        <h:graphicImage value="/images/editar.gif"/><rich:toolTip for="editlink" value="Editar" />
                                    </a4j:commandLink>
                                    <a4j:commandLink ajaxSingle="true" id="deletelink" reRender="lstCrudContrato" action="#{ManterContrato.excluir}" onclick="if (!confirm('Deseja realmente excluir?')) return false" rendered="#{Autenticacao.usuario.nivel == 1}">
                                        <h:graphicImage value="/images/excluir.gif"/><rich:toolTip for="deletelink" value="Deletar" />
                                    </a4j:commandLink>
                                </rich:column>
                            </rich:dataTable>
                        </div>

Na pagina do relatório também usei o ManterContrato.listar desta forma:


  <div class="alignCenter">
                            <rich:dataTable styleClass="tableList" id="idListaAcompFinancCompleto" value="#{ManterContrato.listar}" var="contrato" binding="#{ManterContrato.table}" onRowMouseOver="colore(this)" onRowMouseOut="descolore(this)">
                                <f:facet id="idFacetAcomp" name="header">
                                    <rich:columnGroup id="idFilial">
                                        <rich:column>
                                            <h:outputText id="idFilianText" value="Filial"/>
                                        </rich:column>
                                        <rich:column id="idNumContrato">
                                            <h:outputText id="idNumeroContrato" value="Número do Contrato"/>
                                        </rich:column>
                                        <rich:column id="idNomeFabrica">
                                            <h:outputText  id="idNomFabricatext" value="Nome da Fábrica"/>
                                        </rich:column>
                                        <rich:column id="DataInicial">
                                            <h:outputText id="idDataInicialText" value="Data Inicial"/>
                                        </rich:column>
                                        <rich:column id="idDataFinal">
                                            <h:outputText id="idDataFinalText" value="Data Final"/>
                                        </rich:column>
                                        <rich:column id="idStatus">
                                            <h:outputText value="Status"/>
                                        </rich:column>
                                    </rich:columnGroup>
                                </f:facet>

                                <rich:column id="inputNumeroCnpjAcomp" styleClass="alignCenter">
                                    <h:outputText value="#{contrato.cnpjUnidade}" />
                                </rich:column>

                                <rich:column id="inputNumeroContratoAcomp" styleClass="alignCenter">
                                    <h:outputText value="#{contrato.numero}" />
                                </rich:column>


                                <rich:column id="inputNomeFabricaAcomp" styleClass="alignLeft">
                                    <h:outputText value="#{contrato.nome_fabrica}" />
                                </rich:column>

                                <rich:column id="inputDataInicialAcomp" styleClass="alignCenter">
                                    <h:outputText value="#{contrato.data_ini_contrato}" >
                                        <f:convertDateTime pattern="dd/MM/yyyy" timeZone="America/Sao_Paulo"/>
                                    </h:outputText>
                                </rich:column>

                                <rich:column id="inputDatafinalAcomp" styleClass="alignCenter">
                                    <h:outputText value="#{contrato.data_fim_contrato}" >
                                        <f:convertDateTime pattern="dd/MM/yyyy" timeZone="America/Sao_Paulo"/>
                                    </h:outputText>
                                </rich:column>

                                <rich:column id="nivelAcomp" styleClass="alignCenter">
                                    <h:outputText value="Aberto" id="nivel0" rendered="#{contrato.status == 0}"/>
                                    <h:outputText value="Cancelado" id="nivel1" rendered="#{contrato.status == 1}"/>
                                    <h:outputText value="Fechado" id="nivel2" rendered="#{contrato.status == 2}"/>
                                </rich:column>

                            </rich:dataTable>
                        </div>

Como viram estou usando rich:datatable com id diferentes nas duas paginas, porem mesmo assim ele esta dando esse erro:

duplicate Id for a component lstCrudContrato:tabelaASC:j_id34

Também tentei nomear todos id dos componentes dentro do richtable da tabela de acompanhamento financeiro mas mesmo assim, por a tabela do aconpanhamento financeiro não ter um campo de ações os dado das duas tabelas se misturam.
Também tentei criar o metodo de listagem de contratos no ManterRelatorio mas do mesmo jeito deu erro.
O que gostaria de saber é como posso utilizar o mesmo método listar do ManterContrato da forma CORRETA sem usar duplicação de código, sem que ele de esse erro de duplicação de id sem ter que renomear todos os id dos componentes, apenas dando um id diretente para o componente mais acima da arvore do JSF que no exemplo que no caso é o richtable.