Добавление элементов в страницу квалификации лида
Задача: добавить поле "тип лида" в карточку квалификации лида. С добавлением поля проблем никаких, но возникают сложности с квалификацией и дальнейшим сохранением лида. На сколько понял данные сохраняются с помощью сервиса. Каким образом и в каком формате передаются данные в сервис?
Нравится
Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу.
С уважением,
Группа компаний Terrasoft
Здравствуйте, Иван.
Квалификация лида выполняется в бизнес-процессе LeadManagementQualification.
Прошу уточнить, какие именно сложности возникают у Вас для предоставления более детальных рекомендаций.
"Безродный Андрей" написал:Здравствуйте, Иван.
Квалификация лида выполняется в бизнес-процессе LeadManagementQualification.
Прошу уточнить, какие именно сложности возникают у Вас для предоставления более детальных рекомендаций.
Добавляю поле AccountType(UsrAccountType) в схему LeadQualificationSearchSimilarPageV2 (с этим все ок).
Как сохранить значение (UsrAccountType) в созданном после квалификации лида контрагенте?
Здравствуйте, Иван.
Самый простой способ - реализовать бизнес-процесс, который будет запускаться по сигналу изменения лида при условии изменения колонки "Квалифицирован как контрагент".
Первый элемент - сигнал.
Второй элемент - чтение данных лида.
Третий элемент - изменение данных контрагента (Id = чтение данных лида.квалифицирован как контрагент).
Четвертый элемент - конечный.
"Безродный Андрей" написал:Здравствуйте, Иван.
Самый простой способ - реализовать бизнес-процесс, который будет запускаться по сигналу изменения лида при условии изменения колонки "Квалифицирован как контрагент".
Первый элемент - сигнал.
Второй элемент - чтение данных лида.
Третий элемент - изменение данных контрагента (Id = чтение данных лида.квалифицирован как контрагент).
Четвертый элемент - конечный.
Есть ли еще варианты без использования БП?
Иван, это самый простой вариант.
По-другому - смотреть, где передаются колонки сейчас и по возможности замещать данный метод/процесс.
"Безродный Андрей" написал:Иван, это самый простой вариант.
По-другому - смотреть, где передаются колонки сейчас и по возможности замещать данный метод/процесс.
Единственная сложность при таком варианте получается, если поле в лиде и контрагенте обязательные...
"Безродный Андрей" написал:Владимир,
а в чем именно сложность?
Так как запись нового контрагента создается при квалификации лида, а бизнес-процесс заполнения дополнительных полей стартует только после сохранения записи, то эти дополнительные поля у контрагента не могут быть обязательными. Иначе процедура квалификации не сможет сохранить запись.
Или я не прав?
Если поля обязательные для заполнения в лиде, то Вы без их заполнения просто не сможете сохранить этот лид и квалифицировать его в дальнейшем:)
А если речь об обязательных для заполнения полях в контрагенте, то должно получится, т.к. поля обязательные не на уровне СУБД, а на уровне приложения и контрагент будет создан без заполнения данных полей.
Другое дело, что если Вы затем откроете его карточку и захотите его сохранить без заполнения одного из таких полей, то в этом случае уже не получится это сделать.
"Безродный Андрей" написал:А если речь об обязательных для заполнения полях в контрагенте, то должно получится, т.к. поля обязательные не на уровне СУБД, а на уровне приложения и контрагент будет создан без заполнения данных полей.
Попробуем. На 7.2 не получалось так
Добрый день!
Проверил дополнительно эту последовательность.
Вы правы, сохранить не удастся, возникнет RequiredColumnsEmptyValuesException еще на этапе квалификации лида.
В этом случае необходимо обязательное поле заполнять на уровне объекта значением по умолчанию, - тогда все сработает.
"Безродный Андрей" написал:В этом случае необходимо обязательное поле заполнять на уровне объекта значением по умолчанию, - тогда все сработает.
Да, вместо NULL будет что-то типа "Не заполнено". Не самый лучший способ, так как , создавая контрагента не из лида, пользователь может запросто проигнорировать обязательность этого поля, так как оно уже заполнено каким-то значением.
Владимир,
можно на событии открытия карточки очищать поле в том случае, если оно заполнено определенным значением.