Bagikan melalui


Gambaran umum konten kit persetujuan

Kit persetujuan dibangun di atas konektor persetujuan siap pakai menggunakan Power Platform solusi. Solusinya mencakup seperangkat Power Apps dan Power Automate Dataverse komponen untuk membuat pembuatan persetujuan bisnis diproses lebih mudah untuk ditulis dan dipicu.

Kit ini memungkinkan Anda membuat perubahan dengan cepat tanpa perlu memperbarui atau menerapkan Power Platform solusi. Anda dapat membuat variasi untuk satu persetujuan tanpa memengaruhi proses persetujuan lainnya. Selain itu, Dataverse menyediakan fitur audit untuk mencatat proses persetujuan.

Diagram arsitektur tingkat tinggi untuk kit persetujuan.

Komponen utama kit:

  • Perancang proses: Power App yang memungkinkan pengguna bisnis membuat dan membuat versi alur kerja persetujuan dengan data, tahapan, dan kondisi aplikasi input. Data yang digunakan oleh perancang proses disimpan dalam Dataverse tabel waktu desain.
  • Konektor kustom: Menyediakan cara sederhana bagi pembuat untuk menggunakan Power Automate pemicu untuk memulai proses persetujuan bisnis berdasarkan Power Platform konektor dan tindakan.
  • Dataverse: Satu set tabel kustom yang memungkinkan alur kerja ditentukan dan dipantau.
  • Power Automate Alur cloud: Sekumpulan alur cloud yang bereaksi terhadap perubahan dalam Dataverse tabel untuk mengelola proses persetujuan ujung ke ujung.
  • Mengkonsumsi aplikasi / alur: Power Platform solusi dapat membuat referensi koneksi ke konektor Kit persetujuan untuk memulai alur kerja persetujuan bisnis.

Power Automate

Bagian ini merangkum komponen yang Power Automate membentuk kit persetujuan.

Alur cloud

Tabel mewakili daftar alur dan proses yang terkait dengan proses persetujuan bisnis. Setiap baris menggambarkan aliran atau proses tertentu dan tujuannya.

