Задача [CRM11]: кнопка редактирования/сохранения в модифицированном компоненте выбора записи реестра

Формулировка проблемы: необходимо реализовать кейс системы управления взаимоотношениями с клиентами.

Связанные задачи: CRM3: пользовательские компоненты конфигурации

Решение:

Во-первых, необходимо увеличить размер диалогового окна проигрывателя формы модифицированного компонента выбора записи реестра до 1000px * 700px.

Во-вторых, для данного модифицированного компонента в формах Активность лида и Активность сделки необходимо добавить возможность редактирования выбранной записи из текущего окна:

Рисунок 26. Проигрыватель формы в режиме чтения

Проигрыватель формы в режиме чтения

Рисунок 27. Проигрыватель формы в режиме редактирования

Проигрыватель формы в режиме редактирования

Справочники
Города Казахстана

Код справочника: crm_dict_cities.

Поля справочника:

Код Имя Комментарий Переводить

crm_dict_cities_type

Тип

Да

crm_dict_cities_value

Порядковый номер пункта в выпадающем списке

Нет

Данные справочника по умолчанию:

Тип Порядковый номер пункта в выпадающем списке

г. Астана

01

г. Алматы

02

г. Актау

03

г. Актобе

04

г. Атырау

05

г. Караганда

06

г. Кокшетау

07

г. Костанай

08

г. Кызылорда

09

г. Павлодар

10

г. Петропавловск

11

г. Талдыкорган

12

г. Тараз

13

г. Уральск

14

г. Усть-Каменогорск

15

г. Шымкент

16

Формы

Для всех форм ниже одинаково настроен компонент выбора адресата:

Для выпадающего списка "Источник адреса" настроены следующие значения:

  • Аккаунт - 0

  • Контакт - 1

  • Ручной ввод - 2

При выборе в поле значения "Аккаунт" компонент "Выбрать контакт" не отображается, при выборе "Контакт" компонент "Выбрать аккаунт" не отображается. При выборе значения "Ручной ввод" компоненты "Выбрать контакт", "Выбрать аккаунт" не отображаются.

Для компонента "Выбрать аккаунт" настроено сопоставление:

  • crm_form_account_email - crm_form_account_email - EQUAL

Для компонента "Выбрать контакт" настроено сопоставление:

  • crm_form_contact_email - crm_form_contact_email - EQUAL

Таблицы "Адреса аккаунта" и "Адреса контакта" являются служебными и не отображаются пользователю.

Договор поставки (единовременная оплата)

Код формы: crm_form_contract_delivery_100.

Форма содержит следующие компоненты:

Поле Тип компонента Имя компонента

Номер договора

однострочное поле

crm_form_contract_delivery_100_contract_number

Город

выпадающий список (справочник crm_dict_cities)

crm_form_contract_delivery_100_city_from

Дата договора

выбор даты

crm_form_contract_delivery_100_contract_date

Основание (сделка)

ссылка на реестр "Сделки"

crm_form_contract_delivery_100_deal

Заказчик (аккаунт)

ссылка на реестр "Аккаунты"

crm_form_contract_delivery_100_client_account

Заказчик (контакт)

ссылка на реестр "Контакты"

crm_form_contract_delivery_100_client_client

Основание заказчика

однострочное поле

crm_form_contract_delivery_100_client_reason

Поставщик (организация)

выбор подразделений (всегда выбрана корневая нода)

crm_form_contract_delivery_100_provider

Представитель поставщика

выбор пользователя

crm_form_contract_delivery_100_provider_name

Основание поставщика

однострочное поле

crm_form_contract_delivery_100_provider_base

Товар

