Designer:整形記号「#」の三兄弟


データが来ない所に整形記号を置く。

xoBlos には、データの生成方法を操作する予約記号が幾つか用意されています。それは、行/列を処理用であることを示したり出力項目単位でデータ外の情報をあて込ませたりと、役目をそれぞれ持っています。いずれも「#」始まりで表記するもので、xoBlos では『整形記号』と呼んでいます。

f:id:xoblos:20171214162351p:plain

上図の表は‥‥収入が少ないながらも、とても家族――猫想いの方が付けているようですね。ここから行方向に単純抽出し、それを後述の各表に於ける入力データとしましょう。

#S

前回記事で、"Spacer" の略と言いました。最終出力結果上、無駄な行列は不要なので、削除する役目を持っています。不要ながら行列を設けているということは、xoBlos の処理用としているということですね。

年と月、それぞれを分類にするか見出しにするかで、設定箇所や設定数が変わります。復習を兼ねて、様々な表形式に対応してみましょう。

f:id:xoblos:20171214162402p:plain

f:id:xoblos:20171214162411p:plain

f:id:xoblos:20200323175425p:plain

それぞれの出力結果は、以下のようになります。

f:id:xoblos:20171214162428p:plain

#I

続いて登場したのは、"Insert" の略である記号です。これは、分類あるいは見出しの値が変わる度に挿入する情報として示します。

f:id:xoblos:20171214162812p:plain

上図例では、年の値が変わる度に、その年の値を紐付けた HP へ飛ぶリンク情報を挿入するようにしています。制御シートの赤強調文字を注意して見てください。「年」に関わる行は何処から何処までなのか、xoBlos のデータ処理部分は何処であるのか、それらを考えていくと各設定値に納得が行く筈です。出力結果は以下のようになります。

f:id:xoblos:20171214162947p:plain

間に行列を挿入できるということは、小計や中計をいれることも可能になりますね。「#S」の際にも、SUM関数の参照範囲を保持することで列挙しましたが、合わせて応用してみましょう。

f:id:xoblos:20171214162500p:plain

前節と同様、制御シートの赤強調文字に注意しましょう。出力結果は以下のようになります。

f:id:xoblos:20171214162509p:plain

#U

最後に、"Upper" の略である記号を紹介します。これは「#I」と同様、分類あるいは見出しの値が変わる度に挿入する情報への操作になりますが、行であれば直上列であれば直左の情報を保持する役目を持っています。そのようなことが必要とされるケースとして、前節の末尾の画像をもう一度振り返ってみましょう。

4行目と 7行目に、各年単位で小計が入っています。しかし行そのものだけを見たら、「計」としか書かれておらず‥‥。何の計であるかまでを示すと、親切ですね。

しかしこの行は処理行としましたから、入力データの情報は置くことができません。そこで活躍するのがこの「#U」です。

f:id:xoblos:20171214162518p:plain

前節の末尾ケースとの違いは、上図の赤円内だけです。制御シートの内容に差はありません。出力結果は以下のようになります。

f:id:xoblos:20171214163310p:plain

「#U」をあてた行には、常に直上の情報を保持しています。それにより 4行目は「2016」の括り、7行目は「2017」の括りと判断され、綺麗に結合されました。

さて各出力結果に於いて、「参考に作ってみたけれど、見本のとおりに上手く罫線が引かれない!」という方がいらっしゃるのではないでしょうか。この整形記号を加えた上でも、xoBlos の動きを良く考え、手動で再現してみてください。‥‥何処でどのような行列のコピー貼り付けで、保持される罫線とそうでない罫線が分かれるか、判断できると思います。罫線の引き方については、前回記事を参考にしてみてください!

Windows:Windows のバージョン、サービスパックの確認方法

コントロールパネルの「システム」表示や、コンピューターの「プロパティ」には
Windows OS のバージョン、サービスパックが表示されるのが普通ですが、環境によっては表示されない場合があります。

そんなときのWindowsのバージョン確認方法ですが、コマンドプロンプトから
winver
と入力し、[Enter] します。

corabo:デフォルトポート 80 で動かす場合の設定

デフォルトポート 80 でcoraboを動かす場合の、IISの設定手順です。

『corabo 導入運用ガイド』では、ポート 8080 でcoraboを動かす場合の設定手順が記載されています。 8080 以外の、8081、8086、8089 などの他のポートを使う場合も、ポート設定を変えて同様の手順で設定できます。

ただし、デフォルトポート 80 の場合だけ、「Default Web Site」というサイトが最初から登録済みですので、どうしても 80 で動かしたい場合は、その下にWebアプリを設定することとなります。

f:id:xoblos:20171206154320p:plain

以下の手順で、デフォルトポート 80 でcoraboを動かせます。以下は、インストールフォルダが c:\xoBlos の場合の例です。

  1. [Default Web Site]  が、ポート 80 で設定されていることを確認します。
  2. [Default Web Site] の下に、[仮想ディレクトリの追加] で仮想ディレクトリ [xoBlos] を作成します。 c:\xoBlos\Web
  3. [corabo] を「アプリケーションへの変換」でアプリに変換します。
       c:\xoBlos\Web\corabo
  4. 下記のURLでcoraboの正常稼働を確認します。
    http://localhost/xoblos/corabo

