![]() |
#2 |
Banned
|
Столкнулся неделю назад с таким же на этой же форме. Когда 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. |
|
|
|