Проблема:
Если поле Телефон строковое, добавление атрибута
viewType: Terrasoft.ViewTypes.Phone
позволяет без проблем осуществить звонок щелкнув по полю....
Но, если это поле - справочник тлф. номеров, то получим ошибку "replace is not a function".
Проблема судя по всему в модуле utils.js, если его функцию переписать примерно так, то проблема исчезнет:
Terrasoft.util.callByPhone = function(phoneNumber) {
/*Блокировано для проверки в эмуляторе
if (Terrasoft.Platform.isWebKit) {
return;
}
*/
if (typeof phoneNumber === 'object')//Это справочник
phoneNumber = phoneNumber.data.Number;
phoneNumber = Terrasoft.util.parsePhoneNumber(phoneNumber);
if (Terrasoft.Platform.isWindows) {
if (Terrasoft.ApplicationInfo.getIsSystemFeatureEnabled(Terrasoft.NativeSystemFeature.Telephony)) {
Windows.ApplicationModel.Calls.PhoneCallManager.showPhoneCallUI(phoneNumber, "");
}
} else {
var url = "tel:" + phoneNumber;
Terrasoft.util.openUrl(url, true);
}
};
Непонятно насколько корректно такое решение и как делать по правильному.
Нравится
А зачем нужно было создавать справочник телефонов? Есть же деталь с телефонами.
Number это первичное для отображения поле в справочнике?
В крайнем случае можно вывести сразу составное поле
Terrasoft.sdk.RecordPage.addColumn("Contact", { name: "Tel.Number", label: "имя лок. строки", viewType: Terrasoft.ViewTypes.Phone, position: 99 })
Функцию Terrasoft.util.callByPhone нельзя менять
1) она рассчитана что в нее приходит строка
2) ее содержимое может в будущем изменится
Кривонос Максим,
>>она рассчитана что в нее приходит строка
Ну.... у нас (грубо говоря) есть Таблица "Заявка", в ней поля: "Средство связи", "Средство связи (другое)"
У меня задача: "Технарь должен жмакнуть по полю "Средство связи", или "Средство связи (другое)" и связаться с клиентом... на самом деле хотя-бы скопипастить данные поля куда-нибудь....
Я вижу замечательную возможность, описанную тут:
https://community.terrasoft.ru/articles/kak-perenesti-knopku-pozvonit-v-novoe-rabochee-mesto-mobilnogo-prilozheniya
Ну... меняю как описано и оно даж работает... на поле "Средство связи (другое)" что вызывает бурный восторг у моего проджект-манагера (ибо это не основное поле и вообче-то никто не ожидал что по небу будут жмакать)...
А потом получаю по голове палкой, потому-че поле "Средство связи" выглядит как настоящее и по нему можно даж тапнуть.... и получить ошибку....
ну вот как по нему тапнут - так я получаю по голове палкой....
Так что на что там она расчитана.... как оно там когда-нибудь потом поменяется.... моему начальству не интересно... а мне не интересно тем более тк. задачу нужно закрыть сегодня иначе зря-плата в понедельник мне не грозит.
Виктор, если оба поля самодельные, то почему бы не сделать их оба такими же, как то, что работает? А если одно стандартное, и при каких-то действиях нажатие на него приводит к ошибке, то опишите последовательность действий подробнее и укажите версию программы.