однострочное поле (тема сотрудничества из выбранной записи в поле "Основание (сделка))"

crm_form_contract_delivery_100_theme

Срок поставки товара

числовое поле

crm_form_contract_delivery_100_time

Срок поставки (прописью)

однострочное поле

crm_form_contract_delivery_100_time_by_text

Город поставки

выпадающий список (справочник crm_dict_cities)

crm_form_contract_delivery_100_city_to

Адрес

однострочное поле

crm_form_contract_delivery_100_address

Общая сумма договора

числовое поле

crm_form_contract_delivery_100_sum_total

Сумма договора (прописью)

однострочное поле

crm_form_contract_delivery_100_sum_total_by_text

Срок предоставления Акта

числовое поле

crm_form_contract_delivery_100_act_time

Срок действия договора

выбор даты

crm_form_contract_delivery_100_contract_time_to

Юридический адрес Заказчика

многострочное поле

crm_form_contract_delivery_100_client_requisites1

Юридический адрес Поставщика

многострочное поле

crm_form_contract_delivery_100_provider_requisites1

Реквизиты Заказчика

ссылка

crm_form_contract_delivery_100_client_requisites2

Реквизиты Поставщика

многострочное поле

crm_form_contract_delivery_100_provider_requisites2

Номер договора (приложение)

однострочное поле

crm_form_contract_delivery_100_contract_number_appendix

Дата договора (приложение)

выбор даты

crm_form_contract_delivery_100_contract_date_appendix

Перечень закупаемых товаров

динамическая таблица (из группы полей "Заказ" сделки, указанной в поле "Основание (сделка)")

crm_form_contract_delivery_100_items

однострочное поле

crm_form_deal_order_number

Наименование Товара

ссылка на реестр "Прайс-лист"

crm_form_deal_order_orderList

Ед.изм.

однострочное поле

crm_form_deal_order_unit

Кол-во

числовое поле

crm_form_deal_order_amount

Цена за ед., тенге

числовое поле

crm_form_deal_order_price

Сумма, тенге

числовое поле

crm_form_deal_order_total

Итого

числовое поле

crm_form_contract_delivery_100_items_total

Подпись заказчика

ссылка на реестр "Контакты"

crm_form_contract_delivery_100_client_account_appendix

Подпись поставщика

выбор пользователя

crm_form_contract_delivery_100_provider_name_appendix

Источник адреса

выпадающий список

choice

Выбрать аккаунт

ссылка на реестр "Аккаунты"

account_link

Выбрать контакт

ссылка на реестр "Контакты"

contact_link

E-mail

однострочное поле

email

Адреса аккаунта

динамическая таблица (из группы полей "E-mail" аккаунта, указанного в поле "Выбрать аккаунт")

crm_form_account_email

Актуальный адрес аккаунта

однострочное поле

crm_form_account_email_email

Адреса контакта

динамическая таблица (из группы полей "E-mail" контакта, указанного в поле "Выбрать контакт")

crm_form_contact_email

Актуальный адрес контакта

однострочное поле

crm_form_contact_email_email

Компоненты выбора даты:

  • Формат даты всех компонентов выбора дат - "${dd}" ${monthed} ${yyyy}г.

Договор поставки (оплата частями)

Код формы: crm_form_contract_delivery_part.

Форма содержит следующие компоненты:

Поле Тип компонента Имя компонента

Номер договора

однострочное поле

crm_form_contract_delivery_part_contract_number

Город

выпадающий список (справочник crm_dict_cities)

crm_form_contract_delivery_part_city_from

Дата договора

выбор даты

crm_form_contract_delivery_part_contract_date

Основание (сделка)

ссылка на реестр "Сделки"

crm_form_contract_delivery_part_deal

Заказчик (аккаунт)

ссылка на реестр "Аккаунты"

crm_form_contract_delivery_part_client_account

Заказчик (контакт)

ссылка на реестр "Контакты"

crm_form_contract_delivery_part_client_client

Основание заказчика

однострочное поле

crm_form_contract_delivery_part_client_reason

Поставщик (организация)

выбор подразделений (всегда выбрана корневая нода)

crm_form_contract_delivery_part_provider

Представитель поставщика

выбор пользователя

crm_form_contract_delivery_part_provider_name

Основание поставщика

однострочное поле

crm_form_contract_delivery_part_provider_base

Товар

однострочное поле (тема сотрудничества из выбранной записи в поле "Основание (сделка))"

crm_form_contract_delivery_part_theme

Срок поставки товара

числовое поле

crm_form_contract_delivery_part_time

Срок поставки (прописью)

однострочное поле

crm_form_contract_delivery_part_time_by_text

Город поставки

выпадающий список (справочник crm_dict_cities)

crm_form_contract_delivery_part_city_to

Адрес

однострочное поле

crm_form_contract_delivery_part_address

Общая сумма договора

числовое поле

crm_form_contract_delivery_part_sum_total

Сумма договора (прописью)

однострочное поле

crm_form_contract_delivery_part_sum_total_by_text

Размер аванса

однострочное поле

crm_form_contract_delivery_part_avans

Срок выплаты аванса

однострочное поле

crm_form_contract_delivery_part_avans_time

Размер доплаты

однострочное поле

crm_form_contract_delivery_part_balance

Срок предоставления Акта

числовое поле

crm_form_contract_delivery_part_act_time

Срок действия договора

выбор даты

crm_form_contract_delivery_part_contract_time_to

Юридический адрес Заказчика

многострочное поле

crm_form_contract_delivery_part_client_requisites1

Юридический адрес Поставщика

многострочное поле

crm_form_contract_delivery_part_provider_requisites1

Реквизиты Заказчика

ссылка

crm_form_contract_delivery_part_client_requisites2

Реквизиты Поставщика

многострочное поле

crm_form_contract_delivery_part_provider_requisites2

Номер договора (приложение)

однострочное поле

crm_form_contract_delivery_part_contract_number_appendix

Дата договора (приложение)

выбор даты

crm_form_contract_delivery_part_contract_date_appendix

Перечень закупаемых товаров

динамическая таблица (из группы полей "Заказ" сделки, указанной в поле "Основание (сделка)")

crm_form_contract_delivery_part_items

однострочное поле

crm_form_deal_order_number

Наименование Товара

ссылка на реестр "Прайс-лист"

crm_form_deal_order_orderList

Ед.изм.

однострочное поле

crm_form_deal_order_unit

Кол-во

числовое поле

crm_form_deal_order_amount

Цена за ед., тенге

числовое поле

crm_form_deal_order_price

Сумма, тенге

числовое поле

crm_form_deal_order_total

Итого

числовое поле

crm_form_contract_delivery_part_items_total

Подпись заказчика

ссылка на реестр "Контакты"

crm_form_contract_delivery_part_client_account_appendix

Подпись поставщика

выбор пользователя

crm_form_contract_delivery_part_provider_name_appendix

Источник адреса

выпадающий список

choice

Выбрать аккаунт

ссылка на реестр "Аккаунты"

account_link

Выбрать контакт

ссылка на реестр "Контакты"

contact_link

E-mail

однострочное поле

email

Адреса аккаунта

динамическая таблица (из группы полей "E-mail" аккаунта, указанного в поле "Выбрать аккаунт")

crm_form_account_email

Актуальный адрес аккаунта

однострочное поле

crm_form_account_email_email

Адреса контакта

динамическая таблица (из группы полей "E-mail" контакта, указанного в поле "Выбрать контакт")

crm_form_contact_email

Актуальный адрес контакта

однострочное поле

crm_form_contact_email_email

Компоненты выбора даты:

  • Формат даты всех компонентов выбора дат - "${dd}" ${monthed} ${yyyy}г.

Акт приема-передачи товара

Код формы: crm_form_certificate.

Форма содержит следующие компоненты:

Поле Тип компонента Имя компонента

Заказчик

ссылка на реестр "Контакт"

crm_form_certificate_table1_customer

Поставщик

компонент выбора подразделений

crm_form_certificate_table1_supplier

Город

выпадающий список (справочник crm_dict_cities)

crm_form_certificate_table2_city

Дата

дата

crm_form_certificate_table2_date

Договор

ссылка на реестр "Договоры поставки"

crm_form_certificate_table3_contract

Номер договора

однострочное поле

crm_form_certificate_table4_number

Дата заключения договора

дата

crm_form_certificate_table4_date

Товар

динамическая таблица

crm_form_certificate_table5

П/п

числовое поле

crm_form_certificate_table5_n

Наименование

ссылка на реестр "Каталог товаров и услуг"

crm_form_certificate_table5_goods

Количество

числовое поле

crm_form_certificate_table5_amount

Сумма

числовое поле

crm_form_certificate_table5_summ

Общая стоимость товара

числовое поле

crm_form_certificate_table6_cost

Номер договора

однострочное поле

crm_form_certificate_table7_number

Дата заключения договора

дата

crm_form_certificate_table7_date

Номер договора

однострочное поле

crm_form_certificate_table8_number

Дата заключения договора

дата

crm_form_certificate_table9_date

Аккаунт заказчика

ссылка на реестр "Аккаунт"

crm_form_certificate_table10_account

Контакт заказчика

ссылка на реестр "Контакт"

crm_form_certificate_table10_contact

Договор заказчика

ссылка на реестр "Договоры поставки"

crm_form_certificate_table11_contract

Подразделение исполнителя

компонент выбора подразделений

crm_form_certificate_table12_account

Исполнитель

компонент выбора пользователей

crm_form_certificate_table12_contact

Договор исполнителя

ссылка на реестр "Договоры поставки"

crm_form_certificate_table13_contract

Номер договора

однострочное поле

crm_form_certificate_table14_number

Дата заключения договора

дата

crm_form_certificate_table15_date

Список работ

динамическая таблица

crm_form_certificate_table16

Виды работ

ссылка на реестр "Каталог товаров и услуг"

crm_form_certificate_table16_goods

Сумма

числовое поле

crm_form_certificate_table17_summ1

Сумма (прописью)

однострочное поле

crm_form_certificate_table17_summ2

Дата

дата

crm_form_certificate_table18_date

Передал

ссылка на реестр "Контакт"

crm_form_certificate_table19_supplier

Принял

компонент выбора пользователей

crm_form_certificate_table19_customer

Номер договора

однострочное поле

crm_form_certificate_table20_number

Дата заключения договора

дата

crm_form_certificate_table21_date

Заказчик

ссылка на реестр "Контакт"

crm_form_certificate_table22_customer

ИИН/БИН заказчика

числовое поле

crm_form_certificate_table22_customerID

Исполнитель

компонент выбора пользователей

crm_form_certificate_table22_responder

ИИН/БИН исполнителя

числовое поле

crm_form_certificate_table22_responderID

Договор

ссылка на реестр "Договоры поставки"

crm_form_certificate_table23_contract

Номер договора

однострочное поле

crm_form_certificate_table23_number

Дата заключения договора

дата

crm_form_certificate_table23_date

Выполненные работы

динамическая таблица

crm_form_certificate_table24

Номер

числовое поле

crm_form_certificate_table16_goods

Наименование

ссылка на реестр "Каталог товаров и услуг"

crm_form_certificate_table24_goods

Дата

дата

crm_form_certificate_table24_date

Сведения об отчете

однострочное поле

crm_form_certificate_table24_comment

Единица измерения

однострочное поле

crm_form_certificate_table24_unit

Количество

числовое поле

crm_form_certificate_table24_amount

Цена

числовое поле

crm_form_certificate_table24_price

Стоимость

числовое поле

crm_form_certificate_table24_summ

Итоговое количество

числовое поле

crm_form_certificate_table25_finalAmount

Итоговая стоимость

числовое поле

crm_form_certificate_table25_finalSumm

Наименование запасов

однострочное поле

crm_form_certificate_table26_name

Количество запасов

числовое поле

crm_form_certificate_table26_amount

Стоимость запасов

числовое поле

crm_form_certificate_table26_cost

Количество страниц

числовое поле

crm_form_certificate_table27_amount

Список приложений

однострочное поле

crm_form_certificate_list

Дата подписания

дата

crm_form_certificate_table28_date

Заказчик

ссылка на реестр "Контакт"

crm_form_certificate_table29_customer

Исполнитель

компонент выбора пользователей

crm_form_certificate_table29_responder

Источник адреса

выпадающий список

choice

Выбрать аккаунт

ссылка на реестр "Аккаунты"

account_link

Выбрать контакт

ссылка на реестр "Контакты"

contact_link

E-mail

однострочное поле

email

Адреса аккаунта

динамическая таблица (из группы полей "E-mail" аккаунта, указанного в поле "Выбрать аккаунт")

crm_form_account_email

Актуальный адрес аккаунта

однострочное поле

crm_form_account_email_email

Адреса контакта

динамическая таблица (из группы полей "E-mail" контакта, указанного в поле "Выбрать контакт")

crm_form_contact_email

Актуальный адрес контакта

однострочное поле

crm_form_contact_email_email

Компоненты выбора даты:

  • Формат даты всех компонентов выбора дат - "${dd}" ${monthed} ${yyyy}г.

Коммерческое предложение

Код формы: crm_form_offer.

Форма содержит следующие компоненты:

Поле Тип компонента Имя компонента

Аккаунт

ссылка на реестр "Аккаунты"

crm_form_offer_account

Контакты для шапки справа

ссылка на реестр "Контакты"

crm_form_offer_contact1

Контакты для ИО в центре после Уважаемый

ссылка на реестр "Контакты"

crm_form_offer_contact2

Должность

однострочное поле

crm_form_offer_whom_position

Аккаунт3

однострочное поле

crm_form_offer_whom_account

ФИО

однострочное поле

crm_form_offer_whom_fullname

Уважаемый

однострочное поле

crm_form_offer_address_dear

ИО в обращении

однострочное поле

crm_form_offer_address_fullname

Количество листов

однострочное поле

crm_form_offer_attachment_number

Должность отправителя

выбор должности

crm_form_offer_from_position

ФИО отправителя

выбор пользователя

crm_form_offer_from_user

Организация отправителя

однострочное поле

crm_form_offer_from_organization

Прайс-листы

динамическая таблица

crm_form_offer_price

Прайс-лист

ссылка на реестр "Прайс-лист"

crm_form_offer_price_price

Стоимость реализации проекта

динамическая таблица

crm_form_offer_project_price

Номер

однострочное поле

crm_form_offer_project_price_number

Название товара или услуги

однострочное поле

crm_form_offer_project_price_item_name

Цена

числовое поле

crm_form_offer_project_price_price

Описание

многострочное поле

crm_form_offer_project_price_description

Сумма

числовое поле

crm_form_offer_project_summa_summa

Источник адреса

выпадающий список

choice

Выбрать аккаунт

ссылка на реестр "Аккаунты"

account_link

Выбрать контакт

ссылка на реестр "Контакты"

contact_link

E-mail

однострочное поле

email

Адреса аккаунта

динамическая таблица (из группы полей "E-mail" аккаунта, указанного в поле "Выбрать аккаунт")

crm_form_account_email

Актуальный адрес аккаунта

однострочное поле

crm_form_account_email_email

Адреса контакта

динамическая таблица (из группы полей "E-mail" контакта, указанного в поле "Выбрать контакт")

crm_form_contact_email

Актуальный адрес контакта

однострочное поле

crm_form_contact_email_email

Для компонента "Аккаунт" настроено сопоставление:

  • crm_form_account_main_name - crm_form_offer_whom_account - EQUAL

Для компонента "Контакты для шапки справа" настроено сопоставление:

  • crm_form_contact_main_fullName - crm_form_offer_whom_fullname - EQUAL

  • crm_form_contact_main_position - crm_form_offer_whom_position - EQUAL

Для компонента "Контакты для ИО в центре после Уважаемый" настроено сопоставление:

  • crm_form_contact_main_fullName - crm_form_offer_address_fullname - POSTFIX - !

Для компонента "ФИО отправителя" настроены:

  • связь с компонентом crm_form_offer_from_position

  • включена опция "Изменить формат отображения ФИО в зависимости от языка системы" с форматом ${l} ${f.short}.${p.short.dot}

    %стоимость_в_прайс-листе% * crm_form_deal_order_orderAmount

Для компонента "Прайс-лист" настроено сопоставление:

  • crm_form_price_item_name - crm_form_offer_project_price_item_name - EQUAL

  • crm_form_price_price - crm_form_offer_project_price_price - EQUAL

  • crm_form_price_description - crm_form_offer_project_price_description - EQUAL

Для поля "Описание":

  • включена опция "Не удалять пробелы в начале строки"

Реестры

Для всех реестров ниже настроено событие активации:

Маршрут активации - Действия:

  • Тип действия - Отправка документа по форме

  • Название - Отправка документа по форме

  • Адресат - email

Договоры поставки (единовременная оплата)

Свойства реестра:

Свойство Значение

Код

crm_registry_contracts_delivery_100

Форма документа

crm_form_contract_delivery_100

Группа

все маркетологи

Права

все

Сортировка

по дате создания

Направление сортировки

по убыванию

Отображаемые поля формы:

Идентификатор колонки Название поля Номер Значащее содержимое

crm_form_contract_delivery_100_contract_number

Номер договора

1

да

crm_form_contract_delivery_100_contract_date

Дата договора

2

нет

crm_form_contract_delivery_100_theme

Тема договора

3

да

crm_form_contract_delivery_100_client_account

Заказчик

4

да

crm_form_contract_delivery_100_sum_total

Сумма договора

5

нет

Договоры поставки (оплата частями)

Свойства реестра:

Свойство Значение

Код

crm_registry_contracts_delivery_part

Форма документа

crm_form_contract_delivery_part

Группа

все маркетологи

Права

все

Сортировка

по дате создания

Направление сортировки

по убыванию

Отображаемые поля формы:

Идентификатор колонки Название поля Номер Значащее содержимое

crm_form_contract_delivery_part_contract_number

Номер договора

1

да

crm_form_contract_delivery_part_contract_date

Дата договора

2

нет

crm_form_contract_delivery_part_theme

Тема договора

3

да

crm_form_contract_delivery_part_client_account

Заказчик

4

да

crm_form_contract_delivery_part_sum_total

Сумма договора

5

нет

Акты приема-передачи товара

Свойства реестра:

Свойство Значение

Код

crm_registry_certificates

Форма документа

crm_form_certificate

Группа

все маркетологи

Права

все

Сортировка

по дате создания

Направление сортировки

по убыванию

Отображаемые поля формы:

Идентификатор колонки Название поля Номер Значащее содержимое

crm_form_certificate_table3_contract

Основание договора

1

да

crm_form_certificate_table2_date

Дата акта

2

нет

Коммерческое предложение

Свойства реестра:

Свойство Значение

Код

crm_registry_offer

Форма документа

crm_form_offer

Группа

все маркетологи

Права

все

Сортировка

по дате создания

Направление сортировки

по убыванию

Отображаемые поля формы:

Идентификатор колонки Название поля Номер Значащее содержимое

crm_form_offer_whom_position

Должность

1

нет

crm_form_offer_whom_account

Аккаунт

2

нет

crm_form_offer_whom_fullname

ФИО

3

нет

crm_form_offer_from_user

От кого

4

нет