実物大表示
※ フォームの形式(一覧表形式・伝票形式のどちらも利用できます)が、今回は、一覧表形式を利用しました。
理由:伝票の入力時に、売り上げ伝票の場合は、発行元になる為、伝票の行数は指定できますが、仕入れ伝票の場合は伝票の行数が様々です。
入力時に、仕入れ伝票との金額チェックで誤入力の確認をできるように、一覧形式にしてあります。
マウスクリックでジャンプします。 でもどります。
マウスクリックでジャンプします。 でもどります。
テキストオブジェクトに、集計項目を配置
グループ操作バーボタン
画面例
グループ操作バー
機能的には、グループ操作バーとほとんど同一です。画面のレイアウト(イメージ)の関係で設置してあります。
コマンドボタンの内容は左から、ボタンの標題名・機能名・機能パラメータリスト。(すべて1行設定です)
ボタンの標題 行番号 機能名 機能パラメータリスト 伝票削除 1 行削除_全行 確認する 明細削除 1 行削除_指定行 確認する 追加 1 グループ追加 指定 1 グループ指定 前へ 1 グループ指定 前 次へ 1 グループ指定 次
マスター編集ボタン
画面例
伝票入力時に「商品マスター・仕入先マスター」より、表引きを利用してます
新規・修正等の対応のため設置しています。
コマンドボタンの内容は左から、ボタンの標題名・機能名・機能パラメータリスト。(すべて1行設定です)
ボタンの標題 行番号 機能名 機能パラメータリスト 商品M 1 開く 商品マスター.tbl 仕入先M 1 開く 仕入先マスター.tbl
※機能パラメータリストには、フォームを設定しても結構です。
戻るボタン
画面例
機能名 機能パラメータリスト 1 表示 2 手続き実行 仕入終了 3 閉じる 破棄する 4 なし
- 表示 → 入力中(編集中)の項目が有れば表示モードに切り替え
- 手続き実行 → 仕入終了イベントの内容
・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・
手続き定義開始 仕入終了()
グループ選択解除
絞り込み [商品コード]<=0
ケース開始
ケース(&選択件数>=1)
行削除 *
ケース終了
絞り込み解除 *
絞り込み [金額]>=1
ケース開始
ケース(&選択件数=0)
手続き終了
ケース終了
表 "仕入明細.tbl"
ジャンプ 行番号=終端
読み込み 表,"仕入追加.tbl",編集表=する,終了状態=&ok
終了 表 編集対象表
編集表 "仕入追加.tbl"
絞り込み解除 *
手続き定義終了
・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・
- 仕入終了イベントの説明
- ケース文で入力エラー行・金額の入ってない行を削除
- >表 "仕入明細.tbl" →入力データ保存ファイルを開く
- >ジャンプ 行番号=終端 →行移動
- データの読み込み
- 仕入れ伝票フォームを、破棄(確認なし)で終了します。
通常は、入力用の表(tbl)は、データなしの状態です。入力後は、保存表へ転記しておきます。
伝票入力用テキストボックス
画面例
- テキストボックスを配置
伝票No・仕入れ年月日・仕入先・仕入れ業者名等の入力(値集合・表引き等の設定で、入力作業が効率よくできるようになります)- 入力支援ボタンは編集状態のときだけ表示を行い、通常は非表示にしておいたほうが見た目にはきれいですね。
日付項目について。今回は3個の別々の数値項目で設定していますが、1つの日付項目で設定してもいいです
また、表(tbl)の方で自動複写・挿入初期値式・編集初期値式を定義することによって、数段入力が早くなります
入力モード変更ボタン
画面例
今回のシステム紹介の1つでもありますが、入力項目を変更するボタンです。
例:早い話がお寿司やさんの時価みたいなものですです。
同一商品で単価が異なる仕入れがあるような場合、同商品名・異単価を全部商品マスターに登録するのは大変です。
※金額だけ求めるのでしたら、単価を1円にしたマスターを登録しておき、数量入力時に、金額を入力する方法もありますが、今回は数量も集計利用するシステムのため、この方法は採用できません。
そこで、入力モード切り替え(イベント(kev)を利用して)により、実現したいと思います。上図は、その切り替えボタンと状態を表示するテキストオブジェクトです。
ここでは上記画面図のみ説明を記載いたします 入力変更詳細は、明細部説明へ
- 状態表示を行う、テキストオブジェクト
タブ 名称 入 力 内 容 テキスト ソース(S) "現在 "+#条件選択(&環境数値[20]=1,"固定",1,"変更")+" 入力"
- 切り替えボタンと凹凸の維持方法
※変数が、「&環境数値[20]」となってますが、すべて統一して有れば他の名前でも使用可能です。
- ボタン[固定へ]
機能名 機能パラメータリスト 1 実行条件 .not &環境数値[20],&環境数値[20] 2 なし #代入(&環境数値[20],.not &環境数値[20]) 3 手続き実行 入力変更 4 なし
- ボタン[変更へ]
機能名 機能パラメータリスト 1 実行条件 &環境数値[20],.not &環境数値[20] 2 なし #代入(&環境数値[20],.not &環境数値[20]) 3 手続き実行 入力変更 4 なし
1.最初の実行条件で、ボタンの凹凸を判断(表示)します
この実行条件が「真」の場合、以降を実行可能です。また「擬」の場合はボタンが凹状態になります。
2.#代入の意味:変数に .not の値を代入します。(現在0なら、1、現在1なら、0 が、入ります)
3.手続き実行 入力変更 イベント(kev)を、実行します
- 手続き実行 → 入力変更内容
・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・
手続き定義開始 入力変更()
ケース開始
ケース(&環境数値[20]=0)
オブジェクト操作 @商品名.タブストップ="1"
オブジェクト操作 @単価.タブストップ="1"
ケース(&環境数値[20]=1)
オブジェクト操作 @商品名.タブストップ="0"
オブジェクト操作 @単価.タブストップ="0"
ケース終了
手続き定義終了
・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・
- 入力変更イベントの説明
- ケース文で、&環境数値[20]を判断
- &環境数値[20]=0の場合、商品名と単価のタブストップをONに設定
- &環境数値[20]=1の場合、商品名と単価のタブストップをOFFに設定
コマンドボタンをクリックして、凹凸状態を維持する方法は、掲示板<1725> hidetakeさんのサンプルを利用させていただきました。
この場を借りてお礼申し上げます。hidetakeさんどうもありがとうございました
自動計算テキスト
画面例
項目計算式を設定してある項目の表示。
今回は仕入先を選択すると、請求締め日を計算式で表示ししています。
計算式で表示を行う、テキストオブジェクト
項目名 タブ 名称 入 力 内 容 締日 テキスト ソース(S) #表引き([仕入先名],=,"仕入先マスター",[仕入先名],[締日]) 締年月 テキスト ソース(S) #条件選択([年]*100+[月]<>0,[年]*100+[月])
- 一応表示してはありますが、計算式作成されるデータは必ずしも必要はありません。適宜に使い分けてください。
- 計算式で表示されるデータは、項目を設定してなくても表示が可能です
画面例
本来、入力画面は、商品コード・数量だけあればいいのですが、やはり商品名や単価・金額を目で見て確認を行う方が確実(安全)です。
そのため上図のようなレイアウトが一般に使用されます。
普通に入力フォームを作成すると、表(tbl)に項目計算式が設定してあっても、フォーム上では、カーソルが止まります。(編集・訂正はできません)
そこで、フォーム上で入力(移動)に不必要な項目の「フォーカス設定」を、禁止に変更いたします。これで、思い通りに動くようになりますね。
しかし今回は、「商品名・単価をの変更入力を行う」というのが前提のため、「商品名・単価」に項目計算式の設定ができません。
当然計算式がなければ商品名等は表示されません(挿入初期値式・編集初期値式が設定してあってもフォーカスの移動がなければ表示されません)
※タブストップは、フォーカスが設定してある場合は、チェックボックスを「OFF」にしていても、動きます
そこで、(なが〜い、前書きで・・・・・・すみません)
固定(商品名・単価変更なし)入力と、変更(商品名・単価変更あり)入力を、同一フォームで行う為に
桐ヘルプより 【イベント処理】 他の表を操作する より、転載 |
名札 メイン |
このサンプルでは、「検索」を利用しています。この方法でも可能と思います ※イベントの種類は、「入力支援クローズ」ですが、「ソース値更新」等でも利用できます |
|
今回おすすめは |
続き定義開始 数量::入力前(参照 文字列 &編集文字列) |
イベントは上記7行です。 ただし、表(tbl)の方に項目を、新たに 2個追加が必要です 項目の内容: [商品名2]項目計算式「#表引き([商品コード],=,"商品マスター",[商品コード],[商品名])」 [単価2]項目計算式「#表引き([商品コード],=,"商品マスター",[商品コード],[単価])」 ※ フォーム上には表示の必要はありません。 また、イベントを発生させるオブジェクトは、 [商品コード]の「入力後・ソース値更新」でも可能です。 |
一度しかでてこない単価や商品名等にコメントを追加したいときなど利用下さい。
商品マスターに登録してない入力が行えるように設計したときの注意
以降「転記・集計・読み込み」等は、再計算を行わず、商品名・単価も入力した元データを利用するように注意が必要です。
テキストオブジェクトに、#合計([金額])の計算式が設定してあります。
他は、特になし。