株式会社COTSUBU
kintone

工程実績(作業時間・良品数・不良数)をkintoneで取る方法|現場が入力を続けられる形にする

宇田川 将也|11分
kintone製造業工程管理作業実績不良

工程実績の入力が続かない理由は、ほぼ1つです。項目が多いからです。機能を足すほど現場の手は止まり、3ヶ月後には誰も入れなくなります。

先に決めるのは、「何を入れてもらわないか」のほうです。実際に動かしている見本は製造業のkintoneにあり、この記事はその中の工程実績をどう設計したかの話です。

実績入力が続かないときに起きていること

起きていること 原因
紙の作業日報に書いて、事務が夜に打ち直している 現場から入力できる形になっていない
入力はされているが、空欄だらけ 項目が多く、要らない欄まで並んでいる
作業時間が「8時間」で全部そろっている 手で時間を書かせている。実態ではなく所定労働時間が入る
不良が「その他」ばかり 不良の区分が現場の言葉になっていない

3行目は多いです。手で「作業時間」を書かせると、人は丸めた数字を書きます。 開始と終了を押してもらい、時間は計算で出す形にしてください。

入力項目は6つまで

見本の工程実績アプリは、現場が入れる項目を6つにしています。

項目 入力の仕方 現場の手数
指示番号 ルックアップ(製造指示から選ぶ) 1回
工程名 ドロップダウン(材料切断/旋盤加工/熱処理/検査/梱包) 1回
作業者名 ドロップダウン、またはユーザー選択(初期値はログインユーザー) 0〜1回
開始 日時(初期値に現在日時) 1回
終了 日時 1回
良品数 数値 1回
不良数 数値(不良がなければ0のまま) 0〜1回

品名は指示番号を選んだ時点でルックアップで入り、生産数は 良品数 + 不良数 の計算フィールドです。人が入れる数字は増やしません。

入れないほうがよい項目

  • 作業内容の自由記述:書かれないか、「加工」とだけ書かれます。分析にも使えません
  • 設備番号:工程名で設備が決まるなら不要です。決まらない場合だけ足します
  • 段取り時間と加工時間の分離:最初から分けると入力が倍になります。まず合計で取り、必要になってから分けます。原価に関わる単価も、実績の画面には出さずマスタ側に持ちます

足すのはいつでもできます。減らすのは、現場が慣れたあとでは難しいです。

打ち間違いを、保存前に止める

項目を減らしたぶん、入った数字の信頼性を上げます。無料プラグイン範囲チェックなら、「終了が開始より前」(日時どうしの「開始 < 終了」)と「良品数・不良数が0より小さい」を、設定だけで保存前に止められます。

ルールごとに「止める」か「警告だけ(確認して保存できる)」かを選べます。現場の入力では、止めるルールを増やしすぎないでください。 保存できずに困ると、入力そのものをやめます。止めるのは明らかな誤りだけにして、あとは警告にします。

同じ作業者の時間の重なりを警告する

1人の作業者が同じ時間に2つの工程に入っている実績は、どちらかが間違いです。これは標準機能では止められません。「値の重複を禁止する」は同じ値かどうかを見る機能で、期間が重なっているかは判定できないためです。

無料プラグイン期間重複チェックは、これを設定だけで作れます。

  1. アプリの設定 →「プラグイン」→「期間重複チェック」の歯車アイコン
  2. 「+ ルールを追加」で、対象に「作業者名」、期間に「開始」「終了」を選ぶ
  3. 端の扱い(終了と次の開始が同時刻のとき重なるとみなすか)を選ぶ。工程実績では「重ならない」が自然です
  4. 「確認して保存できる」を選び、「保存する」→「アプリを更新」

重なりの判定の考え方とJavaScriptでの書き方は、kintoneでダブルブッキングを防ぐ方法に詳しく書きました。

不良の集計とグラフ

不良を集計する目的は、同じ不良が繰り返されているかを知ることの1つです。そのために要るのは「工程名」「不良数」「発生日」の3つで、原因の分類は最初は要りません。

kintoneのグラフ機能(集計)で、設定だけで次が作れます。

見たいこと グラフの設定
どの工程で不良が多いか 分類:工程名/集計:不良数の合計/棒グラフ
誰の工程で不良が出ているか 分類:作業者名/集計:不良数の合計/棒グラフ
不良が減っているか 分類:開始(月単位)/集計:不良数の合計/折れ線

