Формула 4
Здесь создаем калькуляцию для вычисления результатов сразу по нескольким выражениям.
Выражений может быть от одного до четырех (A, B, C и D).
Результаты суммирования по выражениям записываются в соответствующие позиции в панели LABPP_Calc.
Если выражение отсутствует, то это поле не вычисляется и результат в позицию панели LABPP_Calc не вставляется.
Нажмите кнопку 1 на панели калькулятора чтобы запустить диалог работы с калькуляциями.
Можно открывать неограниченное число таких окон, при необходимости сворачивать и разворачивать щелчком мыши на кнопке закрытия окна удерживая клавишу Shift.
В появившейся панели введите развание расчета, например - "Расчет плинтуса с учетом запаса".
Выбетите вкладку 5 (Формула 4) и нажмите кнопку Фикс.тип чтобы зафиксировать выбор. Это будет означать, что мы генерируем калькуляцию по типу Формула 4.
Этот выбор сохранится затем при загрузке, если мы захотим сохранить калькуляцию в файл для последующего использования и модификации.
Такая фиксация может быть отменена в любой момент при желании использовать другой способ расчета.
Нажмите кнопку 2 чтобы вызвать BIM Master.
Выберите зону и в панели BIM Master нажмите кнопку 3.
Данные из зоны загрузятся в BIM Master.
Выберите пользовательское свойство "Высота плинтуса". Мы его заранее создали в менеджере свойств и сделали доступным для зон.
Нажмите кнопку 2 еще раз - это свойство вставится в поле A окна калькуляции.
Теперь при выполнении калькуляции для каждого элемента в выборке будет вычисляться выражения 6 так, что переменной A будет присвоено значение поля "Высота плинтуса" от текущего элемента. И значения выражений, таких как Res_A, будут складываться между собой.
Теперь аналогичным образом вставьте свойство "Материал плинтуса" - это тоже заранее созданное, но уже текстовое свойство с двумя возможными значениями - Плитка или ПВХ.
При нажатии кнопки "Задать" в этот раз высветится окно, которое предупредит, что мы пытаемся вставить не числовое, а текстовое свойство.
И предложит на выбор что с ним делать - выделять из текстового значения число или просто использовать как текст.
Мы выбираем - использовать как текст. При вставке свойства - буква B становится жирной. Это означает, что B будет содержать не число, а текст.
И, наконец, в BIM Master'е на вкладке QTY найдем свойство "Длина стен по периметру зоны" - это периметр за вычетом дверных проемов. Она в общем случае соответствует длине плинтуса.
Составим формулы в поле 6.
IIF(B="Плитка";(A/1000)*C;0)
Это означает, что мы сравниваем содержимое переменной B со словом "Плитка".
Если истина - то IIF вернет значение A/1000 * C (высота плинтуса в мм переводим в метры и умножив на длину получаем площадь).
Если ложь - то IIF вернет 0.
Таким образом автоматически в поле A калькулятора мы хотим, чтобы собирались площади всех плинтусов из плитки в метрах.
Следующее выражение.
IIF (B="ПВХ"; ceil(C);0)
Если B содержит "ПВХ", то округлить C до целого числа в большую сторону или вернуть 0 если не ПВХ.
Теперь выбираем зоны и нажимаем кнопку 7 (Пуск).

Программа переберет в цикле все выбранные элементы зон, рассчитает для каждой значения Res_A и Res_B, просуммирует их в соответствии с настройками округления и подставит соответственно букве в поля выражений калькулятора.
Подставляться может результат или расшифровка значений (типа 14+18 и т.п.) без нулевых значений.
При нажатии кнопки 3 открывается дополнительная площадка справа.
Здесь отображаются результаты вычисления программы (нижнее окно) и пользовательский редактор отчетов (верхнее окно).

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