Raporlardaki özel alanlar 1s 8.3. Veri Birleştirme Sistemi İfade Dili (1Cv8)

Raporlardaki özel alanlar 1s 8.3.  Veri Birleştirme Sistemi İfade Dili (1Cv8)
Raporlardaki özel alanlar 1s 8.3. Veri Birleştirme Sistemi İfade Dili (1Cv8)

Yetkin bir yönetim için, herhangi bir ticari kuruluşun, malların mevcut durumu, satışlar ve karlar hakkında hızlı bir şekilde bilgi edinmesi gerekir. Bununla birlikte, kuruluşların genellikle en geniş ürün yelpazesiyle çalıştıkları ve büyük miktar analitik rapor kurulum aracı, gerekli bilgilerin elde edilmesinde önemli bir rol oynar. Tipik bir programın (rev. 11) raporlarında özel alanlarla çalışma prosedürüne daha yakından bakalım.

1C: Enterprise 8 platformunun geliştirilmesi, kullanıcılara giderek daha fazla fırsat sunuyor. Örneğin, sürüm 8.2'de raporlar daha esnek hale geldi ve kalifiye programcıların yardımı olmadan çeşitli gereksinimler için özelleştirilmelerine olanak sağladı.

Rapor ayarlarını değiştir

Rapor ayarlarını görüntülemek veya değiştirmek için "Tüm işlemler" menüsüne gidin ve "Varyantı değiştir" komutunu seçin. Bundan sonra, kullanıcının önünde açık rapor için ayarların bulunduğu bir pencere açılır.

Ayarlar penceresinin üst kısmında, rapor sütunlarının ve satır gruplarının görsel bir yansımasından başka bir şey olmayan ve esasen analitik verilerin görüntülenme sırasını hayal etmeyi mümkün kılan rapor yapısını görebilirsiniz. bu rapor.

Ayarlar penceresinin altında, raporla veya yapısının öğeleriyle (sütunlar ve satır gruplamaları) ilgili gerçek bilgiler ve saha ayarları görüntülenir.

Özel Alanlar

bir programda 1C: Ticaret yönetimi 8 Sürüm 11 rapor ayarları, kullanıcılara oluşumlarında daha fazla seçenek sunar.

Raporların ayarlarını ve yapısını düzenleme penceresinde, kullanıcıların özellikle dikkatini " sekmesine çekmek istiyorum. Özel Alanlar”, kendi alanlarınızı oluşturmanıza ve bunları rapora eklemenize olanak tanır. Daha önce kullanıcının yalnızca geliştirici tarafından uygulanan alanları kullanabileceği unutulmamalıdır.

Bu fonksiyonun kullanımını bir örnekle ele alalım.

Moskova'da ve bölgelerde mal satan bir ticaret şirketinin başkanının, Satış Geçmişi raporunu kendi gereksinimlerine uyacak şekilde özelleştirmek istediğini, ürünün Moskova'da ve genel olarak bölgelerde ve ortaklara satışına ilişkin verileri görüntülemek istediğini varsayalım. . Özel alanları kullanarak bunu yapmak çok kolaydır.

Bu nedenle, açıklayıcı örnek, tipik bir programdaki kullanıcı alanlarının esnek ayarlarının 1C: Ticaret yönetimi 8 kullanıcı sağlamak geniş fırsatlar rapor ayarlarında, gerekli bilgileri uygun bir şekilde hızlı bir şekilde almanızı sağlar.

Veri Bileşimi Sistem İfade Dili

Veri birleştirme sisteminin ifade dili, sistemin çeşitli bölümlerinde kullanılan ifadeleri kaydetmek için tasarlanmıştır.

İfadeler aşağıdaki alt sistemlerde kullanılır:

  • veri birleştirme şeması - hesaplanan alanları, toplam alanları, bağlantı ifadelerini vb. açıklamak için;
  • veri oluşturma ayarları - özel alan ifadelerini açıklamak için;
  • veri oluşturma düzeni - veri kümesi ilişki ifadelerini açıklamak, düzen parametrelerini açıklamak vb. için.

değişmezler

İfade sabit değerler içerebilir. Aşağıdaki türlerin olası sabit değerleri:

  • Astar;
  • Sayı;
  • Tarihi;
  • Boole

Astar

""" karakterlerinde bir dize sabit değeri yazılır, örneğin:

"Dize sabit değeri"

Dize hazır bilgisi içinde """ karakterini kullanmanız gerekiyorsa, bu tür iki karakter kullanmalısınız.

Örneğin:

“gerçek”“tırnak içinde“““

Sayı

Sayı boşluksuz, ondalık biçimde yazılır. Kesirli kısım "." karakteri ile ayrılır. Örneğin:

10.5 200

tarih

Bir tarih türü değişmez değeri, DATETIME anahtar değişmez değeri kullanılarak yazılır. Bundan sonra anahtar kelime, parantez içinde virgülle ayrılmış olarak yıl, ay, gün, saat, dakika, saniye sıralanır. Zaman göstergesi gerekli değildir.

Örneğin:

