カテゴリー別アーカイブ: FileMaker(ファイルメーカー)

ファイルメーカー販売管理のID番号欠落を埋める

今回はファイルメーカー販売管理のID番号欠落を埋めるについてです。
ファイルメーカー販売管理の顧客ID、伝票IDは、プログラムで識別できる番号として半角数字を使用しています。
<Photo data>
2018/11/08 美郷町野間より
EOS1DX EF24-105mm f4/L IS USM
1/500 f4 47mm 絞り優先AE

ID番号発番はシリアル自動発番です。
この方法で問題にはなっていませんが、伝票起票後削除した場合、ID番号に抜けが起こります。使用していく内に次第に番号欠落が増えていくという問題があります。
例えば、
レコード番号 伝票番号
1      1
2      2
3      4
4      5
5      8

の様に、データ5件中、伝票番号3、6、7番を削除した時生じます。ID番号を自動シリアルで発番していると欠落した番号はそのままとなってしまいます。

今回、テストケースとして欠落番号を再利用してみました。
(過去に取引のあった伝票またはミス伝票を再度使用することになります。前に印刷した伝票が残っているときはおなじ番号は存在する事になりますので、この場合は事後に使用した番号との違いは日付や内容ということになります)
そうした背景は承知の上で、あえて作成すると以下の様になります。

ID欠落を探す方法は、
(1)発番済みの伝票番号の中から最大値を取得し、その値に+1番とし次のID番号にする
(2)欠落番号を順次探し穴埋めする
といった方法が考えられます。
(1)の方法では結局欠落は埋まりません。
(2)は番号が大きくなると欠落番号を探すのに時間がかかるかもしれません。実際はここを工夫してやれば解決すると考えました。

ということで(2)のやり方で作ってみました。
最初に伝票番号をソートします。
欠落番号はレコード番号とのANDか、差分1か、またはレコード番号との不一致を探すかとなりますが、不一致を探す方法で行いました。

スクリプトサンプルは以下です。

 

 

 

レコード番号 伝票番号
1      1
2      2
3      4
4      5
5      8
6      3
7      6
8      7
9      9

スクリプト内の $flg はフラグです。
欠落があるとフラグを立て、最終レコードまで欠落無しで連続している時は最終レコード番号を+1としてID番号としました。
上の例では記載していませんが、以降伝票が削除された時は順次サーチ、全部補完された後は最終番号+1とすればサーチ時間は解決できると思います。
アルゴリズムの検討にしかなっていませんが、とりあえず開発Verはこのままとし、サポート用は元に戻しました。

以上
Kazunori Fukuma
1st 初稿 2018/02/07
2nd 一部見直し 2018/12/11
3rd 一部修正 2018/12/14

ファイルメーカーのフィールドに条件付き書式を摘要する

今回はファイルメーカーの条件付き書式です。フィールドに条件付き書式を設定して見栄えを改善します。フィールドに条件によって見え方を変更できます。
<Photo Data>
白川郷
2018/08/13
EOS-1DX 24-105mm f/4L 1/250 f4

フィールドの条件付き書式を適用した出力例を一番下に載せました。


販売管理の入金回収予定フォロー表です。回収予定が迫っている予定日フィールドを条件書式を使ってみました。
表の左側が請求伝票、中央が入金回収予定日、右側が入金伝票になります。

入金予定日が今日より後の日付を青色にしました。

やり方は、入金予定日フィールドを選択し書式設定の中の条件付き書式で設定します。


日付が今日より後の文字の色を変えることが出来ます。

違う使い方として、例えばまだ入金がされてない時の入金予定額は通常より薄い色とするなど(上の条件付き書式の例の入金額フィールド)変化を持たせることが出来ます。

また、入金済み伝票のテキスト色は普通の黒とし、未締切の時グレーにするなどです。

さらに、日付が迫ってきた時、アイコンの色を赤に変えて入力者の操作誘導も可能になります。

更にフィールドの背景とテキストの色を同じにする(例えば下地が白でテキストも白)ことで条件によってそのフィールドの表示を見えなくすることも出来ます。ソートや検索では有効としながら実際には見えないという表示応用です。
今回は条件付き書式の簡単な例を記載しました。
上の回収予定表が小さく見えにくいため下に部分拡大を載せました。ご参照下さい。


