Перейти к содержанию

Понятие и изменение контекста в Comindware Business Application Platform

  • Актуально для: всех версий

Понятие контекста всегда используется для настройки бизнес-логики и вычислений в Comindware Business Application Platform. В первую очередь, у любой информационной системы есть база данных, и чтобы получить какие-то данные из нее, нужно написать запрос к базе. 

Контекст — это отправная точка запроса к базе данных. Границами контекста являются шаблоны записи, шаблоны процессов и пользовательские задачи, в которых пишется запрос (в форме вычисляемых атрибутов, правил на форме, фильтров и т.д.), и их нужно различать для правильного написания формулы.

$ — обозначение изначального контекста.

Для смены контекста используются ссылочные поля или выражение типа «from a in db». Чтобы перейти по ссылке, используются системные имена атрибутов с типом данных «Ссылка» после «$» и символы «Ref->» после системного имени атрибута. В триггерах можно менять контекст по самим атрибутам с типом данных «Ссылка» или по выражению типа «from a in db».

 

Примеры смены контекста

Пример 1: искомый атрибут находится в другом шаблоне записи, и в текущем контексте (шаблоне записи) есть ссылка на другой шаблон записи

$linkRef->atribut

Больше о вызове связанных данных читайте в этой статье

Пример 2: искомый атрибут находится в другом шаблоне записи, но в текущем контексте (шаблоне записи) нет ссылки на другой шаблон записи

from a in db->sistemnoe_imya_shablona_zapisi where EQUALS(a->atirbut1, $atribut2) select a->id 

Больше о настройке выражения типа select читайте в этой статье.

Пример 3: искомый атрибут находится в контексте задачи 

$cmw.task.objectId -> op.11 (где op.11 - ИД атрибута)

Примечание : в версии 3.4 в условиях на операции в шаблоне процесса можно было написать ID(op.2242), но в новой версии данный метод не поддерживается, так как была изменена логика контекста, у шаблона записи он один, а у шаблона процесса - другой, свой.

Исследования осуществляются <br>ООО «Колловэар» при грантовой <br>поддержке Фонда «Сколково»
Comindware