お知らせ 1002
.

「展開一番」のマジックコメントの変更 2019/05/05
「展開一番」の考え方・機能は、現在、「Ruby」スクリプト(「Ruby」プログラミング言語)により実現されています
「Ruby」は多言語に対応していますが、日本語(非ASCII文字)の扱いは、(「Ruby」の)Version によって異なっています
尤もこれは、標準日本語コードが時代とともに変化してきたためで、「Ruby」の責任ではありません
これまで「展開一番」では、「Ruby」の組込変数 $KCODE を利用して、ユーザスクリプト実行時に「ruby -Ks UserScript.rb」として日本語に対応してきました・・・「-Ks」オプションで「Ruby」が処理する文字コードが 「Shift_JIS」 であることを指定します
Q&A 1210 −スクリプト・ユーザスクリプト 1210_S −Q2812 スクリプトエラー(invarid multibyte char) でもこの方法を紹介しています
ところで、
「Ruby」Version1.9 で仕様が変更され $KCODE が廃止され、文字コードはスクリプト先頭行の Magic Comment で指定することになりました
従来、「展開一番」ライブラリでは、Magic Comment として「Shift_JIS」を指定していましたが、今回これを「Windows-31J」に変更することにしました・・・「Windows-31J」は「Shift_JIS」の拡張版、ともに「Code Page 932」と呼ばれるので、前者を「MS932」として区別することもあるようです
「展開一番」ライブラリ(t1,t1_GC,t1_inside,t1_outside,t1_costing)では、マイナーバージョンの番号を一つ上げています


「展開一番」ライブラリ(t1.rb)のパスについて 2016/05/29
「展開一番」ライブラリ(ファイル名「t1.rb」、以下t1)と、同汎用ライブラリ(ファイル名「t1_GC.rb」、以下t1_GC)は、セットで利用します
t1のスクリプトは、t1_GCのスクリプトを、必要が生じたときに呼び出して利用するからです
ユーザスクリプト(以下US)は、t1のスクリプトを利用するので、処理の流れは、US→t1→t1_GC となります
ライブラリを利用するには、「require」メソッドを利用します
従来、t1とt1_GCはUSと同一のフォルダに置いていました (Q&A 運用全般 A1003 参照)
USでは、冒頭にt1をロードする(読み込む)メソッドを置いて、その後にスクリプトを記述してデータを処理します〔通常の運用方法〕
最近、会計エンジン(t1,t1_GC など)を一箇所に置き、プロファイル(ここでデータのパスを指定する)とUSをセットにして複数のフォルダで管理したいというニーズが生じました--->複数の会社などを扱う場合は法人番号を変えれば対処できますが、通常の運用とテスト環境を完全に分けたいなど法人番号ではなく、フォルダ単位で運用したいなど

ここで、ファイル参照(ライブラリ読込)の「Ruby」側の問題が浮上します
「Ruby」でライブラリを読み込む方法が、「Ruby Ver.1.9.2」から変更になり、カレントディレクトリから読み込むときは、これを明示的に指示する仕様に変更されました
この変更により、t1とt1_GCを同一のフォルダに置いているときの、t1_GCの読み込みは、「require "t1_GC.rb"」から「require "./t1_GC.rb」になりました(「./」がカレントディレクトリ)
このため、t1は Ver.2.20 以降、汎用ライブラリを読み込むときの記述を「./t1_GC.rb」に変更しました
したがって、USの冒頭に記載するt1を読み込むメソッドは、「require "t1.rb"」から「require "./t1.rb"」になりました

ところが、t1、t1_GC などを一箇所に固定して(別のフォルダに置いて)、USなどを他の複数のフォルダに置いて運用する場合は、この方法ではうまくいきません(t1、t1_GC などがUSと同一のディレクトリにないので当然です)
そこで、t1 Version 6.01 では、ライブラリのロード方法を「require」から「require_relative」に変更し、カレントディレクトリの記述を削除しました(「"./t1.GC"」から「t1_GC」に)

これにより、t1、t1_GC とUSを同一のディレクトリに置いて運用することも、それぞれ別のフォルダに置いて運用することも、可能になります
ただし、後者での運用では、「Ruby」の環境変数「RUBYLIB」にt1、t1_GC などのパスを設定する必要があります
例えば、「RUBYLIB=e:\t1\lib」、なお、環境変数の設定方法の説明はここでは省略します
したがって、USの冒頭に記載するt1を読み込むメソッドは、「require "./t1.rb"」から「require "t1.rb"」に戻ります


ユーザサポートについて

「展開一番」は、ユーザサポートを行いません
その理由は、目的とする結果が得られない原因がスクリプト(プログラム)のバグに限定されないことにあります
また、使用環境や運用方法の組み合わせが多く、そのすべてをテストできないことも大きな理由です
スクリプトのバグ報告、利用方法についてのご質問、ご要望等についてのメールは、下記アドレスにて受け付けますが、原則として、個別に回答することはしませんので、予めご了承下さい
なお、ご質問が一般的で他のユーザの参考になるものであれば、「Q&A」に回答を掲載します


導入支援について
ブリコラージュ会計の実践をサポートします
このサポートは有償になります
サポートする内容は、予備調査(ブリコラージュ会計導入の可否)、マスタやユーザスクリプトの作成支援、インサイド処理及びアウトサイド処理で利用できるツールの選定と利用方法のアドバイスなどです
サポートについては、下記アドレスに、お問い合せ下さい


E-mail : komiyama@pluto.dti.ne.jp
バグ情報

Last Update 2024/09/03