## 原価入力

日付
メンバー
プロジェクト
機種
工数 (h)
設備時間 (h)
プロジェクト
機種
工数 (h)
設備時間 (h)
プロジェクト
機種
工数 (h)
設備時間 (h)
日付
メンバー
プロジェクト
工数 (h)
プロジェクト
工数 (h)
プロジェクト
工数 (h)
日付
プロジェクト
品目 / 摘要
金額 (円)
日付
プロジェクト
外注先 / 摘要
金額 (円)

## 対象日の入力

区分 | メンバー | プロジェクト | 機種 | 工数 | 設備 | 原価 |
--- | --- | --- | --- | --- | --- | --- | ---

## 加工 集計 加工

-
見積
-
原価
-
残予算
-
消化率
-
設備時間
-
自動運転率
-
機種別

機種 | 工数 | 設備 | 原価
--- | --- | --- | ---

メンバー別

メンバー | 工数 | 設備 | 原価
--- | --- | --- | ---

## 材料費 集計 材料費

-
見積
-
原価
-
残予算
-
消化率
-
登録一覧 (最新順)

日付 | 材料名 | 金額
--- | --- | ---

## 外注費 集計 外注費

-
見積
-
原価
-
残予算
-
消化率
-
登録一覧 (最新順)

日付 | 外注内容 | 金額
--- | --- | ---

## 設計 集計 設計

-
見積
-
原価
-
残予算
-
消化率
-
総工数
-
残工数
-
メンバー別

メンバー | 工数 | 原価
--- | --- | ---

## 入力履歴

期間: ～

区分 | 日付 | メンバー | プロジェクト | 機種 | 工数 | 設備 | 原価 |
--- | --- | --- | --- | --- | --- | --- | --- | ---

プロジェクト
PROJECT TOTAL
見積総額 (工数＋材料＋外注)
-
発生原価 (累計)
-
残予算
-
消化率
-
材料費
材料費 見積
-
材料費 実績
-
材料費 残予算
-
外注費
外注費 見積
-
外注費 実績
-
外注費 残予算
-
設計
設計 見積
-
設計 原価
-
設計 残予算
-
設計 消化率
-
設計 総工数
-
設計 残工数
-
加工
加工 見積
-
加工 原価
-
加工 残予算
-
加工 消化率
-
加工 設備時間
-
加工 自動運転率
-

## メンバー別集計 (設計)

メンバー | 工数h | 原価
--- | --- | ---

## 機種別集計 (加工)

機種 | 工数h | 設備h | 原価
--- | --- | --- | ---

## メンバー別集計 (加工)

メンバー | 工数h | 設備h | 原価
--- | --- | --- | ---

## 材料費別集計

材料名 | 件数 | 金額
--- | --- | ---

## 外注費別集計

外注内容 | 件数 | 金額
--- | --- | ---

## データ出力

## 新規プロジェクト作成

新しいプロジェクトを登録します。作成後、下の「現在のプロジェクト」で詳細を編集できます。

## 現在のプロジェクト

プロジェクト名
プロジェクトコード
開始日
終了日 (任意)
設計 見積工数 (h)
加工 見積金額 (円)
メモ
材料費 見積 (円)
外注費 見積 (円)
※ 材料費・外注費の実績は「原価入力」タブから計上します

## プロジェクト一覧

名称 | コード | 開始 | 終了 | 設計見積 | 加工見積 | 材料見積 | 外注見積 | 実績 |
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---

## ファイル操作

共有モードでは自動的に共有フォルダに保存されます。個別のバックアップや他所への受け渡しはJSON保存を使用してください。

・全プロジェクト JSON 保存：全データ (設定 + 全プロジェクト + 全エントリ) を 1 ファイルに保存。ローカル運用時の定期バックアップ推奨。
・JSON保存（このプロジェクト）：現在選択中のプロジェクト 1 件だけ保存。他社/別 PC への引渡し用。
・JSON読込：両方の形式に自動対応。全プロジェクト形式は復元時に既存データを置換 (2 段階確認)。

ローカルのデータを共有フォルダへ移すには？
共有モード接続中は「JSON読込」「設定をJSONから読込」を無効化しています（共有フォルダ全員のデータを誤って上書きしないため）。
ローカルで作成したデータを共有フォルダへ移す場合は、次の手順で行ってください（Tally は `tally_settings.json` ＋ プロジェクトごとの `プロジェクトコード.json` の複数ファイル構成です）。

