Formatering af felter med telefonnumre

Der er mange eksempler på forslag til formatering af felter med telefonnumre, som kan hentes via Internettet, men nogle kursister har bedt om at lave et dansk eksempel på, så det er netop det dette indlæg handler om.

Hvad skal der til?

Man kan ikke lave formateringen af telefonnummerfelter direkte via funktioner i MS CRM, men man kan gøre dette ved at indsætte JavaScript-kode bagved et telefonnummerfelt. Du skal normalt have tilladelse som Systemadministrator eller Systemtilpasser for at kunne udføre følgende operation.

Hvad gør man?

I efterfølgende eksempel vil vi lave formateringen af telefonnummer på Kontaktperson.

  1. Vælg Indstillinger, Tilpasning, Tilpas objekter.
  2. Dobbeltklik på objektet Kontaktperson.
  3. I oversigtsmenuen klikkes på Formularer og visninger.
  4. I listen dobbeltklikkes på Formular.
    Efterfølgende vil vi arbejde med feltet Telefon (privat).
     

     
  5. Dobbeltklik på feltet Telefon (privat).
  6. I dialogboksen Feltegenskaber klikkes på fanen Hændelser hvorefter der klikkes på knappen Rediger.
     

     
  7. Indsæt følgende JavaScript-kode i kodefeltet:
     
    // Get the field that fired the event.
    var oField = event.srcElement;

    // Validate the field information.
    if (typeof(oField) != "undefined" && oField != null)
    {
       // Remove any non-numeric characters.
       var sTmp = oField.DataValue.replace(/[^0-9]/g, "");

       // If the number has a valid length, format the number.
       switch (sTmp.length)
       {
          // American Phone number (long)
          case "1234567890".length:
          oField.DataValue = "(" + sTmp.substr(0, 3) + ") " +
          sTmp.substr(3, 3) + "-" +
          sTmp.substr(6, 4);
          break;

          // American Phone number (short)
          case "1234567".length:
          oField.DataValue = sTmp.substr(0, 3) + "-" +
          sTmp.substr(3, 4);
          break;

          // Danish Phone number
          case "12345678".length:
          oField.DataValue = sTmp.substr(0, 2) + " " +
          sTmp.substr(2, 2) + " " +
          sTmp.substr(4, 2) + " " +
          sTmp.substr(6, 2);
          break;
       }
    }

  8. Marker afkrydsningsfeltet Hændelsen er aktiveret.
  9. Klik på knappen OK.
  10. I dialogboksen Formularegenskaber klikkes på knappen OK.
  11. I dialogboksen Formular... klikkes på knappen Gem og luk.
  12. I dialogboksen Objekt: Kontaktperson klikkes på menuen Handlinger og derefter vælges Udgiv.
    Vent på at handlingerne bliver udgivet.
     
  13. I dialogboksen Objekt: Kontaktperson klikkes på knappen Gem og luk.
    Efterfølgende skal koden kontrolleres, altså om det virker.
     
  14. Åbn en Kontaktperson og indtast følgende tre eksempler i feltet Telefon (privat) efterfulgt af et tryk på TAB-tasten:
    • Først afprøves et 10-cifret telefonnummer (American Phone number (long))
      Resultat: (111) 111-1111
       
    • Dernæst afprøves et 7-cifret telefonnummer (American Phone number (short))
      Resultat: 222-2222
       
    • Til sidst afprøves et 8-cifret telefonnummer (Danish Phone number)
      Resultat: 33 33 33 33

Om Henrik Jensen

Jeg har altid fingeren på pulsen når det drejer sig om Microsofts produkter & teknologier, og især når det handler om Microsoft Dynamics CRM.

Henrik Jensen

Jeg har arbejdet professionelt i IT-branchen mere end 16 års, deraf 12 år med CRM-systemer, og samtidig indehaver af mere end 30 Microsoft-certificeringer.

Jeg er ansat som Microsoft Dynamics CRM-arkitekt hos Logica.

Læs mere...

Downloads, værktøjer og installation

Downloade komponenter til MS CRM:
    • Microsoft Dynamics CRM 4.0
    • Microsoft Dynamics CRM 2011

Liste over Opdateringspakker (Rollups):
    • Microsoft Dynamics CRM 4.0
    • Microsoft Dynamics CRM 2011

Værktøjer til MS CRM 2011:
    • Liste med værktøjer til MS CRM 2011

Krav vedrørende installation:
    • Installation: Krav og opsætninger

Månedsliste

Forbehold

Alt hvad du læser på denne blog er alene udtryk for mine egne holdninger og meninger, og kan ikke henføres til andet end som så.

De løsninger jeg fremstiller på denne blog er ikke nødvendigvis testet i et driftsmiljø. Hvis du gør brug af mine løsninger er det på eget ansvar.