Здравствуйте, Екатерина!
Давайте разбираться…
проблема в том, что текущее условие (setEnabled) распространяется на оба отчёта, а нужно, чтобы оно действовало только для первого (старого) отчёта.
Вот один из способов решения вашей проблемы:
Можно отвязать вашу кнопку запуска отчёта от Action (полагаю, в вашем случае, это io.jmix.reportsui.action.list.ListPrintFormAction) и реализовать обработчик события по нажатию на эту кнопку. Т.к. у вас всего два отчёта, то не составит труда, задать каждому из них уникальный код. Он потребуется для запуска отчёта из контроллера экрана по условию.
<button id="printReportBtn" icon="PRINT"/>
Объявление кнопки для печати в xml файле контроллера экрана.

Задание системного кода для отчёта.
На кнопку запуска отчёта (в примере ниже - printReportBtn), можно повесить обработчик (Handler) и перенести условие, которое использовалось для задания активности кнопки, внутрь этого обработчика. Сам отчёт будет запускаться по уникальному коду для нужного вам отчёта, с помощью механизма запуска отчётов в Ui: UiReportRunner.
Пример:
@Subscribe("printReportBtn")
public void onPrintReportBtnClick(final Button.ClickEvent event) {
// Уникальный system code для запуска отчёта 1 (старый отчёт)
final String orderReportCode1 = "report-code-1";
// Уникальный system code для запуска отчёта 2 (новый отчёт)
final String orderReportCode2 = "report-code-2";
Order selected = ordersTable.getSingleSelected();
if (selected != null) {
// Если номера нет, запускаем отчёт 2
if (selected.getNumber() == null) {
uiReportRunner.byReportCode(orderReportCode2)
.addParam("entity", selected)
.runAndShow();
} else {
// Или запускаем отчёт 1
uiReportRunner.byReportCode(orderReportCode1)
.addParam("entity", selected)
.runAndShow();
}
}
}
После нажатия на кнопку запуска отчёта (в моём примере - с иконкой принтера), нужно будет просто подтвердить запуск (нажать Run report). Больше ничего делать не нужно: все параметры для запуска уже проставлены в коде. Однако, вы сможете их изменить прямо в диалоговом окошке, при запуске.

Если вас не устроит предложенный вариант, таким же способом можно повесить на каждую кнопку по отчёту и запускать их по отдельности (по уникальному system code). Условия активности кнопок можете задать произвольные.
С уважением,
Дмитрий