Данные в колонке состава изделия можно брать из нескольких других колонок, применяя к ним различные математические и логические операторы. Для этого необходимо в диалоге свойств колонки выбрать способ заполнения данных Составная колонка. После выбора способа ниже появится поле ввода выражения колонки. Выражение состоит из различных записей: названий других колонок, произвольных текстовых строк, операторов, скобок. В поле ввода выражения записи отображаются в виде прямоугольников различных цветов. Содержимым колонки в окне Состав изделия и в окне параметров записи будет являться результат введённого выражения. Записи в поле ввода выражения можно выбирать с помощью . С помощью кнопок, расположенных справа от поля можно Удалить выбранную запись или Добавить новую запись после выбранной. Если ни одна из записей не выбрана, новая запись добавляется в конец выражения.
Нажатие на кнопку добавления новой записи открывает выпадающий список, в котором необходимо выбрать тип записи. Если установить текстовый курсор в прямоугольник одной из имеющихся записей, то можно добавлять записи с помощью сочетаний клавиш. Доступны следующие типы записей:
•Колонка <Ctrl>+<P>
В выражение будет подставлено содержимое другой колонки, имя которой необходимо выбрать из выпадающего списка, нажав на кнопку в правой части записи. При нажатии на запись она активируется, что видно по её подсветке. Когда запись активна, имя колонки можно начать вводить с клавиатуры: при вводе символов, совпадающих с началом имени существующей колонки оно будет выбрано в списке.
•Текст <Ctrl>+<T>
В выражение будет подставлена произвольная текстовая строка. Содержимое строки необходимо ввести с клавиатуры.
• Cкобки:
( открывающие <Ctrl>+<9>
) закрывающие <Ctrl>+<0>
Добавление скобок позволяет задавать последовательность выполнения математических и логических операций.
•Математические операции:
+ сложение <Ctrl>+<+>
- вычитание <Ctrl>+<->
х умножение <Ctrl>+<8>
/ деление <Ctrl>+</>
% остаток от деления
Данные элементы позволяют выполнять математические операции над числовыми значениями элементов выражения с учетом скобок.
•Concat Строковое объединение <Ctrl>+<D>
Объединение текстовых строк. Например, объединение строки "1" и строки "2" даст результат "12".
•CondConcat Условное строковое объединение <Ctrl>+<S>
Объединение выполняется, если оба элемента не пустые. Ниже показан результат операции CondConcat для колонки Составная колонка.
•-> Условный оператор (Если А, то B) <Ctrl>+<I>
Содержимым составной колонки будет B, но только в том случае, если А не пустое, не равно «0», имеет значение «истина». Этот оператор удобно использовать, чтобы не выводились разделяющие символы.
Например, если колонка Сводное наименование задана без условного оператора, то разделяющий символ «-» будет выводиться всегда.
Если для разделяющего символа добавить условный оператор, то при пустом значении поля Обозначение символ выводиться не будет
•Логические операторы:
&& И <Ctrl>+<6>
|| ИЛИ <Ctrl>+<7>
! НЕ <Ctrl>+<Q>
Данные операторы позволяют выполнять логические операции над значениями соседних элементов строки.
Добавив логическую операцию &&, можно задать вывод разделяющего символа только при условии заполнения и наименования, и обозначения.
•Операторы поиска подстроки:
StrSubstr Содержит подстроку <Ctrl>+<Y>
StrNotSubstr Не содержит подстроку <Ctrl>+<U>
StrStartWith Начинается с подстроки <Ctrl>+<L>
StrEndsWith Заканчивается на подстроку <Ctrl>+<O>
Проверяют, содержится ли первая текстовая строка во второй.
Пример. Если колонка Наименование содержит слова ГОСТ или ISO, то они выводятся в текущую колонку.
•Операторы строкового сравнения:
StrEq А равно В <Ctrl>+<1>
StrNotEq А не равно В <Ctrl>+<2>
Данные операторы выполняют сравнение текстовых значений. Результатом выполнения операции является значение «истина» или «ложь».
Например, для составной колонки можно задать условие: выводить значение поля Количество, если содержимое поля Строка 1 равно содержимому поля Строка 2.
Если условие выполняется, составная колонка содержит данные, если нет, то она будет пустой.
•Операторы числового сравнения
== А равно В <Ctrl>+<3>
!= А не равно В <Ctrl>+<4>
> Больше <Ctrl>+<>>
< Меньше <Ctrl>+<<>
Данные операторы выполняют сравнение числовых значений. Результатом выполнения операции является значение «истина» или «ложь».
•Round <Ctrl>+<R>
Округляет десятичное число до ближайшего целого.
•Floor <Ctrl>+<W>
Округляет десятичное число до целого в меньшую сторону.
•Ceil <Ctrl>+<E>
Округляет десятичное число до целого в большую сторону.
•Convert <Ctrl>+<M>
Конвертирует значение в другую единицу измерения. В качестве правого аргумента используется имя единицы, в которую необходимо преобразовать значение.
•Format <Ctrl>+<F>
Преобразует число в строку. Позволяет выводить любое получившееся значение с необходимым количеством знаков после запятой. Текст после оператора Format должен состоять из двух чисел: первое число задаёт количество знаков после запятой, второе определяет, отбрасывать последние нули или нет. Значение 1 - отбрасывать нули, значение 0 - нет.
На картинке ниже показан результат форматирования чисел 1.23400 и 32.00.
•Unit <Ctrl>+<B>
Выводит единицу измерения значения. В качестве правого аргумента можно задать тип выводимого названия - ShortName/GlobalName/FullName. По умолчанию используется название ShortName.