1. Главная
  2. Документы
  3. Источники данных
  4. Вспомогательные функции
  5. FifoSchedule

FifoSchedule

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

Дополнительное описание:

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

Функция назначает на задачу первый освободившийся обработчик.

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

Порядок выполнения задач и порядок обработчиков необходимо настраивать в источниках с помощью выражения OrderBy.

Формат:

FifoSchedule( workerTable, startTimeColumnName, durationColumnName, startTimeColumnName, endTimeColumnName)

Параметры:

  • workerTable — имя временной таблицы, содержащей перечень работников (обработчиков).
  • availableAtColumnName — имя колонки, содержащей время доступности задачи. Колонка должна содержать числовые значения.
    durationColumnName — имя колонки, содержащей время выполнения задачи. Колонка должна содержать числовые значения.
  • startTimeColumnName — имя колонки, в которую будет помещено вычисленное время начала работы над задачей. Если колонка с данным именем отсутствует в таблице, она будет создана.
    endTimeColumnName — имя колонки, в которую будет помещено вычисленное время окончания работы над задачей. Если колонка с данным именем отсутствует в таблице, она будет создана.

Возвращаемый тип данных:

таблица

Пример:

Состав бригады | Select(Рабочий);
Набор работ | Select (Работа, МожноНачинатьВремя, Длительность)| FifoSchedule( $result_1, МожноНачинатьВремя, Длительность, ВремяНачала, ВремяОкончания) — создаст расписание выполения работ для бригады рабочих.