Показать сообщение отдельно
Старый 12.04.2018, 16:19   #2  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Столкнулся неделю назад с таким же на этой же форме. Когда 23 датасоурса форма рано или поздно сойдет с ума.

Как я понял при подсчете буфера считается не текущий размер а максимально возможный.

Лучше обойтись вообще сторонней таблицей и без join. Не уверее насчет влияния типа join. Например будет ли считаться passive.

Если не строк грида, а есть вертикальные табы, то можно прекрасно обойтись без датасоурс.

А тяжесть форм что CustTable что SalesTable какая-то беспредельная в AX2012.

То есть я бы не пытался понять почему, а просто сделал бы тупое решение на display/edit методах даже без датасоурс.
Недавно даже сделал на голых несвязанных контролах в SalesTable заполняя их на run() и на смене CustAccount так как display методы не подошли.

Там где можно сделать без добавления полей без датасоурс - лучше делать без них на таких монстрах.
Датасоурсы это больше для совместного грида.

P.S. Как вариант можно очищать автомический join и указывать свою собсвенную связь на уровне методов датасоурса.
В системе много таких примеров. Но это может быть overkill если речь о показе трех полей. Даже edit методы будут дешевле так как полностью сбоку.

PPS
Но если вдруг то можно даже искать не по RecID, а скажем по имени или номеру etc. Эти RecId они очень вражеские.
qbdsLocation.clearLinks();
qbdsLocation.addLink(fieldNum(InventSite, SiteId ), fieldNum(InventLocation, InventSiteId));
qbdsLocation.addRange(fieldNum(InventLocation, InventLocationType)).value(queryValue(_inventLocationType));

Последний раз редактировалось ax_mct; 12.04.2018 в 16:43.