|
30.03.2011, 10:43 | #1 |
Участник
|
Параметр Reporting Services
Изучаю связку Dynamics AX 2009 и Reporting Services...
Делаю для примера отчет в котором будут отображаться записи из CustTans. Хочу сделать так, чтобы при запуске отчета из Dynamics AX 2009, передавалось бы значение AccountNum клиента и в отчете отображались бы записи из CustTans только по данному клиенту. Вопрос заключается в следующем: как мне передать значение AccountNum из Dynamics AX 2009 в отчет? |
|
30.03.2011, 12:00 | #2 |
Участник
|
С передачей параметра разобрался :-)
А вот как передать множество значений для параметра не подскажите? |
|
30.03.2011, 12:06 | #3 |
Сам.AX
|
А параметр в RS понимает множество значений? Напишите поподробнее что у вас сделано
|
|
30.03.2011, 12:14 | #4 |
Участник
|
Я хочу сделать выборку из CustTrans за определенный период дат....
Как мне нужно правильно передать начальную и конечную дату? |
|
30.03.2011, 12:15 | #5 |
Участник
|
Или же передать не одно значение AccountNum (я это уже понял как сделать)
а несколько значений AccountNum |
|
30.03.2011, 12:21 | #6 |
Сам.AX
|
Сделайте в отчете RS входные параметры "Начальная дата" и "Конечная дата" и передавайте так же как AccountNum.
|
|
|
За это сообщение автора поблагодарили: Sergo4 (1). |
30.03.2011, 13:43 | #7 |
Сам.AX
|
для нескольких значений AccountNum можно запросе в RS сделать типа такого,
при этом @arr хранится входное значение из нескольких значений AccountNum, разделенных запятыми: X++: CREATE TABLE #split (a varchar(64) NOT NULL) go DECLARE @pos SMALLINT, @str VARCHAR(1000), @sql VARCHAR(1000) WHILE @arr <> '' BEGIN SET @pos = CHARINDEX(',', @arr) IF @pos > 0 BEGIN SET @str = LEFT(@arr, @pos -1) SET @arr = RIGHT(@arr, LEN(@arr)- @pos) END ELSE BEGIN SET @str = @arr SET @arr = '' END SET @sql = 'INSERT INTO #split VALUES('''+CONVERT(VARCHAR(100),@str)+''')' EXEC(@sql) END X++: select AccountNum from CustTrans join #split on CustTrans.AccountNum= #split.a drop table #split |
|
30.03.2011, 13:52 | #8 |
MCT
|
Цитата:
лучше заполнять табличку временную и с ней джойнить. PS а вообще сам запрос правильнее собирать в аксе, а в отчете его перебирать.
__________________
Axapta book for developer |
|
|
За это сообщение автора поблагодарили: Sergo4 (1), zaz600 (0). |
30.03.2011, 14:04 | #9 |
Сам.AX
|
Цитата:
Невнимательно прочитал первый пост, извиняюсь |
|
31.03.2011, 09:33 | #10 |
Участник
|
Уважаемый MikeR, а не поможите с примером, как передать, сформированный в аксе запрос, в отчет ReportingServices?
|
|
31.03.2011, 11:07 | #11 |
MCT
|
Цитата:
1 Создать объект Query и юзать его 2 Создать формирование запроса во временно-постоянной таблице (не temp!) и юзать уже это X++: [DataMethod(), AxSessionPermission(SecurityAction.Assert)] public static System.Data.DataTable GetCompanyInfoTable() { var dt = Microsoft.Dynamics.Framework.Reports.AxQuery.ExecuteQuery("select * from CompanyInfo");// CompanyInfo - report отчет не таблица!! return dt; }
__________________
Axapta book for developer |
|
30.03.2011, 16:44 | #12 |
Участник
|
Спасибо!
|
|
|
|