2014年10月29日水曜日

第23回 自分で作ろう! 弁護士向けソフト 見積書と消費税 その2

消費税の考え方(使用者が自由に設定できるもの)

前回、今回は、デザイン重視にしていないので、クラシックレイアウトで・・・

前回の見積もりにガイド機能と税率マスタを付けた



消費税が変わるたびに、ソフト屋を呼んで修復しなければいけない理由は、自分で設定できるように作られていないからです。いつ政策によって変わるか分からないものなら、使用者が変えられるようにする。これが道理と考えています。

税率の問題は、請求明細などの期間またぎで、20締のお客様は321日~331日までは5%、41日~420日までは8%の明細を出力しなければいけませんでした。
しかし、元のシステムで8%と打ち込むと、3月の分まで8%に上書きされてしまう現象が起きてしまうわけです。
今回の修正分で、来年の10%分まで計算式に入れたソフト会社は多くありますが、ユーザーが自由に変更できるものは多くはありません。

自分で設定できるからくり


リレーションで税率を反映させる



いつから、いつまで 税率


「いつから」「いつまで」税率が「何%」になるのか、これを別テーブルに設定し、リレーションを組んで、見積や売上、請求に反映させる。使用者は誰でも、変化する消費税に対応できる様にするということです。

見積日を変更すると、税率が変わる


今回は掲載しませんが、万が一、商材によって税率が変わる様な政策になった場合は、
商品に分類をつけ、その分類による税率設定を出来る様にします。
例えば、米や生きて行くために必要とされる食料品は、減税されAという分類。
通常の商材はBなど、税率マスタもそれぞれ、AB、自由に設定できる分類があり、それぞれに「いつから」「いつまで」、「税率」を使用者が自由に設定できる。そこまでの予測ができれば対応は可能だと云えるでしょう。

スーパーのPOSレジにしても消費税が変わるたびに数千万もコストをかけるわけですが、
(実際、フィールドを計算式にして消費税を設定すると、いじる箇所は莫大)
開発者は、もう、誰にでも出来る仕組みである消費税変更など、そういう繋ぎの収入源を絶ってもよいのではないかと思うわけですヨ。



見積書の印刷などは次回・・・に続く


ダウンロード

FileMakerPro11以上が必要です
12、13は変換して使用してください。

無料評価版ダウンロード




第22回 自分で作ろう! 弁護士向けソフト 見積書と消費税 その1

今回は、見積書を作ってみます。


普段使っていなかったFilemaker Pro 11 Advancedで作ってみます。
(特に意味はありません)

練習なので今まで作ったものとは、別に作ります。
12を持ってる方は、下からダウンロードして変換すれば使えます。
クラシックな画面ですが、12でもクラシックを選択すれば同じような画面で作成することが出来ます。


独特の計算式やフォーマットがあるかとは思いますが、最初は弁護士さん用というのではなく、簡単な基本構成のものを作り、後々、段階を追ってカスタマイズしていきましょう。
作った見積もりから後に作る売上、請求にデータを移行させ、各締日に合わせて一括で請求書を発行したり、入金と、幅が拡がります。

まずテーブルを作ります。



・見積
・見積明細
・商品
・関係者

これが基本構成です。
今回はこれに
いつ変更されても対応できる「税率」を追加し5つのテーブルを作ります。


テーブルが出来たら、各フィールドを設定していきます。

「見積」テーブル
  見積id(数字)オプションのシリアル設定で1増設定
  見積日(日付)
  関係者id(数字)
  タイトル(テキスト)

「見積明細」テーブル
  見積id(数字)
  見積日(日付)ルックアップ
  商品id(数字)
  商品名(テキスト)ルックアップ
  単価(数字)ルックアップ
  数量(数字)
  金額(計算)単価*数量 非保存

「商品」テーブル
  商品id(数字)オプションのシリアル設定で1増設定
  商品名(テキスト)
  単価(数字)

「関係者」テーブル
  関係者id(数字)オプションのシリアル設定で1増設定
  関係者名(テキスト)

