2017-10-16 1 views
0

스크립트 작업 (exam_result 정수로, exam_grade 정수로, remark as string) 작업을 사용하여 작업을 생성했습니다. 사용자 작업에서 나는 시험 결과의 데이터 입력을 처리 할 양식 참조 (텍스트 필드 포함)를 만들었습니다. 시험 결과 텍스트 필드는 결정 테이블 작업을 통해 평가되는 exam_result 변수로 전달되어야합니다.Activiti, 양식 필드 제어 값을 스크립트 작업 변수로 전달하십시오. (반대의 경우도 마찬가지입니다.)

양식 필드 컨트롤에서 스크립트 작업 변수로 또는 그 반대로 데이터를 보내는 것이 가장 좋은 방법은 무엇입니까?

귀하의 도움에 감사드립니다. 감사합니다.

답변

4

이 값을 실행 변수에 저장하면 모든 작업에서 액세스 할 수 있습니다.

작업 수신기를 사용하여 양식 값을 읽고이를 아래의 실행 변수에 저장할 수 있습니다.

execution.setVariable('exam_result',task.getVariable('exam_result')); 
execution.setVariable('exam_grade',task.getVariable('exam_grade')); 
execution.setVariable('remarks',task.getVariable('remarks')); 

다른 작업 청취자에 액세스하려면

,이 대표 측에

var examResult = execution.getVariable('exam_result'); 
var examgrade = execution.getVariable('exam_grade'); 
var remarks= execution.getVariable('remarks'); 

, 아래처럼 액세스 할 수 있습니다.

int examResult = (int) executionVariables.get("exam_result"); 
int examGrade = (int) executionVariables.get("exam_grade"); 
string remarks = (string) executionVariables.get("remarks"); 

희망이 도움이 될 것입니다.

알려 주시면 알려주세요.

+0

안녕하세요 @ Muralidharan 나는 ('이벤트' '아래의) 사용자 작업 기호에서 작업 수신기를 사용하여 시도하고 그것에 표현을 추가했지만 작동하지 않았다. 이 스 니펫을 표현식 텍스트 상자에 넣습니다. execution.setVariable ('exam_result', task.getVariable ('examresult'))); 여전히 examresult의 textvalue를 exam_result 스크립트 변수에 전달하지 않았습니다. –

+0

bpmn 파일을 공유 할 수 있습니까? –

+0

안녕하세요 @ Muralidharan, 나는 그게 내가 숫자 컨트롤 대신 텍스트 컨트롤을 사용하여, 그 이유는 논리적 인 표현이 같음 등 드롭 다운 목록에 표시되지 않는 이유를 발견 접근 방식을 변경 관리 할 수 ​​있습니다. 노력과 도움에 감사드립니다. –

관련 문제