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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.08.2009, 14:00   #1  
mista is offline
mista
Участник
 
8 / 20 (1) +++
Регистрация: 03.09.2007
Адрес: Switzerland
Какой join использовать?
Проблема следующая:
Есть форма InventTable. Необходимо добавить к ней в качестве полей по которым можна фильтровать поля из CustVendExternalItem.
Поэтому добавляю новый ДС и пытаюсь его заджоинить:

InnerJoin - подходит хорошо, кроме 2х моментов, если нет записей в CustVendExternalItem, то айтем не выводится (но это решили обойти - при создании нового автоматом создаем пустую запись в CustVendExternalItem); и вторая проблема - если записей несколько то айтем дублируется в гриде
Exsist join - решается проблема с дублированием, но появляется другая - поля CustVendExternalItem абсолютно пустые

Благодарен за любые идеи которые помогут решить задачу
Старый 06.08.2009, 14:11   #2  
egorych is offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Регистрация: 09.11.2006
Адрес: Краснодарский край
если в 1 грид это все пихать, то без дублирования строк не обойтись.
Ну или display методы, а фильтрацияи поик - где-то на форуме была тема с извратом по этому поводу ;-)
Старый 06.08.2009, 14:24   #3  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
362 / 542 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
-> InventItemLocation
Используйте InnerJoin, только фильтруйте дополнительно CustVendExternalItem по уникальному ключу и будет Вам счастье (в том смысле, что записей будет ровно столько сколько номенклатур)

Посмотрите, как реализована в той же форме (InventTable) связь с InventItemLocation - строится через InnerJoin (и дополнительно фильтруется по InventDimId)

P.S. При создании записи в InventTable создавайте запись в CustVendExternalItem с полями (ItemId = inventTable.ItemId, InventDimId = InventDim::inventDimIdBlank(), ModuleInventPurchSalesVendCustGroup::Invent, CustVendRelation = '') и фильтруйте по ним.

Единственно не удобно тем, что если записей несколько, то фильтровать сможете только по тем, которые показываются
__________________
Sergey Nefedov

Последний раз редактировалось SRF; 06.08.2009 в 14:29.
Старый 06.08.2009, 15:09   #4  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от mista Посмотреть сообщение
Проблема следующая:
Есть форма InventTable. Необходимо добавить к ней в качестве полей по которым можна фильтровать поля из CustVendExternalItem.
Поэтому добавляю новый ДС и пытаюсь его заджоинить:

InnerJoin - подходит хорошо, кроме 2х моментов, если нет записей в CustVendExternalItem, то айтем не выводится (но это решили обойти - при создании нового автоматом создаем пустую запись в CustVendExternalItem); и вторая проблема - если записей несколько то айтем дублируется в гриде
Exsist join - решается проблема с дублированием, но появляется другая - поля CustVendExternalItem абсолютно пустые

Благодарен за любые идеи которые помогут решить задачу
А что мешает сделать обычный Delayed, добавить Child-Grid со всеми записями из CustVendExternalItem и искать через фильтр, добавив эту таблицу через 1:n?
__________________
Zhirenkov Vitaly
Старый 07.08.2009, 15:04   #5  
mista is offline
mista
Участник
 
8 / 20 (1) +++
Регистрация: 03.09.2007
Адрес: Switzerland
Цитата:
Сообщение от ZVV Посмотреть сообщение
А что мешает сделать обычный Delayed, добавить Child-Grid со всеми записями из CustVendExternalItem и искать через фильтр, добавив эту таблицу через 1:n?
требования согласно которым все должно быть в одном гриде
Теги
join, запрос (query)

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как можно использовать join Query как DataSource для формы ? AndrianG DAX: Программирование 2 10.03.2009 10:25
WebForms - какой контрол использовать GromRom DAX: Программирование 3 09.07.2008 16:20
как использовать JOIN Daido DAX: Программирование 1 20.11.2007 12:10
Как AX определяет, какой профиль безопасности использовать? Razbezhkin DAX: Администрирование 1 23.10.2007 13:02
Глюки в Query с разными типами Join (в т.ч. NonExistsJoin) к одной таблице gl00mie DAX: Программирование 10 14.02.2007 13:22
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 12:52.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.