Contoh Dataverse pemalam kod asas (pratonton)

[Topik ini ialah dokumentasi prapelancaran dan tertakluk pada perubahan.]

Matlamat pemalam contoh ini adalah untuk membantu anda bermula dengan menyepadukannya ke dalam apl anda. Anda akan memahami pengalaman pengarang termasuk pengarang Microsoft Dataverse API tersuai yang disokong oleh Power Fx ungkapan, yang boleh mencetuskan tindakan dalaman atau luaran Dataverse.

Penting

  • Ini adalah ciri pratonton.
  • Ciri pratonton bukan untuk kegunaan pengeluaran dan kefungsian mungkin terbatas. Ciri ini tersedia sebelum keluaran rasmi agar pelanggan boleh mendapat akses awal dan memberikan maklum balas.

Prasyarat

Untuk menggunakan salah satu pemalam contoh untuk acara data, Dataverse aplikasi pemecut mesti dipasang dalam persekitaran. Maklumat lanjut: Prasyarat untuk mencipta pemalam kod asas

Nota

Templat e-mel hanya tersedia untuk jadual tertentu. Maklumat lanjut: Cipta templat untuk e-mel

Kembalikan nilai bukan negatif

Contoh ini menggunakan fungsi Abs() untuk mengembalikan nilai bukan negatif bagi hujahnya. Jika nombor negatif, Abs mengembalikan setara positif.

  1. Mainkan Dataverse apl Accelerator, pada bar arahan pilih Pemalam > Segera tindakan baharu.

  2. Sediakan nama paparan, seperti nama formula dan perihalan.

  3. Cipta Out parameter untuk mengesahkan tingkah laku yang dijangkakan yang masuk akal, seperti rentetan Secara pilihan menggunakan parameter input untuk memudahkan ujian, yang masuk akal dengan formula.

  4. Dalam editor formula, Balut Out parameter dalam kurungan kerinting:

    {Out: "" }
    
  5. Masukkan ungkapan yang menguji formula:

    • Sahkan bahawa intellisense menerima formula (teks bertukar menjadi biru muda).
    • Laksanakan ungkapan yang menyediakan output untuk membantu mengesahkan keputusan, contohnya.
    {Out: "Abs(-5) = 5: " & Text( Abs(-5) = 5 )  }
    
  6. Pilih Seterusnya, dan kemudian pilih Simpan. ·

  7. Pilih Uji untuk menguji formula. Gunakan parameter output untuk mengesahkan keputusan.

Pengesahan input dan ralat tersuai

Pengesanan pendua

Laksanakan pengesahan input bahagian pelayan, seperti pengesanan ralat pendua yang melemparkan mesej ralat tersuai.

  1. Mainkan Dataverse apl Accelerator, pada bar arahan pilih Pemalam > automatik tindakan baharu.
  2. Dalam kotak Nama, masukkan Semakan pendua.
  3. Untuk Jadual, pilih Kenalan.
  4. Untuk Jalankan pemalam ini apabila baris berada, pilih Dibuat.
  5. Dalam kotak Formula, masukkan formula ini:
 If( !IsBlank(LookUp([@Contacts],'Last Name'=ThisRecord.'Last Name' && 'First Name'=ThisRecord.'First Name')),
    Error("You have existing contacts with the same first name and last name")
)
  1. Pilih Simpan.

Uji pemalam

  1. Untuk menguji pemalam, cipta aplikasi kanvas menggunakan jadual kenalan dengan mengikuti langkah di sini: Tentukan jadual
  2. Cipta baris kenalan.
  3. Cipta kenalan lain dengan nama yang sama seperti dalam langkah sebelumnya.
  4. Mesej dipaparkan yang menunjukkan rekod pendua ditemui. Pilih Abaikan dan simpan pada gesaan mesej ralat.

Mesej ralat tersuai ini dipaparkan: Anda mempunyai dua kenalan dengan nama pertama dan nama akhir yang sama.

Pengesahan data

