Ev - Yeni başlayanlar için
Geçerli satırı kullanan 1c komut formu özelliği.

8.2'de bir hat nasıl kurulur ( Yönetilen Formlar) Okumak .

Başlangıç ​​olarak belgenin tablo kısmındaki (veya değerler tablosundaki) veriler ile tablo alanındaki verilerin farklı nesneler olduğunu hatırlatmak isterim. Bazı görsel eylemleri gerçekleştirmek için bir tablo alanıyla çalışıyoruz. Bu durumda hangi satırın aktif olduğundan sorumlu olan “CurrentRow” özelliğini kullanacağız.

Tablo alanında ihtiyacımız olan satırı seçmek için iki adıma ihtiyacımız var:

1. Tablo alanının görüntülediği veri nesnesinde ihtiyacımız olan satırı bulun
Burada ihtiyaç duyulan şeyin bir veri nesnesi olduğunu vurgulamak isterim. Örneğin, Mal ve Hizmet Satışları adlı bir belgemiz var. tablo kısmı“Ürünler” ve belge formunda 2. satırı aktif etmeye karar verdik. Daha sonra belge formu modülüne şunu yazacağız:


// ikinci satırın indeksi birdir
RequiredString = Ürünler;

Veya İsimlendirme sütununun ikinci satırında Kod öğesinin “001” olduğunu biliyorsak o zaman yapıyı kullanırız:


// ilk önce koda göre isimlendirme dizin elemanını bulun
// ve ardından bunu "Ürünler" tablo bölümünde arayın
RequiredLine = Products.Find(Directories.Nomenclature.FindByCode("001"));

2. Mevcut satırın değerini bulunan satıra ayarlayın
Şimdi RequiredRow değişkeninin değerini CurrentRow tablo alanı özelliğine atamamız gerekiyor:


// tablo alanımızın adı da Ürünler ise
Form Elements.Products.CurrentRow = RequiredRow;

// tablo alanının adı TableField1 ise

Sonuç olarak kod satırları şöyle görünebilir:

RequiredLine = Products.Find(Directories.Nomenclature.FindByCode("001"));
Form Elements.TableField1.CurrentRow = RequiredRow;

1C'deki birçok nesne için tablo parçaları mevcuttur:

  • Dizinler
  • Dokümantasyon
  • Raporlar ve işleme
  • Hesap planları
  • Karakteristik tip planları
  • Hesaplama türü planları
  • İş süreçleri ve görevler

Tablolu parçalar, bir nesneye ait sınırsız miktarda yapılandırılmış bilgiyi saklamanıza olanak tanır.

Tablo parçalarıyla çalışmak için bazı tekniklere bakalım.

Tablo kısmı nasıl atlanır

Tablo bölümünü geçmek için bir döngü kullanabilirsiniz Her biri için

Döngünün Tablo Kısmındaki Her Satır için

Report(String.TabularPart Nitelikler) ;

EndCycle;

Değişkenin her yinelemesinde Astar Tablo bölümünün bir sonraki satırı iletilir. Satır detaylarının değerleri ifade ile elde edilebilir. Satır.ÖznitelikAdı.

Tablo bölümünün seçilen satırları nasıl alınır ve atlanır

Bir nesnenin tablo kısmındaki bilgileri görüntülemek için bir form öğesi kullanın Tablo alanı. Bir tablo alanında birden çok satırı seçebilme özelliğini etkinleştirmek için değeri ayarlamanız gerekir Çoklu onun mülkünde Seçim modu.

Seçilen satırların listesini almak için aşağıdaki kodu kullanın:

Seçilen satırlar arasında yineleme yapmak için bir döngü kullanın Her biri için:

SelectedRows = FormElements. TabloAlanAdı. Seçilen Satırlar;

Seçilen Satırlar Döngüsünden Her Satır için

//döngü içeriği

EndCycle;

Tablosal bir parçanın (tablo alanı) satırlarının programlı olarak seçilmesi ve seçimlerinin kaldırılması

Bir tablo alanının satırlarının seçimini programlı olarak kaldırmak için:

Form Öğeleri. TabloAlanAdı. SelectedRows. Temizlemek() ;

Bir tablo alanının tüm satırlarını programlı olarak seçmek için:

TabularPart Döngüsünden her CurrentRow için
Form Öğeleri. TabloAlanAdı. Seçilen Hatlar. Ekle(GeçerliSatır) ;
EndCycle;

Tablo kısmı nasıl temizlenir?

TabularPart. Temizlemek() ;

Bir tablo bölümünün geçerli satırı nasıl alınır?

Geçerli satır, kullanıcının sahip olduğu dönemdir. şu an imleç bulunur. Bunu elde etmek için formdaki tablo kısmıyla ilişkili kontrol öğesine erişmeniz gerekir.

Normal formlar için kod şöyle görünecektir:

Form Öğeleri. TabloAlanAdı. Güncel veri;

Yönetilen formlar için:

Elementler. TabloAlanAdı. Güncel veri;

Tablo bölümüne yeni bir satır nasıl eklenir

Tablo bölümünün sonuna yeni bir satır ekleme:

NewRow = TabloPart. Eklemek() ;

Tablo bölümünün herhangi bir yerine yeni bir satır eklemek (sonraki satırlar kaydırılacaktır):

