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

Соответственно, вопрос: как в мини-карточке (второй вопрос - в нормальной карточке) создания нового контакта заполнить поля имеющейся информацией?

 

Нравится

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

Владимир,

Вы можете воспользоваться кнопкой "Квалифицировать" (скриншот) для автоматической генерации Контакта и Контрагента на основе регистрационных данных (скриншот). Эта кнопка также доступна из реестра записей раздела (скриншот).

Более подробная информация о квалификации лида находится на сайте академии в статье Квалификация лида.

"(очень справедливое)" - справедливости в этом мире нет. Поэтому придётся ручками на странице лида подписываться вот на это сообщениеНу и возвращать список дефолтных значений.

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

Соротюк Татьяна пишет:
Вы можете воспользоваться кнопкой "Квалифицировать" (скриншот) для автоматической генерации Контакта и Контрагента на основе регистрационных данных (скриншот). Эта кнопка также доступна из реестра записей раздела (скриншот).

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

Будем пробовать предложенный вариант. Спасибо!

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

Добрый день.

Создали в "Средствах связи" в карточке контакта новый тип средства связи - "Доп.email".
В профиле карточки контакта создали поле "Доп. email" куда хотим выводить доп.email из средств связи.
Но, как видно из прикрепленного скриншота, в профиль контакта в поле "Доп. email" ничего не выводится, хотя в средствах связи указан "Доп.email" контакта.
Как подтягивать в профиль контакта "Доп.email" из средств связи, аналогично другим средствам связи?

Почитала статьи, но все равно не могу понять как это реализовать. Не подскажите, может кто уже разбирал данную задачу?

Нравится

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

Здравствуйте,
Дело в том, что деталь, это отдельный объект в системе. В вашем случае объект детали "средства связи контакта": «ContactCommunication». А сама карточка контакта, другой объект (таблица в бд): "Contact", в которой самые основные средства связи продублированы, к примеру, как вы продублировали, создав поле "Доп. email". Но что бы оно заполнялось, необходимо написать соответствующую логику. К примеру, вы можете создать бизнес-процесс для этой цели, по событию создания экземпляра ContactCommunication, и в связанный контакт при этом, элементом «изменение данных», записывать сохраняемый дополнительный E-mail из детали в контакт. Подробнее про БП читайте в цикле статей на академии:
https://academy.terrasoft.ua/documents/technic-bpms/7-8/obzor-vozmozhno…

Максим Шевченко пишет:
Но что бы оно заполнялось, необходимо написать соответствующую логику

В объекте Contact уже существует подобная логика. Так зачем изобретать велосипед, который в будущем будет крутиться не так, как основная функциональность?

Как расширить базовую логику, чтобы синхронизировались доп. поля? 

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

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

В карточке контакта есть поле "Email"
В карточке контрагента есть поле "Домен e-mail"

Нужно реализовать следующую задачу: если при создании контакта в карточке не был указан контрагент, то он определился по Домену e-mail.

Например:
В системе создан контрагент "Компания", у которого "Домен e-mail" указан "gmail.com"
Cоздали контакт "Иванов Иван", у которого указали почту "123@gmail.com" и не указали контрагента. После добавления записи, контрагент должен подставиться автоматически, то есть "Компания"

Создан БП, который должен запускаться при создании контакта и если в карточке контакта не указан контрагент. В качестве начального события используется Сигнал (если добавлен контакт), далее элемент Чтение контакта (считываем данные добавленного контакта). Далее нам нужно найти контрагента, чей домен содержится в e-mail клиента.

Как это реализовать? Ведь я от контакта получаю почту "123@gmail.com", а в домене контрагента указан gmail.com

Нравится

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

"Гольфельд Елена Андреевна" написал:В карточке контрагента есть поле "Домен e-mail"

Добрый день Елена!!!

поле "Домен email" это постоянное поле? или данное поле создано в средствах связи контрагента. поясните данный момент.

"Гольфельд Елена Андреевна" написал:Как это реализовать? Ведь я от контакта получаю почту "123@gmail.com", а в домене контрагента указан gmail.com

а в этом вам поможет следующая документация с сайта Майкрасофт. String.Split

т.е вам Елена после получения емайл его нужно распарсить (разделить на части) и полученный домен сравнить с доменом контрагента. вот решение вашего вопроса.

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

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

В системе такая логика реализована при загрузке писем в систему - на деталь "Участники активности" добавляются контакты, у которых на детали средство связи есть записи, которые совпадают со значениями в поле "От кого", "Кому", "Копия". Поскольку в email приходят значения вида test@test.test<'Test email user'>, то данное выражение по регулярному выражению преобразовывается в email вида test@test.test. И уже после преобразования значения сравниваются.

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

Здравствуйте!
Помогите, пожалуйста, добавить кнопку в список "Действие" в карточке контрагента

Нравится

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

Здравствуйте, Эмин!
Это типичная задача. следующим кодом в замещающем клиентском модуле:

structure.userCode = function() {
...
	this.actions.push({
		caption: resources.localizableStrings.ActionCaption,
		methodName: 'actionMethod'
	});
	this.methods.actionMethod = function() {
		alert('test');
	};
...
};

"Андрей Каспаревич" написал:

Здравствуйте, Эмин!
Это типичная задача. следующим кодом в замещающем клиентском модуле:

structure.userCode = function() {
...
        this.actions.push({
                caption: resources.localizableStrings.ActionCaption,
                methodName: 'actionMethod'
        });
        this.methods.actionMethod = function() {
                alert('test');
        };
...
};

С уважением,
Каспаревич Андрей
Эксперт 3-й линии поддержки


Спасибо. Извините за неверную формулировку вопроса.
В карточку контакта добавить действие удалось и все работает
Но в карточке контрагента получаю вот такую ошибку

Uncaught TypeError: Cannot read property 'push' of undefined 

Разобрался. Для карточки контрагента необходимо сначала создать переменную-массив, а затем приравнять ее к this.actions

var myActions = [];
myActions.push({
 caption: resources.localizableStrings.Name,
 methodName: 'Method'
});
this.actions = myActions;

Еще раз спасибо за помощь!

Эмин, рад, что Вы разобрались! Я как раз забыл это упомянуть.

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