1c 8 menulis peraturan radar. Maklumat perakaunan. Tetapan sekatan akses

Model lain 07.02.2022
Model lain

Mekanisme RLS dalam 1C (sekatan akses pada tahap rekod) membolehkan pembangun menetapkan pilihan dan syarat mereka sendiri secara langsung pada jadual pangkalan data. Sekatan sedemikian mungkin dikenakan untuk membaca, menambah, mengubah suai dan memadam.

Kelemahan utama kaedah ini ialah penurunan kecekapan sistem secara keseluruhan. Intinya ialah penapis tambahan ditambahkan pada pertanyaan utama yang menerima data secara dinamik. Setiap kali pengguna mengakses beberapa data pangkalan maklumat yang dihadkan, program akan menyemak dengan melaksanakan pertanyaan.

Walaupun terdapat kelemahan yang begitu ketara, mekanisme RLS agak mudah dan fleksibel. Dengan itu, anda boleh mengkonfigurasi sistem supaya tiada pengguna melihat apa-apa "tambahan". Mengehadkan akses pekerja anda, terutamanya jika terdapat ramai daripada mereka, adalah sangat produktif. Intinya bukan dalam ketidakpercayaan, tetapi dalam perlindungan daripada kesilapan rawak dan faktor manusia. Lebih sedikit data tersedia, lebih mudah untuk bekerja dengan mereka dan tidak "keliru".

Dalam salah satu artikel kami, kami telah pun menyentuh sebahagian topik menyekat akses pada peringkat rekod. Dalam kes ini, penyesuaian yang lebih mendalam oleh pembangun akan dipertimbangkan.

Mengkonfigurasi Sekatan Akses Tahap Rekod

Radar dikonfigurasikan dan dibangunkan dalam konfigurator 1C. Untuk melakukan ini, mula-mula buat peranan dalam cabang metadata.

Pada tab Templat Sekatan, anda boleh membuat satu atau lebih templat ini. Secara luaran, mereka boleh dikatakan tidak berbeza daripada permintaan biasa.

Seterusnya, pergi ke tab "Kebenaran" peranan yang anda ingin tetapkan sekatan. Untuk kemudahan, anda boleh menggunakan pembina pertanyaan, yang hanya mempunyai dua tab "Jadual dan medan" dan "Syarat".

Seperti yang anda lihat dalam imej di bawah, kami hanya menambah satu kekangan dengan teks:

WHEREItemGroup = &ItemGroup

Akibatnya, apabila pengguna mengakses buku rujukan "Nomenclature", program akan menambah baris dengan syarat ini kepada semua pertanyaan.

Mengkonfigurasi akses pada tahap entri direktori.

Tetapan ini telah dimasukkan dalam konfigurasi tidak lama dahulu, saya secara peribadi berpendapat bahawa tetapan itu sangat berguna.

Tetapan ini diperlukan bagi mereka yang perlu menyekat akses kepada direktori dalam konteks elemen direktori ini. Sebagai contoh, pengurus perlu melihat hanya pembeli, serta laporan dan jurnal dokumen, hanya untuk rakan niaga yang dia dibenarkan akses dan akauntan perlu mempunyai akses penuh kepada semua elemen direktori, sebagai contoh, "Pihak Rakan niaga" .

Saya mencadangkan untuk mempertimbangkan contoh pada contoh konfigurasi SCP.

  1. Pada peringkat ini, adalah perlu untuk menentukan satu set kumpulan pengguna.

Pentadbir;

pengurus jualan;

Pengurus pembelian;

  1. Pada peringkat kedua, kumpulan akses kepada direktori ditentukan.

Pembeli;

Pembekal;

Lazimnya, senarai kumpulan di atas dibincangkan dengan pihak pengurusan dan hanya kemudian diperkenalkan ke dalam program.

Sekarang adalah perlu untuk menerangkan tetapan sebenar yang perlu dilakukan dalam 1C.

  1. Dayakan "Akses terhad pada peringkat rekod". Perkhidmatan - pengurusan pengguna dan akses - Pilihan capaian peringkat rekod. Lihat rajah. 1.

Borang pemprosesan "Parameter akses pada tahap rekod" akan dibuka, lihat Rajah. 2.