「税率」テーブル
  税率id(計算)=1(後で説明)
  いつから(日付)
  いつまで(日付)
  税率

とりあえず、こんなとこ。あとで必要に応じてフィールド追加していきます。弁護士さんは商品テーブルという名称にはならないでしょうが、今回はデータの流れを重視するので、商品でいきます。
税率はいつ変わるかわからない、上がるか下がるか止めになるかもしれない。
後々、請求時に相手の締日によって税率が期日をまたぐ事がありますので、あえて今回は載せています。(321日~420)となると5%の明細も8%の明細も含まれる事が考えられたわけです。ダイレクトに日付計算するのではなく、今回はテーブルのリレーションによって、税率対応しましょう。という試みです。



idkeyにしてリレーションを組んでいきます。
税率テーブルは今は放置。
次にルックアップを設定していきましょう。


ルックアップは
見積明細テーブルに見積テーブルのidを照合して日付をルックアップ、商品からidを照合して商品名と単価を、それぞれルックアップさせます。


このルックアップという機能はKeyによって照合させたテーブルの指定するフィールドを保存することが出来る優れものです。エクセルがこの世に無かった頃、まだリレーションが出来なかったFileMakerでもこの機能のおかげで、沢山の業務ソフト開発ができました。
正規化されず冗長されて膨れ上がりましたが、それでも今に引継がれる素晴らしい機能です。


次に、見積と見積明細の照合を開き、レコード作製許可にチェック、削除にもチェックを入れます。(ゆくゆく過去の取引条件を閲覧する目的で削除にチェックをしない場合もあります)
で、ここまで出来たら、見積もりは60%完成です。



見積のレイアウトを作りましょう。
あ、その前に、関係者と、商品データーを5つくらい入れておいてください。




見積日はオプションの入力日ではなく、インスペクタでドロップカレンダーに設定しましょう。


次に見積テーブルの中に見積明細のポータルを置きます。とりあえず、フィールドは全て入れて、要らないものを消して下さい。


見積idと日付を消しました。



関係者idの後ろに、関係者名のフィールドを持って来ましょう。
明細テーブルに保存する必要が無ければ、リレーション先の関係者フィールドを置きます。
保存する必要があれば、明細テーブルにフィールド関係者名を追加し、ルックアップさせます。
ポータルの上に各フィールドのラベル名称を置きます。



あらかじめ入力した関係者idと商品idにデータを入力してみてください。
ほら、なんだか見積書みたいになりましたね。

すごいすごい!

ん?なにか足りない?
消費税と合計ですね。
さて、これはどのテーブルに置きますか?

見積テーブルでしょぅ



見積テーブルにフィールドを追加していきます。
小計=計算式でSum関数を使って見積明細の金額の合計を出します。
消費税は、とりあえず今は数字のままにしておいてください。
後で、税率マスタと連携させます。
合計=小計+消費税






ほら、できたー!簡単ですよね
スクリプトはひとつも作っていません。

これが見積書の基本です。
これが出来たらいろんな応用ができます。関係者のガイドを出して選んで入力とか、商品ガイドとか、明細別に消費税を設定して課税、非課税を判定させたり、商品に分類を付けて、分類の見積もりとか・・・

今回は印刷レイアウトを作っていないので、次回はリストにしての見積印刷なんかも・・


続きは次回。




(FileMakerPro11以上が必要です)
12,13は変換して使用してください。


2014年10月28日火曜日

第21回 自分で作ろう!弁護士向けソフト スクリプト修正

前回のを一部スクリプト修正。

どうやら、受付登録から関係者を呼び出すスクリプトと
関係者idを呼び出すスクリプトが良くないらしい・・・。

開発仲間から、「えー、コピペやるっすか?昔の人みたい」
とか言われました。


僕は好きなんですけどねー




んじゃ、しょうがない。
昔の人って、確かにね・・・・、Pro2から使ってますからね
でも、8くらいまで、みんな、やってませんでした?
idとかのコピペ。
クリップボード上書きですよ。一連のスクリプトの動きを止めるというか、仕事中に一旦、天井を見る様な・・・無料映画の途中でCM入る様な、ガクッ、っとくるやつですよ。