DATETIME(1975, 1, 06) - 6 Ocak 1975 DATETIME(2006, 12, 2, 23, 56, 57) - 2 Aralık 2006, 23:56:57 saniye, 23:56:57 saniye

mantıksal

Boole değerleri True (True), False (False) değişmezleri kullanılarak yazılabilir.

Anlam

Diğer türlerdeki sabit değerleri belirtmek için (sistem numaralandırmaları, önceden tanımlanmış veriler), Value anahtar kelimesi ve ardından parantez içindeki değişmez ad kullanılır.

Value(AccountType. Active)

Sayılarla ilgili işlemler

tekli -

Bu işlem, bir sayının işaretini tersine çevirmek için tasarlanmıştır. Örneğin:

Satış miktarı

tekli +

Bu işlem numara üzerinde herhangi bir işlem gerçekleştirmez. Örneğin:

Satış miktarı

ikili -

Bu işlem iki sayının farkını hesaplamak için tasarlanmıştır. Örneğin:

Bakiyeler Ve Cirolar. İlk Bakiye - Bakiyeler Ve Cirolar. Son Bakiye Bakiyeler Ve Cirolar. İlk Bakiye - 100 400 - 357

ikili +

Bu işlem, iki sayının toplamını hesaplamak için tasarlanmıştır. Örneğin:

Bakiyeler Ve Cirolar. İlk Bakiye + Bakiyeler Ve Cirolar. Ciro Bakiyeleri Ve Cirolar. İlk Bakiye + 100 400 + 357

İş

Bu işlem, iki sayının çarpımını hesaplamak için tasarlanmıştır. Örneğin:

İsimlendirme Fiyat * 1,2 2 * 3,14

Bölüm

Bu işlem, bir işleneni diğerine bölme sonucunu elde etmek için tasarlanmıştır. Örneğin:

İsimlendirme Fiyat / 1.2 2 / 3.14

Bölümün geri kalanı

Bu işlem, bir işlenenin diğerine bölünmesinden kalanını elde etmek için tasarlanmıştır. Örneğin:

Sınıflandırma Fiyat % 1,2 2 % 3,14

Dizeler üzerindeki işlemler

Birleştirme (İkili +)

Bu işlem iki diziyi birleştirmek için tasarlanmıştır. Örneğin:

İsimlendirme.Madde + “: ”+ İsimlendirme.İsim

Beğenmek

Bu işlem, bir dizginin verilen kalıpla eşleşip eşleşmediğini kontrol eder.

LIKE operatörünün değeri, değer ise TRUE'dur.<Выражения>kalıpla eşleşir, aksi takdirde FALSE.

Aşağıdaki karakterler<Строке_шаблона>dizgedeki başka bir karakterden başka bir anlamı vardır:

  • % - yüzde: sıfır veya daha fazla rasgele karakter içeren bir dizi;
  • _ - alt çizgi: rastgele bir karakter;
  • […] - köşeli parantez içindeki bir veya daha fazla karakter: bir karakter, köşeli parantez içinde listelenen karakterlerden herhangi biri. Bir numaralandırma, aralığın uçları da dahil olmak üzere aralık içindeki herhangi bir karakter anlamına gelen a-z gibi aralıklar içerebilir;
  • [^…] - köşeli parantezler içinde bir veya daha fazla karakterin izlediği bir olumsuzlama simgesi: olumsuzlama simgesinden sonra listelenenler dışındaki herhangi bir karakter;

Diğer herhangi bir sembol kendisi anlamına gelir ve herhangi bir ek yük taşımaz. Listelenen karakterlerden birinin kendisi olarak yazılması gerekiyorsa, önüne<Спецсимвол>ESCAPE anahtar sözcüğünden sonra belirtilen.

Örneğin, şablon

“%ABC[abc]\_abc%” ÖZEL KARAKTER “\”

bir karakter dizisinden oluşan bir alt dize anlamına gelir: A harfleri; B harfleri; B harfleri; Bir basamak; a, b, c veya d harflerinden biri; alt çizgi karakteri; a harfleri; b harfleri; harfler Üstelik bu sıra dizide herhangi bir konumdan başlayarak yerleştirilebilir.

Karşılaştırma işlemleri

eşittir

Bu işlem, eşitlik için iki işleneni karşılaştırmak üzere tasarlanmıştır. Örneğin:

Sales.Counterparty = Sales.NomenclatureMainSupplier

Eşit değil

Bu işlem, eşitsizlik için iki işleneni karşılaştırmak üzere tasarlanmıştır. Örneğin:

Satış.Yüklenici<>Sales.AdlandırmaAnaTedarikçi

Az

Bu işlem, birinci işlenenin ikinciden küçük olup olmadığını kontrol etmek için tasarlanmıştır. Örneğin:

SatışMevcut.Miktar< ПродажиПрошлые.Сумма

Daha

Bu işlem, birinci işlenenin ikinciden büyük olup olmadığını kontrol etmek için tasarlanmıştır. Örneğin:

SalesCurrent.Amount > SalesPast.Amount

Daha az veya eşit