ただし「不良率」のような割り算は、標準のグラフでは作れません。 不良率を持ちたい場合は、実績1件ごとの不良率を計算フィールド(不良数 / 生産数)で持つか、次のJavaScriptで一覧の上に出します。グラフ機能の使い方はkintoneのグラフ・レポート機能にまとめています。

絞り込んだ範囲の不良率を、一覧の上に出す(JavaScript)

一覧で絞り込んだ条件そのままの良品数・不良数・不良率を、一覧の上に出す例です。

(() => {
  'use strict';
  const GOOD = '良品数';
  const BAD = '不良数';

  kintone.events.on('app.record.index.show', async (event) => {
    const el = kintone.app.getHeaderMenuSpaceElement();
    if (!el) return event;
    el.textContent = '集計中…';

    const cond = kintone.app.getQueryCondition() || ''; // 一覧の絞り込み条件
    let offset = 0, good = 0, bad = 0, chunk;
    do {
      const resp = await kintone.api('/k/v1/records', 'GET', {
        app: kintone.app.getId(),
        query: `${cond} limit 500 offset ${offset}`,
        fields: [GOOD, BAD],
      });
      chunk = resp.records;
      chunk.forEach((r) => {
        good += Number(r[GOOD].value || 0);
        bad += Number(r[BAD].value || 0);
      });
      offset += 500;
    } while (chunk.length === 500 && offset < 10000);

    const total = good + bad;
    const rate = total > 0 ? ((bad / total) * 100).toFixed(2) : '0.00';
    el.textContent = `良品 ${good.toLocaleString()} / 不良 ${bad.toLocaleString()}(不良率 ${rate}%)`;
    return event;
  });
})();

30行ほどです。kintoneのREST APIは offset が10000までなので、それを超える件数を扱う場合はカーソルを使った取得に書き換えます。JavaScriptカスタマイズの基本は13章 JavaScript・API・外部連携にまとめています。

不良は、実績とは別のアプリに持つ

「不良数」は実績に持ちますが、不良の内容・原因・対策は別のアプリにしています。理由は3つです。

  • 1回の実績で複数の種類の不良が出ることがある
  • 対策には実績とは別の期限と担当がある
  • 不良だけを期限順に並べた一覧が要る

見本では不良・是正アプリを持ち、是正期限までの残日数を期限・残日数で自動で入れ、期限切れに条件書式で色を付けています。完了にすると対策・完了日・確認者が必須になります(条件付き必須)。

kintoneの不良・是正アプリの一覧画面。指示番号・品名・発生日・不良内容・不良数・是正期限・期限までの残日数・状態が並び、是正期限に色が付いている

「対策の抜け」に気づける形にしておくことが、不良を集計する目的の半分です。集計だけして対策が残らないなら、グラフは飾りになります。

スマホ入力の正直な注意

kintoneのモバイルアプリからは、実績を登録できます。ただし次の点は先に知っておいてください。

内容 状況
レコードの登録・編集・一覧 モバイルで使える
当社の無料プラグイン(0.1.0) 現在はパソコンの画面に対応。モバイル画面は次のバージョンで予定
kintone標準の「値の重複を禁止する」 サーバー側の判定なので、モバイルでも効く
バーコード カメラでの読み取りができる。品番の入力に使える

したがって、保存前のチェックが要る入力はパソコンで、記録だけならスマホでという切り分けになります。現場のタブレットを1台置いてブラウザで使う形も、よく取る方法です。項目を減らす考え方は建設業の作業日報をkintoneでスマホ入力にする方法にも書きました。

実際の画面

工程実績の一覧です。指示番号・品名・工程名・作業者名・開始・終了・良品数・不良数・生産数が並び、不良の出た実績に色が付いています。

kintoneの工程実績アプリの一覧画面。指示番号・品名・工程名・作業者名・開始・終了・良品数・不良数・生産数が並び、不良数が0より大きい行の不良数に色が付いている

製造指示を開けば、その指示の工程の実績と不良が同じ画面に並びます(製造業のkintoneに詳細画面を載せています)。データはすべて架空です。同じ画面は製造業のkintoneで全部見られます。

正直に言っておく限界

