1C UV seçim formunu açın. Bazı seçimlerle bir liste formu nasıl açılır? Yeni bir nesnenin formunu nasıl açılır

1C 8.3'te yönetilen formlarda seçim

Makale, Seçimi Yönetilen Formlar 1C 8.3'te kurma seçeneklerini göz önünde bulunduracaktır. Dinamik liste için seçimi, kullanıcı arayüzünde veya yapılandırıcıda statik veya dinamik olarak ayarlanabilir. Tüm seçim seçenekleri aşağıda düşüneceğiz.

  • Konfigüratördeki seçimin ayarlanması

Kullanıcı modunda seçimin ayarlanması

Tablonun veya değerler ağacının aksine dinamik liste, herhangi bir liste içeren formları uygulamak için daha uygun bir çözümdür, çünkü Dinamik liste, seçim, gruplandırma, sıralama ile çalışmak için en geniş araç yelpazesini sağlar. Bu seçim bir kullanıcı modunda veya yapılandırıcıda çalışırken kurulabilir, prensip aynıdır.

Kurumsal moddaki seçimi ayarlamak için, "Listeyi yapılandır" komutunu aramanız gerekir.

Pencere açılır.


"Seçim sekmesi", geçerli listede bulunan alanların bir listesini içerir. Filtreleyeceğimiz liste alanlarını seçin. Bu çift tıklama yapabilirsiniz veya sürükle ve bırakmayı kullanarak yapabilirsiniz.


Karşılaştırma ve değer türünü belirtiriz, "Tamamen Düzenleme" nle, seçim ayarlanır.


Seçimi kurulum modunda liste formunda yüklerken, sözde hızlı seçimler alanları otomatik olarak oluşturulur.


1C platform için hızlı seçim alanlarını otomatik olarak oluşturduktan sonra, yapılandırıcıda bir form geliştirirken, özel ayarlar grubunu belirlemelisiniz.


Bu seçim, yalnızca özelleştirilmiş dinamik liste ayarlarını esnek hale getirmenizi sağlayan geçerli kullanıcı için kaydedilecektir. Bununla birlikte, eğer görev, sistemin tüm kullanıcıları için belirli bir liste için sabit bir seçim yapacaksa, bunu yalnızca yapılandırıcı aracılığıyla çözebiliriz.

Konfigüratördeki seçimin ayarlanması

Yapılandırıcıda Çalışma, iki türün dinamik bir listesinin seçimini ayarlayabilir - sabit ve dinamik. Sabit seçim bir kez yapılandırılmış, dinamik veya yazılım - sistemdeki herhangi bir veriye bağlı olarak kurulabilir.

Yapılandırıcıya sabit seçim kurma ilkesi, yukarıda açıklanan kullanıcı modundaki kurulumdan farklı değildir. Seçimi ayarlamak için, dinamik liste ayarlarını açmalıyız.


Pencere açılır.


Seçim, kullanıcı modundaki ile aynı şekilde sorulur.

"Özel Ayarlarda Etkinleştir" seçeneği, konfigüratörde yüklenen seçimin "Yapılandır Listesi" menü öğesi üzerinden kullanıcı modunda erişilebilir olup olmadığını belirler.


Dinamik (Yazılım) Seçimi

Genellikle seçimi programlı olarak ayarlama ihtiyacı vardır, örneğin bir seçim formunu açarken, seçimde kontrollü bir form açmamız gerektiğinde. Form geçiş parametresi ve seçim bu parametreye ayarlanmıştır. Bunun sık sık örneği, dizinin elemanlarının sahibi tarafından seçilmesidir.

Yöntemler

Yapılandırma yapılandırmasında bulunursa, BSP alt sistemi "Temel işlevsellik" mevcutsa, dinamik listedeki yazılım seçimi tipik bir yöntem kullanarak yüklenebilir:

OlağanüstüClinerwerver. Elementotor Yaratıcılık Kurma ()

Bu yöntemin imzası:

