internet pencereler Android

Programlı bir dinamik liste 1c'nin Youtube koşullu tasarımı. Yönetilen formların koşullu görünümü

Örneğin, "Üretim İşletme Yönetimi" sürüm 1.3'teki "Kullanıcı Hakları" karakteristik tipinin planının öğelerinin bir tür listesi var.

Gördüğünüz gibi form yönetilebilir. listeyi, tüm eleman grubu satırları yeşil renkle vurgulanacak şekilde stillendirmemiz gerekiyor. Başlayalım!

Örnek

Elemanların dekorasyonu yönetilen formlar koşullu form tasarımı kullanılarak gerçekleştirilir:

Sorunumuzu çözmek için aşağıdaki ayarlarla koşullu bir tasarım öğesi ekleyelim:


Formu bir sonraki açışınızda, karakteristik tiplerin plan grubu satırları yeşil renkle vurgulanmalıdır. Ama ... bu olmaz!


Buradaki nokta, karakteristik tipler tablosunun eleman ve gruplarının listesinin, "Dinamik liste" tipinde bir form nesnesi kullanılarak formda görüntülenmesidir. Dinamik listeler, filtreler ve koşullar dahil olmak üzere veri oluşturma sisteminin özelliklerini kullanır. İkincisi, formun kendisinin koşullu tasarım ayarlarını göz ardı ederek listenin son tasarımını belirler. Dinamik liste için benzer koşullu görünüm ayarlarını ekleyelim.


Tek fark, tüm görünür liste alanlarının, koşullu tasarımın uygulanması gereken biçimlendirilmiş alanlar listesine eklenmesi gerektiğidir.

Çözüm

Yönetilen formlarda koşullu olmanın her zaman işe yaramadığını sık sık duydum. Sonuç olarak, dinamik liste için değil, form için ayarları yaptığınız ortaya çıktı.

Umarım bu makale, koşullu tasarımla ilgili sorunları çözerken birilerine biraz zaman kazandırır.

koşullu tasarım yönetilen formlar

ACS ile çalışan ve ACS hakkında raporlar oluşturanların çoğu, kulaktan dolma değil koşullu tasarım hakkında bilgi sahibidir. Bir alanın yazı tipini, bir hücrenin rengini veya başka bir alandaki değere bağlı olarak sunumu değiştirmek zaten oldukça yaygın bir şey.

Ancak, yönetilen formların koşullu tasarımında daha az yaygınız. Daha az güçlü, işlevsel ve gerekli bir mekanizma olmamasına rağmen.
O nasıl biri. Ve her şey aynı. Bazı koşullara göre, tablo form öğelerinin alanlarının görünümlerini veya özelliklerini özelleştirebiliriz ve bunlar anında değişecektir.

Dinamik liste alanları ve tablo alanları hakkında konuşuyorum. Burada koddan ayrı bir sütuna başvurabilir ve bir kerede tüm sütun için özellikleri ayarlayabiliriz, ancak ayrı bir alanın özelliklerini ayarlayamayız.

Alıntı

Önemli!!! Birçok insan bununla yüzleşir ve zamanını boşa harcar. Koşullu görünüm, normal form alanları için çalışmaz (tablo değil).

Alanları renklendirmenin yanı sıra nerelerde kullanılabilir. Klasik bir örnek, tablo bölümündeki görünümlerin sunumudur. Muhasebe için standart olarak üç tane olabilir. Ve genellikle bir alanda, diğerinin altında sıralanırlar. Her satırın kendi puanı olabileceğinden, analistlerin kompozisyonu farklı olabilir. Ve genel olarak, her satırda 3 analiz görüntülerseniz, çok fazla yer kaplar. Ve eğer bir yerde bir subkonto'nun yeterli olduğunu varsayarsak, bunu neden yapalım, bir yerde iki.

Form özelliklerine göre ayarlama

İşlemde oluşturulan tablo bölümünün bir örneğini ele alalım.

Ekleyeceğimiz bir işleme oluşturalım tablo parçası Altconto'nun üç ayrıntısını ve satırdaki altconto sayısını gösterecek olan Number of Subconto özniteliğini ekleyin.

Formun koşullu görünümünün ayarı, Görünüm sekmesindeki formun özelliklerinde bulunur.

Şimdi görevimiz, programa Altconto 1 alan satırındaki değerle, sadece Subconto1'in görüntülenmesi gerektiğini, 2: Subconto1 ve Subconto2 değeriyle, 3: Subconto1, Subconto2, Subconto3 değerini belirtmektir.

Bunun için koşullu görünüm ayarlama formu kullanılır.

Biçimlendirilecek alanlar sütununda Altconto1, Subconto2, Subconto3 alanlarını belirtin. Her alan için farklı bir tasarım olacağı için 3 satır elde edeceğiz.

