Добавить кнопку в деталь Средства связи контакта

Добрый день!
Собственно вопрос: как добавить кнопку в деталь Средства связи контакта?
Хочу добавить Кнопку отправки смс возле кнопки позвонить.(как на скриншоте)
PS. кнопка появляется только для "мобильных" номеров.

Нравится

7 комментариев

Добрый день Василий!!!

так как детали средств связи контрагента и контакта генерируются автоматически при открытии карточки редактирования. То метод отвечающий за инициализацию, генерацию и прорисовку генерируемых полей - это метод  getItemViewConfig схемы  ContactCommunicationDetailV2 . Прошу внимательно изучить данный метод на предмет как происходит генерация представления полей в зависимости от типа Средств связи. И тогда вы найдете то место где происходит добавление Иконки. Если будут вопросы при изучение. Пишите. С радостью на них отвечу.

Здравствуйте!

Добавление кнопки "Позвонить" реализовано в схеме BaseCommunicationDetail методы:
1) getIconTypeButtonConfig
2) getCommunicationItemViewConfig

Очень интересная ситуация я даже и не обращал внимание что деталь "ContactCommunicationDetail" оказывается рабочая, а деталь "ContactCommunicationDetailV2" не рабочая. Хотя в заголовки детали "ContactCommunicationDetail" написано "Средства связи контакта (устаревшая версия)". Это я говорю про конфигурацию BPMOnline Sales Enterprise 7.7.0.2293. Поэтому приношу извинение, что повел по ложному пути. Да действительно описанные методы Алексеем верные.

Добрый день.
Спасибо за отзывы. Понял как сделать.)

Добрый день.
Столкнулся с такой проблемой.
Если добавить в деталь две записи с отправкой смс то кнопка из правой пропадает. Видно на скриншоте.
Она есть но ее не видно, появляется при уменьшении окна(уменьшении длины поля для ввода телефона).
А также при нажатии на кнопку отправить вызывается выпадающия список для правой записи. Видно на скрншоте 2.
Вопрос:
как отобразить эту кнопку?
Или как уменьшить длину поля для ввода?

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

Замещал два модуля BaseCommunicationDetail и BaseCommunicationViewModel.
В BaseCommunicationDetail в методе getCommunicationItemViewConfig добавил smsButtonConfig.
В BaseCommunicationViewModel добавил обработку нажатия на кнопку метод onSMSButtonClick.
Оба файла прикрепил.
Код BaseCommunicationDetail:

---------------------------------------------------
            methods: {
                init:function(){
                    this.callParent(arguments);
                    debugger;
                },
                getCommunicationItemViewConfig: function() {
                    //var itemViewConfig = this.callParent(arguments);
                    var itemViewConfig = ViewUtilities.getContainerConfig("item-view",
                        ["detail-edit-container-user-class", "control-width-15"]);
                    var typeMenuItems = this.getTypeMenuItems();
                    var typeButtonConfig = this.getTypeButtonConfig(typeMenuItems);
                    var iconTypeButtonConfig = this.getIconTypeButtonConfig();
                    var textEditConfig = this.getTextEditConfig();
                    itemViewConfig.items.push(typeButtonConfig, textEditConfig, iconTypeButtonConfig);
 
 
                    var smsButtonConfig = this.getSmsButtonConfig();
                    itemViewConfig.items.push(smsButtonConfig);
                    return itemViewConfig;
                },
                getSmsButtonConfig: function() {
 
                    var smsButtonConfig = {
                        className: "Terrasoft.Button",
                        classes: {
                            wrapperClass: "detail-icon-type-btn-user-class"
                        },
                        imageConfig: {
                            bindTo: "getSMSImageConfig"
                        },
                        style: Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                        selectors: {wrapEl: "#iconType"},
                        click: {
                            bindTo: "onSMSButtonClick"
                        },
                        visible: {
                            bindTo: "getTypeIconButtonVisibility"
                        }
                        //hint: {
                        //    bindTo: "getTypeIconButtonHintText"
                        //},
                        //markerValue: {
                        //    bindTo: "getIconTypeButtonMarkerValue"
                        //}
                    };
                    return smsButtonConfig;
                },
            },
Показать все комментарии