Kazunori Fukuma
1st 2018/08/31
2nd 予定表拡大部を追加 2018/09/01

FileMaker販売管理 請求明細書のID番号発番方法

今回はファイルメーカーのシリアル番号発番方法のご紹介です。
通常シリアル番号は該当フィールドを自動発番にすることで可能です。しかし販売管理では、請求明細書のように、先月の締日から当月締日までに請求書が何件か存在する場合困ることがあります。
<Photo Data>2018/05/04 三重なばなの里にて
EOS1DX EF24-105mm F/4L IS USM
1/160 f4 105mm 天候雨

 

 

 

 

 

 

 

 

納品書番号 納品日付
123 2018/05/04
130 2018/05/15
137 2018/0522

納品書と請求書に番号の関連性がありません。
対策として、納品書単位で発番せず、請求明細書という別テーブルを作り、リレーションをかけました。
この時のリレーションシップ例を左記に掲載します。

請求明細書は顧客単位に締日でくくった番号発生にします。
この明細書を明細書ID台帳として明細書の番号を発番させる元帳にします。明細書ID番号というフィールドを作り、フィールドOptionで番号をシリアル自動発番にセットします。
この明細書テーブルは、明細書が新規発生する都度ID番号が一つ増加します。
掛け販売または仕入の場合、1顧客(または仕入先)に対し1締日、1明細書になります。生成した番号が重複しないようにスクリプトで制御管理します。

下記はそのスクリプト事例です。
動作としては、明細書ID台帳に同じ顧客、同じ締日の登録が既にあればその明細書番号を読み出します。番号が存在しなければレコードを新規発番し、発番された番号が明細書番号になります。

この番号を請求明細書に印刷時に送信してプリントします。
このレイアウトの例を最下部に掲載しました。

以上です。

Kazunori Fukuma
1st 2018/05/04
2nd 文言修正 2018/05/17

ファイルメーカー住所録(その4 年賀状出し受け管理)

毎年正月になると年賀状の出し受けチェックや整理に時間をとられてしまいます。皆様年賀状のデータ整理はどうされていますか。
自分の住所録は現役の頃からの継続でファイルメーカーで構築を続けています。ファイルメーカーとしたのはMacで動く住所録ソフトがなかったことが主な理由です。またMac用の住所録ソフトが出てきても動きも悪く使いづらいものでした。
<Photo Data>2017/12/06
日の出前
目久尻川 Walkingコースにて
Canon EOS-1DX EF24-105mm f/4L IS USM
1/125 f4 EV補正無し 85mm ISO 50

ファイルメーカーは、自作ということで汎用性が高い(自分でプログラミングしているので当然ですが)訳ですが、更新を重ねてだいぶ修正も少なくなってきました。

またファイルメーカーを頼りにしていることはデータの信頼性が高いと考えています。スタートはVerが一桁の頃からで、データー数が3000、4000、5000と増えても一度も消失などのトラブルはありません。
残念な点は日本語フォントです。横書き印刷は問題ありませんが縦書き印刷がダメです。プログラム的に制御するのがむずかしく目下あきらめ状態です。

今回は、ファイルメーカー住所録の年賀状の受け出し管理の部分のご紹介です。
左のスクリーンショットは年賀状の出し受け表になります。チェック年度は、今年を中心に翌年と過去3年前まで可能です。レンジは拡大出来ますが、最低数年が分かればよしととしました。よってビジブルな期間は絶対年次ではなく相対年度で計5年間を1年単位で更新させることにしました。

管理表は年賀受け取り、出しとマーク、及び年賀に関してのお相手に帯するコメントとなる備考です。いずれも表のようにしていますがフィールドで構成しています。
記載事例は2017年に年賀状を受けとり、同年この相手にも発信しているということです。
右の数字のマークは何らかの決まり事チェックに使用します。プライオリティーをつけたり、受けとった日にちにしたり、会社・自宅のダブル送付、マークなどに応用出来ます。

年賀受け取りのフィールドは、漢字で「受」とし、喪中はがき受け取りは「喪」としました。受けと喪の選択はファイルメーカーのフィールドに選択可能なリストを登録し、マウスで設定します。

