LoginSignup
0
0

More than 3 years have passed since last update.

日本語がJAVAに変換!?RPAのAI「ワンダーロボ」関数呼び出し、画面初期処理、保存前後処理の設定方法

Last updated at Posted at 2019-07-18

ステップ1.関数呼び出し

ステップ2.画面初期処理

ステップ3.保存前処理

ステップ4.保存後処理


ステップ1.関数呼び出し

最初に、関数を呼び出す方法を説明します。例として、「部品管理画面」の「個数」の処理関数を説明します。
関数を呼び出す方法は図1赤枠内の設定の通りです。
※図1
image.png
「個数」をクリックすると、図2赤枠内の関数を呼び出せます。
※図2
image.png

関数呼び出しは、SaaSForceの開発環境から確認します。「ツール」の「ユーザー定義関数」から、関数IDと関数名で検索することが出来ます。
SaaSForceシステム===>「ツール」===> 「ユーザー定義関数」
image.png

そして、「編集」ボタンを押し、「関数編集」から関数を確認します。
image.png


ステップ2.画面初期処理

次に、画面初期処理の説明をします。まずは、画面初期処理にはサーバー側、クライアント側が含まれています。
「画面初期処理」の後ろに、「クライアント」を付けるとクライアント側処理の関数を作成できます。
※「画面初期処理」の後ろに何も付けないと、デフォルトでサーバー側処理の関数を作成します。
例として、「入金管理検索」の画面初期処理を説明します。
81.PNG
作成した関数はSaaSForceの開発環境から確認します。
image.png
ユーザー利用画面表示例↓
image.png


ステップ3.保存前処理

保存前処理はデータを保存する前にの処理です。設定方法は画面詳細設計書に記載します。

94.PNG
SaaSForceの開発環境にログインして、設計書ファイルをインポートします。以下はワンダーロボが作成した保存前処理の関数です。

var SHIHARAIWARIAIGOUKEI = getObj("SHIHARAIWARIAIGOUKEI").value;
var SHIHARAIHIDZUKE;
var SHIHARAIWARIAI;
var FURIDASHIZUMIHIDZUKE;
var FURIDASHIZUMIKINGAKU;
var FURIDASHIZUMIWARIAI;
var NYUUKINZUMIHIDZUKE;
var NYUUKINZUMIKINGAKU;
var NYUUKINZUMIWARIAI;
var RESHIITOMEISAINO;
var RESHIITONO1;
var MSG = getObj("MSG").value;
var gridrow = getObj("RowGrid61").value;
var gridflg = "";
if(gridrow!=0){

    for(var i=1;i<=gridrow;i++){
        gridflg = $("#Grid61flg"+i).val();
        if(gridflg != null && gridflg!=""){
            break;
        }
    }
}
SF.setServerExecute(true);
/*1.「支払割合合計」を取得。*/
/*2.変数<支払割合合計>に"0"を設定する。*/
SHIHARAIWARIAIGOUKEI = "0";

/*Grid「B8」ループ開始。*/
var intRow = getObj("RowGrid61").value;