Pada borang ini, anda mesti benar-benar mendayakan sekatan, yang mana bendera "Hadkan akses pada tahap rekod mengikut jenis objek" bertanggungjawab dan pilih direktori tersebut yang akan dikenakan sekatan. Artikel ini hanya berkaitan dengan direktori "Pihak Rakan Sejawat".

  1. Selanjutnya, kumpulan pengguna dan rakan niaga yang ditakrifkan pada permulaan artikel akan berguna kepada kami.

Kumpulan rakan niaga dimasukkan dalam buku rujukan "Kumpulan Pengguna", lihat Rajah. 3.

Bentuk elemen rujukan "Kumpulan pengguna" akan dibuka, lihat Rajah. empat.

Di bahagian kiri tetingkap, objek akses ditunjukkan (kami mempunyai "kontraktor"), di sebelah kanan, pengguna yang merupakan sebahagian daripada kumpulan ditunjukkan, dalam contoh ini, ini adalah "Pentadbir".

Untuk setiap kumpulan pengguna yang ditakrifkan oleh anda, anda perlu melakukan tetapan ini, tidak sepatutnya ada seorang pengguna yang tidak termasuk dalam kumpulan.

  1. Dalam langkah ketiga, anda perlu memasukkan "Akses kumpulan rakan niaga", direktori "Akses kumpulan rakan niaga" bertanggungjawab untuk ini. Lihat rajah. lima.

Untuk contoh kami, ini ialah: Pembeli, Pembekal, Lain-lain. Lihat Rajah. 6.

  1. Pada peringkat ini, anda perlu menetapkan kumpulan akses kepada setiap elemen direktori "rakan niaga". Lihat Rajah. 7.

Kumpulan akses untuk rakan niaga ditetapkan pada tab "lain". Saya biasanya menggunakan pemprosesan standard tambahan untuk menetapkan data kumpulan. "Pemprosesan kumpulan direktori dan dokumen", ia membolehkan anda menetapkan kumpulan yang dikehendaki secara besar-besaran untuk atribut ini.

  1. Peringkat ini adalah peringkat kemuncak. Pada peringkat ini, akses "kumpulan pengguna" kepada "kumpulan akses akaun" dikonfigurasikan; ini dikonfigurasikan menggunakan pemprosesan "Menetapkan hak akses pada peringkat rekod", lihat Rajah. 8.

Nisbah kumpulan pengguna untuk mengakses kumpulan rakan niaga diserlahkan dengan warna merah. Untuk kumpulan "Pengurus Pembelian" dan "Pengurus Jualan", perhubungan dikonfigurasikan dengan cara yang sama, hanya objek capaian ditunjukkan yang mana mereka sepatutnya mempunyai akses, contohnya, hanya "Pembekal" atau hanya "Pembeli". Bendera, contohnya "Keterlihatan dalam senarai" adalah hak "Objek akses". Dari namanya, saya berpendapat bahawa fungsi hak ini juga jelas.

Selepas manipulasi di atas, anda sepatutnya mempunyai akses yang berbeza kepada direktori "Counterparties".

Dengan analogi, direktori lain dikonfigurasikan.

Penting:

Akses terhad tidak digunakan untuk peranan "Kebenaran Penuh";

Set peranan pengguna mesti mengandungi peranan "Pengguna";

Jika anda mempunyai peranan anda sendiri, maka anda perlu memasukkan templat dan sekatan ke dalam peranan anda seperti dalam peranan "Pengguna" berhubung dengan direktori "Kontraktor" (lihat kod dalam peranan Pengguna dengan mengklik pada direktori rakan niaga).

Program 1C mempunyai sistem hak akses terbina dalam, yang terletak dalam Configurator - General - Roles.

Apakah ciri sistem ini dan apakah tujuan utamanya? Ia membolehkan anda menerangkan set hak yang sepadan dengan kedudukan pengguna atau aktiviti mereka. Sistem hak capaian ini bersifat statik, yang bermaksud, sebagai pentadbir menetapkan hak capaian kepada 1C, ia adalah. Sebagai tambahan kepada yang statik, terdapat sistem hak akses kedua - dinamik (RLS). Dalam sistem ini, hak akses dikira dengan cara yang dinamik, bergantung pada parameter yang diberikan, dalam perjalanan kerja.

Peranan dalam 1C