年度は毎年新年に年次更新とします。年賀受け、年賀出しの各フィールド内容を前年のフィールドにデータをムーブさせて更新します。
データムーブはスクリプトで行うことが出来る様にしました。

ムーブは2017年「受」を→2016に。さらに2015年、→2014年といった具合です。

更新後はスクリプトに現在の西暦年をチェックしインターロックをとって二重更新ミスがないようにしています。
住所録は3月頃までに細かな修正などを行ってランタイム版を生成し(またはファイルメーカー版で)、指摘やご指導をいただこうと考えています。

1st 2018/01/03
2nd 一部文書訂正 2018/01/04
3rd タイトル修正 2018/01/11
Kazunori Fukuma

FileMaker ポータルの行を追加する

ファイルメーカーのポータルで、スクリプトを使った行の追加を掲載します。

<Photo Data>2017/05/05鳥取砂丘にて

Canon EOS-1D MarkⅣ
EF16-35mm f/2.8L USM
ISO100 1/200 f8.0 35mm

下のスクリーンショットは、販売管理の受注伝票のポータルを使ったサンプルです。
2番目のスクリーンショットはその時のリレーションシップです。

受注伝票を事例に説明いたします。
商品を受注すると、その情報を保存する場所が必要となります。
このサンプルでは「受注データ」というテーブルに保存することにします。受注データに受注価格や数量などといった名前のフィールドを作ります。

ポータルの下地となる受注伝票は顧客と伝票番号を発番して登録します。
ファイルメーカーのポータルの定義は、(ポータルを組んだレイアウトに)リレーションした関連データを表示させるとなっています。
ポータル設定で、関連レコード表示の所を「受注データ」とします。
これで「受注データ」の内容がポータルに表示される様になります。
ポータルのフィールド配置などは受注伝票の作成を参照ください。

受注伝票で商品の各情報を入力すると、ポータルで入力、保存、表示の3つを行うことが出来る様になります。

一番上の伝票画面はサンプルデータが2件入っています。更に商品を追加入力しなければならないこともあります。
この時、ポータルに行を追加する場合、上のリレーションシップの図の編集で、受注データ側の「このリレーションシップを使用して、このテーブルにレコード作成を許可」をチェックするのが一般的です(レコード作成を許可とすると下の受注伝票のスクリーンショットの様に最下行がいつでも入力出来る状態になります)。

この方法ではポータルの最下行に入力がまだ終わってない時も行Max値と行数が異なるといったことがおこります。ポータル内の語句サーチや行の挿入並び替えなどを行うとき不便になることがあります。

スクリプトによる方法を以下に紹介します。
やり方は受注データに新規にレコードを起こしポータルに新行を発生させるやり方です。
この時は、リレーションシップ編集のレコード作成を許可はチェックしません。
ポータル行とデータ数も一致します。

このスクリプトを使った方法による新行を追加した画面を最下部に載せました。

K.Fukuma
1st 2017/07/01
2nd 一部見直し 2017/07/06
3rd ミス修正 2017/07/07
4th 他と共通の題目に見直し 2017/07/07

FileMaker販売管理 受注伝票の作成

今回はFileMaker販売管理の受注伝票作成のベーシック部分を説明したいと思います。

商品を受注すると、どこから、何を、何個、いくらといった受注情報が入ってきます。受注伝票をおこして受注を確定させます。
伝票とそのデータの格納は販売管理にかかわらずファイルメーカーで作るとき、ほぼ同じパターンで作成出来ます。受注伝票のデザインも販売管理のベーシック編で作成しました注文書と類似のデザインになります。詳細は注文書の作例注文書編をご参照願いたいと思います。

<Photo data>2017/05/05
鳥取砂丘
Canon EOS-1D MarkⅣ
EF16-35mm f/2.8L USM
1/1000 f6.3 ISO50 16mm

<関連図>
顧客からの情報の流れを関連図で描くと下図の「顧客=販売先」→「受注伝票」→「売上伝票」の様になります。

ファイルメーカーを用いてやることは、顧客に対して受注伝票を起票し、その他商品情報などはポータルを作ってポータルに入力します。
売上を確定するときも、受注売上伝票を振り出して売上を確定します。請求書や領収書も受注伝票がベースになります。

