# Переносить в участники процесса сотрудника из поля Кому в карточке (пример скрипта для дизайнера) **Category:** [Дизайнер процессов](https://community.tezis-doc.ru/c/workflow-guides/44) **Created:** 2024-07-02 07:51 UTC **Views:** 84 **Replies:** 0 **URL:** https://community.tezis-doc.ru/t/perenosit-v-uchastniki-proczessa-sotrudnika-iz-polya-komu-v-kartochke-primer-skripta-dlya-dizajnera/264 --- ## Post #1 by @d.slepnev В скрипте заполнить: String PROC_CODE = "proc_20190128_154253315" //код процесса String ROLE_CODE = "Исполнители" //код роли из процесса Скрипт разместить с модулем Начало. **Скрипт** ``` 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.Metadata import com.haulmont.cuba.security.entity.User import com.haulmont.thesis.core.entity.Employee import com.haulmont.thesis.core.entity.SimpleDoc import com.haulmont.workflow.core.entity.CardRole import com.haulmont.workflow.core.entity.ProcRole import groovy.transform.Field String PROC_CODE = "proc_20190128_154253315" String ROLE_CODE = "Исполнители" @Field DataManager dataManager = AppBeans.get(DataManager.NAME) SimpleDoc doc = card as SimpleDoc Employee docReceiver = doc.docReceiver if (docReceiver == null) return true docReceiver = dataManager.reload(docReceiver, "employee.with.user") if (docReceiver && docReceiver.user) { User user = docReceiver.user CardRole executor = findCardRole(user, PROC_CODE, ROLE_CODE) if (executor == null) { ProcRole procRole = getProcRole(PROC_CODE, ROLE_CODE) println(procRole) if (procRole != null) createCardRole(user, procRole) } } return true CardRole findCardRole(User user, String procCode, String roleCode) { LoadContext loadContext = new LoadContext(CardRole.class) loadContext.setQueryString("select cr from wf\$CardRole cr " + "where cr.card.id=:cardId and cr.user.id=:userId and cr.code=:roleCode " + "and cr.procRole.proc.code=:procCode") .setParameter("cardId", card) .setParameter("userId", user) .setParameter("roleCode", roleCode) .setParameter("procCode", procCode) return dataManager.load(loadContext) } ProcRole getProcRole(String procCode, String roleCode) { LoadContext loadContext = new LoadContext(ProcRole.class) loadContext.setQueryString("select pr from wf\$ProcRole pr " + "where pr.code=:roleCode and pr.proc.code=:procCode") .setParameter("roleCode", roleCode) .setParameter("procCode", procCode) return dataManager.load(loadContext) } void createCardRole(User user, ProcRole procRole) { Metadata metadata = AppBeans.get(Metadata.NAME) CardRole cardRole = metadata.create(CardRole.class) cardRole.setCard(card) cardRole.setUser(user) cardRole.setProcRole(procRole) cardRole.setCode(procRole.getCode()) cardRole.setSortOrder(1) dataManager.commit(cardRole) } ``` --- **Canonical:** https://community.tezis-doc.ru/t/perenosit-v-uchastniki-proczessa-sotrudnika-iz-polya-komu-v-kartochke-primer-skripta-dlya-dizajnera/264 **Original content:** https://community.tezis-doc.ru/t/perenosit-v-uchastniki-proczessa-sotrudnika-iz-polya-komu-v-kartochke-primer-skripta-dlya-dizajnera/264