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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.03.2007, 15:52   #1  
Protey is offline
Protey
Участник
 
143 / 15 (1) ++
Регистрация: 22.09.2005
Адрес: Сургут
? Как связать датасорс с двумя другими на форме?
Народ помогите, есть форма, там 3 датасорса, надо один связать с каждым из остальных, с одним это не проблема, через свойства поставить связь, а как второй привязать?
Старый 05.03.2007, 16:20   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Protey Посмотреть сообщение
надо один связать с каждым из остальных
Как вы это себе представляете?
Можете привести здесь по 2-3 записи с ключевыми полями для каждой таблицы.
А затем написать строчки, которые должны получиться в результате такой связи.
__________________
полезное на axForum, github, vk, coub.
Старый 05.03.2007, 16:29   #3  
Protey is offline
Protey
Участник
 
143 / 15 (1) ++
Регистрация: 22.09.2005
Адрес: Сургут
в датасорсе есть например поле1, во втром поле 2, а мне надо по третьему датасорсу вытащить на форму информацию, нужную строку можно получить только по двум полям, по полю1 в одном дата сорсе и по полю2 во втором
Старый 05.03.2007, 16:29   #4  
stalker17 is offline
stalker17
Участник
1C
 
21 / 10 (1) +
Регистрация: 31.08.2005
Адрес: Сургут
Например: InventTrans (содержит ItemId и InventDimId), InventDim связан с InventTrans (содержит InventSerialId), нужно привязать IventSerial к InventTrans+InventDim (по ItemId к InventTrans и по InventSerialId к InventDim).
__________________
---
WBR, Заикин Павел.
Старый 05.03.2007, 16:39   #5  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
По-моему тут только программировать Active.. Либо - если только показывать данные - сделайте вьюху из InventTrans + InventDim и цепляйте к ней InventSerial - но с вьхами поосторожней - глючат, с виртуальными компаниями не совместимы и проч..

Последний раз редактировалось MironovI; 05.03.2007 в 16:41.
За это сообщение автора поблагодарили: mazzy (5).
Старый 05.03.2007, 16:48   #6  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
можно еще попробовать добавить второй дайналинк ручками в QueryBuildDataSource.
За это сообщение автора поблагодарили: mazzy (5).
Старый 05.03.2007, 16:48   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Protey Посмотреть сообщение
в датасорсе есть например поле1, во втром поле 2
Во втором не может быть только одно поле 2.
Во втором будет два поля 1 и 2. (по 1 устанавливается связь)

Вам нужно связать третью таблицу со второй.
В третьей таблице будет поля 2 и 3.
__________________
полезное на axForum, github, vk, coub.
Старый 05.03.2007, 16:53   #8  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от stalker17 Посмотреть сообщение
привязать IventSerial к InventTrans+InventDim (по ItemId к InventTrans и по InventSerialId к InventDim).
Э-э-э... либо я чего не понимаю, либо одно из двух.
Подумайте еще раз.

Если вы привязываете к inventTrans, то видите только те Serial, которые привязаны к InventDim.
Других вы видеть не можете (либо мы по разному понимаем слово "связь").

Поэтому я не понимаю зачем вас связка по ItemID.
Ведь в этом случае вы допускаете, что среди Serial появлятся записи, никак не связанные с данным InventTrans.

Можете сформулировать еще раз - чего же вы хотите?
У вас в постановке логические дыры.

Еще раз рекомендую взять и нарисовать на листочке три таблицы по 3-4-5 записей. И попробуйте на этом же листочке понять что означает слово "привязать".
__________________
полезное на axForum, github, vk, coub.
Старый 05.03.2007, 16:57   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от MironovI Посмотреть сообщение
По-моему тут только программировать...
Цитата:
Сообщение от belugin Посмотреть сообщение
можно еще попробовать добавить второй дайналинк ручками в...
Народ, кончайте немедленно бросаться в программинг.
Вдумайтесь в то, что говорится.

Человек хочет получить не связь, а union.
В union он получит все Serial по одной номенклатуре. в том числе и те, которые участвуют в данной проводке. Дальше ему нужно будет изо всей этой кучи помечать галчками/цветом/бибиканьем участвующие в данной проводке.

