Sitenin bölümleri
Editörün Seçimi:
- Eski Skype'ınızı nasıl geri alabilirsiniz - Skype'ı geri yükleyin Skype'ı sildim, nasıl geri yüklenir
- Ailem, Windows Phone: kurulum
- LG L90 Dual Firmware'e resmi bellenimi yükleme lg l90 dual d410'a
- Rosinterbank: kişisel hesabınıza giriş yapın
- Makale tanıtımı - site arama
- Beeline'ın “Kişisel Hesabına” giriş yapın: tüm yöntemler ve olasılıklar Kişisel hesabınıza nasıl giriş yapılır?
- TeamSpeak'te sunucu oluşturma prosedürü
- Acronis Disk Director Suite kullanılarak bir sabit sürücü nasıl düzgün şekilde bölümlenir? Acronis kullanarak disk bölümleme
- Süper sıfır MTS: tarife açıklaması
- Vakalar (bir çocuk ile bir yetişkin arasındaki etkileşim durumları) Pedagojik durumlar, sürüş vakasını öğretme yöntemleri
Reklam
Genel modüller 1s 8.3. Paylaşılan modüller oluşturma kuralları |
Platform modülleri 1C:Enterprise 8.3, 8.2Ortak modüllerBöyle bir modülde "dışa aktarma" bayrağıyla bildirilen işlevler, yapılandırmanın herhangi bir yerinden çağrılabilir. Çağrı CommonModuleName.FunctionName() aracılığıyla yapılır. Bu tür modüllerin değişken bölümü yoktur. Ortak modüllerin yürütülmesi, özelliklerindeki ayarlara bağlıdır: "Küresel" ile ilgili bayrakBu bayrak ayarlanırsa böyle bir modülün içeriği global hale gelir. Yani, dışa aktarma işlevlerine erişirken modül adını belirtmenize gerek yoktur. Ancak dışa aktarma işlevlerinin adlarının genel yapılandırma bağlamında benzersiz olması gerekir. Sunucu bayrağıBöyle bir modülün işlevleri sunucuda yürütülebilir. "İstemci (normal uygulama)" bayrağıBöyle bir modülün işlevleri istemcide normal uygulama modunda yürütülebilir. "İstemci (yönetilen uygulama)" bayrağıBöyle bir modülün işlevleri istemci üzerinde yönetilen uygulama modunda yürütülebilir. "Sunucu Çağrısı" bayrağıBayrak, "Sunucu" bayrağı ayarlanmış modüller için mevcuttur. İstemcinin bu modülün (sunucuda yürütülecek) dışa aktarma işlevlerini çağırmasına izin verir. Harici Katılma bayrağıBöyle bir modülün dışa aktarma işlevleri, harici bir kaynaktan bağlanırken çağrılabilir. "Ayrıcalıklı" ile ilgili bayrakBu bayrağa sahip bir modülde hak kontrolü devre dışı bırakılacaktır. Verimlilik veya idari faaliyetler için uygundur. Yeniden kullanma seçeneğiEtkinleştirirseniz bu parametre, daha sonra dışa aktarma işlevlerinin dönüş değerleri ilk çağrıdan hemen sonra önbelleğe alınacaktır. Önbelleğe alma, çağrı süresince (belirli bir prosedürün yürütülme süresi) veya kullanıcı oturumu süresince mümkündür. Uygulama modülüUygulama başlatma ve sonlandırma olaylarını yönetmek için tasarlanmıştır. İki türü vardır: normal ve yönetilen uygulamalar için. Uygulama başlatma süresini etkileyeceği için aşırı yüklememelisiniz. Oturum modülüOturum parametrelerini başlatmak için kullanılan özel bir modül. Çeşitli uygulama modüllerinde kodun kopyalanmaması için gereklidir. Modül birkaç kez çalıştırılabildiğinden ve veritabanını daha fazla başlatmadan da çalıştırılabildiğinden dikkatli kullanılmalıdır. Uygulama modüllerinden önce yürütülür. Saygılarımla (öğretmen ve geliştirici). Merhaba. 1C uygulama modülü esas olarak uygulamanın başlatıldığı ve kapandığı anı yakalamayı amaçlamaktadır. Yönetilen uygulama modülü olayları, yönetilen bir uygulamanın İnce İstemcisi, Web İstemcisi ve Kalın İstemcisi başlatıldığında tetiklenir. Yönetilen uygulama modülü şunları içerir: ( tuşuna basılarak çağrılabilecek işleyicilerin listesine bakalım. Ctrl+Alt+P). Sözdizimi asistanına bir göz atın ve yönetilen ve düzenli uygulama etkinlikleri hakkında daha fazla bilgi edinin. Uygulama modülü her zaman tamamen istemci tarafında derlenir. Onlar. buradan ortak modüllerin sunucu prosedürlerine ve işlevlerine erişebiliriz ve belgeler, dizinler gibi yapılandırma nesnelerine erişemeyeceğiz. Düzenli Başvuru ModülüNormal uygulama modülü, yönetilen uygulama modülüyle aynı yerde görülebilir, ancak görünmüyorsa, "Genel" sekmesindeki yapılandırıcı parametrelerinde "Yönetilen" için "Başlatma modları için yapılandırmayı düzenle" seçeneğini seçin. uygulama ve normal uygulama” konumu. Normal uygulamanın kalın istemcisi başlatıldığında normal uygulama modülü olayları tetiklenir. Öncesi... ve Sırasındaki Olaylar.... Sistem Çalışmasına Başlamadan Önce (Arıza) ve Sistem Çalışmasına Başlarken () prosedürleri arasındaki farklar Sistem Çalışmaya Başlamadan Önce (Reddet) - Eylem henüz tamamlanmadı ve gerçekleştirmeyi reddedebiliriz. Hepsi bu, ilginiz için teşekkür ederiz. Lütfen yorumlarınızı bırakın, görüşleriniz benim için önemli. Koruma: Sağlık sertifikalarının 10 dakikada kaydedilmesi. Devlet Trafik Güvenliği Müfettişliği'nden sertifika almak için birkaç gün harcamanız gerekir, ancak lisans için sertifika satın alma seçeneği de vardır. Bir sertifika teslim etmek ve ayrıca lisansların bir kopyasını da eklemek mümkündür Not: Ve Jamala'yı seviyorum – Sen Aşktan Yaratılmışsın
Esas olarak uygulamanın başladığı ve kapandığı anı yakalamak için tasarlanmıştır. Burada ayrıca ekipmandan harici bir olayı yakalamanıza izin veren işleyiciler de vardır. Yönetilen uygulama modülünde izlenen, sistemin etkileşimli başlatılmasıdır. Yönetilen uygulama modülü etkinlikleri başlangıçta tetiklenir zayıf müşteri, Web İstemcisi ve Yönetilen Uygulama Kalın İstemcisi. Kontrol modülünde uygulamalara kök yapılandırma düğümünün özellikler paletinden veya içerik menüsü kök yapılandırma düğümünde çağrılır. Düzenli Başvuru Modülü Normal uygulama modülü, yönetilen uygulama modülüyle aynı rolü oynar; normal uygulamanın kalın istemcisi başlatıldığında yalnızca normal uygulama modülünün olayları tetiklenir. Normal uygulama modülü, "Genel" sekmesindeki yapılandırıcı parametrelerindeki "Başlatma modları için yapılandırmayı düzenle" seçeneğini "Yönetilen uygulama ve normal" olarak ayarladıktan sonra kök yapılandırma düğümünün özellikler paletinden kullanılabilir hale gelecektir. Harici bağlantı modülü Harici bağlantı modülü, oturum açma olayını (etkileşimli değil, COM bağlantı modunda) ve oturumu kapatmayı yönetmek üzere tasarlanmıştır. İlgili işleyiciler var. COM bağlantısıyla etkileşimli bir pencere açılmaz, dolayısıyla kullanıcıyla diyalog işlevleri çalışmaz. Modülde dışa aktarma değişkenlerini ve yöntemlerini tanımlamak mümkündür. Harici bağlantı modülü sunucuda derlenir. Onlar. dizinler gibi ilgili yapılandırma nesnelerine erişmek mümkündür. Oturum modülü “Oturum Parametreleri” diye genel bir yapılandırma nesnesi vardır. Oturum modülü, oturum parametrelerini başlatmak için oluşturulur (bunun için özel bir olay vardır; uygulama başladığında ilk önce kendisi başlar). Ayrıcalıklı modda çalışır (veritabanına erişilirken erişim hakları kontrol edilmez). Oturum modülü sunucuda derlenir. Değişkenleri açıklayan bir bölüm yoktur ve ana programa yönelik bir bölüm açıklanamaz; yalnızca oturum parametrelerini ayarlamak için kullanılır. Gördüğünüz gibi oturum modülünün çok dar bir amacı var. Ortak modüller Ortak modüller bazı ortak algoritmaları tanımlar ve çeşitli yerlerden çağrılabilecek işlevleri içerir. Ortak modüller hem istemcide hem de sunucuda derlenebilir. Genel modüllerde YALNIZCA prosedürleri ve fonksiyonları açıklayan bölüm mevcuttur. Genel bir değişken kullanmanız gerekiyorsa, oturum parametrelerini veya yönetilen uygulama modülünün dışa aktarma değişkenini kullanabilirsiniz. Genel modülde davranışını etkileyecek bazı parametreleri ayarlayabilirsiniz. Genel modülde “Global” onay kutusu işaretlenirse, dışa aktarma işlevleri küresel bağlamın oluşumuna katılacaktır. Ve bunlara doğrudan başka bir bağlamdan erişilebilir (ortak modülün adını belirtmeden): CommonModuleMethod(); Ortak modüllerin “Global” özelliğini her yerde kullanmamalısınız çünkü bu tür modüller sistem başlangıcında derlenir ve programın başlatılmasını yavaşlatır Nesne modülü Birçok yapılandırma nesnesinin (dizinler, belgeler vb.) bir nesne modülü vardır. Yeni bir dizin öğesi oluşturma, yeni bir nesneyi kaydetme, silme, bir belge gönderimini işleme koyma vb. gibi standart olayları buna girebilirsiniz. Kayıt olayı hem form modülünde (etkileşimli kayıt işlemi sırasında kullanıcı "kaydet" düğmesine tıkladığında gerçekleşir) hem de nesne modülünde bulunur. Bir nesnenin birden fazla forma sahip olabileceği unutulmamalıdır. Bu nedenle kayıt olayının nesne modülünde işlenmesi gerekir. Kaydedilen verilerin doğruluğunun kontrol edildiği yer burasıdır. Nesne modülü özellikler paletinden çağrılabilir bu nesnenin veya bağlam menüsünden. Nesne modülünün yapısı form modülünden farklı değildir. Nesne modülü sunucuda derlendiğinden herhangi bir derleme yönergesine gerek yoktur. Form modülü Form modülü, kullanıcı eylemlerini (düğmeye tıklama olayını işleme vb.) işlemek için tasarlanmıştır. Doğrudan formun kendisiyle ilişkili olaylar da vardır (örneğin, açılması, kapanması olayı). Yönetilen ve normal form modülleri, öncelikle yönetilen form modülünün bağlama göre net bir şekilde ayrılması bakımından farklılık gösterir. Her prosedürün bir derleme yönergesi olması gerekir. Normal biçimde, tüm kod istemcide yürütülür. Yönetilen bir formun yapısı, değişkenleri tanımlamak için bir bölüm, prosedürler ve işlevler için bir bölüm ve ana program için bir bölüm (form başlatıldığında çalıştırılır) içerir. Standart form olaylarına prosedürler ve işlevler listesinden (Ctrl+Alt+P) veya formun özellikler paletinden erişebiliriz. Ayrıca yönetilebilir bir biçimdeöğe kaydetme olayını işleyebilirsiniz (bu olay yalnızca nesneler için mevcuttur: dizinler, belgeler). Nesne yöneticisi modülü Yönetici modülü yalnızca 1C 8.2'de göründü; birçok yapılandırma nesnesinde mevcuttur. Nesne yöneticisi modülünün temel amacı, "Seçim Verilerinin Alınması İşleme" standart olayını geçersiz kılmaktır ve bu olayda ayrıca şunları da yapabiliriz: Değer yöneticisi modülü Sabit konfigürasyon nesnesinin bir nesne modülü yoktur, ancak çok benzer bir modül vardır - değer yöneticisi modülü. Sabit değer yöneticisi modülünde, çeşitli prosedürleri (dışa aktarma prosedürleri dahil) tanımlayabilir ve 3 olayı işleyebilirsiniz: BeforeWrite, OnWrite, ProcessingFillCheck. Bu modül sunucuda derlenmiştir. Kayıt kümesi modülleri Kayıt kümesi modülü nesne modülüne benzer ve kayıtların doğasında bulunur. Kayıt kümesi modülünde standart olaylar vardır:
Kayıt kümesi modülünde değişkenlerin, prosedürlerin ve işlevlerin (dışa aktarma dahil) açıklamaları için bir bölüm, ana program için bir bölüm vardır. 1.1. Bazı özelliklere göre birleştirilmiş prosedür ve fonksiyonların uygulanmasına yönelik ortak modüller oluşturulur. Kural olarak, bir konfigürasyon alt sisteminin (satış, satın alma) prosedürleri ve işlevleri veya benzerinin prosedürleri ve işlevleri tek bir ortak modüle yerleştirilir. işlevsel amaç(dizelerle çalışma, genel amaçlı). 1.2. Paylaşılan modüller geliştirirken dört kod yürütme bağlamından birini seçmelisiniz:
2.1. Sunucu ortak modülleri istemci kodundan kullanılamayan sunucu prosedürlerini ve işlevlerini barındırmak için tasarlanmıştır. Uygulamanın tüm dahili sunucu iş mantığını uygularlar.
Bu durumda, değişken türlerdeki parametrelerle sunucu prosedürlerini ve işlevlerini çağırma yeteneği garanti edilir (örneğin, DizinNesnesi, BelgeNesnesi ve benzeri.). Tipik olarak bu:
Sunucu ortak modülleri şu şekilde adlandırılır: Genel kurallar meta veri nesnelerinin adlandırılması. Bazı durumlarda, genel bağlam özellikleriyle ad çakışmalarını önlemek için bir sonek eklenebilir "Sunucu". 2.2. İstemciden çağrı yapmak için sunucu ortak modülleri istemci kodundan kullanılabilecek sunucu prosedürlerini ve işlevlerini içerir. Uygulama sunucusunun istemci programlama arayüzünü oluştururlar.
İstemciden çağrı yapmaya yönelik sunucu tarafı ortak modülleri, meta veri nesnelerinin adlandırılmasına ilişkin genel kurallara göre adlandırılır ve bir sonek ile adlandırılmalıdır. "Çağrı Sunucusu". Bu tür paylaşılan modüllerdeki dışa aktarma prosedürlerinin ve işlevlerinin, değiştirilebilir türde parametreler içermemesi gerektiğini lütfen unutmayın ( DizinNesnesi, BelgeNesnesi vb.), çünkü bunların müşteri kodundan (veya müşteri koduna) aktarılması imkansızdır.
2.3. Müşteri Ortak Modülleri istemci iş mantığını içerir (yalnızca istemci için tanımlanan işlevsellik) ve aşağıdaki özelliklere sahiptir:
Bunun istisnası, istemci prosedürlerinin ve işlevlerinin yalnızca yönetilen uygulama modunda (yalnızca normal uygulama modunda veya yalnızca harici bağlantı modunda) kullanılabilir olması gerektiği durumdur. Bu gibi durumlarda bu iki özelliğin başka bir kombinasyonu kabul edilebilir. İstemci ortak modülleri bir sonekle adlandırılır "Müşteri".
2.4. Bazı durumlarda, içeriği hem sunucuda hem de istemcide aynı olan, prosedür ve işlevlere sahip istemci-sunucu ortak modüllerinin oluşturulmasına izin verilir. Bu tür prosedürler ve işlevler aşağıdaki özelliklere sahip ortak modüllere yerleştirilmiştir:
Bu türdeki ortak modüller sonekle adlandırılır "Müşteri sunucusu". Genel olarak hem sunucu hem de istemci (yönetilen uygulama) için ortak modüllerin tanımlanması önerilmez. İstemci ve sunucu için tanımlanan işlevlerin farklı ortak modüllerde uygulanması önerilir - paragraflara bakın. 2.1 ve 2.3. İstemci ve sunucu iş mantığının bu açık şekilde ayrılması, uygulama çözümünün modülerliğinin artırılması, istemci-sunucu etkileşimi üzerindeki geliştirici kontrolünün basitleştirilmesi ve istemci ve sunucunun geliştirilmesine yönelik gereksinimlerdeki temel farklılıklar nedeniyle hata riskinin azaltılması hususları tarafından belirlenir. kod (istemcide yürütülen kodu en aza indirme ihtiyacı, nesnelerin farklı kullanılabilirliği ve platform türleri vb.). Bu durumda konfigürasyondaki ortak modül sayısında kaçınılmaz artışı göz önünde bulundurmanız gerekir. Karma istemci-sunucu modüllerinin özel bir durumu, sunucu ve istemci iş mantığını tek bir modülde uygulamak için özel olarak tasarlanmış form ve komut modülleridir. 3.1. Ortak modül adlarının, meta veri nesnelerinin adlandırılmasına ilişkin genel kurallara uyması önerilir. Genel modülün adı, uyguladığı prosedürler ve işlevlerle alt sistemin veya ayrı mekanizmanın adıyla eşleşmelidir. Ortak modüllerin adlarında “Prosedürler”, “Fonksiyonlar”, “İşleyiciler”, “Modül”, “İşlevsellik” vb. genel kelimelerden kaçınılması önerilir. ve bunları yalnızca modülün amacını daha iyi ortaya koydukları istisnai durumlarda kullanın. Farklı bağlamlarda gerçekleştirilen prosedür ve işlevleri uygulamak için oluşturulan bir alt sistemin ortak modüllerini birbirinden ayırmak için, bunlara paragraflarda daha önce açıklanan son eklerin verilmesi önerilir. 2.1-2.4. Ortak modüller, 1C sistemindeki diğer yerlerden çağrılan prosedürlerin ve işlevlerin depolanmasından sorumludur. Bir prosedürde birden çok kez çağrılan kodun ortak bir modüle yerleştirilmesi iyi bir uygulama olarak kabul edilir. Bu kural tüm konfigürasyonlar için evrenseldir, dolayısıyla herhangi bir 1C geliştiricisinin bu konfigürasyon nesneleriyle çalışabilmesi gerekir. Bunu yapmak için tüm nüansları anlamanız ve platformun sağladığı fırsatları doğru şekilde kullanabilmeniz gerekir. 1C'de ortak bir modül oluşturmaNesnenin modüllerinden birinde fonksiyon oluşturduktan sonra benzer bir algoritmayı başka bir yerde kullanma ihtiyacı doğdu. Burada yapılacak en iyi şey kodu ortak bir modüle aktarmaktır ancak ondan önce onu oluşturmanız gerekir. Bunu yapmak için yapılandırıcıya gitmemiz ve yapılandırma ağacında "Genel" sekmesini bulmamız gerekiyor. Daha sonra “Genel Modüller”i seçin ve yeşil dairenin üzerindeki beyaz artı şeklindeki butonu kullanın. Eklenen ortak modülün özellikleri sağ tarafta açılacak ve her birinin ne anlama geldiğini bulmamız gerekiyor. Bu nedenle kurulumdan önce farklı yönlerde olabilirler. yeni nesne, orada ne saklayacağımıza karar vermeniz tavsiye edilir. Öyle olsa bile, gelecekte özellikleri görevlere göre değiştirmek mümkün olacak:
![]() Algoritma farklılıkları olan sunucu ve istemcide prosedür çağrıları ile ortak bir modül oluşturmanız gereken durumlar vardır. Kodu sınırlamak için kontrollü önişlemci direktifleri kullanılır. Sonuç olarak, sunucu çağrısı için bir kod, istemci çağrısı için başka bir kod olacaktır. Kodu ortak bir 1C modülüne aktarma örneğiBelge formunda, tablo bölümünde miktar ve fiyatın çarpılmasına yönelik bir prosedür içeren iki olayın olduğu bir durumu ele alalım. Bu, birçok tedarik ve satış belgesinde bulunduğu için oldukça yaygın bir algoritmadır. Bu kodun diğer dokümanlarda kullanılabilmesi için öncelikle oluşturulması gereken prosedür kodunu ortak bir modüle aktaralım. &OnClient Prosedür ÜrünleriPriceOnChange(Element) RecalculateAmount(); Prosedür Sonu &OnClient Prosedürü ProductsQuantityOnChange(Element) RecalculateAmount(); Prosedürün Sonu &İstemcide Prosedür Tutarları Yeniden Hesapla() String PM = Elements.Products.CurrentData; Satır PM.Tutar = Satır PM.Adedi * Satır PM.Fiyat; Prosedürün SonuGörevimiz için yalnızca istemciden gelen bir çağrıya ihtiyacımız olduğundan ve veritabanından veriye ihtiyacımız olmadığından yalnızca “İstemci” bayrağını ayarladık. Gelecekte aynı modülü daha karmaşık hesaplamalar için kullanmak istiyorsanız özelliklerde “Sunucu” seçeneğini işaretleyin. Hazırlık aşaması tamamlandı ve kod yazmaya geçebiliriz. Modülde bir ihracat prosedürü oluşturalım ve form modülündeki prosedürden tutarı hesaplamak için algoritmayı oraya aktaralım. Tablo bölümü dizesi girişte prosedür parametresi olarak kullanılacaktır. Belge formu modülünde aynı modüldeki prosedür çağrılarını genel modüldeki prosedür çağrısına dönüştürüyoruz. Parça 1 &İstemcide Prosedür ProductsPriceWhenChanged(Element) //ColculationsInSystem.CalculateRow(Elements.Products.CurrentData) genel modülünden prosedür çağrılıyor; //Miktarın Yeniden Hesaplanması(); Prosedürün Sonu &İstemcide Prosedür ProductsQuantityWhenChanging(Element) //ColculationsInSystem.CalculateRow(Elements.Products.CurrentData) genel modülünden prosedürün çağrılması; //Miktarın Yeniden Hesaplanması(); Prosedürün Sonu &İstemcide Prosedür Tutarları Yeniden Hesapla() String PM = Elements.Products.CurrentData; Satır PM.Tutar = Satır PM.Adedi * Satır PM.Fiyat; Prosedürün SonuParça 2 Sistem başladığında farkı fark etmeyeceğiz ancak bu kod yapısının okunması ve bakımı çok daha uygundur. Tabii ki bu örnekte Kod miktarı tam faydayı göstermeyebilir. Onlarca konfigürasyon nesnesi için karmaşık bir algoritma kullanılması durumunda, kod miktarında ve yapısında meydana gelen kazanç, sistemin hızını da etkileyecektir. Ek olarak, deneyimli 1C geliştiricileri, algoritmaları form modüllerinde tanımlamamayı, bunları doğru yapılandırılmış genel modüllere yerleştirmeyi önerir. Genel modüller geliştirirken, bunların oluşturulmasına ilişkin genel kabul görmüş kuralları dikkate almalısınız:
Doğru şekilde oluşturulmuş modüller, konfigürasyon yapısında gezinmenize ve iyileştirmeleri çok daha hızlı yapmanıza yardımcı olacaktır. Eğer bunu yapmak için bir fırsat görürsen faydalı fonksiyon evrensel ve ortak bir modüle koyun, sonra yapın. Gelecekte siz ve meslektaşlarınız bu karardan dolayı minnettar olacaksınız. |
Popüler:
Yeni
- Ailem, Windows Phone: kurulum
- LG L90 Dual Firmware'e resmi bellenimi yükleme lg l90 dual d410'a
- Rosinterbank: kişisel hesabınıza giriş yapın
- Makale tanıtımı - site arama
- Beeline'ın “Kişisel Hesabına” giriş yapın: tüm yöntemler ve olasılıklar Kişisel hesabınıza nasıl giriş yapılır?
- TeamSpeak'te sunucu oluşturma prosedürü
- Acronis Disk Director Suite kullanılarak bir sabit sürücü nasıl düzgün şekilde bölümlenir? Acronis kullanarak disk bölümleme
- Süper sıfır MTS: tarife açıklaması
- Vakalar (bir çocuk ile bir yetişkin arasındaki etkileşim durumları) Pedagojik durumlar, sürüş vakasını öğretme yöntemleri
- Cihazınıza virüs bulaşırsa ne yapmalısınız?