Создание формулы
Чтобы создать новую формулу, воспользуйтесь командой Создать формулу. Ее можно вызвать:
из контекстного меню группы формул;
при помощи кнопки панели инструментов
Создать формулу.
В списке формул укажите группу, в которой нужно создать формулу.
Вызовите команду Создать формулу. В указанной группе появится Новая формула.
В области настройки в поле Имя введите название формулы. Оно может быть неуникальным.
При необходимости введите описание формулы.
Формуле автоматически будет присвоен код, который отображается в раскрывающемся разделе Коды в поле Код. Код формулы можно редактировать, однако код каждой формулы должен быть уникален.
В поле Формула создайте текст формулы.
Если формула включает в себя параметры, опишите их в поле Параметры формулы.
Текст и параметры формулы могут включать в себя:
операторы, функции, константы;
коды свойств (если в формуле фигурируют свойства);
коды областей выбора объектов (если в формуле фигурируют типы связей);
конструкции, предназначенные для вставки:
значения свойства объекта;
значения свойства связанного объекта;
значения свойства документа, связанного с объектом;
уникального номера объекта.
Если средствами Редактора были внесены изменения в существующую формулу, нажмите кнопку Вычислить для всех объектов, чтобы значения свойств объектов, которые вычисляются по этой формуле, были пересчитаны.
Параметры
Формулы могут включать в себя параметры.
Параметр представляет собой небольшую часть формулы, которой присваивается собственное имя. Параметры используются, чтобы упростить составление и чтение сложных формул.
Параметры формулы, указанной в дереве, перечислены в списке Параметры формулы.
Поля списка:
Добавить параметр формулы
Удалить параметр
Сортировать по наименованию
Сортировать по положению в теле формулыПримечание
Параметры могут содержать в себе другие параметры, а также константы, операторы и функции.
Параметры пишутся в квадратных скобках. Имя параметра не может содержать квадратных скобок, но может содержать пробелы, кириллицу и другие печатные символы.
Если в формулу вставляется код свойства или код области выбора объектов, соответствующие параметры попадают в список Параметры формулы автоматически.
Чтобы в формуле заменить выражение параметром, необходимо:
добавить в формулу переменную, которая будет заменять выражение,
добавить новый параметр в список Параметры формулы, заполнив поля:
Параметр – наименованием переменной, которая заменяет выражение в формуле;
Вычисление – выражением, которое заменяет переменная.
Константы
Строковая константа – массив символов. Строковые константы записываются в одинарных кавычках, например, ‘ABC’ или ‘123’.
Числовая константа – целое или дробное число, например, 123 или 123.456.
Константа даты и времени – символьное значение даты и времени специального формата. Константы даты и времени записываются в одинарных кавычках или знаках решетки, например, ‘01.09.2022 05:07:11’ или #01.09.2022 05:07:11#.
this – текущий объект.
Pi – число Пи.
null – бестиповая ссылка, не указывающая на объект.
Подсказка
Чтобы поместить в строковую константу одинарную кавычку, используйте перед ней экранирующий символ \. Например, ‘\‘ABC\’’.
Для записи числовых констант можно использовать научную нотацию, например:
1.22e1
1e2
1e+2
1e-2
.1e-2
1e10
Примеры
Формула состоит из двух параметров: Длина и Ширина, и константы 2. Параметры Длина и Ширина состоят из числовых констант 3 и 4.
Формула состоит из константы Pi и константы Радиус, которая равна числовой константе 4.
Операторы
Выражения в формулах связываются при помощи операторов. В таблице ниже приведены группы операторов в порядке снижения их приоритета.
Название |
Оператор |
Пример использования |
|---|---|---|
Унарные |
||
Логическое отрицание |
not, ! |
Результат: |
Побитовое отрицание (операция выполняется с двоичным представлением числа) |
~ |
Результат: |
Операторы арифметических операций |
||
Умножение, деление |
*, / |
Результат: |
Взятие остатка от деления |
% |
Результат: |
Сложение, вычитание |
+, - |
Результат: |
Операторы сравнения (результатом операции сравнения является логический тип данных) |
||
Равно |
=, == |
Результат:
Результат: |
Неравно |
!=, <> |
Результат:
Результат: |
Больше, меньше |
>, < |
Результат:
Результат: |
Больше или равно, меньше или равно |
>=, <= |
Результат:
Результат: |
Логические операторы (результатом логического выражения является логический тип данных) |
||
Конъюнкция (логическое И) |
and, && |
Результат:
Результат: |
Дизъюнкция (логическое ИЛИ) |
or, || |
Результат:
Результат: |
Битовые операции (операции выполняются с двоичным представлением чисел) |
||
Побитовое И |
& |
Результат: |
Побитовое исключающее ИЛИ (XOR) |
^ |
Результат: |
Побитовое ИЛИ |
| |
Результат: |
Битовый сдвиг влево |
<< |
Результат: |
Битовый сдвиг вправо |
>> |
Результат: |
Функции
Функция |
Пример использования |
|---|---|
Математические функции |
|
Abs(x)
Возвращает абсолютное значение числа. |
Результат: |
Acos(x)
Возвращает величину угла (в радианах) по заданному значению косинуса. |
Результат: |
Asin(x)
Возвращает величину угла (в радианах) по заданному значению синуса. |
Результат: |
Atan(x)
Возвращает величину угла (в радианах) по заданному значению тангенса. |
Результат: |
Ceiling(x)
Возвращает ближайшее большее целое число. |
Результат: |
Cos(x)
Возвращает косинус угла, заданного в радианах. |
Результат: |
Exp(x)
Возвращает результат выражения ex. |
Результат: |
Floor(x)
Возвращает ближайшее меньшее целое число. |
Результат: |
IEEERemainder(x, y)
Возвращает остаток от деления x на y. Остаток рассчитывается по формуле:
где x – делимое y – делитель Q – результат деления x на y, округленный до ближайшего целого числа;
если x / y находится на равном расстоянии от двух целых чисел, выбирается четное число;
если результат выражения +0 при положительном x; -0 при отрицательном x. |
Результат: |
Log(x, y)
Возвращает логарифм числа x по основанию y. |
Результат: |
Log10(x)
Возвращает десятичный логарифм числа x. |
Результат: |
Max (a1, a2, …)
Возвращает наибольшее из значений.
Не учитывает null и пустые строки.
Для чисел с плавающей запятой учитывает тип значения свойства. Если на вход подается диапазон, то берет максимальное значение диапазона. Если число с допуском, то берет номинальное значение. |
Результат: |
Min (a1, a2, …)
Возвращает наименьшее из значений.
Не учитывает null и пустые строки.
Для чисел с плавающей запятой учитывает тип значения свойства. Если на вход подается диапазон, то берет минимальное значение диапазона. Если число с допуском, то берет номинальное значение. |
Результат: |
Pow(x,y)
Возвращает результат возведения числа x в степень y. |
Результат: |
Round(x,y)
Возвращает результат округления числа x с точностью y знаков после запятой.
Значения посередине округляются до ближайшего четного числа. |
Результат:
Результат:
Результат:
Результат: |
Sign(x)
Возвращает -1 для отрицательного x, и 1 для положительного. |
Результат: |
Sin(x)
Возвращает синус угла, заданного в радианах. |
Результат: |
Sqrt(x)
Возвращает квадратный корень из x. |
Результат: |
Tan(x)
Возвращает тангенс угла, заданного в радианах. |
Результат: |
Truncate(x)
Возвращает целую часть числа. |
Результат: |
if(Условие, Выражение 1, Выражение 2)
Если условие истинно, возвращает результат выражения 1.
Если условие ложно, возвращает результат выражения 2. |
Результат:
Результат: |
in (x, a1, a2, …, an)
Ищет элемент x в коллекции элементов (a1, a2, …, an)
Если элемент найден, возвращает true, если нет – false.
Функция работает только с числовыми и строковыми типами данных. |
Результат:
Результат:
Результат:
Результат: |
Функции приведения типов |
|
AsString(выражение)
Преобразует результат выражения к строке.
AsString(null) возвращает null. |
Результат: |
IsNull(выражение)
Возвращает true, если выражение – null, иначе – false. |
Результат:
Результат: |
ToBool(выражение)
Преобразует результат выражения к логическому типу. |
Результат:
Результат:
Результат: |
ToDouble(выражение)
Преобразует результат выражения к вещественному числу. |
Результат: |
ToDouble(выражение, культура)
Преобразует результат выражения к вещественному числу с учетом культуры. |
Результат:
Результат: |
ToInt(выражение)
Преобразует результат выражения к целому числу. |
Результат:
Результат: |
ToPlainText(выражение)
Преобразует RTF-текст к строке. |
Вернет значение свойства Описание типа RTF-текст указанного объекта в виде строки. |
ToString(выражение)
Преобразует результат выражения к строке.
ToString(null) возвращает пустую строку.
Разделитель дробных чисел соответствует текущей системной культуре. |
Результат: |
ToString(выражение, культура)
Преобразует результат выражения к строке с учетом указанной культуры. |
Результат:
Результат: |
Функции для работы с датой |
|
AppServerDateTime()
Возвращает текущую дату и время с сервера приложений ПОЛИНОМ:MDM в виде строки в формате dd.MM.yyyy HH:mm:ss и культуре ru-RU. |
Результат: |
StringDateTime(выражение, формат, культура)
Преобразует результат выражения типа дата и время к строке с учётом указанных формата и культуры.
Если формат не указан, то по умолчанию вернет строку в формате dd.MM.yyyy HH:mm:ss.
Подробное описание см. в документации Microsoft. |
Результат:
Результат:
Результат: |
Строковые функции |
|
StringArray( Строка1, Строка2, …, Строкаn )
Возвращает коллекцию из указанных строк. |
|
StringEquals(Строка 1, Строка 2, Чувствительность к регистру)
Если строки эквивалентны возвращает true, иначе возвращает false. |
Результат:
Результат:
Результат: |
StringExtract(Коллекция строк, Индекс элемента коллекции)
Возвращает элемент коллекции с указанным индексом. |
Результат: |
StringFormat(Строка, Коллекция параметров)
Создает строку по шаблону аналогично методу String.Format в c#.
Подробное описание см. в документации Microsoft. |
Результат: |
StringIndexOf(Строка, Подстрока, Чувствительность к регистру)
Ищет подстроку в строке и возвращает индекс начала подстроки. Если подстрока не найдена, возвращает -1. |
Результат:
Результат:
Результат: |
StringIsEmpty(Строка)
Возвращает true, если получает на вход пустую строку или null, иначе возвращает false. |
Результат:
Результат: |
StringJoin(Коллекция, Разделитель)
Возвращает все элементы коллекции в виде строки через разделитель. |
Результат: |
StringLength(Строка)
Возвращает длину строки. |
Результат: |
StringPrefixSuffix(Строка, Префикс, Суффикс)
Добавляет к исходной строке префикс и суффикс.
Если нужно добавить только префикс/суффикс, то в качестве суффикса/префикса укажите пустую строку. |
Результат:
Результат: |
StringRemove(Строка, Коллекция подстрок)
Ищет в строке подстроки из коллекции и удаляет их. |
Результат: |
StringReplace(Строка, Подстрока 1, Подстрока 2)
Ищет в строке подстроку 1 и заменяет ее на подстроку 2. |
Результат: |
StringSplit(Строка, Разделитель)
Разбивает строку на части, используя разделитель, и возвращает эти части в виде коллекции. |
Результат: |
StringSubstring(Строка, Индекс, Длина)
Возвращает подстроку заданной длины, начиная с указанного индекса.
Если длина не указана, берется подстрока от элемента с заданным индексом до последнего элемента строки. |
Результат:
Результат: |
StringToLower(Строка)
Возвращает указанную строку в нижнем регистре. |
Результат: |
StringToUpper(Строка)
Возвращает указанную строку в верхнем регистре. |
Результат: |
StringTrim(Строка)
Убирает пробелы в начале или конце строки. |
Результат: |
StringTrimEnd(Строка, Коллекция)
Убирает в конце строки все символы, которые есть в указанной коллекции.
Если коллекция не указана, то в конце строки убираются пробелы. |
Результат:
Результат:
Результат: |
StringTrimStart(Строка, Коллекция)
Убирает в начале строки все символы, которые есть в указанной коллекции.
Если коллекция не указана, то в начале строки убираются пробелы. |
Результат:
Результат:
Результат: |
Функции для чисел с плавающей запятой |
|
GetDoublePropertyValueWithUnit(IPropertyOwner, propertyCode, defaultValue, defaultUnitCode)
Возвращает значение свойства и код единицы измерения свойства propertyCode владельца свойства IPropertyOwner.
Если свойство не найдено или у него нет значения, то возвращает значение по умолчанию (defaultValue) и код единицы измерения по умолчанию (defaultUnitCode). |
Вернет значение и код единицы измерения свойства с кодом
Если свойство не найдено или у него нет значения, то возвращает значение и единицу измерения по умолчанию: |
GetDoubleRange(minValue,maxValue,unitCode)
Возвращает число с плавающей запятой в виде диапазона.
Параметры minValue, maxValue принимают на вход строковые или числовые значения. Например, через функцию GetPropertyValue().
minValue - минимальное значение диапазона
maxValue - максимальное значение диапазона
Параметр unitCode необязательный. Принимает на вход строковое значение. Например, через функцию GetPropertyUnit() или GetOkeiCodeUnit().
unitCode - код единицы измерения
|
Параметры формулы
например,
например,
Параметр формулы
например,
Результат: |
GetDoubleTolerance(value,minValue,maxValue,unitCode)
Возвращает число с плавающей запятой в виде числа с допуском.
Параметры value, minValue, maxValue принимают на вход строковые или числовые значения. Например, через функцию GetPropertyValue().
value - номинальное значение
minValue - минимальное из отклонений
maxValue - максимальное из отклонений
Параметр unitCode необязательный. Принимает на вход строковое значение. Например, через функцию GetPropertyUnit() или GetOkeiCodeUnit().
unitCode - код единицы измерения
|
Параметры формулы
например,
например,
например,
Параметр формулы
например,
Результат: |
MinRange(doublePropertyValue)
Учитывает тип числа с плавающей запятой.
Если на вход подается диапазон, возвращает минимальное значение диапазона.
Если число с допуском, возвращает номинальное значение с учетом минимального отклонения.
Если на вход подается число, то вернет число.
Значения возвращаются в виде строки. |
Параметр формулы
Например, параметр возвращает диапазон
Результат:
Например, параметр возвращает число с допуском
Результат: |
MaxRange(doublePropertyValue)
Учитывает тип числа с плавающей запятой.
Если на вход подается диапазон, возвращает максимальное значение диапазона.
Если число с допуском, возвращает номинальное значение с учетом максимального отклонения.
Если на вход подается число, то вернет число.
Значения возвращаются в виде строки. |
Параметр формулы
Например, параметр возвращает диапазон
Результат:
Например, параметр возвращает число с допуском
Результат: |
MinTolerance(doublePropertyValue)
Учитывает тип числа с плавающей запятой.
Если на вход подается диапазон, возвращает значение, которое рассчитывается по формуле:
где minValue - минимальное значение диапазона maxValue - максимальное значение диапазона
Если на вход подается число с допуском, возвращает минимальное из отклонений.
Если на вход подается число, то вернет число.
Значения возвращаются в виде строки. |
Параметр формулы
Например, параметр возвращает диапазон
Результат:
Например, параметр возвращает число с допуском
Результат: |
MaxTolerance(doublePropertyValue)
Учитывает тип числа с плавающей запятой.
Если на вход подается диапазон, возвращает значение, которое рассчитывается по формуле:
где minValue - минимальное значение диапазона maxValue - максимальное значение диапазона
Если на вход подается число с допуском, возвращает максимальное из отклонений.
Если на вход подается число, то вернет число.
Значения возвращаются в виде строки. |
Параметр формулы
Например, параметр возвращает диапазон
Результат:
Например, параметр возвращает число с допуском
Результат: |
Nominal(doublePropertyValue)
Учитывает тип числа с плавающей запятой.
Если на вход подается диапазон, возвращает значение, которое рассчитывается по формуле:
где minValue - минимальное значение диапазона maxValue - максимальное значение диапазона
Если на вход подается число с допуском, возвращает число (номинальное значение).
Если на вход подается число, то вернет число.
Значения возвращаются в виде строки. |
Параметр формулы
Например, параметр возвращает диапазон
Результат:
Например, параметр возвращает число с допуском
Результат: |
IsRange(doublePropertyValue)
Возвращает true, если doublePropertyValue является диапазоном, иначе возвращает false.
Если тип свойства не является числом с плавающей запятой, вернет false.
|
Параметр формулы
Например, параметр возвращает диапазон
Результат:
Например, параметр возвращает число с допуском
Результат: |
IsTolerance(doublePropertyValue)
Возвращает true, если doublePropertyValue является числом с допуском, иначе возвращает false.
Если тип свойства не является числом с плавающей запятой, вернет false.
|
Параметр формулы
Например, параметр возвращает диапазон
Результат:
Например, параметр возвращает число с допуском
Результат: |
IsNominal(doublePropertyValue)
Возвращает true, если doublePropertyValue является числом, иначе возвращает false.
Если тип свойства не является числом с плавающей запятой, вернет false.
|
Параметр формулы
Например, параметр возвращает диапазон
Результат:
Например, параметр возвращает число с допуском
Результат:
Например, параметр возвращает число
Результат: |
Функции для работы с API |
|
CatalogNumber()
Возвращает уникальный номер объекта, документа или представления в рамках каталога. |
|
ConvertUnit(srcCode, dstCode, value)
Конвертирует значение value из единицы измерения с кодом srcCode в единицу измерения с кодом dstCode.
Если преобразование выполнить не удалось, возвращается исходное значение value. |
Результат:
В результате значение 1 (кг) будет преобразовано в 1000 (г). |
Find(collection, ‘filter’)
Возвращает коллекцию всех элементов коллекции collection, удовлетворяющих условию, заданному в фильтрующем параметре.
Фильтрующий параметр получает на вход переменную item – очередной элемент коллекции. |
Параметр filter: Результат: |
FindFirst(collection, ‘filter’)
Возвращает первый элемент коллекции collection, удовлетворяющий условию, заданному в фильтрующем параметре.
Фильтрующий параметр получает на вход переменную item – очередной элемент коллекции. |
Параметр filter: Результат: |
First(collection)
Возвращает первый элемент коллекции collection. |
Результат: |
GetDocuments(IPropertyOwner)
Возвращает коллекцию документов для указанного владельца свойств. |
Вернет наименование первого найденного документа, принадлежащего объекту (this), к которому применена формула. |
GetElements(IPropertyOwner)
Возвращает коллекцию объектов для указанного представления. |
Вернет наименование первого найденного объекта, принадлежащего представлению (this), к которому применена формула. |
GetEnumItemDescription(IPropertyOwner, propertyCode, defaultValue)
Возвращает описание значения свойства типа перечислимое с описанием с кодом propertyCode владельца свойства IPropertyOwner.
Для свойств понятий задается полный код, для собственных свойств – полный код определения свойства.
Простой код определения свойства возвращает первое найденное в понятиях свойство с таким определением.
Если свойство не найдено или у него нет значения, то возвращает значение по умолчанию (defaultValue). |
Вернет описание значения свойства с кодом size принадлежащего объекту, к которому применена формула (this). |
GetGroupClassId(GetOwnerGroup(this))
Возвращает идентификатор класса группы, в которой располагается объект.
Если группе не задан идентификатор класса, то вернется идентификатор класса ближайшей из родительских групп, у которой он заполнен. |
Вернет идентификатор группы, в которой находится указанный объект (this). |
GetGroupObjects(IBaseGroupOwner)
Возвращает коллекцию объектов, документов или представлений указанной группы. |
Вернет коллекцию объектов, которые находятся в той же группе, что и указанный объект. |
GetGroupObjectsRecursively(IBaseGroupOwner)
Возвращает коллекцию объектов, документов или представлений указанной группы и всех подгрупп ниже по иерархии. |
Вернет коллекцию объектов, которые находятся в той же группе, что и указанный объект и во всех подгруппах ниже по иерархии. |
GetGroupsForDocument(IDocument)
Возвращает коллекцию групп, связанных с указанным документом. |
Вернет наименование первой найденной группы, связанной с указанным документом. |
GetLinkedObjects(IPropertyOwner, linkDefinitionEndCode)
Возвращает коллекцию связанных объектов, используя полный код (linkDefinitionEndCode) противоположного конца связи. |
Вернет наименование первого найденного объекта (материала), связанного с указанным объектом. |
GetLinkedInstances(IPropertyOwner, linkDefinitionEndCode)
Возвращает коллекцию свойств связи связанных объектов, используя полный код (linkDefinitionEndCode) противоположного конца связи. |
Вернет обозначение документа на ТУ первого найденного свойства связи объекта, связанного с указанным объектом. |
GetObjectsForDocument(IDocument)
Возвращает коллекцию объектов, связанных с указанным документом. |
Вернет наименование первого найденного объекта, связанного с указанным документом. |
GetOwnerGroup(IPropertyOwner)
Возвращает группу-владельца указанного элемента. |
Вернет наименование группы, в которой находится указанный объект.
Вернет наименование группы, в которой находится группа с указанным объектом. |
GetPropertyUnit(IPropertyOwner, propertyCode, defaultValue)
Возвращает код единицы измерения свойства propertyCode владельца свойства IPropertyOwner. Правила аналогичны функции GetPropertyValue. |
Вернет код единицы измерения свойства Масса, принадлежащего объекту, к которому применена формула (this). |
GetOkeiCodeUnit(okeiCode, defaultValue)
Возвращает код единицы измерения по ее коду ОКЕИ.
Если код не найден, то возвращает значение по умолчанию (defaultValue). |
Вернет код единицы измерения для кода по ОКЕИ 362. |
GetPropertyValue(IPropertyOwner, propertyCode, defaultValue)
Возвращает значение свойства с кодом propertyCode владельца свойства IPropertyOwner.
Для свойств понятий задается полный код, для собственных свойств – полный код определения свойства.
Простой код определения свойства возвращает первое найденное в понятиях свойство с таким определением.
Если свойство не найдено или у него нет значения, то возвращает значение по умолчанию (defaultValue).
Если свойство с кодом propertyCode типа множество и формула применяется для свойства типа множество – сравнивает выбранные элементы свойства с кодом propertyCode и все элементы свойства, к которому применяется формула. Возвращает только те элементы, которые совпадают.
Если свойство с кодом propertyCode типа множество и формула применяется для свойства типа строка, RTF-текст – возвращает выбранные элементы свойства с кодом propertyCode в виде строки через разделитель. |
Вернет значение свойства Наименование, принадлежащего объекту, к которому применена формула (this).
Возможно использование в паре с функциями GetPropertyUnit и GetOkeiCodeUnit через разделитель
Вернет значение и единицу измерения свойства Плотность, принадлежащего объекту, к которому применена формула (this).
Вернет значение свойства Плотность, принадлежащего объекту, к которому применена формула (this) и единицу измерения по коду ОКЕИ 316.
Для свойства c кодом source типа множество с элементами: Выбраны элементы свойства source:
Если формула применяется к свойству типа множество
с элементами: Результат:
Если формула применяется к свойству типа строка или RTF-текст Результат:
|
GetPropertyValues(collection, propertyCode, defaultValue)
Возвращает коллекцию значений свойства с кодом propertyCode.
Для свойств понятий задается полный код, для собственных свойств – полный код определения свойства.
Простой код определения свойства возвращает первое найденное в понятиях свойство с таким определением.
Если свойство не найдено или у него нет значения, то возвращает значение по умолчанию (defaultValue). |
Вернет коллекцию наименований всех материалов, связанных с объектом, к которому применена формула (this). |
GetTablePropertyRows(IPropertyOwner, propertyCode)
Возвращает строки табличного свойства с кодом propertyCode владельца свойства IPropertyOwner. |
Вернет значение столбца Диаметр из первой строки таблицы Типоразмеры, принадлежащей объекту, к которому применена формула (this). |
GetTablePropertyRowAbs(IPropertyOwner, propertyCode, rowAbsNumber)
Возвращает строку табличного свойства с кодом propertyCode владельца свойства IPropertyOwner по ее номеру rowAbsNumber. |
Вернет значение столбца Диаметр из первой строки таблицы Типоразмеры, принадлежащей объекту, к которому применена формула (this).
Помимо целых чисел, параметр rowAbsNumber может принимать значения first_row – первая строка и last_row – последняя строка. |
GetTablePropertyRowRel(IPropertyOwner, rowRelNumber)
Возвращает строку табличного свойства, расположенную на заданном расстоянии rowRelNumber от текущей строки this. |
В ячейке таблицы, на которую назначена формула, будет установлено значение столбца Диаметр из предыдущей строки таблицы, умноженное на 2. |
GetTableRowOwner(this)
Возвращает объект, содержащий таблицу, к которой применена формула (this). |
Вернет в ячейку таблицы, к которой применена формула (this), наименование объекта, содержащего таблицу. |
GetUnitCodeOkei(unitCode, defaultValue)
Возвращает код по ОКЕИ единицы измерения по ее коду (unitCode).
Если единицы измерения с указанным кодом нет, то возвращается значение по умолчанию – defaultValue. |
Вернет код по ОКЕИ единицы измерения свойства Масса, принадлежащего объекту, к которому применена формула. |
GetUnitDesignation(unitCode, defaultValue)
Возвращает обозначение единицы измерения по ее коду (unitCode).
Если единицы измерения с указанным кодом нет, то возвращается значение по умолчанию – defaultValue. |
Вернет обозначение единицы измерения свойства Масса, принадлежащего объекту, к которому применена формула. |
GetUnitInternationalDesignationOkei(unitCode, defaultValue)
Возвращает международное обозначение по ОКЕИ единицы измерения по ее коду (unitCode).
Если единицы измерения с указанным кодом нет, то возвращается значение по умолчанию – defaultValue. |
Вернет международное обозначение по ОКЕИ единицы измерения свойства Масса, принадлежащего объекту, к которому применена формула. |
GetUnitInternationalLiteralDesignation(unitCode, defaultValue)
Возвращает международное буквенное обозначение единицы измерения по ее коду (unitCode).
Если единицы измерения с указанным кодом нет, то возвращается значение по умолчанию – defaultValue. |
Вернет международное буквенное обозначение единицы измерения свойства Масса, принадлежащего объекту, к которому применена формула. |
GetUnitLiteralDesignation(unitCode, defaultValue)
Возвращает национальное буквенное обозначение единицы измерения по ее коду (unitCode).
Если единицы измерения с указанным кодом нет, то возвращается значение по умолчанию – defaultValue. |
Вернет национальное буквенное обозначение единицы измерения свойства Масса, принадлежащего объекту, к которому применена формула. |
GetUnitName(unitCode, defaultValue)
Возвращает название единицы измерения по ее коду (unitCode).
Если единицы измерения с указанным кодом нет, то возвращается значение по умолчанию – defaultValue. |
Вернет название единицы измерения свойства Масса, принадлежащего объекту, к которому применена формула. |
GetViewpoints(IPropertyOwner)
Возвращает коллекцию представлений для указанного владельца свойств. |
Вернет наименование первого найденного представления, принадлежащего объекту (this), к которому применена формула. |
GroupNumber()
Возвращает уникальный номер объекта, документа или представления в рамках группы. |
|
MaxCollection(PropertyValues)
Возвращает наибольшее из коллекции значений.
Не учитывает null и пустые строки в коллекции.
Для чисел с плавающей запятой учитывает тип значения свойства. Если на вход подается диапазон, то берет максимальное значение диапазона. Если число с допуском, то берет номинальное значение. |
Вернет наибольшее значение свойства Диаметр для объектов текущей группы. |
MinCollection(PropertyValues)
Возвращает наименьшее из коллекции значений.
Не учитывает null и пустые строки в коллекции.
Для чисел с плавающей запятой учитывает тип значения свойства. Если на вход подается диапазон, то берет минимальное значение диапазона. Если число с допуском, то берет номинальное значение. |
Вернет наименьшее значение свойства Диаметр для объектов текущей группы. |
OrderBy(collection, propertyCode)
Сортирует элементы коллекции collection в возрастающем порядке по значению свойства с кодом propertyCode. |
Вернет обозначение первого документа из коллекции документов объекта, отсортированной по наименованию в возрастающем порядке. |
OrderByDescending(collection, propertyCode)
Сортирует элементы коллекции collection в убывающем порядке по значению свойства с кодом propertyCode. |
Вернет обозначение первого документа из коллекции документов объекта, отсортированной по наименованию в убывающем порядке. |
ReferenceNumber()
Возвращает уникальный номер объекта, документа или представления в рамках справочника. |
|
VaultNumber()
Возвращает уникальный номер объекта, документа или представления в рамках хранилища. |
|
Специальные функции |
|
EvaluateFormula(‘код формулы’)
Возвращает значение, вычисленное по формуле с указанным кодом. |
Вернет значение, рассчитанное по формуле с кодом box-volume. |
EvaluateParameter(‘Код формулы’, ‘Имя параметра’)
Возвращает значение параметра формулы с указанным кодом. |
Вернет значение параметра length из формулы с кодом box-volume. |
Примечание
Владельцами свойств являются:
элемент классификации,
представление,
документ,
группа.
Поддерживаемые типы свойств
В формулах могут быть использованы следующие типы свойств:
строка (
string);целое число (
integer);число с плавающей запятой (
double);дата и время (
datetime);логическое (
boolean);перечислимое, перечислимое с описанием (
enum);множество (
set);RTF-текст (
rtf);таблица (
table).
Специальные символы
\– символ экранирования. Используется в строках для экранирования служебных символов или вставки символа с использованием его кода Unicode;;– применяется при использовании функции GetPropertyValue в паре с функциями GetPropertyUnit и GetOkeiCodeUnit;'\r\n'– перенос на следующую строку для свойств типа RTF-текст.
Следующие специальные символы могут использоваться в формулах,
вычисляющих значение свойства Обозначение в КОМПАС-3D:
$d— начало дроби;
;— разделитель между числителем и знаменателем;
$— конец дроби;
@/— перенос строки.
Вставка значения свойства
В тексте или параметрах формулы могут использоваться конструкции, возвращающие значения свойств ПОЛИНОМ:MDM. Чтобы вставить конструкцию, выполните следующие действия.
Установите курсор в нужное место формулы или в поле Вычисление нужного параметра формулы и вызовите из контекстного меню команду Взять значение свойства. Откроется окно со списком свойств, в верхней части которого находится переключатель Свойство в понятии / Свойство. Содержимое списка зависит от положения переключателя.
Работа переключателя
Свойство в понятии
СвойствоПолный перечень понятий с их свойствами
Свойство в понятии
СвойствоПолный перечень свойств
Установите переключатель в нужное положение:
Свойство в понятии – в этом случае при вычислении будут учитываться только свойства понятий объектов, собственные свойства объектов будут проигнорированы;
Свойство – в этом случае потребуется выбрать один из вариантов:
Любое свойство – при вычислении будут учитываться все свойства, однако свойство в понятии будет иметь приоритет над собственным свойством;
Только собственное свойство – при вычислении будут учитываться только собственные свойства объектов.
Выберите свойство, конструкцию для возвращения которого нужно вставить в формулу или параметр. Для облегчения поиска свойства можно воспользоваться фильтром.
Нажмите кнопку Выбрать.
Если конструкция, возвращающая свойство объекта, вставлялась в формулу, то:
в формуле появится конструкция;
в список параметров будет добавлен новый параметр с конструкцией.
Если конструкция вставлялась в параметр формулы (в параметр 1), то:
в поле Вычисление параметра 1 появится параметр 2;
в список параметров будет добавлен параметр 2 с конструкцией.
Взять значение свойства у владельца табличного свойства
Конструкция позволяет передать значение свойства объекта в ячейку его табличного свойства.
Пример
GetPropertyValue(GetTableRowOwner(this), 'c:@NameAndDescription::c:@ClassificationItem::pd:@Name', '')Вернет в ячейку таблицы, к которой применена формула (this), наименование объекта, содержащего таблицу.
Вставка значения свойства связанного объекта
В тексте или параметрах формулы могут использоваться конструкции, которые возвращают значение свойства объекта, связанного с текущим (свойство связанного объекта). Чтобы вставить конструкцию, выполните следующие действия.
Установите курсор в нужное место формулы или в поле Вычисление нужного параметра формулы и вызовите из контекстного меню команду Взять значение свойства связанного объекта. Откроется окно, в котором перечислены типы связей, определенные в ПОЛИНОМ:MDM.
Раскройте нужную группу связей, выберите тип связей и укажите область выбора объектов (область связи), которой принадлежит объект, значение свойства которого должно быть возвращено.
Нажмите кнопку Далее.
Откроется окно со списком свойств, в верхней части которого находится переключатель Свойство в понятии / Свойство. Содержимое списка зависит от положения переключателя.
Работа переключателя
Свойство в понятии
СвойствоПолный перечень понятий с их свойствами
Свойство в понятии
СвойствоПолный перечень свойств
Установите переключатель в нужное положение:
Свойство в понятии – в этом случае при вычислении будут учитываться только свойства понятий объектов, собственные свойства объектов будут проигнорированы;
В этом случае будет доступна опция Только свойства понятий выбранной области, которая позволяет отобразить только те понятия, которые были указаны для выбранной области связи при создании типа связи.
Свойство – в этом случае потребуется выбрать один из вариантов:
Любое свойство – при вычислении будут учитываться все свойства, однако свойство в понятии будет иметь приоритет над собственным свойством;
Только собственное свойство – при вычислении будут учитываться только собственные свойства объектов.
Выберите свойство, конструкцию для возвращения которого нужно вставить в формулу или параметр. Для облегчения поиска свойства можно воспользоваться фильтром.
Нажмите кнопку Выбрать.
Если конструкция, возвращающая свойство объекта, вставлялась в формулу, то:
в формуле появится конструкция;
в список параметров будет добавлен новый параметр с конструкцией.
Если конструкция вставлялась в параметр формулы (в параметр 1), то:
в поле Вычисление параметра 1 появится параметр 2;
в список параметров будет добавлен параметр 2 с конструкцией.
Взять значение свойства связанного объекта у связанного объекта
Данная конструкция позволяет получить значение свойства объекта, с которым связан связанный объект.
На рисунке выше показан пример, в котором конструкция возвращает значение свойства 3 объекта 3 для вычисления одного из параметров свойства 1 объекта 1. При этом объект 1 связан с объектом 3 через объект 2.
Чтобы вставить конструкцию, выполните следующие действия.
Установите курсор в нужное место формулы или в поле Вычисление нужного параметра формулы и вызовите из контекстного меню команду Взять значение свойства связанного объекта у связанного объекта.
В открывшемся окне раскройте нужную группу и выберите область связи, который принадлежит связанный объект.
Выберите область связи, которой принадлежит связанный объект у связанного объекта.
Откроется окно со списком свойств, в верхней части которого находится переключатель Свойство в понятии / Свойство. Содержимое списка зависит от положения переключателя.
Работа переключателя
Свойство в понятии
СвойствоПолный перечень понятий с их свойствами
Свойство в понятии
СвойствоПолный перечень свойств
Установите переключатель в нужное положение:
Свойство в понятии – в этом случае при вычислении будут учитываться только свойства понятий объектов, собственные свойства объектов будут проигнорированы;
В этом случае будет доступна опция Только свойства понятий выбранной области, которая позволяет отобразить только те понятия, которые были указаны для выбранной области связи при создании типа связи.
Свойство – в этом случае потребуется выбрать один из вариантов:
Любое свойство – при вычислении будут учитываться все свойства, однако свойство в понятии будет иметь приоритет над собственным свойством;
Только собственное свойство – при вычислении будут учитываться только собственные свойства объектов.
Выберите свойство, конструкцию для возвращения которого нужно вставить в формулу или параметр. Для облегчения поиска свойства можно воспользоваться фильтром.
Нажмите кнопку Выбрать.
Если конструкция, возвращающая свойство объекта, вставлялась в формулу, то:
в формуле появится конструкция;
в список параметров будет добавлен новый параметр с конструкцией.
Если конструкция вставлялась в параметр формулы (в параметр 1), то:
в поле Вычисление параметра 1 появится параметр 2;
в список параметров будет добавлен параметр 2 с конструкцией.
Вставка значения свойства связи
Данная конструкция возвращает значение свойства связи, установленной между объектами.
Чтобы вставить конструкцию, выполните следующие действия.
Установите курсор в нужное место формулы или в поле Вычисление нужного параметра формулы и вызовите из контекстного меню команду Взять значение свойства связи.
В открывшемся окне раскройте нужную группу и выберите область связи, который принадлежит связанный объект.
Нажмите кнопку Далее.
Откроется окно со списком свойств, в верхней части которого находится переключатель Свойство в понятии / Свойство. Содержимое списка зависит от положения переключателя.
Работа переключателя
Свойство в понятии
СвойствоПолный перечень понятий с их свойствами
Свойство в понятии
СвойствоПолный перечень свойств
Установите переключатель в нужное положение:
Свойство в понятии – в этом случае при вычислении будут учитываться только свойства понятий объектов, собственные свойства объектов будут проигнорированы;
В этом случае будет доступна опция Только свойства понятий выбранной области, которая позволяет отобразить только те понятия, которые были указаны для выбранной области связи при создании типа связи.
Свойство – в этом случае потребуется выбрать один из вариантов:
Любое свойство – при вычислении будут учитываться все свойства, однако свойство в понятии будет иметь приоритет над собственным свойством;
Только собственное свойство – при вычислении будут учитываться только собственные свойства связи.
Выберите свойство, конструкцию для возвращения которого нужно вставить в формулу или параметр. Для облегчения поиска свойства можно воспользоваться фильтром.
Нажмите кнопку Выбрать.
Если конструкция, возвращающая свойство объекта, вставлялась в формулу, то:
в формуле появится конструкция;
в список параметров будет добавлен новый параметр с конструкцией.
Если конструкция вставлялась в параметр формулы (в параметр 1), то:
в поле Вычисление параметра 1 появится параметр 2;
в список параметров будет добавлен параметр 2 с конструкцией.
Вставка значения свойства документа
В тексте или параметрах формулы могут использоваться конструкции, которые возвращают свойство документа, связанного с объектом. Если с объектом связано несколько документов, возвращается свойство первого документа.
Чтобы вставить конструкцию, выполните следующие действия.
Установите курсор в нужное место формулы или в поле Вычисление нужного параметра формулы и вызовите из контекстного меню команду Взять значение свойства документа. Откроется окно со списком свойств, в верхней части которого находится переключатель Свойство в понятии / Свойство. Содержимое списка зависит от положения переключателя.
Работа переключателя
Свойство в понятии
СвойствоПолный перечень понятий с их свойствами
Свойство в понятии
СвойствоПолный перечень свойств
Установите переключатель в нужное положение:
Свойство в понятии – в этом случае при вычислении будут учитываться только свойства понятий документа, собственные свойства будут проигнорированы;
Свойство – в этом случае потребуется выбрать один из вариантов:
Любое свойство – при вычислении будут учитываться все свойства, однако свойство в понятии будет иметь приоритет над собственным свойством;
Только собственное свойство – при вычислении будут учитываться только собственные свойства документа.
Выберите свойство, конструкцию для возвращения которого нужно вставить в формулу или параметр. Для облегчения поиска свойства можно воспользоваться фильтром.
Нажмите кнопку Выбрать.
Если конструкция, возвращающая свойство объекта, вставлялась в формулу, то:
в формуле появится конструкция;
в список параметров будет добавлен новый параметр с конструкцией.
Если конструкция вставлялась в параметр формулы (в параметр 1), то:
в поле Вычисление параметра 1 появится параметр 2;
в список параметров будет добавлен параметр 2 с конструкцией.
Вставка значения свойства документа связанного объекта
В тексте или параметрах формулы могут использоваться конструкции, которые возвращают свойство документа, принадлежащего связанному объекту. Чтобы вставить конструкцию, выполните следующие действия.
Установите курсор в нужное место формулы или в поле Вычисление нужного параметра формулы и вызовите из контекстного меню команду Взять значение свойства документа у связанного объекта. Откроется окно, в котором перечислены типы связей, определенные в ПОЛИНОМ:MDM.
Раскройте нужную группу связей, выберите тип связей и укажите область выбора объектов (область связи), которой принадлежит объект, значение свойства документа которого должно быть возвращено.
Нажмите кнопку Далее.
Откроется окно со списком свойств, в верхней части которого находится переключатель Свойство в понятии / Свойство. Содержимое списка зависит от положения переключателя.
Работа переключателя
Свойство в понятии
СвойствоПолный перечень понятий с их свойствами
Свойство в понятии
СвойствоПолный перечень свойств
Установите переключатель в нужное положение:
Свойство в понятии – в этом случае при вычислении будут учитываться только свойства понятий документа, собственные свойства будут проигнорированы;
Свойство – в этом случае потребуется выбрать один из вариантов:
Любое свойство – при вычислении будут учитываться все свойства, однако свойство в понятии будет иметь приоритет над собственным свойством;
Только собственное свойство – при вычислении будут учитываться только собственные свойства документа.
Выберите свойство, конструкцию для возвращения которого нужно вставить в формулу или параметр. Для облегчения поиска свойства можно воспользоваться фильтром.
Нажмите кнопку Выбрать.
Если конструкция, возвращающая свойство объекта, вставлялась в формулу, то:
в формуле появится конструкция;
в список параметров будет добавлен новый параметр с конструкцией.
Если конструкция вставлялась в параметр формулы (в параметр 1), то:
в поле Вычисление параметра 1 появится параметр 2;
в список параметров будет добавлен параметр 2 с конструкцией.
Вставка уникального номера объекта
В тексте или параметрах формулы могут использоваться конструкции, которые возвращают уникальный номер объекта. Чтобы вставить конструкцию, выполните следующие действия.
Установите курсор в нужное место формулы или в поле Вычисление нужного параметра формулы и вызовите из контекстного меню команду Взять уникальный номер элемента. Откроется одноименное окно.
Выберите Контекст, из которого будет взят уникальный номер:
Хранилище;
Справочник;
Каталог;
Группа.
Выберите тип значения номера.
Числовой – уникальный номер объекта будет представлен в виде числа;
Строковый – уникальный номер будет представлен в виде строки.
При выборе варианта Строковый появятся дополнительные поля, в которые введите:
в поле Префикс – префикс строки;
в поле Кол-во символов – число, которое будет обозначать минимальное количество символов в уникальном номере, записанное в строке; если в номере большее количество символов, он будет записан полностью, если меньшее, то вместо недостающих символов будут подставлены нули;
в поле Суффикс – суффикс строки.
Пример сформированной строки будет показан в нижней части окна. Для обновления примера после ввода значений в какое-либо поле щелкните мышью в соседнем поле.
Нажмите кнопку Вставить. Конструкция, возвращающая уникальный номер объекта, будет вставлена в текст формулы или в поле Вычисление параметра.
Вставка кода свойства
В тексте или параметрах формулы могут использоваться коды свойств ПОЛИНОМ:MDM. Чтобы вставить код свойства, выполните следующие действия.
Установите курсор в нужное место формулы или в поле Вычисление нужного параметра формулы и вызовите из контекстного меню команду Вставить код свойства. Откроется окно со списком свойств, в верхней части которого находится переключатель Свойство в понятии / Свойство. Содержимое списка зависит от положения переключателя.
Работа переключателя
Свойство в понятии
СвойствоПолный перечень понятий с их свойствами
Свойство в понятии
СвойствоПолный перечень свойств
Установите переключатель в нужное положение:
Свойство в понятии – в этом случае при вычислении будут учитываться только свойства понятий объектов, собственные свойства объектов будут проигнорированы;
Свойство – в этом случае потребуется выбрать один из вариантов:
Любое свойство – при вычислении будут учитываться все свойства, однако свойство в понятии будет иметь приоритет над собственным свойством;
Только собственное свойство – при вычислении будут учитываться только собственные свойства объектов.
Выберите свойство, конструкцию для возвращения которого нужно вставить в формулу или параметр. Для облегчения поиска свойства можно воспользоваться фильтром.
Нажмите кнопку Выбрать.
Если конструкция, возвращающая свойство объекта, вставлялась в формулу, то:
в формуле появится конструкция;
в список параметров будет добавлен новый параметр с конструкцией.
Если конструкция вставлялась в параметр формулы (в параметр 1), то:
в поле Вычисление параметра 1 появится параметр 2;
в список параметров будет добавлен параметр 2 с конструкцией.
Вставка кода области выбора объектов
Если значение свойства зависит от свойств связанных объектов, то в тексте или параметрах формулы могут использоваться коды областей выбора объектов.
Чтобы вставить код области выбора объектов, выполните следующие действия.
Установите курсор в нужное место формулы или в поле Вычисление нужного параметра формулы и вызовите из контекстного меню команду Вставить код области связи. Откроется окно со списком типов связей, определенных в ПОЛИНОМ:MDM. Типы связей сгруппированы по справочникам.
Откройте нужный справочник, найдите тип связи и укажите область выбора объектов, код которой нужно вставить. Для облегчения поиска можно воспользоваться фильтром.
Нажмите кнопку Вставить.
Если код области выбора объектов вставлялся в формулу, то:
в формуле появится параметр с кодом;
в список параметров будет добавлен новый параметр с кодом.
Если код области выбора объектов вставлялся в параметр формулы (в параметр 1), то:
в поле Вычисление параметра 1 появится параметр 2;
в список параметров будет добавлен параметр 2 с кодом выбранной области выбора объектов.