Dinamik listesi Tip: Dinamik Liste - Seçimi ayarlamak istediğiniz liste.

Namepol Tip: Satır - Seçimi ayarlamak istediğiniz alan.

Çalışan Tip: Keyfi - Seçim (İsteğe bağlı. Varsayılan değer: undefined. DİKKAT! Süresiz olarak ilan edebiliyorsanız, değer değiştirilmez).

Mağdurlar Tip: Mesleki iletişim iletişim - seçim koşulları.

Temsil Tip: Hat - Veri Düzeni Öğesi (İsteğe bağlı. Varsayılan değer: tanımsız. Belirtildiği takdirde, yalnızca belirtilen görünüme sahip kullanım bayrağı görüntülenir (değer çıkış değildir). Temizlemek için, değeri tekrar görüntülenecek şekilde, boş bir dize geçmesi gerekir) .

Kullanma Tip: Booleo - Bu seçimi kullanın onay kutusu (İsteğe bağlı. Varsayılan değer: belirsiz).

Modatografi Tür: Model Yönetimi TelekomünikasyonMepletes - Yöntem Bu seçimi kullanıcıya görüntüler. Olası değerler:

  • ElementNewscompones gösterilen model. Hızlı erişim - listenin üstündeki hızlı ayarlar grubunda.
  • Elektro-setkomponovkyda gösteren model. Live - Listeyi ayarlamak için (alt menüde).
  • ElementNewscomponovkydata gösteren model. Extafeated - Kullanıcının bu seçimi değiştirmesini yasaklamak için.

Tanımlayıcı Hizmetleri Tip: String - Bu seçim için benzersiz tanımlayıcı (Kullanıcı ayarlarıyla iletişim kurmak için kullanılır).

Bazı seçim değerini kaldırmak için, tür yöntemini kullanmanız gerekir:

OlağanüstüCerver. DeleteElementsGroupstootableDannamik pozisyonu ()

Bu yöntemin imzası:

Dinamik listesi Tip: Dinamik Scriptler - Seçimi ayarlamak istediğiniz formlar.

Namepol Tip: Satır - Düzen alanının adı (gruplar için kullanılmaz).

Temsil Tip: String - Düzen alan görünümü.

BSP sisteminde yokluk durumunda, seçim polonya nesnesini kullanarak kendi başına monte edilebilir.

ELEMENTOTOR \u003d liste. Seçenekler. Elements. Addly (Tip ("Elementotorbone-Block")); Elementotor.levativeness \u003d yeni yarı pembe ("tam isim"); ElemenTub. Çevrecilik \u003d Mesleki MontajCon. Elementatub. Himmility \u003d Telekomünikasyon Kompleksleşen modlar. Tahmini erişim; // isteğe bağlı elementatör. Tanım \u003d "ivanov";

Bu seçim, "tam ad" değerinin "ivanov" olduğunu seçecektir.

Mantıksal "ve", "veya", "Değil" kullanımı için grup-elementboratory verilerinin türü için tasarlanmıştır.

Muhasebe \u003d Liste. Seçenekler. Elektronlar. Addly (Tip ("GroupAlemotabCompare")); Groupotherapy.typegroups \u003d tiberoupelementseboleblombolds. Grup. Elementotor \u003d GroupOtabbing. Elements. Addly (Tip ("Elementotorbone tipi")); Elementotor.levativeness \u003d yeni yarı pembe ("tam isim"); ElemenTub. Çevrecilik \u003d Mesleki MontajCon. Elementatub. Tanımlama \u003d "ivanov"; Elementotor \u003d GroupOtabbing. Elements. Addly (Tip ("Elementotorbone tipi")); Elementotor.levativeness \u003d yeni yarı pembe ("tam isim"); ElemenTub. Çevrecilik \u003d Mesleki MontajCon. Elementatub. Tanımlama \u003d "Petrov";

Bu seçim, "tam ad" değerinin "ivanov" veya "Petrov" değerinin bulunduğu satırları seçecektir.