Tetapan keselamatan yang paling biasa dalam program yang berbeza adalah apa yang dipanggil set kebenaran baca / tulis untuk pelbagai kumpulan pengguna dan pada masa hadapan: kemasukan atau pengecualian pengguna tertentu daripada kumpulan. Sistem sedemikian, sebagai contoh, digunakan dalam sistem pengendalian Windows AD (Active Directory). Sistem keselamatan yang digunakan dalam perisian 1C dipanggil peranan. Apa ini? Peranan dalam 1C ialah objek yang terletak dalam konfigurasi dalam cawangan: Umum - Peranan. Peranan 1C ini adalah kumpulan yang haknya diberikan. Pada masa hadapan, setiap pengguna boleh dimasukkan dan dikecualikan daripada kumpulan ini.

Dengan mengklik dua kali pada nama peranan, anda akan membuka editor hak untuk peranan tersebut. Di sebelah kiri ialah senarai objek, tandai mana-mana daripadanya dan di sebelah kanan anda akan melihat pilihan untuk hak akses yang mungkin:

— membaca: mendapatkan rekod atau serpihan separanya daripada jadual pangkalan data;
- menambah: rekod baharu sambil mengekalkan rekod sedia ada;
— perubahan: membuat perubahan pada rekod sedia ada;
- pemadaman: beberapa rekod, mengekalkan selebihnya tidak berubah.

Ambil perhatian bahawa semua hak akses boleh dibahagikan kepada dua kumpulan utama - ini adalah hak "mudah" dan hak sedemikian dengan penambahan ciri "interaktif". Apakah yang dimaksudkan di sini? Dan perkara itu adalah berikut.

Dalam kes apabila pengguna membuka beberapa borang, sebagai contoh, pemprosesan, dan pada masa yang sama mengklik padanya dengan tetikus, program dalam bahasa 1C terbina dalam mula melakukan tindakan tertentu, contohnya, memadam dokumen. Untuk kebenaran tindakan sedemikian yang dilakukan oleh program, hak 1C bertanggungjawab, masing-masing, "semata-mata".

Sekiranya pengguna membuka jurnal dan mula memasukkan sesuatu sendiri dari papan kekunci (dokumen baharu, contohnya), maka hak 1C "interaktif" bertanggungjawab untuk membenarkan tindakan sedemikian. Setiap pengguna boleh mempunyai beberapa peranan yang tersedia sekaligus, kemudian kebenaran ditambahkan.

RLS dalam 1C

Anda boleh mendayakan akses kepada direktori (atau dokumen) atau melumpuhkannya. Anda tidak boleh menghidupkannya sedikit sahaja. Untuk tujuan ini, terdapat lanjutan tertentu sistem peranan 1C, yang dipanggil RLS. Ini ialah sistem hak akses dinamik yang memperkenalkan sekatan akses separa. Sebagai contoh, hanya dokumen organisasi dan gudang tertentu yang tersedia untuk perhatian pengguna, dia tidak melihat yang lain.

Perlu diingat bahawa sistem RLS mesti digunakan dengan sangat berhati-hati, kerana agak sukar untuk memahami skemanya yang rumit, dan pengguna yang berbeza mungkin mempunyai soalan apabila mereka, sebagai contoh, membandingkan laporan yang sama, yang dihasilkan daripada pelbagai pengguna. Mari kita pertimbangkan contoh sedemikian. Anda memilih direktori tertentu (contohnya organisasi) dan hak khusus (membaca, sebagai contoh), iaitu, anda membenarkan membaca untuk peranan 1C. Pada masa yang sama, anda menetapkan teks permintaan dalam panel jauh Sekatan Akses Data, mengikut mana False atau True ditetapkan, bergantung pada tetapan. Biasanya, tetapan disimpan dalam daftar maklumat khas.

Pertanyaan ini akan dilaksanakan secara dinamik (apabila percubaan dibuat untuk mengatur bacaan), untuk semua entri direktori. Ia berfungsi seperti ini: rekod yang telah ditetapkan oleh permintaan keselamatan - Benar, pengguna akan melihat, tetapi yang lain tidak. Hak 1C dengan sekatan yang ditetapkan diserlahkan dalam warna kelabu.

Operasi menyalin tetapan RLS yang sama dilakukan menggunakan templat. Sebagai permulaan, anda mencipta templat, menamakannya, sebagai contoh, MyTemplate, di mana anda mencerminkan permintaan keselamatan. Kemudian, dalam tetapan hak akses, nyatakan nama templat ini dengan cara ini: "#MyTemplate".

Apabila pengguna bekerja dalam mod 1C Enterprise, apabila menyambung ke RLS, mesej ralat mungkin kelihatan seperti: "Hak tidak mencukupi" (untuk membaca direktori XXX, contohnya). Ini menunjukkan bahawa sistem RLS telah menyekat bacaan beberapa rekod. Untuk mengelakkan mesej ini daripada muncul semula, anda perlu memasukkan perkataan DIBENARKAN dalam teks permintaan.

