みんなの投稿

初めて投稿致します。可能な策があるか、お知恵を貸して頂けないでしょうか。

kintone アプリ内の1レコードにテーブルでフィールド項目「商品CD」を持たせているのですが、
1レコード1回の注文に複数商品を受け付けるため最大15商品CDがテーブル内で表示されるようにアプリを設計しています。
この商品CDをPrintCreator 側の帳票出力項目に指定するのですが
今回社内ユーザーの希望で 商品CDを1行で2つ、CDの間にカンマをつけて書式の幅で全件表示して欲しいと相談されました。
テーブルのフィールド項目は1件1行ずつでしか表示できないので
同じフィールド項目の値を2つ並べて、しかも間にカンマを入れて
2つ目で改行させるなんて離れ技できるんでしょうか。。
実現方法の想像もつきません…。

以下がその希望の形の記載例です。

①現在のPrint Creator 上の記載 仮に注文商品が7個の場合
商品CD
01234561
01234562
01234563
01234564
01234565
01234566
01234567     ←7行になる

希望のPrint Creator 上の希望の表示(7件縦に長くしない)
商品CD
01234561 , 01234562
01234563 , 01234564
01234565 , 01234566
01234567      ←4行で収めて欲しい

◆kintone と PrintCreator ともに両方ともスタンダート契約
◆スクリプトでもプラグインでも技術的に実現可能な方法があれば制約はありませんのでアイデア思いつく方のご助言をお待ちしております。

よろしくお願い致します。

3件のコメント (新着順)

この出力する帳票は発注書か納品書、請求書かなと思うのですが、同じ行に二つを記載させる意味って何なんでしょうか?

そもそも論になってしまって申し訳ないのですが、たぶんそこを掘り下げる方が解決させやすいように思いますし、単に社内の誰かの好みの問題であれば、
「システムに業務を寄せる」
という視点をもつことも大事だと思いますがどうでしょう?


ご意見ありがとうございます。
まさにおっしゃる通りかとも思っています...。帳票は invoice です。
同じ行に2つを記載させる意味は、PrintCreatorの背景(罫線枠)上、最大15商品CDを縦に並べると視認限界のフォントサイズにするとレイアウト内の縦幅がカツカツになるから…です。
kintone化前の元票Excelでは手で改行や自動調整で希望のレイアウト内に収める自由が効いただけにPrintCreatorで強制的に15件商品CDがズラーっと縦にギリギリまで並ぶ見栄えの悪さ(?)に対するご要望でした。
要望完全実現案や多少の手間とアシストまでの折衷案、複雑な機能作り込みのデメリット(運用譲歩)、色んな選択肢を伝えて納得した形で相談事項を着地させたいと思い今回みなさんのご意見を募らせて頂きました。
お蔭様で技術的な可否ポイントも見えてきて社内で議論できる選択肢が見えてきましたので、ご指摘の視点はしっかり理解してもらえるように話し合いたいと思います!

技術の専門家の皆さんとは違う視点でユーザーDX推進担当(笑)として、素人意見ですが、注文レコードに対して、商品CDをサブテーブル化したらどうなのかな?と思いました。

※自分の組織でも似たような案件として1稟議(ユニーク稟議NO)➨物品を複数購入(複数の購入明細)のパターンがありましたので

技術的な視点とは別にあくまでご参考までに~


ご意見ありがとうございます。
こちらこそ勉強不足で申し訳ありません。「サブテーブル化」というのはテーブルフィールドを置いてその中に商品CD,商品名,単価,税,金額などを入れて複数行追加できるようにするのと、何か別の手法でしょうか?
注文レコード1件で商品がN種類登録できるようテーブルは設定してあるのですが、加えてそれとは別で商品CDのみをさらに別テーブルに持たせる、という意味でしょうか。

いえいえ、自分こそ、わかりづらい書き方ですみません

まさに、tetsuさんが記載した内容ですね

注文NO~1➨商品NO~N(サブテーブル)、 1対Nの関係で作られているので、あれば全然問題ないと思いました。※もしこの仕組みを知らずに作成されてら、逆に大変かなと思いましたので汗

ですので、個人的には、たなよしさんの言う通り、そもそも論、なぜ、1フィールド内に、複数NOという点かとは感じました。~ただここも、tetsuさんの実際のオペレーション的に、必須ということもあるかと思いますが、昨今の流れ的に「システムに業務を寄せる」(これまでは、業務にシステムを合わせるから)、が自分も主流とは感じておりますので、色々な視点で改善できたら良いかと思いました~

チョット教えてください。

[商品CD]欄は「テキストベタ打ちで、見栄えは人が調整する」でもイイのでしょうか?
加えて、「番号をカンマで区切って分解し、番号個々で集計する」とかできなくてもイイのでしょうか?

上記でよくて基本機能でということであれば、[商品CD]欄を文字列(複数行)フィールドにして、

01234561 , 01234562↩️
01234563 , 01234564↩️
01234565 , 01234566↩️
01234567
(↩️は改行(Enter)のつもり)

をベタ打ちする。という手があります。

また、文字列(複数行)フィールドは列幅は固定ですが勝手に文字を折り返してくれるので、イイ感じの幅にしておき、

01234561 , 01234562□01234563 , 01234564□01234565 , 01234566□01234567
(□はスペース(またはカンマ)のつもり)

と1行入力で所望の表示を得る。というのもあります。
(ただし、いずれの場合も行高さも固定なので、例えば15商品表示に最適化すると、データ1行でも15商品用と同じ高さの表示になってしまいます。高さを調整して出力したいなら、印刷プラグイン側にその機能が求められます。)

「番号は他から持ってきて結合したい」ということなら、文字列(複数行)フィールドは自動計算@基本機能ができないので、相応の(カンマで繋げ、2つ繋げたら次はスペースで結合するというような)処理をJSでゴリゴリ書くか、そういったことのできるプラグインを使うしかないかなと思います。

ちなみに、小生使用のCUSTOMINEでもPDFに直接出力するときは行高さ固定ですので、調整したいときはExcelで出力し、手動で高さ調整/関数で文字列結合処理を行った後、PDFエクスポートかPDFプリンタドライバ経由でPDF化するか、Excelの機能で紙印刷するなどしています。

ご参考になれば幸いです。


遅い時間にも関わらずありがとうございます!
「商品CDを複数行文字フィールドにしておいて転記させる」という少しの手間で収めて希望を叶える案はそこまでして実現すべき目的かという思考をしてもらう意味でもアリな提案ですね!
加えて「番号は他から持ってきて結合」する案やプラグインでExcelにCD値だけ落してPDF化する前に調整してもらうという案もありですね。相談を受けたその場でも商品CDだけはPDFに手で入力して埋め込むのではダメなのかと進言したことがありました。
色々なアイデアを頂き大変助かります。勉強にもなりました。
要望者に相談してみたいと思います。ありがとうございます!