internet pencereler Android
Genişletmek

1C 8.3 Müşteride geçerli kullanıcıyı alın. Geçerli kullanıcının belirli bir rolünün olup olmadığını nasıl öğrenebilirim?

1C'deki parametreler: Şirket metadatın bir amacı olarak sunulmuştur. Temel olarak, mevcut oturuma bağlı bir küresel değişkenden başka bir şey değildir.

Küresel değişken, başkaları ile aynı değişkendir, ancak özelliği, programın herhangi bir noktasından sizinle iletişime geçmek mümkündür ve oturum parametresinin durumunda yalnızca geçerli oturum içinde çalışır.

Gibi Oturum parametresi Meta verilerin nesnesidir, belirli özelliklere sahip:

  • Belirli bir tür olabilir. İzin verilen türler platform tarafından belirlenir. Listesi oldukça geniş, ama olsa bile bu liste Size gerek yoktur, her zaman değeri seri hale getirebilir ve bir dize biçimindeki parametrede saklayabilirsiniz.
  • Bunun yanı sıra, meta verilerdeki diğer herhangi bir nesnenin yanı sıra rollerle sınırlı olabilir (hem kayıt hem de okuma). Bu durumda, RLS'de kullanırken bir özellik vardır, ancak aşağıda yazılacaktır.
  • Serileştirilmiş formda verilen veri miktarı üzerinde bir sınır vardır. Hacmi 4 GB'yi geçmemelidir.

Oturum parametresi türü ise:

  • Fixedmassiv
  • Sabit toplama
  • Sabit yapı

Sonra toplama öğesinin değeri olabilir Tanımsız.

Parametrelerin ana alanı, değerlerinin RLS sorgularındaki (kayıt sınırlama kayıtlarını) kullanımıdır.

Örneğin, geçerli kullanıcının durumunu RLS isteğinde ayarlamamız gerekir. Bunu yapmak için, yerleşik dilin kodundan "Geçerli Kullanıcı" oturum parametresini başlatırız, değeri ayarlayın:

Paramesanse. Ateer \u003d<значение>

Tablo. Kullanıcı \u003d ve mevcut kullanıcı

Bu oturum parametresinin bu kullanımı ile parametreyi okuma hakkı dikkate alınmaz, ancak değerlerini gömülü dilden almaya çalışabilirsiniz:

Geçerli kullanıcı \u003d parametreSansea. Aktüatör;


Oturum parametresini ayarlayın, yani değeri yalnızca yazılımdır ve yalnızca sunucuda. Bunu yapmak için, sunucu prosedürünü istemciden aramanız gerekir. Oturum parametresine erişirken (kurulum, makbuz), parametre başlatılmazsa, prosedüre neden olur Parametroversean kurulumu Oturum modülünde. Bu prosedürün bir parametresi var Gerekli parametreler - Kurulu oturum parametresi tanımlayıcıları dizisi. Parametroversean kurulumu İle bağlantı kurarken ayrıca bilgi tabanı Diğer tüm işleyicileri aramadan önce. Bu durumda Gerekli parametreler eşit olacak Tanımsız.

Ertelenmiş (tembel) başlatma işlemini, yani talep üzerine oturum parametrelerini başlatmak ve sistemin başında değil, sistem başladığında tüm oturum parametreleri gerekmez. Ertelenmiş başlatma aşağıdaki gibi yapılır:

ParametrovSeans'ların (Namesparemanevsa) montajı için prosedür, isim parametreleri belirsiz ise \u003d "Geçerli kullanıcı" adının adı, sonra durumun parametreleri. USEOR \u003d; Nameapameteter \u003d "Curganization", daha sonra kasanın parametreleri .Teneshorganization \u003d; // vb. Bitti; Bitti; Son Devam\u003e Değer \u003e\u003e

Oturum parametresi bir oturuma bağlandığından, başka bir oturum olacağı için arka planda çalışan yöntemden oturum parametresine atıfta bulunmak mümkün olmayacaktır. Bu nüans bir sürpriz olabilir, bu nedenle, istenen değeri bir yöntem parametresi olarak geçirerek ve işlemin başlangıcında oturum parametresini başlatarak önceden hazırlanmak daha iyidir.

Seçenekler 1C 8.3 Oturumlar- İstediğiniz parametrenin değerinin kullanıcı oturum süresi için saklandığı bir değişken. Aslında, bu, mevcut kullanıcı oturumuna bağlı bir tür küresel değişkendir.

1C'de oturum parametrelerini kullanın

Oturum parametreleri, yalnızca sistemdeki oturum parametrelerini ayarlamak için evrensel bir arayüz olarak, yalnızca programlı olarak belirtilir. Genellikle sistemin başlangıcında, "oturum modülünde" olarak ayarlanırlar. Parametre tanımlanmadıysa, iletişim kurarken bir hata neden olur.

