Вот мое решение (для MS DAX 2009)
1. Ставим во всех контролах Section Body, которая у нас является строкой
height = auto.
DynamicHeight никому
не ставим
2. У самой Section Body
height также ставим
auto
3. В перекрытом методе executeSection пишем такой код
X++:
public void executeSection()
{
Integer offset = 200; //смещение, если оно нужно
//Например: из двух полей, у которых может быть переменная длина выбираем то, которое наибольшее
Integer Height1 = PlanTable.height100mm(GetCrew.heightOfWordWrappedString100mm(Schedule.GetCrew()));
Integer Height2 = PlanTable.height100mm(GetRoute.heightOfWordWrappedString100mm(Schedule.GetRoute()));
Integer resultHeight = (Height1 > Height2? Height1 :Height2) + offset;
Integer i = PlanTable.controlCount();
//Перебираем контролы и меняем им высоту
while (i)
{
PlanTable.controlNo(i).height100mm(resultHeight);
i--;
}
super();
}
Работает как надо