けっこう、好きだったんだけどなぁ・・・

「公開するなら・・・」って前置きあったので、今後気をつけます。



コメントに不平、入れてるしw



第16回にも書きましたが

データが直接壊れず
間接的な影響を受けず
他の動作に影響を与えない

スクリプトにしましょう。






まぁ、結局、普通は変数とフィールド設定を使うでしょう!って事ですね。

あ、そうそう、フィールドやポータルにデータ入れた後は、「確定」忘れず入れる様にしましょう。
確定抜けてのトラブルって、けっこう多くありますから・・・



書式設定もしちゃうか。

関係者修正時にガイド出した場合、修正前の関係者を分かる様に、緑にしちゃうわけです。

受付テーブルに置いているポータルは関係者テーブルではなく、関係者明細テーブルですから、そこのidが現在開いている関係者テーブルのガイド中の変数にしているidになれば,「緑」になるって事です。






訂正後の
ダウンロード




2014年10月26日日曜日

第20回 自分で作ろう!弁護士向けソフト 追加


今回作った
弁護士向けソフト追加作成分ダウンロード

(このファイルを開くには、FileMakerPro12以上が必要)




さて、今回追加したとこのご紹介。
質問受け付けます。


●一覧表の指定行をピンク色に



受付画面下の一覧表示にスポットされたレコードにピンクの背景がつくようにしました。
スクリプト名は「一覧行の色」です。レイアウト・トリガのOnRecordLoadで設定しています。この背景色なんですが、レイアウト画面のテキストツールで半角スペースを沢山打ち込んで長い棒状にし、それを条件書式設定させ、計算式 $bg=Get(レコード番号)、ピンク色に設定したもの。(オブジェクトだと条件設定できないから・・)





●クイック検索




受付画面一覧の上にQuickSarchをつけました。あらゆる複数のフィールドを、ここ一つで検索できる優れものです。スクリプト名は「クイックサーチ」そのままです。
フィールド・トリガOnObjectExitで設定しています。
たぶん、使用頻度が高いと思います。(デフォルト・ナビゲーション・バーの右端に元々付いています)


(以下、言葉が乱暴・・・許して、日を分けて記載したので)




●受付一覧

ブルーの三角ボタンによって受付の一覧表を追加した。
一覧表のバーの左に設置



●ソートボタン

受付一覧、事件一覧の項目の上にソートボタンを設置



●日付範囲指定検索



受付画面、受付一覧で、受付日による日付の範囲指定検索を行えるようにした。
オリジナルダイアログを出して検索する仕様。他の項目はクイック検索で補える。
受付は受付日で範囲指定。事件は受任日で範囲指定。
後に、期日日や、見積日、請求日、入金や売掛など、それぞれで範囲指定できるようにする。
上のアイコンが並んでいる場所の「虫めがね」を押すと出てくる。



●コンタクトの追加


手をつけていなかったコンタクトを作成。日付を今日より先に設定すると「予定」となる。
いずれ、この予定とカレンダーを連携させたい。
ラフに入力できる事を目的としていて、堅苦しい文章を入力するようなものではない。
依頼人と会ったら、入力とかでもいい。
コンタクトは関係者と照合しているのではなく、案件(事件)と照合させている。
なぜかというと、来月の予定など、逆検索させたときに関係者別だと余計に混乱し、本来のもつ検索の意味を果たさないからだ。関係者から事件を割り出してコンタクトではなく、
あくまでも、その事件と照合させている。そのほうが分かり易い。



●関係者の登録



一つの事件に対し、関係者の登録数に制限はない。100人であろうが1,000人だろうが登録できる。
担当者は、アクセス権(セキュリティ)と連動させるのでまだ作っていないが、同じ仕様になる。