受注伝票は連番発番します。受注伝票のレイアウト設定で伝票のレコードが順次発番されるように設定します。(下のレイアウト設定のスクリーンショットを参照下さい。)

受注伝票内にポータルをたて、受注伝票単位の商品や価格などをまとめて入力します。
受注した商品の情報は、「受注データ」というレコードに保存するようにしました。このとき受注伝票は受注伝票のレコードを表示させ、ポータルのレコードは受注データを表示させるようにします。いずれも左記のレイアウト設定、ポータル設定の様にします。(下のレイアウト設定、ポータル設定を参照ください)

結果、受注伝票の入力レイアウトは下から2番目の画面の様になります。
受注伝票のキーフィールドは受注伝票番号と顧客IDになります。
ポータルは商品ID(商品コードのことです)、商品名、受注数、受注価格、受注額などのフィールドを配しそれぞれ入力出来るようにしました。

レコード間のリレーションは最下部から3番目のスクリーンショットの様になります。

商品は商品マスター、顧客マスターから各照合フィールドを介して呼び出します。誤入力を防ぐためマスターに登録されたものしか選択出来ないようにします。

受注額はフィールドオプションの計算式で受注数x受注価格で計算させています。もし税を計算入力する時なども同様に計算オプションを使います。

受注伝票の印刷は市販の印刷済みのものを購入してレイアウトを合わせ込むのが美しく仕上がります。
類似に作った印刷レイアウトがあればそれを複写して使用することも出来ます。
印刷は受注画面に印刷実行ボタンをつくって印刷します。

最下部は受注伝票の印刷イメージです。印刷に注文者の情報を追加したり、入金、送付などのチェックフィールドを設けるとさらに強化出来ます。

受注伝票編は以上です。

ポータルに行を追加して商品の追加など必要になってきます。今回は割愛しています。

ポータル行の追加はリレーションの式定義で簡易的に設定出来ますが、スクリプトを使った方法で行うと完全です。この方法は次回投稿致します。

K.Fukuma

1st及び受注伝票印刷イメージの追加2017/06/12
2nd 入力画面を修正時に誤消去してしまいました。再掲載致します。 2017/06/13
3rd 一部文言見直し 2017/06/20
4th スクリーンショットサイズ変更など 2017/06/21
5th カテゴリー変更 2017/06/25
6th 誤字など修正 2017/07/02

 

FileMaker 仕入伝票の作成

FileMakerによる販売管理の仕入れ(自己流)について簡単に説明致します。
販売管理の注文伝票作成は前に説明致しました。今回は注文した商品の仕入れについてです。
<Photo Data>2017/02/16三浦海岸の河津桜
と京浜急行2100型(桜は満開でした)

Canon EOS1D Mark4
EF24-105mm f/4L IS USM
1/200 f9.0 ISO400 24mm

下のスクリーンショットは、前回の注文伝票で作った画面です。商品の注文は、この帳票より商品コード、商品名、単価、注文数を入力して注文伝票を起こせば発注となります。
仕入れは、仕入れ伝票に直接記帳して受け入れるのがオーソドックスですが、注文画面から受け入れ処理して仕入れ確定とすることも可能です。

今回は後者の方法で説明いたします。
先ず注文伝票にポータルで入荷数という商品受け入れ用フィールドを作ります(この画面の他のフィールドは今のところ無視願います)。
入力サンプル例で説明しますと、単価60000円の100型パソコンを10台、単価24000円の照明器具Aが20台発注されています。ある日(仕入れ日を規定しないといけませんがここでは省略しています)この商品が入荷したとします。
入荷数フィールドに入荷量をインプットします。
仕入れの確定は画面上方にある「仕入れ伝票に書き出し」ボタンから書き出しを行います。

<仕入伝票書き出し その1確定の方法>
仕入れ締め切りは、既に「受け入れ処理済み」というメッセージを書き出し、事後の重複入力を避けます。
書き出しボタンを押すと以下のスクリーンショットの様に、例えば「仕入書出済」(適当な名前で)という文字を打ち出します。スクリプトは以下です。

