Пользовательское поле Netsuite для добавления дней к дате другого поля, на основе которого заполнено

Я пытался создать поле столбца в Netsuite, чтобы добавить дни к дате в зависимости от того, какое поле заполнено.

Я столкнулся с операторами CASE, которые, как я думал, сделают это, но я не могу заставить их работать.

Это то, что у меня есть до сих пор

case when 
{custcol_fob_date} and {custcol_stock_ready_date}is null then
{shipdate}+40 else
{custcol_stock_ready_date}is null then
{custcol_fob_date}+30 else
{custcol_fob_date} is null then
{custcol_stock_ready_date}+35
END

Любая помощь будет оценена по достоинству.


person James    schedule 15.02.2018    source источник


Ответы (1)


В вашем заявлении есть несколько проблем:

  1. Вам нужно проверить условие до and - я думаю, что вы имеете в виду {custcol_fob_date} is null and {custcol_stock_ready_date} is null. Без первого is null или какого-либо другого теста для сравнения {custcol_fob_date} выражение недействительно.
  2. Вам не хватает when после else в двух местах. Единственный раз, когда else должен появляться без when, это для всеобщего охвата в конце оператора, а затем его следует использовать без условия для проверки.

Попробуйте следующее (слегка измененное из вашего кода):

case when 
{custcol_fob_date} IS NULL and {custcol_stock_ready_date} is null then
{shipdate}+40 else WHEN
{custcol_stock_ready_date} is null then
{custcol_fob_date}+30 else WHEN
{custcol_fob_date} is null then
{custcol_stock_ready_date}+35
END

В конце нет универсального, поэтому, если ни одно из условий не выполнено, значение не будет установлено.

ТАКЖЕ ПРИМЕЧАНИЕ: Вы должны установить динамическое поле (снимите флажок «Сохранить значение»), чтобы это работало.

person Krypton    schedule 15.02.2018