Paparkan jenis ralat tertentu menggunakan penghitungan ErrorKind .

  1. Cipta pemalam automatik baharu.

  2. Sediakan nilai berikut:

    • Nama: Pengesahan input
    • Perihalan: Menyemak tarikh sah dan melemparkan ralat jika tidak sah
    • Jadual: Pelantikan
    • Jalankan pemalam ini apabila baris ialah: Dikemas kini
  3. Masukkan formula di bawah:

    If(ThisRecord.'Due Date' < Now(), 
     Error({ Kind: ErrorKind.Validation , Message: "The due date cannot be in the past" })
    );
    
  4. Di bawah Pilihan lanjutan, tetapkan Bila ini harus dijalankan kepada Pra-operasi; anda mahu menjalankan peraturan ini sebelum data disimpan untuk mengelakkan data tidak sah.

  5. Pilih Simpan.

Pergi ke fungsi Error() untuk mengetahui lebih lanjut tentang ralat tersuai.

Hantar e-mel berdasarkan peristiwa data

Prasyarat:

Contoh templat e-mel

Berikut ialah contoh templat e-mel yang boleh anda buat untuk acara data berasaskan SenMail:

  • Jenis templat: Global
  • Nama: Pesanan Terima kasih
  • Penerangan: Gunakan templat ini untuk mengucapkan terima kasih kepada pelanggan kerana membuat pesanan dengan anda.
  • Subjek: Thank you for your order <orderconfirmation-{!salesorder:Order Number; }>
  • Badan: Gunakan kod ini.
   Hello {!Sales Order:First Name;},
   Order Type: {! Sales Order: Order Type;},
   Location Type: {! Sales Order: Location Type;},
   Address1: {! Sales Order: Address 1;},
   Address2: {! Sales Order: Address 2;},
   Preferred Service Start Date 1: {! Sales Order: Preferred Service Start Date;},
   Next Step- We take upto 48 hrs to schedule an in-person and will notify you as soon as we have a In-person Technician allocated at your site. For any questions, please contact us at 1-800-CON-SOLAR
   Yours Sincerely, 
   Contoso Sales 

Cipta pemalam automatik

  1. Mainkan Dataverse apl Accelerator, dan kemudian pilih + Pemalam baharu di bawah Pemalam automatik.
  2. Masukkan maklumat berikut:
    • Nama: SendEmailUponCreate

    • Jadual: Pilih nama jadual logik pesanan jualan, iaitu SalesOrder. Acara ini berdasarkan jadual Pesanan Jualan.

    • Jalankan pemalam ini dengan baris ialah: Dicipta

    • Formula: Tampal kod di bawah ke dalam kotak Formula . Untuk maklumat lanjut selain fungsi SendEmailFromTemplate, kepada Tindakan SendEmailFromTemplate.

      XSendEmailFromTemplate(
          LookUp('Email Templates',StartsWith(title,"Order Thank You")).'Email Template',
      ThisRecord,
      LookUp(Users,'Primary Email'="sampleemail@sample.com"),[ThisRecord.Email]
      )
      
  3. Pilih Pasca Operasi > Lanjutan.
  4. Pilih Simpan.

Mesej pengesahan Plugin berjaya disimpan muncul.

Hantar pemberitahuan dalam apl berdasarkan tindakan segera

Pemberitahuan dalam aplikasi membolehkan pembuat mengkonfigurasi pemberitahuan kontekstual yang boleh diambil tindakan untuk pengguna dalam aplikasi dipacu model.

Buat pemalam kod asas yang menghantar pemberitahuan dalam apl

  1. Mainkan Dataverse apl pemecut, dan kemudian pilih+ Pemalam baharu di bawah Pemalam segera.
  2. Masukkan maklumat berikut, pilih Seterusnya:
    • Nama: NotifyTechnican1
    • Penerangan: Pemalam segera ini memberitahu pengguna aplikasi.
  3. Pada halaman Definisi, cipta parameter input dengan jenis data ini:
    • OrderID: Rentetan
    • JuruteknikE-mel: Rentetan ·
  4. Formula. Tampal kod berikut dalam kotak Formula . Untuk maklumat lanjut tentang fungsi ini, pergi ke Tindakan SendAppNotification.
     XSendAppNotification(
         "New service",
         LookUp(Users,'Primary Email'=TechnicianEmail),
         "You have a new solar panel installation scheduled on "& LookUp('Scheduling Results','OrderId'=OrderID).'ServiceDate'&" in "& LookUp('Service Orders','Order Number'=OrderID).City &". Contact the coordinator with any questions.",
     [
         XCreateSidePaneActionForEntity(
                 "View order",
             OrderID,
             "Sales Order",
             "cr8b8_serviceorder1",
             LookUp('Service Orders','Order Number'=OrderID).'Service Order'
             )
         ]
     )
    
  5. Pilih Seterusnya.
  6. Pada halaman Ringkasan, pilih Simpan .

