I utilised the _cm_pre_getData function in the child_table.class.inc, to try and translate the where clause field names which were different.
Looking at the logged SQL though, the actual retrieval of the child data doesn't actually seem to put any delimiter on the returned data:
select * from ( select a.*, rownum as rnum from ( SELECT olap_delivery_notes3.*, olap_delivery_data3.seq_number FROM olap_delivery_notes3 LEFT JOIN olap_delivery_data3 ON (olap_delivery_data3.seq_number=olap_delivery_notes3.delivery_data_seq) ) a where rownum <= 25 ) where rnum >= 1=>Count=2076
I would have expected to see in here something related to the parent primary key field (seq_number), such as
where olap_delivery_data3.seq_number=(the seq_number specified from the selected row in the list1 form of the parent table)
Or at least some SQL that cross-tranlates that to something like:
where child_table.seq_number=(parent row.seq_number)
- that would hopefully get translated by the _cm_pre_getData function in the class.
I'm feeling a little stumped here. I'm almost certainly missing something key.