1c belgenin tablo kısmının bir satırını alın. Belgelerin tablo kısmından veri nasıl alınır? Tablolu bir bölümün geçerli satırı nasıl alınır?

1c belgenin tablo kısmının bir satırını alın.  Belgelerin tablo kısmından veri nasıl alınır?  Tablolu bir bölümün geçerli satırı nasıl alınır?
1c belgenin tablo kısmının bir satırını alın. Belgelerin tablo kısmından veri nasıl alınır? Tablolu bir bölümün geçerli satırı nasıl alınır?
Ana Sayfa Acemi Geliştiriciler İçin Programlamayı Öğrenin

Belgelerin tablo kısmından veri nasıl alınır?

Örneğin, tablo bölümünde belirtilen tüm stok kalemlerini almak istediğiniz bir durumu düşünün. Mal belgeler Mal ve Hizmetlerin Gerçekleştirilmesi.

Bunu yapmak için, aşağıdaki metinle bir sorgu kullanabilirsiniz:

FARKLI SEÇİN Hizmet Mallarının Gerçekleşmesi Olarak Malların Gerçekleşmesi Hizmet Mallarının Gerçekleşmesi Olarak Mallar Belgeden İsimlendirme OLARAK Hizmet Mallarının Gerçekleşmesi Malların Gerçekleşmesi Mallar

Kaynak olarak, belgelerin tablo bölümünü belirtiyoruz - tablo Belge.Malların SatışıHizmetler.Mallar. Bir alanı çıktı alanı olarak bildirin terminoloji Kaynak tablonun bir parçası olan A. Ayrıca, aynı emtia kalemi elbette belgelerde birden fazla bulunabileceğinden, başvuruda bulunuyoruz. ÇEŞİTLİ sorgu çıktı tablosunda yalnızca farklı satırlar elde etmek için.

Örneğin, bir işlem oluşturalım Ürün listesi belgenin seçildiği yer Mal ve Hizmetlerin Gerçekleştirilmesi ve ilgili düğmeye tıklandığında, bu belgenin tablo bölümünde yer alan terminolojinin tekrarlanmayan öğelerinin bir listesi mesaj penceresinde görüntülenir.

Terminoloji seçimini yalnızca belirli bir belgenin tablo bölümündeki terminolojiyle sınırlamak için parametreyi kullanırız. Bağlantı istekteki durumda ( NEREDE...):

FARKLI SEÇİN Hizmet Mallarının Gerçekleşmesi Hizmet Mallarının Gerçekleşmesi Belgeden Sınıflandırma OLARAK Hizmet Mallarının Gerçekleşmesi Hizmet Mallarının Gerçekleşmesi OLARAK Mallar Hizmet Mallarının Gerçekleşmesi NEREDE Malların Gerçekleşmesi Link = & Link

1C'deki birçok nesne için tablo bölümleri mevcuttur:

  • Referans kitapları
  • Belgeler
  • Raporlar ve işleme
  • hesap çizelgeleri
  • Karakteristik türlerinin planları
  • Hesaplama Tipi Planlar
  • İş süreçleri ve görevler

Tablo bölümleri, bir nesneye ait sınırsız miktarda yapılandırılmış bilgiyi depolamanıza izin verir.

Tablo parçalarıyla çalışmanın bazı yöntemlerine bakalım.

Tablo kısmı nasıl atlanır

Tablolu kısımda gezinmek için bir döngü kullanabilirsiniz. Her biri için

TabularPart Döngüsünden her Satır için

Report(String.TablePartAttribute) ;

Döngü Sonu;

Bir değişkenin her yinelemesinde Astar tablo bölümünün bir sonraki satırı aktarılır. String öznitelik değerleri ifade ile elde edilebilir. String.AttributeName.

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

Form öğesi, nesnenin tablo kısmından bilgi görüntülemek için kullanılır. masa alanı. Bir tablo alanında birden fazla satır seçme özelliğini etkinleştirmek için değeri ayarlamanız gerekir. çoklu kendi mülkünde Seçim modu.

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

Döngü, seçilen satırlar üzerinde yineleme yapmak için kullanılır Her biri için:

SelectedLines = FormElements. TableFieldName. Seçilmiş Hatlar;

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

