Menü
Bedava
kayıt
ev  /  Multimedya Kuruluşa göre / 1s skd seçimi. ACS yalnızca raporlar için değil - evrensel seçimlerin uygulanması

1c Organizasyona göre SKD seçimi. ACS yalnızca raporlar için değil - evrensel seçimlerin uygulanması

ACS ne için kullanılabilir?

Oluşturulan görüş raporlar içindir.

Aslında aCS yetenekleri evrensel raporlar oluşturmanın ötesine geçiyor.

Ve bugün sana nasıl olduğunu göstereceğiz aCS'yi kullanarak, kullanıcı esnek veri seçimini yapılandırabilecektir... Ayrıca bu seçim, veri alırken ve işlerken kullanılacaktır.

Bu hangi görevler için faydalı olacaktır?

Verelim tipik konfigürasyonlardan örnekler:

  • "Verilerin siteye yüklenmesi" işleniyor
  • Bir fiyat listesinin oluşturulması
  • Verilerin TSD'ye yüklenmesi (veri toplama terminali)
  • Malların segmentasyonu, ortaklar
  • İhtiyaçlara göre siparişlerin oluşturulması (müşteriler, tedarikçiler)
  • 1C'de onarım planlaması: ERP.

Yani, araç, kullanıcıya geniş seçim seçenekleri sağlamanız gereken her yerde kullanışlıdır.

ACS kullanarak kılavuzlu bir biçimde rastgele bir seçim oluşturma

Ders, birlikte çalışmayı kapsar ayarlar bağlayıcı veri kompozisyon şemaları:

  • Formdaki seçimin sonucu
  • Ayarlar bağlayıcısının ve düzen diyagramının programlı bağlantısı
  • ACS'de varsayılan olarak filtrelerin oluşturulması.

ACS seçimine göre filtreleme ile veritabanından veri alma

Video, ayar oluşturucudaki önceden ayarlanmış bir seçimi kullanarak verileri nasıl seçebileceğinizi gösterir.

"Korkunç" nesne kullanılıyor - OutputProcessorResultDataCompositionInValues \u200b\u200bKoleksiyonu.

Aslında, her şey o kadar zor değil - 8 dakika içinde sorunu çözüyoruz.

Bilgi tabanında ACS seçimlerinin saklanması

Derste düşünün aCS bağlayıcı ayarlarını kaydetme Değer deposunu kullanarak.

Bu sorunun nasıl çözüleceğini “1C: Manufacturing Enterprise Management 1.3” yapılandırmasında bulalım.

İyi seyirler! :)

Genel olarak, ACS birçok fırsat sunar.

Kurs sayfasında anlatmak için zamanımız bile olmayan birkaç "püf noktası".

Eğer toplaman gerekiyorsa farklı kaynaklardan verilerÜç seçenek var.

Tüm veriler için tek bir "evrensel" sorgu oluşturmayı deneyebilir (uzun bir süre için), bir döngüde birkaç sorgunun verilerini görüntüleyebilir (katı, esnek olmayan yapı) - veya yalnızca ACS ve veri kümesi bağlantısı bir istek yerine.

Aynı zamanda, doğru sonuçlar elde etmek önemlidir - birkaç kaynak varsa bunun bazı özellikleri vardır.

ACS ile şunları yapabilirsiniz: rapordaki her tarihin en son görüntüsünü alın.

Veya netlik açısından, - her satış tarihi için bir ürünün fiyatını al.

ACS'nin yardımıyla organize edebilirsiniz dönem için tüm tarihlerin raporuna çıktıve yalnızca raporda veri bulunanlar değil (tarihlerin programlanmadan eklenmesi, yalnızca ACS özellikleriyle)

ACS'yi kullanarak, dönemlerin eklenmesiyle (yıl / çeyrek / ay, vb.) İç içe gruplandırmalar düzenleyebilirsiniz.

Raporu özelleştirin, örneğin, sütun başlığını dikey olarak ve bu sütundaki verileri yatay olarak görüntüleyin.