このLoopは受入数が不足の時は「未納」、注文通りなら「完納」といったコメント出力します。発注数と入荷数を比較し、注文商品を全部チェックしLoopを抜けます。

<仕入れ伝票への書き出し>
仕入れの確定(締め切り)は仕入れ伝票発行とします。発注伝票から仕入れ伝票への操作は、仕入伝票とそのデータの2件のレイアウトで行います。下記スクリーンショット参照下さい。最初が仕入れ伝票レイアウト、次が仕入れ伝票データレイアウトです。

仕入れ伝票はほとんど発注伝票と同じ構成で出来ます。発注伝票を作成している場合、レイアウトの複写で同じ様なレイアウトを作ることが出来ます。
主なフィールドは、仕入れ先、注文時の伝票番号、シリアルな仕入れ伝票番号。メインデータは発注伝票と同じポータルです。
データレイアウトは体裁は不要です。仕入れ伝票とリンクしたレイアウトとするだけでOKです。
該当の発注伝票から仕入れ伝票への書き込みを行うのですが、前に何度かやっていますLookupでデータを移行させます。例として下記の様なスクリプトを使用しました。

スクリプトは、書き込み先の仕入伝票データに同じデータが存在しないことを確認した後、該当の注文データを書き込みます。
207/02/26訂正
上のスクリプト、フィールド設定命令の下から2番目発注データ;:注文数→発注データ;:入荷数の誤りでした。

発注と同数入荷した商品は一度完納の表示が付きますが、仕入への書き込みを行うと、下記のスクリーンショットの様に、注文伝票の完納のコメントが「仕入書出済」に変更となります。
これで、最初の説明の二重書き込みを防ぎます。

仕入れ伝票は注文伝票作成とほぼ同じデザインで作ることが出来ます。
入荷したことを仕入伝票番号毎に記録保管することで入荷エビデンスになります。
仕入伝票という名称は既に使用していますので、サンプル例として「仕入リスト」という下記の様な帳票を作りました。
この帳票は書き込んだ仕入伝票データから仕入伝票画面の伝票番号を抽出して印刷します。
仕入リストの印刷レイアウトも、発注伝票の印刷レイアウトの複写で作ることが出来ます。
今回は仕入伝票の確定を印刷帳票としましたが、実際は入出庫管理とするのが良いと思います。

即ち、仕入受け入れ=入庫として在庫とし、出荷系につないでいく考え方です。

倉庫管理をファイルメーカーで作成し、入出庫が見えるようにすれば万全です。今回作成しました仕入リストは倉庫管理で役に立ちますので後で利用する様にします。
尚、入庫時点では、未納、一部未納、過剰、遅延や単価変更などいろんな処理ルーチンも必要ですが、ここではメイン部分のご紹介としました。

2017/02/26訂正
上の仕入リストの注文数→仕入数の間違いでした。修正いたします。

1st 2017/02/22
2nd 仕入リスト印刷の追加 2017/02/25
3rd ミスの修正と追記 2017/02/26
4th カテゴリー変更 2017/06/25
K.Fukuma

 

 

 

 

 

 

 

FileMaker販売管理、注文書の作成

今回はFileMaker販売管理、注文書の作成のベーシック部分です。注文書が出来ると仕入れ販売への展開が容易になります。
<Photo Data>2016/11/15 妙義山
Canon EOS5DMarkⅡ
EF24-105mm f/4L IS USM
1/200 f9.0

<最初に>
注文書は、「何を」、「どこから」、「いくら」で「何個」購入するかということの発注版です。主なフィールドは、「仕入れ先」、「商品名」、「注文数」、「注文価格」等です。
仕入れ先と商品名は台帳管理(マスター)とします。注文書からはリレーションで呼び出して使用します。
<関係図の作成>
左記は一部仕入れ伝票まで含んでいますが、注文伝票まわりのリレーション図です。
リレーションを結ぶとき、下記の様な「関係図」を作成しながら必要なテーブルをクリエートしたり、どこでレコード発番するかなどを描いていくと良いと思います。
注文書作成では仕入れ先への伝票発番以外に、入荷してくる商品の処理もあらかじめ決めておきます。
また、仕入れへのデータのつなぎは、入荷時点で未納となることもあります。直ちに入荷=仕入れとしてデータは渡せません。こうしたことを考慮しながら進めていきます。