1C mempunyai sistem hak akses terbina dalam (sistem ini dipanggil peranan 1C). Sistem ini statik - kerana pentadbir telah menetapkan hak kepada 1C, begitu juga.

Selain itu, terdapat sistem hak akses yang dinamik (dipanggil - RLS 1C). Di dalamnya, hak 1C dikira secara dinamik pada masa kerja pengguna berdasarkan parameter yang ditentukan.

Salah satu tetapan keselamatan yang paling biasa dalam pelbagai program ialah satu set kebenaran baca / tulis untuk kumpulan pengguna dan kemudian - kemasukan atau pengecualian pengguna daripada kumpulan. Sebagai contoh, sistem yang serupa digunakan dalam Windows AD (Direktori Aktif).

Sistem keselamatan sedemikian dalam 1C dipanggil Peranan 1C. Peranan 1C terletak dalam konfigurasi dalam cawangan Umum / Peranan. Peranan 1C bertindak sebagai kumpulan yang hak 1C diberikan. Seterusnya, pengguna disertakan atau dikecualikan daripada kumpulan ini.

Dengan mengklik dua kali pada nama peranan 1C, anda akan membuka editor hak untuk peranan 1C. Di sebelah kiri ialah senarai objek 1C. Pilih mana-mana dan pilihan untuk hak akses akan dipaparkan di sebelah kanan (sekurang-kurangnya: baca, tambah, tukar, padam).

Untuk cawangan teratas (nama konfigurasi semasa), hak pentadbiran 1C dan akses untuk melancarkan pelbagai pilihan ditetapkan.

Semua hak 1C dibahagikan kepada dua kumpulan - hak "mudah" dan hak yang sama dengan penambahan "interaktif". Apakah maksudnya?

Apabila pengguna membuka borang (contohnya, memproses) dan menekan butang padanya, program dalam bahasa 1C terbina dalam melakukan tindakan tertentu, contohnya, memadam dokumen. Untuk kebenaran tindakan ini (dilakukan secara program) - "semata-mata" hak 1C bertanggungjawab.

Apabila pengguna membuka jurnal dan mula melakukan sesuatu dari papan kekunci sendiri (contohnya, memasukkan dokumen baharu), ini adalah hak 1C "interaktif".

Pengguna boleh mempunyai berbilang peranan yang tersedia, dalam hal ini kebenaran ditambahkan bersama.

Bahagian mengenai kemungkinan menetapkan hak akses menggunakan peranan ialah objek 1C. Iaitu, anda boleh sama ada mendayakan akses kepada direktori atau melumpuhkannya. Tidak boleh dihidupkan sedikit.

Untuk ini, terdapat lanjutan sistem peranan 1C yang dipanggil 1C RLS. Ini ialah sistem hak akses dinamik yang membolehkan anda menyekat akses sebahagiannya. Sebagai contoh, pengguna hanya melihat dokumen untuk gudang dan organisasi tertentu dan tidak melihat yang lain.

kemas! Apabila menggunakan skema RLS 1C yang mengelirukan, pengguna yang berbeza mungkin mempunyai soalan apabila mereka cuba mengesahkan laporan yang sama yang dijana daripada pengguna yang berbeza.

Anda mengambil direktori tertentu (cth organisasi) dan hak tertentu (cth membaca). Anda membenarkan membaca untuk peranan 1C. Dalam panel Sekatan Akses Data, anda menetapkan teks pertanyaan, yang mengembalikan BENAR atau SALAH bergantung pada tetapan. Tetapan biasanya disimpan dalam daftar maklumat (contohnya, daftar maklumat konfigurasi Accounting UserAccessRightsSettingsUsers).

Permintaan ini dilaksanakan secara dinamik (semasa cuba melaksanakan pembacaan), untuk setiap entri direktori. Oleh itu, untuk rekod yang pertanyaan keselamatan mengembalikan TRUE, pengguna akan melihatnya, tetapi yang lain tidak.
Hak 1C yang tertakluk kepada sekatan RLS 1C diserlahkan dalam warna kelabu.

Menyalin tetapan RLS 1C yang sama dilakukan menggunakan templat. Anda membuat templat, namakannya (contohnya) MyTemplate, nyatakan permintaan keselamatan di dalamnya. Seterusnya, dalam tetapan hak akses 1C, nyatakan nama templat seperti ini: "#MyTemplate".

