StandardLookup<r>

Помогите решить проблему!!!
В видео-курсе Develop a Bicycle Workshop Application within an Hour on CUBA Platform https://www.youtube.com/watch?app=desktop&v=BMIt8I9dVw0
в разделе Бизнес логика используется метод onNewStatusBtnClick(): при нажатии кнопки Set as New на экране OrderBrowse
меняется статус заказа и соответственно меняется и сохраняется новый статус на экране OrderEdit.Ниже приведен используемый код:

public class OrderBrowse extends AbstactLookup {

@Inject
private GroupDatasourse<Order, UUID> orderDs;

public  void onNewStatusBtnClick() {
    Order selectedItem = ordersDs.getItem();

    if (selectedItem != null) {
        selectedItem.getStatus();
        selectedItem.setStatus(OrderStatus.NEW);
        orderDs.commit();
    }
}

}

В моей версии CUBA AbstactLookup - не используется(устарел).
Попыталась прописать код - смотри ниже:

public class OrderBrowse extends StandardLookup {
@Inject
private static CollectionContainer ordersDc;

public  void onNewStatusBtnClick() {
    Order selectedItem = ordersDc.getItem();

    if (selectedItem != null) {
        selectedItem.getStatus();
        selectedItem.setStatus(OrderStatus.NEW);
    }
}

}
Но в этом случае на экране OrderBrowse меняется статус заказа, а для сохранения изменений на экране OrderEdit метод
commit() не доступен.

Как можно сохранить изменения?

В актуальной версии Cuba для управления данными экрана используется интерфейс DataContext.
Инжектируйте его на экран и сохраните изменения данных экрана:dataContext.commit()

изменила код, используя инжекцию DataContext, но изменение и сохранение данных на экране OrderEdit так и не происходит.
@Inject
private DataContext dataContext;

public void onNewStatusBtnClick() {

    Order selectedItem = ordersDc.getItem();
    Order trackedOrder = dataContext.merge(selectedItem);
    trackedOrder.setStatus(OrderStatus.NEW);
    dataContext.commit();
    
}

Что-то я уже запутался в том, что вы делаете и где…
В первом посте вы писали про экран OrderBrowse и его метод onNewStatusBtnClick.

Теперь вы приводите изменённый метод onNewStatusBtnClick() из экрана экран OrderBrowse, но пишете, что

Если код onNewStatusBtnClick(), приведенный в последнем посте с экрана Browse, то с виду он вполне рабочий.
Можно даже еще короче:

Order selectedItem = ordersDc.getItem();
if (selectedItem != null) {
    selectedItem.setStatus(OrderStatus.NEW);
    dataContext.commit();
}

Только убедитесь, что у вас в дескрипторе экрана OrderBrowse контекст данных данных не в режиме “только чтение”.
Должно быть так:

...
 <data readOnly="false">
<collection id=.......
......

По умолчанию при создании экрана просмотра генерируется дескриптор, в котором стоит <data readOnly="true">.