Bu işlem, birinci işlenenin ikinci işlenenden küçük veya ona eşit olduğunu kontrol etmek için tasarlanmıştır. Örneğin:

SatışMevcut.Miktar<= ПродажиПрошлые.Сумма

Daha fazla veya eşit

Bu işlem, birinci işlenenin ikinci işlenenden büyük veya ona eşit olduğunu kontrol etmek için tasarlanmıştır. Örneğin:

SalesCurrent.Amount >= SalesPast.Amount

Operasyon B

Bu işlem, iletilen değerler listesinde bir değerin varlığını kontrol eder. Değer bulunursa işlemin sonucu True, aksi takdirde False olur. Örneğin:

Öğe B (&Öğe1, &Öğe2)

Bir veri kümesinde bir değer olup olmadığını kontrol etme işlemi

İşlem, belirtilen veri kümesinde bir değerin varlığını kontrol eder. Doğrulama veri kümesi bir alan içermelidir. Örneğin:

Satış Yükleniciden Yükleniciye

NULL kontrol işlemi

Değer NULL ise bu işlem True döndürür. Örneğin:

Satış.Yüklenici BOŞ

NULL olmayan bir değer için kontrol işlemi

Değer NULL değilse, bu işlem True değerini döndürür. Örneğin:

Satış.Yüklenici BOŞ DEĞİL

Boole işlemleri

Mantıksal işlemler, Boolean türündeki ifadeleri işlenenler olarak kabul eder.

Operasyon DEĞİL

DEĞİL operatörü, işleneni False ise True değerini, işleneni True ise False değerini döndürür. Örneğin:

DEĞİL Belge.Alıcı = Belge.Gönderen

operasyon VE

AND işlemi, her iki işlenen de True ise True döndürür ve işlenenlerden biri False ise False döndürür. Örneğin:

Document.Alıcı = Document.Consignor VE Document.Alıcı = &Yüklenici

VEYA işlemi

OR işlemi, işlenenlerden biri True ise True, her iki işlenen de False ise False döndürür. Örneğin:

Document.Alıcı = Document.Consignor VEYA Document.Alıcı = &Yüklenici

Toplu işlevler

Toplama işlevleri, bir veri kümesi üzerinde bazı eylemler gerçekleştirir.

toplam

Toplama işlevi, tüm detay kayıtları için kendisine argüman olarak iletilen ifadelerin değerlerinin toplamını hesaplar. Örneğin:

Miktar(Satış.MiktarCiro)

Miktar

Count işlevi, boş olmayan değerlerin sayısını sayar. Örneğin:

Miktar(Satış.Yüklenici)

farklı sayısı

Bu işlev sayıyı hesaplar Farklı anlamlar. Örneğin:

Adet(Çeşitli Satışlar. Yüklenici)

Maksimum

Fonksiyon maksimum değeri alır. Örneğin:

Maksimum(Kalanlar. Miktar)

Asgari

Fonksiyon minimum değeri alır. Örneğin:

Minimum(Bakiye. Miktar)

Ortalama

İşlev, boş olmayan değerlerin ortalamasını alır. Örneğin:

Ortalama(Kalanlar. Miktar)

Diğer işlemler

operasyon SEÇ

Seçme işlemi, belirli koşullar altında birkaç değerden birini seçmek için tasarlanmıştır. Örneğin:

Toplam > 1000 Sonra Toplam Başka 0 Bittiğinde Seç

İki Değeri Karşılaştırma Kuralları

Karşılaştırılan değerlerin türleri birbirinden farklıysa, türlerin önceliğine göre değerler arasındaki ilişki belirlenir:

  • NULL (en düşük);
  • boole;
  • Sayı;
  • Tarihi;
  • Astar;
  • Referans türleri

Farklı referans türleri arasındaki ilişkiler, belirli bir türe karşılık gelen tabloların referans numaralarına göre tanımlanır.

Veri türleri eşleşirse, değerler aşağıdaki kurallara göre karşılaştırılır:

  • tür Boolean DOĞRU, YANLIŞ'tan büyüktür;
  • type Number, sayılar için olağan karşılaştırma kurallarına sahiptir;
  • Tarih türü için önceki tarihler sonraki tarihlerden daha küçüktür;
  • Dize türü için - veritabanının belirlenmiş ulusal özelliklerine göre dizilerin karşılaştırılması;
  • referans türleri değerlerine (kayıt numarası vb.) göre karşılaştırılır.

NULL ile çalışmak

İşlenenlerden birinin değerinin NULL olduğu herhangi bir işlem, NULL sonucu üretecektir.

İstisnalar var:

  • AND işlemi, yalnızca işlenenlerin hiçbiri Yanlış değilse NULL döndürür;
  • OR işlemi, yalnızca işlenenlerden hiçbiri True değilse NULL döndürür.

Operasyon Öncelikleri

İşlemler aşağıdaki önceliklere sahiptir (ilk satır en düşük önceliğe sahiptir):

  • B, IS NULL, IS NOT NULL;
  • =, <>, <=, <, >=, >;
  • İkili +, İkili – ;
  • *, /, %;
  • Birli +, Birli -.

