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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.12.2009, 08:16   #1  
SLK is offline
SLK
Участник
 
67 / 19 (1) ++
Регистрация: 23.08.2006
Обработка в отчете multi-value параметра
Создаю отчет со следующим запросом:

Код:
DECLARE @SQL nvarchar(max)
SET @SQL = 'SELECT new_estimatedvalue, ownerid, owningbusinessunit FROM ('+@CRM_FilteredOpportunity+') AS FO WHERE  (owningbusinessunit IN ('''+@BUid+'''))'
EXEC (@SQL)
В запросе два параметра с первым все понятно, а второй параметр (BUid) у меня multi-value в него передаются гуиды подразделений и он выведен на форме отчета. Если я передаю в этот параметр гуид одного подразделения то запрос обрабатывается корректно, если же гуидов больше одного то возникает ошибка: Query execution failed for data set 'DSMain'. Incorrect syntax near ','.
Видел упоминания в сети про функцию JOIN, но применить ее к запросу не получилось.
Старый 26.12.2009, 11:14   #2  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
можно посмотреть на значение переменной @BUid, которое Вы подставляете (мульти значение)?
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
Старый 26.12.2009, 11:45   #3  
SLK is offline
SLK
Участник
 
67 / 19 (1) ++
Регистрация: 23.08.2006
Параметр BUid берет данные из другого датасета, в котором используется следующий запрос:

Код:
DECLARE @SQL nvarchar(max)
SET @SQL = 'SELECT businessunitid, name
FROM  ('+@CRM_FilteredBusinessUnit+')'
exec(@SQL)
Я бы и сам с удовольствием посмотрел на строку которая передается в BUid. Удалось только при помощи еще одного параметра BU вытащить значение из BUid использовав функцию Join(Parameters!BUid.Value). В итоге строка пришла в таком виде:
73070b2-3386-de11-958d-00215ac9d22c 1236d7c5-8959-de11-9527-00215ac9d22c
При попытке подставить параметр BU в исходный запрос вместо BUid у меня обрабатывается только первое значение остальные игнорируются.

Последний раз редактировалось SLK; 26.12.2009 в 12:10.
Старый 26.12.2009, 12:24   #4  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Заработало. Итак скрипт запроса для Вашего случая должен біть таким:

X++:
DECLARE @SQL nvarchar(max)

Create Table #tmp(new_estimatedvalue datetime, ownerid uniquidentifier, owningbusinessunit uniquidentifier)

SET @SQL = 'Insert Into #tmp SELECT t.new_estimatedvalue, t.ownerid, t.owningbusinessunit FROM ('+@CRM_FilteredOpportunity+') t'
EXEC (@SQL)

Select * From #tmp Where owningbusinessunit In ( @BUid )
Drop Table #tmp
Немного нетривиально, но работает...
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit

Последний раз редактировалось a33ik; 26.12.2009 в 20:32.
За это сообщение автора поблагодарили: SLK (1).
Старый 26.12.2009, 15:33   #5  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
А почему бы Вам не использовать вложенный запрос в in? тот же самый запрос, что Вы используете в первом датасете?
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
Старый 28.12.2009, 13:47   #6  
SLK is offline
SLK
Участник
 
67 / 19 (1) ++
Регистрация: 23.08.2006
Попробовал оба способа, оба работают. Остановился на вложенном запросе
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Jim Wang: CRM Filtered Lookup Multi Blog bot Dynamics CRM: Blogs 0 06.08.2009 06:11
mscrm4ever: CRM 4.0 Multi Lingual Support in Plug-ins Blog bot Dynamics CRM: Blogs 0 26.05.2009 17:05
Microsoft Dynamics CRM Team Blog: CRM 4.0: Checkbox style Multi-Select Picklist Blog bot Dynamics CRM: Blogs 0 01.04.2009 05:07
Jim Wang: CRM 4.0: Checkbox style Multi-Select Picklist Blog bot Dynamics CRM: Blogs 0 11.02.2009 06:05
mscrm4ever: CRM 4.0 Supported Multi Select (Picklist) Control Blog bot Dynamics CRM: Blogs 0 25.12.2008 15:05

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

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

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