//döngü içeriği

Döngü Sonu;

Tablo bölümünün (tablo alanı) satırlarını programlı olarak seçme ve seçimi kaldırma

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

ElementsForm. TableFieldName. SelectedStrings. Temizlemek() ;

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

TablePart Döngüsünden her CurrentRow için
ElementsForm. TableFieldName. Seçilmiş Hatlar Ekle(CurrentRow) ;
Döngü Sonu;

Elektronik tablo nasıl temizlenir

TabularPart. Temizlemek() ;

Tablolu bir bölümün geçerli satırı nasıl alınır?

Geçerli satır, kullanıcının şu an imleç bulunur. Bunu elde etmek için, tablo bölümüyle ilişkili olan formdaki kontrole başvurmanız gerekir.

İçin düzenli formlar kod şöyle görünecek:

ElementsForm. TableFieldName. Güncel veri;

Yönetilen formlar için:

Elementler. TableFieldName. Güncel veri;

Elektronik tabloya yeni bir satır nasıl eklenir

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

YeniSatır = TabloPart. Eklemek() ;

Tablo bölümünde herhangi bir yere yeni bir satır ekleme (sonraki satırlar kaydırılacaktır):

YeniSatır = TabloPart. Yapıştır(Dizin)
//Dizin - eklenen satırın numarası. Satır numaralandırma sıfırdan başlar.

Yeni hat. Öznitelik1 = "Değer";

Bir tablo satırının ayrıntılarını programlı olarak doldurma

Kullanıcının eklediği tablo bölümü satırının ayrıntılarını programlı olarak doldurmanız gerekirse, tablo bölümünün olay işleyicisini kullanmalısınız. Düzenlemeye Başlarken.

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

  • eleman- bir kontrol içerir Tablo Alanı.
  • Yeni hat- Boole. Değer içerir Doğru eklenirse Yeni hat tablo bölümü ve Yalan, kullanıcı zaten var olan bir satırı düzenlemeye başladıysa.
  • kopyalama- Boole. Değer içerir Doğru kullanıcı dizeyi kopyalıyorsa ve Yalan diğer durumlarda.

Bir örnek düşünün. Tablo bölümünün detaylarını doldurmamız gerektiğini varsayalım. HesapHesap, yeni bir satır eklenmesi durumunda. Mevcut bir satırı düzenlerken genel muhasebe hesabını değiştirmeniz gerekmez.

Prosedür TabularPartAt EditingStart(Öğe, YeniSatır, Kopyala)

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

//Dize yeniyse, hesabı ayarlayın
TextString = Öğe. Güncel veri; //Var akım çizgisi tablo bölümü
TekString. AccountAccount = Hesap Planları. Kendinden destekli. İstenilen Hesap;
Prosedürü Bitir

Para ve malları hesaba katmak için, işletmede yaygın olarak farklı tablolar kullanılır. Hemen hemen her belge bir tablodur.

Bir tablo, depodan sevk edilecek malları listeler. Başka bir tabloda - bu mallar için ödeme yükümlülüğü.

Bu nedenle 1C'de tablolarla çalışmak önemli bir yer tutar.

1C'deki tablolara "masa parçaları" da denir. Referans kitapları, belgeler ve diğerleri bunlara sahiptir.

Sorgu, yürütülmesi sonucunda iki farklı yoldan erişilebilen bir tablo döndürür.

İlk - daha hızlı - seçim, ondan satır almak yalnızca sırayla mümkündür. İkincisi, sorgu sonucunu bir değerler tablosuna boşaltmak ve ardından ona rasgele erişim sağlamaktır.

//Seçenek 1 - sorgu sonuçlarına sıralı erişim

// tabloyu al
Seçim = Query.Execute().Select();
// sırayla sorgu sonucunun tüm satırlarını atla
While Selection.Next() Döngüsü
Rapor(Seçim.Adı);
Döngü Sonu;

//Seçenek 2 - değerler tablosuna yükleme
Sorgu = Yeni Sorgu("Dizin.Nomenklatürden Ad SEÇİN");
// tabloyu al
Tablo = Query.Execute().Upload().
// o zaman tüm satırları da atlayabiliriz
Tablo Döngüsünden her Satır için
Rapor(Dize.Adı);
Döngü Sonu;
//veya dizgelere keyfi olarak erişin
String = Table.Find("Kürek", "Ad");