Nama Description
BACore | Batas Waktu Persetujuan Menangani penghitung batas waktu mencapai nol dengan menggunakan Dataverse pemicu yang mengambil daftar pemberi persetujuan bisnis. Kemudian memeriksa apakah delegasi berada di luar kantor dan menugaskan delegasi cadangan jika perlu. Jika tidak ada delegasi atau delegasi cadangan, itu mengambil pemberi persetujuan default. Akhirnya, ini menciptakan penggantian untuk delegasi jika ada.
BACore | OOF Pemberi Persetujuan Alur ini berlangganan Dataverse pemicu pada pemberi persetujuan bisnis dan mendengarkan perubahan dalam entitas tertentu. Ketika perubahan terjadi, itu mengambil daftar delegasi dan status di luar kantor mereka. Kemudian memilih delegasi yang tersedia dan membuat penggantian untuk setiap instans persetujuan yang berjalan yang ditetapkan ke pemberi persetujuan asli yang tidak di kantor. Penggantian menetapkan delegasi sebagai pemberi persetujuan baru dan memberikan alasan untuk penggantian tersebut.
BACore | Status Proses Bertingkat Status proses berjenjang dari proses persetujuan bisnis menangani data aplikasi, status tahapan, status dan kondisi node.
BACore | Aktivasi Penerbitan Bertingkat Memperbarui status data runtime terkait. Saat dipicu, ia mengambil semua rekaman data runtime terkait untuk versi proses tertentu dan memperbarui kode statusnya agar sesuai dengan kode status pemicu.
BACore | Anak | Aktifkan Alur Kerja yang Diterbitkan Menyalin data runtime persetujuan bisnis untuk membuat alur kerja persetujuan bisnis yang diterbitkan dan data runtime persetujuan bisnis yang diterbitkan.
BACore | Anak | Evaluasi Aturan Mengevaluasi kondisi simpul persetujuan bisnis.
BACore | Anak | Mendapatkan setelan default Mendapatkan setelan persetujuan bisnis atau nilai default jika tidak ada yang diatur.
BACore | Anak | Dapatkan Dynamic Approver Mencari pengguna atau manajer dari office graph untuk menambahkan pemberi persetujuan ke persetujuan bisnis.
BACore | Anak | Dapatkan Instans Data Dinamis Dapatkan data instans data persetujuan Approver atau bisnis.
BACore | Anak | Log Berjalan Catat data ke log instans persetujuan bisnis.
BACore | Proses Salin Dipicu dengan permintaan dari Power App V2. Ini mengambil daftar catatan dari entitas bernama pemberi persetujuan bisnis dari Dataverse.
BACore | Harian | Hitung Batas Waktu Persetujuan Aliran ini mengurangi penghitung batas waktu instans persetujuan bisnis. Penghitung berkurang satu hari untuk setiap bisnis jika mode batas waktu diatur ke hari kerja dan itu adalah hari kerja tanpa hari libur. Jika tidak, penghitung berkurang satu hari yang sebenarnya.
BACore | Proses Publikasi Menyalin definisi proses, tahapan, kondisi, dan node.
BACore | Runtime -- Menginisialisasi antrean alur kerja Berlangganan Dataverse pemicu pada antrean alur kerja persetujuan bisnis dan membuat instans alur kerja baru untuk proses persetujuan bisnis. Ini mengambil data dari instans data runtime dan membuat rekaman baru untuk setiap item dalam instans data. Alur juga mengambil versi aktif dari proses persetujuan bisnis dan membuat rekaman baru untuk instans alur kerja.
BACore | Runtime -- Mulai Persetujuan Berlangganan Dataverse pemicu pada instans persetujuan bisnis dan membuat instans alur kerja baru untuk proses persetujuan bisnis. Ini mengambil data dari instans data runtime dan membuat rekaman baru untuk setiap item dalam instans data. Alur juga mengambil versi aktif dari proses persetujuan bisnis dan membuat rekaman baru untuk instans alur kerja.
BACore | Runtime -- Mulai Node Berlangganan Dataverse pemicu pada instans persetujuan node runtime bisnis yang membuat persetujuan, tahap, kondisi. Ini termasuk kemampuan untuk pindah ke tahap baru berdasarkan kondisi. Node dapat menyelesaikan alur kerja persetujuan bisnis atau tahap yang ditentukan.
BACore | Runtime -- Tahap Mulai Berlangganan Dataverse pemicu pada instans tahap runtime persetujuan bisnis. Ini menetapkan node pertama untuk diproses dalam alur kerja jika node didefinisikan atau menyelesaikan tahap jika tidak ada node yang ditentukan.
BACore | Runtime -- Mulai Alur Kerja Berlangganan Dataverse pemicu pada alur kerja persetujuan bisnis. Ini menginisialisasi tahap pertama atau menyimpan dan kesalahan bukan tahap yang ditentukan.
BACore | Runtime -- Perbarui Persetujuan Berlangganan Dataverse pemicu pada instans persetujuan bisnis. Ketika perubahan terjadi, ia memeriksa status instans dan melakukan tindakan yang berbeda berdasarkan hasilnya. Jika hasilnya adalah Setujui, itu membatalkan instans lain yang berjalan dan memperbarui status instans node. Jika hasilnya adalah Tolak, itu membatalkan instans lain yang berjalan dan memperbarui status instans node ke Dibatalkan.
BACore | Runtime -- Perbarui Instance Node Berlangganan Dataverse pemicu pada instans node runtime persetujuan bisnis. Ketika perubahan terjadi, ia memeriksa bidang status instans dan melakukan tindakan yang berbeda berdasarkan nilainya. Ini membuat instans node baru atau menyelesaikan status instans tahap runtime atau membatalkan status instans tahap runtime.
BACore | Runtime -- Perbarui Instans Tahap Berlangganan Dataverse pemicu pada instans tahap runtime persetujuan bisnis. Bergantung pada statusnya, ini membuat instans tahap baru atau memperbarui instans alur kerja untuk diselesaikan.
BACore | Sinkronkan Pemberi Persetujuan OOF Menjalankan tugas harian untuk mengatur atau menghapus status tidak di kantor.
BACore | Memperbarui alur kerja aktif yang diterbitkan Berlangganan Dataverse pemicu pada versi persetujuan bisnis dan panggilan alur anak mengaktifkan alur kerja yang diterbitkan.

Dataverse

Bagian ini merangkum komponen yang Dataverse membentuk kit persetujuan.

Tabel

Ada beberapa jenis tabel yang tersedia:

  • Tabel Definisi Proses - Tentukan proses persetujuan. Tabel ini digunakan untuk mencari dan mengonfigurasi proses persetujuan sesuai kebutuhan bisnis Anda.
  • Tabel Versi - Menentukan versi proses yang diterbitkan.
  • Tabel Referensi - Menentukan pemberi persetujuan, profil kerja, dan tanggal kalender.
  • Tabel Runtime - Simpan hasil/status persetujuan.

