Em muitos projetos de acervo no ABCD, precisamos relacionar registros diferentes que estão armazenados dentro da mesma base de dados (dbn) — como uma coleção e seus itens, um periódico e seus fascículos, ou um entrevistado e suas entrevistas.
Para construir essa navegação bidirecional, dividimos os registros em duas categorias lógicas:
- Registro PRINCIPAL: É o registro agregador (de origem). Na tela de visualização, ele exibe um botão que carrega (dentro de um iframe) a lista dinâmica com todas as ocorrências e dados resumidos dos seus registros CORRELATOS.
- Registro CORRELATO: É o registro vinculado (dependente). Ele armazena em um campo específico o código identificador do registro de origem e exibe um link direto para abrir o registro PRINCIPAL.
Visão Geral da Arquitetura
O relacionamento funciona em duas vias independentes. Veja quais arquivos atuam em cada fluxo:
1. Do Registro PRINCIPAL para os CORRELATOS (Listagem em Tabela)
Quando o usuário abre um registro PRINCIPAL, o formato de exibição aciona um IsisScript via wxis que pesquisa todos os registros correlatos vinculados e os desenha em uma tabela dentro de um iframe.
/bases/<dbn>/pfts/<lang>/<dbn>.pft: Formato principal da base; insere o formulário com o botão de ação e o iframe onde a lista será carregada./cgi-bin/wxis_modules/ref_link.xis: Script de busca que localiza os registros CORRELATOS e monta o cabeçalho da tabela dentro do iframe./cgi-bin/simples.pft: Formato chamado peloref_link.xispara desenhar cada linha (células<td>) com os dados dos registros CORRELATOS./bases/par/<dbn>.par: Arquivo de parâmetros; declara os caminhos físicos da base e dos formatos para que owxisconsiga localizá-los./bases/<dbn>/data/<dbn>.fst: Tabela de extração de campos; indexa os códigos de vínculo no arquivo invertido./bases/<dbn>/pfts/<lang>/server.pft: Centraliza a URL do servidor para facilitar chamadas de links.
2. Do Registro CORRELATO para o PRINCIPAL (Link Direto)
Quando o usuário abre um registro CORRELATO, o formato de exibição utiliza a função ref(l(...)) nativa da linguagem de formatação CISIS para buscar os dados do registro PRINCIPAL no arquivo invertido e criar um link clicável.
/bases/<dbn>/pfts/<lang>/<dbn>.pft: Insere a chamada, @doc-principal.pft,quando identifica que o registro aberto é um correlato./bases/<dbn>/pfts/<lang>/doc-principal.pft: (Em algumas bases nomeado comoqualifiers_links.pft) Executa a busca reversa pelo número de controle e monta o link HTML apontando para o registro PRINCIPAL./bases/par/<dbn>.par,<dbn>.fsteserver.pft: Compartilhados com o fluxo anterior para resolução de caminhos e índices.
Passo a Passo da Configuração
Para que o relacionamento funcione sem erros de referência, o ideal é configurar a base seguindo a ordem lógica abaixo: da indexação até os formatos de visualização.
Passo 1: Configurar a Indexação (/bases/<dbn>/data/<dbn>.fst)
A tabela de extração de campos (FST) é o coração do vínculo. Sem a indexação correta no arquivo invertido, o sistema não conseguirá cruzar os registros. Além das linhas de ligação abaixo, lembre-se de que todos os campos exibidos nos formatos doc-principal.pft e simples.pft também precisam estar indexados.
Adicione as seguintes linhas no início do seu arquivo <dbn>.fst:
Plaintext
// Acrescentar ao conteúdo já existente, no início do arquivo.
1 0 'SG'v1
773 0 (v773^w/)
773 0 |NE_|v773^w
Entenda cada parâmetro da FST:
| Elemento | Função na Indexação |
1 e v1 | Campo que armazena o código/número de controle único do registro. É de preenchimento obrigatório no registro PRINCIPAL (e pode ser usado normalmente no registro CORRELATO para seu próprio controle). |
'SG' | Prefixo arbitrário de indexação usado para localizar o registro principal. Não altere esta sigla. |
773 e v773^w | Campo preenchido exclusivamente no registro CORRELATO para guardar o código (v1) do registro PRINCIPAL ao qual está vinculado. Você pode usar outra tag MARC/local em vez do 773^w, desde que substitua a tag em todos os arquivos deste tutorial. |
|NE_|v773^w | Gera a chave de busca NE_ + número de controle do registro principal. Essa mesma sigla deve ser enviada pelo formulário oculto dentro do arquivo <dbn>.pft (value="NE_'v1'"). |
Passo 2: Definir a URL Base (/bases/<dbn>/pfts/<lang>/server.pft)
Este arquivo armazena o endereço base da sua instalação do ABCD, sendo chamado pelo doc-principal.pft para montar as URLs de acesso aos registros.
Crie o arquivo server.pft dentro da pasta de idiomas da sua base contendo apenas a URL entre aspas simples (certifique-se de incluir a barra / ao final):
Snippet de código
'http://caminho.do/servidor/'
Passo 3: Declarar os Caminhos em /bases/par/<dbn>.par
O arquivo .par informa ao ABCD e ao módulo wxis onde estão localizados os formatos auxiliares e os arquivos físicos da base de dados.
Acrescente as linhas abaixo ao final do seu arquivo <dbn>.par:
Ini, TOML
// Acrescentar ao conteúdo já existente
doc-principal.pft=%path_database%dbn/pfts/pt/doc-principal.pft
server.pft=%path_database%dbn/pfts/pt/server.pft
GIZMO.*=caminho-fisico/bases/gizmo/pt/qlf850.*
ACERVO.*=caminho-fisico/bases/dbn/data/dbn.*
O que você deve ajustar neste arquivo:
dbn: Substitua pelo nome real da sua base de dados.caminho-fisico: Substitua pelo caminho absoluto no diretório do servidor (incluindo a barra inicial, como/var/www/abcd).ACERVO: É o apelido interno da base chamado dentro doref_link.xis. Caso você tenha mais de uma base utilizando este recurso na mesma instalação do ABCD, altere o nomeACERVO(por exemplo, paraACERVO2) tanto aqui quanto noref_link.xis.GIZMO: Deve ser mantido exatamente com este nome, ajustando apenas ocaminho-fisico.
Passo 4: Formatar as Linhas da Lista de Correlatos (/cgi-bin/simples.pft)
O arquivo simples.pft é responsável por desenhar apenas as células de dados (<td>) de cada registro CORRELATO encontrado. Os títulos das colunas (<th>) ficam armazenados dentro do ref_link.xis.
Importante: Deve existir um arquivo
simples.pftexclusivo para cada tipo de referência na mesma base ou para cada base na instalação do ABCD que utilize relacionamentos. Caso crie um segundo relacionamento, salve uma cópia com outro nome (ex.:simples_acervo2.pft) e atualize a chamada correspondente dentro do seuref_link.xis.
Snippet de código
[pft]
'<td class="estilo"><a href="http://server/central/dataentry/fmt.php?Opcion=ver&base=dbn&cipar=dbn.par&Mfn='mfn'&ver=S&Formato=pft" target="_blank" class="estilo" title="">'mfn,'</a></td>'
'<td class="estilo">'mhl,v117[1],'</td>'
'<td class="estilo">'mhl,v119[1],'</td>'
'<td class="estilo">'mhl,v153[1],'</td>'
'<td class="estilo">'mhl,v122*6.2,"/"v122*4.2,"/"v122*0.4,'</td>'
'<td class="estilo">'mhl,v124[1],'</td>'
'<td class="estilo">'mhl,v125[1],'</td>'
[/pft]
Variáveis para personalizar no código acima:
| Variável no Código | Pelo que substituir |
server | Domínio ou IP do seu servidor (neste arquivo não é possível chamar @server.pft). |
dbn | Nome da sua base de dados (em base=dbn e cipar=dbn.par). |
pft | Nome do formato de exibição (sem a extensão .pft em Formato=pft) que será usado ao abrir o registro CORRELATO em nova aba. |
Campos (v117, v119…) | Substitua pelas tags reais dos campos do seu registro CORRELATO que deseja exibir nas colunas da tabela. O primeiro <td> cria o link de acesso diretamente no número do mfn. |
Passo 5: Configurar o Motor de Busca dos Correlatos (/cgi-bin/wxis_modules/ref_link.xis)
Este IsisScript recebe a requisição do registro PRINCIPAL, pesquisa todos os registros CORRELATOS ligados a ele no arquivo invertido e renderiza a tabela HTML completa dentro do iframe, puxando as linhas do simples.pft.
XML
<IsisScript name="ref_link.xis">
<section>
<display><pft>'Content-type: text/html'/#</pft></display>
<display>
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://server/bases/dbn/styles/estilo.css" />
<title></title>
</head>
<body>
</display>
<field action="cgi" tag="3001">expressao1</field>
<field action="cgi" tag="3011">operador1</field>
<field action="cgi" tag="3002">expressao2</field>
<field action="cgi" tag="3012">operador2</field>
<field action="cgi" tag="3003">expressao3</field>
<field action="cgi" tag="2002">formato</field>
<field action="cgi" tag="2003">exibir</field>
<field action="cgi" tag="2004">proximo</field>
<field action="cgi" tag="2010">lista</field>
<field action="cgi" tag="2051">formulario</field>
<field action="cgi" tag="5001">base</field>
<field action="cgi" tag="5002">cipar</field>
<!-- Carrega parametros enviados pela PFT da base -->
<parm name="cipar"><pft>,cat(v5002),</pft></parm>
<!-- Tratamento de erro -->
<flow action="jump"><pft>if a(v3001) and a(v2010) then 'ERRO2' fi</pft></flow>
<field action="replace" tag="2002"><pft>if a(v2002) then 'simples' else v2002 fi</pft></field>
<field action="replace" tag="2003"><pft>if val(v2003)<1 then '25' else v2003 fi</pft></field>
<field action="replace" tag="2004"><pft>if val(v2004)<1 then '1' else v2004 fi</pft></field>
<label>Saber</label>
<field action="replace" tag="5010">
<pft>
if v2051:'FORM' then
v3001,if p(v3001) then if p(v3002) or p(v3003) then v3011 fi,fi,v3002,
if p(v3002) and p(v3003) then v3012 fi,v3003
else
if p(v3001) then
if p(v3011) then
replace(v3001,' ',v3011)
else
v3001
fi,
else
v2010+|+|
fi,
fi,
</pft></field>
<do task="search">
<parm name="db">ACERVO</parm>
<parm name="gizmo">GIZMO</parm>
<parm name="expression">
<pft>v5010</pft>
</parm>
<parm name="reverse">Off</parm>
<field action="define" tag="1001">Isis_Current</field>
<field action="define" tag="1002">Isis_Total</field>
<loop>
<list action="load" type="list">
<pft>
''mhu,'^k',mfn, '^m'mfn,
</pft>
</list>
</loop>
</do>
<!-- AGPOA - INICIO DA VISUALIZACAO DOS RESULTADOS-->
<!--<display><pft>'from: 'v2004'<br>count: 'v2003'<br>'</pft></display-->
<!--display><pft>'<h4>expressão: 'v5010'</h4>'</pft></display-->
<display>
<form name="resultado" action="wxis.exe" method="get" onSubmit="return verifica()">
<input type="hidden" name="IsisScript" value="ref_link.xis">
<input type="hidden" name="nextAction" value="refine/resubmit">
<table>
<tr>
<td></td>
</display>
<display>
<pft>
if v2002:'simples' then
'<th class="ahmcs listaSuporte">MFN</th>'
'<th class="ahmcs listaSuporte">FG</th>'
'<th class="ahmcs listaSuporte">CDR-FG</th>'
'<th class="ahmcs listaSuporte">CD</th>'
'<th class="ahmcs listaSuporte">Data</th>'
'<th class="ahmcs listaSuporte">Tema</th>'
'<th class="ahmcs listaSuporte">Subtema</th></tr>'
fi
</pft>
</display>
<display>
</display>
<do task="list">
<field action="define" tag="1001">Isis_Current</field>
<field action="define" tag="199">Isis_Item</field>
<parm name="sort"><pft>v199^k</pft></parm>
<parm name="count"><pft>v2003</pft></parm>
<parm name="from"><pft>v2004</pft></parm>
<loop>
<field action="import" tag="list">1002/2999</field>
<do task="mfnrange">
<parm name="db">ACERVO</parm>
<parm name="from"><pft>v199^m</pft></parm>
<parm name="count">1</parm>
<loop>
<field action="import" tag="list">1000/2999</field>
<display>
<htmlpft><pft>
'<tr><td>'
'<span class="destaque">' '[pft]V1001[/pft]' '. </span>'
if v2002:'simples' then
cat('simples.pft')
fi,
</pft></htmlpft>
</display>
</loop> <!--fim do loop mfnrange-->
</do>
</loop> <!--fim do loop task-->
</do>
<display><pft>
</pft></display>
<display>
<pft>
'<tr><td>'
'<input type="Hidden" name="formato" value="'v2002'">'
if val(v1002)>0 then '<!--<input class="botao" type="Submit" value=" Exibir selecionados">-->' else 'Nenhum registro recuperado!' fi,
'<br /><br /> </form>
</table>
<!--<input type="button" class="botao" name="imprimir" align="middle" id="imprimir" value="Imprimir" onclick="print()" /></td></tr>-->'
</pft>
</display>
<!-- FIM DA VISUALIZACAO DOS RESULTADOS -->
<display><pft>
'<span class="etiqueta">Total: </span><span class="destaque">'v1002' </span>' if v1002='1' then 'registro.' else 'registros.' fi,'<br/>'
'<!--<a href="'v5000,
if v2051:'FORM' then
'JanelaPesquisa.htm'
else
'indexflo.htm'
fi,
'"><img src="'v5000'img/find.png" alt="Pesquisar" border="0">Nova Pesquisa</a>-->'
</pft>
</display>
<flow action="jump">FIM</flow>
<label>ERRO</label>
<display>Selecione ao menos uma das bases listadas.</display>
<flow action="jump">FIM</flow>
<label>ERRO1</label>
<display>O registro final é menor do que o registro inicial.</display>
<flow action="jump">FIM</flow>
<label>ERRO2</label>
<display>
Informe a expressão de pesquisa<br>ou<br>Selecione ao menos um item para exibição.<br><br>
<input class="botao" type="button" value="Voltar" onclick="history.go(-1)">
</display>
<flow action="jump">FIM</flow>
<label>FIM</label>
<!-- Para a execução e sai -->
<display>
</td></tr></table></display>
<display>
<pft>
if val(v1002)>0 then
if val(v1001)<val(v1002) then
'<hr color="#660000" width="90%">
<table>
<tr>
<td>
<a href="javascript:history.back();">
</td>
<td>
<form action="http://cgi-bin/wxis.exe" method="post">
<input type="hidden" name="IsisScript" value="ref_link.xis">
<input type="hidden" name="expressao" value="
'replace(v2001,' ','*'),v2000,
if p(v2004) then v2002,replace(v2004,' ','*'),v2003, fi,
if p(v2007) then v2005,replace(v2007,' ','*'),v2006, fi
'">
<input type="hidden" name="campo1" value="'v2000'">
<input type="hidden" name="expressao1" value="'v3001'">
<input type="hidden" name="operador1" value="'v3011'">
<input type="hidden" name="campo2" value="'v2003'">
<input type="hidden" name="expressao2" value="'v2004'">
<input type="hidden" name="operador2" value="'v3012'">
<input type="hidden" name="campo3" value="'v2006'">
<input type="hidden" name="expressao3" value="'v3003'">
<input type="hidden" name="controle" value="AN="'v900'">
<input type="hidden" name="quantidade" value="'v2009'">
<input type="hidden" name="lista" value="AN='v2010'">
<input type="hidden" name="proximo" value="'f(val(v2004)+25,0,0)'">
<input type="image" src="http://teste.isishome.net/img/avancar.png" value="Avançar" alt="Avançar">
</td>
</tr>
</table>
</body>'
else
if val(v1001)=val(v1002) then
fi fi fi
</pft>
</display>
<flow action="exit">fim</flow>
</section>
</IsisScript>
Pontos de atenção para customizar no ref_link.xis:
| Item | O que ajustar |
server, dbn e estilo | Na linha <link rel="stylesheet"...>, ajuste a URL do servidor (server), o nome da base (dbn) e o arquivo CSS (estilo.css). |
ACERVO e GIZMO | O parâmetro ACERVO deve ter exatamente o mesmo nome configurado no <dbn>.par. O parâmetro GIZMO deve ser mantido como está. |
ref_link.xis e simples | Se a sua instalação tiver mais de uma base com referências, crie cópias com nomes exclusivos (ex.: ref_link_base2.xis e simples_base2.pft) e substitua todas as chamadas internas no arquivo. |
Cabeçalhos (<th>) | No bloco if v2002:'simples' then, altere os títulos das colunas (MFN, FG, CDR-FG, Data, etc.) para corresponder exatamente aos campos do registro CORRELATO configurados no seu simples.pft. |
Passo 6: Criar o Link de Retorno ao Registro Principal (/bases/<dbn>/pfts/<lang>/doc-principal.pft)
Quando o usuário visualiza um registro CORRELATO, este formato auxiliar entra em ação: ele lê o código de vínculo armazenado no campo v773^w, localiza o MFN correspondente do registro PRINCIPAL através da função ref(l(...)) e cria um link direto para abri-lo em uma nova aba.
Snippet de código
(if p(v773^w) then
'<a href="',@server.pft,'central/dataentry/fmt.php?Opcion=ver&base=dbn&cipar=dbn.par&Mfn='ref(l(['caminho-fisico/bases/dbn/data/dbn']'SG'v999,v773^w,v260),mfn)'
&ver=S&Formato=pft" class="estilo" target="_blank" title="">'ref(l(['caminho-fisico/bases/dbn/data/dbn']'SG'v999,v773^w,v260),v245^a, v245^g,' <span class="destaque">MFN: </span>'mfn)'</a>'
fi,)' '
Parâmetros essenciais do doc-principal.pft:
- Condicional (
if p(v773^w)): Garante que o link só seja gerado se o campo de vínculo estiver preenchido (ou utilize uma condicional baseada na presença/ausência de campos exclusivos do registro CORRELATO). dbnecaminho-fisico: Substitua pelo nome da sua base e pelo caminho físico completo do servidor (incluindo a/inicial, ex.:/var/www/abcd).'SG'v999: Artifício técnico da linguagem de formatação para concatenar o prefixo de buscaSG. Não altere.v773^w: Campo preenchido apenas no registro CORRELATO contendo o códigov1do registro PRINCIPAL.v260(Pulo do gato): Este terceiro argumento dentro del(...)deve ser qualquer campo que exista apenas no registro PRINCIPAL (ou que nunca seja preenchido no registro correlato). Se esse campo estiver preenchido no correlato, a busca falhará.pft: Em&Formato=pft, informe o nome do formato (sem.pft) que será usado para exibir o registro PRINCIPAL ao clicar no link.- Campos de exibição (
v245^a, v245^g): Substitua pelos campos do registro PRINCIPAL que devem aparecer como o texto clicável do link (como Título ou Nome).
Passo 7: Integrar os DOIS Fluxos no Formato da Base (/bases/<dbn>/pfts/<lang>/<dbn>.pft)
Por fim, precisamos inserir no formato de exibição principal da base (<dbn>.pft) as condições que decidem o que mostrar na tela:
- Se o registro aberto for um CORRELATO, ele chama o
@doc-principal.pft. - Se o registro aberto for um PRINCIPAL, ele desenha o botão de busca e o
<iframe name="tela">que carregará a listagem de correlatos.
Insira os trechos abaixo nos locais desejados dentro da sua PFT:
Snippet de código
// 1. Para exibir o link apontando para o registro PRINCIPAL (quando estiver visualizando o CORRELATO)
if p(v154) and a(v100) then
'<tr class="estilo"><td class="estilo">',@doc-principal.pft,'</td></tr>'
fi,
// 2. Para exibir o botão e o iframe listando os registros CORRELATOS (quando estiver visualizando o PRINCIPAL)
if a(v154) and p(v100) then
'<tr>
<th class="estilo"><br />
<form action="/cgi-bin/wxis.exe" method="post" target="tela" id="tela">
<input type="hidden" name="IsisScript" value="wxis-modules/ref_link.xis">
<input type="hidden" value="NE_'v1'" name="expressao1">
<!-- Input para executar o cgi-bin/wxis-modules/ref_link.xis -->
<input type="hidden" value="dbn" name="base">
<input type="hidden" value="caminho-fisico/bases/par/'v5001'.par" name="cipar">
'if a(v154) then
'<input name="buscar" type="submit" value="nome-do-botão" target="tela" class="estilo" title="">
</form></th>
<td><iframe frameborder="0" id="tela" name="tela" width="100%" height="150px"></iframe></td>
</tr>'fi/
fi,
Ajustes necessários neste trecho:
- Condicionais (
if p(v154) and a(v100)): Adapte para a realidade da sua base. No exemplo acima, o campov154existe apenas no registro CORRELATO e ov100existe apenas no PRINCIPAL. NE_'v1': O prefixoNE_deve ser exatamente o mesmo configurado na sua<dbn>.fstpara o campo de ligação.dbnecaminho-fisico: Nome da base e caminho absoluto no servidor (ex.:/var/www/abcd).nome-do-botão: Texto que aparecerá no botão para o usuário clicar e carregar os registros CORRELATOS (exemplo: “Ver entrevistas” ou “Listar fascículos”).
Exemplo Prático: Base MAJSA (Entrevistados e Entrevistas)
Um caso real de aplicação desta estrutura é a base MAJSA (Banco de Memória do Arquivo Histórico de Caxias do Sul), onde são cadastrados na mesma base tanto os dados biográficos das pessoas (ENTREVISTADO = Registro PRINCIPAL) quanto os registros técnicos de cada depoimento cedido (ENTREVISTA = Registro CORRELATO).
Estrutura de Campos Utilizada na Base MAJSA
v1: Número de controle único (preenchido em todos os registros).v100: Nome do entrevistado (preenchido apenas no registro PRINCIPAL / Entrevistado).v101ev102: Datas de nascimento e morte (preenchidos apenas no registro PRINCIPAL / Entrevistado).v154: Código de vínculo do entrevistado (preenchido apenas no registro CORRELATO / Entrevista, recebendo o valor dov1do Entrevistado).v117(FG),v119(CDR-FG),v153(CD),v122(Data),v124(Tema) ev125(Subtema): Dados técnicos preenchidos apenas no registro CORRELATO / Entrevista.
Como Funciona na Prática
Imagine que o registro da entrevista possui o número de controle v1=1 e está vinculado ao entrevistado de código v154=52:
- Ao visualizar a ENTREVISTA (Registro Correlato): O sistema lê o valor
52no campov154, busca o registro principal correspondente e exibe automaticamente o link com o nome (v100) e as datas de nascimento e morte (v101ev102) do ENTREVISTADO. - Ao visualizar o ENTREVISTADO (Registro Principal): O sistema exibe o botão de consulta e carrega dentro do iframe a listagem completa de todas as ENTREVISTAS vinculadas ao código
52, mostrando em colunas os camposFG (v117),CDR-FG (v119),CD (v153),Data (v122),Tema (v124)eSubtema (v125).
Em ambos os sentidos, clicar sobre o link ou sobre o MFN da tabela abre o documento referenciado em uma nova aba do navegador.
Esquema Visual de Exibição
Abaixo está a representação de como os dados são renderizados na interface do ABCD após a configuração dos formatos:
1. Visualização da ENTREVISTA (Registro Correlato com link para o Principal)
Ao abrir o registro da entrevista (v1=1), a condicional identifica a presença do campo de vínculo (v154=52) e aciona o @doc-principal.pft, gerando um link direto para o cadastro do entrevistado:
| Campo na Tela | Valor Exibido no Registro | Origem do Dado |
| Nº de Controle | 1 | Campo v1 (Correlato) |
| Entrevistado (Vínculo) | 🔗 João da Silva (1920–2005) — MFN: 52 (abre em nova aba) | Gerado via @doc-principal.pft buscando v100, v101 e v102 do Principal |
| FG | FG-014 | Campo v117 (Correlato) |
| CDR-FG | CDR-008 | Campo v119 (Correlato) |
| CD | CD-003 | Campo v153 (Correlato) |
| Data | 14/05/1998 | Campo v122 formatado (Correlato) |
| Tema | Imigração e Colonização | Campo v124 (Correlato) |
| Subtema | Ofícios rurais e vitivinicultura | Campo v125 (Correlato) |
2. Visualização do ENTREVISTADO (Registro Principal listando seus Correlatos no iframe)
Ao abrir o registro do entrevistado (v1=52), a condicional identifica que se trata de um registro PRINCIPAL e exibe o botão de ação ao lado do iframe. Ao clicar em “Ver entrevistas”, o ref_link.xis busca todos os registros com NE_52 e monta a tabela com o simples.pft:
Dados do Registro Principal (<dbn>.pft):
| Campo na Tela | Valor Exibido no Registro |
Nº de Controle (v1) | 52 |
Nome do Entrevistado (v100) | João da Silva |
Datas (v101 – v102) | 1920 – 2005 |
| Documentos Vinculados | [ Botão: Ver entrevistas ] (carrega a tabela abaixo dentro do iframe) |
Tabela renderizada dentro do iframe (ref_link.xis + simples.pft):
| # | MFN (link p/ Correlato) | FG (v117) | CDR-FG (v119) | CD (v153) | Data (v122) | Tema (v124) | Subtema (v125) |
| 1. | 🔗 1 | FG-014 | CDR-008 | CD-003 | 14/05/1998 | Imigração e Colonização | Ofícios rurais e vitivinicultura |
| 2. | 🔗 18 | FG-015 | CDR-009 | CD-003 | 21/05/1998 | Memória Urbana | Comércio local na década de 1950 |
Total: 2 registros. (Ao clicar sobre o número do MFN, o respectivo registro Correlato é aberto em uma nova aba).

