2020年6月4日木曜日

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

すみません、説明は後で、先に前回の「売上入金消込繰越処理」を
ダウンロードできるようにします。

Filemaker17 win8
ダウンロード







2020年6月3日水曜日

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

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

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


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



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

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

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


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

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



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



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


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




前回のトピックスの題目と違う質問がありましたので、別にあげときますです。

  1. すみません、前回のトピックスの題目と違う質問がありましたので、別にあげときますです。以下
  2. -------------------------------------------------------------------------------------------------
  3. 小林と申します。はじめまして。
    請求処理と入金処理についてのご相談なのですが、現在、売上に対し消込むような形で入金処理を行っているのですが、どうしても過不足があり、次回請求に回したい場合の差額の繰越処理が上手くいきません。また、請求はお客様別の締日ごとに請求書を印刷、発送しています。入金予定も得意先によって翌月であったり、翌々月の末入金であったり、バラバラです。FileMakerでいろいろと検索して探してみたのですが、該当する内容が違っていて、思い切って直接ご相談をもちかけてしまいました。お忙しい中申し訳ありません。何卒、宜しくお願いいたします。
    返信削除
  4. おはようございます。

    締日別の請求入金繰越処理ですねー。
    現在はFileMakerでどの辺まで使用していますか?
    毎月、締日ごとにざっくり何件くらいの処理を行っていますか?
    できましたらFileMakerのバージョンとデバイスを教えて頂けると助かります。
    返信削除
    返信
    1. 小林です。早々のご返信ありがとうございます。
      情報が少なくて申し訳ありません。FileMakerのバージョンは17です。Windows10で社内ではもっぱらエクセルを使用しており、FileMakerは5台使用できるようになっているのですが、顧客管理と見積書、請求書を発行する程度で、その後の処理、入金や売掛管理が出来ていません。エクセルで手打ちで管理している状態です。毎月の請求書は200枚から250枚、繁忙期の秋は1000枚を超える事もあります。その入金は請求テーブルと照合しているのですが、繰越処理が出来ずに困っています。
      削除
  5. 申し訳ありません。
    Filemakerで出来なければ結構なのですが、エクセルの請求の明細が膨大で重い為、FileMakerでも集計の計算を使わずに
    表示することは可能でしょうか。スクリプトとボタンで計算でも構いません。
    返信削除

  6. もうすこし細かい情報がほしいのです。
    「消込み入金の差額分と未回収分の繰越し」の場合、は得意先分として一括でポンと入金、差額を
    出すというわけにはいかないのと、複数あった場合、繰越分の元を追うのが運用上けっこう大変かと思いますよ。

    ●請求毎、1得意先に複数の請求が上がることが有るか無いかで作り方が若干変わります。
    ●特に、重くさせないために集計を使用しない・スクリプト計算なら、ポータルを使用してsum関数で合計を
     出すのですが、パートごとに集計機能が使用出来るものと、できないものがあるので、ちょっと大変ですね
    (得意先で絞っても、締のパート集計が存在していれば関係の無い得意先分も集計されてしまう:
     集計を使えば問題ありませんが、ポータルSumでは締パート内の表示を消すくらいのことしか出来ません)
    ●また、その複数の請求分の入金日がバラバラで締をまたぐ事があるかどうかでも変わります。

    たとえば、
    前回Aさん(20日締・翌月20日)の請求が

    ●請求金額2,000円
    ●請求金額3,000円
    ●請求金額4,000円

    とあり、

    入金が
    ●5月19日入金金額1,000円 差額1,000円が次回6月20日の請求分に繰越
    ●5月22日入金金額2,000円 差額1,000円が次の次7月20日の請求分に繰越
    ●6月末日予定 金額0円 未入金4,000円が次の次の次の8月20日の請求分繰越 

    という風な感じになる可能性があるのか?こうなると、元の請求と差額の不足分を追うのがけっこう
    大変になりますよね。 (得意先で検索して出し入れの流れを見れば解りますが)

    こういう得意先が複数あると、システムを使用する上で「待ち」が発生するので、システムを分けては
    いかがでしょうか。
    普通に問題なく入金される得意先のシステムと、事故扱いのシステムの2つという事です。
    月に200枚以上の請求書を発行するのなら、なおさらかもしれませんよ。
    どのような業態かは分かりませんが、総合計を算出するために一つのシステムを使い続けるより、
    問題の無い得意先のシステムはどんどん進め、問題のある得意先のシステムは別扱いで
    後にゆっくり管理したほうが、スピーディーですし、計画の見通しが立ちます。
    「払わない客は、いつまでも続く」、そのせいで優良なお客様の締処理に影響させるの方が、
    辛いですよね。
    返信削除

