Формулировка проблемы: необходимо реализовать кейс системы управления взаимоотношениями с клиентами.
Решение: для реализации кейса CRM необходимо реализовать следующие пользовательские компоненты:
Необходимо реализовать новый пользовательский компонент на основе компонента "Ссылка на реестр". Список доступных действий:
Общее
пользовательский компонент должен иметь возможность сопоставления (в качестве источника и приемника).
Проигрыватель формы в режиме редактирования
Выбор существующей записи реестра:
Выбор записи осуществляется по нажатию на лейбл "Выбрать из реестра".
Лейбл "Выбрать из реестра" доступен всегда.
По нажатию на лейбл откроется диалоговое окно, которое содержит таблицу со всеми записями данного реестра.
Столбцы таблицы представляют собой отображаемые поля реестра.
Возможность ручного ввода и подбор результатов среди имеющихся записей реестра.
Поиск производится по всем отображаемым полям реестра.
Значения в выпадающем списке составлены из полей диалога (т.е. отображаемых полей реестра), разделенных тире.
Создание новой записи реестра из текущей формы:
Создание новой записи доступно по нажатию на лейбл "+ Создать".
Лейбл "+ Создать" доступен всегда.
По нажатию на лейбл "+ Создать" откроется диалоговое окно проигрывателя формы в режиме редактирования.
Удаление текущего выбранного значения компонента:
Удаление текущего значения компонента доступно по нажатию на лейбл "х Удалить".
Лейбл "х Удалить" доступен только в случае, когда в компоненте выбрано какое-либо значение.
По нажатию на лейбл "х Удалить" компонент принимает вид пустого поля ввода.
Проигрыватель формы в режиме чтения
Выбранная запись реестра отображается в виде подчеркнутого лейбла, составленного из значащего содержимого этого реестра.
По нажатию на лейбл выбранной записи откроется диалоговое окно проигрывателя формы, который отображает эту запись из реестра в режиме просмотра.
Примечание
Пример реализации данного компонента: UC5.
Используется:
Лиды
При сохранении изменений связанные поля заполнятся ссылкой на текущую запись в следующих реестрах:
Аккаунт - crm_form_account_lead_lead
Контакт - crm_form_contact_lead_lead
Активность - crm_form_leadActivity_main_lead
При выборе существующей записи реестра Аккаунт в динамической таблице (crm_form_account_lead) этой записи добавится строка, которая будет содержать ссылку на текущую запись реестра Лид в поле crm_form_account_lead_lead.
При удалении или замене ссылки на запись реестра Аккаунт в динамической таблице (crm_form_account_lead) этой записи будет удалена строка с ссылкой на текущую запись реестра Лид.
При выборе существующей записи реестра Контакт в динамической таблице (crm_form_contact_lead) этой записи добавится строка, которая будет содержать ссылку на текущую запись реестра Лид в поле crm_form_contact_lead_lead.
При удалении или замене ссылки на запись реестра Контакт в динамической таблице (crm_form_contact_lead) этой записи будет удалена строка с ссылкой на текущую запись реестра Лид.
Сделки
При сохранении изменений связанные поля заполнятся ссылкой на текущую запись в следующих реестрах:
Активность - crm_form_dealActivity_main_deal
Аккаунты
При сохранении изменений связанные поля заполнятся ссылкой на текущую запись в следующих реестрах:
Контакты
При сохранении изменений связанные поля заполнятся ссылкой на текущую запись в следующих реестрах:
Лид - crm_form_lead_main_contact
Активности лидов
При сохранении изменений связанные поля заполнятся ссылкой на текущую запись в следующих реестрах:
Лид - crm_form_lead_activity_activity
Активности сделок
При сохранении изменений связанные поля заполнятся ссылкой на текущую запись в следующих реестрах:
Сделка - crm_form_deal_activity_activity
Необходимо реализовать новый пользовательский компонент в виде кнопки. Список доступных действий:
Названием кнопки является значение поля "crm_dict_leadStatus_buttonName" записи справочника crm_dict_leadStatus со значением параметра crm_dict_leadStatus_end=1.
Кнопка в проигрывателе формы активна в режиме чтения и редактирования.
По нажатию на кнопку:
Выпадающий список "Статус" примет значение записи справочника crm_dict_leadStatus со значением параметра crm_dict_leadStatus_end=1 и становится неактивным.
Документ пересохранится с новым значением выпадающего списка "Статус".
Будет создана новая запись реестра Сделка, в которой сопоставлены поля:
crm_form_deal_main1_lead заполнится ссылкой на данную запись Лида;
crm_form_deal_main2_theme заполнится значением из crm_form_lead_deals_theme.
Поле crm_form_lead_main_deal текущей записи лида заполнится ссылкой на новую запись реестра Сделка.
Выпадающий список "Статус":
При выборе пункта со значением параметра crm_dict_leadStatus_end=1 в справочнике crm_dict_leadStatus будут совершены те же действия, что и по нажатию на кнопку.