SSRS - ошибка rsMultiReportItemsInPageSectionExpression - PullRequest
0 голосов
/ 09 июня 2009

Особенности:

У меня есть отчет, который отображает информацию о счетах. Между несколькими счетами существует разрыв страницы (каждый счет получает свою страницу). То, что я хочу в заголовке отчета, является результатом этого выражения (например, «Июнь 2009»):

=MonthName(Month(ReportItems!textbox1.Value)) & ", " & cstr(Year(ReportItems!textbox1.Value))

Но я получаю это исключение (textbox2 в шапке):

Ошибка 1 [rsMultiReportItemsInPageSectionExpression] Выражение значения для текстового поля «Textbox2» относится к более чем одному элемент отчета. Выражение на странице верхний или нижний колонтитул может относиться только к одному элемент отчета.

Прежде всего ... Почему это вообще имеет значение ?! Во-вторых ... Как мне обойти это странное ограничение?


Большая картинка:

Причина, по которой я беру текст из другого текстового поля, заключается в том, чтобы обойти ограничение, заключающееся в том, что вы не можете использовать поля данных в верхнем или нижнем колонтитуле. Так что есть скрытый столбец, который показывает дату счета рядом с каждой транзакцией. Тогда заголовок таблицы имеет выражение:

=First(Fields!InvoiceDate.Value, "table1_Group1")

Это кажется смешным, и я надеюсь, что я просто делаю что-то не так. Да, я понимаю, что у меня может быть просто текстовое поле «месяц» и «год» в заголовке, но это слишком сильно увеличивает сложность для простого требования указать дату счета в заголовке отчета.

Ответы [ 2 ]

0 голосов
/ 09 июля 2009

Я вернулся к этой проблеме и нашел способ обойти ошибочное поведение в SSRS.

Все форматирование может быть сделано в заголовке столбца, а не в заголовке страницы. Текстовое поле в заголовке страницы просто сразу извлекает уже отформатированный (и полный) текст из заголовка столбца. Нет больше множественных ссылок.

Это хакерский обходной путь для странного ограничения, который является результатом хакерского обходного пути для другого странного ограничения. Но это работает.

0 голосов
/ 09 июня 2009

Одним из предположений было бы, что textbox1 существует для каждой страницы вашего отчета. Таким образом, если у вас есть два счета, у вас будет две страницы и, следовательно, 2 x textbox1, поэтому SSRS не знает, к какому из них обратиться.

Вы можете попробовать поиграть с параметрами отчета, как описано здесь 1006 *. Если ничто иное не поможет, я думаю, вам нужно будет указать идентификатор счета в теле отчета.

...