Как переопределить метод this.save() на странице редактирования

Добрый день.

Есть бизнес процесс который запускается через консультационную панель, где мы уже имеем определенные поля(ContactId, и т.д.). При запуске бизнес процесса мы создаем запись в нужном нам разделе и далее на странице редактирования данного раздела, заполняем нужные нам поля и идем далее по бизнес процессу. Но при выполнении встроенного метода this.save() не может создать такую же запись, ругаясь на то, что запись с таким Id уже имеется. Да она уже есть, мне ее надо обновить, но сделать надо на странице редактирования, так как при следующем шаге бизнес процесса, в задании - сценарии идет расчет по полям, которые должны были записаться в БД на странице редактирования на предыдущем шаге.

Подскажите пожалуйста в какую сторону смотреть.

В задании сценарии вызываются сервисы по расчету комиссии, и там нужны заполненные поля на странице редактированияИзображение удалено.

Изображение удалено.

Изображение удалено.

В бд такая запись существует но не со всеми заполненными параметрами

Изображение удалено.

Нравится

1 комментарий
Лучший ответ

В вашем случае надо использовать элемент "Открыть страницу редактирования", а не "Преднастроенная страница".

 

Вы используете преднастроенную страницу там не должно вызываться this.save(). Преднастроенная страница получает данные из параметров, потом вы в следующем за ней элементе бизнес процесса, получаете данные со страницы тоже и параметров. Для того чтобы продолжить исполнение процесса на преднастроенной странице вызывается this.acceptProcessElement("NextButton");

 

Если вы пишите преднастроенную страницу, смотрите схему PreconfiguredEntityPageV2 и статью https://academy.terrasoft.ru/docs/user/biznes_processy/spravka_po_eleme…

 

 

В вашем случае надо использовать элемент "Открыть страницу редактирования", а не "Преднастроенная страница".

 

Вы используете преднастроенную страницу там не должно вызываться this.save(). Преднастроенная страница получает данные из параметров, потом вы в следующем за ней элементе бизнес процесса, получаете данные со страницы тоже и параметров. Для того чтобы продолжить исполнение процесса на преднастроенной странице вызывается this.acceptProcessElement("NextButton");

 

Если вы пишите преднастроенную страницу, смотрите схему PreconfiguredEntityPageV2 и статью https://academy.terrasoft.ru/docs/user/biznes_processy/spravka_po_eleme…

 

 

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