Ошибка | Решение |
Плагин не отрабатывает и выдает ошибку «Не найдена конфигурационная таблица» | 1. Добавить текстовый параметр проекта Путь к таблице к категории Сведения о проекте. 2. Заполнить параметр Путь к таблице в Информации о проекте – написать имя файла без расширения. Файл xlsx с указанным именем должен присутствовать в рабочей папке. |
Плагин не отрабатывает и выдает ошибку «В таблице … нет обязательных листов» | В конфигурационной таблице отсутствует обязательный лист «Пропустить» или нет ни одного рабочего листа, начинающегося на слово «Параметры» |
Плагин отрабатывает и выдает окно-отчет об ошибках. | Плагин перечисляет ошибки, не позволяющие обработать все элементы, продолжая работу для остальных элементов. Ознакомьтесь с текстом ошибки и исправьте её. В большинстве ошибок указано пояснение и ссылка на лист и строку конфигурационной таблицы. Ошибки могут быть нескольких типов: · параметры, указанные в таблице не найдены у элементов; · параметры, указанные в таблице заблокированы для записи значений (например, формулой в семействах); · целевой параметр у элемента является параметром типа (а не экземпляра). |
Не удалось распознать единицу измерения «…» на листе «…» в строке «…». | В формуле в конфигурационной таблице неверно указана единица измерения в фигурных скобках. |
Вызывающий поток не может получить доступ к данному объекту, так как его владельцем является другой поток. | При возникновении данной ошибки необходимо повторить запуск инструмента. |
В конфигурационной таблице имеется перекрёстная зависимость параметров друг от друга: Лист "...", строка №... Лист "...", строка №... Обработка правил может быть некорректной. Обратитесь к BIM-координатору. | Вариант 1. В одной из строк, которая точно должна обрабатываться позднее, необходимо применить токен @. Благодаря этому токену строка будет обрабатываться во вторую итерацию, и конфликт приоритета обработки будет решён. Вариант 2. Перенастроить таблицу таким образом, чтобы параметры в разных строках конфигурационной таблицы не зависели друг от друга. |
| Символ | Где можно указать | Куда ставить | Что значит |
|---|---|---|---|
| ~ | формула | Внутри выражения, заключенного между "<" и ">", но не между "<#" и "#>". <префикс~имя параметра`^суффикс> | все что перед этим символом будет считаться текстовым префиксом значения параметра |
| ^ | формула | Все что после этого символа будет считаться текстовым суффиксом значения параметра | |
| < | формула,фильтры | Символ, вызывающий получение значения параметра, а также расчетные функции и алгоритмы инструмента | |
| > | формула,фильтры | Символ, вызывающий получение значения параметра, а также расчетные функции и алгоритмы инструмента | |
| ` | формула | Заглавная буква, на которую начинается значение параметра, будет приведена к строчной букве (кроме аббревиатур). Пример:«В России -> в России»«БИМ-технологии -> БИМ-технологии» | |
| ! | формула | <префикс~имя параметра`^суффикс>! | Пересчитать значение только для элементов, попадающих под данное правило. Допустимо в таблице указывать только одну строку с данным символом, если более одной строки, то в лог выводится ошибка. Необходимо для тестирования, в рабочих таблицах не оставлять |
| { | формула | внутри выражения, заключенного между "<" и ">". <префикс~имя параметра{нужные ед.изм.}^суффикс> или <Fn(<имя параметра{нужные ед.изм.}> * х)> или <roundup(<имя параметра{нужные ед.изм.}>)> | Значение между символами "{" и "}" будет воспринято как единицы измерения для конвертации |
| } | формула | ||
| + | формула | внутри выражения, заключенного между "{" и "}" <префикс~имя параметра{нужные ед.изм.+}^суффикс> или внутри выражения, заключенного между <Fn( )>, например <Fn(<имя параметра>+<имя параметра>)> | Если символ "+" присутствует при конвертации ед.изм., то обозначение единиц измерения попадёт в итоговую строку в виде текста если символ "+" присутствует при вычислении значения, то выполнится математическое действие |
| # | формула | <#имя алгоритма#> | Взять значение по определённому алгоритму. Внутри выражения с алгоритмом, символ префикса ставить не следует, т.е. <текст~#PipeInsulation#> - неправильно; <текст#PipeInsulation#> - правильно |
| empty | формула,фильтры | в колонку с именем параметра или в формулу указывается как единственное значение ячейки | Если параметр у элемента присутствует и содержит пустое значение, то элемент пройдёт через фильтр и правило к нему применится. Если это значение записано в формулу, то у элемента значение параметра в модели будет удалено |
| round | формула | <round(число)> или <round(<имя параметра>)> или <round(<Fn(х + y)>)> или <round(<Fn(<round(<Имя параметра{м}> + x)>)>)> | Функция round возвращает значение, округленное до ближайшего целого числа. При этом не учитывается направление округления |
| roundup | формула | roundup(число)> или <roundup(<имя параметра>)> или <roundup(<Fn(х + y)>)> или <roundup(<Fn(<roundup(<Имя параметра{м}> + x)>)>)> | Функция roundup возвращает значение, округленное до максимального целого значения, большего или равного х |
| rounddown | формула | rounddown(число)> или <rounddown(<имя параметра>)> или <rounddown(<Fn(х + y)>)> или <rounddown(<Fn(<rounddown(<Имя параметра{м}> + x)>)>)> | Функция rounddown возвращает значение, округленное до минимального встроенного значения, меньшего или равного х |
| Fn | формула | <Fn(<имя параметра>*<имя параметра>)> или <Fn(число*<имя параметра>)> или <Fn(<имя параметра>+<имя параметра>-<имя параметра>)> | Рассчитывает значение и записывает в параметр.символы между значениями могут быть: /, *, -, + |
| ( | формула,фильтры | ||
| ) | формула,фильтры | ||
| * | формула,фильтры | в колонку с именем параметра;в формулу внутри выражения, заключенного между <Fn( )>, например <Fn(<имя параметра>*<имя параметра>)> | Позволяет по любому значению или части значения получить элемент для заполнения значения.Если символ присутствует при вычислении значения, то выполнится математическое действие |
| @ | формула | Ставится в конце любого выражения | Строки с данным символом отрабатываются в самом конце, т.е. сначала прогоняется вся таблица, а потом уже строки с @, в отдельной транзакции. |
| not | фильтры | Только в колонку с именем параметра, значение после берется в (). можно объединятьnot(значение) and not(значение) | Если значение параметра не равно указанному значению, то элемент пройдёт через фильтр и правило к нему применится, соответственно элементы с таким значением будут игнорироваться для данного правила |
| or | фильтры | Если значение параметра равно любому из перечисленных значений, то элемент пройдёт через фильтр и правило к нему применится | |
| and | фильтры | Позволяет перечислить несколько вариантов значений параметра, которые должны одновременно соблюдаться | |
| нет | формула | При склеивании такое значение текстового параметра будет проигнорировано, как будто параметр отсутствует. | |
| 0 | формула | При склеивании такое значение числового параметра будет проигнорировано, как будто параметр отсутствует. | |
| greatherthan | фильтры | Ставится в колонки с именами параметров (фильтры). Значение параметра в колонке сравнивается с числом или со значением другого параметра. Можно комбинировать с логическими операторами not, or, and. not(greather(5)) and lessthan(<имя параметра>) | Сравнение значение параметра модели с числом или со значением другого параметра. Работает в том числе и с текстовыми параметрами, если их можно преобразовать в число |
| lessthan | фильтры | ||
| Да | Формула,фильтры | Считывание/запись логических параметров типа «Да/Нет» | |
| Нет | Формула,фильтры | Считывание/запись логических параметров типа «Да/Нет» |