Ist es möglich, das Systemdatum in NetSuite vorübergehend zu ändern , um datumsgesteuerte Skripte zu testen? Wenn nicht, gibt es eine Möglichkeit, alle NetSuite-Datumsfunktionen zu überladen, damit ein zukünftiges oder vergangenes Datum für einen bestimmten Benutzer in der Sandbox simuliert werden kann?

Wir haben E-Mail-Benachrichtigungen, die basierend auf der Anzahl der Tage vor Ablauf eines bestimmten NetSuite-Datensatzes gesendet werden. Anstatt die Benutzer mehrere Tage warten zu lassen, um diese Funktion zu testen oder das Ablaufdatum von Datensätzen zu ändern, möchte ich eine Benutzeroberfläche bereitstellen, damit das NetSuite-Systemdatum geändert werden kann.

Ich würde es vorziehen, wenn die Datumsüberschreibung benutzerspezifisch ist und nicht für die gesamte Sandbox-Instanz, damit mehr als ein Benutzer zukünftige / vergangene Daten simulieren kann. Die Datumsüberschreibung muss sowohl im Client- und Server-SuiteScript-Code als auch in geplanten Skripten funktionieren.

4
Rich Bianco 12 Aug. 2015 im 10:33

3 Antworten

Beste Antwort

Eine mögliche Problemumgehung besteht darin, zwei Skriptparameter zu erstellen. Ein Kontrollkästchen zur Angabe des Skripts befindet sich im Debug-Modus und ein Debug-Datum, an dem Sie ein beliebiges Datum angeben können.

Überprüfen Sie dann in Ihrem Skript, ob das Kontrollkästchen aktiviert ist. Wenn diese Option aktiviert ist, verwenden Sie für den Vergleich den Wert im Datumsparameter anstelle des Systemdatums.

2
Rusty Shackles 12 Aug. 2015 im 10:58

Sie können ein Bereitstellungsparameterfeld {testDays} erstellen.

In der Produktion machen es Null. Geben Sie in der Testumgebung einige negative Zahlen an.

Erstellen Sie so etwas wie das Folgende

NewTempDate = nlapiAddDays ({expirydate}, {testDays})

Und verwenden Sie das newTempDate überall für Ihre Kriterien.

2
Faz 26 Aug. 2015 im 08:19

Ich bin mir nicht sicher, ob in Netsuite eine solche Funktionalität verfügbar ist, mit der Sie das Systemdatum anpassen können. Für mich wählen Ihre Zeitplanskripte immer den Zeitstempel der Serverinstanz aus. Unabhängig davon, ob Sie Ihr Datum / Ihre Zeitzone ändern, wird in allen Transaktionen, Datensätzen, Skripten und Anmeldezeiten die pazifische Zeit angezeigt, in der sich der Servercomputer befindet. Eine Lösung könnte darin bestehen, Ihr eigenes Datum in Ihrem Skript zu definieren, anstatt das Serverdatum zu ändern (In falls Sie das Datum in Ihrem Datensatz nicht ändern möchten) und überprüfen Sie Ihre Datensätze danach.

1
Rockstar 12 Aug. 2015 im 09:17