Önemli bir özellik de sorgu sonucunda elde edilen tabloda tüm sütunların kesin olarak yazılacak olmasıdır. Bu, Adlandırma aramasından Ad alanını isteyerek, N karakterden fazla olmayan izin verilen uzunluktaki Dize türünde bir sütun alacağınız anlamına gelir.

Formdaki tablo (kalın istemci)

Kullanıcı tablo forma yerleştirildiğinde onunla çalışır.

Formlarla çalışmanın temel ilkelerini dersinde ve dersinde tartıştık.

Öyleyse tabloyu formun üzerine yerleştirelim. Bunun için kontrol panelinden tabloyu sürükleyebilirsiniz. Benzer şekilde, menüden Form/Ekle kontrolünü seçebilirsiniz.

Veriler bir konfigürasyonda saklanabilir - bu durumda şeklini düzenlemekte olduğunuz konfigürasyon nesnesinin mevcut (önceden eklenmiş) tablolu bir bölümünü seçmeniz gerekir.

Data özelliğindeki "..." düğmesini tıklayın. Listeyi görmek için tabular parçalar, Nesne dalını açmanız gerekir.

Bir tablo parçası seçerken, 1C'nin kendisi formdaki tabloya sütunlar ekleyecektir. Kullanıcı tarafından böyle bir tabloya girilen diziler, dizin/belge ile birlikte otomatik olarak kaydedilecektir.

Aynı Veri özelliğinde isteğe bağlı bir ad girebilir ve ValueTable türünü seçebilirsiniz.

Bu, keyfi bir değer tablosunun seçildiği anlamına gelir. Otomatik olarak sütun eklemeyecek, otomatik olarak kaydedilmeyecek, ancak onunla istediğinizi yapabilirsiniz.

tıklama sağ tık tabloya bir sütun ekleyebilirsiniz. Sütunun özelliklerinde, adını (1C kodunda referans için), formdaki sütun başlığını, tablo bölümünün niteliğiyle bağlantısını (ikincisi - rastgele bir tablo seçilmediyse, ancak bir tablo parçası).

Formdaki tablo özelliklerinde, kullanıcının satır ekleyip silemeyeceğini belirtebilirsiniz. Daha gelişmiş bir form, ViewOnly onay kutusudur. Bu özellikler, bilgileri görüntülemeye yönelik tabloları düzenlemek için kullanışlıdır, ancak düzenlemeye yönelik değildir.

Tabloyu yönetmek için formda komut panelini görüntülemeniz gerekir. Form/Denetim Ekle/Komut Paneli menü öğesini seçin.

Araç çubuğundaki düğmelerin otomatik olarak görünmesi için komut çubuğunun özelliklerinde Otomatik Tamamlama onay kutusunu seçin.

Formdaki tablo (hafif/yönetilen istemci)

Açık yönetilen form bu eylemler biraz farklı görünüyor. Forma sekmeli bir bölüm yerleştirmeniz gerekirse, Nesne dalını genişletin ve tablolu bölümlerden birini sola sürükleyin. Ve bu kadar!

Bir değerler tablosu yerleştirmeniz gerekiyorsa, yeni bir form özelliği ekleyin ve özelliklerinde türü belirtin - bir değerler tablosu.

Sütun eklemek için, bu form özelliğinde farenin sağ tuş menüsünü kullanın, Özellik sütunu ekle öğesi.

Ardından tabloyu da sola sürükleyin.

Tablonun komut çubuğuna sahip olması için tablo özelliklerinde Kullanım - Komut çubuğu konumu bölümündeki değerleri seçin.

Bir tabloyu Excel'e aktarma

Formda bulunan herhangi bir 1C tablosu yazdırılabilir veya Excel'e yüklenebilir.

Bunu yapmak için tabloda boş bir alana sağ tıklayın ve Listeyi Göster'i seçin.

Yönetilen (ince) bir istemcide, benzer eylemler Tüm işlemler/Görüntüleme listesi menü öğesi kullanılarak gerçekleştirilebilir.