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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.08.2009, 13:06   #1  
e.pasechny is offline
e.pasechny
Участник
 
42 / 10 (1) +
Регистрация: 10.12.2007
Ошибки с явной фильтрацией
как многие источники рекомендуют начал изучения данного вопроса с разбора стандартных отчетов CRM 4.0 . Все замечательно вытащил отчет вставил в VS2005 запустил настроил датасет все работает, попробывал внести корректировку сразу ошибка : Must declare the scalar variable "@CRM_Filtered ....


какие бы танцы с бубном я не делал ошибка не исчезает.

в итоге решил пользуясь SDK сделать примитивный отчет свой, но выходит таже фигня :

Код:
DECLARE @SQL nvarchar(4000)
DECLARE @SQL1 nvarchar(4000)
DECLARE @SQL2 nvarchar(4000)
--DECLARE @CRM_FilteredActivityPointer nvarchar(4000)
SET @SQL = '

/* Creating Temp table to store all the data for final query */
CREATE TABLE #temp (
    [activityid] [uniqueidentifier] PRIMARY KEY ,
    [activitytypecodename][nVarchar](100) NULL ,
    [owneridname] [nVarchar](100) NULL, 
) 
'

SET @SQL1 = '
insert #temp
SELECT     activityid ,activitytypecodename, owneridname
         FROM  ('+@CRM_FilteredActivityPointer+') AS FA '


SET              @SQL2 = ' 
/* Select statement to retrieve data from Temp table */
select  count(activityid) AS activitycount,  activitytypecodename,  owneridname  from #temp
group by activitytypecodename, owneridname '


EXEC (@SQL+@SQL1+@SQL2)
Может кто сталкивался с проблемой?


PS. ой не в той области разместил (можно перенести в подкаталог Разаработки)
Старый 11.08.2009, 13:12   #2  
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
Добрый день.

Объявите этот параметр, как параметр в датасете в отчёте.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 11.08.2009, 13:19   #3  
e.pasechny is offline
e.pasechny
Участник
 
42 / 10 (1) +
Регистрация: 10.12.2007
он объявлен в Report Parametrs.
Вложения
Тип файла: zip Report6.zip (2.2 Кб, 101 просмотров)
Старый 11.08.2009, 13:37   #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
Цитата:
Сообщение от e.pasechny Посмотреть сообщение
он объявлен в Report Parametrs.
Параметры отчёта и параметры датасета - разные вещи. Этот параметр ещё надо объявить и для датасета. Смотрите скриншот.
Миниатюры
Нажмите на изображение для увеличения
Название: reportxxx.jpg
Просмотров: 456
Размер:	106.1 Кб
ID:	4978  
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: e.pasechny (1).
Старый 11.08.2009, 13:43   #5  
e.pasechny is offline
e.pasechny
Участник
 
42 / 10 (1) +
Регистрация: 10.12.2007
Супер, заработало. неделю уже маюсь.
Старый 11.08.2009, 13:44   #6  
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
:)
Цитата:
Сообщение от e.pasechny Посмотреть сообщение
Супер, заработало. неделю уже маюсь.
Обращайтесь.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 17.02.2014, 17:08   #7  
FeRRum17 is offline
FeRRum17
Участник
 
18 / 10 (1) +
Регистрация: 10.07.2012
День добрый. Подскажите пожалуйста. Пытаюсь реализовать предварительную фильтрацию, но ничего не получается, постоянно где то ошибки валятся.

1. Создал отчет.
2. В Параметрах создал переменную CRM_FilteredOpportunity
3. Создал датасет с таким запросом:
Цитата:
DECLARE @SQL nvarchar(4000)

SET @SQL = 'SELECT name,
ISNULL ((SELECT SUM(new_estimatedvaluethisyear)
FROM ('+@CRM_FilteredOpportunity+') as fa
where (new_mgt = FilteredBusinessUnit.businessunitid)),0) FULLVALUE,
ISNULL ((SELECT SUM(new_estimatedvaluethisyear)
FROM ('+@CRM_FilteredOpportunity+') as fa
where (new_mgt = FilteredBusinessUnit.businessunitid) and (new_Probability = 100000000)),0) F0,
ISNULL ((SELECT SUM(new_estimatedvaluethisyear)
FROM ('+@CRM_FilteredOpportunity+') as fa
where (new_mgt = FilteredBusinessUnit.businessunitid) and (new_Probability = 100000001)),0) F1,
ISNULL ((SELECT SUM(new_estimatedvaluethisyear)
FROM ('+@CRM_FilteredOpportunity+') as fa
where (new_mgt = FilteredBusinessUnit.businessunitid) and (new_Probability = 100000002)),0) F2
from FilteredBusinessUnit
GROUP BY name, businessunitid'
EXEC (@SQL)
4. Объявил параметр в датасете

Но вся эта связка не работает. Прошу помощи.
Миниатюры
Нажмите на изображение для увеличения
Название: 2014-02-17_170441.jpg
Просмотров: 451
Размер:	38.7 Кб
ID:	8727  
Старый 17.02.2014, 17:44   #8  
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
А вы принтом посмотрите какой у вас запрос получается. Я сходу не понял, что вы хотите получить в результате:

Код:
Declare @CRM_FilteredOpportunity VarChar(Max)
Set @CRM_FilteredOpportunity = 'Select * From FilteredOpportunity'

