Формулировка проблемы: необходима возможность указания адреса в форме документа для его отправки как с помощью выбора из реестров "Аккаунты" или "Контакты", так и с помощью ручного ввода произвольного e-mail.
Решение: необходимо реализовать код скрипта для таблицы, используемой в формах "Договор поставки (единовременная оплата)", "Договор поставки (оплата частями)", "Коммерческое предложение" и "Акт приема-передачи товара". В результате будет возможно использование штатного процесса "Отправка документа по форме" с указанием кода поля, содержащего выбранный e-mail.
Компонент выбора адреса в форме
В формах "Договор поставки (единовременная оплата)", "Договор поставки (оплата частями)", "Коммерческое предложение" и "Акт приема-передачи товара" реализовать таблицу "Отправить заказчику" с полями:
№ поля | Код компонента | Тип компонента | Состав данных, поведение |
---|---|---|---|
1 |
|
Выпадающий список |
|
2 |
|
Ссылка на реестр "Аккаунты" |
Доступность зависит от значения поля
|
2.1 |
|
Ссылка на реестр "Контакты" |
Доступность зависит от значения поля
|
3 |
|
Однострочное поле |
Почтовый адрес (описано ниже) |
Поля choice
и
email
должны быть
обязательны для заполнения.
Примечание: здесь и далее для именования полей таблицы используются псевдо-названия. В коде итогового скрипта имена компонентов должны удовлетворять требованиям.
Поведение поля
choice
Если в поле choice
выбрано
значение "Аккаунт", то должно быть доступно поле
account_link
, поле
contact_link
скрыто.
Если в поле choice
выбрано
значение "Контакт", то должно быть доступно поле
contact_link
, поле
account_link
скрыто.
Если в поле choice
выбрано
значение "Ручной ввод", то поля
account_link
и contact_link
должны быть скрыты.
Поведение поля
email
Для случая, когда заполняется поле
account_link
, в поле
email
требуется
отображать значение поля
crm_form_contact_email.crm_form_contact_email_email
.
В случае, если таблица
crm_form_contact_email
для выбранного контакта содержит больше одного элемента,
выбирать значение в зависимости от значения поля
crm_form_contact_email.crm_form_contact_email_emailCombo
по значение с минимальным порядковым номером записи справочника
crm_dict_email.
Для случая, когда заполняется поле
contact_link
, в поле
email
требуется
отображать значение поля
crm_form_account_email.crm_form_account_email_email
.
В случае, если таблица
crm_form_account_email
для выбранного контакта содержит больше одного элемента,
выбирать значение в зависимости от значения поля
crm_form_account_email.crm_form_account_email_emailCombo
тем же приоритетам, что и для пункта 1.
Для случая, когда в поле
choice
выбрано значение
"Ручной ввод", в поле
email
должно заполняться
вручную.