Apabila pengguna bekerja dalam mod 1C Enterprise, apabila RLS 1C berjalan, dia mungkin menerima mesej ralat "Hak tidak mencukupi" (contohnya, untuk membaca direktori Xxx).

Ini bermakna RLS 1C menyekat bacaan beberapa rekod.

Untuk mengelakkan mesej sedemikian daripada muncul, anda perlu menggunakan perkataan DIBENARKAN () dalam teks permintaan dalam bahasa 1C terbina dalam.

Sebagai contoh:

Setiap pengurus akan bersetuju tanpa syarat bahawa setiap pekerja dalam perusahaan harus mempunyai akses hanya kepada maklumat yang berada dalam kecekapannya. Sebagai contoh, seorang penjaga stor di gudang tidak perlu melihat operasi yang dilakukan oleh pengarah kewangan atau ketua akauntan. Walau bagaimanapun, situasi yang agak halus sering timbul, sebagai contoh, apabila program 1C: Enterprise 8 digunakan bukan untuk satu, tetapi untuk beberapa perusahaan. Setiap daripada mereka mempunyai pekerja sendiri, yang sepatutnya mempunyai akses hanya kepada maklumat yang dibenarkan yang berkaitan dengan perusahaan mereka.

Dalam kes ini, pembantu yang ideal dalam memastikan hak akses yang diperlukan ialah teknologi Keselamatan Tahap Rekod(RLS) yang membolehkan anda menyediakan akses kepada maklumat di peringkat rekod.

Pertimbangkan contoh situasi tertentu. Syarikat kami terdiri daripada dua organisasi. Yang pertama berkaitan dengan penjualan perisian, yang kedua - latihan untuk bekerja dengannya. Untuk mengambil kira kedua-dua organisasi ini, kami menggunakan produk perisian 1C: Automasi Bersepadu 8.

Tugas kami adalah untuk membezakan hak akses kepada maklumat pekerja dua organisasi supaya pekerja yang mempunyai hak yang sama boleh melihat hanya apa yang dimiliki oleh organisasi tempat mereka bekerja.

Perkara pertama yang terlintas di fikiran semasa menetapkan tugasan ini ialah menyediakan pilihan untuk organisasi. Walau bagaimanapun, penyelesaian ini mempunyai dua kelemahan yang ketara:

  • pilihan perlu diselaraskan dalam semua bentuk program;
  • bagi pengguna yang lebih kurang bijak, ia tidak akan sukar sama sekali untuk mematikannya.

Cara paling pasti ialah mengehadkan akses pengguna di peringkat rekod. Bagaimana untuk melaksanakannya?

Perkara pertama yang perlu dilakukan ialah membolehkan program menggunakan kaedah ini. Untuk ini anda perlukan:

Dalam kes kami, adalah perlu untuk memperkenalkan sekatan akses untuk organisasi, tetapi jelas bahawa program ini menyediakan peluang yang lebih luas. Contohnya, untuk mengehadkan akses kepada direktori dan dokumen.

Mekanisme serupa dilaksanakan dalam penyelesaian aplikasi 1C yang lain:

  • (versi 10.3)
  • dan 1C: Gaji dan pengurusan kakitangan 8 (versi 2.5).

Dalam program ini, pembezaan hak akses dijalankan menggunakan buku rujukan "Kumpulan Pengguna", yang boleh didapati daripada menu "Alat", bahagian "Tetapan Akses Pengguna".

  • Oleh itu, dalam program ini, kami perlu membahagikan semua pengguna kami yang bekerja sebagai sebahagian daripada syarikat kepada kumpulan mengikut organisasi.
  • Kemudian klik butang "Tetapan Akses".
  • Dalam tetingkap yang muncul, klik butang "Tambah" dan masukkan objek akses (dalam situasi kami, ini adalah organisasi).
  • Jika kita perlu membenarkan pekerja organisasi memasukkan data ke dalam pangkalan data maklumat, maka kita perlu menyemak kotak dalam lajur "Rekod".

Langkah-langkah ini mesti diselesaikan untuk setiap organisasi. Selepas itu, selepas memasuki program, setiap pekerja akan melihat hanya dokumen yang ditakrifkan oleh hak aksesnya mengikut kedudukan dan berkaitan dengan organisasinya.



Kami mengesyorkan membaca

Atas