## サマリー

## 在庫アラート (在庫が安全在庫を下回るもの)

品目 | 単位 | 現在庫 | 安全在庫 | 状態
--- | --- | --- | --- | ---

## 直近の取引 (10件)

日付 | 品目 | 種別 | 数量 | 単価 | 金額 | 購入先
--- | --- | --- | --- | --- | --- | ---

## レポート出力

・Excel は全データ（品目マスタ・在庫一覧・履歴）を 1 つのファイル（複数シート）にまとめて書出します。

## 入出庫の登録

種別
品目
数量
単価 (円)
購入先 / 取引先
日付
備考
※ 単価は入庫時の購入価格（都度変動可）

## 品目マスタ

品目名 | 単位 | 安全在庫 | 標準購入先 | 備考 | 登録日 | 操作
--- | --- | --- | --- | --- | --- | ---

## 現在の在庫

安全在庫を下回るもののみ
単価は移動加重平均（入庫履歴から算出）

品目 | 単位 | 現在庫 | 安全在庫 | 平均単価 | 最新購入単価 | 在庫評価額 | 最新購入先 | 最終更新 | 状態
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---

## 在庫推移グラフ

表示品目 (クリックで複数選択)
期間 開始
期間 終了
表示

## データの保存

共有モードでは品目・取引データは全員で共通です（共有フォルダの `stash-data.json` に自動保存）。JSON 書出し・読込で端末間共有・バックアップも可能です。
ローカルのデータを共有フォルダへ移すには？
共有モード接続中は「JSONから読込」を無効化しています（共有フォルダ全員のデータを誤って上書きしないため）。
ローカルで作成したデータを共有フォルダへ移す場合は、次の手順で行ってください。

1. ローカルモードで「データをJSONで書出し」を実行
2. 書き出したファイルを `stash-data.json` にリネーム
3. 空の共有フォルダに置く（既存の `stash-data.json` がある場合は上書き注意）
4. 「共有」ボタンでそのフォルダに接続 → データが読み込まれます

## 🧪 サンプルデータ

機能を試すためのサンプルデータ (品目 12 / 取引 25 件 / うち在庫アラート対象 3 件) を読込みます。
・初回起動時 (データが完全に空の状態) のみ表示されます。一度でも編集すると以後非表示になります。
・共有モード中は非表示になります (他メンバーのデータを巻き込む事故を防止)。
・試した後は「データを全消去」で削除し、本番運用を開始してください。

## ⚠ 危険ゾーン

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

## 取引履歴

期間 開始
期間 終了
品目
種別
購入先

日付 | 品目 | 種別 | 数量 | 単価 | 金額 | 購入先 | 備考 | 操作
--- | --- | --- | --- | --- | --- | --- | --- | ---

## About Stash

Stash
在庫管理 ・ v1.1 ・ 現場を、滑らかに。
入出庫・在庫数・取引履歴を一元管理する在庫管理アプリケーション。
品目・取引履歴・推移グラフをひとつの画面で俯瞰し、複数PCでリアルタイムに共有できます。
Designed & Developed by SlideUp

## 使い方

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

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

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

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

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

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

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

#### 毎日の運用

1. ショートカットから `Stash_Trial.html` を開く（次回以降は自動的に前回の共有フォルダに再接続）
2. 入出庫登録タブで入庫・出庫・調整を登録 → 自動で共有フォルダに保存
3. ダッシュボードで在庫アラート（安全在庫を下回るもの）と直近の取引を確認
4. 編集した内容は数秒で他PCに同期されます

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

各入力行にユニークIDが付き、保存時・同期時に共有ファイルの最新内容と突き合わせて追記マージするため、通常の同時利用で互いの入力が消えないよう設計されています。ただし、同じ行（同じ品目の情報など）を2人がほぼ同時に編集した場合は、後から保存した方が優先されます。また、OneDrive / SharePoint 同期フォルダ特有の注意は上記「事前準備」の補足を参照してください。

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

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

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

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

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

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

## 基本操作

