Здравствуйте.
Пытаюсь из событийного процесса таблицы вызвать БП. Из C# скрипта.
ProcessSchema schema = UserConnection.ProcessSchemaManager.GetInstanceByName("RNProductsUnavailableForOrder"); Process process = schema.CreateProcess(UserConnection); process.Execute(UserConnection);
Процесс запускается и висит в выполнении. Т.е. состояние процесса в журнале - "Выполняется".
В процессе только старт и стоп. Ничего больше нет. Уже три раза его пересоздавал. Висит в выполнении и всё! Ничего больше не происходит. Ни ошибок, ни действий, ни трассировки... ничего.
Что может быть?
Спасибо!
Нравится
Pavel Litvinovich,
Здравствуйте.
Попробую.
Сейчас заработало вот так:
ProcessSchema schema = UserConnection.ProcessSchemaManager.GetInstanceByName("RNProductsUnavailableForOrder"); //Разные движки для интерпритируемых и компилироуемых БП bool canUseFlowEngine = ProcessSchemaManager.GetCanUseFlowEngine(UserConnection, schema); if(canUseFlowEngine) { var flowEngine = new FlowEngine(UserConnection); var param = new Dictionary<string, string>(); param["Lead"] = "Test"; flowEngine.RunProcess(schema, param); } else { Process process = schema.CreateProcess(UserConnection); process.SetPropertyValue("Lead", "Test"); process.Execute(UserConnection); }
Я находил такой пример на форуме, но у меня он вызывал ошибку и я пошёл искать дальше. А надо было ковырять ошубку, которую он вызывал.
Спасибо ещё раз!
Всё заработало.
Slovarik,
У Вас тоже через flowEngine запускаются процессы новосозданные? У меня в 7.18.2 новые процессы только через flowEngine запускаются, и код ругается что данные способ будет скоро удален из системы, используйте новый (тот что у Вас в примере в начале). Не знаете почему новые процессы работают на старом ядре ?
Александр Тыра,
Добрый день, Александр.
Если я правильно понял Ваш вопрос, то политика обновления приложения всегда была такой, что не запрещала использовать устаревшие конструкции, пока их не уберут совсем. С какой-то версии начинают появляться предупреждения о скором удалении функциональности и все.