Дополнительные связи

Класс Кинозал

Создайте вычисляемый атрибут seatCounter (Счетчик мест). Он посчитывает общее количество мест в зале. В поле Calculated expression (Вычисляемое выражение) укажите значение ["$query","count","seat",null,{"hall":".$key"}] (подробнее смотри node_modules/evado-meta-document/calc/Calc.js).

Создайте атрибут множественная обратная ссылка seats (Места). Он отображает список мест в зале. В поле Reference class (Ссылочный класс) выберите seat (Место). В поле Reference attribute (Ссылочный атрибут) выберите hall (Зал). В этом атрибуте хранится связь между местом и кинозалом.

Создайте атрибут множественная обратная ссылка screenings (Показы). Он отображает список показов фильмов в зале. В поле Reference class (Ссылочный класс) выберите screening (Показ). В поле Reference attribute (Ссылочный атрибут) выберите hall (Зал). В этом атрибуте хранится связь между показом и кинозалом.

Создайте атрибут множественная обратная ссылка prices (Цены). Он отображает список ценообразований в зале. В поле Reference class (Ссылочный класс) выберите pricing (Ценообразование). В поле Reference attribute (Ссылочный атрибут) выберите hall (Зал). В этом атрибуте хранится связь между ценообразованием и кинозалом.

Класс Фильм

Создайте атрибут обратную ссылку screenings (Показы). Он отображает список показов фильма. В поле Reference class (Ссылочный класс) выберите screening (Показ). В поле Reference attribute (Ссылочный атрибут) выберите movie (Фильм). В этом атрибуте хранится связь показа с фильмом.

Создайте атрибут обратную ссылку tickets (Билеты). Он отображает список билетов на фильм. В поле Reference class (Ссылочный класс) выберите ticket (Билет). В поле Reference attribute (Ссылочный атрибут) выберите screening (Показ). В этом атрибуте хранится связь билета с показом. Чтобы связать билет с фильмом, создайте Intermediate link (Промежуточная связь). В поле Reference class (Ссылочный класс) выберите screening (Показ). В поле Reference attribute (Ссылочный атрибут) выберите movie (Фильм).

Если ссылочный атрибут имеет промежуточную связь, то изменять значения через него нельзя. Установите флажок Read only (Только чтение).

Класс Ценообразование

Создайте атрибут обратную ссылку prices (Цены). Он отображает список специальных цен. В поле Reference class (Ссылочный класс) выберите seatPrice (Цена места). В поле Reference attribute (Ссылочный атрибут) выберите pricing (Ценообразование).

Класс Показ

Создайте атрибут обратную ссылку tickets (Билеты). Он отображает список билетов на показ. В поле Reference class (Ссылочный класс) выберите ticket (Билет). В поле Reference attribute (Ссылочный атрибут) выберите screening (Показ).

Создайте атрибут обратную ссылку freeSeats (Свободные места). Он отображает список свободных билетов на показ. В поле Reference class (Ссылочный класс) выберите ticket (Билет). Если отношение требует нестандартный функционал, то используйте поле Finder (Искатель). Задайте конфигурацию, которая будет использован для выборки связанных объектов {"Class":"component/meta/relation/FreeSeatsFinder"} (исходный код).

Экспортируйте метаданные и проверьте созданные отношения в Офисе.