Всем доброго времени суток. Версия 7.12.
Есть бизнес-процесс с параметрами, вызывается из клиентской схемы.
Среди параметров есть параметр типа "Дата/Время". Попробовал передать туда обычную дату this.get("WSStartDate"), в результате при запуске процесс выдаёт ошибку: "Строка не распознана как действительное значение DateTime".
Как правильно передавать такие параметры в бизнес-процессы?
Нравится
Это ошибка ядра.
Обойти её можно таким образом. На входе в БП или перед тем, как Вы собираетесь работать с этим параметром нужно добавить элемент скрипт-таск и прописать приблизительно такой код:
var shipmentDateString = Get<string>("ShipmentDateString");
if (!string.IsNullOrEmpty(shipmentDateString)) {
var shipmentDate = DateTime.ParseExact(shipmentDateString.Substring(0, 24), "ddd MMM d yyyy HH:mm:ss",
CultureInfo.InvariantCulture);
Set("ShipmentDate", shipmentDate);
}
и в БП использовать уже другой параметр с установленным значением.
В моем примере на входе у нас параметр "ShipmentDateString", который мы передаем в процесс с клиента, а на выходе параметр "ShipmentDate", с которым мы работаем уже в самом БП.
Это ошибка ядра.
Обойти её можно таким образом. На входе в БП или перед тем, как Вы собираетесь работать с этим параметром нужно добавить элемент скрипт-таск и прописать приблизительно такой код:
var shipmentDateString = Get<string>("ShipmentDateString");
if (!string.IsNullOrEmpty(shipmentDateString)) {
var shipmentDate = DateTime.ParseExact(shipmentDateString.Substring(0, 24), "ddd MMM d yyyy HH:mm:ss",
CultureInfo.InvariantCulture);
Set("ShipmentDate", shipmentDate);
}
и в БП использовать уже другой параметр с установленным значением.
В моем примере на входе у нас параметр "ShipmentDateString", который мы передаем в процесс с клиента, а на выходе параметр "ShipmentDate", с которым мы работаем уже в самом БП.
Алла Савельева,
Спасибо за ответ. Я правильно понимаю, что параметр ShipmentDateString - строковый? И как всё-таки в него дата передаётся? В виде строки формата "dd MM yyyy HH:mm:ss"? Или просто можно значение колонки туда из клиентской схемы передать как есть?
Смородинов Денис,
Да, передаете, как есть:
this.get("ShipmentDate")
Смородинов Денис,вопрос решился ? у меня тоже просто та же проблема(