Veri Bileşimi Sistem İfade Dil İşlevler

Hesaplamak

Hesapla işlevi, bazı gruplamalar bağlamında bir ifadeyi hesaplamak için tasarlanmıştır. İşlev aşağıdaki parametrelere sahiptir:

  • İfade. Dize yazın. Hesaplanmış bir ifade içerir;
  • Gruplama. Dize yazın. Bağlamında ifadenin değerlendirileceği gruplamanın adını içerir. Grup adı ise boş satır, hesaplama geçerli gruplama bağlamında gerçekleştirilecektir. Gruplama adı olarak GrandTotal dizesi kullanılırsa, hesaplama genel toplam bağlamında gerçekleştirilecektir. Aksi takdirde, hesaplama o ada sahip üst gruplama bağlamında gerçekleştirilecektir. Örneğin:
Tutar(Satış.AmountCiro) / Hesapla("Tutar(Satış.AmountCiro)", "ToplamToplam")

İÇİNDE bu örnek sonuç olarak gruplama kaydının "Sales.AmountCirro" alanındaki tutarın, tüm düzendeki aynı alanın tutarına oranını alırsınız.

Seviye

İşlev, geçerli kayıt düzeyini elde etmek için tasarlanmıştır.

Seviye()

Sıradaki Numara

Bir sonraki sıra numarasını alın.

Sipariş numarası()

Sıralamada Gruplamada Sayı

Geçerli gruplamadaki bir sonraki sıra numarasını verir.

NumberInOrderInGroup()

Biçim

Geçirilen değerin biçimlendirilmiş dizesini alın.

Format dizgisi, 1C:Enterprise format dizgisine göre ayarlanır.

Seçenekler:

  • Anlam;
  • Biçim dizesi.

Format(Harcama Faturaları.MiktarDoc, "NPV=2")

dönemin başlangıcı

Seçenekler:

    • Dakika;
    • Gün;
    • Bir hafta;
    • Ay;
    • Çeyrek;
    • On yıl;
    • Yarı yıl.

PeriodStart(DateTime(2002, 10, 12, 10, 15, 34), "Ay")

Sonuç:

01.10.2002 0:00:00

Bitiş Dönemi

İşlev, belirli bir tarihten belirli bir tarihi çıkarmak için tasarlanmıştır.

Seçenekler:

  • Tarihi. Tarih yazın. Verilen tarih;
  • Dönem türü. Dize yazın. Aşağıdaki değerlerden birini içerir:
    • Dakika;
    • Gün;
    • Bir hafta;
    • Ay;
    • Çeyrek;
    • On yıl;
    • Yarı yıl.

EndPeriod(DateTime(2002, 10, 12, 10, 15, 34), "Hafta")

Sonuç:

13.10.2002 23:59:59

Tarih ekle

İşlev, tarihe bir miktar değer katmak için tasarlanmıştır.

Seçenekler:

  • Büyütme türü. Dize yazın. Aşağıdaki değerlerden birini içerir:
    • Dakika;
    • Gün;
    • Bir hafta;
    • Ay;
    • Çeyrek;
    • On yıl;
    • Yarı yıl.
  • Değer - tarihi ne kadar artırmak istediğinize göre. Numara giriniz. Kesirli kısım dikkate alınmaz.

AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Ay", 1)

Sonuç:

12.11.2002 10:15:34

FarkTarihi

İşlev, iki tarih arasındaki farkı elde etmek için tasarlanmıştır.

Seçenekler:

  • İfade. Tarih yazın. orijinal tarih;
  • İfade. Tarih yazın. Çıkarılan tarih;
  • Fark türü. Dize yazın. Aşağıdaki değerlerden birini içerir:
    • Saniye;
    • Dakika;
    • Gün;
    • Ay;
    • Çeyrek;

DATEDIFF(DATETIME(2002, 10, 12, 10, 15, 34), DATETIME(2002, 10, 14, 9, 18, 06), "GÜN")

Sonuç:

alt dizi

Bu işlev bir diziden bir alt diziyi çıkarmak için tasarlanmıştır.

Seçenekler:

  • Astar. Dize yazın. Alt dizenin çıkarıldığı dize;
  • Konum. Numara giriniz. Diziden çıkarılacak alt dizenin başladığı karakterin konumu;
  • Uzunluk. Numara giriniz. Seçilen alt dizenin uzunluğu.

SUBSTRING(Hesaplar.Adres, 1, 4)

IP uzunluğu

İşlev, bir dizenin uzunluğunu belirlemek için tasarlanmıştır.

Parametre:

  • Astar. Dize yazın. Uzunluğu belirlenmekte olan dize.

String(Hesaplar.Adres)

Yıl

Bu işlev, Date türündeki bir değerden yılı çıkarmak için tasarlanmıştır.

Parametre:

  • Tarihi. Tarih yazın. Yılın belirlendiği tarih.

YIL(Dahil.Tarih)

Çeyrek

Bu işlev, Çeyrek sayısını Tarih türünün değerinden çıkarmak için tasarlanmıştır. Blok numarası normalde 1 ile 4 arasında değişir.

