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

Перемещение по форме

В приведенных ниже таблицах дано описание элементов управления в этой форме.

Вкладки

Вкладка

Описание

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

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

На этой вкладке можно записать выражение непосредственно на языке X++.

Кнопки

Кнопка

Описание

Проверка синтаксиса выражения.

Перенос выражения с вкладки на вкладку для работы с ним непосредственно на языке X++.

Примечание Примечание

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


Поля

Поле

Описание

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

Здесь можно указать операнд для создаваемого логического выражения. Операнд может быть фиксированным значением или одной из моделирующих переменных модели продукции, в зависимости от значения поля . Если указать моделирующую переменную, которая является массивом, необходимо также указать в поле индекс этого массива.

Если в поле указано значение , можно получить список доступных переменных из полей поиска в поле .

Примечание.Если в поле указано значение , нужно учитывать тип данных вводимых значений. текстовые значения необходимо заключить в одинарные кавычки ('). В обратном случае компьютер будет считать этот текст именем переменной, что приведет к ошибке при проверке этого правила. Числовые значения не должны заключаться в кавычки.

Здесь можно указать индекс массива, если соблюдаются следующие условия:

  • Операнд на этой строке является переменной в соответствии выбранным значением в поле .

  • Переменная, указанная в поле , представляет собой массив.

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

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

* /

умножение, деление

+ -

плюс, минус

> < >= <=

больше, меньше, больше или равно, меньше или равно

= !=

равно, не равно

и или

логическое и/или

Запись выражения непосредственно на языке X++. Выражение должно быть сформировано как метод X++, который возвращает целочисленное значение (для корректировок по сумме или проценту) или значение с типом "real" (для расчетных корректировок). Чтобы просмотреть действие этого базового синтаксиса, можно создать выражение на вкладке , а затем перенести его на вкладку .

При изменении выражения на вкладке можно делать его сколь угодно сложным, используя все средства языка X++ в системе Microsoft Dynamics AX. Описание языка X++ см в руководстве разработчика Microsoft Dynamics AX.

Чтобы сослаться на оду из переменных модели продукции, используйте синтаксис varMap ('имя_переменной',индекс_массива), где имя_переменной указывает имя этой переменной, а индекс_массива указывает на нужный элемент массива.

Примечание Примечание

Первый элемент всегда имеет индекс 1, даже если остальные элементы отсутствуют.


Например, чтобы указать ссылку на переменную с именем c_doors, которая не является переменной массива, следует ввести ее как varMap('c_doors',1).

См. также