<入力にポータルを使う>
注文書の商品入力は下記の様なレイアウトにて行うようにしました。商品情報は注文伝票の中にポータルで組みました。

 

 

注番(注文伝票番号)は、フィールドオプションで数字のシリアル連番としましたが、本格的には001のような頭ゼロ番号とするのが良いと思います。このやり方は例えば下記の様なサブスクリプトで作ることが出来ます。

$r = 1
Loop
”X00-” & Right ( “000” & NumToText ( $r ) , 3 )
Exit Loop記述
$r = $r +1
End Loop

(上記の場合、X00-001のようなヘッダー分類を持ったシリアル番号を付けることが出来ます。)

<ポータルのデータ>
注文書のポータルで構成したフィールドは、下記のような「注文データ」レイアウトを別に作りました。

<注文書の印刷>
伝票に入力が完了したら、注文書を印刷します。印刷用のレイアウトを下記の様におこしました。
仕入れ先の会社名や住所などの情報は仕入れ先台帳から呼び出します。フィールドは通常のフィールドとマージフィールドの混用としました。その他のコメントや自社情報は固定的なもので、テキストボックスに調節入力しました。
発注伝票の商品名や注文数などの各フィールドは、繰り返しフィールドとし、注文金額の合計は後部集計で発生するようにしました。集計パートに合計を貼り付けると桁ズレが起こりません。
この注文内容の部分は罫線で囲い、注文書として体裁を整えました。

印刷データは、発注伝票番号を読み取って注番に該当するレコードを抽出し、印刷レイアウトに展開するスクリプトです。印刷まで自動で行います。
スクリプトの一部を下記に記載します。

