2022年5月5日木曜日

最適化してますか?

 まるで入院していた患者が退院して元気に復活するような機能。

クラウドを使用するユーザーさんがほとんどなのですが、このゴールデンウィーク中は

最適化のメンテしときます。

データがピチピチしちゃいますよぅ。


2022年3月24日木曜日

ブログ ずーーっとほったらかしにしておりました。

 なんだか、コロナやウクライナ情勢で時代が変わってしまいましたね。

言いたいことがあるときは、言わないですよ、はい。
平和ボケなのかもしれませんが、平和でなくては仕事もできませんからね。

現在はいつもの下請けの仕事やってますよ。

会社の方は役員としてコンサル業務があるのですが、もっぱら研究所の方のFileMakerを使ったシステム開発が多いです。最近はコンサルタントの会社や学校、団体さんの会員管理や請求システムが多いかなぁ。

コンサル事業の方は、外食産業がメインなのですが、コロナの影響で皆さん大変です。国の事業給付金ではぜんぜん足りない。結局銀行の融資を頼るしかない状況です。それにしたって返さなければいけない借金ですから・・・。皆さん人を雇えない状況なんです。清算して業態を変える経営者もいらっしゃいますが、そう簡単に軌道に乗るわけではありません。

何にしても、今は目の前の出来ることをこつこつとやっていく他ありません。
コストというものがある限り、フルパワー全開というわけにはいかないでしょう。
その時(平時)がくれば、機会を逃さず再チャレンジできるよう準備を怠らない事だと思っています。





2021年6月24日木曜日

filemaker19.3バージョンアップできない

 予想通りなのでw 書く必要もないのですが・・・

filemaker19.3のバージョンアップが自動で促され

(もう、中途半端なものをボタン付きで促さないで・・・)

Win8,Win10ともにインストールされませんでした。

動かない19のアイコンがど~~ん!と「知らねーし」みたいな顔してるし。

「もーーー!大事な仕事中に邪魔しないで!!!!」

ホスト何社登録してると思ってるのさ、全部消えるべや。

Filemaker19を削除、再インストール。

バージョンアップは恐ろしくてできません。


2021年6月21日月曜日

FileMakerのシリアルについて

 シリアルを付けるのに、こういうのはパフォーマンスが遅くなります。

レコード数が増えているときにExecuteSQL でMAX値を取得する時間が半端ないです


