Saya ingin menerapkan fitur sakelar hidup dan mati pada layar pengaturan khusus acumatica saya.

Katakanlah saya ingin menerapkan:

feature1

feature2

feature3

Ketika saya mencentang fitur1, layar yang sesuai dengan Fitur itu, tidak apa-apa bagi saya jika masih terlihat di peta situs, atau ketika pengguna masuk ke layar itu akan meminta pengguna bahwa modul tidak tersedia atau tidak disiapkan untuk instance .

Saya menggunakan konstruktor dengan ClassName yang sama dengan GraphName seperti

public MyGraphClassName()
{
    throw new PXException("Error goes here for the Initialization method");
}

Tapi ketika saya melakukan ini, layar tempat DAC diterapkan juga memberikan kesalahan, padahal harus tetap berlanjut karena hanya sebagian dari layar itu. Bagaimana saya melakukannya?, Saya juga sudah selesai menggunakan acara _RowSelected() , sepertinya tidak berfungsi. Saya tersesat.

0
Eds 14 Maret 2019, 16:01

1 menjawab

Jawaban Terbaik

Saya pikir yang Anda cari adalah melempar PXSetupNotEnteredException di konstruktor. Saya telah melakukan ini untuk berbagai layar dan begitu juga Acumatica. Penggunaan umum adalah untuk memblokir pengguna agar tidak menggunakan halaman yang memerlukan catatan penyiapan untuk dikonfigurasikan terlebih dahulu. Dalam kasus Anda, Anda dapat memblokir karena fitur tidak dikonfigurasi atau tidak diaktifkan.

Contoh di sini ada di halaman gudang. Jika halaman dimuat dan preferensi Inventaris tidak diisi maka halaman akan memunculkan kesalahan pengaturan yang membuat seluruh halaman terlihat seperti gambar di bawah ini. Anda dapat mengubah pesan sesuai kebutuhan yang menunjukkan bahwa fitur Anda tidak disiapkan atau diaktifkan.

public class INSiteMaint : PXGraph<INSiteMaint, INSite>
{
    //..
    public PXSetup<INSetup> insetup;
    //..
    public INSiteMaint()
    {
        //Check for feature enabled or setup complete
        if (insetup.Current == null)
        {
            throw new PXSetupNotEnteredException(ErrorMessages.SetupNotEntered, typeof(INSetup), PXMessages.LocalizeNoPrefix(IN.Messages.INSetup));
        }
        //..

    //..
}

Jika objek pengaturan adalah nol (tidak ada Preferensi IN yang dikonfigurasi) maka halaman gudang berikut berubah menjadi ini:

thrown PXSetupNotEnteredException results

Perlu juga disebutkan bahwa di 2019R1 atau lebih tinggi Anda dapat mengontrol fitur Anda melalui fitur aktifkan/nonaktifkan Acumatica dengan menambahkan entri Anda sendiri. Jika diterapkan dengan benar, Anda dapat membuat Acumatica secara otomatis menyembunyikan halaman dari peta situs (tidak perlu mengimplementasikan PXSetupNotEnteredException). Saat ini tidak ada dokumentasi tentang itu (dalam versi beta) tetapi kira-kira tahun ini akan ada lebih banyak detail yang tersedia.

2
Brendan 2 April 2019, 13:40