Bir oturum parametresi 1C ayarının bir örneği

Geçerli kullanıcıyı yükleme - oturum parametrelerini kullanma tipik bir örneğini düşünün. Örnek için hazırlıktan alacağım.

Meta veriler ağacında, yeni bir oturum parametresi oluşturacağız - kullanıcı, buna tayin edeceğiz - linklerin dizinini atayacağız. Doktor:

Ücretsiz 1C için 267 video eğitimi alın:

Oturum modülünde, mevcut oturum parametresinin belirleneceği bir prosedür oluşturun:

Prosedür Kodu:

Kurulum prosedürüParmetrovonovsa (Gerekli parametreler) // Piz'i arıyoruz. yüz ismi Metin \u003d Referanslar. Fizyensiz. Temeli (isim kullanıcısı ()); // Bulunmadıysa - YENİ YAZIN Belge ise. Boş () sonra böylece \u003d referans kitapları. Fizyensiz. Oluştur öğe (); Mektup. İsim \u003d kullanıcı adı (); Mektup. Yazma (); Metin \u003d Mektup. Link; Bitti; // Kullanıcı bağlantısı için Oturum parametresini FOY. Directory Paramels. Geçerli kullanıcı \u003d kanal; Ekstrüdreler

5
Daha ince bir erişim yapılandırması gerektiğinde, RLS kayıt seviyesi güvenlik mekanizması kurtarmaya gelir. Sistemin konfigürasyonu "1C: Enterprise" 8, başlangıçta çok maddeli bir muhasebe için bir program olarak konumlandırıldı ve ... 3
1.0 sistem platformundan başlayarak, işletme, kullanıcı erişim haklarını giriş seviyesinde sınırlamak mümkündür. Bunun için RLS (Kayıt Seviyesi Güvenliği) mekanizması kullanılır. Böyle bir "ince" ayar olabilir ... 3
Genellikle, yazılım oluşturma ve kullanıcıların haklarının yapılandırılması ile ilgili soruları karşılamak. Bu yazıda, programsal olarak bir kullanıcıyı oluşturan düzenli ve yönetilen uygulamalara örnekler vereceğim ... 2
Soru: Yeni bir kullanıcı ekledim. Oluşturmak yeni arayüz (Var olanı kopyalama) ve bu arabirimi bu kullanıcı için ana olarak belirtin. Sorun şu ki, yeni arayüzün yarattığı ...

  • Cari Bültenler 1C.
  • 1C platformda kod örnekleri
Roller, 1C 8.x'teki erişim hakları
Mevcut kullanıcı için belirli bir rolün mevcut olup olmadığı nasıl öğrenilir?
Aramak Değilse ("Yönetici") Öyleyse bildirin ("Alıcılardan gelen uygulamaların izlenmesi izin verilmez!"); Bitti;
Yapılandırma rolleri hakkında bilgi nasıl alınır?
Frekans ve Yapılandırma Listesinin İşlevi () Listrs \u003d Yeni konaklama listesi; Rolconfiguration \u003d meta veriler. Rasps; Rulo yapılandırma çevrim listelerinden gelen her rol için. Addly (rol); Endcycle; Listeleri döndürür; Sonlandırma
Doğru kontrol etmeden kodu nasıl yürütür?
1. Bir ayrıcalıklı modül kullanın. 2. Kısıtlamaları izlemeden yapılması gereken bir program kodunu yerleştirme ortak modül Bayrak modülünün kurulumu ile imtiyazlı. Ayrıcalıklı program kodu yürütme modunu kullanın. Ayrıcalıklı modül kodunun benzer bir çalışma şekli. Mod, dahili dil araçlarına etkinleştirilebilir / devre dışı bırakılabilir: Vivineged (<Включить>) Parametre<Включить> (Zorunlu) Tür: Boolevo. Ayrıcalıklı modun etkinleştirilip etkinleştirileceğini belirler: Gerçek - Etkinleştir modu; Fale - modu kapatın. Ayrıcalık () işlevinin işlevi, ayrıcalıklı modun etkin olup olmadığını belirlemenizi sağlar. Ayrıcalıklı modun kullanılması, önce, veri erişimindeki kısıtlamalardan bu yana ve ikinci olarak, çalışmayı hızlandıran ve ikinci olarak, mevcut olmayan kullanıcıların yüzünden işlemleri yapmanızı sağlar. Ayrıcalık modu, hakları kontrol etmeniz gereken mantıksal bir bakış açısıyla veya işleri hızlandırmak için hak kontrolünü devre dışı bırakabileceğiniz zaman kullanılması önerilir. Belirli bir kullanıcıdan veri ile çalışırken ayrıcalıklı modun kullanması mümkündür. Bu kullanıcı için yüklü olan erişim haklarını ihlal etmemektedir.