ExecuteSQL ( "SELECT

MAX ( \"_請求CD\" )

FROM \"D請求_\"

";"";"") + 1

こういうのやめましょう


また

  SerialIncrement ( "001" ; Max ( 自己リレーション::連番 ) )
      「式内の全フィールドの値が空欄のとき、計算しない」のチェックを外す。

こっちの方が処理は早いのですが、現金商売のお客様で複数支店がある場合などは

MAX値を取得する時間内でぶつかります。



最近、どんな事情があっても

こっちを使うように奨めてます。

もしくはスクリプトのスクリプトの「次のシリアル値を設定」。

なんたって簡単!

パフォーマンスがひどく下がるリスクと天秤にかけて決めましょう




2020年7月5日日曜日

以前書いたphpは、バージョン変えたら動かないの巻き

FileMakerに本腰入れてから、随分とphp書いてなかったんだけど、取引先からPHPの話が来て、XAMPP、PHP、MYSQLを、おニュー!にリニューアルしちゃったんだよねぇ!(汗)
さぁ、以前作った(2008年頃)に動いていたファイルを動かしてみよか?と思ったら、エラーだらけ(笑)

まじかよ。前は動いてたじゃん。
Noticeエラーかと思ってたら、Warning、Fatal errorだらけ。
いったいどうしちゃったの?

一部ね
Fatal error: Call to undefined function mysql_connect() って何さ。
ver5.5以降ではmysql_系関数が使えなくなったらしいのよ。そんなこと聞いてないんだけど。
mysql_を 書き換えろっちゅー話。
しかも今はpdoらしい(笑)
えー、まじでそんなの今から覚えてられない・・・
で、いろいろと他人さまの調べてみたら
mysqli_でもいいらしいので、とりあえず今はmysqli_に変えてみた。

これで大丈夫だろ、と思ったら、今度は
mysqli_select_db() expects parameter 1 to be mysqli, string givenだと。
何をわけのわからない事言ってるんじゃ、と思ったら、
パラメーターの渡す順番が違うと・・・。(そんなに厳しかったっけか?)

mysql_select_db($this->db_name, $this->db_obj)を、
mysql_select_db($this->db_obj , $this->db_name)に変えたさ。



46行目の mysql_real_escape_string($values);も、正しくはmysqli_real_escape_string($values)らしい・・・。

が、phpを見てみると



注意:
これまでに mysql_real_escape_string() をよく使っていた人は、 mysqli_real_escape_string() の引数が mysql_real_escape_string() とは違うことに注意しましょう。 mysqli_real_escape_string() の最初の引数は link であり、 mysql_real_escape_string() のようにエスケープしたい文字列を最初に書くのではなくなりました。

とある。


他にもNoticeエラーが山ほど出たので先頭にerror_reporting(0);を入れて逃げた。

<?php
error_reporting(0);

後で絶対直すよー。とにかく他の動きが見たいのに、PHPとMySQLが動いてくれないんだもの。しょーがないよね。


ちなみに、phpが動くかどうかWeb上でTestすることができます。

<?php
function familyName($fname) {
  echo "$fname Refsnes.<br>";
}

familyName("Jani");
familyName("Hege");
familyName("Stale");
familyName("Kai Jim");
familyName("Borge");
?>

サンプルも入れているが、中を消してRunボタンを押してみるといいです。



自分の古いライブラリ、古い本は要注意ってやつですわ。
で、依頼は丁重にお断りしようかと思うのでありました(笑)


あと、17ファイル修正して動くかどうかだ・・・
やっぱ、FileMakerいいよ。
FileMakerにしな。


2020年6月4日木曜日

2020年6月3日水曜日

締日別の売上入金消込と入金繰越処理

前回のお問い合わせの内容の続きです。

ざっくりですが作ってみました。
とりあえず動作確認中なので今回はダウンロードはできません。


まず、締め別の売上請求の一覧。(請求書を作るところは省いてます)



次に入金処理の画面(請求テーブルに入金テーブルを参照しています)
デモデータは少なめにしておきました。締日別、前回、今回、次回などが確認できたり、得意先で検索し、請求・入金・繰越の流れを見られるように作りました。
また、フィールドタイプの集計は使わないということでしたので、
ポータルでsum関数を使用して合計を出しています。
(計算式や非保存を極力使用せず、スクリプトで計算しているので、集計を使用しても
気にされるほど遅くは感じないかと思います)
ボタンが多くなるのが気になりますね(笑)

(パートは締日別、得意先別です)

渡邉と入れて検索ボタンを押してみます。


5月、6月、7月の状況(流れ)を見る事ができます。
入金日によって、繰越更新基準日(名前はなんでもOK)が計算され、次回に回すか、そのまた次に回すかを計算できるようにしています。

入金0円と入金日が薄文字で書かれている箇所は、空の状態ですと繰越計算をしないので、"請求入金ボタン"を使用して今回締日5月20日だとすれば、+1日を計上しています。「6月20日までが入金予定日ですよ」という意味合いで、実際の入金日が6月21日で、差額があれば、7月20日の締に繰越分として計上されます。
実際に入金があれば、薄文字カ所に上書きでいいでしょう。薄文字は予定表示と考えればいいかもしれません。



繰越処理はこんな感じで大丈夫ですかね?
繰越が算出されてますから、請求合計も合わせて請求書に載せればいいですよね。
(請求書等は作っていません)



請求テーブルの自己リレーションを作り、上記のように結びます。
繰越更新基準日とは、入金日によって締日を変更し、入金差額を次回に回したり、次の次に回したりします。
一請求先に対して、複数の請求があるので、差額のルックアップは使用せず、入金テーブル(ポータル)差額の合計を、パート集計(得意先)の繰越しに計上しています。
請求ごとに繰越ではなく、請求先別の今回、次回の集計欄(パート)です。


ん~、こんな感じですかね・・・




最適化してますか?

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