Tabel definisi proses

Tabel berikut digunakan untuk definisi.

Nama Description Contoh
Proses Persetujuan Bisnis Satu rekaman per skenario persetujuan yang dikelola kit persetujuan. Persetujuan Faktur
Data Persetujuan Bisnis Satu catatan per item data yang digunakan untuk menentukan bidang input yang digunakan dalam proses persetujuan Misalnya jumlah permintaan, metode transportasi dan departemen.
Tahap Persetujuan Bisnis Satu catatan per tahap dalam proses persetujuan. Persetujuan Manajer atau Persetujuan Manajer Lini
Kondisi Persetujuan Bisnis Tentukan kondisi opsional untuk suatu tahap. Tidak ada, jika, beralih
Simpul Persetujuan Bisnis Mendefinisikan setiap langkah persetujuan termasuk jenis persetujuan langkah itu dan pemberi persetujuan. N/a*

*n/a = tidak berlaku.

Tabel referensi

Nama Description Contoh
Pemberi Persetujuan Bisnis Mendefinisikan untuk terkait dengan pemberi persetujuan untuk setiap node dalam proses persetujuan. N/a*
Profil Kerja Persetujuan Bisnis Siapkan untuk setiap pemberi persetujuan untuk menentukan pengaturan. Keluar kantor
Kalender Hari Libur Persetujuan Bisnis Tentukan hari libur perusahaan. Hari non-kerja dan akhir pekan seperti hari Sabtu
Hari Libur Nasional Persetujuan Bisnis Tentukan hari libur yang terpisah dari hari libur organisasi. N/a*
OOF Pemberi Persetujuan Bisnis Menentukan pengaturan pengguna di luar kantor. N/a*

*n/a = tidak berlaku.

Tabel versi

Nama Description
Versi Persetujuan Bisnis Versi tersimpan dari proses persetujuan bisnis.
Persetujuan Bisnis Alur Kerja yang Diterbitkan Menentukan versi proses persetujuan yang dipublikasikan.
Persetujuan Bisnis Diterbitkan Data Runtime Data yang ditentukan untuk versi proses persetujuan yang dipublikasikan.
Persetujuan Bisnis Diterbitkan Tahap Runtime Tahapan atau tahapan yang ditentukan untuk versi proses persetujuan yang dipublikasikan.
Persetujuan Bisnis Diterbitkan Runtime Node Node atau node yang ditentukan untuk tahap proses persetujuan yang dipublikasikan.

Tabel runtime

Untuk setiap permintaan persetujuan yang dibuat, data disimpan ke dalam tabel instans runtime. Entri ini didasarkan pada konfigurasi tabel versi definisi.

Nama Description Catatan
Alur Kerja Persetujuan Bisnis Digunakan untuk mengelola semua permintaan persetujuan masuk dan tabel terkait yang digunakan untuk permintaan Membuat persetujuan yang dihasilkan dari data di sistem yang dipicu sumber Anda. Dibuat untuk versi proses persetujuan bisnis yang dipublikasikan
Instans Data Business Approval Runtime Digunakan untuk menyimpan metadata dari apa yang didefinisikan dalam data persetujuan Misalnya, jika Anda menentukan "Jumlah Permintaan" dalam tabel Data Persetujuan, Data Instans akan menyimpan jumlah permintaan aktual untuk permintaan tersebut
Instans Tahap Runtime Persetujuan Bisnis Membuat salinan kerja versi Tahap Persetujuan Bisnis. Catatan ini digunakan untuk menahan setiap tahap transaksional persetujuan Setiap perubahan yang dibuat selama runtime disimpan di sini
Instans Node Runtime Persetujuan Bisnis Membuat salinan kerja referensi transaksional Nodes ke permintaan persetujuan. Digunakan untuk menahan setiap langkah transaksional persetujuan termasuk jenis persetujuan langkah itu dan pemberi persetujuan Setiap perubahan yang dibuat selama runtime disimpan di sini
Instans Persetujuan Bisnis Menyimpan referensi transaksional Persetujuan untuk instans node tertentu N/a*
Log Instans Persetujuan Bisnis Menyimpan referensi transaksional referensi dan hasil Persetujuan N/a*
Penggantian Instans Persetujuan Bisnis Menyimpan transaksional pemberi persetujuan baru yang menimpa instans persetujuan asli N/a*

*n/a = tidak berlaku.

Model data

Diagram Hubungan Entitas yang memperlihatkan Relasi antara tabel utama.

