internet pencereler Android

Hızlı bir şekilde. Alt dizinler

Herhangi bir 1C konfigürasyonunun temel unsurlarından biri dizinlerdir. 1C uygulamasının diğer nesnelerinin çoğunda kullanılan bilgileri depolarlar. Bu nedenle, 1C platformunda herhangi bir sistem geliştirirken veya yükseltirken, önce yeni dizinler eklenir ve doldurulur. Her 1C geliştiricisi, bu yapılandırma nesnelerinin temel özelliklerini, işlevlerini ve yeteneklerini bilmelidir.

1C 8.3'teki dizinlerin yapısı ve işlevleri

Dizinlerin ana işlevi, referans bilgilerini depolamak ve sağlamaktır. 1C sistemlerinde muhasebe, dizinler bağlamında gerçekleştirilir: İsimlendirme, Müşteriler ve diğerleri.

Geliştiriciler, ayrı bir dizin türü olan sınıflandırıcıları ayırt eder. Bunlar, örneğin devlet tarafından onaylanan bilgileri içerir:

  • Birimler;
  • para birimleri;
  • Dünya ülkeleri;
  • meslekler

Yapılarına göre, 1C programındaki dizinler belirli verilerin listeleridir. 1C konfigürasyonundaki mevcut dizinleri tanımak için, onu konfigüratör modunda girmeniz gerekir. Konfigüratör ağacında "Referanslar" dalını bulun ve genişletin.

Dizinlerin her birinin geliştiriciler tarafından belirlenen kendi özellikleri vardır. "Para Birimleri" referans kitabı örneğindeki ana özellikleri göz önünde bulundurun.

"Temel" sekmesi, dizinin adı ve açıklaması hakkında bilgi içerir. Bir sonraki "Alt Sistemler" bölümü, dizini belirli bir alt sisteme dahil etmekten sorumludur.


"İşlevsel seçenekler" sekmesi, aramayı kullanarak işlevselliği tanımlar. "Hiyerarşi" sekmesi, iç içe dizin öğeleri oluşturmanıza olanak tanır. Hiyerarşik dizin türleri son derece yararlı olabilir.


"Sahipler" sekmesinde, tabi olma mekanizması yapılandırılır. Dizin başka birine bağlıysa, sahne "Sahip" i doldurmak zorunludur.

"Veri" sekmesinde 1C dizinine hangi bilgileri ekleyebileceğiniz belirlenir. En üstte, kod ve ad yapılandırılır - standart ayrıntılardan biri, merkezde - eklenen ayrıntıların bir listesi. Altta dizinin tablo bölümlerini görürsünüz.


1C'deki yapılandırma nesnesinin numaralandırma ayarları, dizinin öğeleri için benzersiz bir numaralandırma oluşturmanıza olanak tanır.


Formlar sekmesinde geliştiriciler, kullanıcıların görebileceği arabirimler oluşturur. En yaygın biçimler Öğe ve Liste'dir: kullanıcılar 1C programında dizin verilerinin ve öğelerinin listesini bu şekilde görür.


"Giriş alanı" sekmesinde parametrelerin uygun şekilde ayarlanması, kullanıcılar için en uygun çalışma koşullarını yaratacaktır. Hızlı Seç/Dizeye Göre Gir/Tam Metin Arama seçenekleri, aradığınız öğeyi bulmanıza yardımcı olacaktır. "Yazarken geçmiş seçimi" önceden kullanılan konumları kaydeder.


"Komutlar" bölümü, bu dizini çağıran mevcut düğmelerin bir listesini gösterir. "Yerleşimler"de, belirli bir yapılandırma nesnesinin tüm yazdırılabilirlerini bulabilirsiniz. "Giriş tabanlı", diğer yapılandırma nesnelerinin dizin öğesine dayalı olarak oluşturulmasının planlandığı durumlarda geliştirici tarafından etkilenecektir.


"İzinler" alt bölümü, dizinleri doldurma, düzenleme ve okuma dahil olmak üzere dizine erişimi içeren roller hakkında bilgileri yansıtır. "Veri Değişimi", dizinin hangi değişim planlarına katıldığını size söyleyecektir. Son sekme, prosedürler ve işlevler yazmak için modüllere gitme yeteneğini içerir. Ayrıca doğrudan kodda erişilebilen önceden tanımlanmış sözlük değerlerinin bir listesi de bulunmaktadır.


Tüm özellikler gerekli değildir. 1C platformundaki yazılımın ömrü boyunca bazı sekmelere dokunulmaz.

1C'de dizin oluşturmayı kolaylaştırmak için, bu türde yeni bir yapılandırma nesnesi oluşturalım.

1C 8.3'e bir dizin oluşturma ve aktarma