変数を設定 [ $$発注伝票番号 ; 値 : 発注伝票 :: 発注伝票番号 ]
レイアウト切り替え [ 「発注データ」(発注データ)]
検索実行 [ 指定された検索条件: レコードの検索; 条件; 発注データ::発注伝票番号照合F:  「=$$発注伝票番号照合F」] [記憶する]
レイアウトの切り替え [ 「注文書の印刷(発注データ)」
以下、印刷スクリプトへ、、、

<最後に>
この注文書はリスト部分もファイルメーカーの罫線で作成してみました。倍率を上げて罫線の突き合わせなど行いましたがこういう作業は年ですね、疲れました。
印刷はきれいに仕上がりましたが、やはり注文書はWordで図案を作るかまたは市販の注文書にスクリプトで印刷する方が簡単だと思いました。

1st初稿と文言訂正 2016/12/11
2nd 変換ミスなど訂正 2016/12/15
3rd ファイルメーカーにカテゴリー変更 2017/06/25
K.Fukuma

 

FileMaker任意の位置にラベル印刷する

今回はFileMakerラベル印刷の応用編です。
例として、A4 -14枚の任意のラベルに、または任意の位置から連続で印刷する方法をファイルメーカーで構築したいと思います。使用したFileMakerは、 Advanced Pro Ver.14、ラベルはマクセルL7163-20A(レーザーラベル14枚)です。PCはMac Mini Late 2012、レーザープリンターはCanon MF222dwを使用しました。

_mg_2502-1<Photo Data>2016/11/07 権現山の銀杏
Canon EOS5DMarkⅡ EF16-35mm f/2.8L USM

何故こんな面倒なことをとお思いでしょう。ラベル印刷は印刷残りが出ます。この残りのラベルを再度利用したいだけです。ただし、この方法はレーザープリンターのドラムが傷みます。ほどほどにということにはなります。

ラベルのある位置にだけ印刷するには少し工夫が必要です。ここで説明致する方法は空レコードを使う方法です。14枚ラベルでは空レコードを14個用意します。そして指定位置のみ実データを転送します。

任意のラベルに印刷するには、まずメインの住所録から印刷対象のデータを選びます(下記住所録画面)。印刷データは右上の方の宛先を会社か自宅宛かをあらかじめ選択しておきます。
次に右上のラベル1枚印刷ボタンより印刷スクリプトを実行します。

下記のスクリーンショットは、「氏名」、「住所」など住所録のデータを印刷する時の印刷レイアウトです。印刷フィールドは小さなスペースへの印字となるためマージフィールドを使用します。
スクリプトはラベルの印刷位置指定(住所録の次のの画面)に飛び、ラベルが残っていて印刷したい場所をマウスで選択します。
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-18-22-51-43

印刷はラベル1枚印刷という印刷用のテーブルとレイアウトを作成します。このテーブルとメイン住所録をリレーションで結合します。
(リレーション図を参照下さい)

住所録IDをキーフィールドとしてリレーションをかけて該当IDの住所データをルックアップで取り出しラベル1枚印刷のテーブルにコピーします。

この印刷手続きはスクリプトで行います。

先ずラベル1枚印刷というテーブルに14個の空白レコードを用意します。
印刷位置の検出は位置検出スクリプトで選択された番号を取得します。
(位置検出選択の方法は前の投稿ファイルメーカー住所録その3年賀はがき印刷に例を記載しています。ご参照下さい。)
変数「$$選択位置」にラベル番号が入ります。

印刷スクリプトは下記になります(メインの記述のみです)%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-30-21-48-57

レイアウト切り替え 「ラベル1枚印刷のフィールド」(ラベル1枚印刷」
レコード・検索条件/ページへ移動[ $$選択位置 ][ ダイヤログ無し ]
フィールド指定 [ ラベル1枚印刷::ラベル1枚氏名; Lookup ( 住所:: 氏名; ”” )
…..
その他の必要な住所データを同様にlookupで取得します。

レイアウト切り替え「自宅宛ラベル1枚印刷l-7163」(ラベル1枚印刷)
印刷指定 [ 用紙の向き 縦; 用紙サイズ 8.26” x 11.69”
印刷 [ 対象レコード; 全てのページ; 印刷の向き 縦 ; 用紙サイズ: 8.26” x 11.69” ]
   [ 記憶する: Canon MF220 ]
3枚目のラベルに印刷する場合、2枚目まで空白レコード、3枚目は実データ、4枚目以降再び14枚目まで空データを印刷します。

注意事項として、プリンターの設定は空レコードも印刷しますので、印刷設定は対象レコードを全てとします。
また2段7行のような段組印刷は使用したプリンターに設定がありません。
ファイルメーカーにはレイアウトが利用出来ます。%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-19-22-26-48下記のスクリーンショットの様に、レイアウト設定の印刷で、印刷時の段数をチェックし段数を入力します。2段7枚計14枚のラベルは2段とします。

3枚目以降連続データとする時も以上の応用となります。
一番下に3番目にサンプル印刷した例を載せました。

1st 2016/12/05
2nd 参照位置修正 2016/12/06
3rd 説明と事例画面追加 2017/06/24
4th 事例画面再追加 とファイルメーカーにカテゴリー変更2017/06/25
K.Fukuma

FileMaker住所録を筆まめで年賀状印刷

ファイルメーカー住所録その4です。
今年も年末が近づいてきました。
ファイルメーカー住所録は完成が近いのですが、年賀はがき用の毛筆体フォントが見つかっていません。通常の文字は問題ありません。縦書き印刷で不揃いが出ます。(ファイルメーカー住所録は前の投稿をご参照ください。他に23があります。)
いくつかダウンロードして試してみましたが、ファイルメーカーVer14ではNGです(Ver12ではOKのものもあります)。
このため毛筆体年賀印刷は暫定的にWindowsソフト「筆まめ」にファイルメーカーからデータを出力して印刷するモードを作りました。

外部ソフトにデーターをエクスポートするとフィールド合わせが大変だった記憶があります。今回はあらかじめ筆まめのインポートの特徴を調べました。ファイルメーカーから出来るだけ簡単な手続きで送り出せる様にファイル形式や書き出すフィールドを限定するなど対策をしました。
_mg_2357-1-2<Photo Data>2016/10/30 北口本宮冨士浅間神社(この大鳥居は木造建築で日本一だそうです。入って右奥が富士山への登山口です。)
Canon EOS5D MarkⅡ EF24-105mm f/4L IS USM
1/125 f4.0

<住所録本体の改善>
ファイルメーカーのフォントはFileMakerVer12でも14で問題が出ないヒラギノ明朝ProW3に変更しました。このフォントは縦横どちらで書き出しても問題ありません。書体もきれいです。ちょっと固めの表現になります。年賀状印刷は会社向けが適でしょう。
住所録のアウトプットは、前回以降の追加として連続「はがき印刷」、「ラベル印刷(横書き)」を追加しました。挨拶状の送付などで連絡先の関係宛先を抽出すると、一度に印刷することが可能となりました。

また、住所や氏名の長さが長いカタカナ名や二文字氏名など極端な場合の対策として、従来はレイアウトを場合分けして印刷していましたが、今回文字長に応じてフォントサイズを制御し、そこそこな見栄えになる様にしました。%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-31-21-40-54

<筆まめへのエクスポート>
ファイルメーカー住所録から筆まめにエクスポートするには、先ず出力するフィールドを規定するレイアウトを作ります。このフィールドは筆まめが読み込むことが出来るものに絞ります。余計なフィールドがあるとフィールド合わせで苦労します。
筆まめで読み取ることが出来るファイル形式は、CSVやテキスト、エクセル、outlookなどですが、今回はExcelで書き出すことにしました。
筆まめの印刷先は、自宅か会社かデータが存在する方が自動的に宛先にセットされます。自宅、会社の両方にデータがあると、インポート時に手動で一括決定とするか、読み込んだ後筆まめで個々編集となってしまいます。
連名についても登録している連名は全部印刷対象になります。敬称も同じです。
これらは後で編集修正するのはちょっと大変です。この対策として、ファイルメーカーで筆まめ用出力レイアウトを用意して、宛先と関連するデータに絞り込むスクリプトを用意しましました。連名についてもファイルメーカー側で印刷したい連名を事前に限定して出力する様にしました。

下記スクリーンショットがエクスポート用のフィールドレイアウトです。
宛先を自宅か会社かは、住所入力メニューに選択フィールドを設け、このフィールドがtrueかどうかで判断します。
フィールドの仕訳は、例えば、
印刷用住所1フィールド = case ( 宛先 = “自宅” ; 自宅住所1 ; “” )の様にcase関数を使用しました。
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-02-10-50-37

 

 

筆まめではファイルメーカーからExcelで書き出したファイルを読み込みます。
下記は筆まめ側で読み込む際のスクリーンショットです。2016-11-02-1後は筆まめでプリンターを設定してはがき印刷が可能です。

ゆうちょの「はがきデザインキット」も検討しましたが、住所フィールドが「都道府県」、「市区町村」、「建物」と住所フィールドの分割が多く利用できませんでした。

<開発環境>
ファイルメーカーの開発は、FileMaker Pro Ver12と同Advanced Ver14 を使用しました(12と14は拡張子は同じです。12の方が自分としては使いやすいのですが、サポート終了となってしまいました)。
ハードはMac Mini、OS X 10.9.5、メモリーは8GBです。OSはElCapitanでも問題ありませんでした。
Export先の筆まめはWindows10、Ver25です(筆まめの最新版(Ver27?)では未確認です)。
データ接続環境はMac-Windows間で整備しておいた方が便利です。
同一LAN内にあればMacの共有からファイル共有を選び、ファイル共有のOptionでSMBが使えるようにチェックを入れます。WindowsPCでログイン出来るようにログインID許可を追加します。
ファイルメーカー側で、エクスポート先を決めますと、Windows側からログインするとエクスポートファイルにアクセス出来ます。

<その他>
ファイルメーカーのExcel汎用書き出しもありますが、何故か文字化けしてしまいました(スクリプトを使った場合は問題は出ていません)。Excelで書き出すスクリプトは下記の様にしました。UTF-16の文字化けはありませんでした。

レコードのエクスポート [ダイヤログ無し;「筆まめ印刷”.xlsx」 ; unicode ( UTF-16 )]

スクリプトを使わず汎用Exportで書き出すときは、CSVかテキストにすると良いでしょう。

1st 2016/11/04
2nd 表現等の統一見直し 2016/11/05
3rd 部分修正 2016/11/17
4th ファイルメーカーにカテゴリー変更 2017/06/25
K.Fukuma