ディスカッション
NetSuiteの保存検索やレポートをマスターするための究極のガイドである分析センターを使用して、データの力を最大限に活用しましょう。複雑さを単純化し、組織の真の可能性を解き放ちます。今すぐ分析センターに参加して、新たな高みを目指しましょう!
New AI Community Guidelines. Please review and follow them to ensure AI use stays safe, accurate, and compliant.
Narrative Insights is Temporarily Unavailable due to an Infrastructure Issue. Learn how This Impacts Your Account and What to Expect While the Feature is Disabled.
NetSuite管理者ヒント| SuiteScriptを使用した古い未開始タスクの安全な削除方法
時間の経過とともに、開始されておらず、アカウントに何年も居座っているタスク・レコードは、ワークスペースを蓄積して混乱させることができます。これにより、現在のタスクを見つけることが難しくなり、システムのパフォーマンスにも影響する可能性があります。
NetSuite管理者は、クリーンで関連性の高いデータを維持することが不可欠です。1つの効果的な方法は、年齢およびステータスに基づいて廃止されたタスク・レコードを自動的に削除することです。
この記事では、SuiteScript 2.x Scheduled Scriptを使用して、開始日が4年前のすべての「未開始」タスクを自動的に削除し、バッチ処理と監査ロギングを完了する方法について説明します。
定期スクリプトの例: 古い「未開始」タスクのバッチ削除
/**
* @NApiVersion 2 .x
* @NScriptType ScheduledScript
*/
define(['N/record', 'N/search', 'N/log'], function(record, search, log) {
const RECORD_TYPE = record.Type.TASK;
const BATCH_SIZE = 10; // バッチ当たりのレコード数
function execute(context) {
// 検索の作成: 未開始タスク、4年以上前に開始
var ids = [];
var taskSearch = search.create({
type: RECORD_TYPE,
filters: [
['status', search.Operator.ANYOF, ['NOTSTART']], // 未開始タスク
'AND',
['startdate', search.Operator.ONORBEFORE, 'daysago1460'] // 1460日前以降
],
columns: ['internalid']
});
// 削除するすべてのIDを累計
taskSearch.run().each(function(result) {
ids.push(result.getValue('internalid'));
return true;
});
// バッチ内の各タスクを同期的に削除する
for (var i = 0; i < ids.length; i += BATCH_SIZE) {
var batch = ids.slice(i, i + BATCH_SIZE);
batch.forEach(function(id) {
try {
record.delete({
type: RECORD_TYPE,
id: id
});
log.audit('Task Deleted', 'Deleted task ID: ' + id); Richard James Uri - SuiteCloud | WMS Tech | SuiteCommerce Advanced
----
- NetSuite Admin Corner | New to NetSuite
- Explore the NSC Webinars Category
- Join our poll and share your ideas! We want to know what you think. Don't forget to comment and make your voice heard!
タグ付けされた:
0