Это действие никоим образом нельзя назвать "связать с каждым из остальных".
Либо я чего-то не понимаю.

Еще раз: нарисуйте на бумажке что вы хотите получить.
__________________
полезное на axForum, github, vk, coub.
Старый 05.03.2007, 17:36   #10  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
Цитата:
Сообщение от mazzy Посмотреть сообщение
Это действие никоим образом нельзя назвать "связать с каждым из остальных".
Либо я чего-то не понимаю.

Еще раз: нарисуйте на бумажке что вы хотите получить.
Засада тут кроется в том, что в InventSerial уникальный ключ идет не по InventSerialId как можно было бы подумать а по InventSerialId + ItemId - вот тут все зло - нельзя просто привязать табличку InventSerial к InventDim - нужно еще и по ItemId фильтровать.. (если я опять таки тоже правильно понял смысл примера)

Последний раз редактировалось MironovI; 05.03.2007 в 17:39.
Старый 05.03.2007, 18:15   #11  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от MironovI Посмотреть сообщение
Засада тут кроется в том, что в InventSerial уникальный ключ идет не по InventSerialId как можно было бы подумать а по InventSerialId + ItemId - вот тут все зло - нельзя просто привязать табличку InventSerial к InventDim - нужно еще и по ItemId фильтровать.. (если я опять таки тоже правильно понял смысл примера)
Ничего не понимаю.
Придется самому рисовать.

Таблица 1 (InventTrans)
Лот1, Номенклатура1, Дим1, ...
Лот2, Номенклатура1, Дим2, ...
Лот3, Номенклатура2, Дим3, ...
Лот4, Номенклатура3, Дим4, ...


Таблица 2 (InventDim)
Дим1, ..., Серийный1
Дим2, ..., Серийный1
Дим3, ..., Серийный2
Дим4, ..., Серийный2

Таблица 3 (InventSerial)
Номенклатура1, Серийный1, ..., РекИд31
Номенклатура1, Серийный2, ..., РекИд32
Номенклатура2, Серийный1, ..., РекИд33
Номенклатура2, Серийный2, ..., РекИд34
Номенклатура2, Серийный3, ..., РекИд35
Номенклатура3, Серийный1, ..., РекИд36
Номенклатура3, Серийный2, ..., РекИд37
Номенклатура3, Серийный4, ..., РекИд38

Cерийники "случайно" совпали у разных номенклатур.
Я правильно данные привел?

Теперь нужно посмотреть серийники по проводке.
Хотим увидеть
Тбл1: Лот1,Номенклатура1, Дим1
Тбл2: Дим1, Серийный1
Тбл3: Номенклатура1, Серийный1, ..., РекИд31

А вместо этого стандартная аксапта показывает
Тбл1: Лот1,Номенклатура1, Дим1
Тбл2: Дим1, Серийный1
Тбл3: Номенклатура1, Серийный1, ..., РекИд31
Тбл3: Номенклатура2, Серийный1, ..., РекИд33
Тбл3: Номенклатура3, Серийный1, ..., РекИд36

Так? И вы считаете, что это неправильно, так? Проблема в этом?

Если да, то виноват. Я тормоз.
MironovI и belugin похоже правильно написали - надо прогать active
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: zemlyn (2).
Старый 05.03.2007, 18:43   #12  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
Ну, в общем совершенно так - Номенклатура2 и 3 нам тут не нужны.. вобщем Active, фух
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Использование семейства InventDimCtrl_Frm_* - 2 DS InventDim на одной форме Pavlo AKA Panok DAX: База знаний и проекты 5 22.12.2008 17:15
Как переинициализировать датасорс на форме? egorych DAX: Программирование 3 23.08.2007 12:26
Отличия в строках ReqPO, почему одна строка появляется в форме а другая нет (Master Planning, Planned Orders) rkorchagin DAX: Программирование 8 21.02.2007 16:27
Фильтр в форме по Looup с двумя таблицами LexusS DAX: Программирование 3 21.07.2006 10:42
Cвязь данных между двумя формами Artild DAX: Программирование 11 24.06.2003 10:45
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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