DECLARE @SQL nvarchar(4000)

SET @SQL = 'SELECT name,
ISNULL ((SELECT SUM(new_estimatedvaluethisyear)
FROM ('+@CRM_FilteredOpportunity+') as fa
where (new_mgt = FilteredBusinessUnit.businessunitid)),0) FULLVALUE,
ISNULL ((SELECT SUM(new_estimatedvaluethisyear)
FROM ('+@CRM_FilteredOpportunity+') as fa
where (new_mgt = FilteredBusinessUnit.businessunitid) and (new_Probability = 100000000)),0) F0,
ISNULL ((SELECT SUM(new_estimatedvaluethisyear)
FROM ('+@CRM_FilteredOpportunity+') as fa
where (new_mgt = FilteredBusinessUnit.businessunitid) and (new_Probability = 100000001)),0) F1,
ISNULL ((SELECT SUM(new_estimatedvaluethisyear)
FROM ('+@CRM_FilteredOpportunity+') as fa
where (new_mgt = FilteredBusinessUnit.businessunitid) and (new_Probability = 100000002)),0) F2
from FilteredBusinessUnit
GROUP BY name, businessunitid'

Print @sql


EXEC (@SQL)
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 17.02.2014, 18:05   #9  
FeRRum17 is offline
FeRRum17
Участник
 
18 / 10 (1) +
Регистрация: 10.07.2012
Если без "print @Sql", то выдает именно то что надо, список дирекций, и в столбцы суммы по определенным полям разбитые на статусы.
Проблема в том, что если оставить запрос как Вы предлагаете, т.е. с объявлением переменной непосредственно в запросе, то он не работает в CRM, но отлично себя чувствует в редакторе. А если переменная создана а Параметрах, то вообще не работает нигде.
Миниатюры
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 552
Размер:	30.7 Кб
ID:	8728   Нажмите на изображение для увеличения
Название: 2.jpg
Просмотров: 381
Размер:	92.5 Кб
ID:	8729  

Старый 17.02.2014, 18:13   #10  
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
Цитата:
Сообщение от FeRRum17 Посмотреть сообщение
Если без "print @Sql", то выдает именно то что надо, список дирекций, и в столбцы суммы по определенным полям разбитые на статусы.
Проблема в том, что если оставить запрос как Вы предлагаете, т.е. с объявлением переменной непосредственно в запросе, то он не работает в CRM, но отлично себя чувствует в редакторе. А если переменная создана а Параметрах, то вообще не работает нигде.
Переменную я создал для того, чтобы протестировать запрос. Естественно, что первые две строки не должны присутствовать в отчёте. Там должен быть параметр.

Пересмотрел ещё раз запрос. Стало понятно что и как вы выбираете. Сразу не понял глубину замысла.

Сходу - ошибку не видно. Запрос честный, должен работать. Потому сразу задам несколько вопросов-советов:
1. Какой тип датасорса используете в отчёте? Должен быть Embedded (никаких там Shared).
2. Попробуйте удалить отчёт из CRM и пересоздать его заново.
3. Если это не поможет - включайте трейсинг, перезапускайте ИИС и запускайте заново отчёт - должно принести читабельную ошибку что же там не так.
4. Если и это не поможет - то профайлер вам в помощь. Аминь.

PS Если что - пишите о результатах, постараюсь помочь.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: FeRRum17 (1).
Старый 17.02.2014, 18:44   #11  
FeRRum17 is offline
FeRRum17
Участник
 
18 / 10 (1) +
Регистрация: 10.07.2012
Очень большое спасибо за наведение на нужную мысль. Проблема была на поверхности и заключалось в незнании и малом опыте. Я привык что, поля в запросе прописываются автоматически при выполнении запроса, а оказалось, что при подобном раскладе их необходимо прописывать ручками в соответствующий раздел свойств набора данных.
Миниатюры
Нажмите на изображение для увеличения
Название: 3.jpg
Просмотров: 355
Размер:	59.4 Кб
ID:	8730  
Старый 17.02.2014, 18:54   #12  
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
Цитата:
Сообщение от FeRRum17 Посмотреть сообщение
Очень большое спасибо за наведение на нужную мысль. Проблема была на поверхности и заключалось в незнании и малом опыте. Я привык что, поля в запросе прописываются автоматически при выполнении запроса, а оказалось, что при подобном раскладе их необходимо прописывать ручками в соответствующий раздел свойств набора данных.
Если запрос выполняется правильно в BIDS, то поля должны автоматически туда подсосаться.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

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

Последний раз редактировалось a33ik; 17.02.2014 в 18:57.
Теги
parameters passing, reporting services, report

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибки после наката Update Rollup 2 Likefire Dynamics CRM: Администрирование 22 12.02.2009 15:38
Ошибки CRM при работе с SQL сервером... zhenek Dynamics CRM: Администрирование 3 22.12.2008 14:37
Тип ошибки при программном создании записи ZooY Dynamics CRM: Разработка 7 13.11.2008 11:29
Невозможно выполнить операцию "Быстрая кампания" из-за ошибки: 0x80040225. zhenek Dynamics CRM: Разработка 7 14.04.2008 16:32
Ошибки в веб интерфесе DiMish Dynamics CRM: Администрирование 5 29.11.2005 17:50

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

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

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