Как я могу grep (искать) отчет Crystal для всех видов использования столбца?

Я пытаюсь удалить все ссылки на таблицу из отчета Crystal XI. Кристл говорит мне, что в настоящее время используется столбец из этой таблицы, потому что в поле в средстве просмотра поля есть небольшая зеленая отметка. Кроме того, если я попытаюсь удалить всю таблицу, я получаю предупреждение. Предупреждение почти бесполезно, потому что оно не говорит мне, где используется поле. Теперь, когда программисты были настоящими программистами, а мышами были погони за котами, я мог просто grep каталог или файл и найти все ссылки на переменную, которую меня интересовали. Но как это сделать в Crystal? Я уже пытался экспортировать отчет в определение отчета, которое помогло найти некоторые примеры проблемных полей. К сожалению, этот формат не включает все формулы, только некоторые. Скажите, что мне не нужно покупать стороннее приложение (или написать собственный COM-код), чтобы сделать это, казалось бы, просто.

EDIT, чтобы добавить сведения о тангенциальной точке: В случае, если кто-то задается вопросом, я не сумасшедший - я продублировал проблему, когда определение формулы не отображается в экспортированном определении отчета. Я создал новый пустой отчет, создал одну формулу stealth, которая возвращает 1234. Затем я использовал эту формулу в разделе Expert для раздела сведений в формуле "подавить", установив ее в {@stealth} == 0. использование формулы, но не определение. Поэтому, когда мой ненужный столбец использовался в формуле, я не смог его найти! Вот что выглядит rpt def (после удаления некоторых пустых строк):

     Crystal Report Professional v11.0 (32-bit) - Report Definition
    1.0 File Information
     Report File: 
     Version: 11.0
    2.0 Record Sort Fields
    3.0 Group Sort Fields
    4.0 Formulas
    4.1 Record Selection Formula

    4.2 Group Selection Formula

    4.3 Other Formulas
    5.0 Sectional Information
    5.1 Page Header Section
     Visible, Keep Together
    5.2 Page Footer Section
     Visible, New Page After, Keep Together, Print At Bottom of Page
    5.3 Report Header Section
     Visible, New Page Before
    5.4 Report Footer Section
     Visible, New Page After
    5.5 Details Section
     Visible
     Subsection.1 
      Visible, Keep Together
      Format Formulas
      Visible: {@stealth}= 0

Ответ 1

Если вы щелкните правой кнопкой мыши по полю в полевом проводнике и выберите "Найти в формулах", он должен открыть диалоговое окно со списком всех мест, которые он использует в формулах. В левой части диалогового окна находится дерево всех возможных мест, в которые могут быть включены, в том числе такие места, как селектор записей и функции форматирования страницы. К сожалению, он не показывает список полных полей.

РЕДАКТИРОВАТЬ: Ой, все места, в которых он существует, перечислены в нижней части диалогового окна; древовидное представление - это весь "DOM" отчета.

Ответ 2

Если все остальное не работает...

File -> Export -> Export Report, затем выберите опцию Report Definition (TXT).

Это даст вам текстовое представление каждого элемента отчета. Вы можете grep или CTRL-F или (вставить инструмент поиска по вашему выбору). "Найти в формулах" обычно работает, но я должен был пройти маршрут экспорта пару раз, без всякой видимой причины.

Изменить. Конечно, если бы я потрудился полностью прочитать ваше сообщение, я бы понял, что вы уже это сделали.

Очень любопытно.

Ответ 3

Я знаю, что это старый пост, но... Не сбивая "Найти в формулах", он меня спасал сегодня, но мне не удалось найти последний экземпляр поля. Даже после того, как все формулы и пометы в отчете были позабочены, у меня все еще было какое-то одинокое использование.

Я нашел, что он скрывается как ссылка на Subreport. Щелкните правой кнопкой мыши на Subreport → "Change Subreport Links...", и появился преступник. Снижение этой должности, потому что я полагал, что у кого-то еще может быть и эта проблема.

Поля иногда также могут скрываться в пределах "Эксперт сортировки записей"

Ответ 4

Отвечая на старый пост, но столкнулся с аналогичной проблемой. У меня была группа, основанная на формуле, которую я хотел удалить, которая имела определенный порядок. Когда я сменил группировку на другое поле, указанный порядок остался. Когда я удаляю указанный порядок, моя формула может быть удалена.

Ответ 5

Это было протестировано на XIr2...

Вы изменяете источник данных таблиц через диалоговое окно "set datasource location". Теперь, когда он переходит в режим сопоставления столбцов, снимите флажок match-type и выберите новый столбец, который вызовет ошибку в формуле. (т.е. если столбец, который вы ищете, это строка, замените его столбцом datetime). Перейдите в предварительный просмотр, и вы должны получить окно с ошибкой, например "Строка требуется здесь"., Закройте эту ошибку и выскочите наружу формулу!

Ответ 6

Еще одно предложение. После того, как я привел много предложений, мой отчет все еще говорил мне, что формула используется. Мне пришлось закрыть отчет. Когда я снова открыл его, галочка исчезла, и это позволило мне удалить ее. Это было на Crystal v 11.0.0.1282

Ответ 7

Хотя старый пост, этот функциональный разрыв все еще существует в самих Crystal Reports. У нас есть полнофункциональная 14-дневная пробная версия нашего программного обеспечения сторонних разработчиков, которое использует новейший API Crystal.net для поиска простого текста в библиотеке файлов Crystal RPT одним махом. Также выполняет поиск данных, сохраненных в отчетах, и текст внутри ярлыков... а также источник данных за всеми вашими отчетами (хранимые процедуры, представления и данные таблицы) с поддержкой SQL Server, SQL Azure, MySQL, Oracle, Amazon RDS, DB2 и доступ.

Дополнительная информация и пробные загрузки на http://www.finditez.com

Примечание. Вам потребуется загрузить и установить совместимый соединитель времени выполнения SAP Crystal.net для поиска в вашей библиотеке файлов RPT.

Ответ 8

В моем случае поле Формулы оказалось частью старого Running Total Field, которое само не было включено в отчет. Как только я удалил это старое полное поле запуска, я смог удалить неиспользуемое поле Формулы.

Ответ 9

Очень поздно, но я использую CR 2008 (12.3.0.601) и только сегодня (6/16/2015). Я пытаюсь задокументировать только формулы моего отчета. Я знал об экспорте определения отчета и поиске формулы во всех формулах. Но есть около 50 формул. Я обнаружил, что экспортированное определение отчета не документировало все мои формулы, но я не потрудился раскрыть логику этого; вместо этого я набросал все формулы в раздел, а затем экспортировал определение отчета. Вуаля. Конечно, мне все равно нужно отбирать все ненужные элементы определения. Но, по крайней мере, у меня есть все формулы.

Ответ 10

Итак, со всеми замечательными выборами. У меня все еще был один случай, скрывающийся от меня. Я узнал, где это было, создав клон таблицы данных и переименовав\удалив поле.

Затем я использовал "Установить местоположение базы данных", как было предложено выше, чтобы указать на мою новую таблицу. Он сделал ошибку, когда он не смог найти это поле, но все же не сказал мне, где он был на самом деле (это только что сказало поле отчета).

Я НЕ отображал его и не нажал кнопку "Продолжить", которая удалила поле из отчета. Затем я сопоставил его с реальным столом, и я был хорошим.

В моем случае была диаграмма, и поле использовалось как одно из полей "on Change".