キンコミ kintone user community

みんなの投稿

①あるサービスのDBからCSVで売上データDL。
②できるだけ未加工のままkintoneにCSV取り込み
③①に含まれている「yyyy/mm/dd hh:mm:ss」を基準にその月末に担当者(kintoneユーザー)にリマインドを発信



③をサラッと書いてしまっているのですが、
・日時フィールドの内容を日付フィールドに転記して
・その日付フィールドをベースにして月末を計算させて
・その月末の日に「完了フラグ」の立っていない場合のみ担当者にリマインドする
・できれば月末から3日間は「完了フラグ」が立っていない場合にリマインドを徐々に文章をきつくしながら・・・

という感じの流れをできるだけ容易に、かつTiSさんのプラグインの組み合わせ等で完結できればと思っているのですが・・・。

しばらく脳みそフル回転で仕事しないと・・・。

4件のコメント (新着順)
松田正太郎
2021/05/25 02:02

たなかさん、こんにちは。プロジェクト・アスノートの松田です。
1つアイデアを。
2段階で取り込むようにすると、実現可能かもしれませんね。

1段階目:
データ一時取り込み用アプリにCSVを読み込む。
※kintoneの関数で、次に本ちゃん取り込み用のデータ形式、フィールド名の整理等を実施。

2段階目:
1段階目のアプリからCSV出力(専用の一覧を作っておく)
本ちゃんアプリに取り込む。


松田さん

なるほど!
前処理というとExcelや他の処理系などkintone以外でと考えがちですが、前処理用のkintoneアプリを作るという方法も確かにありますね!参考になりました。ありがとうございました。

サエラたなかさん

・その日付フィールドをベースにして月末を計算させて

kintoneの標準機能で月末を計算させる方法もあります。

「翌月末の日付をkintoneの標準機能で計算」
https://qiita.com/t0ru/items/b917bc9e72ba214d821d

上記の記事は「翌月末」ですが、それを「今月末」にするために、

1.日付に62日をたして、62日(≒2か月)後の日付を計算する
2.62日後が3か月後になる場合は、62日後の日付から3日ひいて、2か月後にする
3.翌々月の日付から、翌々月の「日」をひいて、翌月末の日付を計算する


1.日付に31日をたして、31日(≒1か月)後の日付を計算する
kintoneでは日時や日付を秒単位で扱うため、計算式でも秒単位で指定します。
31日後の日付 : 元の日付+31*24*60*60
例 : 元の日付が7月6日なら、31日をたして、8月6日となります。

2.31日後が2か月後になる場合は、31日後の日付から3日ひいて、1か月後にする
1月が31日間、2月が28日間、3月が31日間なので、最小の1か月後は28日後です。
31日後が2か月後になる場合でも、3日ひけば、1か月後になります。
翌月の日付 : IF(31日後の日<元の日 , 31日後の日付-3*24*60*60 , 31日後の日付)
例 : 元の日付が8月31日なら、31日後の日付が10月1日となります。3日ひいて、9月28日とします。

3.翌月の日付から、翌月の「日」をひいて、月末の日付を計算する
日は、DATE_FORMAT(日付,"d","system")で求められます。
月末日 : 翌月の日付 - 翌月の日*24*60*60
例 : 翌月の日付が9月6日なら、6日をひいて、8月31日となります。

ご参考まで。


kopata
2021/05/07 14:19

残念ながら、計算フィールドで算出した日付はリマインダーの通知タイミングには使えないみたいです。

ko-hataさん、そうでした!
リマインダーの通知ができませんでしたね。
残念。

中村さん

日付を数えて月末を求めるというのは面白いですね!
参考になりました。ありがとうございます。

私もやってみました。^^

うるう年と平年をまじめに算出してみた kintone
https://note.com/46u/n/nbdc0b1813273

返事が遅くなりまして申し訳ないです。
試してみてました。

ko-hataさんも書かれているようにリマインダーが・・・という・・・。
やはりExcelで前処理してから取り込むのが、現状ではベターですよね。

kintoneでもう少し日付計算が・・・という願いが開発サイドに届きますように!

サエラたなかさん。

そうですね。「月末算出」というのがkintoneには専用の関数がないので、ちょっと工夫がいりますね。私も同じくCSVでの取り込みなら、kintoneに取り込む前に処理する方法を考えます。

DBがなにかわかりませんが、OlacleならLAST_DAYが使えますし、DBからCSVの取り出しからkintoneの取り込みまでをバッチファイルにして自動化します。

また、未完了者へのリマインドについては、実際には会社の実稼働日をもつ必要があるケースも考えられますので、その場合、実稼働日のカレンダーをどこに持つかによっても変わってくるかと思います。

実稼働日を考慮しないのであれば、例えば先日のゴールデンウィークだと、未完了者がゴールデンウィーク明けに、3通のリマインドをまとめてみるということになりませんかね。^^;

参考になるかわかりませんが、私のnoteのリンク貼っておきます。

「はじめようkintone コマンドライン」でCSVファイルを取り込もう
https://note.com/46u/n/n1d0aecb444a2

kintoneのレコードを簡単にExcelで修正したい!
https://note.com/46u/n/n3692344b9de3


ありがとうございます。
電子決済系のサービスから売上データをDLして、勘定系の社内システムに取り込む前の処理(仕分け等)としてkntoneを利用するイメージです。
「経理のパートさんだけで容易に運用・改善できる」を考えると、どこかで手作業を挟むしかないかなと思っています。
『属人的なkintoneアプリ』というのはできるだけ避けるという思想で回していきたいと思ってますので・・・。

コマンドラインを触ったりなども特に難しいことではないというのも重々存じているのですが、そこを「経理のパートさん」に求めるのも違うなぁと思うので難しいですね。

※私は社内のユーザーに対して、解決法や思考法でサポートはしますが私が設定することはありません。
※これは私がいなくなっても、各部署が困らないようにするという運用方針のためです。

kopata
2021/05/06 18:27

②できるだけ未加工のままkintoneにCSV取り込み

とあるので、多少加工してもいいなら、月末を求める部分をエクセルに任せて、エクセル上で生成した月末の日付をkintone アプリの日付フィールドにインポートして、それを基準にリマインドを打つというのは如何でしょう?
エクセルには月末を求めるEOMONTHなる関数があるようです。


そうですね。
月末日付をセットする必要があるので
TISさんのプラグインで月末日付算定を考えておられますが
プラグインが動作するのは、ブラウザでレコード表示・更新等が
の操作が必要となりますので、ローカルで月末日付を算定して
一括アップロードするのが運用操作的には良いのではと思います。

その方法が一番無難ですよね・・・。
「できるだけ未加工のまま」というのは、頭0埋めで桁合わせしている値とかで"やらかし"が発生しそうで怖いというのがありまして、その辺りのヒューマンエラーをできるだけ起こさなくしたいというのが理由なんです。

ワンクッションかまして運用するというプランも検討しているのですが、なかなか難しいところです。

確かに、CSVファイルを加工するというのは0詰めが消えたりトラブルの元ですよね・・・。
kintoneではなく電子カルテとそこから出す統計データの処理で同じような悩みがあり、CSV元データ貼り付け用のxlsxファイルを作ったりしています。
貼り付け用シートとそれをもとに関数等でいろいろ処理した結果が出るシートに分けて運用してます。
現場スタッフの作業は以下の3工程で済むようにしているので、CSVファイルを直編集していた時よりもトラブルは減りました。
①CSVから全選択でコピー
②処理用エクセルに貼り付け
③名前を付けて保存