Вопрос

Не отображается кнопка

Добрый день. Добавил кнопку в LeadPageV2 с реализованной логикой. Кнопка не отображается. но если обновить страницу, то оно появляется и работает как нужно.
Вопрос, как закрепить отображение кнопки в разделе.

Нравится

11 комментариев
Лучший ответ

Кнопка не отображается из-за совмещенного режима. При открытии записей в совмещенном режиме верхняя панелька с кнопками загружается из реестра. Поэтому кнопку нужно продублировать в реестре.

Более подробно тут: https://academy.terrasoft.ru/docs/developer/elements_and_components/bas…

Кнопка не отображается из-за совмещенного режима. При открытии записей в совмещенном режиме верхняя панелька с кнопками загружается из реестра. Поэтому кнопку нужно продублировать в реестре.

Более подробно тут: https://academy.terrasoft.ru/docs/developer/elements_and_components/bas…

Спасибо, сталкивался с такой же проблемой.

Спасибо.
Появился второй вопрос, в чем может быть причина ошибки
"Cannot read property 'value' of undefined"
при обработке
"var regionId = this.get("GridData").get(activeRow).get("IptProdRegion").value;"
При том, что в таблице лида такое поле существует и заполнено

Булат Хабирзянов,

А поле выведено в реестр?

А можно поподробнее, как можно реализовать вывод поля в реестр

вид-настроить колонки

Спасибо большое, можно последний вопрос. После отработки логики на кнопку нужно обновить страницу для отображения данных, могу ли я каким-то образом отработать this.reloadEntity();?

Булат Хабирзянов,

Да, можете вызвать this.reloadEntity(). он обновит данные на странице.

Для обновления данных в реестре следует использовать this.reloadGridData()

Спасибо, Дмитрий! А есть возможность реализовать такой функционал?
После this.reloadGridData() происходит обновление реестра, но поля, которые изменены в самом лиде меняются только после обновления страницы. this.reloadEntity() к section не относится и не выполнится. Вопрос, а можно как-то после нажатия на кнопку отправить пользователя на Page?

Булат Хабирзянов,

{
                    "operation": "insert",
                    "parentName": "CombinedModeActionButtonsCardLeftContainer",
                    "propertyName": "items",
                    "name": "ButtonName",
                    "values": {
                        itemType: Terrasoft.ViewItemType.BUTTON,
                        caption: "Кнопка",
                        click: {
                            bindTo: "onCardAction" //не трогать
                        },
                        tag: "onButtonClick", //название метода с Page
                        "classes": {
                            "textClass": ["actions-button-margin-right"]
                        }
                    }
                }

Попробуйте такой вариант. Название метода из страницы редактирования следует указывать в свойстве tag. В этом методе и реализуете всю логику. а чтоб обновить реестр можно отправить сообщение и по его получению вызывать reloadGridData

Дмитрий, Огромное спасибо все получилось!!! Сократил много строчек кода.

Показать все комментарии