Перейти к основному контенту

Для разработчиков: Генерация сертификатов

В данной статье описан процесс разработки генерации сертификатов. Про работу с шаблонами можно почитать в отдельной статье.

Для генерации сертификата необходимо создать событие, которое мы обычно называем "Генерация сертификата".

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

Редактирование шаблона бизнес-процесса.

Для созданного нами события нужно настроить шаблон бизнес-процесса.

Для начала стоит продумать генерацию ФИО участника. Есть два способа это реализовать.

Первый - самый простой. Достаточно в шаблоне указать ключевые слова: {ContactFormattedName}. Тогда ФИО будет автоматически сгенерирован в сертификате и не нужно создавать дополнительные сегменты в шаблоне бизнес-процесса.

Если такой способ генерации ФИО не устраивает по той или иной причине и есть необходимость сделать по-своему, то для этого есть второй способ, но он не прост в реализации. Для начала нужно создать сегмент "Выбор данных CRM". Благодаря ему мы получим доступ к контактным данным пользователя, в том числе и к ФИО. К сожалению, из-за какого-то бага просто использовать полученные данные в генерации сертификата не достаточно. Необходимо присвоить эти данные к переменным. Для того, чтобы создать переменные, нужно нажать на пункт в меню "Параметры шаблона" и перейти к пункту "Переменные".

Чтобы не возникло путаницы, стоит указывать одинаковые названия и идентификаторы для переменных.

Чтобы присвоить данные к переменным, придется использовать сегмент "PHP код". Вот пример присвоения ФИО в отдельные переменные:

$str = '{=A72930_27475_91333_16056:NAME}';
$firstName = mb_strtoupper($str);
$this->setVariable('firstName', $firstName);
$str = '{=A72930_27475_91333_16056:SECOND_NAME}';
$secondName = mb_strtoupper($str);
$this->setVariable('secondName', $secondName);
$str = '{=A72930_27475_91333_16056:LAST_NAME}';
$lastName = mb_strtoupper($str);
$this->setVariable('lastName', $lastName);