Странная конечно задача, но нашим техникам такое надо.
На странице Наряд есть поле НомерНаряда оно установлено как не редактируемое правилом:
let vDisabled = !!record.get("Number");//если строка не пустая - блокируем поле
record.changeProperty("Number", {disabled: vDisabled});
Однако, есть необходимость каким-то образом скопировать номер в буфер обмена.
Возможно нужна дополнительная кнопка рядом с номером "Скопировать",
может сделать что-то типа:
Terrasoft.sdk.RecordPage.configureColumn("Case", "PrimaryColumnSet", "Number", {
viewType: Terrasoft.ViewTypes.Url
});
и делать какую-то специальную обработку по клику на поле....
Какие есть наиболее простые варианты?
Нравится
По этой доке:
https://academy.terrasoft.ru/documents/technic-sdkmob/7-16/dobavlenie-elementov-upravleniya-na-stranicu-razdela
добавил пимпочку с потенциалом делать копи-паст номера или что-то еще.
Сначала эмулятор выдавал какую-то странную ошибку.
После перекомпиляции ошибка пропала, сам модуль с кнопкой загрузился, самой кнопки на экране нет, ошибок то-ж нет
Думаю куда рулить дальше.
Этот файл грузится под именем "ButtonCopyNumber" и я его вижу в эмуляторе.
Ext.define("Terrasoft.controls.CustomRecordPanelItem", {
extend: "Terrasoft.RecordPanelItem",
xtype: "cfButtonCopyNumber",
// Конфигурационный объект создаваемого элемента.
config: {
items: [
{
xtype: "container",
layout: "hbox",
items: [
{
xtype: "button",
id: "ButtonCopyNumber",
text: "Number to ClipBrd",
flex: 1
}
]
}
]
},
// Метод инициализирует созданный элемент и добавляет метод-обработчик нажатия кнопки.
initialize: function() {
var clickMeButton = Ext.getCmp("ButtonCopyNumber");
clickMeButton.element.on("tap", this.onClickMeButtonClick, this);
},
// Метод-обработчик нажатия кнопки.
onButtonCopyNumberClick: function() {
var record = this.getRecord();
Terrasoft.MessageBox.showMessage(record.getPrimaryDisplayColumnValue());
}
});
Манифест:
{
"CustomSchemas": [
"ButtonCopyNumber"
],
......
"Case": {
"RequiredModels": [...
],
"ModelExtensions": [...
],
"PagesExtensions": [
"ButtonCopyNumber",
....
]
}
Если смотреть исходник страницы обращения, то в самом начале светится строка:
<script type="text/javascript" src="filesystem:file:///persistent/BPMonline700/AppStructure/rev_2/src/ButtonCopyNumber.js?hash=f7bebef3-15d6-4cee-8d89-17f460b123dd"></script>
Те... вроде кнопка должна быть - но нет.
Где я накосячил?
Виктор, может, лучше сделать поле не disabled, а read only? Тогда из него можно будет копировать, как из обычного. А disabled заблокировано для копирования не только в мобильной, а и в браузерной версии.
Зверев Александр,
Спасибо за совет, поменяли на ReadOnly вроде запустилось.... странновато как-то правда, не сразу въехали как этот копи-паст должен срабатывать.
Похоже что и не на всех мобилках оно работает.... пока думаем.
Но с кнопкой-то вопрос остался (она мне еще под другую задачу нужна будет).
Есть мысли что не так и куда смотреть?