Параметры
FRONTIER-logo

СИСТЕМА ОПЕРАТИВНОГО И УПРАВЛЕНЧЕСКОГО УЧЕТА

data-warehouse 03
  • Автоматизация торговых и
  • производственных процессов
  • Планирование материальных
  • потребностей на базе MRP II и TOC
  • Бесплатная рабочая версия для
  • оценки пригодности Системы

Назначение параметров модели аналогично пераметрам функций и процедур языка программирования, описание которых производится в скобках после имени процедуры. Когда функция будет вызвана, конкретные аргументы подставятся вместо соответствующих параметров-переменных.

Текстовая строка с описанием параметров модели хранится в ее специальном свойстве и формируется в соответствии со следующим синтаксисом:

<ParameterName1>:<DataType>[=<DefaultValue>][;<ParameterName2>:<DataType>[=<DefaultValue>]...]

 где,

ParameterName

Имя параметра не чувствительное к регистру. Например: id

DataType 

Тип данных параметра не чувствительный к регистру. Может принимать одно из следующих значений: String, Number, Decimal, Date, Time, DateTime, StringList, NumberList, DecimalList, DateList, TimeList, DateTimeList. Типы данных, оканчивающиеся на List являются массивами.

DefaultValue

Значение, присваиваемое параметру по умолчанию, при отсутствии которого принимаются следующие значения в зависимости от типа: 0 (Number, Decimal), "" (String), 01/01/1900 (Date), 00:00 (Time), 01/01/1900 00:00 (DateTime). 

Формат описания DefaultValue

  • простое литеральное значение
  • NULL
  • @<VarName> - текущее значение глобальной переменной
  • ^<FieldName> - текущее значение поля <FieldName> в выбранной строке родительской модели
  • &<Expression> - результат вычисления выражения <Expression> над текущей строкой родительской модели
  • (<Expression>) - результат аналогичен предыдущему варианту
  • :<ParameterName> - значение параметра родительской модели

 

Передача параметров

Присвоение параметрам значений может быть осуществлено при запуске модели на выполнение (открытии). Для этого используется следующий формат:

[<тип_модели>:\]<class_controller|*>.<model_name>[?<param=value>[&<param>=<value>...]]

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

 

Использование

На значения параметров можно ссылаться в свойстве модели WHERE, а также в выражениях атомов типа SQL-expression следующим образом: :<ParameterName>. Например, для модели Query, в которой параметры описаны следующим образом:

nKeyVal:Number=NULL; nQty:Number=0; sTypeList:StringList={'A','B','C'},

значение свойства WHERE могло-бы выглядеть так:

SOMEKEY=:nKeyVal and QTY > :nQty and ITEMTYPE in (:sTypeList)

Кроме этого, имя параметра может быть задействовано во всех выражениях, выполняемых на стороне клиента (Computes). Например, для атома SOMEKEY начальное значение можно описать следующим обраом: =nKeyVal