Skip to content

apps/panel 0.82.0 ​

English · Русский

Дата выпуска: 15 сентября 2026 года. Предыдущая версия: 0.81.1.

Что изменилось ​

  • Новое действие toggleMaterialConstraints на панели инструментов диаграммы Ганта открывает и закрывает под диаграммой панель движения материалов из @mes/aps 1.21.0. Раньше приложение эту панель не показывало. Когда пользователь открывает её, панель Ганта отправляет { "scheduleGuid": "<текущее расписание>" } в POST /Schedule/GetMaterialConstraints, берёт из ответа список constraintData и передаёт его в панель движения материалов. Результат сообщает уведомление: «Данные движения материалов успешно получены», «Данные движения материалов не найдены», если список пуст, или «Не удалось получить данные движения материалов».
  • Даты startDate и finishDate событий движения материалов панель Ганта принимает с Z или со смещением часового пояса и, как и даты расписания, переводит в UTC, прежде чем передать события в @mes/aps.
  • @mes/aps 1.21.0 показывает вторичные ограничения и движение материалов в одной области под диаграммой, поэтому панель Ганта держит открытой только одну из этих панелей: открытие вторичных ограничений закрывает панель движения материалов, а открытие движения материалов — панель вторичных ограничений.
  • Когда действие заменяет расписание целиком, например при генерации или обновлении, панель Ганта снова открывает ту панель ограничений, что была открыта, и повторяет её запрос без уведомления. Вторичные ограничения вели себя так и раньше, теперь так же ведёт себя движение материалов.
  • Настройка schedule.showMaterialConstraints: true теперь открывает панель движения материалов, когда диаграмма показала открытое расписание. Если schedule.showConstraints тоже равна true, открывается только панель вторичных ограничений. Для панели, открытой настройкой, панель Ганта запрашивает данные без уведомления. Эти настройки действуют, только пока у панели Ганта нет записанного состояния «открыта» или «закрыта» для этой панели ограничений. Состояние записывается, когда настройка открывает панель, когда пользователь открывает или закрывает её действием и когда он открывает другую панель ограничений; оно сохраняется, пока панель Ганта остаётся открытой. До версии 0.82.0 настройка schedule.showMaterialConstraints не действовала.

Настройка ​

Добавьте в panelActions панели Ганта действие с методом toggleMaterialConstraints. Фрагмент ниже показывает полную вложенность. Замените schedule-gantt на id своей панели Ганта; gantt-actions и toggle-material-movement — примеры идентификаторов. Если у панели уже есть группа действий, добавьте в её actions только объект действия. Пока панель движения материалов закрыта, на панели инструментов видна подпись label, а пока открыта — labelToggleOn.

json
{
  "id": "schedule-gantt",
  "type": "gantt",
  "panelActions": [
    {
      "id": "gantt-actions",
      "renderType": "dropdown",
      "label": "Расписание",
      "actions": [
        {
          "id": "toggle-material-movement",
          "method": "toggleMaterialConstraints",
          "label": "Показать движение материалов",
          "labelToggleOn": "Скрыть движение материалов"
        }
      ]
    }
  ]
}

Чтобы панель открывалась автоматически, добавьте запись Settings API с префиксом schedule:

text
schedule.showMaterialConstraints = true

Подписи строк и поля подсказок панели движения материалов задают настройки @mes/aps schedule.materialConstraintsListInfoConfig и schedule.materialConstraintsTooltipConfig. В @mes/aps 1.21.0 у них нет полей по умолчанию, а панель Ганта передаёт их в пакет без изменений — без форматирования дат и преобразований valueMap.

Если данные не появились ​

  • «Данные движения материалов не найдены»: API вернул для текущего расписания пустой список constraintData, и панель движения материалов остаётся пустой. Запрос содержит только GUID расписания, поэтому никакая настройка панели Ганта этот ответ не изменит.
  • «Не удалось получить данные движения материалов»: запрос завершился ошибкой, а панель движения материалов осталась открытой без новых данных. Чтобы повторить запрос, выберите действие дважды: первое нажатие закроет панель, второе снова откроет её и отправит запрос. Если ошибка повторяется, её причина не в конфигурации панели Ганта: приложите к сообщению о проблеме запрос и ответ POST /Schedule/GetMaterialConstraints с вкладки «Сеть» в инструментах разработчика браузера.

Как открыть демонстрацию ​

Запустите панель с NUXT_LOCAL_FIXTURE_API_ENABLED=true и NUXT_PUBLIC_API_PREFIX=/local-api, войдите с любыми непустыми именем пользователя и паролем и откройте в группе «Демо панели Gantt» приложение «Gantt: часовой пояс браузера» (/app/local-gantt-transform-demo) или «Gantt: явный UTC» (/app/local-gantt-transform-utc-demo). Откройте расписание действием «Открыть Gantt» в строке таблицы «Демо-заказы», затем выберите Gantt → Показать движение материалов. Демонстрационный сервер отвечает на POST /Schedule/GetMaterialConstraints событиями по двум материалам. Подписи строк в демонстрации не настроены, поэтому строки остаются без подписей и открываются минимальной высоты.

Известные ограничения ​

  • @mes/aps 1.21.0 не сообщает панели Ганта, что пользователь закрыл движение материалов кнопкой закрытия внутри панели пакета. Действие по-прежнему показывает labelToggleOn, следующее нажатие на него снова открывает панель, а не закрывает её, и следующее действие, которое заменяет расписание целиком, тоже её открывает. Закрывайте движение материалов действием на панели инструментов. Если так же закрыть вторичные ограничения, подпись действия обновится.
  • В @mes/aps 1.21.0 строки движения материалов открываются минимальной высоты: пакет рассчитывает её по списку вторичных ограничений. Чтобы увеличить строки, используйте вертикальный масштаб панели движения материалов.
  • Без schedule.materialConstraintsListInfoConfig у строк движения материалов нет подписей.
  • С @mes/aps 1.21.0 при каждой загрузке диаграммы в консоли браузера появляется ошибка воркера APS Cannot read properties of undefined (reading 'map') — независимо от того, открыта ли панель движения материалов. На данные этой панели ошибка не влияет.

Обновлённая документация ​

  • В модели работы диаграммы Ганта описаны оба действия панелей ограничений, их запросы и уведомления, причина, по которой открытие одной панели закрывает другую, и возвращение открытой панели после замены расписания.
  • В списке значений по умолчанию и приоритетов объяснено, когда schedule.showConstraints и schedule.showMaterialConstraints открывают панель; утверждения о том, что schedule.showMaterialConstraints не действует, там больше нет.
  • В ограничениях диаграммы Ганта перечислены описанные выше ограничения @mes/aps 1.21.0 и исправлено описание закрытия вторичных ограничений внутри пакета: подпись действия при этом обновляется.
  • В разделе запускаемых демонстраций объяснено, как открыть движение материалов в обеих локальных демонстрациях диаграммы Ганта.
  • Каталог действий (на английском) включает toggleMaterialConstraints в список действий расписания, а новые страницы параметров (тоже на английском) описывают schedule.showConstraints и schedule.showMaterialConstraints.