Görünürlük özelliğini çıkaracağımızı belirtiyoruz.

Ayrıca görünürlüğün kapatılacağı koşulu da ayarlayın.

Bakalım işletmede neler olmuş. Aynı zamanda, tablo bölümüne satırlar ekleyin ve alt konto sayısı için değerleri düzenleyin.

Gördüğünüz gibi, farklı satırlar farklı sayıda alan görüntüler.

koda göre ayar

Özelliklerle özelleştirmenin ötesinde bu ayar program kodu kullanılarak üretilebilir.
Yerleşik bir yapılandırma kullanıyorsanız, şöyle görünecektir (bu, tüm tipik yapılandırmalar için geçerlidir):

ElementUO = Koşullu.Elements.Add ();
DataCompositionClientServer.Add FormableField (ElementUO.Fields, "TabularSubConto2");

SharedAppointmentClientServer.AddCompositionElement (UO.Selection,
"TabularPartNumberSubconto", DataCompositionComparisonView.Less, 2);

ElementUO.Design.SetValueParameter ("Görünürlük", Yanlış);


BSP'nin kullanılmaması durumunda kod biraz daha uzun olacaktır. Size aynı BSP'nin tipik prosedürlerini vereceğim.

AddFieldField (StyledFields Collection, FieldName) İşlevi

ElementField = StyledFields.Elements.Add ();
ElementField.Field = NewDataCompositionField (FieldName);

ElementField döndürme;

EndFunction


İşlev AddCompositionElement (AddScope,
Değer AlanAdı,
Değer GörünümüKarşılaştırma,
Değer RightValue = Tanımsız,
Değer Temsili = Tanımsız,
Değer Kullanımı = Tanımsız,
değer Görüntüleme Modu = Tanımsız,
valueCustomSettingId = Tanımsız) Dışa Aktar

Öğe =AddScope.Elements.Add (Tür ("DataCompositionFeatured Öğesi"));
Element.LeftValue = NewDataCompositionField (FieldName);
Element.CompareType = KarşılaştırmaTürü;

Görüntü Modu = Tanımsız ise
Item.DisplayMode = DisplayMode ofDataCompositionSettingsSettings.Kullanılamaz;
Aksi takdirde
Element.Display Modu = Görüntüleme Modu;
EndIf;

Eğer RightValue<>O zaman tanımsız
Element.RightValue = RightValue;
EndIf;

Görünüm<>O zaman tanımsız
Element.View = Görünüm;
EndIf;

Kullanılırsa<>O zaman tanımsız
Element.Use = Kullanım;
EndIf;

// Önemli: tanımlayıcının ayarlanması yapılmalıdır
// eleman ayarının sonunda, aksi takdirde kopyalanacak
// içinde özel ayarlar kısmen doldurulmuş.
Özel Ayarlar Kimliği<>O zaman tanımsız
Element.CustomSettingId = UserSettingId;
ElseIf Element.Görüntüleme Modu<>ÖğeGörüntüleme ModuVeriKompozisyon Ayarları.Sonra Kullanılamaz
Element.CustomSettingsID = AlanAdı;
EndIf;

Ürünü geri vermek;

Bu yayında, geçerli tarih ve geçerli saatten bir belge günlüğündeki (dinamik liste) süresi dolmuş belgelerin renklendirme çizgilerinin bir örneğini ele alacağız.

Görevimiz, Son Tarih Güncel tarihten daha az ise, güncel tarihin sürekli değiştiğini dikkate alarak çizgiyi pembeye boyamak. Yani güncel tarih dinamik olarak okunmalı ve ilk açılışta belirlenmemelidir.

Yönetilen bir biçimde nasıl yapılacağını öğreneceğiz:

Bir bekleme işleyicisi kullanın;

Dinamik bir listenin koşullu görünümünü programlı olarak yapılandırın

Diyelim ki “Terimi Kontrol Et” özniteliğine ve “Tarih” türüne sahip bir “Akıllı sipariş” belgemiz var (tarihin bileşimi “Tarih ve Saat” tir):

Ve bu gerekliliğe karşılık gelen "Kontrol Terimi" sütunu ile "Akıllı Sipariş" belge günlüğü:

Görevimiz, Son Tarih Güncel tarihten daha az ise, güncel tarihin sürekli değiştiğini dikkate alarak çizgiyi pembeye boyamak.

Yönetilen bir form oluşturalım:

Şimdi sunucu üzerinde oluşturduğumuzda "RenewalDisplayOnDisplayOnServer" string renklendirme prosedürünü çağıracağız. Ve bu prosedürü belirli bir frekansta arayacağız.