Parametre

  • Tarihi. Tarih yazın. Çeyreğin belirlendiği tarih
ÇEYREK(Fatura.Tarihi)

Ay

Bu işlev, Date türündeki bir değerden ayın sayısını çıkarmak için tasarlanmıştır. Ay numarası normalde 1 ila 12 aralığındadır.

  • Tarihi. Tarih yazın. Ayın belirlendiği tarih.
AY(Fatura.Tarihi)

yılın günü

Bu işlev, bir Tarih türü değerinden yılın gününü almak için tasarlanmıştır. Yılın günü normalde 1 ile 365(366) arasında değişir.

  • Tarihi. Tarih yazın. Yılın gününün belirlendiği tarih.
YILIN GÜNÜ(Exp.Inc.Date)

Gün

Bu işlev, Date türündeki bir değerden ayın gününü almak için tasarlanmıştır. Ayın günü normalde 1 ile 31 arasında değişir.

  • Tarihi. Tarih yazın. Ayın günlerinin belirlendiği tarih.
GÜN(Exp.Inc.Tarih)

Bir hafta

Bu işlev, Date türündeki bir değerden yılın haftasının sayısını almak için tasarlanmıştır. Yılın haftaları 1'den başlayarak numaralandırılır.

  • Tarihi. Tarih yazın. Hafta numaralarının belirlendiği tarih.
HAFTA(Exp.Inc.Tarih)

Haftanın günü

Bu işlev, Date türündeki bir değerden haftanın gününü almak için tasarlanmıştır. Haftanın günü normalde 1 (Pazartesi) ile 7 (Pazar) arasındadır.

  • Tarihi. Tarih yazın. Haftanın gününün belirlendiği tarih.
HAFTANIN GÜNÜ(Exp.Inc.Tarih)

Saat

Bu işlev, bir Tarih türü değerinden günün saatini almak için tasarlanmıştır. Günün saati 0 ila 23 arasındadır.

  • Tarihi. Tarih yazın. Günün saatinin belirlendiği tarih.
SAAT(Exp.Inc.Tarih)

Dakika

Bu işlev, bir Tarih türü değerinden saatin dakikasını almak için tasarlanmıştır. Saatin dakikası 0 ile 59 arasında değişir.

  • Tarihi. Tarih yazın. Saatin dakikasının belirlendiği tarih.
DAKİKA(Exp.Inc.Date)

Saniye

Bu işlev, bir Tarih türü değerinden bir dakikanın saniyesini almak için tasarlanmıştır. Dakikanın saniyesi 0 ile 59 arasında değişir.

  • Tarihi. Tarih yazın. Dakikanın saniyelerinin belirlendiği tarih.
SEC(Exp.Inc.Date)

ifade etmek

Bu işlev, içerebilecek bir ifadeden bir tür seçmek için tasarlanmıştır. bileşik tip. İfade, gerekli türden farklı bir tür içeriyorsa, NULL döndürülür.

Seçenekler:

  • Dönüştürülecek ifade;
  • Tip göstergesi. Dize yazın. Bir tür dizesi içerir. Örneğin, "Sayı", "Dize" vb. İlkel tipler hariç verilen dize bir tablo adı içerebilir. Bu durumda, belirtilen tabloya bir referans ifade edilmeye çalışılacaktır.

Express(Data.Attribute1, "Sayı(10,3)")

Hükümsüz

Bu işlev, birinci parametrenin değeri NULL ise ikinci parametrenin değerini döndürür.

Aksi takdirde ilk parametrenin değeri döndürülür.

IsNULL(Tutar(Satış.MiktarDönüşüm), 0)

Ortak Modül İşlevleri

Veri birleştirme altyapısı ifadesi, genel ortak yapılandırma modüllerine yönelik işlev çağrıları içerebilir. Bu tür işlevleri çağırmak için ek bir sözdizimi gerekmez.

Bu örnekte, genel yapılandırma modülünden "Kısa Ad" işlevi çağrılacaktır.

Paylaşılan modül işlevlerinin kullanımına yalnızca karşılık gelen veri birleştirme işlemcisi seçeneği belirtildiğinde izin verildiğini unutmayın.

Ayrıca, özel alan ifadelerinde ortak modül işlevleri kullanılamaz.

ACS temelinde uygulanan raporların ayarlarını ayrıntılı olarak inceledik. Şimdi daha incelikli bakalım ve ayrıntılı ayarlar rapor seçenekleri. "Gelişmiş" rapor varyantı ayarları penceresi "Diğer" - "Diğer" - "Rapor varyantını değiştir" komutuyla çağrılır.

Bir rapor varyantını değiştirme penceresi iki bölüme ayrılmıştır:

1. Raporun yapısı.

2. Rapor ayarları.


Bir rapor varyantının yapı bölümü, standart rapor ayarlarının "Yapı" sekmesine benzer. Gruplamaların amacı ve yapılandırması, makalenin 1. bölümünde ayrıntılı olarak ele alınmıştır.

Rapor varyantının yapı tablosu, gruplandırmalı sütuna ek olarak birkaç ek sütun içerir:

