Для примера ниже приведен скрипт проверяющий значение дополнительного поля с кодом “CODE” и типом “Целое” в карточке Документа
// Проверяется доп поле для модуля Выбор
package process
import com.haulmont.cuba.core.global.AppBeans
import com.haulmont.cuba.core.global.DataManager
import com.haulmont.cuba.core.global.LoadContext
import com.haulmont.cuba.core.global.Scripting
import com.haulmont.thesis.core.entity.SimpleDoc
import org.apache.commons.logging.Log
import org.apache.commons.logging.LogFactory
DataManager dataManager = AppBeans.get(DataManager.NAME)
Log log = LogFactory.getLog(Scripting.class);
UUID entityId = card.getId();
LoadContext ctx = new LoadContext(SimpleDoc.class)
ctx.setUseSecurityConstraints(false)
.setView("browse")
.setQueryString("select d from df\$SimpleDoc d where d.id = :pid")
.setParameter("pid", entityId)
ctx.setLoadDynamicAttributes(true)
SimpleDoc d = dataManager.load(ctx)
int value
if (d.getValue("+CODE") == null)
value =0
else
value = d.getValue("+CODE") //возвращает значение доп поля с кодом CODE
if(value < 100)
return false
else
return true
Для 5.0 +
import com.haulmont.cuba.core.global.AppBeans
import com.haulmont.cuba.core.global.DataManager
import com.haulmont.cuba.core.global.LoadContext
import com.haulmont.cuba.core.global.Scripting
import com.haulmont.thesis.core.entity.SimpleDoc
import org.apache.commons.logging.Log
import org.apache.commons.logging.LogFactory
import com.haulmont.thesis.core.app.UnsecuredDataService
UnsecuredDataService dataManager = AppBeans.get(UnsecuredDataService.NAME)
Log log = LogFactory.getLog(Scripting.class);
UUID entityId = card.getId();
LoadContext ctx = new LoadContext(SimpleDoc.class)
ctx.setView("browse")
.setQueryString("select d from df\$SimpleDoc d where d.id = :pid")
.setParameter("pid", entityId)
ctx.setLoadDynamicAttributes(true)
SimpleDoc d = dataManager.load(ctx)
int value
if (d.getValue("+CODE") == null)
value =0
else
value = d.getValue("+CODE") //возвращает значение доп поля с кодом CODE
if(value < 100)
return false
else
return true