Пользовательская функция - сервисный инструмент, который используется для выполнения произвольного кода в различном контексте системы. Код может использоваться как инструмент вычисления и для записи вычисленных значений в базу данных, и для чтения некоторых данных из базы и выводе этих данных в различном контексте системы.
Например, пользовательские функции могут использоваться:Используется для определения ответственного для автоматически формируемой задачи при использовании режима перехода между этапами «Задачи»:
Доступные переменные:
Данные.Сделка - ссылка на сделку, в контексте которой вычисляется ответственный формируемой задачи вида сделки.
Используется для определения ответственного пользователя блока действия в маршруте бизнес-процесса, которым выступает задача:
Доступные переменные:
Данные.БизнесПроцесс - ссылка на экземпляр запущенного бизнес-процесса, значение реквизита «Бизнес-процесс» задачи, соответствующей действию маршрута бизнес-процесса.
Данные.Основание - значение реквизита «Основание» задачи по текущему действию маршрута бизнес-процесса. Задача, соответствующая первому действию бизнес-процесса будет содержать предмет бизнес-процесса - объект, на основание которого был запущен бизнес-процесс. Все последующие задачи в реквизите «Основание» содержат ссылку на задачу, соответствующую предыдущему действию маршрута бизнес-процесса.
Пример пользовательской функции в контексте бизнес-процесса:
Используется для формирования текста, который может быть отправлен электронным сообщением на e-mail или sms при наступлении события в системе или по расписанию с помощью автоматических реакций.
Пример пользовательской функции в контексте шаблона текста:
Доступные переменные:
Данные.Назначение - ссылка на экземпляр назначения шаблона текста, в контексте которого происходит формирование данных, например, заказ клиента.
Используется для заполнения шаблона документа MS Word вычисляемыми данными из информационной базы. В шаблонах документов MS Word существует возможность использовать одну пользовательскую функцию с разными свойствами (ключами). Например, для получения контактной информации клиента из информационной базы можно написать одну пользовательскую функцию «Контакты клиента», которая будет возвращать значение переменной «Результат» с типом «Структура», ключами которой будут различные виды контактной информации, например, «Телефон» и «Адрес». В таком случае, при настройке шаблона документа MS Word можно будет в обоих реквизитах (параметрах документа) указать одну и ту же функцию с разными свойствами (ключами). Например, для заполнения параметра «Телефон клиента» в шаблоне документа MS Word можно указать свойство (ключ) функции «Телефон», для заполнения параметра «Адрес клиента» указать свойство (ключ) «Адрес» функции «Контакты клиента».
Пример использования одной пользовательской функции с разными свойствами (ключами):
Доступные переменные:
Данные.Назначение - ссылка на экземпляр назначения шаблона документа MS Word, в контексте которого происходит формирование печатной формы, например, коммерческое предложение.
Данные.НомерСтроки - Переменная, содержащая номер строки табличной части, в контексте которой используется пользовательская функция при формировании документа MS Word.
Используется в том случае, когда необходимо выполнить произвольный код (на языке 1С: Предприятия 8) при нажатии на кнопку, расположенную на форме документа «Задача (CRM)». Автокнопки предназначены для оперативного заполнения документа данными, запуска скрипта разговора или опроса клиента. Однако, в тех случаях, когда этого недостаточно, можно выполнить произвольный программный код.
Пример использования пользовательской функции в автокнопках:
Доступные переменные:
Данные.Задача - ссылка на экземпляр назначения автокнопки - документ «Задача (CRM)», на форме которой была нажата соответствующая кнопка.
Используется в том случае, когда необходимо выполнить произвольный код (на языке 1С: Предприятия 8) при наступлении какого-то события в системе или по расписанию.
Пример использования произвольного кода в автоматической реакции (создание напоминания о приближении срока выполнения задачи) при создании новой задачи:
Доступные переменные:
Данные.Назначение - ссылка на экземпляр объекта назначения, указанный в качестве события автоматической реакции.
Используется в автоматической реакции с видом «Создать документ (справочник)» в тех случаях, когда при определенных условиях (по наступлению события или по расписанию) необходимо создать (сгенерировать) данные в системе (документы или элементы справочников).
Пример использования пользовательских функций в генераторе данных:
Доступные переменные:
Данные.Назначение - ссылка на значение первой колонки выборки данных, которая обходится в цикле для генерации данных.