El ejemplo de fragmento de código siguiente comprueba si el registro (entidad) tiene duplicados (hijos), en cuyo caso, el enganche edita cada uno de los duplicados con el nombre de acción dupone y establece el campo "action_info" para indicar que se ha probado el registro original (padre).
Dim status
Dim session ' El objeto Session actual
Dim parent_id ' El nombre de visualización de la entidad actual
'(serie de ID)
Dim dups ' Matriz de todos los duplicados directos de esta entidad
Dim dupvar ' Variant que contiene un enlace a un duplicado
Dim dupobj ' El mismo enlace, pero como un objeto en lugar de como un
' valor Variant
Dim entity ' La entidad extraída del enlace
If (HasDuplicates()) Then
Set session = GetSession
dups = GetDuplicates
parent_id = GetDisplayName
for each dupvar in dups
' Se puede comprobar si hay anomalías en diversas funciones y
' a continuación, informar sobre las anomalías al usuario
'(utilizando, por ejemplo,
MsgBox).
' Las anomalías son poco probables, pero posibles. Por ejemplo,
' alguien
puede, al mismo tiempo, "quitar la marca" de una entidad
' como un duplicado.
Set dupobj = dupvar
Set entity = dupobj.GetChildEntity
session.EditEntity entity, "dupdone"
SetFieldValue "action_info", _
"Original " & parent_id & " is tested"
' confirmar el registro en la base de datos si la validación no
' devuelve errores
status = entity.Validate
if status = "" then
entity.Commit
else
entity.Revert
End If
Next
End If
my($session); # El objeto Session actual
my($links); # La referencia al objeto de recopilación de enlaces
my($link);
my($cnt);
my($itm);
my($childID);
if ($entity->HasDuplicates()) {
$session=$entity->GetSession();
$links = $entity->GetDuplicates();
$session->OutputDebugString("links is " . $links . "(" . ref ($links) .
")\n" );
$cnt = $links->Count();
$session->OutputDebugString("count is " . $cnt . "(" . ref ($cnt) .
")\nchildren:\n" );
for ($i = 0; $i<$cnt; $i++) {
$itm = $links->Item($i);
$session->OutputDebugString("Item is " . $itm . "(" . ref ($itm) . ")\n";
$childID = $itm->GetChildEntityId();
$session->OutputDebugString($childID . "\n" );
}
$session->OutputDebugString("done");
}
else {
}