A ver si te he entendido...
Tienes la siguiente relacion
Clients -> Movimientos -> Documentos
no? Bien, si es así, en Movimientos es de suponer que tienes un campo Id_Cliente (por decirlo de alguna manera) que es el que te establece la relación Maestro-Detalle
Documentos es una tabla donde se almacena (por lo que he entendido) Id_Documento y Descripción y, según lo que dices en el primer Post, en Movimientos tienes un campo (llamemosle Id_Documento) que indica el tipo de Documento
Bien, visto esto, puedes ir al DatabaseDesktop y definir un indice secundario en Movimientos que sea (por ejemplo) Id_Cliente + Id_Documento + Fecha (llamemosle I_CliDocF). Entonces, antes de lanzar el listado puedes asignarle este indice a la tabla de Movimientos
Código:
TMovimientos.IndexName := 'I_CliDocF';
Ahora, ya puedes hacer las roturas como quieres con un QrGroup.
Para la descripción del tipo de documento, puedes crearte un campo de tipo Calculate en el TTable de Movimientos que te de la descripción y, mostrar ésta en el Report
Esta es una solución. Otra solución sería hacer una Query que hiciera una JOIN entre las tres tabla
Código:
select *
from clientes c inner join
movimientos m on (m.Id_Cliente = c.Id_Cliente) inner join
documentos d on (d.Id_Documento = m.IdDocumento)
where Condiciones que quieras
order by c.Id_Cliente, m.Id_Documento, m.Fecha
y hacer un report directamente de esta Query
Bueno, siento el rollo este
Espero te sirva