Добрый день!
Подскажите, пожалуйста, как
1) очистить дату через элемент "Изменение данных" - то есть как обозначить пустую дату?
2) как сравнить в условии(условный поток) в бизнес-процессе дату с null (то есть проверить заполнена дата или нет)
Собственно, интересует вопрос как обозначить пустую дату? (незаполненную)
Например, строка - это string.Empty
а в случае даты?
Нравится
Дарья, добрый день!
На уровне приложения поле с типом DateTime является non-nullable. Т.е. установить значение null в элемент “Изменить данные” не получится.
Список доступных методов DateTime можно посмотреть в документации https://msdn.microsoft.com/en-us/library/system.datetime(v=vs.110).aspx
Если не указывать значение для поля с типом DateTime при создании записи в объекте – в базе данных будет установлено значение null.
а в условном потоке можно как-то проверить, заполнена дата или нет?
Если нельзя очистить дату с помощью элемента "Изменить данные", тогда как действовать? использовать элемент сценарий?
Здравствуйте, Дарья!
Для проверки заполнена дата или нет Вы можете в условном потоке сравнивать [#Параметр#] c минимальной датой (DateTime.MinValue).
Дата не заполнена, если [#Параметр#]<=(DateTime.MinValue).
Для очистки даты Вам нужно использовать задание-сценарий, т.к. элементом "Изменить данные" Вы сможете только задать значение DateTime.MinValue, которое соответствует 01.01.0001 (такое значение будет отображаться на странице редактирования/в реестре, что не очень красиво).
Добрый день!
Использую такой код в сценарии для очищения даты
UserConnection userConnection = context.UserConnection;
var update = new Update(userConnection, "Case")
.Set("SolutionProvidedOn", new QueryParameter(null))
.Where("Id").IsEqual(new QueryParameter(RecordId));
update.Execute();
Возникает ошибка при исполнении процесса -
Ссылка на объект не указывает на экземпляр объекта.
Пробую использовать такой код в сценарии для очищения даты
UserConnection userConnection = context.UserConnection;
var update = new Update(userConnection, "Case")
.Set("SolutionProvidedOn", null)
.Where("Id").IsEqual(new QueryParameter(RecordId));
update.Execute();
При публикации объекта возникает ошибка
Как очистить дату с помощью элемента-сценарий?
Здравствуйте, Дарья!
Вы можете использовать CustomQuery.
var dr = new CustomQuery(UserConnection, String.Format(
"update case set SolutionProvidedOn = null where Id = 974ca9fc-c066-4a7a-ac65-7ec91a44a067")).ExecuteReader(dbExecutor);
При этом сам запрос Вам необходимо формировать отдельно (так как Id каждый раз будет новый).