for (var i = 1;i <= intRow; i++) {
/* grid loop start */
    SHIHARAIHIDZUKE = $('#SHIHARAIHIDZUKE_'+i).val();
    SHIHARAIWARIAI = $('#SHIHARAIWARIAI_'+i).val();
    FURIDASHIZUMIHIDZUKE = $('#FURIDASHIZUMIHIDZUKE_'+i).val();
    FURIDASHIZUMIKINGAKU = $('#FURIDASHIZUMIKINGAKU_'+i).val();
    FURIDASHIZUMIWARIAI = $('#FURIDASHIZUMIWARIAI_'+i).val();
    NYUUKINZUMIHIDZUKE = $('#NYUUKINZUMIHIDZUKE_'+i).val();
    NYUUKINZUMIKINGAKU = $('#NYUUKINZUMIKINGAKU_'+i).val();
    NYUUKINZUMIWARIAI = $('#NYUUKINZUMIWARIAI_'+i).val();
    RESHIITOMEISAINO = $('#RESHIITOMEISAINO_'+i).val();
    RESHIITONO1 = $('#RESHIITONO1_'+i).val();
    /*1.「msg」を取得。*/
    /*2.変数<msg>に"0"を設定する。*/
    MSG = "0";

    /*3.Grid「B8」に修正がある場合,以下の処理を行う。*/
    if ((gridflg != null && gridflg != '')) {
        /*1.「支払割合」が数字でないの場合,以下の処理を行う。*/
        if (parseFloat(Number(SHIHARAIWARIAI)).toString() == "NaN" ) {
            /*1.変数<msg>に"1"を設定する。*/
            MSG = "1";

            /*処理終了。*/
        }
        /*処理終了。*/
    }
    /*1.「支払割合」が数字の場合,以下の処理を行う。*/
    if (!(parseInt(Number(SHIHARAIWARIAI)).toString() == "NaN") ) {
        /*4.変数計算(double,小数点以下第2位を四捨五入):<支払割合合計>=<支払割合合計>+<支払割合>。*/
        SHIHARAIWARIAIGOUKEI=Number(SHIHARAIWARIAIGOUKEI)+Number(isNaN(Number(SHIHARAIWARIAI)) ? SHIHARAIWARIAI.replaceAll(",","") : SHIHARAIWARIAI);

        /*変数計算(double,小数点以下第2位を四捨五入)*/
if (SHIHARAIWARIAIGOUKEI != null && parseInt(SHIHARAIWARIAIGOUKEI) != SHIHARAIWARIAIGOUKEI) {
    SHIHARAIWARIAIGOUKEI =  parseFloat(SHIHARAIWARIAIGOUKEI).toFixed(2);
}
if (!SHIHARAIWARIAIGOUKEI || isNaN(SHIHARAIWARIAIGOUKEI)) {
    SHIHARAIWARIAIGOUKEI = '';
}


        /*処理終了。*/
    }
    /*グリッドループ終了。*/
}
/*3.<msg>が"1"の場合,以下の処理を行う。*/
if (MSG == "1") {
    /*1.「数字で入力してください。」メッセージを表示する。*/
    alert('数字で入力してください。');
    /*2."false"を返す。*/
    return false;

    /*処理終了。*/
}
/*4.<msg>が"1"でない,且つ<支払割合合計>が"100.00"ではない場合,以下の処理を行う。*/
if (MSG != "1" && SHIHARAIWARIAIGOUKEI != "100.00") {
    /*1.「支払割合合計が100%になっていません。」メッセージを表示する。*/
    alert('支払割合合計が100%になっていません。');
    /*2."false"を返す。*/
    return false;

    /*処理終了。*/
}
/*5."true"を返す。*/
return true;

/*処理終了。*/

ステップ4.保存後処理

保存後処理はデータを保存する後の処理です。設定方法は画面詳細設計書に記載します。
96.PNG

SaaSForceの開発環境にログインして、設計書ファイルをインポートします。以下はワンダーロボが作成した保存後処理の関数です。

var param = [];
var sps = null;
var sqlStr = new StringBuilder();
var paramIndex = 0;
var ay1;
var NYUKIN_RESHIITONO = null;
var CHUUBUNSHONO1 = getObj("CHUUBUNSHONO1");
try {

    /*データ操作1:テーブル「入金」の項目「レシートNO」を取得,条件は「注文書NO」が画面項目「注文書NO」*/
    sqlStr.append("SELECT NYUKIN.RESHIITONO FROM NYUKIN").append(" WHERE 1 = 1 ");


    if (CHUUBUNSHONO1 != null && CHUUBUNSHONO1 != "") {
        sqlStr.append(" AND ").append("CHUUBUNSHONO = ?");
        param[paramIndex] = CHUUBUNSHONO1;

        paramIndex++;
    }

    ay1 = exequeryarrylist(sqlStr.toString(),param);
    sqlStr.setLength(0);
    paramIndex = 0;
    param = [];

    if (ay1 != null && ay1.size() > 0) {

        NYUKIN_RESHIITONO = ay1.get(0).get(0);
    } else {

        NYUKIN_RESHIITONO = null;
    }

    /*データ操作2:テーブル「注文書」の項目「注文書NO」が値「注文書No」のデータに対して,項目「レシートNO」を<レシートNO>に変更する*/
    sqlStr.append("UPDATE TYUMONSYO SET ").append("RESHIITONO=").append("?").append(" WHERE 1=1");

    param[paramIndex]=NYUKIN_RESHIITONO;
    paramIndex++;


    if (CHUUBUNSHONO1 != null && CHUUBUNSHONO1 != "") {
        sqlStr.append(" AND ").append("CHUUBUNSHONO = ?");
        param[paramIndex] = CHUUBUNSHONO1;

        paramIndex++;
    }

    exesql(sqlStr.toString(),param);

    paramIndex = 0;param = [];
    sqlStr.setLength(0);


} catch(e) {
    ActStr += "alert('" + e + "');";
}

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0