Nesse caso a implementação da query não muda...
cQuery := " SELECT #QueryFields#"
cQuery += " FROM " + RetSqlName( 'AD1' ) + " AD1 "
cQuery += " LEFT JOIN " + RetSqlName( 'SA1' ) + " SA1 ON A1FILIAL = ' ' AND A1_COD = AD1_CODCLI AND SA1.D_E_L_E_T = ' '"
cQuery += " LEFT JOIN " + RetSqlName( 'SUS' ) + " SUS ON USFILIAL = ' ' AND US_COD = AD1_PROSPE AND SUS.D_E_L_E_T = ' '"
cQuery += " LEFT JOIN " + RetSqlName( 'SA3' ) + " SA3 ON A3FILIAL = ' ' AND A3_COD = AD1_VEND AND SA3.D_E_L_E_T = ' '"
cQuery += " WHERE #QueryWhere#"
cWhere := " AD1FILIAL = '"+ FWxFilial('AD1') +"' AND AD1.D_E_L_E_T = ' '"
*Obs: os campos das entidades associadas precisam ser adicionados no AddMapFields.