WorkFlow 하이퍼링크 기능 ProcessBot 기능 중 i-AUD 보고서 및 웹페이지에서 저장 하는 방법
...
HyperLink는 i-AUD 보고서 및 웹페이지를 팝업으로 띄우고, 필요에 따라 결과를 수신받는 기능입니다.
<매트릭스 설정예시1 - ProcessBot>
변수이름 : 전달할 변수의 명(※ 현재 입력콤보로 나타나지만 텍스트박스로 변경될 예정, 사용자가 직접입력 해야 함)
변수값 : 전달할 변수의 값(매트릭스 이름정의 또는 셀주소)
Close 후 결과수신 : 설정시에만 결과가 리턴됨.
결과수신셀 : 결과를 수신받을 매트릭스 이름정의 또는 셀주소
(※ Close 후 결과수신 설정시, 출력되는 창은 Modal로 출력 되어 Excel 작업이 불가능합니다.)
<매트릭스 설정예시2 - XAPI (6.2.200.19 버전 이상 지원)>
코드 블럭 | ||||
---|---|---|---|---|
| ||||
Sub hyperlink()
Dim mxmodule As Object
Set mxmodule = Application.COMAddIns.Item("iMATRIX6.ExcelModule").Object
Dim param1 As String '보고서코드
Dim param2 As String '시트명
Dim param3 As Integer 'LEFT
Dim param4 As Integer 'TOP
Dim param5 As Integer 'WIDTH
Dim param6 As Integer 'HEIGHT
Dim param7 As Integer '보고서종류 (0:Report, 1:URL)
Dim param8 As String '변수 전달할변수명1=전달할변수값1&전달할변수명2=전달할변수값2&전달할변수명3=전달할변수값3
Dim param9 As Boolean '자동조회여부 true / false
Dim param10 As Boolean '결과수신여부 true / false
Dim param11 As String '결과수신셀주소 or 이름정의
param1 = "REP03DAA4E72D1C47CB9367F6723F45C782"
param2 = ""
param3 = 0 ' Left, Top 설정값이 0인경우 팝업위치는 중앙에 위치
param4 = 0 ' Left, Top 설정값이 0인경우 팝업위치는 중앙에 위치
param5 = 300
param6 = 500
param7 = 0
param8 = "VS_PARAM1=param&VS_PARAM2=0123&VS_PARAM3=123&VS_PARAM4=123.123&VS_PARAM5=0123.123&VS_PARAM6=PARAM"
param9 = False
param10 = True
param11 = "VS_RTN"
ret = mxmodule.xapi.ExecuteAction("HyperLink", param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11)
'결과처리
If ret = False Then
mxmodule.xapi.MessageBox "Error " & mxmodule.xapi.LastErrorMessage, 0, "i-MATRIX"
Else
mxmodule.xapi.MessageBox "정상", 0, "i-MATRIX"
End If
End Sub |
<웹페이지 또는 i-AUD 설정방법>
- 변수는 POST방식으로 전달됩니다.(i-AUD는 GlobalParam으로 처리됨)
- SetObject API을/를 이용하여 데이터 저장 합니다.
1.1. 입력 매개변수 중 첫번째 입력매개변수 key 값은 "hl_result" 고정, 두번째 value 값은 원하는 데이터를 입력한다입력합니다. - 데이터 저장 후 창이 닫히게 하려면 Command API를 이용하여 Close API를 호출 하도록 한다합니다.
코드 블럭 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <script> function return_close() { window.external.SetObject("hl_result", "hello c#"); window.external.Command("close", "true"); } </script> <body> <button onclick="return_close()">OK</button> </body> </html> |
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
Button.OnClick = function(s, e){
alert("확인을 클릭하면 i-MATRIX 로 데이테셋을 전달합니다.");
// AUD DataSet 실행후 결과를 i-MATRIX 로 return
Matrix.Execute("DS_MODULE_CODE" ,function(p){
if(p.Success == false){
Matrix.Alert(p.Message);
return;
}
var ds = p.DataSet;
var dt = p.DataTable;
var resultArr = dt.Convert2DArray("", true);
//window.external.SetObject("hl_result", "나를 넣어주세요");
window.external.SetObject("hl_result", JSON.stringify(resultArr));
});
}; |