Oi Alexandre, bom dia!
Não sei se você já resolveu este problema, mas existem algumas alternativas para este caso.
1 - Utilizando a sugestão do Vidal, o problema de não ter ligação da produção com oficina, ocorre por que na tabela producao realmente não existe ligação com oficina. então a fórmula que mostra as partes precisa estabelecer nível de calculo
ficaria assim: max(producao.producao.num_partes){l:-oficina, ~}
Explicação: com esta formula está estabelecendo que o programa não tente fazer agrupamento por oficina neste campo, e o "~" determina que deve agrupar por todos os outros campos.
Problema: não testei, mas quando se usa nível o processo pode ficar bem lento
2 - A fórmula de parte faz a contagem das partes diretamente na tabela situacao_producao utilizando a função countd
QTDE_PARTES: countd(situacao_producao.parte)
QUANTIDADE_ATUAL: sum(situacao_producao.quantidade)/rpt.QTDE_PARTES
ou caso de erro de SQL
QUANTIDADE_ATUAL: sum(situacao_producao.quantidade/rpt.QTDE_PARTES )
Favor analisar as opções aqui e informar a todos se algumas das alternativas atendeu sua necessidade,
Se a resposta solucionou sua dúvida, clique em curtir e marque como respondida. Obrigado.