Standart olmayan bir yapılandırma örneği kullanarak, işletmenin yapısı hakkında veri depolayacak olan "Alt Bölümler" dizinini oluşturup kullanmaya başlayacağız. Konfigüratörde, konfigürasyon ağacında "Referanslar"ı bulun ve "Ekle" düğmesini tıklayın. Alanları doldurun:

  • İsim/Eş anlamlı. İlk öznitelik, yapılandırmadaki nesnenin adından, ikincisi - kurumsal moddaki addan sorumludur;
  • Nesne gösterimi, dizinin bir elemanını açarken kullanılır;
  • Liste görünümü, referans verilerinin bir listesini görüntülerken kullanılır;
  • Açıklama - kullanıcılar için yardım.


Daha sonra, kullanıcıların onu arayüzde görebilmesini istiyorsak, alt sistemlerden birine yeni bir dizin eklememiz gerekiyor. "Alt Sistemler" sekmesini açın ve mevcut "Genel" alt sistemin yanındaki kutuyu işaretleyin.


Bölümler birbirine dahil edilebildiğinden yeni dizinimiz hiyerarşik olacaktır. İşletmemizde departman grupları planlanmadığından "Öğelerin hiyerarşisi" tipi seçilmiştir. Aynı zamanda, alt bölümlerin iç içe yerleştirilmesini sınırlamayacağız.


Standart sete ek olarak, çalışan listesi için birkaç ayrıntıya ve tablo şeklinde bir bölüme ihtiyacımız var. Bunun için ilgili bölümlerdeki "Veri" sekmesine eklemeniz gerekir.


Kolaylık sağlamak için, ayrıntılarımızı liste formuna eklemeniz gerekir. Bunu yapmak için, "Formlar" sekmesinde yeni bir liste formu oluşturun ve onu ana form olarak ayarlayın. İletişim kutusunda, ihtiyacımız olan tüm ayrıntılar için kutuları işaretleyin. Ayrıntıları kullanıcılarımıza uygun şekilde düzenlemek için öğenin formunu da ayarlayacağız.


Bu, "Alt Bölümler" tanıtım dizininin oluşturulmasını tamamlar. Konfigürasyonu güncelliyoruz ve sistemi kurumsal modda yeniden başlatıyoruz. "Genel" alt sisteminde "Bölümlerin listesi" fonksiyon tuşu belirdi. Üzerine tıklamak, belirlediğimiz dizin listesi formunu, ona eleman ekleme yeteneği ile açar.


Birçok şirket birkaç 1C veritabanıyla çalışır, bu nedenle geliştirici oluşturulan dizini başka bir veritabanına aktarmakla karşı karşıya kalabilir. Bunu yapmak için çoğu konfigürasyonla birlikte harici bir işlem sağlanır - "XML verilerinin yüklenmesi ve yüklenmesi". Ancak 1C 8.3 dizinlerini aktarmadan önce alıcı yapılandırmasını hazırlamak gerekir. İçinde aynı alanlara ve tablo bölümlerine sahip benzer bir yapılandırma nesnesi oluşturulmalıdır.

Bu işlemi açarken hangi nesneleri aktarmak istediğimizi belirtmemiz ve bir dosya seçmemiz gerekiyor. Ardından, başlatılan dizin boşaltma işlemi, tüm verileri yazdığı bir XML dosyası oluşturur.


Dizinleri başka bir bilgi tabanına yüklemek için, içine girmeniz ve aynı harici işlemi açmanız gerekir. İkinci sekmede indirmeyi başlatın. Bu manuel bir mekanizmadır, bu nedenle dizinin yeni öğelerini bir veritabanına düzenli olarak girmeyi planlıyorsanız, veritabanları arasında bir değişim düzenlemek daha iyidir.

Sonuç olarak, sistem devreye alındıktan sonra 1C 8.3'te dizinlerin oluşturulmasının, veritabanına özel erişim ihtiyacı nedeniyle sorunlara neden olacağını hatırlatmak isterim. Sunucudaki yapılandırmayı güncellemek en güvenlisidir.

1C dizinleri, referans niteliğindeki statik bilgileri depolamak için kullanılan meta veri ağacının özel bir nesnesidir. Örneğin, tipik konfigürasyonlarda şu görünümleri görebilirsiniz: , İsimlendirme, Çalışanlar, Sabit kıymetler, vb. Dizinlerdeki bilgiler, kural olarak, genellikle değişmez. Referans kitapları ayrıca neredeyse tüm muhasebe nesnelerinde bir muhasebe bölümü veya referans bilgisi olarak kullanılmaktadır.

Aşağıda, örnek olarak “Nomenklatür” referans kitabını kullanarak konfigüratörden bir referans kitabı oluşturmayı ve tasarlamayı ele alacağız.

Genel sekmesi

"Temel" sekmesi, nesnelerin adını, eşanlamlısını, temsilini, amacın tanımını gösterir.

