Dropoff

Удаляет избранные заявки из поступающей заявки-контейнера и пересылает их далее через порт outDropoff. Так же, как и объект Pickup, используемый для добавления заявок в заявку-контейнер, объект Dropoff извлекает заявки согласно заданному режиму: либо все заявки, либо определенное их количество, либо те, для которых будет выполняться заданное условие (которое может зависеть как от заявки-контейнера, так и от содержащихся в нем заявок). Обратите внимание, что на момент проверки условия заявка все еще будет в контейнере, но при выполнении Действия при оставлении  заявка уже будет удалена из заявки-контейнера.  

Вся операция занимает нулевое время.

Вы можете управлять процессом удаления  заявок путем задания различных Условий извлечения заявок, например, чтобы извлекать только те заявки типа Passenger, место назначения destination (заданное с помощью поля класса заявки) которых равно here, укажите Passenger в качестве класса заявки-контейнера и напишите условие извлечения заявок: entity.destination == here.

Если после извлечения необходимых Вам заявок Вам не нужно сохранять заявку-контейнер, Вы можете использовать вместо объекта Dropoff объект Unbatch

Параметры класса

Классы заявок
Контейнер
Класс заявок, поступающих в объект, должен быть подклассом Entity. Указав класс заявки, Вы можете напрямую обращаться к полям этого класса в коде динамических параметров, таких, как onEnter.
Синтаксис: TContainer extends Entity
Значение по умолчанию: Entity
Заявка
Класс заявок, извлекаемых из заявки-контейнера и покидающих объект через порт outDropoff, должен быть подклассом Entity. Указав класс заявки, Вы можете напрямую обращаться к полям этого класса в коде динамических параметров, таких, как onDropoff.
Синтаксис: TBatch extends Entity
Значение по умолчанию: Entity

Порты

InPort in
Входной порт.
OutPortPush out
Выходной порт.
OutPortPush outDropoff
Выходной порт для заявок, извлеченных из заявки-контейнера.

Параметры

Оставлять
Определяет режим извлечения заявок из заявки-контейнера: должен ли объект извлекать Все заявки, либо их Заданное количество (если доступно), либо извлекать те заявки, для которых выполняется заданное Условие (Пока выполняется условие).
Синтаксис: int dropoffType
Значение по умолчанию
: Пока выполняется условие
Допустимые значения: Dropoff.ALLDropoff.QUANTITYDropoff.BY_CONDITION
Условие [динамический]
[Виден, если у параметра Оставлять выбрана опция Пока выполняется условие] Условие, вычисляемое для каждой заявки, содержащейся в заявке-контейнере и определяющее, должна ли данная заявка быть извлечена из контейнера. Условие может зависеть как от заявки-контейнера, так и от содержащихся в нем заявок - "кандидатов" на извлечение.
Синтаксис: boolean condition
Локальные переменные: T entity - заявка - "кандидат" на извлечение из контейнера.
                          TContainer container - заявка-контейнер.
Значение по умолчанию: true (из контейнера будут извлекаться все заявки)
Количество [динамический]
[Виден, если у параметра Оставлять выбрана опция Заданное количество (если доступно)] Выражение, возвращающее количество заявок, которое должно быть извлечено из заявки-контейнера (если в нем будет содержаться такое количество заявок).
Синтаксис: int quantity
Локальная переменная: TContainer container - заявка-контейнер.
Значение по умолчанию: 1
Действие при входе [динамический]
Код, выполняемый, когда заявка-контейнер поступает в объект.
Синтаксис: void onEnter
Локальная переменная: TContainer container - заявка-контейнер.
Действие при оставлении [динамический]
Код, выполняемый для каждой заявки, извлекаемой из контейнера.
Синтаксис: void onDropoff
Локальные переменные: T entity - извлеченная из контейнера заявка.
                          TContainer container - заявка-контейнер.
Действие при выходе [динамический]
Код, выполняемый, когда заявка-контейнер покидает объект.
Синтаксис: void onExit
Локальная переменная: TContainer container - заявка-контейнер.