Bom dia,
Acho que entendi o que deseja fazer e acredito que seja possível sem utilizar union e subquerys, veja:
SELECT
A1_COD, A1_NOME,
CK_NUM AS N_ORC,SUM(CK_QTDVEN * CK_PRUNIT) AS VLR_ORC,
D2_PEDIDO AS PEDIDO,
SUM(SC6.C6_QTDVEN * SC6.C6_PRUNIT) AS VLR_PEDIDO,
SUM(SC6R.C6_QTDVEN * SC6R.C6_PRUNIT) AS VLR_RESIDUO,
SUM(D2_TOTAL) AS VLR_FATDESC, SUM(D2_QUANT * D2_PRUNIT) AS VLR_FATBRU,
CASE(SF4.F4_DUPLIC)
WHEN 'S' THEN 'PEDIDO'
WHEN 'N' THEN 'BONIFICACAO'
ELSE ''
END AS F4_DUPLIC,
CASE(SF4R.F4_DUPLIC)
WHEN 'S' THEN 'PEDIDO'
WHEN 'N' THEN 'BONIFICACAO'
ELSE ''
END AS F4_DUPLICR
FROM SD2010
Inner join SA1010 SA1 ON A1_COD = D2_CLIENTE AND SA1.D_E_L_E_T_='' AND A1_LOJA = D2_LOJA
INNER JOIN SC6010 SC6 ON C6_NUM = D2_PEDIDO AND SC6.D_E_L_E_T_='' AND SC6.C6_PRODUTO = D2_COD AND C6_FILIAL = '010103'
INNER JOIN SF4010 SF4 ON SC6.C6_TES = SF4.F4_CODIGO AND SF4.D_E_L_E_T_ ='' AND SF4.F4_FILIAL = '010103'
LEFT JOIN SC6010 SC6R ON SC6R.C6_NUM = D2_PEDIDO AND SC6R.D_E_L_E_T_='' AND SC6R.C6_BLQ = 'R' AND SC6R.C6_FILIAL ='010103'
LEFT JOIN SF4010 SF4R ON SC6R.C6_TES = SF4R.F4_CODIGO AND SF4R.D_E_L_E_T_ = '' AND SF4R.F4_FILIAL = '010103'
LEFT JOIN SCK010 SCK ON CK_NUMPV = SC6.C6_NUM AND SCK.D_E_L_E_T_ =''
WHERE SD2010.D_E_L_E_T_=''
AND D2_PEDIDO = '000111'
AND D2_FILIAL = '010103'
GROUP BY A1_COD, A1_NOME,
SF4.F4_DUPLIC,
SF4R.F4_DUPLIC,
CK_NUM,
D2_PEDIDO
Neste exemplo usei LEFT no orçamento para testar, pois não tenho orçamentos na minha base de dados, os itens de pedidos com resíduos coloquei numa coluna própria, e tratei com Left para casos não tenha resíduos no pedido, aí só recomendo acertar as filiais e o posicionamento que deseja e tratar os null para zero ou vazio.