Открыть меню
Платформа Эра. Документация
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Поиск абонента по номеру телефона в карточке класса: различия между версиями

Материал из Платформа Эра. Документации
Новая страница: «Предположим, что в ходе обработки входящего звонка оператор заполняет ФИО звонящего (или любые другие контактные данные). Требуется обеспечить возможность автоматической загрузки этих данных при повторных звонках (поиск по номеру телефона). Один из...»
 
м Исправление орфографии (ссылки и код не затронуты)
 
Строка 4: Строка 4:


# Создаем класс Call (f, i, o, phoneNumber) и назначаем его карточку в качестве URL очереди с заполнением поля phoneNumber  
# Создаем класс Call (f, i, o, phoneNumber) и назначаем его карточку в качестве URL очереди с заполнением поля phoneNumber  
# Создаем вспомогательный класс Abonent (f, i, o, number). В нем будет автоматически (засчет фрагментов кода ниже) накапливаться контактная информация по номерам телефонов  
# Создаем вспомогательный класс Abonent (f, i, o, number). В нем будет автоматически (за счет фрагментов кода ниже) накапливаться контактная информация по номерам телефонов  
# Создаем joined property Call.abonent, phoneNumber/number, autoCreate, showInCard = false  
# Создаем joined property Call.abonent, phoneNumber/number, autoCreate, showInCard = false  
# Call.phoneNumber.afterSetCode: <syntaxhighlight lang="js">
# Call.phoneNumber.afterSetCode: <syntaxhighlight lang="js">

Текущая версия от 21:22, 27 октября 2026

Предположим, что в ходе обработки входящего звонка оператор заполняет ФИО звонящего (или любые другие контактные данные). Требуется обеспечить возможность автоматической загрузки этих данных при повторных звонках (поиск по номеру телефона).

Один из способов решения этой задачи с использованием joined property и фрагментов кода afterSetCode и afterApplyUpdatesCode:

  1. Создаем класс Call (f, i, o, phoneNumber) и назначаем его карточку в качестве URL очереди с заполнением поля phoneNumber
  2. Создаем вспомогательный класс Abonent (f, i, o, number). В нем будет автоматически (за счет фрагментов кода ниже) накапливаться контактная информация по номерам телефонов
  3. Создаем joined property Call.abonent, phoneNumber/number, autoCreate, showInCard = false
  4. Call.phoneNumber.afterSetCode:
    this.get_abonent().then(abonent_ => {
     if (abonent_) {
     this.f = abonent_.f;
     this.i = abonent_.i;
     this.o = abonent_.o;
     this.emitAfterModify();
     }
     });
    
  5. Call.afterApplyUpdatesCode
    var abonent = await this.get_abonent();
     if (abonent) {
     await abonent.modify(() => {
     if (abonent) {
     abonent.f = this.f;
     abonent.i = this.i;
     abonent.o = this.o;
     }
     });
     await abonent.applyUpdates();
     }
    
    При изменении номера телефона (Call.phoneNumber) будет выполнен поиск абонента по номеру. В случае успеха контактная информация абонента применится к звонку. После применения изменений (Call.applyUpdates) будет выполнена обратная операция – от звонка к абоненту. Флажок autoCreate приведет к автоматическому созданию абонента, если он еще не существует.