Необязательные Входные параметры в действии CRM всегда равны NULL в кодовой активности, даже если они не переданы? - PullRequest
0 голосов
/ 20 декабря 2018

Если я опускаю необязательный входной параметр в вызове действия CRM, будет ли этот параметр всегда иметь значение null в кодовой активности?

У нас есть клиент, который вызывает конкретное действие CRM, скажем, действие обновления.Клиент хочет иметь возможность передавать входные параметры как нулевые, если значение в соответствующем поле в динамике должно быть удалено.

проблема, с которой я сталкиваюсь сейчас, заключается в том, что я не могу определить, была ли эффективно передана входная переменная, как«parameter_1 = null» или если сам параметр даже не был передан в вызове действия.проблема в том, что я не могу удалить значение в crm, если входной параметр просто не был передан.только если параметр был передан со значением null, мне разрешено удалять значение поля в crm.

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

Может быть есть обходной путь, который позволяет мне определить, было ли значение входного параметра передано как нулевое значение, а не как пропущено?

что-то вроде "undefined" или подобное?

1 Ответ

0 голосов
/ 20 декабря 2018

Вы правы.Входные параметры всегда присутствуют в коллекции IPluginExecutionContext.InputParameters, передаваемой плагину, обрабатывающему ваше действие.

Вам понадобится дополнительный «MyParameterNameSpecified», чтобы можно было сигнализировать о том, что нулевое значение параметра действительно передано.

Другим вариантом может быть использование параметра string, содержащего значение, переданное в сериализованной форме JSON.

...