Catatan:

  • Tabel berwarna hijau adalah versi kerja saat ini dari Proses Persetujuan Bisnis
  • Tabel berwarna biru adalah tabel terkait yang menyimpan informasi tentang versi proses
  • Tabel berwarna hitam adalah tabel terkait yang menyimpan informasi transaksional untuk proses persetujuan tertentu

Diagram hubungan entitas yang memperlihatkan Relasi antara tabel kunci.

Konektor kustom

Kit Persetujuan mencakup konektor khusus untuk membantu proses memulai proses persetujuan bisnis baru.

Contoh konektor kustom untuk memulai persetujuan bisnis.

Konektor kustom yang disediakan sebagai bagian dari kit menggunakan dukungan kode kustom untuk mengkueri proses alur kerja yang ditentukan dan data aplikasi (variabel) yang diperlukan oleh alur kerja.

Parameter dinamis

Konektor kustom memanfaatkan beberapa OpenAPI tindakan untuk mendapatkan alur kerja yang diterbitkan, mendapatkan bidang data, dan memulai proses persetujuan bisnis.

Mendapatkan alur kerja yang diterbitkan

Kueri Dataverse tindakan dapatkan alur kerja yang diterbitkan untuk mengembalikan alur kerja yang saat ini aktif dan diterbitkan sehingga pembuat bisa menentukan alur kerja persetujuan mana yang harus dimulai.

Mendapatkan kolom data persetujuan

Untuk mendapatkan bidang data untuk alur kerja, konektor kustom membuat pengguna Gunakan skema dinamis sehingga x-ms-dynamic-schema memanggil tindakan kode kustom.

Tindakan kode kustom menyertakan kode C# untuk mengkueri bidang data sehingga pembuat dapat menyediakan bidang yang diperlukan.

Membuat instans alur kerja

Tindakan buat instans alur kerja menyimpan data alur kerja persetujuan bisnis sebagai string serial JSON sehingga proses persetujuan dimulai.

Operasi

Konektor ini bergantung pada tiga operasi:

  • GetPublishedWorkflows
  • GetApprovalDataFields
  • CreateWorkflowInstance

GetPublishedWorkflows

Operasi ini membantu dalam mencantumkan semua templat persetujuan bisnis yang diterbitkan dengan memanggil API asli dan membaca tabel Alur Kerja yang Diterbitkan Persetujuan Bisnis.

/api/data/v9.2/cat_businessapprovalpublishedworkflows

Penggambaran konektor persetujuan bisnis mulai.

GetApprovalDataFields

Operasi ini membantu dalam mengambil daftar skema dinamis yang berlaku untuk alur kerja yang dipilih. Di bawah tenda, ia memanggil API Kustom (GetDynamicParameters) yang mengembalikan definisi skema berdasarkan ID alur kerja yang disediakan/dipilih.

/api/data/v9.2/cat_GetDynamicParameters(ProcessID={processID})

Catatan

Nilai pengembalian API, yang berjenis Entitas, dimodifikasi lebih lanjut menggunakan kode kustom untuk konektor kustom guna mendukung dan menyelaraskan dengan skema Open API. Untuk informasi selengkapnya, lihat metode ModifySchema() di file Script.csx.

Penggambaran konektor persetujuan bisnis awal dengan parameter skema yang dibaca Dataverse.

CreateWorkflowInstance

Operasi ini membantu dalam membuat rekaman dengan businessapprovalworkflowqueues membuat operasi POST ke API asli.

/api/data/v9.2/cat_businessapprovalworkflowqueues

Di sini kita menggunakan metode menggunakan CreateWorkflowQueue() kode kustom untuk konektor kustom untuk menyiapkan dan mengurai JSON, yang menyimpan semua nilai parameter dan ID Alur Kerja (juga dikenal sebagai ProcessID).

Catatan

Operasi ini melakukan panggilan POST terakhir untuk membuat rekaman.

Berikut adalah dua nilai, yang diperbarui selama panggilan posting:

     "cat_runtimedata": "[{"id":"9a664958-c656-ee11-be6f-0022482a97de","value":"True"},{"id":"7ddc1057-c656-ee11-be6f-0022482a91f4","value":"123"},{"id":"49dc1057-c656-ee11-be6f-0022482a91f4","value":""},{"id":"9b664958-c656-ee11-be6f-0022482a97de","value":"10/11/2023 8:49:51 AM"},{"id":"7cdc1057-c656-ee11-be6f-0022482a91f4","value":"Another title"}]",
     "cat_processid": "57b2ee16-ea51-ee11-be6f-0022482a97de"