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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.08.2006, 13:29   #1  
kras is offline
kras
Участник
 
30 / 10 (1) +
Регистрация: 09.03.2006
Разработка отчета с использованием 2-х DataSet
Добрый день. Суть проблемы:
Необходимо разработать отчет, который бы выводил некоторые данные по счету.
Идея 2-х наборов данных заключается в том, что один запрашивает ID счета и передает в качестве параметра во второй набор.

DataSet_2
SELECT TOP 1 invoiceid
FROM FilteredInvoice CRMAF_FilteredInvoice


DataSet_1 (к примеру так)
SELECT CRMAF_FilteredInvoice.totalamount
WHERE (CRMAF_FilteredInvoice.invoiceid = @CRM_InvoiceId)


т.о. второй набор данных делает выборку счета по его id.
самое интересное, что в Visual Studio данный отчет отрабатывается нормально. когда же я его размещаю на CRM он ничего не выводит. сделал для проверки отображение параметра (invoiceid) - отображается. но по нему не отрабатывается выборка для DataSet_1 (количество записей 0).
никак не могу понять в чем проблема!
надеюсь, что объяснил доступно
Старый 22.08.2006, 13:55   #2  
kras is offline
kras
Участник
 
30 / 10 (1) +
Регистрация: 09.03.2006
Поправка:
отчет не отрабатывается из карточки счета. такое ощущение, что параметр просто не передается в запрос. но, блин, он ведь выводится в отчете (точнее только он), а значит он есть
Старый 23.08.2006, 11:38   #3  
Кириллов Борис is offline
Кириллов Борис
Участник
 
68 / 11 (1) +
Регистрация: 20.04.2006
Не совсем понятно зачем всё-таки использовать два dataset. Может быть можно обойтись объединениями или подзапросами?
Старый 23.08.2006, 11:51   #4  
Кириллов Борис is offline
Кириллов Борис
Участник
 
68 / 11 (1) +
Регистрация: 20.04.2006
Например вот так:
SELECT *
FROM AccountBase
WHERE (AccountId IN
(SELECT accountid
FROM accountbase accountbase1
and accountname like '%вова%'))
Старый 24.08.2006, 10:18   #5  
kras is offline
kras
Участник
 
30 / 10 (1) +
Регистрация: 09.03.2006
Цитата:
Сообщение от Кириллов Борис
Не совсем понятно зачем всё-таки использовать два dataset. Может быть можно обойтись объединениями или подзапросами?
пробовал и так сделать. это был первый вариант разработки отчета. при этом данные в отчете выводились, но не для всех продуктов по счету:
http://axforum.info/forums/showthread.php?t=13795
поэтому решил попробовать эксперимент с параметрами.
Старый 24.08.2006, 14:57   #6  
Кириллов Борис is offline
Кириллов Борис
Участник
 
68 / 11 (1) +
Регистрация: 20.04.2006
Попробуйте проверить выборку данных в самом SRS-се через веб. Мож всё-таки че-нить не так с выборками данных.
Старый 21.09.2006, 08:51   #7  
kras is offline
kras
Участник
 
30 / 10 (1) +
Регистрация: 09.03.2006
насколько я понял DataSet2 возвращает в любом случае первую запись из таблицы FilteredInvoice, фильтр CRMAF_FilteredInvoice почему-то игнорируется.
в DataSet1 он отрабатывается. таким образом invoiceid у них разные id и условие WHERE (CRMAF_FilteredInvoice.invoiceid = @CRM_InvoiceId) не срабатывает.

решение:
я использовал отчет, который получает invoiceid (DataSet2) и передает его в подотчет (DataSet1) в качестве параметра. тогда все работает.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Разные результаты работы отчета в VS и CRM Evgenia_f Dynamics CRM: Разработка 6 15.01.2009 13:10
Ошибка при добавлении отчета e.pasechny Dynamics CRM: Администрирование 5 11.12.2007 14:00
Как ввести входные параметры при формировании отчета? Alexey-IT Dynamics CRM: Функционал 4 16.08.2007 12:33
Загрузка отчета в MS SRM faust Dynamics CRM: Функционал 4 01.11.2006 11:13
после публикации отчета через CRM он перестает правильно работать kras Dynamics CRM: Администрирование 8 30.08.2006 11:11

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

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

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