登録ボタンを押すとガイドが出る。選ぶか、新規で登録するか選択できる。
訂正などは呼び出しボタンを使用する。
呼出しボタンで関係者を出し修正して戻してもデーターは上書きされない。
なぜかというと、事件と関係者を直接idで照合しているのではなく、間に関係者明細というテーブルを作ってポータルにしているからだ。呼び出された関係者は、関係者明細のテーブルに保存されるので、関係者を修正しただけでは、事件の画面には反映されない。
今回は、関係者明細とのKeyでの再ルックアップ処理の記述を忘れてしまった。
ごめんなさい!
上のメニューから手動でやってほしい。
(ポータル内の関係者idにカーソールを合わせ、メニューから再ルックアップすると、データが更新される)
次は修復しておくから・・・



関連事件の表示や締め日が設定できる。
タブの階層は深くなってるけど、画面を切替え、戻してもフロント・タブをキープしているようにした。

シールの印刷用にレイアウトだけ作ったが、そのうち印刷機能も追加する。
シールの印刷は、一覧から選択したものだけを印刷できるようにしたいかも・・・
ハガキの縦書きも出来るけど、住所は漢字じゃないと後でおかしなことになる。
ハガキ様に漢字に変換させるって事も出来るけど、このフリーソフトではしません。

(いずれ、見積もり履歴とか、請求、未収入管理、電子元帳とかも出来ちゃうね)
明細数は数百万になっても、軽く動きます。
FileMakerは、端末200台くらい繋いでヘビーな基幹システムでも十分対応できます。



受付や事件に対して複数の関係者がガイド機能を用いて登録できる。
スクリプトは至って単純なものにした。コード番号もデフォルトの増1でレコードを削除すると欠番になる仕様だ。欠番を埋める計算式もあるが、後々の運用でめんどくさい事になるのでシンプルにした。

ガイドによる検索はクイック検索を用いた。ひらがなのかなで検索しても良いし、なんでもいい。
複合検索に意味を感じなかったので作らなかった。

郵便番号はグーグルから引っぱってくる。ただし、逆引きの場合は住所の数字は漢字で書き込んでほしい。逆引きで中には読み込めないものもある。
(これはHiroさん仕様だ)
また、後々、見積や請求などにも対応させられる様に設定した。
スクリプトは極力減らしている。

関係者なんかは、今使用しているソフトから、一旦CSVやエクセルフォーマットとかでエクスポートさせて、これにインポートしてもいいかもしれない。



●後々iPadなど使用も考慮し、インポート、エクスポートは省いている。

更に、iPadに使用するFileMakerGoはプラグインが使用できない。これはファイルメーカーからワードやエクセルなどのデーター転記などに影響する。転記しなくてもファイルメーカー自体で公文書や次ページテキストが解決しているので、対応は可能とみている。

ただし、iPadなどで機密文章や個人情報を管理するのは極力避けた方が良いと考えている。どこまで、端末で管理できるようにするかを先に決定させなければいけない。



●各マスターは何も設定していない

ブラウズ画面でデフォルトのナビを使用して選ぶか、いったんレイアウト画面に戻って、レイアウトを呼び出し、ブラウズモードにして設定してほしい。
というか、オリジナルのNavと連携させるため、各マスターを一旦、TOを作成し中継させてNavと照合させるため、めんどくさかった。(やる気の問題だが。。)



リレーションを見ていただけると分かるが、正規化とあえて重複するようなデータを冗長させてる。
僕の場合は、なんでも正規化すれば良いという感覚は持っていない。
(ルックアップさせてデーターをあえて保存させていたり)
冗長データというのは、今後、新しい展開や拡張させるために利用できるからだ。
作る人によって変わるのが、この正規化と、スクリプトだと思う。
FileMakerはコードを打ち込む手間がないので、こういった所で個性がでる。


とりあえず、今回はここまで



分解するなり、自由にカスタマイズできる。

最適化してますか?

 まるで入院していた患者が退院して元気に復活するような機能。 クラウドを使用するユーザーさんがほとんどなのですが、このゴールデンウィーク中は 最適化のメンテしときます。 データがピチピチしちゃいますよぅ。