corabo+Designer:WSH(Windows Script Host)のサーバーでの実行

xoBlosの手順から、WSHWindows Script Host)のVBScriptまたはJScriptJavaScriptを呼び出して実行できます。

DesignerでローカルPCで実行するときは、スクリプトファイルの拡張子(.vbs.js)に関連付いたwscript.exeで実行しても問題ないのですが、エラーメッセージをポップアップ表示するような処理(WScript.Echo など)を入れていると、サーバー実行時にはプロセスが待ちになってしまい、問題となります。

このため、coraboサーバーでの実行を考えての、最良のWSHスクリプトの呼び出し方のサンプル設定画面が下図です(VBScriptでのDesigner画面の設定例)。

 f:id:xoblos:20171119111216p:plain

関連付けられたアプリケーションで実行しますか?: いいえ

実行するファイル(必須): C:\Windows\System32\cscript.exe

コマンドライン引数: sample.vbs arg1 arg2 (←名前、引数、フォルダ配置は自由)

標準エラー出力を書き込むファイル: StdErr.txt (←名前、フォルダ配置は自由)

エラー時のメッセージファイル: StdErr.txt (←名前、フォルダ配置は自由)

 

上記のように設定した上で、スクリプト(この例ではVBScript)から

    WScript.StdErr.WriteLine "単価にエラーがありました。"

のようにエラーメッセージを出力すると、下図のように反映出力されます。

 

【Designer実行でのエラーメッセージ】

f:id:xoblos:20171119111230p:plain

【coraboブラウザ実行でのエラーメッセージ】

f:id:xoblos:20171119111248p:plain

スクリプトからの WScript.StdErr.WriteLine の部分を、WScript.StdOut.WriteLine にすれば、標準出力にもデータを出力できます。その場合は、設定画面の「標準出力を書き込むファイル」にファイル名を指定します。

スクリプト言語での記述の差を下記にまとめました。

VBScript

    WScript.StdErr.WriteLine "エラーメッセージ"

    WScript.StdOut.WriteLine TankaData

JScriptJavaScript)】

     WScript.StdErr.WriteLine("エラーメッセージ");

     WScript.StdOut.WriteLine(TankaData);

また、C:\Windows\System32\cscript.exe を実行できるように、coraboサーバーでのセキュリティ例外設定が必要ですので、忘れないようにしてください。

xobQuery:項目名の大文字小文字を保持する

xobQueryでの項目名についてです。

::\helper\xobquery.exe

-i sales.xml/tbl -o out.xml/tbl -q "select * from tbl"

上記のように入力する場合、sales.xmlの項目で「DOCUMENT_No」のように大文字を含む項目名が、出力では「document_no」のようにすべて小文字になるのが、デフォルトの仕様です。

下記のように /C を付けることにより、「DOCUMENT_No」のままで出力できます。

-i sales.xml/tbl/C -o out.xml/tbl -q "select * from tbl"

/table_name なしで指定している場合は、「/tbl」のように明示的にテーブル名を指定してから /C を付けてください。

ExcelシートからXMLに直接変換する場合も、/C が使えます。

-i sales.xlsx::データ/tbl/C -h -o out.xml/tbl

corabo:画面表示がおかしい!

環境構築は終わったのだけれど‥‥

corabo のセットアップが完了し、さあログイン‥‥。しかし初期画面時点から、デザインが失われてしまっている――。

問題の状態:
f:id:xoblos:20171018194333p:plain 本来の状態:
f:id:xoblos:20171018194324p:plain

インターネット回線の速度や、JavaScript などの有効/無効によって、類似した画面の差異を目にすることはありますね。

しかしそれらにも問題が無い場合は、セットアップの工程にある――下図のような設定内容を、振り返る必要があるかもしれません。

f:id:xoblos:20171018194343p:plain

この設定は、「コントロール パネル\すべてのコントロール パネル項目\プログラムと機能」の『Windows の機能の有効化または無効化』の選択から行えます。‥‥上図で選択されている項目のチェックが外れている場合、デザインの欠けた corabo が実行されてしまいます。オフになっていた場合は、オンにしてから再確認してみましょう。(チェックのオン/オフで、マシンの再起動が必要になる場合もあります。)

corabo:「xoBlosLockService の実行設定」画面の保存時

 『corabo ご利用ガイド』の「業務定義」からアクセス可能なファイルやフォルダーを変更する に関する補足です。

下図は、ServerSettingWindow.exe をダブルクリックして起動した、「xoBlosLockService の実行設定」画面です(『corabo ご利用ガイド』より抜粋)。

 f:id:xoblos:20171015222946p:plain

設定を保存したのに、タイミングにより設定が反映されない場合は、Windowsの「サービス」画面から、xoBlosLockServiceを選択し、右クリック [再起動] することにより、設定が反映されます。

f:id:xoblos:20171015223619p:plain