Raporda verilerin hangi sıklıkta gösterileceğini kullanıcının seçmesine izin verin (yıllara göre, üç aylık dönemlere göre, aylara göre) - rapor modülünü düzenlemeden yalnızca ayarlarla.

Bir rapordaki birkaç koşul nasıl VEYA bağlanır? Örneğin, rapor oluşturucuda böyle bir olasılık yoktur - ancak ACS'de bulunur

Özet verileri bir grafik biçiminde görüntülerseniz, görünümünü tam olarak kontrol edebilmeniz gerekir: bir seri için işaretçilerin görünürlüğü, grafik serisinin renklerini değiştirme, geçmiş verileri grafikte gelecekteki verilerden dikey bir çizgi ile ayırma vb.

Elbette burada dikkat etmeniz gereken nüanslar var.

Bir rapor oluştururken geliştirici sorgu metninde hata ayıkladı, ancak bu sorgu ACS'deki raporda kullanıldığında sistem yanlış sonuç veriyor.

Bu nedenle, veritabanından veri almak için sistemin gerçekten yürüttüğü sorguyu alabilmek ve böyle bir sorgunun hatalarını ayıklayabilmek önemlidir.

Rapora kayıt belgesine ayrıntı eklerken, sistem bazen “yanlış” ilk ve son bakiyeler üretir.

Bu nedenle, ACS'deki rapordaki alanların doğru şekilde yapılandırılması önemlidir, böylece kalıntılar doğru ve belgeye göre ve onsuz olarak görüntülenir.

Raporun sonucu, kaynak değerine göre filtrelemenin nerede yapılandırıldığına bağlı olarak değişebilir - rapor düzeyinde ve ayrı bir gruplama düzeyinde, bunu izlemeniz gerekir.

Eğer istersen sKD'de profesyonelce ustalaşın ve günlük işlerinde başvur, kursa kaydolun:

Destek - 2 ay... Kurs hacmi - 34 akademik saat.

Eğitiminizi geciktirmeyin!

Veri oluşturma sistemi için sorgu dilini genişletme

Veri oluşturma sistemi için sorgu dilinin uzantısı, küme parantezleri içine alınmış ve doğrudan sorgu metnine yerleştirilmiş özel sözdizimi talimatları kullanılarak gerçekleştirilir.

Veri oluşturma sistemi sorgu dili uzantısının sözdizimsel öğeleri

SEÇ

Bu cümle, kullanıcının görüntülemek için seçebileceği alanları açıklar. Bundan sonra anahtar kelime Özelleştirme için kullanılabilecek ana sorgu seçim listesindeki alanların takma adları virgülle ayrılmış olarak listelenir.

Örneğin:

(İsimlendirme, Depo SEÇİN)

Alanın diğer adından sonra, bu alandaki alt alanların kullanılma olasılığını gösteren ". *" Karakterlerinin bir kombinasyonu olabilir.

Örneğin, Nomenclature girişi. * Nomenclature alanının alt alanlarını kullanma olasılığını gösterir (örneğin, Nomenclature.Code alanı). SELECT öğesi yalnızca ilk birleştirme isteğinde görünebilir.

NEREDE

Kullanıcının filtre uygulayabileceği alanları açıklar. Bu teklif, tablo alanlarını kullanıyor. Seçilen liste alanı takma adlarının kullanımına izin verilmez. Birliğin her parçası kendi WHERE öğesini içerebilir.

(NEREDE İsimlendirme. *, Depo)

Basit bir örnek

Satış olup olmadığına bakılmaksızın, dönem için satış almanız + tüm öğeyi görüntülemeniz gerekir. Yani, Satış sicilinin ciro tablosundan, ürün kataloğundaki verilerden veri seçmeniz gerekir. Tüm adlandırmaya neden ihtiyacımız olduğu sorusunu atlayalım.

Sorunu çözmek için, kalem ve satış ciro tablosunu sol bağlantıya bağlayan bir sorgu oluşturabilirsiniz, sonuç olarak seçilen dönemde satılmayan kalem için alan değerlerini alacağız Karşı taraf, Sözleşme, numara, Miktar \u003d Null. Böyle bir istek:

