Канал класса CALL с типом вызова MRESOURCE_1 (тип такого канала не имеет значения) используется для управления несколькими каналами класса М-РЕСУРС. Для управления используются аргументы канала CALL, создаваемые группами по 4.
Для прихода первый аргумент группы должен иметь тип OUTPUT (в приведенных ниже номерах аргументов k=0,1...):
arg<4k> –
привязка канала М-РЕСУРС;
arg<4k+1> –
количество приходуемого ресурса (передается в атрибут In
привязанного канала М-РЕСУРС);
arg<4k+2> – цена
приходуемого ресурса (передается в атрибут
Price_In привязанного канала М-РЕСУРС);
arg<4k+3> – ID
поставщика (передается в атрибут in_id
привязанного канала М-РЕСУРС).
Для расхода первый аргумент группы должен иметь тип INPUT:
arg<4k> –
привязка канала М-РЕСУРС;
arg<4k+1> –
количество запрашиваемого ресурса (передается в атрибут Q
привязанного канала М-РЕСУРС);
arg<4k+2> – при
выполнении запроса в этот аргумент записывается цена ресурса
(рассчитывается в привязанном канале М-РЕСУРС);
arg<4k+3> – при
выполнении запроса в этот аргумент записывается значение атрибута
out_id привязанного канала М-РЕСУРС.
Если хотя бы один запрос не может быть выполнен, каналу CALL устанавливается признак аппаратной недостоверности.
Значение канала CALL задает число операций прихода/расхода (при каждой отработке канала CALL выполняется одна операция по всем привязанным каналам М-РЕСУРС).