2020年5月27日水曜日

繰返しフィールドを使った週の集計って出来かなったっけ? filemaker repeating field_week total

初心者のFileMaker pro Q&Aのサイトのあるトピックスを見ていて気になりました。
このサイトって初心者とか書いてるけど、めちゃめちゃ凄い諸先生方が回答しているので、本当は上級者向けでもあるんだよね。ぜんぜん初心者なんかじゃない(笑)


そのトピックス(解決事案:ふせときます)のレンジではなく、付随したことなんだけど
暇だったし、サンプル作ってみたんだよねー。
週ごとのクロス集計(繰返しフィールド)を作って、さぁ、合計は?

あれ?

どうするんだっけ??
随分前に絶対に一覧表で作ってる筈なんだけど・・・・。
ライブラリの中を探したんだけど出てこなかったので、トピの依頼内容通り最初から作ってみることに・・・


トピ内容に沿ったので余計な項目もありますが

というか、繰返し範囲の合計って難しい。繰返し1からラストはできるじゃん?問題は途中の範囲よ、、、カスタム関数とかプラグインとかできそうなんだけど、ん~、そこまで使わないかな。
それで、なんとか強引に計算の結果を合うようにしたのだが・・・。
こんな原始的な方法でいいのかね!?ひどいね。

Sum(Row[29];Row[30];Row[31];Row[32];Row[33];Row[34];Row[35])

そのまんまじゃん!配列なんて概念がまるっきり無いよね。
過去に作った記憶はあっても、こんな式書いた覚えはないもの。
こんな苦肉の策でしか動かなかった事実。




56歳になりました。
FileMakerを使い始めたのは91年2月からなので29年使ってるんだよー
なのに、この式ってば。
(最近、体操とさ、妻と一緒にエアロビやってんだよねー)
記憶力と物事を素直に吸収できるようにするには、どうしたらいいですか?


サンプル(FM17 Win8)
※その掲示板のトピックスに沿って作ったので関係の無い項目もありますが、こんかいのテストサンプルです。




2019年9月3日火曜日

今から間に合う!一緒に、軽減税率対応のPOSレジを作りますかぁ? その10

軽減税率のPOSレジですが、片手間になってすみません。
仕事外でも多忙を極めておりまして、残念ながらここでストップいたします。
今からでも間に合うとか宣伝してすみません、でも、以前UPした状態のものでもカスタマイズの仕方によっては十分間に合います。

完成版が出来なくて本当に申し訳ありません(泣き)

以前アップしたファイルを自由に使ってください。
レシートの出力すらない状態ですがw、レイアウトは簡単です。


下のレイアウトは軽減税率対応前のものですが、消費税のところを
8%と10%の繰返し集計を(ファイルにあります)そのまま置くような感じで大丈夫です。ボディには「※」マークを追加すればOK
8cm幅のレシート幅に合わせます。



フィールドをそのまま置いてもいいですし、マージフィールドを使用しても良いと思います。


リストになるボディや配置によっては空白をつめる設定が必要です。
(レシートプリンタによってはプリンター側で空欄をつめてくれるものもあります)

(非軽減税率のレシートですがw)


パソコンPOSの良いところは、色々なレシートが作れるところですよね。以前は、おみくじ付や、当たり、外れくじ付き、花柄、スイーツ柄なんかも作りました。販促だけじゃなく、楽しいデザインは喜ばれます。