Spravochnik.Nomenklatura SprNomenklatura RegistrNakopleniya.Prodazhi.Oboroty ProdazhiOboroty NASIL YAPILIR SprNomenklatura.Ssylka \u003d ProdazhiOboroty.Nomenklatura katılmak sol NASIL ProdazhiOboroty.StoimostOborot maliyeti gibi ProdazhiOboroty.Kontragent, ProdazhiOboroty.DogovorKontragenta, ProdazhiOboroty.KolichestvoOborot AS numarası isimlendirme SprNomenklatura.Ssylka, TERCİH NASIL

İşte sonuç:

Karşı taraf Sözleşme İsimlendirme numara Miktar
boş boş _Test1 boş boş
LLC "Boynuzlar ve Toynaklar" Sözleşme1 Terlik 10 1200
"Gazprom" Harika sözleşme bot ayakkabı 5 13000
boş boş Galoşlar boş boş
boş boş Seçenek listeleri boş boş

Bu örnekte, "Galoşlar" ve "Arduvazlar" öğesinin satışı yapılmamıştır.

Ve seçimi karşı tarafa göre gruplandırırsak, her şey yoluna girecektir, o zaman satılmayan tüm ürünler, Karşı Taraf \u003d Boş olan, ancak müşteri raporda karşı taraf alanına göre keyfi bir seçim yapmak ister (tabii ki bu, Satış sicilindeki karşı taraf anlamına gelir). Nasıl olunur? Sonuçta, aslında, sadece tabloyu filtrelememiz gerekiyor Satış... ACS yapıcısında otomatik tamamlama kullanırsak, alan Karşı taraf, her şey yolunda görünüyor, ancak karşı tarafa göre seçim ile bir rapor yürütürken, öğeyle olan bağlantıdaki tüm kayıtları kaybedeceğiz. Örneğin, seçimi ayarlayalım: Karşı taraf \u003d LLC "Boynuzlar ve Toynaklar"... Sonuç şöyle görünecek:

İstediğimiz şey değil, değil mi?

Sorunu çözmek için, tabii ki, sorguya, örneğin sanal tablonun parametrelerine bir parametre ekleyebilirsiniz. Satış Ciroancak aynı zamanda karşılaştırma türünü belirleme esnekliği de kaybolur.

Bir çözüm var: bunun için sorgu yapıcısı sekmede Veri bileşimi => Tablolar sanal tablonun koşullarına bir koşul alanı ekleyin Satış Ciro ve takma adını şu şekilde değiştirin: Karşı Taraf Seçimi

Kullanıcıyı seçim alanlarıyla karıştırmamak için koşul alanını devre dışı bırakın Karşı taraf ve alanın başlığını değiştirin Karşı Taraf Seçimi


Karşı taraf alanındaki seçimin etkinleştirilmesiyle bu şemanın yürütülmesinin bir sonucu olarak, ortaya çıkan sorgu şu şekilde olacaktır:

NASIL bir meslektaşı ProdazhiOboroty.DogovorKontragenta AS DogovorKontragenta, maliyet olarak ProdazhiOboroty.KolichestvoOborot AS\u003e Numarası, ProdazhiOboroty.StoimostOborot, PREDSTAVLENIESSYLKI (ProdazhiOboroty.DogovorKontragenta) olarak SprNomenklatura.Ssylka isimlendirme ProdazhiOboroty.Kontragent TERCİH NASIL DogovorKontragentaPredstavlenie, PREDSTAVLENIESSYLKI (ProdazhiOboroty.Kontragent) NASIL KontragentPredstavlenie, Referans Adı

Ve buna göre sonuç:

Karşı taraf Sözleşme İsimlendirme numara Miktar
boş boş _Test1 boş boş
LLC "Boynuzlar ve Toynaklar" Sözleşme1 Terlik 10 1200
boş boş bot ayakkabı boş boş
boş boş Galoşlar boş boş
boş boş Seçenek listeleri boş boş

Test1, İsimlendirme dizininde her şeyin yattığı bir gruptur

