Я хочу создать Suite Script 2.0, который будет искать и получать данные из сохраненного поиска, но я хочу запланировать запуск этого сценария каждый день в определенное время.
Есть ли способ выполнить скрипт с определенным интервалом в Suite Script (ScheduledScript)?





У вас есть несколько вариантов, таких как Уменьшение карты, Рабочий процесс, Запланированный скрипт и Массовое обновление в NetSuite, чтобы запланировать сценарий, и он будет запускаться автоматически.
В Уменьшение карты и Запланированный скрипт вам придется читать сохраненный поиск в самом скрипте, тогда как Рабочий процесс и Массовые обновления выполняются на предоставленном Сохраненный поиск.
Is there a way to execute script on specific interval in Suite Script (ScheduledScript)?
Да, вы можете запланировать запуск любого из вышеупомянутых сценариев через определенные промежутки времени или запускать его ежедневно, еженедельно и т. д.
Например: если я создаю пакет пакета со сценарием пакета, а затем, когда другой пользователь устанавливает этот пакет, тогда включенный сценарий набора должен автоматически планироваться для запуска каждый день.
Если вы посмотрите на ссылки выше, NetSuite предоставил основные рабочие примеры для всех из них. Для сценария map/reduce или запланированного вам нужно будет написать сценарий map/reduce или запланированный соответственно, тогда как для рабочего процесса вам необходимо написать сценарий действия рабочего процесса и сценарий пользовательского массового обновления для массового обновления. Все они будут частью вашего указанного пакета вместе со своими сценариями, которые будут развернуты, или пользователь может развернуть их по мере необходимости (для запуска в определенное время).
В документации SuiteScript API показаны три различных способа запуска запланированного сценария:
Save and Executetask.ScheduledScriptTaskИсточник: https://{yourAppId}.app.netsuite.com/app/help/helpcenter.nl?fid=section_4658507760.html
У них отсутствует 4-й способ: определение через XML.
В customscript_scheduled_test.xml у меня есть:
<scheduledscript scriptid = "customscript_scheduled_test_1">
<name>Scheduled Script Test 1</name>
<notifyowner>T</notifyowner>
<scriptfile>[/SuiteApps/{yourAppName}/ScheduledScript.js]</scriptfile>
<scriptdeployments>
<scriptdeployment scriptid = "customdeploy_scheduled_test_1">
<isdeployed>T</isdeployed>
<loglevel>DEBUG</loglevel>
<status>SCHEDULED</status>
<title>Scheduled Script Test 1</title>
<recurrence>
<daily>
<startdate>2020-01-01</startdate>
<starttime>00:00:00Z</starttime>
<everyxdays>1</everyxdays>
</daily>
</recurrence>
</scriptdeployment>
</scriptdeployments>
</scheduledscript>
Проверьте <status> и <recurrence>. Документы (варианты) для <recurrence> находятся здесь: https://{youAppId}.app.netsuite.com/app/help/helpcenter.nl?fid=SDFxml_2036242651.html
Спасибо, Ави, а можно ли это сделать с помощью Suite Script? Для справки, какое кодирование мне нужно делать в Suite Script для выполнения каждый день.