NetSuite: Вызов API в режиме реального времени по мере обновления значений полей

#netsuite #suitescript #suitescript2.0

Вопрос:

Я ищу способ (с помощью SuiteScript 2.0) обрабатывать постоянные (сохраненные) обновления полей в режиме реального времени, когда поле могло измениться в NetSuite (например, только что было обновлено время выполнения), и не имеет значения, сохранил ли пользователь изменение или какой-либо другой автоматизированный процесс изменил это поле. Я просто хочу быть в состоянии уловить это изменение:

  1. В тот момент, когда это будет сделано, и
  2. Независимо от того, кто или что запустило его (например, это может быть человек, но это также может быть автоматическое изменение рабочего процесса или формула в самом поле, которая извлекает значения из другого поля)

Проведя некоторые исследования, я нашел несколько вариантов, которые поначалу выглядели несколько многообещающими. Одно из них-событие afterSubmit в клиентском сценарии, а другое-событие fieldChanged. Моя проблема, однако, заключается в том, что из того, что я понял, они, похоже, действительно запускаются пользователем вручную и вносят эти изменения, но это только одна часть головоломки и, похоже, не охватывает изменения, внесенные за пределами области действия пользователя, вносящего эти изменения. Однако правильно ли это? Или одно из этих событий все еще сможет фиксировать изменения, внесенные в это поле, независимо от того, кто (или что) инициировал или инициировал изменение, и прямо в тот момент, когда изменение было сохранено/ сохранено в базе данных?

Ответ №1:

События пользователя-это в основном триггеры. В их записях развертывания вы можете задать контекст, в котором они срабатывают, чтобы вы могли заставить их срабатывать при любых обстоятельствах (называемых контекстами в Netsuite), кроме одного.

Это обстоятельство заключается в том, что пользовательские события не запускаются для сохранения записей, сделанных в сценариях пользовательских событий. т. Е., если сценарий события пользователя после отправки загружается, изменяет и сохраняет вашу запись, новое пользовательское событие не будет запущено.

Комментарии:

1. Ах, спасибо вам за разъяснение! Итак, в таком случае, как лучше всего обрабатывать любые сценарии событий пользователя после отправки, которые могут изменить это поле? Может быть, есть другой обходной путь, который мог бы быть лучше в этом случае, если он пропускает такого рода обновления? Кроме (например) Я представляю, как мне приходится заходить и вручную редактировать все события после отправки