Yayına, yayında kullanılan raporun XML şeması eklenmiştir. Şemayı Entegre Otomasyonda oluşturdum, ancak her şeyin hem UPP hem de UT 10'da iyi çalışacağını düşünüyorum

Özetleme

Bu örnek, bayrak etkinleştirilmiş bir devre tasarlarsanız, ACS'de kendi filtre ayarlarınızı nasıl oluşturacağınızı ve otomatik olarak oluşturulanları nasıl devre dışı bırakacağınızı gösterir. Otomatik tamamlama.

Kullanmadan devre oluşturmak için yeterli deneyime sahipseniz Otomatik tamamlama - o zaman bu tavsiye mantıklı değil.

Kullanılan yazılım

  • Ekran görüntüsü programıSnimOK!
  • XML dosyası düzenleyici

Çoğu zaman, programcılar veri almak için istekleri kullanmak ve ardından bunları işleme yazmak için işlemek zorunda kaldı. Veriler de talepten elde edildi. Eh, filtre veya filtre olmayan bir sorgu nadirdir. Sorgu örneğini kullanarak bu tür sorgulardaki seçimlerden bahsedelim:

Seçimi kullanıcı için karşı tarafa göre normal formda düzenlemek için, programcı forma aşağıdaki gibi görünen üç öğe yerleştirmek zorunda kaldı:

Bir programcıya farklı karşılaştırma türlerini (eşit, eşit olmayan, bir listede, bir grupta ...) açıklamak ve bu tür karşılaştırmalara dayanarak, son veri alma talebinizi geliştirmek için ne kadar çalışma gerekir.

Bunun ACS kullanılarak nasıl yapılabileceğini görelim. İşleme sürecinde Veri Kompozisyon Şeması türüne sahip bir Düzen oluşturalım ve isteğimizle dolduralım:

Ayarlar sekmesinde, detaylandırmadan yeni bir gruplandırma ve örneğimizde Karşı Taraf alanını ekleyin, çünkü değer tablosundaki her şeyi sonlandıracağız:

Ve Seçim sekmesinde, Karşı Tarafı seçime ekleyin:

Şimdi formu tasarlamaya başlayalım. Kullanıcının çalışacağı seçimi işleme formunda gösterelim. Form üzerinde Tablo alan türünün bir öğesini görüntüleyeceğiz ve ona Bileşik veri türü ile Seçim adını vereceğiz. Ayarlar. Seçim:

Şimdi OnOpening formu için olay işleyicileri ve Çalıştır düğmesine tıklamak için bir işleyici oluşturalım, kod aşağıda gösterilmiştir:

Düzeni değiştir; Prosedür Yürüt Düğmesine Basma (Düğmeye) Sonucu.Clear (); Layout Composer \u003d Yeni DataComposition Layout Composer; LayoutComposition \u003d LayoutComposer.Run (Layout, Composer.GetSettings (), Type ("DataCompositionLayoutGeneratorForValuesCollection")); Bileşim İşlemcisi \u003d Yeni Veri Oluşturma İşlemcisi; LayoutProcessor.Initialize (LayoutDeposit); OutputProcessor \u003d NewDataCompositionOutputProcessorInValuesCollection; OutputProcessor.SetObject (Sonuç); OutputProcessor.Output (LayoutProcessor); FormElements.Result.Columns.Number () \u003d 0 ise FormElements.Result.CreateColumns (); EndIf; EndProcedure ProcedureOnOpen () Layout \u003d Yerleşim Al ("Düzen"); SourceAvailableSettings \u003d NewSourceAvailableDataCompositionSections (Düzen); Linker.Initialize (SourceAvailableSettings); Linker.DownloadSettings (Layout.Default Settings); Prosedürün Sonu

İşleme hazır, başlayarak, herhangi bir karşılaştırma türünü seçebileceğiniz ve Yükleniciler dizininin ayrıntılarına göre ek seçim satırları ekleyebileceğiniz Seçimimizde görünen Karşı Tarafı hemen görebilirsiniz:

Hepsi bu, umarım bu makale tedavilerinizdeki seçimlerin esnekliğini artırmanıza yardımcı olur.

Kononov Sergey