Да, подзабыл, в 2012 это выглядит вот так и ошибки не возникает. Мне кажется, в 2009 тоже должно работать
X++:
FROM INVENTTRANS T1 CROSS JOIN INVENTDIM T2 LEFT OUTER JOIN INVENTBATCH T3 ON (((T3.PARTITION=?) AND (T3.DATAAREAID=?)) AND ((T2.INVENTBATCHID=T3.INVENTBATCHID) AND (T1.ITEMID=T3.ITEMID))) WHERE ((T1.PARTITION=?) AND (T1.DATAAREAID=?)) AND (((T2.PARTITION=?) AND (T2.DATAAREAID=?)) AND ((T2.INVENTDIMID=T1.INVENTDIMID) AND (T2.INVENTLOCATIONID=?))