TECH BLOG

MENU

SVF

SVFX-Designer

請求書などで特によくある話として、締日を月末日付にしたいことがあると思います。そんな時はSVFに用意されている関数を使用することで、入力した値を月末日付に変換してから印字することができます。月末日付に変換するための関数を編集式に設定するところが今回のポイントになります。

注意点として、入力される日付の形式がYYYYMMDD(例:20170301)である必要があります。もし区切り文字「/」や「年・月・日」が入っている場合はLEFT関数やMID関数、RIGHT関数などを使用し、YYYYMMDDの形式に変換してから試してみてください。

請求書イメージ

まず、月末日付に変換したいフィールド(ここでは締め日というフィールド名)をクリックし、プロパティウィンドウを開きます。プロパティウインドウで、[編集式]の右部をクリックします。
プロパティ 編集式

編集式ウインドウが表示されますので、

ADATE(LEFT(STR(ADATE(LEFT(YMD,6)+”01″,32)),8)+”01″,-1)

と入力します。本記事からのコピー&ペーストでOKです。
この式ではその月の「1日」+32日をし、翌月を求めて、翌月1日から1日引いています。なのでうるう年も取得可能です。YMDは日付が入っているダミーフィールドになりますのでコピー&ペースト後に、冒頭で説明したYYYYMMDD形式の日付型フィールドに置き換えを行います

この記事を書いているとき、となりの同僚に「土日はどうするの?」と聞かれたので土日を考慮する版も作ってみました。

IF(CDOW(ADATE(LEFT(STR(ADATE(LEFT(YMD,6)+”01″,32)),8)+”01″,-1)) = “日”, DTOC(ADATE(LEFT(STR(ADATE(LEFT(YMD,6)+”01″,32)),8)+”01″,-3)), IF(CDOW(ADATE(LEFT(STR(ADATE(LEFT(YMD,6)+”01″,32)),8)+”01″,-1)) = “土”, DTOC(ADATE(LEFT(STR(ADATE(LEFT(YMD,6)+”01″,32)),8)+”01″,-2)), DTOC(ADATE(LEFT(STR(ADATE(LEFT(YMD,6)+”01″,32)),8)+”01″,-1))))

月末日付が土曜日だった場合にはさらに1日、日曜日だった場合にはさらに2日引いているため、このように長い式になっています。

土日を考慮する版としない版、どちらか使いたい方を選んでコピー&ペーストすればOKです。編集式

コピー&ペーストで入力した[YMD]の箇所を実際のフィールド名に置き換えます。[YMD]の箇所はすべて同じフィールド名に置き換えてください。置き換えが終了したら[OK]を押して編集式のウィンドウを閉じてください。
編集式 置換後


テスト印刷して、下記のように月末日付で表示されていれば完了です。
請求書 月末日付設定 完成イメージ

もしうまく表示されない場合は、入力元の日付フォーマットを確認してみてください。
繰り返しになりますが、今回の関数を用いて変換するためには、20170301のような入力データである必要があります。

ちなみにデータを入力する代わりに印字日(システム日付)を使用したい場合は上記のYMDの箇所をDATE()にしていただくことでシステム日付の月末日付を印字することもできますので試してみてくださいね。

お役に立てたでしょうか。
今後も様々な関数を利用した帳票設計ノウハウをご紹介していきたいと思いますのでお楽しみに。

この記事にリアクションしてみませんか?

  • 分かりやすい (0)
  • 問題が解決した (0)
ありがとうございます✨
プロフィールへ

ウイングアーク テクニカルエンジニア

ウイングアーク1stの技術部隊が記載しています。中の人は製品に詳しく、日頃からお客様と接点のある人です。お役立ち情報をたくさん書いていきますので、どうぞよろしくお願いします!

Related article

Related article関連記事

Pick up

Pick upおすすめ記事

【まとめ】invoiceAgentのWeb APIを使ってみる

  • #API

2023.04.05

invoiceAgent

ユーザーごとに閲覧可能なデータを制御しよう!

  • #集計表
  • #データ加工

2021.02.26

Dr.Sum

まるでWebサイト!? 折りたたみメニューの作り方!

  • #集計表
  • #デザイン
  • #コンテナ
  • #ボタン

2021.01.13

MotionBoard

Ranking

Rankingランキング

1

Excelのデータを加工したい。~変換(横持ち⇔縦持ち)について~

  • #データ取り込み
  • #データ加工

2021.01.19

Dr.Sum

2

棒グラフを大きい順番に並び替えたい!(ソートしたい)

  • #集計表
  • #グラフ
  • #デザイン

2019.06.15

MotionBoard

3

SVFエラー解決までの近道 -帳票が出力されない編

  • #帳票作成・出力

2018.11.06

SVF

Info

Information

ウイングアーク1stからのお知らせ