①②放置案件・ネクストアクション未定レポートのテストデータ
// 1. 新しく追加する3件の取引先
List newAccounts = new List{
new Account(Name = '旭川マニュファクチャリング株式会社', Industry = 'Manufacturing'),
new Account(Name = '函館リテールホールディングス', Industry = 'Retail'),
new Account(Name = '釧路フィナンシャルサービス株式会社', Industry = 'Finance')
};
insert newAccounts;
Date today = Date.today();
// 2. 新しい取引先に紐づく商談の作成
List newOpps = new List{
// 【データC: レポートにヒットする放置案件】
// 状態: オープン, 完了予定日: 今四半期
new Opportunity(
Name = '工場向けタスク管理ツール導入(旭川マニュファクチャリング)',
AccountId = newAccounts[0].Id,
StageName = 'Needs Analysis',
CloseDate = today.addDays(45),
Amount = 2500000
),
// 【データD: レポートにヒットしない正常進行案件】
// 状態: オープン, 完了予定日: 今月
new Opportunity(
Name = '店舗間コミュニケーション基盤(函館リテール)',
AccountId = newAccounts[1].Id,
StageName = 'Value Proposition',
CloseDate = today.addDays(10),
Amount = 1200000
),
// 【データE: 放置されているがクローズ済のためヒットしない案件】
// 状態: クローズ済(成立), 完了予定日は過去
new Opportunity(
Name = '全社プロジェクト管理基盤導入(釧路フィナンシャル)',
AccountId = newAccounts[2].Id,
StageName = 'Closed Won', // クローズ済みのためレポート対象外になるべき
CloseDate = today.addDays(-10),
Amount = 4000000
)
};
insert newOpps;
// 3. 活動(ToDo)の作成
List newTasks = new List{
// データC用: 最終活動日が「14日前」(7日以上経過のため放置判定)
new Task(
WhatId = newOpps[0].Id,
Subject = '要件ヒアリング(Web会議)',
Status = 'Completed',
ActivityDate = today.addDays(-14)
),
// データD用: 最終活動日が「昨日」(7日未満のため正常判定)
new Task(
WhatId = newOpps[1].Id,
Subject = 'デモ実施(対面)',
Status = 'Completed',
ActivityDate = today.addDays(-1)
),
// データE用: 最終活動日が「20日前」(商談完了済のため放置レポートには出ない)
new Task(
WhatId = newOpps[2].Id,
Subject = '契約書締結(メール)',
Status = 'Completed',
ActivityDate = today.addDays(-20)
)
};
insert newTasks;
System.debug('追加のテストデータ(3件)の投入が完了しました。');
③要フォロー案件レポートのテストデータ
// 1. 新しく追加する3件の取引先
List newAccounts = new List{
new Account(Name = '札幌クラウドデザイン株式会社', Industry = 'Technology'),
new Account(Name = '小樽オペレーションズ合同会社', Industry = 'Retail'),
new Account(Name = '帯広データソリューションズ株式会社', Industry = 'Finance')
};
insert newAccounts;
Date today = Date.today();
// 2. 新しい取引先に紐づく商談の作成
List newOpps = new List{
// 【データC: レポートにヒットする案件】
// 状態: オープン, 完了予定日: 今四半期
new Opportunity(
Name = 'FlowSuite SaaS導入プラン',
AccountId = newAccounts[0].Id,
StageName = 'Needs Analysis',
CloseDate = today.addDays(45),
Amount = 2500000
),
// 【データD: レポートにヒットする正常進行案件】
// 状態: オープン, 完了予定日: 今月
new Opportunity(
Name = 'InsightBoard 利活用パッケージ',
AccountId = newAccounts[1].Id,
StageName = 'Value Proposition',
CloseDate = today.addDays(10),
Amount = 1200000
),
// 【データE: クローズ済のためヒットしない案件】
// 状態: クローズ済(成立), 完了予定日は過去
new Opportunity(
Name = 'CoreSync 業務標準化パッケージ',
AccountId = newAccounts[2].Id,
StageName = 'Closed Won',
CloseDate = today.addDays(-10),
Amount = 4000000
)
};
insert newOpps;
// 3. 活動(ToDo)の作成
List newTasks = new List{
// データC用: 最終活動日が「Web会議」「訪問以外」
new Task(
WhatId = newOpps[0].Id,
Subject = 'メール',
Status = 'Completed',
ActivityDate = today.addDays(-14)
),
// データD用: 件名がWeb会議
new Task(
WhatId = newOpps[1].Id,
Subject = 'Web会議',
Status = 'Completed',
ActivityDate = today.addDays(-1)
),
// データE用: 件名が「Web会議」「訪問以外」
new Task(
WhatId = newOpps[2].Id,
Subject = '契約条件確認',
Status = 'Completed',
ActivityDate = today.addDays(-20)
)
};
insert newTasks;
System.debug('追加のテストデータ(3件)の投入が完了しました。');
④長期停滞案件レポートのテストデータ
// 1. 新しく追加する3件の取引先
List newAccounts = new List{
new Account(Name = '札幌ノースリンク株式会社', Industry = 'Technology'),
new Account(Name = '函館ベイデータ合同会社', Industry = 'Retail'),
new Account(Name = '旭川フロンティアシステムズ株式会社', Industry = 'Finance')
};
insert newAccounts;
// 基準日
Date today = Date.today();
// 2. 新しい取引先に紐づく商談の作成
List newOpps = new List{
// 【データC: レポートにヒットする案件】
new Opportunity(
Name = 'CloudFlow SaaS導入パッケージ',
AccountId = newAccounts[0].Id,
StageName = 'Needs Analysis',
CloseDate = today.addDays(45),
Amount = 2500000,
PhaseChangedDate__c = Date.newInstance(2026, 3, 5)
),
// 【データD: レポートにヒットしない正常進行案件】
new Opportunity(
Name = 'InsightHub 活用支援パッケージ',
AccountId = newAccounts[1].Id,
StageName = 'Value Proposition',
CloseDate = today.addDays(10),
Amount = 1200000,
PhaseChangedDate__c = Date.newInstance(2026, 4, 10)
),
// 【データE: クローズ済のためヒットしない案件】
new Opportunity(
Name = 'CoreSync 業務最適化パッケージ',
AccountId = newAccounts[2].Id,
StageName = 'Closed Won',
CloseDate = today.addDays(-10),
Amount = 4000000,
PhaseChangedDate__c = Date.newInstance(2026, 2, 28)
)
};
insert newOpps;
// 3. 活動(ToDo)の作成
List newTasks = new List{
// データC用:
new Task(
WhatId = newOpps[0].Id,
Subject = '要件確認',
Status = 'Completed',
ActivityDate = today.addDays(-14)
),
// データD用:
new Task(
WhatId = newOpps[1].Id,
Subject = '提案資料送付',
Status = 'Completed',
ActivityDate = today.addDays(-1)
),
// データE用:
new Task(
WhatId = newOpps[2].Id,
Subject = '契約条件整理',
Status = 'Completed',
ActivityDate = today.addDays(-20)
)
};
insert newTasks;
System.debug('追加のテストデータ(3件)の投入が完了しました。');
⑤決済者と会えていないレポートのテストデータ // 1. 新しく追加する3件の取引先
List newAccounts = new List{
new Account(Name = '札幌ノースエアライン株式会社', Industry = 'Technology'),
new Account(Name = '小樽マリンサービス合同会社', Industry = 'Retail'),
new Account(Name = '帯広グリーンシステムズ株式会社', Industry = 'Finance')
};
insert newAccounts;
// 基準日
Date today = Date.today();
// 2. 新しい取引先に紐づく商談の作成
List newOpps = new List{
// 【データC: レポートにヒットする案件】
new Opportunity(
Name = 'CloudFlow SaaS導入パッケージ',
AccountId = newAccounts[0].Id,
StageName = 'Needs Analysis',
CloseDate = today.addDays(45),
Amount = 3500000
),
// 【データD: レポートにヒットしない正常進行案件】
new Opportunity(
Name = 'InsightHub 活用支援パッケージ',
AccountId = newAccounts[1].Id,
StageName = 'Value Proposition',
CloseDate = today.addDays(10),
Amount = 1400000
),
// 【データE: クローズ済のためヒットしない案件】
new Opportunity(
Name = 'CoreSync 業務最適化パッケージ',
AccountId = newAccounts[2].Id,
StageName = 'Closed Won',
CloseDate = today.addDays(-1),
Amount = 5000000
)
};
insert newOpps;
// 3. 活動(ToDo)の作成
List newTasks = new List{
// データC用: 決済者と会えていない(レポートに出る)
new Task(
WhatId = newOpps[0].Id,
Subject = '要件整理',
Status = 'Completed',
ActivityDate = today.addDays(-14),
IsKeyPersonMeeting__c = false
),
// データD用: 決済者と会えている(レポートに出ない)
new Task(
WhatId = newOpps[1].Id,
Subject = '提案資料送付',
Status = 'Completed',
ActivityDate = today.addDays(-1),
IsKeyPersonMeeting__c = true
),
// データE用: 決済者と会えている(商談完了済のためレポートに出ない)
new Task(
WhatId = newOpps[2].Id,
Subject = '契約条件整理',
Status = 'Completed',
ActivityDate = today.addDays(-20),
IsKeyPersonMeeting__c = true
)
};
insert newTasks;
System.debug('追加のテストデータ(3件)の投入が完了しました。');