переопределение метода
Lead

Доброго дня!

 

Мне нужна помощь, можете пошагово и подробно объяснить, как правильно переопределить метод? Я уже несколько часов пытаюсь это сделать и ничего не выходит. Заранее благодарен. 

Нравится

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

Добрый день!

Вам нужно добавить замещающий объект в своем пакете. В качестве родительского указываете "Лид". После этого переходите в дизайнер процессов и делаете замещение метода. Выглядеть это будет примерно вот так:

 

public override void UpdateLeadName()
{
	//тут могла быть Ваша реклама
	base.UpdateLeadName();
}

 

Добрый день!

Вам нужно добавить замещающий объект в своем пакете. В качестве родительского указываете "Лид". После этого переходите в дизайнер процессов и делаете замещение метода. Выглядеть это будет примерно вот так:

 

public override void UpdateLeadName()
{
	//тут могла быть Ваша реклама
	base.UpdateLeadName();
}

 

Для примера, в пакете  CoreLead так переопределяют соседнюю функцию LeadInserted из базового пакета Lead.

Тут базовая пустая:

public virtual void LeadInserted() {
}

Тут переопределили:

public override void LeadInserted() {
	base.LeadInserted();
	if (CanStartQualificationProcess()) {
		StartQualificationProcess();
	}
}

Вы, в свою очередь, аналогично переопределите нужную в пакете Custom, не забыв в начале или конце вызвать базовую (если того требует смысл).

Показать все комментарии
Lead
Лид
продажа
7.12
sales

Добрый день!



Хочется узнать идеологическое обоснование того, что сейчас к лиду привязана только одна продажа.

Как лучше управлять ситуацией, когда первая продажа закончилась неуспешно, а лид вернули на взращивание. И через некоторое время лид отправляется снова на продажу.



В итоге привязка первой продажи к лиду пропадает.

Ваше мнение, как корректнее было бы управлять такими ситуациями?

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

Нравится

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

Я бы предложила при возврате лида - оставить его для истории. А для работы создать новый лид . Ведь если лид не закончился продажей - значит необходимо поменять условия и тактику. Это уже можно назвать новым лидом. Возможно создать "Родительский лид" и связать его со всеми дочерними.

Так можно решить проблему и цитата: "...И в рамках одной потребности можем получать лиды на 10 вебинаров, 5 white page и по другим каналам  Причём, от разных контактов..." Привяжите их к "родителю". для "родительского лида" создайте отчетные поля.

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

О лидах и продажах описано тут.

Слишком много логики их связывает, все квалификации-дисквалификации, чтобы переделывать на деталь.

Может, лучше просто пользоваться кнопкой копирования в разделе лидов. Или, развивая вариант, сделать БП, который делает копию лида в нужном состоянии и в ранее добавленное справочное поле ставит ссылку на родительский.

Эту логику мы читали. Просто, и так слишком много лидов генерируется, пока один клиент с одной потребностью разбирается  А тут ещё один лид без сохранения истории создадим. 

Можно настроить в разделе фильтрацию, чтобы не видеть не интересующие лиды.

У меня больше идеологические расхождения. 

Что мы взращиваем - потребность (может быть много разных лидов) или конкретную заявку (лид в системе) 

И в рамках одной потребности можем получать лиды на 10 вебинаров, 5 white page и по другим каналам  Причём, от разных контактов.

Но сейчас нужно их дисквалифицировать, чтобы не было дубликатов. Немного теряется стройность в реальном мире 

Лидов может быть ещё больше. Если подключена веб-форма регистрации лидов, один и тот же человек может их завести сколько угодно. Но в результате продадут только по одному.

Я бы предложила при возврате лида - оставить его для истории. А для работы создать новый лид . Ведь если лид не закончился продажей - значит необходимо поменять условия и тактику. Это уже можно назвать новым лидом. Возможно создать "Родительский лид" и связать его со всеми дочерними.

Так можно решить проблему и цитата: "...И в рамках одной потребности можем получать лиды на 10 вебинаров, 5 white page и по другим каналам  Причём, от разных контактов..." Привяжите их к "родителю". для "родительского лида" создайте отчетные поля.

Показать все комментарии
7.8
Lead
profile
ProfileContainer
Технические вопросы
7.x

Добрый день.
Необходимо сделать блок ProfileContainer для вывода информации из пользовательского справочника.
Делал по инструкции из поста
В качестве MasterColumn для фильтрации данных ProfileContainer используется поле CityId карточки Лида. Внешним ключом в справочнике выступает поле UsrCityId.
При инициализации ProfileContainer`а происходит ошибка при получении entityStructure моего справочника в методе initTypeColumnName (моего справочника нет вообще в перечне сущностей Terrasoft.configuration.EntityStructure).
Вопросы:
1. Как добавить пользовательский справочник в Terrasoft.configuration.EntityStructure?
2. Как более правильно реализовать описанную выше задачу, при условии, что фильтрация в ProfileContainer будет производиться не по полю Id, а по справочному полю UsrCityId c префиксом Usr?

Нравится

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

Здравствуйте, Игорь.

1) Проверьте, корректно ли был создан справочник. Так же проверьте описан ли данный справочник в define модуля.

2) Вам следует воспользоваться свойством profileColumnName. viewModelConfig должен выглядеть примерно следующим образом:

"viewModelConfig": {
masterColumnName: "City",
"profileColumnName": "UsrCity"
}

Здравствуйте, Илья! Спасибо за ответ.
1. Справочник наследуется от базового объекта. Название схемы справочника добавлено в define (как в вашем примере).
2. В модуле карточки Лида уже использую profileColumnName

  modules: /**SCHEMA_MODULES*/ {
            "InterventionCostProfile": {
                "config": {
                    "schemaName": "CostProfileSchema",
                    "isSchemaConfigInitialized": true,
                    "useHistoryState": false,
                    "parameters": {
                        "viewModelConfig": {
                            "masterColumnName": "City",
                            "profileColumnName": "UsrCity"
                        }
                    }
                }
            }
        },
        /**SCHEMA_MODULES*/

Но, к сожалению, в методе initTypeColumnName в переменную entityStructure приходит Undefine вместо структуры схемы.
Может что-то упустил.

Здравствуйте, Игорь.

1) Попробуйте выполнить компиляцию конфигурации, а также пере генерировать исходные коды.
2) Так же рекомендую Вам смотреть в сторону создания своего модуля по аналогии с BaseProfileSchema, поскольку данная схема не предназначена для фильтрации по пользовательским колонкам.

Показать все комментарии
Lead
web
Технические вопросы
7.x

Доброго времени суток!
Переходим на bpm с другой crm.
В старой был стандартный функционал по приему лидов с форм на сайтах.
Если что то подобное в bpm?
Если нету, то можно ли создать REST сервис на который будут приходить данные с сайтов?
Буду рад если кто поделится ссылочкой на доки где это описано.

Нравится

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

Добрый день!
Данный функционал присутсвует в версии 7.6 в виде лендинга в продукте Bpm'online Marketing.
Более детально о его реализации Вы можете почитать в документации по ссылке(со страницы 167):
http://academy.terrasoft.ru/documents/docs/product/bpm'online%20marketi…

Такая функциональность есть в bpm'online sales.

У нас bpm’online real estate
Как можно это добавить?

Виктор, уточните, пожалуйста, версию продукта.

Версия 7.6.0.1693

Виктор, для продуктовой линейки 7.6 данный функционал реализован только в продукте Marketing.

Я так понимаю подключить его отдельно нельзя?

Да, все верно. Это один из объектов конкретного продукта.

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