В течение последних 6 месяцев я интенсивно работал над SSRS отчетами, поэтому, основываясь на своем опыте разработки SSRS отчетов, собрал список советов и рекомендаций, которые помогут разработчикам AX ускорить разработку отчетов и сэкономить им кучу время. Ниже приведен список:
- Если при запуске отчета в новом поле не отображаются данные, попробуйте обновить кэш Сервис -> Кэши (Tools – > Cache), а затем запустите отчет заново.
- Если новое поле не отображается в наборе данных (dataset) отчета после обновления, проверьте следующее:
- Проверьте, указывает ли конфигурация клиента по умолчанию на экземпляр AOS, с которым вы работаете.
- Проверьте, подключается ли ваш экземпляр Visual Studio к нужному экземпляру AOS. Чтобы определить, к какому экземпляру сервера отчетов подключается VS, попробуйте развернуть отчет из Visual Studio, а затем проверьте окно сообщения. Информация о развертывании показывает AOS и экземпляр сервера отчетов, на котором развертывается отчет. Пример показан ниже:
- Если там указан неправильный сервер отчетов, то необходимо изменить конфигурацию клиента по умолчанию.
- Если отчет не развертывается в правильном экземпляре сервера отчетов, возможно, вам придется изменить конфигурацию клиента по умолчанию. Например, если вы работаете в среде DEV, измените конфигурацию клиента по умолчанию на DEV и наоборот.
- Если вы изменили запрос отчета SSRS, и эти изменения не отображаются в форме параметров отчета, попробуйте сделать следующее:
- Удалить «Использование данных» (Usage data)
- Удалить связанные с отчетом данные из SRSReportQuery
- Сервис -> Кэши (Tools – > Cache). Обновить все 4 кэша.
- Если вы хотите немного переместить объект, либо текстовое поле, либо прямоугольную область, либо любой другой элемент в дизайне отчета, используйте комбинацию клавиш Ctrl + стрелки на клавиатуре.
- Если адрес отображается в нескольких строках, используйте функцию Replace для удаления перевода строки. Например:
- Replace(First(Fields!CompanyAddress.Value,”PurchPurchaseOrderDS”),Chr(10),”, “)
- Если данные в полях верхнего или нижнего колонтитула обрезаются, необходимо увеличить размер области колонтитула, поскольку эта область не увеличивается автоматически.
- Если вам необходимо разработать новый отчет, а некоторые области похожи на один из существующих отчетов, то вы можете открыть дизайны отчетов и скопировать нужные области из существующего дизайна в новый. После этого переименуйте элементы в своем новом дизайне, иначе вы получите ошибки при развертывании отчета. Ошибки с повторяющимися именами не будут отображаться при сборке проекта отчета или при добавлении проекта в AOT. Также измените имя набора данных в выражениях полей.
- Если вы хотите полностью изменить дизайн существующего отчета, то лучше скопировать существующий дизайн и создать новый дизайн с другим именем. Преимущество состоит в том, что вы всегда можете вернуться к старому дизайну для просмотра свойств элементов и их расположения, а также вы можете сформировать старый вариант отчета. Вам не нужно открывать другую среду, чтобы проверить стандартный дизайн отчета. После того, как вы завершили разработку отчета, вам потребуется обновить поле «Name» в PrintMgmtReportFormat. Ниже приведен пример:
Скажем, дизайн вашего нового отчета называется Report_INT, тогда вам надо изменить значение в поле «Name» на FreeTextInvoice.Report_INT. Данные в указанной таблице хранятся в разрезе компании, поэтому необходимо изменить записи во всех компаниях, где будет использоваться новый дизайн. Если компаний много, можно написать job для обновления записей по значению в поле DocumentType.
- Если вы добавляете новое поле в таблицу отчета в Ax, обновив набор данных (dataset) отчета в VS, поле появится в списке полей набора данных. Прежде чем использовать новое поле в дизайне отчета необходимо сделать следующее:
- Закрыть дизайн отчета и открыть его заново, только после этого можно быдет обратиться к новому полю. Иногда приходится тратить много времени на поиск нового поля, которое отображается в наборе данных отчета, но не появляется в дизайне отчета, когда вы выбираете связанный набор данных в дизайне отчета.
- Всегда экспортируйте отчет в формате PDF для просмотра результата и проверки форматирования в соответствии с требованиями, поскольку для отображения отчета на клиенте AX используется средство визуализации HTML, поэтому отображение может отличаться от того, которое вы увидите при печати отчета на принтере.
- Когда вы оцениваете время для разработки статических отчетов, добавьте 1 или 2 часа дополнительного времени для развертывания отчета. Иногда развертывание статического отчета занимает от 4 до 5 минут. Подробности о том, какие отчеты являются статическими, можно найти в следующей форме:
- Администрирование системы -> Настройка -> Бизнес-аналитика -> Службы Reporting Services -> Параметры развертывания отчетов. (System administration -> Setup -> Business intelligence -> Reporting Services -> Report deployment settings)
- Когда вы изменяете отчет, который является статическим, то лучше сделать большинство изменений за один раз, а затем развернуть отчет, чтобы проверить результат, а не вносить небольшие изменения по очереди и проверять их по отдельности. Это просто для экономии времени, потому что развертывание статического отчета занимает много времени.
- Если при выводе отчета в формате PDF изображение отображается некорректно, то, скорее всего, это связано с тем, что изображение имеет формат .png. Измените изображение в формат JPEG, и тогда оно должно работать. PDF не поддерживает изображения в формате PNG.
- Всегда старайтесь помещать элементы отчета в контейнеры, в прямоугольники. Это поможет контролировать то, как элементы отображаются/располагаются на странице отчета.
- Если у вас возникают ошибки в выражениях, используемых в элементах управления при компиляции проекта отчета в Visual Studio, и вы не знаете, к какому элементу управления он относится, то один из способов выяснить это – найти в отчете RDL текст ошибки, а затем посмотреть на родительский узел XML, чтобы увидеть, с каким объектом он связан. Просто нажмите Ctrl + F в дизайне вашего отчета, чтобы найти во всем решении текст ошибки, и он откроет RDL отчета в формате XML.
- Если вы удалили все вертикальные пробелы между текстовыми полями в дизайне отчета, но, тем не менее, когда вы запускаете отчет, между текстовыми полями есть расстояние, попробуйте уменьшить верхний и нижний отступы (padding) в свойствах текстовых полей. Это уменьшит расстояние между объектами во время формирования отчета.
- Если нужно отобразить текст метки заглавными буквами, но такой метки не существует. Не создавайте новую метку, вместо этого используйте функцию UCASE для существующей метки. Пример:
- Ucase(Labels!@SYS26401)
- Если положение текстовых полей или таблиц при формировании отчета не отображаются должным образом, измените цвет фона объектов на какой-нибудь цвет и сформируйте отчет. Так вы сможете получить представление о том, что происходит с объектами при формировании отчета.
- Если вы изменили текст метки, которая используется в статическом отчете, вам придется снова развернуть отчет, чтобы увидеть обновленную метку, поскольку метка обновляются во время развертывания отчета.
- Если элемент отчета отображается не в том месте, где он должен быть, то, скорее всего, причина заключается в том, что другой элемент отчета увеличивается в размере и перемещает этот элемент дальше, поэтому либо установите для автоматического увеличения (auto grow) значение false, либо оставьте достаточно места в ширину или высоту во время проектирования отчета.
- Если ваши отчеты не развертываются на нужном сервере отчетов при его развертывании из среды AX, быстрым обходным путем является развертывание отчета на определенном сервере отчетов с помощью следующей команды Power Shell:
- Publish-AXReport –id ReportConfigurationID –ReportName ReportName
- Например: Publish-AXReport –id AXPROD –ReportName PurchPurchaseOrder
- Значение параметра ReportConfigurationID можно посмотреть на форме «Серверы отчетов», Администрирование системы -> Настройка -> Бизнес-аналитика -> Службы Reporting Services -> Серверы отчетов. (System administration -> Setup -> Business intelligence -> Reporting Services -> Report servers)
Оригинал статьи можно найти по ссылке.
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.