1. ローカルモードで設定タブの「設定をJSONで書出し」を実行 → 出力された `tally_settings.json` をそのまま共有フォルダに置く
2. ローカルモードで各プロジェクトを開き「JSON保存（このプロジェクト）」を実行 → 出力された `プロジェクトコード.json` をそのまま共有フォルダに置く（プロジェクトの数だけ繰り返す）
3. 「共有」ボタンでそのフォルダに接続 → 設定・全プロジェクトが読み込まれます

※ ファイル名は変更不要です（書出し時点で共有フォルダ用の名前になっています）。既存の同名ファイルがある場合は上書きにご注意ください。

## 設計 メンバー設定

氏名 |
--- | ---

## 設計 - レート設定

設計作業1時間あたりのレート(円)を設定します。工数/設備の区別はありません。

設計 レート (円/h)

## 加工 メンバー設定

氏名 |
--- | ---

## 加工 - 機種・レート設定

加工の工数/設備1時間あたりのレート(円)を設定します。

機種名 | 工数レート | 設備レート |
--- | --- | --- | ---

## 設定の保存

共有モードでは設定は全員で共通です（共有フォルダの `tally_settings.json` に保存）。変更後は必ず「設定を保存」を押してください。

## 🧪 サンプルデータ

機能を試すためのサンプルデータ (機種 8 / メンバー 10 / プロジェクト 4 / エントリ 20 件) を読込みます。
・初回起動時 (データが完全に空の状態) のみ表示されます。一度でも編集すると以後非表示になります。
・共有モード中は非表示になります (他メンバーのデータを巻き込む事故を防止)。
・試した後は「データを全消去」で削除し、本番運用を開始してください。

## ⚠ 危険ゾーン

このブラウザの ローカル保存データ (設定・プロジェクト・現在開いているプロジェクトID・最終同期時刻 等) を完全に削除します。
・JSON ファイル (共有フォルダ) には影響しません。
・ローカルモード時のみ操作できます (共有モード中は無効)。
・共有フォルダのハンドル (記憶) も削除されるため、次回共有モード接続時にフォルダ選択ダイアログが再表示されます。
・削除後はページが自動再読込されます。

## About Tally

Tally
原価管理 · v1.1 · 現場を、滑らかに。
工数＋ 材料費・外注費 一元管理アプリケーション
1つのプロジェクトで工数に加え、材料費・外注費 も合わせて計上し、リアルタイムにプロジェクト総原価を可視化します。
Designed & Developed by SlideUp

## 使い方

### 【推奨】共有モード - 全員がリアルタイム共有

社内共有サーバまたはSharePoint同期フォルダを使い、全員の入力が自動で同期されます。

#### 事前準備（IT担当者／1回のみ）