NewRow = TabloPart. Ekle(Dizin)
//Index - eklenen satırın numarası. Satır numaralandırma sıfırdan başlar.

Yeni hat. Nesneler1 = "Değer";

Bir tablo satırının ayrıntıları programlı olarak nasıl doldurulur?

Kullanıcı tarafından eklenen bir tablo bölümü satırının ayrıntılarını programlı olarak doldurmanız gerekiyorsa tablo bölümü olay işleyicisini kullanmanız gerekir. Düzenlemeye Başlarken.

İşleyici tarafından oluşturulan prosedürün üç parametresi vardır:

  • Öğe- bir kontrol elemanı içerir Tablo Alanı.
  • Yeni hat- boolean. Değer içerir Doğru eğer eklenirse Yeni hat tablo kısmı ve Yalan, Kullanıcı zaten mevcut bir satırı düzenlemeye başladıysa.
  • Kopyala- boolean. Değer içerir Doğru, eğer kullanıcı satırı kopyalarsa ve Yalan diğer durumlarda.

Bir örneğe bakalım. Diyelim ki tablo bölümünün detaylarını doldurmamız gerekiyor HesapHesap Yeni bir satır eklenmesi durumunda. Mevcut bir satırı düzenlerken muhasebe hesabını değiştirmenize gerek yoktur.

Prosedür TabularPartAtStartEditing(Element, NewRow, Copy)

//Kullanıcı mevcut bir satırı düzenlerse hiçbir şey yapmayız
NewRow DEĞİLSE O zaman
Geri dönmek;
EndIf ;

//Satır yeniyse muhasebe hesabını ayarlayın
TechString = Öğe. Güncel veri; //Tablo bölümünün geçerli satırını al
TechString. Muhasebe = Hesap Planları. Kendi kendini destekleyen. Gerekli Hesap;
Prosedürün Sonu

Öncelikle, verileri içeren bir nesnenin, örneğin Form DataCollection'ın ve verileri görsel olarak görüntüleyen bir nesnenin (Tablo) olduğunu anlamalısınız.

Tabloda yalnızca geçerli satır vardır; her şeyi bulmak için kullanılamaz; mevcut değerler FormDataİlişkili olduğu koleksiyon. Buna karşılık, FormDataCollection'ın geçerli bir satırı yoktur. Bu nesneleri 1C'ye bağlamak için bir Tanımlayıcı kullanılır, çünkü satırların sırası hem görsel kısımda hem de verilerde değiştirilebilir, ancak bağlantının kopmaması gerekir.

Buna bir örnekle bakalım:

Formun bir tür belirtimi var (Değer Tablosu) - asıl tür FormDataCollection olduğundan parantez içinde

Ayrıntılar formda Tablo şeklinde görüntülenir.

Geçerli Tablo Satırına Göre Değer Tablosu Satırını Tanımlama

TK'nin hangi satırının şu anda geçerli olduğunu belirlemek için, önce Tablodaki satır tanımlayıcıyı almanız ve ardından bunu TK'deki satırı bulmak için kullanmanız gerekir.

RowIdentifier = Elements.TZ.CurrentRow; // Tablodaki tanımlayıcıyı alın LineTZ = TZ.FindByIdentifier(StringIdentifier);

Tablodaki geçerli satırı ayarlama

Geçerli tablo satırını ayarlamak için tam tersini yapmanız gerekir. Önce TK tanımlayıcısını alın ve ardından Tablonun geçerli satırını buna ayarlayın.

LineTZ = FormDataCollection; // örneğin 1String Identifier = LineTZ.GetIdentifier() satırını alın; Elements.TK.CurrentRow = RowIdentifier;

Daha kolay anlaşılması için indirebilirsiniz



 


Okumak:



Android akıllı telefonu Wi-Fi aracılığıyla bir PC'ye bağlama Bir telefonu Wi-Fi aracılığıyla bir PC'ye bağlama

Android akıllı telefonu Wi-Fi aracılığıyla bir PC'ye bağlama Bir telefonu Wi-Fi aracılığıyla bir PC'ye bağlama

Bir Android tableti veya telefonu kablosuz olarak bir bilgisayara bağlama. PC'den dosya aktarma ve video izleme. Veri senkronizasyonunun incelikleri hakkında...

True RMS tek doğru ölçümdür

True RMS tek doğru ölçümdür

Giriş Alternatif voltajın trueRMS'sini ölçmek tamamen basit bir iş değildir ve ilk bakışta göründüğü gibi de değildir. Her şeyden önce çünkü...

Mühendislik örnekleri Skylake (LGA1151) - Zionoviki

Mühendislik örnekleri Skylake (LGA1151) - Zionoviki

Intel işlemcilerin mikro mimari nesillerini değiştirirken kaydettiği ilerleme son zamanlarda gözle görülür şekilde yavaşladı. Gerçekten eğer...

Akıllı telefonlar için manyetik kablolar neden tehlikeli ve kullanışlıdır?

Akıllı telefonlar için manyetik kablolar neden tehlikeli ve kullanışlıdır?

Mantis USB'den USB'ye Type-C naylon manyetik kablo, akıllı telefonunuzu şarj cihazına bağlamak için tasarlanmış kullanışlı ve modern bir aksesuardır.

besleme resmi RSS