Rapor varyantı ayarları bölümü, kullanıcıya raporu kendi ihtiyaçlarına göre yapılandırması için geniş bir fırsat verir. Neredeyse tamamen örtüşüyor Varsayılan ayarları Bölümün tüm sekmelerine bakalım ve farklılıkları not edelim.

Ayarlar bölümü aşağıdaki sekmelerden oluşur:

1. Seçenekler. içerir ACS parametreleri kullanıcı tarafından kullanılabilir.

ACS parametresi - rapor verilerini almak için kullanılan bazı değerler. Veri seçimi veya doğrulama için bir koşul değeri olabileceği gibi yardımcı bir değer de olabilir.


Parametre tablosu "Parametre" - "Değer" biçiminde sunulur. Gerekirse, parametre değerlerini değiştirebilirsiniz. "Kullanıcı Ayarları Öğe Özellikleri" düğmesine tıklandığında öğenin kullanıcı ayarları açılır.


Bu pencerede, öğenin kullanıcı ayarlarına dahil edilip edilmeyeceğini (yani, raporu ayarlarken kullanıcı tarafından görülebilir) seçebilir, öğenin sunum ve düzenleme modunu ayarlayabilirsiniz ( hızlı erişim rapor başlığında, rapor ayarlarında normal ve mevcut değil).

Özel ayarlar öğesi özelliklerinde ayrıca gruplandırma alanları, kenar boşlukları, seçimler ve koşullu stil öğeleri bulunur.

2. Özel alanlar. Rapor tarafından seçilen verilere göre kullanıcının kendisinin oluşturduğu alanları içerir.


Kullanıcı iki tür alan ekleyebilir:

  • Yeni seçim alanı...
  • Yeni ifade alanı...

Seçili alanlar, şuna dayalı bir değer hesaplamanıza izin verir: verilen koşul. Seçim alanı düzenleme penceresi, alan başlığını ve alanın seçiminin, değerinin ve sunumunun belirtildiği bir tablo içerir. Seçim, istenen değerin ikame edileceğine bağlı olarak bir durumdur.


Örneğin, tahmini satış sayısını hesaplayalım. Malın 10 birimden az satılması durumunda az satıldığını ve 10 birimden fazla satılması halinde çok satıldığını varsayacağız. Bunu yapmak için, hesaplanan alanın 2 değerini ayarlayacağız: ilki "Ürün sayısı" 10 "dan küçük veya ona eşit" seçimi ile, ikincisi "Ürün sayısı "10'dan fazla" seçimi ile olacaktır. "".

İfade alanları, isteğe bağlı algoritmalar kullanarak bir değer hesaplamanıza izin verir. Sorgu dilinin işlevlerini ve yerleşik 1C programlama dilini kullanabilirler. İfade alanı düzenleme penceresi, ayrıntılı ve özet kayıtların ifadeleri için iki alan içerir. Özet kayıtları, "Rapor yapısı" alanında yapılandırılan gruplamalardır, toplama işlevlerini ("Toplam", "Minimum", "Maksimum", "Miktar") kullanmaları gerekir.

Örneğin ortalama indirim yüzdesini hesaplayalım. Ortalama indirim yüzdesi şu formül kullanılarak hesaplanır: [İndirimsiz satış tutarı] - [İndirimli satış tutarı] / [İndirimsiz satış tutarı]. İndirimsiz satış miktarının sıfır olabileceği unutulmamalıdır, bu nedenle kontrol etmek için SELECT operatörünü kullanırız. Aşağıdaki ifadeleri elde ederiz:

· Ayrıntılı girişler için:

Seçenek

[İndirimsiz satışların toplamı] = 0 olduğunda

sonra 0

Else [İndirimsiz satışlar] - [İndirimli satışlar] / [İndirimsiz satışlar]

Son

· Özet girişler için:

Seçenek

Miktar([İndirimsiz satış miktarı]) = 0 olduğunda

sonra 0

Aksi halde Tutar([İndirimsiz satış tutarı]) - Tutar([İndirimsiz satış tutarı]) / Tutar([İndirimsiz satış tutarı])

Son

Daha önce de belirtildiği gibi, toplam kayıtların ifadesinde "Topla" toplama işlevini kullanırız.

3. Gruplandırılmış alanlar. Rapor değişkeninin sonucunun gruplandırılacağı alanları içerir. Gruplandırma alanları, gruplandırmaların her biri için ayrı ayrı yapılandırılır, ancak yapı ağacında "Rapor" kökünü seçerseniz, bir rapor varyantı için ortak gruplandırma alanları ayarlayabilirsiniz. Rapor sonucundan bir alan, özel bir alan ekleyebilir veya bir otomatik alan seçebilirsiniz, ardından sistem alanları otomatik olarak seçecektir. Bu sekme aynı zamanda gruplandırılmış alanların sırasını değiştirmenize olanak tanır.


