Доступно начиная с версии ExeMES 2.1

Настройки цветовой индикации заданий в интерфейсе ExeSched — это метод кастомизации визуального представления информации, который использует различные цвета для обозначения производственных заданий на диаграмме Ганта, при этом цвет задания может зависеть от различных условий, которые задаются пользователем в пользовательских скриптах. Такой подход помогает пользователям быстро воспринимать и анализировать данные, улучшая эффективность работы и упрощая принятие решений. Метод цветовой индикация заданий использует скрипты языка Lua, версии 5.3. Скрипт - инструкция, в которой пользователь может задать алгоритм определения цвета задания.

Пример скрипта цветовой индикации заданий:
if job.can_pause == true then
    return 'green'
else
    return '#563d7c'
end

Указанный пример логики скрипта закрасит задание зеленым цветом (значение «green»), если задание может быть поставлено на паузу (переменная «job.can_pause») и фиолетовым (код «#563d7c») если задание не может быть поставлено на паузу.

Пользователь может создавать неограниченное количество скриптов и переключаться между ними в режиме отображения, цветовая индикации заданий будет применяться ко всем заданиям, отображенным на диаграмме Ганта.

По умолчанию в ExeSched созданы 4 скрипта индикации заданий:

  • ByJobState: скрипт возвращает цвет задания в зависимости от его статуса и используется по умолчанию при старте ExeSched;
  • ByOverdueDays: скрипт возвращает цвет задания в зависимости от количества просроченных дней от требуемой даты завершения производственного задания;
  • ByProducedQuantityPercent: скрипт возвращает цвет задания в зависимости от количества произведенной продукции (расчет по процентному соотношению от требуемого количества);
  • ByRequiredQuantity: скрипт возвращает цвет задания в зависимости от количества произведенной продукции (расчет по абсолютному значению произведенной продукции).

Во всех скриптах сконфигурированы демонстрационные граничные значения и цвета для заданий, которые могут быть изменены пользователем.

Для переключения цветовой индикации заданий на диаграмме Ганта необходимо выбрать соответствующий скрипт в выпадающем списке «Цветовая индикация» на панели инструментов:

Доступные действия со скриптами:

Просмотр и редактирование скриптов

Для просмотра имеющихся скриптов выполните следующие действия:

  1. Нажмите на кнопку в панели инструментов:
  2. В открывшемся окне выберите вкладку «Настройки цветовой индикации», на которой доступны к просмотру все имеющиеся скрипты:

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


В нижней части окна отображается справка по доступным к использованию переменным. В качестве переменных в логике скриптов Lua могут быть использованы сущности ExeMES и их атрибуты.

СущностьАтрибутТип данныхОписание
JobjobObjectЗадание
start_timeDateTimeВремя начала задания
finish_timeDateTimeВремя завершения задания
ent_idInteger

Идентификатор рабочего центра (объекта из объектной модели), определяется в зависимости от текущего состояния задания: 

  • init_sched_ent_id - для заданий, которые еще не были запланированы в ExeSched;
  • target_sched_ent_id - для заданий, которые запланированы в ExeSched;
  • run_ent_id - для заданий, которые были запущены.
job_idStringИдентификатор задания
process_idStringИдентификатор процесса
wo_idStringИдентификатор производственного заказа
oper_idStringИдентификатор операции
item_idStringИдентификатор материала
seq_noIntegerПорядковый номер задания внутри операции
qty_reqdNumberТребуемое количество материала к производству
qty_prodNumberПроизведенное количество материала
run_ent_idNumberИдентификатор рабочего центра, на котором запущено задание
init_sched_ent_idNumber

Идентификатор рабочего центра, для которого задание запланировано при создании

target_sched_ent_idNumberИдентификатор рабочего центра, для которого задание запланировано пользователем ExeSched
latest_start_timeDateTimeСамое позднее время начала для удовлетворения требуемого времени окончания задания
req_finish_timeDateTimeТребуемое время завершения задания
act_start_timeDateTimeФактическое время начала задания
act_finish_timeDateTimeФактическое время завершения задания
sched_start_timeDateTimeПлановое время начала задания
sched_finish_timeDateTimeПлановое время завершения задания
stateStringСтатус задания
display_seqIntegerИдентификатор, определяющий последовательность отображения задания в пользовательском интерфейсе
can_pauseBooleanПризнак того, что задание может быть поставлено на паузу
setup_durationTimeSpanРассчитанное время переналадки
wowoObjectПроизводственный заказ
wo_descStringОписание производственного заказа
process_idStringИдентификатор процесса
item_idStringИдентификатор материала
release_timeDateTimeДата выпуска
req_finish_timeDateTimeТребуемая дата завершения
req_qtyNumberТребуемое количество материала на заключительной операции

Скрипт всегда должен возвращать строковое значение, соответствующее названию цвета CSS или шестнадцатеричный код цвета.

Выбор кода цвета может быть выполнен с использованием палитры. Код выбранного цвета отобразится справа.

После завершения написания скрипта нажмите кнопку  в окне редактирования и кнопку в окне просмотра скриптов. После сохранения изменений появится сообщение о успешном обновлении скриптов:

Добавление нового скрипта

Для добавления нового скрипта цветовой индикации заданий необходимо нажать на кнопку в окне просмотра скриптов, после чего в появившейся строке таблицы указать параметры скрипта:

  • ИД - идентификатор скрипта;

    Скрипт должен иметь уникальный идентификатор, в случае добавления скрипта с уже существующим идентификатором появится окно с ошибкой:

  • категория  - необходимо выбрать существующую категорию из выпадающего списка или указать наименование новой категории. Категория служит для группировки скриптов.

Для изменения кода скрипта необходимо воспользоваться кнопкой , после чего в открывшемся окне редактирования скрипта изменить код.


В нижней части окна отображается справка по доступным к использованию переменным. В качестве переменных в логике скриптов Lua могут быть использованы сущности ExeMES и их атрибуты.

СущностьАтрибутТип данныхОписание
JobjobObjectЗадание
start_timeDateTimeВремя начала задания
finish_timeDateTimeВремя завершения задания
ent_idInteger

Идентификатор рабочего центра (объекта из объектной модели), определяется в зависимости от текущего состояния задания: 

  • init_sched_ent_id - для заданий, которые еще не были запланированы в ExeSched;
  • target_sched_ent_id - для заданий, которые запланированы в ExeSched;
  • run_ent_id - для заданий, которые были запущены.
job_idStringИдентификатор задания
process_idStringИдентификатор процесса
wo_idStringИдентификатор производственного заказа
oper_idStringИдентификатор операции
item_idStringИдентификатор материала
seq_noIntegerПорядковый номер задания внутри операции
qty_reqdNumberТребуемое количество материала к производству
qty_prodNumberПроизведенное количество материала
run_ent_idNumberИдентификатор рабочего центра, на котором запущено задание
init_sched_ent_idNumber

Идентификатор рабочего центра, для которого задание запланировано при создании

target_sched_ent_idNumberИдентификатор рабочего центра, для которого задание запланировано пользователем ExeSched
latest_start_timeDateTimeСамое позднее время начала для удовлетворения требуемого времени окончания задания
req_finish_timeDateTimeТребуемое время завершения задания
act_start_timeDateTimeФактическое время начала задания
act_finish_timeDateTimeФактическое время завершения задания
sched_start_timeDateTimeПлановое время начала задания
sched_finish_timeDateTimeПлановое время завершения задания
stateStringСтатус задания
display_seqIntegerИдентификатор, определяющий последовательность отображения задания в пользовательском интерфейсе
can_pauseBooleanПризнак того, что задание может быть поставлено на паузу
setup_durationTimeSpanРассчитанное время переналадки
wowoObjectПроизводственный заказ
wo_descStringОписание производственного заказа
process_idStringИдентификатор процесса
item_idStringИдентификатор материала
release_timeDateTimeДата выпуска
req_finish_timeDateTimeТребуемая дата завершения
req_qtyNumberТребуемое количество материала на заключительной операции

Скрипт всегда должен возвращать строковое значение, соответствующее названию цвета CSS или шестнадцатеричный код цвета.

Выбор кода цвета может быть выполнен с использованием палитры. Код выбранного цвета отобразится справа.

После завершения написания скрипта нажмите кнопку  в окне редактирования и кнопку в окне просмотра скриптов. После сохранения изменений появится сообщение о успешном обновлении скриптов:

и новый скрипт добавится в список:

Копирование скрипта 

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

Удаление скрипта

Для удаления скрипта необходимо выбрать строку скрипта в окне просмотра скриптов и нажать на кнопку , после чего появится сообщение об удалении скрипта:

  • No labels