Содержание Введение Прикладная задача Автонумерация с помощью формулы Тестирование Автонумерация с помощью C#-скрипта в процессе Тестирование Автонумерация с помощью C#-скрипта в сценарии Тестирование Автонумерация с помощью выражения N3 Тестирование Связанные статьи Введение Каждой з... Подробнее
Примеры формул
Содержание Введение Прикладная задача Распределение заявок по значению атрибута список значений Тестирование Связанные статьи Введение Атрибут типа «Список значений» содержит в себе перечень значений на нескольких языках — русском, английском и немецком. При этом, нельзя напрямую получить текстовое значение атрибута. Получить значение ... Подробнее
Для вычисления аккаунтов, входящих в определённую группу без учёта подгрупп и их участников (в случае, если в группе нет вложенности), введите следующее выражение: (from ag in db->_AccountGroup where OR (ag->groupName == "users",ag->groupName == "admins") select ag->groupUsers->id) где: "users", "admins" — названия груп... Подробнее
Для того, чтобы получить всех пользователей из определенной группы, включая пользователей подгрупп первого уровня, которые включены в состав указанной группы, введите следующее выражение: UNION(from a in (from b in db->_AccountGroup where b->groupName == "Менеджеры" select b->subGroups->id) select a->cmw.account.groupUsers, (from ... Подробнее
Содержание Введение Универсальная гиперссылка на запись, задачу или экземпляр процесса Гиперссылка на определённую форму конкретной записи Гиперссылка на экземпляр процесса Гиперссылка на пользовательскую задачу Пример: формирование гиперссылок на записи и экземпляры процесса Тестирование приложения Связанные статьи Введение Каждой записи, п... Подробнее
Для того чтобы вычислить срок выполнения задачи, учитывая выходные и праздничные дни (для этого в платформе должен быть создан справочник праздничных дней), введите следующее выражение: WORKHOURS(NOW(),18,DURATION("PT9H"),DURATION("PT9H"),LIST((from a in db->holliday_calendar select a->Data))) где: 18 – количество рабочих часов, данны... Подробнее
Для того, чтобы передать в тело сообщения текст в формате системного уведомления о задаче, введите следующее выражение: FORMAT( '<p> </p><table border="0" width="100%" cellspacing="0" cellpadding="40" align="center" bgcolor="#eeeeee"><tbody><tr><td align="center" valign="top"><table border... Подробнее
Для того, чтобы получить фото из профиля определенного пользователя (например, для составления карточки сотрудника), введите следующее выражение: FORMAT("<img height='150' src = 'https://instance.net/api/GetProfilePhoto?id={0}&size=large'> </img>",LIST($Polzovatel)) где: https://instance.net — ссылк... Подробнее
В этой статье описывается, как извлечь отдельные элементы (например, день/месяц/год) из атрибута с типом данных «Дата и время». Это может быть полезно, например, для указания только даты без времени для выгрузки в шаблон экспорта или при отправке пользовательского уведомления по электронной почте. Извлекать отдельные элементы можно сделать с помощь... Подробнее
Для того чтобы назначить исполнителем менеджера проекта (руководителя, ответственного и т.п.), введите следующее выражение: from a in db->Project where a->Work == $id select a->Manager где: Project – шаблон записи с проектами; Work – ссылка на текущий Шаблон записи; Manager – атрибут типа пользователь, в котором хранится менеджер... Подробнее
Для того чтобы настроить отображение даты определенным образом (в данном примере это ««1» марта 2021г.»), введите следующее выражение: FORMAT("«{0}» {1} {2}г.", LIST( DAY($date), IF ( (MONTH($date) == 1), "января", IF ( (MONTH($date) == 2), "февраля", IF ( (MONTH($date) == 3), "марта", IF ( (MONTH($date) == 4), "апреля", IF ( (MONTH($date) == 5... Подробнее
Для того, чтобы можно было проставить только один чекбокс в коллекции (например, выбор только одного критерия из таблицы), нужно настроить правило на изменение типа доступа на «Только для чтения» для данного логического атрибута, и ввести следующее выражение: EQUALS(COUNT((from a in db->Goals where AND(a->EPAF == $id,a->Boolean == tru... Подробнее
Для того, чтобы скрыть кнопку в Шаблоне процесса, если пустой исполнитель (например, для кнопки "Завершить задачу"), введите следующее выражение в условии: AND(NOT(EMPTY($assignee)),$cmw.taskStatus == "cmw.taskStatus.inProgress") где: assignee – системное имя системного атрибута, хранящего исполнителя задачи; cmw.taskStatus – системное имя... Подробнее
Для того, чтобы ограничить поле определенным количеством цифр (например, номер карты или ИНН), введите следующее выражение: MATCHES($Nomerkarty, "^[0-9]{16}([0-9]{0})?$") где: Nomerkarty – системное имя текстового атрибута; {16} – нужное количество цифр. ... Подробнее
Для того, чтобы ограничить возможность ввода в текстовом поле букв кириллицы (например, при заполнении кода или названия записи на английском), введите следующее выражение: NOT(MATCHES($atribut,"[а-яА-ЯёЁ]")) где: atribut — системное имя текстового атрибута.... Подробнее
Для того, чтобы ограничить возможность ввода в текстовом поле пробелов (например, при заполнении имени), введите следующее выражение: NOT(MATCHES($atribut," ")) где: atribut — системное имя текстового атрибута. ... Подробнее
Для того, чтобы ограничить срок выполнения задачи/проекта определенным периодом (например, месяцем), введите следующее выражение в Правило на форме - Показать ошибку: AND(GREATEREQ($Srokvypolneniya,STARTOFMONTH($OtchetnyyperiodRef->Mesyats)),LESSEQ($Srokvypolneniya,ENDOFMONTH($OtchetnyyperiodRef->Mesyats))) где: Srokvypolneniya - атри... Подробнее
Для отображения картинки, загруженной во вложении, на форме, создайте атрибут типа Текст и введите следующее выражение: FORMAT("<p><img src='/DocumentContent?id=document.{0}'/></p>",LIST($Fotokarty)) где: Fotokarty - системное имя атрибута типа "Документ", куда изначально загружается фото.... Подробнее
Для настройки отображения кнопки в Шаблоне процесса при условии отсутствия назначенного исполнителя, введите данное выражение: на языке выражений: EMPTY($assignee) на языке N3 @prefix cmw: <http://comindware.com/logics#>.{not{?item cmw:assignee ?.}.true -> ?value.} ... Подробнее
Для того, чтобы установить условие на отображение поля, если текущий пользователь входит в определенную группу (например, для возможности редактирования определенных полей записи только некоторым группам пользователей), введите следующее выражение: EQUALS(USER(),(from a in db->_AccountGroup where a->groupName == "Admins" select a->gro... Подробнее
Для того чтобы из электронной почты вывести все символы до знака @ (например, для генерации логина для личного кабинета), введите следующее выражение: SUBSTRING($Email,0,INDEXOF($Email,"@")) Подробнее
Для того, чтобы получить ИД из темы письма (например, чтобы понять, какой из процессов запустить по полученному ответу), введите следующее выражение: SUBSTRING( $Tema, INDEXOF($Tema,"[") + 1, INDEXOF($Tema,"]") - INDEXOF($Tema,"[") - 1) где: Tema – атрибут, который хранит тему из полученного письма.... Подробнее
Для того, чтобы подсчитать количество записей с определённым статусом (например, согласованных заявок, оплаченных счетов), введите следующее выражение: COUNT( (from a in db->requests where AND(EQUALS(a->status, “Согласована”), EQUALS(a-> _isDisabled,false)) select a->id) ) где: requests – шаблон записи с нужными записями ... Подробнее
Запрос типа from позволяет обращаться к любому Шаблону записи, связанному или несвязанному с текущим, и получать оттуда данные, или настраивать фильтр на основании определенных параметров where. Comindware Business Application Platform позволяет также писать подзапросы from, если, например, необходимо дополнительно сравнить определенный параметр с ... Подробнее
Для того, чтобы установить правило с условием на пустое поле и наличием определённого статуса, введите следующее выражение: AND(EMPTY($Fakticheskietrudozatraty), ($StatusRef->Title == "Ready for build" || $StatusRef->Title == "Acceptance" || $StatusRef->Title == "Closed" || $StatusRef->Title == "In Review")) где: Fakticheskietru... Подробнее
Для того чтобы установить определённое значение атрибута (текст, число, дата, логический атрибут, пользователь и т.д.) в зависимости от какого-либо условия (статус, значение другого атрибута, логический атрибут и т.д.), введите следующее выражение: IF( $StatusRef->Nazvanie == "In progress", 1, IF($StatusRef->Nazvanie == "Canc... Подробнее
Для того чтобы коллекция отображала записи с определенным параметром (например, с какой-либо категорией), но при этом можно было добавлять в коллекцию новые записи, введите следующее выражение: from a in db->KPI where OR(EMPTY(a->Kategoriya),a->Kategoriya == "Обучение") select a->id где: KPI – системное имя Шаблона записи, на ко... Подробнее