Gunakan tindakan segera pemberitahuan dalam apl

  1. Pilih aplikasi kanvas dan kemudian pilih Edit pada bar perintah (atau buat yang baharu).
  2. Pilih skrin pada anak tetingkap navigasi kiri, atau buat yang baharu.
  3. Pada menu Sisipkan, tambah Butang pada halaman menggunakan juruteknik Pemberitahuan Teks . ·
  4. Pilih butang dan masukkan yang berikut dalam bar formula fx, di mana DataCardValue17 ialah lajur yang mengandungi ID Pesanan dan DataCardValue15 ialah lajur yang mengandungi alamat e-mel juruteknik. Dalam contoh ini, aplikasi kanvas bernama Aplikasi Pesanan Perkhidmatan digunakan.
    Environment.cr8b8_Notifytechnician1({
           OrderID: DataCardValue17.Text,
       TechnicianEmail: DataCardValue15.Text 
    });
    
        Notify("The technician was notified!", NotificationType.Success, 2000);
    
    
    Tambah butang dengan Power Fx formula untuk menghantar pemberitahuan kepada juruteknik
  5. Simpan dan Terbitkan perubahan anda.

Apabila tindakan beritahu juruteknik dipilih dalam aplikasi, pemberitahuan dalam aplikasi dihantar kepada juruteknik yang telah ditugaskan kepada pesanan perkhidmatan. Tindakan pada pemberitahuan membuka butiran pesanan perkhidmatan dalam anak tetingkap sisi.

Pemberitahuan dihantar kepada juruteknik yang menerima dalam aplikasi

Contoh pemalam segera dengan penyambung Cuaca MSN

Pemalam ini mengembalikan cuaca semasa untuk lokasi tertentu menggunakan penyambung Cuaca MSN.

Prasyarat:

  1. Cipta rujukan sambungan untuk Cuaca MSN jika belum tersedia lagi dalam persekitaran: Cipta rujukan sambungan dalam aplikasi daripada anak tetingkap rujukan sambungan di sebelah kanan

  2. Salin cebisan: Salin cebisan tindakan daripada anak tetingkap sambungan

  3. Selesaikan pengeditan formula menggunakan intellisense dan gunakan sifat respons penyambung mengikut keperluan: Lengkapkan takrifan pemalam dalam editor

  4. Simpan

  5. Uji pemalam

Petua

Gunakan fungsi With () untuk menangkap keseluruhan respons daripada satu tindakan jika anda ingin mengakses sifat berbeza yang mungkin ada pada respons. Dalam contoh di bawah, terdapat parameter Location input (rentetan) dan parameter Out output (rentetan).

With({ /* Capture current weather response from connector */
c: new_MsnWeather.CurrentWeather( Location, "Imperial" ).responses.weather.current
},{ /* Return concatenated weather details */
Out: "Current temp: " & c.temp & " degrees. Feels like " & c.feels & " degrees. Wind speed is " & c.windSpd & " mph."
})

Amalan terbaik

Mengendalikan ralat gelung tak terhingga dalam pemalam kod asas automatik

Jangan tulis pernyataan tampalan pada pemalam automatik semasa acara 'Kemas kini', di mana tampalan berlaku pada jadual yang sama dengan pemalam. Ini membawa kepada gelung tak terhingga dan kegagalan pelaksanaan pemalam.

Corak bermasalah: Menggunakan Patch() formula mencetuskan kemas kini lain. "Formula bermasalah dalam pemalam automatik"

Corak yang disyorkan: Gunakan Set() formula untuk mengelakkan isu ini. "Formula yang disyorkan dalam pemalam automatik"

Lihat juga

pemalam Power Fx kod asas(pratonton)