AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.07.2014, 18:21   #1  
kitty is offline
kitty
Участник
 
383 / 30 (2) +++
Регистрация: 24.05.2005
На форме:
MyHeader - родительский
MyView - дочерний
Старый 21.07.2014, 21:47   #2  
kitty is offline
kitty
Участник
 
383 / 30 (2) +++
Регистрация: 24.05.2005
Какая-то ерундень из-за View!

Я пытаюсь даже явно добавить addLink между Header и записями из View в init() датасоурса формы.
Когда делаю addLink в init() View, то получаю "The data source is not embedded within a (parent) data source "
Если же присоединять Header к View ( в init() header), то все срабатывает, вот только, ест-но записи на форме сразу задваиваются, тк relation 1(header):N (записей в View).

Вот и пользуйся этими View ...
Старый 22.07.2014, 00:19   #3  
VORP is offline
VORP
Участник
Аватар для VORP
 
147 / 95 (4) ++++
Регистрация: 26.05.2006
Попробуйте не relation link прописывать, а в executeQuery на View добавить range:
с помощью функции findOrCreateRange_W например с фильтром по полю по которому идёт джойн. Ведь там же джойнмод стоит active или delayed, потому оно и не даёт link добавить, ведь датасорс View не заджойнен к MyTable по настоящему.
Старый 22.07.2014, 08:31   #4  
online
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,447 / 1782 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от kitty Посмотреть сообщение
Какая-то ерундень из-за View!

Я пытаюсь даже явно добавить addLink между Header и записями из View в init() датасоурса формы.
Когда делаю addLink в init() View, то получаю "The data source is not embedded within a (parent) data source "
Все правильно вам аксапта пишет. Потому что в этом случае не addLink нужно использовать а addDynaLink. Разница в типе связи между двумя датасорсами. Одно дело, когда соединяемые источники данных образуют единый запрос (тип связи join, exists, outer) а другое - два самостоятельных запроса связь между которыми пересчитывается при изменении позиции активной строки главной таблицы (delayed)

Цитата:
Сообщение от VORP Посмотреть сообщение
Попробуйте не relation link прописывать, а в executeQuery на View добавить range:
с помощью функции findOrCreateRange_W например с фильтром по полю по которому идёт джойн. Ведь там же джойнмод стоит active или delayed, потому оно и не даёт link добавить, ведь датасорс View не заджойнен к MyTable по настоящему.
Тогда значение этого Range прийдется поддерживать и менять на актуальный при каждом изменении позиции активной строки главного датасурса. Чтобы не заставлять программиста этим заниматься в системе и реализован механизм Dynalink, который ровно это и делает.

Последний раз редактировалось S.Kuskov; 22.07.2014 в 08:35.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: The 'view details' feature will not work on an EDT field when the field has a relation defined in the 'table references' subnode. Blog bot DAX Blogs 0 26.01.2013 02:14
ax-erp: EDT Relation Migration Tool [AX 2012] Blog bot DAX Blogs 0 14.12.2012 23:11
dynamicsaxbi: Better together: Microsoft Dynamics AX 2012 R2 and SQL Server Power View Blog bot DAX Blogs 0 12.12.2012 13:11
Изменение Relation у View Paul_ST DAX: Программирование 3 14.12.2004 06:51
Тип Relation в View kashperuk DAX: Программирование 0 06.12.2004 17:47

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:25.