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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.10.2008, 12:44   #1  
cerbo is offline
cerbo
Участник
 
25 / 11 (1) +
Регистрация: 02.10.2008
? Как сдлеать join по одной таблице, а курсор по другой
Есть две таблицы А и Б с отношением один ко многим ( Б.а_ид = А.ид ), создан рилэйшн и на форме датасорсы связаны через джоин, все круто работает. И еще есть третья таблица В в которой содержаться ключи из Б (В.б_ид = Б.ид), для В тоже есть рилэйшн.
Так вот надо, чтобы при смене курсора в датасорсе Б переписовалось соответсвующее поле В.б_ид.

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

Как решить эту задачу с минимальным кодингом?
Старый 02.10.2008, 13:00   #2  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Что то я не понял что надо сделать...
На форме отображаются все три DS ?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
За это сообщение автора поблагодарили: cerbo (1).
Старый 02.10.2008, 14:07   #3  
cerbo is offline
cerbo
Участник
 
25 / 11 (1) +
Регистрация: 02.10.2008
Цитата:
Сообщение от lev Посмотреть сообщение
Что то я не понял что надо сделать...
На форме отображаются все три DS ?
Нет В не будет отображаться, да это и неважно. Объясню другими словами.

Открывается диалог где есть два грида, один список групп (А), а второй собственно содержание этих групп (Б), требуется для каждой группы из А выбрать одну строку из Б. Причем пока форма не закрыта решение можно изменить, а для этого надо видеть что было выбранно до этого. И еще, в самом начале ни чего автоматичеки не дложно выбираться.

Сделать надо что бы щелкая по строкам грида Б, айдишник строки писалися в текущую строку другой таблицы (В), т.е. надо запомнить строку которую выбрал юзер

Такая схема выбрана чтобы отделить группы и их содержимое, от собственно процесса выбора. Скажем так таблицы А и Б изменить невозможно, они о В ничего не знают и занть не хотят.
__________________
Dynamics AX 4.0.2501.122 SP2, kernel 4.0.2163.0, MS SQL 2005
Старый 02.10.2008, 14:33   #4  
coolibin is offline
coolibin
Участник
 
264 / 68 (3) ++++
Регистрация: 07.04.2005
Цитата:
Сообщение от cerbo Посмотреть сообщение
Сделать надо что бы щелкая по строкам грида Б, айдишник строки писалися в текущую строку другой таблицы (В), т.е. надо запомнить строку которую выбрал юзер

Такая схема выбрана чтобы отделить группы и их содержимое, от собственно процесса выбора. Скажем так таблицы А и Б изменить невозможно, они о В ничего не знают и занть не хотят.
Не очень понял, но мне показалось, что ты хочешь результат похожий на то, что делает функция копирования например закупки (Forms\PurchCopying).
Только там результаты выбора отображаются в дереве на отдельной закладке. Может тебе как-раз такой вариант подойдет?
За это сообщение автора поблагодарили: cerbo (1).
Старый 02.10.2008, 14:40   #5  
coolibin is offline
coolibin
Участник
 
264 / 68 (3) ++++
Регистрация: 07.04.2005
Цитата:
Сообщение от cerbo Посмотреть сообщение
Так вот надо, чтобы при смене курсора в датасорсе Б переписовалось соответсвующее поле В.б_ид.
Смена курсора в датасорсе Б - это событие Б.active()
Только он также срабатывает и при открытии формы до любой навигации в окне
Старый 02.10.2008, 14:43   #6  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
А не проще сделать через временную таблицу?
Т.е. В одном гриде отображать группу, а в другом временную таблицу, которая заполняется при инициализации диалога (связать ID-шником группы). В этой временной таблице сделать поле выбора (галку), а патом просто выполнять функцию по выбранным строкам.
Я бы сделал так
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 02.10.2008, 15:19   #7  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
А как вы собираетесь обрабатывать multiselect? Делайте, как предлагают с checkBox, это самый верный вариант, так как пользователь может и случайно перейти на строчку, а вы это значение запишите
__________________
Axapta book for developer
За это сообщение автора поблагодарили: cerbo (1).
Старый 02.10.2008, 15:28   #8  
cerbo is offline
cerbo
Участник
 
25 / 11 (1) +
Регистрация: 02.10.2008
to MikeR: малтиселект запрещен требованиями.

Про четвертую таблицу я тоже подумал, но хотелось узнать может есть более простой способ или класс готовый. Видно придется делать по этому варианту.

Спасибо за помощь
__________________
Dynamics AX 4.0.2501.122 SP2, kernel 4.0.2163.0, MS SQL 2005

Последний раз редактировалось cerbo; 02.10.2008 в 15:32.
Старый 02.10.2008, 16:36   #9  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
сделать эдит метод в форме

вывести его в виде галочки на таблицу строк

по изменению галочки записывать или стирать из в таблицу выбранных
Старый 03.10.2008, 09:29   #10  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Вот пример как это сделать на формеMyForm_pickOut.xpo
__________________
Axapta book for developer
Теги
join

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как проверить наличие хотя бы одной записи в подчиненной таблице. demon46 DAX: Программирование 5 07.03.2008 09:41
Глюки в Query с разными типами Join (в т.ч. NonExistsJoin) к одной таблице gl00mie DAX: Программирование 10 14.02.2007 13:22
Join трех таблиц (две к одной) ATimTim DAX: Программирование 25 03.02.2005 11:31
Создание закупки в одной компании по заказу в другой. bucken DAX: Функционал 11 05.11.2003 15:21
Может ли списать со склада по одной себестоимости, а принять на другой - по новой? SergAY DAX: Функционал 21 22.07.2003 19:41

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

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

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