Вопрос

Доступ к данным из элемента Read Date через Script task.

Пытался вспомнить, как из скрипта получить доступ к данным, прочитанным в Read Data, наткнулся на этот вопрос - https://community.creatio.com/questions/how-get-read-data-fields-script…



Здесь именно тот подход, что я и хотел вспомнить, но при этом автор ответа в своём ответе утверждает, что на проде таким лучше не пользоваться. Мой вопрос в том, действительно ли это плохой подход? Какие именно в нём проблемы? Если отказаться от него, то остаётся только класть нужные значение в переменные бизнес-процесса, а потом в скрипте доставать их через this.get ?

Нравится

2 комментария

Здравствуйте, Александр!

Лучше использовать параметры процесса, так как это делает БП более универсальным. Если мы передаём сразу определенные значения в процесс, а через некоторое время произведем изменения значения в приложении, то БП будет падать с ошибкой. К примеру: удалим переданный в процесс id контакта, то БП запустится, не найдет указанный ранее контакт и не отработает корректно в итоге.

В случае передачи параметра – мы указываем точное место поиска необходимого элемента, а не его имя. Можно прямо в параметре процесса сказать, что нужно взять колонку из ReadData элемента, при обращении к этому параметру. Таким образом мы можем использовать БП повторно для нескольких задач.

Get/Set методы действительно являются самыми проверенными и точными для передачи данных в Script task БП.

П.С. В этих статьях с академии вы можете подробно прочитать про Read data и Script task.

Anhelina пишет:

Можно прямо в параметре процесса сказать, что нужно взять колонку из ReadData элемента, при обращении к этому параметру

Не совсем понял эту часть. Есть параметр процесса, где-то в процессе есть ReadData, и в этом параметре вы указываете, как значение, колонку из ReadData, правильно? Если так, то разве не будет проблемы в том, что параметры процесса инициализируются в начале работы процесса, когда ReadData ещё не выполнился, что приведёт к тому, что в параметре пустота будет записана?

Показать все комментарии