4. Alanlar. Rapor değişkeninin sonucunda görüntülenecek alanları içerir. Alanlar, gruplamaların her biri için ayrı ayrı yapılandırılır, ancak yapı ağacında "Rapor" kökünü seçerseniz bir rapor varyantı için ortak alanlar ayarlayabilirsiniz. Rapor sonucundan bir alan, özel bir alan ekleyebilir veya bir otomatik alan seçebilirsiniz, ardından sistem alanları otomatik olarak seçecektir. Bu sekme ayrıca alanların sırasını değiştirmenize olanak tanır.

Alanlar, raporun herhangi bir bölümünü mantıksal olarak vurgulamak veya belirli bir sütun düzenlemesi oluşturmak için gruplandırılabilir. Bir grup eklerken, "Konum" sütunu aktif hale gelir ve konum seçeneklerinden birini seçmenize izin verir:

  • Otomatik - sistem alanları otomatik olarak düzenler;
  • Yatay olarak - alanlar yatay olarak düzenlenir;
  • Dikey olarak - alanlar dikey olarak düzenlenir;
  • Ayrı bir sütunda - alanlar farklı sütunlarda bulunur;
  • Birlikte - alanlar bir sütunda düzenlenir.


5. Seçim. Rapor varyantında kullanılan filtreleri içerir. Filtrelerin ayarlanması, bu makalenin 1. bölümünde ayrıntılı olarak ele alınmıştır. Filtreler, gruplamaların her biri için ayrı ayrı yapılandırılır, ancak yapı ağacında "Rapor" kökünü seçerseniz bir rapor varyantı için genel filtreler ayarlayabilirsiniz.


6. Sıralama. Rapor varyantında kullanılan sıralama alanlarını içerir. Sıralama alanlarını ayarlama, bu makalenin 1. bölümünde ayrıntılı olarak ele alınmıştır. Sıralama, gruplamaların her biri için ayrı ayrı yapılandırılır, ancak yapı ağacında "Rapor" kökünü seçerseniz, bir rapor varyantı için ortak sıralama alanları ayarlayabilirsiniz.


7. Koşullu tasarım. Bir rapor varyantında kullanılan koşullu tasarım öğelerini içerir. Koşullu biçimlendirmenin ayarlanması, bu makalenin 1. bölümünde ayrıntılı olarak ele alınmıştır. Koşullu tasarım, gruplamaların her biri için ayrı ayrı yapılandırılır, ancak yapı ağacında "Rapor" kökünü seçerseniz, bir rapor değişkeni için koşullu tasarımın ortak öğelerini ayarlayabilirsiniz.


8. Ek ayarlar. içerir ek ayarlar rapor biçimlendirme. Genel seçmenizi sağlar dış görünüş rapor, alanların konumu, gruplamalar, nitelikler, kaynaklar, toplamlar, grafik ayarlarını belirleme, başlığın, parametrelerin ve seçimin görüntüsünü kontrol etme, kaynakların konumunu belirleme ve rapor varyantının gruplamalarının başlığını ve sütunlarını düzeltme.


Sonuç olarak, rapor ayarlarının yalnızca bir rapor varyantı olarak kaydedilemeyeceğini, aynı zamanda bir dosyaya da yüklenebileceğini belirtmek isterim ("Diğer" - "Ayarları kaydet" menüsü). İndirmek için "Ayarları yükle"yi seçin ve kaydedilen dosyayı seçin. Böylece aynı konfigürasyona sahip farklı veritabanları arasında rapor varyantı ayarlarını aktarabiliyoruz.


Buna dayanarak, kullanıcının raporu yalnızca kendi ihtiyaçlarına göre özelleştiremeyeceğini, aynı zamanda ayarlarını kaydedebileceğini ve gerekirse gelecekte kullanabileceğini özetleyebiliriz.

Kendi sütunlarınızla hazır raporlar ekleme.
Oluşturma sırasında görüntülenecek olan kullanıcı modundan "Veri Birleştirme Şeması" kullanılarak yapılan raporlara kendi Alanlarınızı ekleyebilirsiniz.
Bu alanlarda aritmetik işlemlerin uygulanmasına izin verilir.

Uzun zaman önce "Sevkiyatla mal satışı" raporunu yazdım http://infostart.ru/public/16477/. Bu yayında, alaka düzeyini ve yararlarını tartışmayacağız. Bu rapor deneyler, modifikasyonlar için şablon olarak alınacaktır. Üstelik yorumlarda Alanların nasıl ekleneceğini sordular.

"Ayarlar..."ı açın ve "Kullanıcı Ayarları" sekmesine gidin.

2. "Yeni alan İfadesi" ekleyin

Alan eklemek, Kullanılabilir alanlar arasına aritmetik işlemler yazmak anlamına gelir (bunun yeşil bir kare ile işaretlenmesine izin verilir). Ayrıca bir özellik, böyle bir alanın adı iki veya daha fazla kelimeden oluşuyorsa, köşeli parantez içine alınmalıdır. Böyle alın - [Satış miktarı].

Kaydettikten sonra, bu alan seçim için uygun hale gelecektir:

Burada, basit manipülasyonların yardımıyla ihtiyacınız olan değeri elde edersiniz. Bu fırsat gerekli alanları eklemenizi sağlar. İhtiyacınız olan bu tür hesaplama seçeneklerinde. Kârlılık, Verimlilik ve diğer değerler aritmetik hesaplama mantığınızda dikkate alınacaktır.