Dizin Hiyerarşisi sekmesi

Burada dizin hiyerarşisi ayarlanır.

1C 8.3'teki hiyerarşi iki türdendir - " gruplar ve öğeler" ve " elementler". İlk durumda, yalnızca bir klasörün (grup) bir üst öğe (klasör) olabilmesi ve ikinci durumda bir öğenin bir üst öğe olabilmesi bakımından farklılık gösterir.

"Grupları en üste yerleştir" - bayrak, grupları bir liste şeklinde görüntülemekten sorumludur.

Ayrıca ayarlarda, dizin hiyerarşisindeki grup sayısını ilgili ayarla sınırlayabilirsiniz.

Sahipler sekmesi

Bir dizin başka bir dizine bağlı olabilir. 1C 8.3'ün yapılandırılması açısından bu, "Sahip" niteliğinin alt öğe için zorunlu hale geldiği anlamına gelir. "Adlandırma - Ölçü Birimleri", "Yükleniciler-Yüklenici Sözleşmeleri" tipik konfigürasyonlarında böyle bir dizin bağlantısına bir örnek.

Dizin sahibi aşağıdaki meta veri nesneleri de olabilir: , .

Veri sekmesi

267 1C video derslerini ücretsiz alın:

Bir programcının bakış açısından en önemli sekme. Dizinin ayrıntılarını içerir.

Dizin, 1C 8.2 programcısı tarafından düzenlenmeyen bir dizi standart ayrıntıya sahiptir, bunların bir listesi "Standart ayrıntılar" düğmesine tıklanarak görülebilir:

Her biri üzerinde daha ayrıntılı olarak duracağım:

  • Bu grup— boole tipinde öznitelik, bunun bir grup mu yoksa bir öğe mi olduğunu gösterir. Yalnızca hiyerarşik dizinde kullanılabilir. Not, bu özelliğin değeri 1C: Enterprise modunda değiştirilemez.
  • kod- nitelik, tür numarası veya dize (genellikle dize). Sistem tarafından otomatik olarak atanan bir numara. Tipik olarak (önceki kod + 1) olarak hesaplanır. Sayısal değerlerin sıralanması gerektiği gibi çalışmadığı için dize türünü kullanmanızı öneririm. Listede ve giriş alanlarında arama görünümü olarak kullanılabilir. Genellikle bir dize yazarken bir öğeyi aramak için kullanılır. Kod alanını kaldırmanız gerekirse, dize uzunluğunda sıfır belirtin.
  • İsim— doldurulması gereken nitelik, dize türü. Maksimum satır uzunluğu 150 karakterdir. Listede ve giriş alanlarında arama görünümü olarak kullanılabilir. Genellikle bir dize yazarken bir öğeyi aramak için kullanılır. Ad alanını kaldırmanız gerekirse, dize uzunluğunda sıfır belirtin.
  • ebeveyn— ReferenceReference türünün bir niteliği.<ИмяТекущегоСправочника>. Yalnızca hiyerarşik dizinde kullanılabilir. Hiyerarşideki en yüksek ebeveyne işaret eder. Öğe veya Grup dizin kökündeyse, Dizin değeri belirtilir.<ИмяТекущегоСправочника>.BoşReferans.
  • Sahip— dizinin mevcut elemanının (grubunun) eleman sahibine bağlantı. Mevcut sadece alt dizinde 1C.
  • Bayrak Kaldırma- boole tipinde aksesuarlar. Sistemde "silme işaretinin" görüntülenmesinden sorumludur. Silinmek üzere işaretlenmiş bir öğe kullanılamaz olarak kabul edilir, ancak belgelerdeki eski hareketler üzerinde kalabilir.
  • Bağlantı— dize türü alanı. Bu öznitelik, benzersiz bir nesne tanımlayıcısı saklar - GUID. Sistemde "link" adı verilen görsel bir gösterimde gördüğümüz şey sadece nesnenin bir temsilidir. Değiştirilemez.
  • önceden tanımlanmış- boolean türü, öğenin önceden tanımlanıp tanımlanmadığını görüntüler, daha sonra bu konu hakkında daha fazla bilgi verilecektir. Değiştirilemez.

