7.11

Товарищи нужна помощь.

Поле в карточке имеет тип boolean(checkbox)

В бизнес процессе это поле является условием перехода.

Само условие выглядит так:

![#Данные лида.Первый элемент результирующей коллекции.Взять лид из ПВО в работу#]

Т.е если не фига не нажато(false), идем дальше.

Но условие не работает.

 

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

 

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

 

Нравится

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

[#Данные лида.Первый элемент результирующей коллекции.Взять лид из ПВО в работу#] == false

И сейчас в голову пришла еще идея: проверить, заполняется ли по-умолчанию колонка "Взять лид из ПВО в работу" значением false (без этого, к примеру, в дет. с ред. реестром происходит жесть. по крайней мере в версии 7.12.0. спс тому, кто догадался validate прикрутить на сохранение ряда).

[#Данные лида.Первый элемент результирующей коллекции.Взять лид из ПВО в работу#] == false

И сейчас в голову пришла еще идея: проверить, заполняется ли по-умолчанию колонка "Взять лид из ПВО в работу" значением false (без этого, к примеру, в дет. с ред. реестром происходит жесть. по крайней мере в версии 7.12.0. спс тому, кто догадался validate прикрутить на сохранение ряда).

Добрый день, Роман!



В ходе анализа вашей проблемы ошибок в самом условии нет, оно работает корректно. Проблема в параметре, который Вы используете.

Попробуйте использовать элемент процесса "Читать данные" параметр процесса (см. скриншоты).

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

Есть вопрос, кто сталкивался с этой проблемой прошу помочь
Создал параметр в БП LeadID, дал значения новый идентификатор лида, при создании лида в БП присвоил полю Id значение LeadID, потом в другой карточке сделал изменения и записал в поле лид значение LeadID. Но туда ничего не записывается, в чем проблема?

Нравится

11 комментариев

Здравствуйте!

Не могли Вы поподробнее описать момент:

"Радчук Виталий Владимирович" написал:

Создал параметр в БП LeadID, дал значения новый идентификатор лида, при создании лида в БП присвоил полю Id значение LeadID

Уточните, пожалуйста, зачем такая реализация? При добавлении лида элементом "Добавить данные" Id генерируется автоматически. У элемента "Добавить данные" есть параметр "Id созданной записи" - в этом параметре хранится сгенерированный Id. Значение этого параметра Вы сможете потом записать в другие сущности.

Дело в том что нужно создать 3 разных лида(в зависимости от условий) а потом в независимости какой был создан вести этот лид дальше по процессу.

В таком случае сделайте наоборот:
1) Создайте параметр бизнес процесса (с типом уникальный идентификатор)
2) После каждого элемента "Добавить данные", который создает лид, используйте элемент "Формула", чтобы заполнить созданный параметр значением Id созданной записи.

В результате, у Вас в параметре будет хранится корректное значение Id лида.

что может значить эта ошибка?
process_obrabotki_zvonkov_error.txt

"Радчук Виталий Владимирович" написал:
The INSERT statement conflicted with the FOREIGN KEY constraint "FKkw7kQYErf0GdDIOp9FOjniv8". The conflict occurred in database "BPMOnline", table "dbo.SysProcessData", column 'Id'.

Где-то на ветвлении в процессе используется обычный поток вместо потока по умолчанию/условного потока. В результате две ветки приходят к одному элементу.

Вот скрин процесса

Пришлите, пожалуйста, настройки элемента "А) Добавить лид".

Хмм убрал условный поток и по умолчанию от начального элемента, а в замен поставил обычный - все начало работать нормально...

еще вопрос...
сделал как сказали:

первая и третья ветки нормально заполняют поле лид в звонок, а во второй ветке лид создается но не записывается в поле лид карточки звонка. В журнале показывает что элемент "Добавить звонок к созданному лиду" отрабатывает. В чем может быть причина?

Виталий,

Предлагаю убедится, какое именно значение передается в поле Лид карточки Звонка. Для этого добавьте во второй ветке автогенерируемую страницу. С помощью элемента Формула передавать на автогенерируемую страницу Id созданного лида.
Также после создания лида попробуйте добавить таймер с задержкой в 1 секунду, после чего передавать значение Id в карточку звонка.

"Зарицкий Олег Васильевич" написал:Виталий,

Предлагаю убедится, какое именно значение передается в поле Лид карточки Звонка. Для этого добавьте во второй ветке автогенерируемую страницу. С помощью элемента Формула передавать на автогенерируемую страницу Id созданного лида.
Также после создания лида попробуйте добавить таймер с задержкой в 1 секунду, после чего передавать значение Id в карточку звонка.


Сделал по другому(решил сделать подобно первой ветке), поменял местами запоминание лида со следующими тремя элементами. И о чудо она сработало так как нужно, в чем ошибка я так и не понял(

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

Здравствуйте,

помогите, пожалуйста со следующим вопросом:
есть кастомное поле (справочник(шаблон инцидента) в инциденте). делаю дополнительный БП который обрабатывает изменение этого поля. Читаем данные инцидента ReadDataUserTask1. Далее требуется через Исключающее ИЛИ расписать дальнейшие варианты действий условными потоками. Вот пример попытки написать условие одного из потоков:

ReadDataUserTask1.ResultEntity.GetTypedColumnValue("TemplateOfIncident.Id") == (Guid)Terrasoft.Core.Configuration.SysSettings.GetValue(UserConnection, "StandartIncidentTemplate”)

системную настройку значений полей справочника (например StandartIncidentTemplate) я сделал..

при публикации имеем ошибки типа "символ новой строки в константе", "Ожидался класс, делегат, перечисление, интерфейс или структура" и "ожидалось перечисление типа или пространства имен либо признак конца файла"

понимаю, что нужно указать тип имени TemplateOfIncident.Id(возможно неявного), но как это сделать не знаю.

если в качестве теста использовать стандартное поле и справочник (Сервис) то условие:
ReadDataUserTask1.ResultEntity.GetTypedColumnValue("ServiceId") == (Guid)Terrasoft.Core.Configuration.SysSettings.GetValue(UserConnection, "EquipmentReplacementService”)
работает при использовани в Usings - Terrasoft.Configuration

Нравится

1 комментарий

обходное решение нашлось необчным образом - взял guid поля справочника из таблицы и вставил его в условие:

ReadDataUserTask1.ResultEntity.GetTypedColumnValue("TemplateOfIncidentId") == new Guid("E7496BD4-855C-45E1-AA07-B286CFCD55A7")

подозреваю, что лучше в стороннем скрипте (сразу после старта процесса) объявить переменную, сравнивать со значениями и в условии обращаться уже к ней.

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

Здравствуйте!
Есть такая задача:

В начале процесса может быть выбран один или несколько продуктов двух типов, и если выбран хотя бы один продукт типа, то маркер этого типа устанавливается в 1

Спустя несколько шагов процесс должен пойти по одной или нескольким веткам одновременно, в зависимости от того, был ли выбран продукт(ы) только одного типа или обоих типов

На данный момент процесс перестает работать при выбора варианта ответа "Оплата получена".
Что я делаю не так?

Нравится

1 комментарий

Здравствуйте.

Первое, используйте элемент "Исключающий или" (с крестиком) .
Второе: используйте поток по умолчанию и условные потоки. Нельзя использовать безусловный поток.

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