確か按分機能も作ったかと思うのですが、按分画面のポータルの明細テーブルで按分用のレシートも必要かと思います。

レシートプリンターはエプソンがお奨めです。
キャッシュドロアーと一緒に購入して、ドロアーはプリンターに繋ぐと、レシート印刷命令でドロアーが開くようになっています。


次に集計。
明細数が増えても基本的にはそんなに重くはなりませんが、計算式がやたらと多くなった場合や索引、集計を使用するとどうしても重く遅く感じることもありますので、日々の業務が終わったら受注データを売上ファイルにデータ移行(更新)させ、集計は売上側で行うとパフォーマンスが下がる事はありません。

今使っているファイルをコピーして、もうひとつファイルを用意します。
コピー側の受注と明細のフィールドを計算式ではなく全て数字に変えます。
業務終了後インポートをかけ売上にデータを持たせます。
(赤黒処理をするなら、受注側のデータは任意で消していいですよね)

あとは、売上側のデータを参照して集計や分析資料を作ればいいと思います。


おもいっきりはしおりましたが個別に質問や疑問がありましたらお答えします。
たぶんですが、9月から11月くらいまではブログ対応は出来ないかもしれません。













2019年8月4日日曜日

FileMaker 配列変数から取り込む

前回の
API_OpenWeatherMapをFileMakerに取り込む際、

1、改行テキストに変換
2、配列をグローバル変数に格納
3、GetValue関数を使ってLOOP処理でFMのデータ化させる

という流れでした。

OpenWeatherMapは項目とデータをグローバルフィールドで照合していて分かりずらかったと思いますので、今回はよくあるid、品名、分類のテキストにしました。






前回のものをデバッガで確認していただけたらOKなのですが、あえて順序だてたサンプルを用意しました。

1~4まで青枠のボタンがありますので、サンプルで確認してみてください。


FileMakerの場合、
配列変数からの取り込みは「変数設定の繰返し(繰返し変数)」を使用するのではなく、
グローバル変数を使った改行テキストからGetValue関数を使って抜き出すというのが一般的であると考えています。

------省略------
Loop
新規レコード/検索条件
フィールド設定 [id;GetValue ( ※1.整理する配列変数 ; 1 )] 
フィールド設定 [品名;GetValue ( ※1.整理する配列変数 ; 2 )]
フィールド設定 [分類;GetValue ( ※1.整理する配列変数 ; 3 )]
変数設定[$cnt;値:$cnt+1]
Exit Loop If [$cnt>$$cnt_mx]
End Loop
------省略------
※1.整理するというのは
Substitute ( GetValue ( $$source ; $cnt ); [ " " ; "¶" ] ; [ " " ; "¶" ] 
の事です。

変数設定の繰返し(繰返し変数)を使用した場合、どのように取り込むのかは、なんとも想像できません。(繰返し変数からインポートとか出来るようになったら・・・・かな。
僕が古いのかな・・・)




ダウンロード(FileMaker17Win)



追記
配列変数と書いてますが、FMの場合、他の言語とはまったく違います。
ここでは単純にテキスト改行にして一括取り出しをしているだけで、行や列という概念が無いですしインデックスを持たせられません。行、列の部分的な宣言、代入はできません。
( Dim C(3,4) ⇒ Dim B(3,4)の誤り )

このような宣言として配列変数を使用することが出来ないという事です。
残念ながらExecuteSQLにもありませんし(データを生成させてグローバル変数を利用して並べる事は出来ます)、
無償のSQLでいえば
MySQLにも配列変数が無いので、PostgreSQLか、高価なOracleとODBC連動という事も考えられますが、そこまでして・・・というめんどくささがあります。

行と列の変数での宣言、もしくは指定というより、抜き出す前の段階でデータを絞り込む事を考えた方が賢明かもしれません。


Associatron (アソシアトロン)連想記憶

  なぜか、僕のブログの研究所側ではなく、FileMaker側にヒットするので アソシアトロン Associatron研究 リンクを貼っておきます。 研究と実験詳細 https://cside-associatron.blogspot.com/ 公開実験(JavaScriptのみ...