Вопрос

Поле телефон в мобильной версии

Проблема:

Если поле Телефон строковое, добавление атрибута

    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);

    }

};

 

Непонятно насколько корректно такое решение и как делать по правильному.

Нравится

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

А зачем нужно было создавать справочник телефонов? Есть же деталь с телефонами.

 

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



Ну... меняю как описано и оно даж работает... на поле "Средство связи (другое)" что вызывает бурный восторг у моего проджект-манагера (ибо это не основное поле и вообче-то никто не ожидал что по небу будут жмакать)...



А потом получаю по голове палкой, потому-че поле "Средство связи" выглядит как настоящее и по нему можно даж тапнуть.... и получить ошибку....

ну вот как по нему тапнут - так я получаю по голове палкой....

Так что на что там она расчитана.... как оно там когда-нибудь потом поменяется.... моему начальству не интересно... а мне не интересно тем более тк. задачу нужно закрыть сегодня иначе зря-плата в понедельник мне не грозит.

Виктор, если оба поля самодельные, то почему бы не сделать их оба такими же, как то, что работает? А если одно стандартное, и при каких-то действиях нажатие на него приводит к ошибке, то опишите последовательность действий подробнее и укажите версию программы.

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