rex0220 計算式プラグイン 仕入れ先別テーブル集計に、入力用請求日を追加してみます。
集計先テーブルに入力用項目を設定する例になります。
概要
申請社給品、購入金額、購入元が指定されたテーブル行を仕入テーブルに集計します。
仕入テーブルには、入力用請求日を追加します。
※仕入先別合計テーブルと仕入テーブルは横並びプラグインで並べています。
単純にテーブル集計を行うと請求日がクリアされるので、「仕入先 & "-" & 発注品 & "-" & 単価」をキーとして、請求日を集計後にも反映させます。
操作例
計算式プラグイン設定
- 仕入テーブルの計算式
- dic 変数に、集計前の請求日を格納
- psum 変数に、仕入テーブル用の集計データを作成
- 仕入テーブルにpsumの値をセット
- dic 変数から集計前の請求日を請求日にセット
OPTION: 循環参照を許可
// 購入.購入引当 NUMBER
LET(
w, TR_SUM(申請個数,-在庫対応),
IF(w>0, w, 0)
)
// 購入.購入金額 NUMBER
購入引当*申請単価
// 仕入先別合計 SUBTABLE
TLTABLE(購入,
TPFILTER(AND(申請社給品,購入金額>0,購入元)),
TPKEY(購入元),
TPVAL(購入金額),
TPOUT(仕入先T,発注金額T)
)
// 仕入先別合計.発注金額:発注金額T NUMBER
// 仕入 SUBTABLE
LET(dic, DIC(), // 辞書作成
dummy, TARRAY(
LET(key, 仕入先 & "-" & 発注品 & "-" & 単価, // キー作成
DIC_ITEM(dic, key, 請求日) // 辞書登録
)
),
psum, TLTABLE(購入, // 購入集計
TPFILTER(AND(申請社給品, 購入金額 > 0, 購入元)), // 条件指定
TPKEY(購入元, 申請社給品, 申請単価), // 集計キー
TPVAL(購入引当, 購入金額), // 集計値
TPOUT(仕入先, 発注品, 単価, 発注個数, 発注金額) // 出力項目
),
dummy, FSET(仕入, psum), // 仕入反映
dummy, TARRAY(
LET(rowno, ROWNO(仕入), // 行番号取得
key, 仕入先 & "-" & 発注品 & "-" & 単価, // キー作成
FSET(請求日, DIC_ITEM(dic, key), rowno) // 日付反映
)
),
"" // 終端
)
// 仕入.仕入先 DROP_DOWN
// 仕入.発注品 DROP_DOWN
// 仕入.発注個数 NUMBER
// 仕入.単価 NUMBER
// 仕入.発注金額 NUMBER