Dinamik listedeki seçim, dinamik liste isteğinin metnindeki bir değişiklik yoluyla da kullanılabilir. Dinamik liste "keyfi bir istek" ile yapıldığında bu seçenek çalışıyor.


Bunu yapmak için, sorgu metnine "gerçeğin nerede" durumunu ekleyin ...


Görülebileceği gibi, bu yaklaşım, yazma kodu açısından daha kompakt. Tablo bölümündeki seçim koşullarını daha da karmaşık hale getirin, kurulumu yapmak istiyoruz, seçimi ElementOtOrbone-Free ile seçimi kullanarak bir seçenek olacak. Bununla birlikte, sorgunun metninde bir değişiklik olan örneği dezavantajları vardır - bu uygulama koddaki değişikliklere karşı dayanıklı değildir. Örneğin, bu uygulamayı yaptınız ve unuttun, ancak gelecekte sorgu metnini, burada (düzenleme, gruplandırılmış) ekleyerek herhangi bir operatör ekleyerek, programda olduğu gerçeğini unutmamalısınız. Kod:

Liste. Set dayanıklı \u003d liste. Tereyağı + "ve direktif. Fio (" "Ivanov" "," Petrov ")";

Bu hatayı dikkate almazsa, ancak bunu önlemek için, başka bir uygulamayı hatırlayabilirsiniz. TEX isteğinde, böyle bir koşulu ekleyin:

Nerede (değil ve seçilmemiş veya dizin kullanıcıları) (ve izin verilen))

Liste. Parametreler .Parameter'in tanınmasını ayarlama ("seçilen", tam adlar ()\u003e 0); Liste. Parametreler. YüklemeParameter ("izin verilen", tam ad);

Burada ad bir dizidir.

KA görülür, 2 kod satırı. 10. Seçme yöntemi, belirli bir uygulamalı göreve bağlıdır.

Bu kod, SET seçimine sahip bir belge listesini açmanıza izin verir, ayrıca istediğiniz seçime sahip bir referans öğeleri listesini de açabilirsiniz.

Kod 1C V 8.2 Yukarı Form \u003d Açık Form ("Belge. Kaynak. Form. Formscribe"); // açık formu aç
Klasör \u003d Form. Öğrenin. Tiyatar.elements. Addly (Tip ("Elementotorbone-Block")); // seçim ekle
Decabloser. Width \u003d Victims CommunicationCon. // nasıl karşılaştırılacağı
Seçim sahibi. Kullanma \u003d gerçek; // Polonya kullanarak tankı takın) ("isimlendirme")
Seçici. Alexification \u003d Yeni Polonya şeklindeki ("karşıpart"); // hangi ayrıntılara göre seçim yapacağız
Seçim sahibi. Tanım \u003d nesne. Kontragent; // ve seçim değeri

Amacıyla Önceden belirlenmiş bir seçim ile liste formunu açın Aşağıdaki yolları kullanın:

İlk yöntem Bir form açarken, form parametresini ayarlayabilir ve liste formunu bu parametre ile açabilirsiniz.

Seçim parametresi bir yapıdır. Elementlerin isimleri, seçimin yapıldığı alanların adlarına karşılık gelir ve değerler seçim değerlerini içeriyor. Bu, dinamik listenin yönetilen formunun parametre uzantısıdır. Yani, ana detaylar, örneğin, listenin formları ve seçim biçimlerinin türleri olan temel detaylar olan formlarda bulunur.

Örneğin, aşağıdaki örnek, 333'e eşit alan numarası ile seçim ile katilin bir listesini açar.