"Veri" sekmesi ayrıca dizinin sistemdeki temsilini de gösterir; 8.2.16 sürümünden önce gösterim yalnızca bir Kod veya Ad olabilir. Platformun son sürümlerinde (8.3'ten başlayarak), görünüm "ProcessingViewReceivingProcessing" işleyicisi kullanılarak yönetici modülünde bağımsız olarak tanımlanabilir.

Numaralandırma sekmesi

Burada referans için ayarları numaralandırma açısından belirtebilirsiniz. Otomatik numaralandırmanın kullanılması önerilir. Benzersizlik kontrolü, gerekirse kodu benzersiz hale getirmeye yardımcı olan bir bayraktır. Bayrak ayarlıyken, benzersiz olmayan bir kodla bir dizin öğesi yazmaya çalışırsanız, 1C'de "Dizin kodu benzersiz hale geldi" mesajını alırsınız.

Bir dizi kod - dizinin nasıl numaralandırılacağını belirler, dizinin numaralandırmasını sahibi bağlamında girebilirsiniz. Örneğin, karşı taraf "Horns and Hooves" kendi sözleşme numarasına sahip olacaktır - "1, 2, 3" vb.

Formlar sekmesi

Referans kitabı için formlar burada. Yapılandırma hem normal hem de yönetilen modlarda başlatılırsa, varsayılan olarak formları olan iki sekme olacaktır: "ana" ve "ek" - normal ve yönetilen bir uygulama için farklıdır.

Bu sayfanın önemli bir referans özelliği vardır - "". Bu, giriş alanındaki verileri doldururken dizine girmenize değil, adını, kodunu veya benzerlerini yazmanıza izin veren çok uygun bir 1C 8 işlevidir. ve açılır listeden istediğiniz öğeyi seçin. Şuna benziyor:

Diğer Sekmesi

Sekmede, dizinin ana modüllerine - nesne modülü ve yönetici modülüne hızlı erişim sağlayabilirsiniz.

Sayfada önceden tanımlanmış arama öğelerinin bir listesini de tanımlayabilirsiniz. Bunlar, Enterprise Mode'da silinemeyen öğelerdir. Önceden tanımlanmış öğelere doğrudan yapılandırıcıda adlarıyla erişilebilir, örneğin: Kataloglar.Nomenclature.Service.

Bu sekme aynı zamanda engelleme modunu da tanımlar - otomatik veya yönetilen. 1C: Enterprise modunda bulunan tam metin aramasının yanı sıra dizinle ilgili referans bilgilerini kullanma.

Klyuev V.V.

http://prof1c.kklab.ru

Alt dizinler

Büyük olasılıkla, birbirine bağlı dizinlerin olağan tipik konfigürasyonlarında, dizinin bir öğesini (referans1) seçerken, başka bir dizinin (referans2) değeri bu değere göre “filtrelenir” - yani değerler ​​sadece dizinin1 mevcut elemanına ait olanlar seçilir; örneğin, bu, "Kuruluşlar" Dizinine ait "Alt Bölümler" Dizini'dir.

Olanların özünü hemen anlamak için pratikte neler olduğunu görelim. Bunu yapmak için sıfırdan boş bir konfigürasyon oluşturabilir veya bilgi bankasının mevcut herhangi bir kopyasına gidebilir ve konfigüratörde 2 dizin oluşturabilirsiniz.

El Kitabı1 ve El Kitabı2. Dizin2'de, "Sahipler" sekmesine gidin ve sahibini seçin - "Katalog1", şekilde gösterildiği gibi bakın.

Şimdi, "Directory2" de öğeler oluştururken, sistem sizden kataloğun1 sahibini girmenizi isteyecektir. Öğelere, gruplara veya gruplara ve öğelere ikincillik verildiğinde - Alt sıralamayı kullan - bir seçenek vardır.

Her şey basit gibi görünüyor, ancak kullanıcıların sorunları var. “Directory2”yi açarken, kullanıcı tüm öğeleri tamamen anlaşılmaz bir sırayla görür ve ayrıca, tipik konfigürasyonlarla çalıştıysanız, sahibini doğrudan “Divisions” dizininde herhangi bir yere ayarlamadığınızı ve ne zaman olduğunu fark edebilirsiniz. dizini açarak organizasyon seçebilir ve buna bağlı olarak bir organizasyona veya diğerine bağlı öğeleri alabilirsiniz; Aynı zamanda, "Alt Bölümler" dizininin bir öğesini oluştururken, varsayılan olarak bir alt bölümler listesi şeklinde seçilen sahibi alırsınız.
Öyleyse başlayalım ve "Directory2" için bir "Liste Formu" oluşturalım, bunu 1C'ye hiçbir değişiklik yapmadan sağlarken, daha sonra tasarımcı tarafından oluşturulan formu düzelteceğiz.
Directory2'de Formlar sekmesine gidin ve (+) yeni bir Dizin Listesi Formu ekleyin ve Bitir'e tıklayın.

"Directory1.Link" veri tipi ile "SelectionDirectory1" adında bir form özniteliği oluşturalım ve bu özniteliği forma sürükleyip "Directory1" başlığını belirleyelim.


Şimdi "bu mucizenin" çalışması için Dizin Öğesi1'i seçerken seçim yapacak bir kod yazmanız gerekiyor.

8.2, 8.3 Yönetilen Formlar

Yalnızca Dizin1'in seçili öğesi için ihtiyacımız olan öğeleri bir dizin listesi biçiminde görüntülemek için programlı olarak bir seçim yapmak gerekir - seçilen öğe için, bunun için SelectionCatalog1 kontrolünün önceden tanımlanmış prosedürünü kullanacağız. öğesini seçin ve belirtilen görevi gerçekleştiren kodu yazın.
Üst kısımda, "SelectionDirectory1" öğesini seçin, sağ tıklayın ve "Özellikler" öğesini seçin, görünen pencerede "OnChange" özelliğini bulun ve büyüteci tıklayın, böylece form modülüne gidin; "SelectionDirectory1OnChange(Element)" prosedürü otomatik olarak oluşturulur

Prosedürde aşağıdaki metni girin:

& İstemci Prosedürü SelectionCatalog1OnChange(Element) Listesinde. Seçim. Elementler. Temizlemek() ; // SelectionElement = Liste. Seçim. Elementler. Ekle(Tür(" Veri Düzeni Seçim Öğesi" ) ) ; FilterElement.LeftValue = New DataCompositionField("Owner" ) ; FilterElement.ComparisonType = DataCompositionComparisonType. Equal to; FilterElement. Usage = True ; FilterElement.RightValue = SelectionCatalog1; FilterElement.DisplayMode = DisplayModeElementProcedComced

8.2 Ortak formlar


Formları oluştururken her şey aynıdır, sadece formların sıradan oluşturulması gerekir, yönetilen formlar normal bir uygulamada çalışmaz.
Fark, liste formundaki öğenin seçim prosedüründe ve özniteliğin oluşturulmasında olacaktır.
Normal bir forma sahne eklemek için düğmesine tıklayın

Prosedür Reference1OnChange(Element) ThisForm. Seçim. Sahip. Değer = Dizin1. Bağlantı; Bu form. Seçim. Sahip. Kullanım = doğru; Bu form. ElementsForm. DizinListesi. Seçim ayarı. Sahip. Kullanılabilirlik = Yanlış ; //(?) İşlem Sonu

Sondan bir önceki satır (?) - seçim parametrelerini kullanıcı tarafından açarken seçimi değiştirmeyi yasaklıyoruz - sadece kontrol yoluyla!

Video (ses yok - ses olmadan her şey net)

Şimdi çok önemli bir soruyu analiz edeceğiz. BU, 1C Accounting 8'in hemen hemen her ilk kullanıcısının adım attığı bir komisyondur! Evet, evet, şimdi gruplar hakkında konuşacağız.

1C Muhasebe 8'deki gruplar hakkında genel bilgiler

Gruplar dizinlerde bulunur ve çoğunlukla yalnızca kolaylık sağlamak içindir. Dizinin tüm öğelerini tek bir büyük yığına dökmek yerine, 1C Enterprise'da gruplar bulunan sıralanabilirler.

Ancak, tüm dizinler grup oluşturmanıza izin vermez. Aşağıda, gruplandırmayı kullanamayan bir arama örneği verilmiştir.


Şekil, bu dizinde yalnızca oluşturabileceğinizi göstermektedir. elementler, eleman grupları değil. Yeşil artı işaretli ilgili düğme ile dizine yeni bir öğe eklenir ( Eklemek 8.2 sürümünde veya Yaratmak 8.3'te). Listedeki dizin öğeleri, bir çubuk şeklinde bir resim ile gösterilir (satırın solunda).

Ve burada, öğelere ek olarak gruplar da oluşturabileceğiniz bir dizin örneği. Gruplar ayrıca genellikle klasörler, Windows Gezgini'nde olduğu gibi klasör simgeleriyle temsil edildikleri için.

alan_

Yukarıdaki şekilden de görebileceğiniz gibi, sahip olan dizinler iki bölümden oluşur. Her zamanki eleman listesine ek olarak, solda görüntüleyen bir alan da vardır. sadece gruplar. Bu arada, aynı grupların sol alanda görünmemesi birçok kullanıcının kafasını karıştırıyor ( tabii ki, hiç eklenmeleri şartıyla). Soldaki grup ağacını genişletmek için resimde altı çift çizili olan çok küçük bir artı işaretine tıklamanız gerekiyor. Ve sonra böyle olacak.

alan_

Açıkçası, orada hiçbir şey olmaması koşuluyla, grup ağacını genişletmek için şaşırtıcı girişimler! Gruplar dizine eklenmemişse, o zaman boş olacak!

Dizinde çok fazla veri (öğe) birikmişse, bunlar gruplar kullanılarak sıralanabilir. Kaç grup oluşturulacağı, nasıl çağrılacağı - sadece siz karar verin.
Ctrl + F9 tuşlarına basarak yeni bir grup (klasör) oluşturulur veya dizin araç çubuğunda artı ile klasör düğmesine tıklayarak.

alan_

Sonra başka bir tipik soru ortaya çıkıyor - alanda ne seçilir Grup yeni bir grupla? Gerçek şu ki, Windows'taki klasörler gibi gruplar iç içe. Bu nedenle, bir grup içinde bir grup (bir klasör içindeki bir klasör) oluşturmak istiyorsanız, o zaman sahada Grup ana grup seçilmelidir, yani. yeni oluşturulan klasörün bulunacağı klasör. Yeni grup dizin kökünde yer alacaksa bu alan boş bırakılmalıdır.

Dizin öğeleri oluştururken gruplar nasıl kullanılır?

Dizinde gruplar oluşturmak mümkünse, böyle bir dizinin yeni bir öğesini oluştururken, form mutlaka bir alan içerecektir. Grup! Bu pratikte ne anlama geliyor? Her şey son derece basit - yeni dizin öğesinin hemen belirli bir gruba girmesini istiyorsanız, onu alanda seçin Grup; değilse, alan boş bırakılabilir.

Makalenin önemli bir kısmı vardı, ancak JavaScript olmadan görünmüyor!

Aşağıda, "Yönetim" grubunda hemen bir sabit kıymet oluşturulmasına ilişkin bir örnek verilmiştir. Bu durumda grup, şirketin bir bölümü anlamına gelir.

alan_

Referans öğelerini bir gruptan diğerine taşıma

1C Accounting 8 dizinindeki bir elemanı başka bir gruba taşımanın en kolay yolu, bu elemanı (F2 tuşu) ve sahada açmaktır. Grup başka bir dosya seç. Bu yöntem basittir, ancak aynı anda birkaç eleman grubunu değiştirirken verimsizdir.

ikinci yol- istediğiniz öğeyi seçin ve düğmeye tıklayın Öğeyi başka bir gruba taşı kılavuz araç çubuğunda. Grup zaten var olmalı! Aşağıdaki şekilde bir örnek gösterilmiştir.

alan_

Açılan pencerede, çift tıklayarak (veya tek tıkla) istediğiniz grubu seçin ve ardından Seçme).

Üçüncü yol en hızlı. Öğeler, tıpkı Windows'taki klasörler ve dosyalar gibi fare ile bir gruptan diğerine sürüklenebilir.

Yukarıdakilerin tümü yalnızca dizin öğelerine değil, aynı zamanda grupların kendilerine de uygulanabilir!

Özetliyor

Böylece, 1C Muhasebe 8 dizinlerindeki gruplar (klasörler), dizinin öğelerini program kullanıcısının mantığına göre sıralamak için tasarlanmıştır. Gruplara ayrılmak, ihtiyacınız olanı hızlı bir şekilde bulmanızı sağlar. Herhangi bir anlam ifade etmiyor (bazı durumlar dışında), yani. istediğiniz sayıda grup ve alt grup oluşturabilir ve bunlara herhangi bir ad verebilirsiniz.

Bir dizin öğesi oluştururken, onu hemen istenen gruba (klasöre) "koymanız" gerekiyorsa, o zaman alana Grup yeni bir öğenin formu, ihtiyacınız olan grubu seçin. Dizin öğesi kökünde yer alacaksa, alan Grup boş bırakılmalıdır.

Şunu da belirtmek gerekir ki rehber isimlendirme gruplar muhasebe hesaplarını tanımlar, bu nedenle bu dizinin bir öğesini gruplardan birine girmek mantıklıdır (ve başka ne olabilir). Dizinle çalışmanın özellikleri isimlendirme 1C Muhasebe 8 şurada gözden geçirilir:

dizinlerin amacı

Dizin, belirli bir nesnenin veya özniteliğin olası değerlerinin bir listesini saklar. Dizinler, belirsizliği hariç tutmanın gerekli olduğu durumlarda kullanılır.od bilgi. Örneğin alıcının, satıcının, dükkâncının, yöneticinin ne tür bir üründen bahsettiğini anlaması için herkesin ona aynı adla hitap etmesi gerekir. Ve bu durumda, bir rehbere ihtiyacımız var. Genellikle bir ticaret işletmesinde bir fiyat listesi şeklindedir.

1C:Enterprise 8 sistemi, neredeyse sınırsız sayıda gerekli dizini korumanıza izin verir. Her dizin homojen nesnelerin bir listesidir: pozisyonlar, çalışanlar, müşteriler, mallar, vb. Bu tür her nesneye dizinin bir öğesi denir.

Kullanıcının bakış açısından, Konfigüratörün sözlüğün kendisini bir değerler listesi olarak oluşturmadığı, ancak onun şablonu olan bir referans şablonu geliştirdiği akılda tutulmalıdır. Yapılandırma işlemi sırasında, dizinde saklanacak bilgilerin yapısı tanımlanır, bir ekran ve gerekirse dizinin basılı gösterimi geliştirilir ve davranışının çeşitli özellikleri belirlenir.

Dizin ayrıntıları (alanlar)

Zorunlu ayrıntılar olarak, her dizinde kod ve İsim. Dizin öğesi kodu sayısal veya metin olabilir. 1C:Enterprise 8 sistemi, dizin öğelerinin kodlarıyla çalışmak için geniş fırsatlar sunar: kodların otomatik atanması, kodun benzersizliğinin otomatik kontrolü ve diğerleri.

Kod ve Ad'a ek olarak, 1C:Enterprise sisteminin dizinleri, dizinin öğesi hakkında herhangi bir ek bilgiyi depolayabilir. Bu tür bilgileri referans kitabında saklamak için ek ayrıntılar (alanlar) oluşturulabilir. Dizin ayrıntıları mekanizmasını kullanarak, örneğin bir çalışan dosyasını düzenlemek kolaydır. Örneğin, Çalışanlar dizini, neredeyse kesinlikle Pozisyon, Maaş, Kabul Tarihi ve diğerlerine ilişkin ayrıntılara sahip olacaktır. Firma 1C programcıları öngördü ve tüm referans kitaplarına iki zorunlu (önceden tanımlanmış) ayrıntı ekledi: Kod ve Ad. Gerçekten de, gerçek hayattaki hemen hemen her nesne bu nitelikleri içerir. Örneğin, çalışanlar için kod, personel numarasıdır ve ad, Soyadı, Adı ve Patronimik'tir (tam ad). Ek olarak, kodların kullanılması (otomatik numaralandırma kullanılırken), veritabanına hangi elemanın daha önce, hangisinin daha sonra girildiğinin anlaşılmasını kolaylaştırır.

Veri tipleri

Her başvuru niteliği için, örneğin "sayı", "dize", "tarih", boole (Doğru veya Yanlış) gibi veri türünü belirtmelisiniz. Bunlar temel türlerdir, ancak karmaşık veri türleri de belirtilebilir. Örneğin, Konum özelliği, Konum veri türüne sahiptir. Bu durumda, bu özelliğin değerleri İşler dizininden seçilecektir. Bir dizinin ayrıntılarının değerleri başka bir dizinin öğelerinden seçildiğinde, dizinler arasındaki en basit bağlantı bu şekilde uygulanır.

Hiyerarşik dizinler

1C: Enterprise 8 sistemindeki dizin öğelerinin listesi çok seviyeli olabilir. Bu durumda, dizinin tüm satırları 2 türe bölünecektir: dizinin "basit" öğeleri ve dizinin grupları. Gruplar, çok seviyeli bir dizinin temel seviyelerine gitmenize izin verir. Çok seviyeli dizinlerin kullanımı, dizine bilgi girişini istenen ayrıntı düzeyiyle düzenlemenize olanak tanır. Çok düzeyli bir sözlükteki öğeler ve öğe grupları bir gruptan diğerine aktarılabilir.

Alt dizinler

Dizinler arasında bir bağlılık ilişkisi kurulabilir. İlişkisel veritabanı terimlerinde, tablolar arasında bire çok ilişki kurulur. Bu durumda, alt dizinin her bir öğesi, sahip dizininin öğelerinden biriyle ilişkilendirilecektir. Bazen bir dizinin elemanlarının diğerinin elemanlarına ait olduğunu söyleyebilirsiniz. Örneğin, sistem Sözleşmenin bir dizinine sahip olabilir. Ardından, Müşteriler dizinine bağlı hale getirilebilir. Bu, müşterinin sözleşmelere sahip olduğu ve bir müşterinin birden fazla sözleşmesi olabileceği anlamına gelir.

Tablo parçaları

1C 8.0 sürümünden başlayarak, platform bir dizin öğesi için bir veya daha fazla tablolu parça ayarlama yeteneğini uygular. Bu özelliğin, bu öğeyle ilgili bilgileri yansıtmak için kullanılması önerilir, ancak kendi nesne varlığına sahip değildir (bunun için alt dizinler oluşturulması önerilir). Örneğin, çalışanlar referans kitabı için Eğitim ve Aile Kompozisyonu tablo bölümleri oluşturulabilir. Tablolu parçalarla çalışmak, alt dizinlerle çalışmaya benzer, ancak tablolu parçalar diğer nesnelerin öznitelik değerleri olarak kullanılamaz.

Dizinlerle çalışmak için kullanılan program kodu nerede?

Program kodunu yürütmek için veritabanına erişmemiz gerektiğinden, bu program kodu parçaları prosedürlere ve işlevlere (veya modüllere) yerleştirilmelidir. sunucu tarafında gerçekleştirilir. Daha fazla bilgi için bölüme bakın.

1. Kılavuza bağlantı

Herhangi bir modülden bir dizinle çalışmak için önce bu dizine bir bağlantı oluşturmalısınız.

SprEmployees = Dizinler. Çalışanlar ; // veya seçenek 2
SprPositions = Dizinler ["Pozisyonlar"];

2. Yeni bir dizin öğesi oluşturma ve yazma

NovEl = Referanslar . Çalışanlar . createItem();
Roman. İsim = "Petrov Petr Petrovich";
Roman. Maaş = 25000;
Roman. Yazı yazmak(); // bu, veritabanının yazıldığı andır

3. Yeni bir dizin grubu oluşturma ve kaydetme (hiyerarşik bir dizin için)

yeni = Dizinler.Çalışanlar. Grup oluşturmak için ();

Yeni . Yazı yazmak();
// veya seçenek 2
Yeni = Referanslar["Çalışanlar"]. Grup oluşturmak için ();
Yeni . İsim = "Çalışıyor";
Yeni . Yazı yazmak();

4. Bir dizin öğesi arayın

// eleman bulunursa döndürülür, aksi takdirde değer Tanımsız olur

FoundComp = RefComp . FindByCode (123); //koda göre ara
FoundComp = RefComp . FindByName("İvanov İvan İvanoviç"); //isimle
FoundComp = RefComp . FindBy Sahne("Maaş", 5000); // özniteliğe göre

BulunursaComp = Tanımsız O halde
// eleman bulunamadı
EndIf;

5. Bir dizin öğesinin silinmesi

Spektr = Dizinler . Çalışanlar ;

RefStr. Silmek (); //geçerli dizin öğesinin hemen silinmesi

RefStr. Kaldırma Bayrağı Ayarla(Doğru); // silinmek üzere işaretle
RefStr. Kaldırma Bayrağı Ayarla(Yalan); //silmek için işareti kaldır

// elemanın silinmek üzere işaretlenip işaretlenmediğini kontrol edebilir
// özellik Silme İşareti Boolean türündedir (Doğru veya Yanlış)

Bayrak = RefStr . Bayrak Kaldırma; //not: bu bir özelliktir
Bayrak = Doğru ise
// eleman silinmek üzere işaretlendi
EndIf;

6. Dizinin öğeleri üzerinde yineleme

Seçim = Dizinler . Çalışanlar.Seçin();
// sözlüğün öğelerini bir döngü içinde yinelemeye başla
//sonraki elemanla işlemler...

Bitiş Döngüsü;

7. Ebeveyn. Bir grup içindeki öğeler üzerinde yineleme yapın.

1C açısından bir grup bir "ebeveyn" dir.

Spektr = Dizinler . Çalışanlar ;
Grup Çalışması= ReferansStr. FindByName("Çalışma");
Örnek = SprStr. Seçme ( Grup Çalışması);
Seçim yaparken. Sonraki() = 1 Döngü

Rapor ("Çalışan" + Örnek . Ad);
Bitiş Döngüsü;

8. Sahip. Başka bir sözlüğün bir öğesine ait olan bir sözlüğün öğeleri üzerinde yineleme.

Bir dizin başka bir dizine bağlıdır; örneğin, Vergi Avantajları dizini Çalışanlar dizinine bağlıdır.

Seçim = Dizinler . Vergi Avantajları. (, Çalışan ) öğesini seçin; //burada çalışan - çalışan dizini öğesine bir bağlantı
Seçim yaparken. Sonraki() = 1 Döngü
// sonraki elemanla işlemler
Rapor ("fayda" + Örnek . Ad);
Bitiş Döngüsü;


9. İşlem

Birçok referans öğesi oluştururken, çalışmayı hızlandırmak için döngüyü bir işleme dahil edebilirsiniz. Bu durumda, tüm öğelerin gerçek yaratımı yalnızca FixTransaction() komutuyla gerçekleşir. İşlemleri kullanırken, eylem ya tamamen gerçekleştirilecek (dizinin tüm öğeleri oluşturulur) ya da hiç gerçekleştirilmeyecek (herhangi bir arıza durumunda, tek bir yeni öğe oluşturulmayacak, her şey eskisi gibi kalacak) işlem başlatıldı). İşlemler bankacılık sektöründe yaygın olarak kullanılmaktadır. Sonuçta, hiç kimse para gönderirken hesabınızdan güvenli bir şekilde borçlandırılmasını istemez, ancak bir tür başarısızlık nedeniyle muhatabına ulaşmadılar.

Spektr = Dizinler . Çalışanlar ;
İşlemi Başlat();

Nom için = 1 ila 100 Döngü
Yeni = RefStr . createItem();
Yeni . İsim = "Yeni" + Dize(Nom);
Yeni . Yazı yazmak();
Bitiş Döngüsü;

İşlemi Yap();