みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
win10
FM17 ad
FMgo
現在キッチンプリンタへFMgoより直接プリントできるように挑戦中です。
伝票の明細テーブルの中に商品名・数量・単価・金額とあり、それをExecuteSQLで1フィールドで入れ込み、それをプリントするのですが、
プリントされたときに
商品 数量 単価 金額
商品AAAAA 1 1000 1000
というようにそれぞれの縦の軸に合わせて数字が入るようにしたいのですが、商品の名前が短かったり、長かったりすると
商品 数量 単価 金額
商品AAAAA 1 1000 1000
商品BB 1 900 900
商品CCC 1 1000 1000
というようにばらばらになってしまいます。これを
商品 数量 単価 金額
商品AAAAA 1 1000 1000
商品BB 1 900 900
商品CCC 1 1000 1000
のようにそろえるにはどのようにすればよいのでしょうか?
Offline
フィールドをレイアウトで外観ののタブ設定で位置とか幅は調整できるがたぶん思い通りになり難いので進めたくない。数字もテキストなど3桁区切りもできなしし・・・
むしろ別に作業用テーブルを用意し結果を分解生成でレコード化してから帳票に印刷する方がベストだと思う・・・私にはラベル印刷程度は出来るが帳票印刷する知識が無いが
書き忘れた
水平タブ(char(9))で区切られ場合です
ExecuteSQL ( "SELECT ・・ FROM ・・"; Char(9) ; "")
koko009様
ご連絡有難うございます。試してみます!
Offline
大変申し訳ございません。私の説明が間違っていたのかもしれません。
ExecuteSQLは使っているのですが、商品、数量、単価、金額のそれぞれのフィールドを1つのフィールドへタイプを計算にして
商品名&" "&数量&" "&単価&" "&金額
というようにして入れ込んでそれをExecuteSQLで読み込んでおります。なので1つのフィールドに入れ込むときに何かできるようにすればよいかと考えているところです。
私の説明が間違っていて申し訳ございません。
Offline
等幅フォントを使っていることが前提となりますが、
桁数を揃える際によく利用されるのは Left関数・Right関数です。
Left ( テキスト & "__________" ; 10 )
Right ( "__________" & テキスト ; 10 )
それぞれ左から10桁、右から10桁に揃える計算式です。「_」は半角スペースと思って下さい。
※10桁を超えるなら半角スペースを増やし数字も増やします。
ただし、半角が混じると文字カウントが狂うので(標準ではバイト数をカウントできない)
全角に整えるかカスタム関数を利用してバイト数で Left関数・Right関数 互換の関数を利用します。
FileMaker Go での文字揃えが不安要素なので大人しく標準的な明細行印刷レイアウトを作るほうが早いかも知れません。
※プロファイルを作れば iOS に好みの等幅フォントをインストールすることは可能です。
Last edited by Moz (2020-02-01 18:50:11)
Offline
Moz様
ご連絡ありがとうございます。いつも他の質問等でMoz様の回答を見て勉強させていただいております。
折角頂いたアドバイスですが、
FileMaker Go での文字揃えが不安要素なので大人しく標準的な明細行印刷レイアウトを作るほうが早いかも知れません。
ということで素直にそうしてみたいと思います。ただFMgoからのプリントも
https://www.key-planning.co.jp/software … filemaker/
からダウンロードしたファイルをもとに作成しております。
このダウンロードファイルのやり方は横一列のすべてプリントを1つのフィールドで完結しており、
商品名フィールド、数量フィールド、単価フィールド、金額フィールドのようになっておりません。
1フィールドに入れ込んだデータをHTMLに詰め込んでWEBビューアに放り込んで印刷みたいな感じになっており、
現時点での私ではちょっと理解に苦しいところですが、プリントまでは何とかうまくいきました。
商品名フィールド、数量フィールド、単価フィールド、金額フィールドを横に配置でれば一番わかりやすいのですが、
どのようにするのかアドバイスいただけないでしょうか?あとフォントサイズもどうやっても変更できなく、
2つ質問して申し訳ないのですが、教えていただけないでしょうか?
Offline
そのリンク先は、EPOSプリンタの制御方法だから、Filemakerの「印刷」機能は使ってませんし、使えないのでは?
プリンタがFMから印刷可能な機種なら、普通にレイアウトを印刷すれば済むでしょうけど。
重要な情報は先に書いて頂かないと......
himaganeeさんが書かれているとおりですね。
FileMakerの印刷機能を利用していないのでレイアウトで解決するのはボツ案です。
リンク先にあるサンプルファイルに #6 で例示した考え方のロジックも含まれていますね。
バイト数カウントのカスタム関数も入っているようですしまずはサンプルの応用から入ったらどうでしょう。
Offline
himaganee様 MOZ様
おはようございます。ご回答ありがとうございます。もう少しサンプルファイルをもとに取り組んでみたいと思います。ありがとうございます。
Offline
Epson のレシートプリンタで、EPSON Advanced Printer Driver に対応機種でしたら、そちらの方が手っ取り早いですよ。
機種名は。
Offline
shin様
いつもお世話になります。エプソンのtm-m30です。
Offline
レシートプリンタへの印刷は全く分からないがエプソンの機種なら
shinさんが
https://fm-aid.com/bbs2/viewtopic.php?id=8508
で紹介していた
https://partner.epson.jp/support/small_ … /print.htm
によれば
アプリケーションが作成したXML形式またはPDFの印刷データをURLスキームで受け取り、ESC/POS®コマンドに変換してレシートプリンターへ送信します
とあるのでPDFデータにすれば良いのではないのかな・・・PDFならフィールドのレイアウトだけで済む
素人考えで
やはり駄目ですね
この支援ソフトは
対応機種が限られていますね。
TM-m30 でしたら、EPSON Advanced Printer Driver が使えます。
一般的なWindows用ドライバーに用紙カットやキャッシュドロアーの制御を追加し、POS用途特有の制御を可能にしたドライバーです。
とありますので、普通のメニューコマンドで印刷できるようですよ。
iOSから印刷するデータを別テーブルに組込み、それをWIndows 機で定期的に読み出して印刷、という方法が取れると思います。(バーチャルリストのような仕組みにしておけば簡単かも)
本来は、Epson TM Print Assistant へ URL スキームで XML データを送り込み、プリンタへ送信するのでしょうが、そんなに難しくはないですよ。
Last edited by Shin (2020-02-03 18:20:04)
Offline
お持ちの機種ですと iWare さんの PrintAssist も利用できますネ。
iOS から直接印刷できますし FileMaker のレイアウトでOKです。
Offline
Moz様 Shin様 koko009様
いろいろ試していただいてありがとうございます。iwareのプリントアシスト存じております。現在iwareさんのprintassistを利用しておりますが、若干アプリを介してプリントする分遅く感じるところです。
iOSから印刷するデータを別テーブルに組込み、それをWIndows 機で定期的に読み出して印刷、という方法が取れると思います。(バーチャルリストのような仕組みにしておけば簡単かも)
とアドバイスいただきましたが、例えばwindows機でプリントしていない売上伝票みたいなものを10秒間隔で検索し続けてプリントしたらプリント済みにするようなことでしょうか?
Offline
windows機で何とかプリントができました。ありがとうございます。
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 557.78 KiB (Peak: 578.69 KiB) ]