Kod 1c v 8.2 Yukarı ViotoB \u003d Yeni yapı ("numara", "333");
Parametreler Müşteri \u003d Yeni Yapı ("Seçim", Laborbaby);
Açık Form ("Belge. Grittynaster. Formatic", Parametreler!

İkinci yol

Liste formunu parametre olmadan açabilirsiniz:

Kod 1c v 8.2 Yukarı Açıcı ("Belge. Daha fazla bilgi. Formatic");

Ve sonra, olay işleyicisinde, varış tepelerinin listesinin listesi sunucuya hizmet verecek, bu da formun ana detayları olan dinamik bir listede bir seçim oluşturur:

Kod 1c v 8.2 Up & Nasserver
Koruma Prosedürü (Arıza, Standart İşleme)
ELEMENTOTOR \u003d liste. Seçenekler. Elements. Addly (Tip ("Elementotorbone-Block"));
Elementatub. Düşüklüğü \u003d yeni yarı kanlı ("sayı");
Elementatub. Vidolation \u003d Mesleki MontajCon.
Elementatub. Kullanma \u003d gerçek;
Elementator.Rezhymography \u003d Modüler prosedürler. ElementNewsCompon.
Elementatub. Çalıştırma \u003d "000000001";
Ekstrüdreler

Bu yöntemin avantajları, seçimin yalnızca ilk durumda olduğu gibi, daha az, daha az, vb.

Ancak bu yöntem çok önemli bir dezavantajı vardır: Bu seçim ile form daima açılır. Denilen yerden. Bu nedenle, bu form ana olanı reçete edilmemelidir. Ve yine de ana olanı ise, seçimi kurmadan önce, bu formun açıldığı yerlerin bir tür analizini sağlamak gerekir. Örneğin, form parametrelerini analiz eder.

Üçüncü yol

Son olarak, seçim koşulu, dinamik bir liste için veri seçerek keyfi bir talebe yerleştirilebilir.

Örneğin, isimlendirme listesinde bir isimlendirmenin bir listesini açmamız gerekiyor.

Bunu yapmak için, isimlendirmenin bir listesi biçiminde, bir komut ve ilgili öne doğru tuşu oluştururuz.

Bu komutun yürütme işleyicisi aşağıdaki gibi doldurulur:

Kod 1c v 8.2 Up & Clause
Mülkiyet Prosedürü (Takım)
Parametreler esaret \u003d yeni yapı ("Filterpotor", Elements. Site. Mumlar);
Açık Form ("Belge. Grittynaster. Formatic", Parametreler!
Ekstrüdreler

Bu işleyicide, varış faturaları listesinin listesini açıp, formdaki isimlendirme listesindeki geçerli öğeye bir bağlantıyı iletiriz.

Ardından, belgelerin listesinin formunu oluşturun. Parsel ve bir form parametresi oluşturun, bir form açmak için istediğimiz seçime sahip bir form açmak için kullanacağız.

Şimdi Özellikler listesinin özellik özelliklerinin özelliklerini açın. Keyfarlığın bayrağını ve listenin ayarını açarak aç seçeneğini belirleyin.

İstek alanında, aşağıdaki sorgu metnini girersiniz:

Kod 1c v 8.2 ue SELECT
Belge fabrikası. Maker,
Belge şirketi. Veriler.
NIN-NİN
Belge. Belge şirketi olarak daha büyük koordinat
NEREDE
Belge fabrikası. TASTERS. Tier \u003d ve Ürün

Sorguda, geçerli çizgiye referansın, makbuz filtresi filtresinin listesinin listesinin listesinde yer alan adlandırma listesi listesinde iletileceği öğe parametresini kullanıyoruz.

Bunu yapmak için, olay işleyicisinde, sürücü formları sorgu parametresi değerini ayarlamak için kodu yazar. Mallar:

Kod 1c v 8.2 Up & Clause
Çalışma Prosedürü (Refuar)
Liste. Parametreler. InstallingParameter ("Ürün", Parametreler. Filtre kutusu);
Ekstrüdreler

İşte liste. Parametreler, sahne listesi için dinamik liste isteği seçeneklerinin bir listesidir. Ürünün değeri, Form parametresinin FilterPoter'a eşit değerine ayarlanmıştır.

Sonuç olarak, düğmeye basarak, makbuz genel giderleri, adlandırma listesinin listesi formundaki, yalnızca adlandırma listesinde isimlendirmenin mevcut olduğu parsellerin bir listesini alacağız.

1C Yönetilen Uygulamadaki formların programı açılışında olağan uygulamadaki açılışlarından önemli ölçüde farklıdır. Eski yöntemin başlangıcını düşünün. Her zamanki veya modal modda bir form ve sonraki açılmasında (modal modda açılırken, formun programın çalışmasını engeller) oluşur.

Seçenekler (). Açık()

Bu, formları açmanın en yavaş yöntemidir. Ancak, açmadan önce formu programlı olarak işleme koymanıza olanak sağlar. İşleme kodu için biraz değiştirmeniz gerekir:

Form \u003d Seçenekler ( "Belge. Dumstive Outlook değil.) ;
// burada formla eylemler yapın
Form. Açık ();

Bir form elde edildiğinde, başka bir olay prosedürünün gerçekleştirileceği akılda tutulmalıdır. Ayrılıkçı.

1C yönetilen uygulamadaki formları daha hızlı ve daha uygun olan formları açmanıza izin veren diğer yöntemleri düşünün. Özel duruma bağlı olarak, farklı yöntemler kullanılabilir.

1. Yönetilen bir uygulamada bir nesnenin formunu nasıl açılır, eğer bir link varsa.

Bu durumda, her şey son derece basittir.

Sprlink \u003d referans kitapları. İsimlendirme. Bulunan temas ("000000001");
Açık uçlu (spink);

2. Seçim formunu nasıl açılır ve daha sonra seçilen değeri elde edilir.

Bunun için bir fonksiyon var Giriş ().İşlev 3 Parametreler:

  • Seçilen değerin kaydedileceği değişken;
  • Seçim penceresinde görüntülenecek ipucu;
  • Seçilen değerlerin türlerinin açıklaması. Birkaç çeşit olabilir, daha sonra belirli bir değeri seçmeden önce türü seçmek önerilecektir.

İşlevin yürütülmesinin bir sonucu olarak, varsayılan seçim formu belirtilen türün nesnesi için açılacaktır.

MOT değeri;
Array \u003d Yeni dizi;
Dizi. Ekle (tür ( "Dandertrict Trainuslands.Noblature") ) ;
Dizi. Ekle (tür ( "Dandertrict Transfer. Clungans") ) ;

Açıklamalar \u003d Yeni açıklamalar (dizi);

Res \u003d Giriş (Değer, "İpucu", Açıklamalar);

Önceki yöntemler Yalnızca varsayılan nesneler için ayarlanan formları açmasına izin verilir (nesne formu veya seçim formu). Keyfi bir form açmanız gerekirse, işlevi kullanabilirsiniz. OpenForm ().

Bu özellik oldukça az parametreye sahiptir. Bazılarını düşünün:

  • Form adı - Burada, örneğin nesnenin standart formlarından birini seçebilirsiniz, örneğin, Formcuveya Filmci. Veya geliştiriciler tarafından oluşturulan belirli bir form.
  • Parametreler - Formdaki forma aktarmanızı sağlar yapılarbazı parametreler keşfedilmeden önce, böylece çıktı verilerini tanımlar. Parametreler, istemciden sunucuya iletilebilecek herhangi bir veri olabilir. Formu açarken izin verilen parametreler prosedürde işlenebilir. Promotionerver () Açık formda.
  • Formun Açılış Modu- 3 seçeneğine sahiptir: bağımsız, tüm arayüzü engelleyin, sahibinin şeklini bloke eder.

İşlevin nasıl geçerli olduğunu düşünün OpenForm ()Çeşitli durumlarda.

3. Mevcut bir nesnenin formunu nasıl açılır

Her formun bir anahtar sahne vardır. Form detayları listesinde yağda vurgulanır ve genellikle denir Bir obje Referans kitapların unsurlarının formları için belgeler. Diğer nesnelerin farklı olması için bir adı var. Mevcut bir nesnenin formunu açmak için parametreyi yukarıdaki forma aktarmanız gerekir. Anahtarınesneye referans formundaki değer ile.

& Svalette
Prosedür Team1 (Takım)
Parametre \u003d yeni yapı;
Parametre. Eklemek ("anahtar", bulun ());
Açık formu (parametre);
Ekstrüdreler

& Sunucuda
Fonksiyon işlevi ();
Referans kitapları iade edin. Karşı taraflar. Toporekvisite ("Inn", "745107734623")
Sonlandırma

4. Yeni bir nesnenin şeklini nasıl açılır

Sadece işlevi sığdıracak OpenForm () Herhangi bir parametre olmadan.

& Svalette
Prosedür Team1 (Takım)
Openform ( "Rehber. ConstrarTgents. FormAbject") ;
Ekstrüdreler

5. Yeni bir nesnenin formunu nasıl açılır ve bir şey temelinde doldurun

Parametreyi aktarmanız gerekir Üs, değeri doldurma nesnesine referans verilecek. İşlem başlatılacak Prosespost ().

& Svalette
Prosedür Team1 (Takım)
Parametre \u003d yeni yapı;
Parametre. Eklemek ("baz", reflekspoxpiector);
Openform ( "Belge. Upoalizershud.formAbject", Parametre);
Ekstrüdreler

Bu örnek bir belge oluşturur. Mal ve hizmetlerin gerçekleştirilmesi Ve Alıcıya ödeme yapılması için bir hesap temelinde, transfer edilen bağlantı.

6. Şekil nasıl açılır ve seçimini ayarlayın

1C formlarındaki seçim basit ve karmaşık olabilir. Basit seçim, tür ifadeleri içerir Kuruluş \u003d llc "rog ve hooves".Karmaşık seçim, örneğin, diğer karşılaştırma türlerini varsayar, örneğin, Listede. Bu yazıda, basit seçim organizasyonunu göz önünde bulundurun ve karmaşıklığa ayrı bir makale ayrılacaktır.

Basit bir seçim düzenlemek için, anahtar parametresini açık formda geçirmeniz gerekir. SeçimDeğer, anahtarın dinamik liste alanının adı olduğu yapı olacaktır ve değer istenen verilerdir.

Örneğin, referans defteri listesinin formunu açın. Nizhtd. Ve sahibinin seçimi alacağız - dizinin unsuru İsimlendirme.

& Svalette
Prosedür Team1 (Takım)
Parametre \u003d yeni yapı;

Seçim \u003d yeni yapı;
Seçim. Eklemek ("sahibi", refleksionenenclature);

Parametre. Eklemek ("seçim", seçim);

Openform ( "Handbook.Namegtd. SSS", Parametre);
Ekstrüdreler

7. Bilgi Kayıt Formu Nasıl Açılır

Bunu yapmak için, anahtar giriş kaydına ihtiyacınız var.

Koruma Anahtarı- Bunlar, tüm ölçümlerin ve periyodun değerleridir (kayıt periyodik ise). Yani, kayıt anahtarı, kaydı açıkça tanımlayabileceğiniz parametrelerdir.

Keşif algoritması aşağıdaki gibidir:

  1. Anahtar giriş verilerini gerekli değerlerle giriyoruz.
  2. Elde edilen yapıyı bir diziye yerleştiriyoruz.
  3. Array'dan bir kayıt anahtarı oluşturun.
  4. Parametreyi yukarıdaki forma iletiyoruz Anahtarıp.3'ten bir değer olarak bir kayıt anahtarı ile.

& Svalette
Prosedür Team1 (Takım)
Parametre \u003d yeni yapı;

ParametrelerClick \u003d yeni yapı;
Konferans. Eklemek ("isimlendirme", refleksionenenclature);
Konferans. Eklemek ("titzen", link natipzen);
Konferans. Eklemek ("periyot", tarih);

Massifable \u003d yeni dizi;
Masif. Ekle (parametreler);

Anahtar Cluck \u003d Yeni ( "Kayıtlı yaralar. Sennomenclature", Masif edilebilir);

Parametre. Eklemek ("tuş", anahtar);

Openform ( "Kayıt. Tannomenclature. Formapisi", Parametre);
Ekstrüdreler

Amacıyla seçim formunu 1C 8.2'de seçimle açın (Sıradan formlar), bazı eylemler yapmamız gerekiyor. İlk önce onu alıyoruz. Bundan sonra, seçimi ve programsal olarak açıldıktan sonra, burada bir örnek kod:

1C.2 giriş alanındaki formda seçim birkaç değerle

Yukarıdaki örnekte, düşündük seçim biçiminde seçim nasıl kurulur Belirli bir değer. Şimdi, birkaç değeri değiştirmeniz gerektiğinde durumu göz önünde bulunduralım, örneğin bir dizi olabilir ve sorgu sonucundan boşaltılabilir. 1C giriş alanındaki bu seçim birkaç değer ile.

Başlamak için seçim formunu alırız, "Öğe" ayarlarını göndeririz, seçim modu bayrağını ayarlayın. Ardından bir değer listesi ve bir diziyi oluşturun, bir seçim olarak karşılaştırma türü listeye ayarlandığında, nesne yalnızca türde bulunabilir. Kayma Listesi. Bir diziye öğe ekleyin, o zaman bu dizi, sonuç olarak, seçimde belirlediğimiz tanıma listesine yüklenir. Ayrıca, bu seçimin kullanım bayrağını da etkinleştirmeyi ve kelime haznesini kurmayı unutmayın.

1C 8.3'teki giriş alanındaki seçimin ayarlanması

Şimdi düşünün 1C 8.3'te kontrollü bir formdaki giriş alanındaki seçim. Seçimi ayarlayacağımız, bu alanda "organizasyon" durumumuzda bulunacağımız ilgi bir unsuru biçiminde bulun. Başlangıç \u200b\u200bolayı buluruz, Büyüteç'i tıklatın ve prosedürde bulunun. Veri parametresini görüyoruz, bu parametrenin bir liste türüne sahip. Gerekli unsurların seçimini sınırlamak için, konaklama listesini doldurmamız gerekiyor. Sadece sunucudaki öğeleri seçebiliriz, bu nedenle derleme yönergesi ve Nasserver ile bir prosedür oluşturabiliriz. Bu prosedürde, bu verileri doldurun.

Bazı seçimlerle bir liste formu nasıl açılır?

Önceden yüklenmiş seçim ile bir liste formu açmanın birkaç yolu vardır. Onları sırayla düşünün:

1. İlk yöntem, formun açıldığında, form parametresini ayarlayabilir ve liste formunu bu parametre ile açabilirsiniz. Seçim parametresi bir yapıdır. Elementlerin isimleri, seçimin yapıldığı alanların adlarına karşılık gelir ve değerler seçim değerlerini içeriyor. Bu, dinamik listenin yönetilen formunun parametre uzantısıdır. Yani, ana sahne türleri olan formlarda bulunur. Dinamik listesiÖrneğin, listenin formlarında ve seçim biçimlerinde.

Formu açma işleminde, seçim belirtilen alanda ayarlanacaktır. Örneğin, aşağıdaki örnek, 333'e eşit alan numarası ile seçim ile katilin bir listesini açar.

Valiz \u003d yeni yapı ("numara", "333");

Parametreler Müşteri \u003d Yeni Yapı ("Seçim", Laborbaby);

Açık Form ("Belge. Grittynaster. Formatic", Parametreler!

2. Liste formunu parametre olmadan açabilirsiniz:

OpenForm ("Belge. Grittynaster. Bayrak");

Ve sonra, olay işleyicisinde, karlı faturaların listesinin listesi SavaServer Formun ana detayları olan dinamik bir listede bir seçim oluşturan bir kod yazın:

& Sunucuda

Koruma Prosedürü (Arıza, Standart İşleme)

ELEMENTOTOR \u003d liste. Seçenekler. Elements. Addly (Tip ("Elementotorbone-Block"));

Elementatub. Düşüklüğü \u003d yeni yarı kanlı ("sayı");

Elementatub. Vidolation \u003d Mesleki MontajCon.

Elementatub. Kullanma \u003d gerçek;

Elementator.Rezhymography \u003d Modüler prosedürler. ElementNewsCompon.

Elementatub. Çalıştırma \u003d "000000001";

Ekstrüdreler

Bu yöntemin avantajları, seçimin yalnızca ilk durumda olduğu gibi, daha az, daha az, vb.

Ancak bu yöntem çok önemli bir dezavantajı vardır: Bu seçim ile form daima açılır. Denilen yerden. Bu nedenle, bu form ana olanı reçete edilmemelidir. Ve eğer yine de en önemli şeyse - seçimi kurmadan önce, bu formun açıldığı bir tür analiz için gereklidir. Örneğin, form parametrelerini analiz eder.

3. ve Son olarak, seçim koşulu, dinamik bir liste için veri seçerek keyfi bir talebe yerleştirilebilir. Örneğin, isimlendirme listesinde bir isimlendirmenin bir listesini açmamız gerekiyor.

Bunu yapmak için, isimlendirmenin bir listesi biçiminde, bir komut ve karşılık gelen düğme oluşturun. Parsel.

Bu komutun yürütme işleyicisi aşağıdaki gibi doldurulur:

& Svalette

Mülkiyet Prosedürü (Takım)

Form Cleaner \u003d İsteğe bağlı ("Belge. Grittynaster. Formscribe");

Form temizleyici. Filterpotor \u003d Elements. Site. Maliyetler;

Form Temizleyici. Aç ();

Ekstrüdreler

Bu işleyicide, varış faturaları listesinin formunu elde ediyoruz ve mevcut elemana bir bağlantı, adlandırma listesindeki Form parametresindeki forma iletir ve formu bu parametre ile açın.

Ardından belgelerin listesinin formunu oluşturun Satınalma faturası Ve açarken bir form parametresi olarak kullanacağımız filtre kabı formunu oluşturun. Şimdi Özellikler listesinin özellik özelliklerinin özelliklerini açın. Bayrak ayarlamak Keyfi olarak Ve ipte Bir liste kurma Aç'ı tıklayın.

Talep alanında, aşağıdaki sorgu metnini girin:

SEÇ

Belge fabrikası. Maker,

Belge şirketi. Veriler.

NIN-NİN

Belge. Belge şirketi olarak daha büyük koordinat

NEREDE

Belge fabrikası. TASTERS. Tier \u003d ve Ürün

Sorguda, geçerli çizgiye referansın, makbuz filtresi filtresinin listesinin listesinin listesinde yer alan adlandırma listesi listesinde iletileceği öğe parametresini kullanıyoruz. Bunu yapmak için, açılış listesi formunun işlenmesinde, sorgu parametresinin değerini ayarlamak için kodu yazacağız. Mallar:

& Svalette

Çalışma Prosedürü (Refuar)

Liste. Parametreler. YüklemeParameter ("Ürün", Filter Şifreleme);

Ekstrüdreler

Buraya Liste. Parametreler - Bu, sahne listesi için dinamik liste isteği seçeneklerinin bir listesidir. Ürünün değeri, Form parametresinin FilterPoter'a eşit değerine ayarlanmıştır.

Sonuç olarak, düğmeye basarak Parsel Bir isimlendirme listesi formunda, sadece adlandırma listesindeki tarihte isimlendirme alanının bulunduğu faturaların listesini alacağız.

3. seçeneğin gösterilmesi örneği, 1TITS / EXE / SSS / Open Formampor Directory.DT'de bulunur. Platform sürümünde 8.2.9.356'da bir örnek yapılır.