Bu durumda çalışmanız kaybolmaz ve raporu bir sonraki açışınızda kullanabilirsiniz.

Alanları yazarken kullanılan fonksiyonlar.

  • Aritmetik " + , - , * , / " bununla açıktır, eylem ilkelerini açıklamaya gerek olmadığını düşünüyorum.
  • Boole ifadeleri seçimleri belirlemek için kullanılır. " > ,< , = , >= , <= , <>, VE, VEYA, DEĞİL". Bu ifadeler, seçim işlemiyle birlikte kullanılır.
  • Seçim işlemleri. Belirtilen koşullara uygun olarak olası değerlerden birini elde etmek için başvurunuz.

SEÇENEK
NE ZAMAN< Операция выбора >DAHA SONRA<Выражение>
AKSİ TAKDİRDE<Выражение>
SON
Örnek:
SEÇENEK
Miktar > 0 ve Miktar > 0 OLDUĞUNDA SONRA "Doğru"
BAŞKA "Hata"
SON

Bu şu şekilde deşifre edilir: Miktarın sıfırdan büyük olması ve miktarların sıfırdan büyük olması şartıyla ekrana “Doğru” yazısı, şartlardan en az biri sağlanmıyorsa ekrana “Hata” yazısı gelir.

  • Yerleşik işlev, alanlarla belirli dönüşümler yapmanızı sağlar.

SUBSTRING ("İfade", "Başlangıç ​​konumu", "Bitiş Konumu") - "İfade"nin "Başlangıç ​​..." ve "Bitiş ..." çerçeveleriyle sınırlanan bölümünü seçer.
Bu, Nomenclature değeriyle nasıl olur - "Çikolata Yapıştır" formülü Alt dize(Nomenclature,1,5) "Paste" değerini görüntüler

Fonksiyonlar tarihlerle çalışmak için kullanılır.

YIL(<Дата>), ÇEYREK(<Дата>), AY(<Дата>), GÜN(<Дата>), GÜN(<Дата>), BİR HAFTA(<Дата>),HAFTA İÇİ(<Дата>),SAAT(<Дата>), DAKİKA(<Дата>), sn(<Дата>)

İşlev adına karşılık gelen değer görüntülenecektir.

BAŞLANGIÇ("Tarih", "Vardiya süresi"), ENDPERIOD("Tarih", "Vardiya süresi"). İşlev verileri için Tarih İfadesinin değeri, verilen tarihin başında veya sonundadır.

EKLE ("Tarih", "Vardiya süresi", "Tarihi artırmak istediğiniz miktar") - işlev, tarihi belirli bir değerde artırmanıza veya azaltmanıza olanak tanır.

DIFFERENCEDATE ("Date1", "Date2", "Shift period") - İşlev, iki tarih arasındaki farkı almak için tasarlanmıştır.

"Vardiya Dönemi", "Dakika, Saat, Gün, Hafta, Ay, Çeyrek, Yıl, On Yıl, Yarım Yıl" sürelerinden biridir.

5. Toplamların hesaplanmasının sonuçları gruplandırılırken sorgulama dilinin toplu işlevleri kullanılır.

TOPLAM (<>) örnekteki tüm değerlerin aritmetik toplamı.
ORTALAMA (<>) örneklemdeki tüm bunların ortalama değerini hesaplar
MİNİMUM (<>) örnekteki tüm değerlerin minimum değerini hesaplar
MAKSİMUM (<>) numunedeki tüm değerlerin maksimum değerini hesaplar
MİKTAR (<>) seçime dahil edilen parametre değerlerinin sayısını sayar. Bu özellik, kullanım durumlarına sahip olmanızı sağlar. SAYI(*) - sonuçtaki satır sayısını saymanızı sağlar. SAYI(FARKLI "İfade") - belirtilen alanın farklı değerlerinin sayısını saymanıza olanak tanır.

Miktar(Seçim
Substring(Adlandırma, 1, 5) = "Yapıştır" olduğunda
Sonra Miktar *0.2
Diğer Miktar *0.35
Son)

Bu durumda değerlerin toplamı elde edilecek, terminoloji adının başında “Paste” bulunduğunda, bu durumda miktar 0,2, yoksa 0,35 artar.

Yıl([Belge.Tarihi])

Belgenin kaydedildiği/yayınlandığı yıl görüntülenecektir.

Daha karmaşık örnek, şifre çözme olmadan.

Seçenek
Quarter([Document.Date]) = 1 AND Substring(Adlandırma, 1, 5) = "Yapıştır" olduğunda
Sonra Miktar * 0.2
Başka Seçim
Çeyrek([Belge.Tarihi]) = 2 olduğunda
Sonra Miktar * 0.3
Başka Seçim
Çeyrek([Belge.Tarihi]) = 3 olduğunda
Sonra Miktar * 0.4
Başka Seçim
Çeyrek([Belge.Tarihi]) = 4 olduğunda
Sonra Miktar * 0.5
Son
Son
Son
Son