- 入出庫・品目登録タブ：上段で入出庫を登録、下段の品目マスタで品目の追加・編集・削除を行います。
- 品目マスタ：品目名・単位・安全在庫・標準購入先・備考を管理（「＋ 新規品目」ボタンから追加）
- 在庫アラート：安全在庫を下回った品目はダッシュボードに自動表示
- 在庫推移グラフ：「在庫一覧」タブの末尾で、品目別の在庫推移を可視化

## 設定でできること

- 品目マスタ：品目名・単位・安全在庫・標準購入先・備考の追加・編集・削除（「入出庫・品目登録」タブの下段から）
- 購入先：取引先（購入先）を品目に紐付けて管理
- 共有モード：共有フォルダの接続／解除をヘッダのボタンから操作
- データの保存 / サンプル / 危険ゾーン：「設定」タブから JSON 書出し・読込、サンプル投入、データ全消去

## データ出力

- Excel出力：全データ（品目マスタ・在庫一覧・履歴を複数シート）で保存
- CSV出力：在庫一覧／履歴を `.csv` で保存
- JSON保存／JSON読込：データのバックアップ／復元・端末間共有

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

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

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

HTMLファイルには機密情報は一切書き込まれません。
入力された業務データ（品目名・取引履歴・購入先 等）はすべてアプリ外部に保存されます。

保存先 | 用途 | 保管されるデータ
--- | --- | ---
HTMLファイル本体 | アプリ本体・初期サンプル値 | 汎用的なデフォルト値のみ（実在の品目名・購入先は含まない）
localStorage （ローカルモード時） | このPCのブラウザのみで保持 | すべての業務データ。他PC・他ブラウザからは参照不可
stash-data.json （共有モード時） | 指定フォルダ（SharePoint同期等）内に保存 | すべての業務データ。フォルダの権限管理で共有範囲を制御
IndexedDB | 共有フォルダへの参照（自動再接続用） | ファイルハンドルのみ。データ本体は含まない
JSON ファイル （任意配置） | 端末間共有・バックアップ用 | すべての業務データ。保存先（社内共有フォルダ等）の権限管理で共有範囲を制御

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

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

- Q: ブラウザは何を使う？
  A: Windows標準の Edge または Chrome。共有モードは「File System Access API」を使うため、Firefox／Safari では共有モードは動きません（ローカルモードのみ可）。
- Q: 共有フォルダのアクセス許可は毎回必要？
  A: 一度許可すれば、アプリを閉じても記憶されます。ただし、ブラウザ再起動後に確認ダイアログが出ることがあります（ヘッダーの「共有」ボタンを 1 クリックで再接続）。
- Q: SharePointを使いたい
  A: SharePointドキュメントライブラリを「OneDrive同期」でローカルフォルダに落とし、そのフォルダを共有先として選択してください。SharePoint側は自動でアップロード同期されます。
- Q: 複数端末で同じデータを使いたい
  A: 共有モードが推奨です。共有モードを使えない場合は「設定」タブ →「JSON保存」で書き出し、他端末で「JSON読込（マージ）」で取り込みます（手動同期方式）。
- Q: データはどこに保存される？
  A: 共有モードでは指定フォルダ内の `stash-data.json`、ローカルモードではブラウザの localStorage に保存されます。外部サーバへの送信は一切ありません。詳細は上の「動作環境 / セキュリティ」を参照。
- データが消えた／巻き戻った：「JSON保存」で定期的にローカルバックアップを推奨
- 他PCの変更が反映されない：OneDrive アイコン（タスクトレイ）が「同期済」か確認し、ブラウザの再読込（Ctrl+R / F5）で取得
- 共有モードに入れない：Windows標準の Edge または Chrome を使用（IE / Firefox 非対応）
- 在庫数がおかしい：履歴タブで取引履歴を確認し、誤った行を削除して登録し直してください（在庫調整も活用できます）
- 出庫の金額が合わない：出庫の金額は登録時点の平均単価で記録されます。あとから過去日付の入庫を追加しても、過去の出庫金額には反映されません（在庫評価額は常に最新の移動加重平均で再計算されます）
- グラフが表示されない：取引履歴が無い品目はグラフ化できません。入出庫登録後に再度確認してください

## 診断ツール

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

ストレージ使用量

### 登録内容の確認

### 品目を編集

品目名 *
単位
安全在庫
標準購入先
備考