限界 どうするか
無料プラグインはパソコンの画面のみ対応 チェックが要る入力はPC、記録だけならスマホに切り分ける
標準のグラフで不良率(割り算)は作れない 計算フィールドで1件ごとの不良率を持つか、JavaScriptで出す
設備から自動で実績を取ることはできない 設備側にデータの出口があればCSVやAPIで連携する。まず人の入力から始める
作業者ごとの数字は評価に見える 目的(不良を減らす)を先に共有する。個人の順位を出す使い方にしない
実績が数万件を超える 集計をグラフ機能に寄せ、JavaScriptでの全件取得は避ける

最後から2行目は、実績を取るときに一番こじれるところです。「誰が悪いか」を出す道具に見えた瞬間、数字は入らなくなります。

進め方と費用

初回30分で業務を聞き、その場で画面の形を出します。そこから1〜4週目で構築し、動くアプリを現場の声で直します。ここまでが0円です(1業務1アプリまで、最大1か月)。1ヶ月後に使うか使わないかを決めていただき、使うと決めた場合だけ月額5万円から(最低12ヶ月)で改善と追加を続けます。

kintoneのライセンス料(スタンダードコース 1ユーザー月1,800円・税抜/最小10ユーザー)は別途、サイボウズ社とのご契約です。使い続けるといくらかかるかは2章 費用の全体像にまとめています。

まとめ

  • 続かない理由は項目の多さ。現場が入れるのは6つまでにする
  • 作業時間は手で書かせない。開始と終了から出す。生産数は 良品数 + 不良数 の計算フィールド
  • 打ち間違いは範囲チェックで止める。止めるルールは増やしすぎない
  • 同じ作業者の時間の重なりは標準機能では判定できない。期間重複チェックで警告する
  • 不良の集計はグラフ機能で足りる。不良率だけは計算フィールドかJavaScript
  • 不良の内容・原因・対策は別アプリに持つ。対策の抜けに気づける形にしておく

→ 製造業のkintone(実際の画面つき) → 町工場の生産管理をkintoneで作る方法(ERPとの線引き) → 製造業の在庫管理をkintoneで作る方法 → 建設業の作業日報をkintoneでスマホ入力にする方法 → kintone導入支援の詳細 → kintone無料プラグイン一覧

よくある質問

現場の作業者がスマホから実績を入れられますか

入れられます。kintoneのモバイルアプリ(iOS・Android)から登録できます。ただし入力項目を6つほどまで絞り、選択式と初期値を使わないと続きません。またプラグインの多くは現在パソコンの画面のみ対応なので、保存前のチェックが要る運用はパソコンでの入力を前提にしてください。

作業時間は自動で計算できますか

開始と終了の日時を入れておけば、そこから作業時間を出せます。kintoneの計算フィールドで日時どうしを引く方法と、JavaScriptで数値フィールドに入れる方法があります。作業者に時間を手で入れさせるより、開始と終了だけを押してもらう形のほうが続きます。

同じ作業者が同じ時間に2つの工程に入っている入力を防げますか

無料プラグインの期間重複チェックで、同じ作業者の開始〜終了が重なる実績を保存前に警告できます。kintone標準の「値の重複を禁止する」は1つのフィールドの値が同じかどうかを見る機能なので、期間の重なりは判定できません。

不良の集計やグラフは標準機能で出せますか

出せます。kintoneのグラフ機能で、工程名ごと・作業者ごと・月ごとに不良数を合計した棒グラフを作れます。ただし「不良率」のような割り算は標準のグラフでは作れないので、不良率を持ちたい場合は計算フィールドかJavaScriptを使います。

作るのにいくらかかりますか

構築は1業務1アプリまで最大1か月0円です。使うと決めていただいた場合だけ、月額5万円から(最低12ヶ月)で改善と追加を続けます。kintoneのライセンス料(スタンダードコース 1ユーザー月1,800円・税抜/最小10ユーザー)は別途、サイボウズ社とのご契約です。

宇田川 将也/ 代表取締役

2024年に総務省の地域活性化起業人として島根県海士町に着任。役場に住み込んで業務改善に従事し、kintoneで電子決裁や定期健診管理を構築しました。

経歴を見る

この記事について相談する

貴社・貴団体の状況に合わせて、最適な進め方をご提案します。

30分相談を予約する