1. 社内共有サーバに専用フォルダを作る（例：`\\fileserver\共有\工数管理\`）
2. 全員のPCでそのフォルダをドライブにマップする（例：`Z:\工数管理\`）
   ※ または SharePoint ドキュメントライブラリを「OneDriveで同期」して、ローカルフォルダとしてアクセスできる状態にする
3. `Tally_Trial.html` と `Tally.ico` をそのフォルダに配置する

⚠ OneDrive / SharePoint 同期フォルダは、各PCがローカルの複製を読み書きして数秒〜数分遅れで同期される仕組みのため、同時編集が重なると競合ファイル（例: `プロジェクトコード-PC名.json`）が作られ、その分の入力が他のPCに反映されない・別プロジェクトのように見えることがあります。可能であれば、全員が同一のファイルを直接開く社内ファイルサーバ（SMB / NAS）上のフォルダでの運用を推奨します。

#### 各メンバーの初回セットアップ（1回だけ）

1. エクスプローラから `Z:\工数管理\Tally_Trial.html` をダブルクリック（Edge または Chrome で開く）
2. ヘッダー右上の「共有」ボタンをクリック
3. ダイアログで `Z:\工数管理\` を選ぶ → アクセスを許可
   ※ フォルダ内に `tally_settings.json` / `プロジェクトコード.json` が無い場合は自動で新規作成されます。
4. 「共有」ボタンが緑色のアクティブ表示（✓ 共有）になり、ヘッダー右上に「📁 [フォルダ名]」と「最終同期」バッジが表示されれば完了

#### 毎日の運用

1. ショートカットから `Tally_Trial.html` を開く（次回以降は自動的に前回の共有フォルダに再接続）
2. プロジェクトのプルダウンで対象プロジェクトを選ぶ（他メンバーの入力も自動で取り込み。Tally は複数ファイルを読むため、反映には最大30秒ほどかかります）
3. 原価入力で 設計 / 加工 タブを切替えて、それぞれの工数を入力 → 「登録」ボタン
   - 設計：工数のみ
   - 加工：機種 + 工数 + 設備時間
4. 自動的に共有フォルダに保存される（右上の「保存済み」表示で確認）

#### プロジェクト新規作成

1. プロジェクトタブの「＋新規プロジェクト」ボタン
2. 名前・コードに加え、設計見積金額 と 加工見積金額 をそれぞれ入力 → 作成
3. 共有フォルダに `プロジェクトコード.json` が自動生成され、全員の画面に表示される

#### プロジェクト完了時

1. 「集計」タブで 見積 vs 実績 を確認
2. 「集計表をExcel出力」で `.xlsx` をダウンロード
3. 「プロジェクト」タブで終了日を入力して保存

### 同時編集は大丈夫？

各入力行にユニークIDが付き、保存時に共有ファイルの最新内容と突き合わせて行単位でマージするため、2人が同時に保存しても互いの入力はほとんどの場合保持されます。ただし保存が完全に重なった場合や、OneDrive / SharePoint 等の同期遅延・競合ファイルが発生した場合には、まれに片方の入力が反映されないことがあります。同じ行を2人が同時に編集した場合は、後から保存した方が優先されます。

※「機種・メンバー・各種レート」などの設定は、明細データと違って行単位ではなくまとめて同期されます。そのため複数人が同時に設定を変更すると、後から保存した側が優先されます（追記マージは行われません）。設定の変更は担当者を決めて行うことを推奨します。

### ローカルモード（共有なし単独使用）

共有フォルダを設定しなければ、各PCだけで使えます。データはブラウザ内（localStorage）に保存され、他PCとは共有されません。入力は即時保存されるため「保存ボタン」は不要です。

### ⚠ ローカルモード利用時の注意 — 必ず定期バックアップを

ローカルモードのデータは このブラウザの localStorage に限定 されます。以下の場合にデータが完全に消失するため、月 1 回程度「JSON書出し」でバックアップを取得するか、共有モードでの運用を強く推奨します。

- ブラウザの「閲覧データの削除」「Cookie・サイトデータをクリア」を実行した
- InPrivate / シークレットモードで開いた（セッション終了で消失）
- 別 PC・別ブラウザ・別プロファイルで開いた（データは引き継がれない）
- HTML ファイルを別ドライブ・別フォルダへコピーして開いた（別オリジン扱いでアクセス不可）
- ブラウザの「終了時にデータを削除」設定が有効になっている
- ストレージ容量上限（約 5〜10MB）に到達した（新規保存が失敗）

※ 共有モードでは指定フォルダ内の `tally_settings.json` / `プロジェクトコード.json` が常に最新版として残るため、上記の影響を受けません（フォルダ自体のバックアップ運用は別途必要）。

## 基本操作

- プロジェクト切替：上部のプルダウンで対象プロジェクトを選択
- 原価入力：設計 / 加工 タブを切替えて、それぞれの工数を入力 →「登録」ボタン
  - 設計：工数のみ
  - 加工：機種 + 工数 + 設備時間
- 材料費・外注費：原価入力タブの「材料費」「外注費」タブから日付・金額・備考を登録
- 入力履歴：「履歴」タブで全エントリの一覧表示・編集・削除
- 集計：「集計」タブで 見積 vs 実績、消化率、機種別実績、メンバー別実績を確認

## 設定でできること

- 機種マスタ：機種名・工数レート・設備レートを登録（加工の原価計算に使用）
- メンバー：作業者の一覧管理（加工・設計それぞれ）
- 設計レート：時間単価を設定（設計の原価計算に使用）
- 共有モード：共有フォルダの接続／解除をヘッダの「ローカル / 共有」トグルから操作

## データ出力

- Excel出力：現在のプロジェクトの集計表を `.xlsx` で保存
- CSV出力：履歴（全エントリ）を `.csv` で保存
- JSON保存／JSON読込：データのバックアップ／復元・端末間共有

## 動作環境 / セキュリティ

- 完全自己完結型 — 社外ネットワーク（CDN含む）への通信は一切発生しません
- CDN / Webフォント / 外部スクリプト すべて未使用
  `Content-Security-Policy` で `connect-src 'none'` を強制し、外部接続を明示的にブロック。
  オフライン環境・閉域ネットワーク内でも完全動作。
- Tally_Trial.html 1ファイルだけで動作（外部ネットワーク・外部ライブラリ・CDN 不使用、配布 ZIP 内の Tally.ico は任意のショートカット用アイコン）
  必要なライブラリはすべて HTML 内にインライン化済み。
- 対応ブラウザ：Windows標準の Edge（Chromiumベース） または Chrome。File System Access API 必須

#### 機密情報の保存について

HTMLファイルには機密情報は一切書き込まれません。
入力された業務データ（機種・メンバー・レート・プロジェクト・工数・原価 等）はすべてアプリ外部に保存されます。

保存先 | 用途 | 保管されるデータ
--- | --- | ---
HTMLファイル本体 | アプリ本体・初期サンプル値 | 汎用的なデフォルト値のみ（実在の人名・機種・レートは含まない）
localStorage （ローカルモード時） | このPCのブラウザのみで保持 | すべての業務データ。他PC・他ブラウザからは参照不可
tally_settings.json / プロジェクトコード.json （共有モード時） | 指定フォルダ（SharePoint同期等）内に保存 | すべての業務データ。フォルダの権限管理で共有範囲を制御
IndexedDB | 共有フォルダへの参照（自動再接続用） | ファイルハンドルのみ。データ本体は含まない

・ HTMLファイルのサイズは入力量によらず常に 約 1.1MB で固定（SheetJS インライン含む。データ蓄積で増えない）
・ HTMLファイルをテキストエディタで開いて検索しても、入力した実データは一切ヒットしない
・ HTML単体を社外配布しても、業務情報の漏洩リスクはゼロ

## よくある質問 / トラブル時

- Q: 原価計算のロジック
  A: 設計エントリは `工数h × 設計レート`。加工エントリは `工数h × 工数レート + 設備h × 設備レート`（レートは機種毎に設定）。
  ※ レートは各エントリの登録（または編集）時点の値で固定されます。後からレートを変更しても、過去エントリの原価は変わりません（新しいエントリには新しいレートが適用されます）。
  ※ 旧バージョンで登録したエントリ（レート未記録）は、表示時の最新レートで計算されます。原価を確定したい場合は対象エントリを一度「修正」で開いて保存し直すと、その時点のレートで固定されます。
- Q: ブラウザは何を使う？
  A: Windows標準の Edge または Chrome。共有モードは「File System Access API」を使うため、Firefox／Safari では共有モードは動きません（ローカルモードのみ可）。
- Q: 共有フォルダのアクセス許可は毎回必要？
  A: 一度許可すれば、アプリを閉じても記憶されます。ただし、ブラウザ再起動後に確認ダイアログが出ることがあります（ヘッダーの「共有」ボタンを 1 クリックで再接続）。
- Q: SharePointを使いたい
  A: SharePointドキュメントライブラリを「OneDrive同期」でローカルフォルダに落とし、そのフォルダを共有先として選択してください。SharePoint側は自動でアップロード同期されます。
- データが消えた／巻き戻った：「JSON保存」で定期的にローカルバックアップを推奨
- 他PCの変更が反映されない：OneDrive アイコン（タスクトレイ）が「同期済」か確認
- 共有モードに入れない：Windows標準の Edge または Chrome を使用（IE / Firefox 非対応）

## 診断ツール

外部通信ブロックの確認 (Content-Security-Policy)

ストレージ使用量

### 新規プロジェクト

プロジェクト名 *
プロジェクトコード *
(ファイル名に使用されます。半角英数字推奨)
設計 見積工数 (h)
加工 見積金額 (円)
材料費 見積金額 (円)
外注費 見積金額 (円)

### 入力内容の確認

### 入力内容を修正