Özel alan 1s. SKD raporlarındaki özel alanlar

Veri Bileşim Sistemi İfade Dili

Veri kompozisyon 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 kompozisyon şeması - hesaplanan alanları, toplam alanları, bağlantı ifadelerini vb. açıklamak için;
  • veri kompozisyonu ayarları - özel alan ifadelerini tanımlamak için;
  • veri kompozisyonu düzeni - veri kümesi ilişki ifadelerini tanımlamak, düzen parametrelerini açıklamak vb. için.

değişmezler

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

  • Astar;
  • Numara;
  • Tarih;
  • Boole.

Astar

""" karakterleriyle bir dize değişmezi yazılır, örneğin:

"Dize harfi"

Dize değişmezinin içinde """ karakterini kullanmanız gerekiyorsa, bu tür iki karakter kullanmalısınız.

Örneğin:

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

Numara

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

DATETIME anahtar değişmezi kullanılarak bir tarih türü değişmezi yazılır. Bu anahtar kelimeden sonra parantez içinde virgülle ayrılarak yıl, ay, gün, saat, dakika, saniye listelenir. 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, 2356:57 saniye, 23:56:57 saniye

boole

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

Anlam

Diğer türlerin değişmezlerini (sistem numaralandırmaları, önceden tanımlanmış veriler) belirtmek için Value anahtar sözcüğü, ardından parantez içindeki değişmez ad gelir.

Değer(HesapTürü. Etkin)

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 yapmaz. Örneğin:

Satış miktarı

ikili -

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

BalancesAndCirnovers.InitialBalance - BalancesAndCurnovers.EndBalance BalancesAndCurnovers.InitialBalance - 100 400 - 357

ikili +

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

BalancesAndCirovers.İlkDenge + BalancesAndCirrovers.Cirover BalancesAndCirrovers.İlk Bakiye + 100 400 + 357

Çalışmak

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ünme

Bu işlem, bir işleneni diğerine bölmenin 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ünmesinin kalanını elde etmek için tasarlanmıştır. Örneğin:

İsimlendirme 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:

Nomenclature.Makale + “: ”+ Nomenclature.Name

Beğenmek

Bu işlem, bir dizenin verilen desenle eşleşip eşleşmediğini kontrol eder.

LIKE operatörünün değeri, eğer değer, TRUE ise DOĞRU'dur.<Выражения>desenle eşleşir, aksi takdirde YANLIŞ.

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

  • % - yüzde: sıfır veya daha fazla rastgele karakter içeren bir dizi;
  • _ - alt çizgi: isteğe bağlı bir karakter;
  • […] - köşeli parantez içinde bir veya daha fazla karakter: bir karakter, köşeli parantez içinde listelenenlerden herhangi biri. Bir numaralandırma, a-z gibi aralıklar içerebilir; bu, aralığın uçları da dahil olmak üzere aralık içindeki herhangi bir karakter anlamına gelir;
  • [^…] - köşeli parantez içinde bir veya daha fazla karakterin takip ettiğ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 dizi karakterden oluşan bir alt dize anlamına gelir: harfler A; B harfleri; B harfleri; Bir basamak; a, b, c veya d harflerinden biri; alt çizgi karakteri; harfler a; harfler b; içindeki harfler. Ayrıca, bu dizi, dizideki rastgele bir konumdan başlayarak yerleştirilebilir.

Karşılaştırma işlemleri

eşittir

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

Sales.Counterparty = Sales.NomenclatureMainSupplier

Eşit değildir

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

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

Daha 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 ikinciden 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 ikinciden büyük veya ona eşit olduğunu kontrol etmek için tasarlanmıştır. Örneğin:

SalesCurrent.Amount >= SalesPast.Amount

B Operasyonu

Bu işlem, geçirilen değerler listesinde bir değerin olup olmadığını kontrol eder. Değer bulunursa işlemin sonucu True, değilse False olur. Örneğin:

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

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

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

Satış. Yükleniciden Yüklenicilere

NULL kontrol işlemi

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

Sales.Contractor NULL

NULL olmayan bir değeri kontrol etme işlemi

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

Sales.Contractor NULL DEĞİL

Boole işlemleri

Mantıksal işlemler, Boolean türünde işlenen ifadeler olarak kabul edilir.

İşlem DEĞİL

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

Document.Consignee DEĞİL = Document.Consignor

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.Consignee = Document.Consignor VE Document.Consignee = &Yüklenici

VEYA operasyon

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

Document.Consignee = Document.Consignor VEYA Document.Consignee = &Yüklenici

Toplama işlevleri

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

toplam

Sum toplama işlevi, tüm ayrıntı kayıtları için bağımsız değişken olarak kendisine iletilen ifadelerin değerlerinin toplamını hesaplar. Örneğin:

Tutar(Satış.Miktar Ciro)

Miktar

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

Miktar(Satış.Yüklenici)

farklı sayısı

Bu fonksiyon, farklı değerlerin sayısını sayar. Örneğin:

Miktar(Çeşitli Satış.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Ç

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

Topla > 1000 Olduğunda Seç, Sonra Topla Else 0 Bitiş

İ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;
  • Numara;
  • Tarih;
  • 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 Boole DOĞRU, YANLIŞ'tan büyük;
  • type Number, sayılar için genel karşılaştırma kurallarına sahiptir;
  • Tarih türü için, önceki tarihler sonrakilerden daha küçüktür;
  • String tipi için - yerleşik olana göre string karşılaştırmaları ulusal özellikler Veri tabanı;
  • referans türleri değerlerine göre karşılaştırılır (kayıt numarası vb.).

NULL ile çalışmak

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

İstisnalar var:

  • AND işlemi yalnızca işlenenlerden hiçbiri False değilse NULL döndürür;
  • VEYA 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, NULL, NULL DEĞİLDİR;
  • =, <>, <=, <, >=, >;
  • İkili +, İkili – ;
  • *, /, %;
  • Tekli +, Tekli -.

Veri Bileşim Sistemi İfade Dili İşlevleri

Hesaplamak

Hesapla işlevi, bazı gruplandırma 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;
  • Gruplandırma. Dize yazın. İfadenin bağlamında değerlendirileceği gruplandırmanın adını içerir. Gruplama adı olarak boş bir dize kullanılırsa, 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:
Amount(Sales.AmountCirnover) / Hesapla("Miktar(Sales.AmountCirnover)", "ToplamToplam")

V bu örnek sonuç olarak, gruplama kaydının "Sales.AmountTurnover" alanındaki tutarın tüm mizanpajdaki aynı alanın tutarına oranını alırsınız.

Seviye

İşlev, mevcut kayıt seviyesini elde etmek için tasarlanmıştır.

Seviye()

NumberInSipariş

Sıradaki seri numarası.

Sipariş numarası()

NumaraSipariş İçindeGruplama

Geçerli gruplamadaki sonraki sıra numarasını döndürür.

NumberInOrderInGroup()

Biçim

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

Biçim dizgisi, 1C:Enterprise biçim dizgisine göre ayarlanır.

parametreler:

  • Anlam;
  • Biçim dizesi.

Biçim(Gider Faturaları.MiktarDoc, "NPV=2")

Dönemin başlangıcı

parametreler:

    • 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

EndPeriod

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

parametreler:

  • Tarih. 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 biraz değer katmak için tasarlanmıştır.

parametreler:

  • 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 göz ardı edilir.

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

Sonuç:

12.11.2002 10:15:34

FarkTarih

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

parametreler:

  • İ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:
    • İkinci;
    • Dakika;
    • Gün;
    • Ay;
    • Çeyrek;

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

Sonuç:

alt dize

Bu işlev, bir dizeden bir alt dize seçmek için tasarlanmıştır.

parametreler:

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

ABONELİK(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.

Dize(Hesaplar.Adres)

Yıl

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

Parametre:

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

YIL(Inc.Tarih)

Çeyrek

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

Parametre

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

Ay

Bu işlev, Tarih türünün bir değerinden ay sayısını çıkarmak için tasarlanmıştır. Ay numarası normalde 1 ile 12 arasındadır.

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

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.

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

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.

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

Bir hafta

Bu işlev, Tarih türünün bir değerinden 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.

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

Haftanın günü

Bu işlev, Tarih türünün bir değerinden haftanın gününü almak için tasarlanmıştır. Haftanın günü normalde 1 (Pazartesi) ile 7 (Pazar) arasında değişir.

  • Tarih. 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 ile 23 arasındadır.

  • Tarih. 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ındadır.

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

İkinci

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ındadır.

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

ifade etmek

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

parametreler:

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

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

Boş

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

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

IsNULL(Miktar(Sales.AmountTurnover), 0)

Ortak Modül Fonksiyonları

Veri oluşturma motoru ifadesi, genel ortak yapılandırma modüllerine yapılan işlev çağrılarını içerebilir. Bu tür işlevleri çağırmak için ek sözdizimi gerekmez.

Bu örnekte, genel konfigürasyon modülünden "ShortName" işlevi çağrılacaktır.

Paylaşılan modül işlevlerinin kullanımına yalnızca ilgili veri bileşimi işlemci seçeneği belirtildiğinde izin verildiğini unutmayın.

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

Rapor, çeşitli bölümlerdeki (özellikler, seriler, ölçü birimleri vb.) depolardaki mal bakiyesini alır. Örneği karmaşıklaştırmamak için sadece kalem bazında gruplandırmayı bırakacağız ve rapor tarihi itibariyle sadece nihai bakiyeyi görüntüleyeceğiz. Nihai tablo, depolarda kalem bazında stok bakiyelerini gösterecektir.

Ancak daha sonra kullanıcı iki ek alan eklemesi gerektiğini söyledi:

  1. Miktar bildirimi. Miktar 5'ten küçük veya eşitse, uyarı "Yetersiz"dir. Sayı 5'ten büyük, 10'dan küçük veya 10'a eşitse, uyarı "Normal"dir. Miktar 10'dan büyükse, "Fazlalık".
  2. Bitiş bakiyesini hesaplama formülü. Ek bir sütunda kullanıcı, programın nihai bakiyenin değerini elde etmek için hangi eylemleri gerçekleştirdiğini görmek ister. Yani, karşılık gelen değerlerin değiştirileceği "Başlangıç ​​bakiyesi + Ciro = Bitiş bakiyesi" formülü.

Elbette programcı buraya müdahale edebilir ve veri kompozisyon şeması isteğini ve rapor ayarlarını değiştirebilir, ancak yapılandırıcı modunda raporu değiştirmeden kullanıcı modunda görevi tamamlayacağız.

İlave Alanlar

Ve böylece başlayalım. Rapor seçeneğinin ayarlarına gidelim:

Bizden önce, ACS raporu seçeneğinin konfigürasyon tasarımcısı açılacaktır. "Özel alanlar" sekmesine giderek bunları oluşturmaya başlayalım.

Ekran görüntüsü, işlevselliği yukarıda açıklanan iki oluşturulmuş özel alanı zaten gösteriyor. Her biri için ayarları düşünün. Uyarı alanıyla başlayalım.

Kurulumda, raporda görüntülenecek alanın başlığını ayarlamamız ve bu alan için ayrıntılı kayıtlar alanında ve toplamlarda değer üretmek için ifadeleri ayarlamamız gerekiyor. Toplamlarda uyarıyı göstermeye gerek olmadığı için sadece detaylı kayıtlar için bir ifade yazacağız.

İfade sözdizimi, 1C:Enterprise sorgu diline benzer. Bazı farklılıklar var, ancak bu yazıda bunlara ayrıntılı olarak değinmeyeceğiz. İfade bir seçme operatörü kullanır:

"Seçim O Zaman Bittiğinde",

sorgu dilindeki bir operatöre benzer. Özel alan ifadelerindeki alanlar, temsilleriyle belirtilir. Platformun girilen görünümün belirli bir alanı ifade ettiğini anlaması için görünüm adı köşeli parantez "" içine alınır. Alan temsilinde bir kelime varsa, o zaman köşeli parantez gerekli değil. Yukarıdaki örnekte, "Bitiş Bakiyesi" alanına atıfta bulunuyoruz.

"Nihai bakiye hesaplama formülü" alanı için ayarlar benzer şekilde yapılır:


Burada bazı nüanslardan bahsetmek gerekiyor:

  1. Bir hücredeki formülü yalnızca bir dize olarak gösterebiliriz. Bu nedenle, herhangi bir değeri bir dizeye dönüştüren ACS ifade dilinin "String()" yöntemini kullanarak tüm sayısal değerleri bir dizeye dönüştürüyoruz. Daha sonra string birleştirme işlemini gerçekleştiriyoruz.
  2. Alanın rapor toplamlarında görüntülenmesi için toplam kayıtların ifadesine benzer bir formül ekleyelim. Toplamlara göre her değer için "SUM()" toplama işlevleri eklemeniz yeterlidir.

Rapordaki alanları kullanmak için her şey hazır!

Rapor oluşturma ve oluşturma

Raporun çıktı alanlarına "Nihai bakiye hesaplama formülü" alanı eklenecektir:

Öğenin ayrıntılı kayıtlarına "Uyarı" ifadesi eklenecektir. Bunu yapmak için, "Uyarı" ifade alanını "Adlandırma" gruplamasına ekleyin. Bundan sonra, rapor yapısı aşağıdaki formu alacaktır:

Rapor kurulumu şimdi tamamlandı. Gerekirse, eklenen ayarlar aşağıdakiler için kaydedilebilir: yeniden kullanmak. Bir rapor oluşturalım:

Görüldüğü gibi görevin şartlarına uygun olarak rapora alanlar eklenmiştir. Aynı zamanda, konfigüratör modunda raporu değiştirmek gerekli değildi. Özel alanların ana avantajı budur! Bunları kullanmak için eğitilmiş bir kullanıcı, bir programcının katılımı olmadan kendi gereksinimlerine ilişkin bir rapor oluşturmak için bunları kullanabilir.

Güven bana, ona bu özellikleri nasıl kullanacağını öğretebilirsin çünkü bu, Excel elektronik tablolarında formül yazmaktan çok daha kolay.

Yetkili bir yönetim için, herhangi bir ticaret organizasyonunun, malların mevcut durumu, satışlar ve karlar hakkında hızlı bir şekilde bilgi edinmesi gerekir. Ancak, kuruluşların genellikle en geniş ürün listesi ve çok sayıda karşı tarafla çalıştığını düşünürseniz, analitik rapor kurulum aracı gerekli bilgilerin elde edilmesinde önemli bir rol oynar. Tipik bir programın raporlarında özel alanlarla çalışma prosedürüne daha yakından bakalım (rev. 11).

1C: Enterprise 8 platformunun geliştirilmesi, kullanıcılara giderek daha fazla fırsat sunuyor. Bu nedenle, örneğin 8.2 sürümünde, 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ıdan önce açık rapor ayarlarının bulunduğu bir pencere açılır.

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

Ayarlar penceresinin altında, ya raporla ya da yapısının öğeleriyle (sütunlar ve satır gruplamaları) ilgili gerçek bilgiler ve alan ayarlarının kendisi 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, kendi alanlarınızı oluşturmanıza ve bunları rapora eklemenize izin veren "Özel alanlar" sekmesine kullanıcıların özellikle dikkatini çekmek istiyorum. Daha önce kullanıcının yalnızca geliştirici tarafından uygulanan alanları kullanabileceği unutulmamalıdır.

Bu işlevin kullanımını bir örnekle düşünün.

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'daki ve genel olarak bölgelerdeki satışına ve ayrıca ortaklara ilişkin verileri görüntülemek istediğini varsayalım. . Özel alanları kullanarak bunu yapmak çok kolaydır.

Böylece, açıklayıcı bir örnekte görülebilir ki, esnek ayarlarözel alanlar model programı 1C: Ticaret yönetimi 8 kullanıcıya rapor ayarlarında geniş fırsatlar sunarak, gerekli bilgileri uygun bir biçimde hızlı bir şekilde almanızı sağlar.

ACS temelinde uygulanan raporların ayarlarını ayrıntılı olarak inceledik. Şimdi rapor seçenekleri için daha ince ve ayrıntılı ayarlara bakalım. "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 tartışılmaktadır.

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

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

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

1. Seçenekler. Kullanıcının kullanabileceği ACS parametrelerini içerir.

ACS parametresi - rapor verilerini almak için kullanılan bazı değerler. Bir yardımcı değerin yanı sıra veri seçimi veya doğrulaması için bir koşul değeri olabilir.


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


Bu pencerede, öğenin kullanıcı ayarlarına dahil edilip edilmeyeceğini (yani, raporu ayarlarken kullanıcı tarafından görülüp görülmeyeceğini), öğenin sunumunu ve düzenleme modunu ayarlayıp (rapor başlığında hızlı erişim, raporda normal) seçebilirsiniz. ayarlar ve erişilemez).

Ö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çim alanları, belirli bir koşula dayalı olarak bir değer hesaplamanıza olanak tanır. Seçim alanı düzenleme penceresi, alan başlığını ve alanın seçimi, değeri ve sunumunun belirtildiği bir tablo içerir. Seçim, istenen değerin ikame edileceğine bağlı olarak bir koşuldur.


Örneğin, satış sayısının bir tahminini hesaplayalım. 10 birimden az mal satılırsa çok az satılır, 10 birimden fazlaysa çok satıldığını varsayacağız. Bunu yapmak için, hesaplanan alanın 2 değerini belirleyeceğiz: ilki "Ürün sayısı "10" veya daha az" seçimiyle, ikincisi "Ürün sayısı "10'dan fazla" seçimiyle olacak. "".

İfade alanları, rastgele algoritmalar kullanarak bir değer hesaplamanıza olanak tanır. Sorgu dilinin ve yerleşik 1C programlama dilinin işlevlerini 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 SELECT operatörünü kontrol etmek için kullanıyoruz. Aşağıdaki ifadeleri alıyoruz:

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

Tercih

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

Sonra 0

Else [İndirimsiz Satış] - [İndirimli Satış] / [İndirimsiz Satış]

Son

· Özet girişleri için:

Tercih

Tutar([İndirimsiz satış tutarı]) = 0 olduğunda

Sonra 0

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

Son

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

3. Gruplandırılmış alanlar. Rapor varyantının sonucunun gruplanacağı alanları içerir. Gruplama 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 gruplama 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 gruplandırılmış alanların sırasını değiştirmenize olanak tanır.


4. Alanlar. Rapor varyantının 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, alanların sırasını değiştirmenize de olanak tanır.

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

  • Otomatik - sistem alanları otomatik olarak düzenler;
  • Yatay - alanlar yatay olarak düzenlenmiştir;
  • Dikey - alanlar dikey olarak düzenlenmiştir;
  • 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 tartışılmış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ın ayarlanması bu makalenin 1. bölümünde ayrıntılı olarak tartışıldı. 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çimlendirmeyi ayarlamak, bu makalenin 1. bölümünde ayrıntılı olarak tartışıldı. 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 varyantı için koşullu tasarımın ortak öğelerini ayarlayabilirsiniz.


8. Ek ayarlar. içerir ek ayarlar rapor biçimlendirme. Genel bir seçim yapmanızı sağlar. görünüm rapor, alanların konumu, gruplamalar, nitelikler, kaynaklar, toplamlar, grafik ayarlarını ayarlayın, başlığın, parametrelerin ve seçimin görüntülenmesini kontrol edin, kaynakların konumunu belirleyin ve rapor varyantının başlık ve gruplama sütunlarını sabitleyin.


Sonuç olarak, rapor ayarlarının yalnızca rapor varyantı olarak kaydedilebileceğini değil, 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ı veri tabanları arasında rapor varyant ayarlarını aktarabiliyoruz.


Buna dayanarak, kullanıcının raporu sadece kendi ihtiyaçlarına göre özelleştirebileceğini, aynı zamanda ayarlarını kaydedebileceğini ve gerektiğinde ileride kullanabileceğini özetleyebiliriz.

Zamanında ve doğru yönetim kararları almak için her kuruluş, malların depolardaki mevcudiyeti, maliyeti ve satışları hakkında güncel bilgilere ihtiyaç duyar. Ticaret organizasyonları çok sayıda kalem ve karşı tarafla çalışır ve bu, iyi bir analitik muhasebe kurulumu ve gerekli bilgilerin verilerinden hızlı bir şekilde alınmasını gerektirir. Makale, bir veri kompozisyon sistemi temelinde oluşturulan "1C: Ticaret Yönetimi 8" (sürüm 11) standart çözümünde standart raporlarla çalışmanın temel yöntemlerini tartışıyor ve yararlı bilgiler sunuyor. pratik tavsiye, hem acemi kullanıcılar hem de önceki sürümlerden yeni bir sürüme geçenler için faydalı olacaktır.

Örneğin, bir rapor alın

  • Malların mevcudiyetinin analizi;

Ayar.

bir sütunda Karşılaştırma türü isimlendirme

  • eşittir
  • Eşit değildir
  • Listelenmiş
  • Listede yok
  • Grup içinde isimlendirme;
  • bir grupta değil isimlendirme;
  • Listeden bir grupta isimlendirme;
  • Listedeki bir grupta değil isimlendirme.

Anlam

"Hızlı Seçimler"

1C:Enterprise 8 platformu geliştikçe ve yeni sürüm 8.2 göründükçe, sistemlerdeki raporlar daha esnek hale gelir ve kullanıcılar, programcıların yardımı olmadan bunları gereksinimlerine göre özelleştirmek için giderek daha fazla fırsata sahip olur.

Veri oluşturma sistemi (ACS) tarafından sağlanan yeni yetenekler, daha önce hiç olmadığı kadar raporlar oluştururken 1C:Enterprise 8 yeteneklerinin faydalarını hissetmenizi sağlar. Ve raporlama arayüzünün önemli değişikliklere uğramasına rağmen (bundan sonra UT olarak anılacak olan Ticaret Yönetimi konfigürasyonunun 10.3 sürümüne kıyasla), rapor ayarları hala ortalama kullanıcı tarafından kullanılabilir. Onlarla çalışmanın bazı temel yollarına bir göz atalım.

Dikkat edebileceğiniz ilk şey hızlı seçimlerdir. Kullanıcının isteklerine göre rapor alanlarının belirli değerlerine göre rapordaki verileri görüntülemenizi sağlarlar.

Örneğin, bir rapor alın UT'deki malların mevcudiyetinin analizi. UT 11'deki raporların yeteneklerinin tam olarak gösterilmesinin iki rapor örneğinde gerçekleşeceğini hemen not ediyoruz:

  • Malların mevcudiyetinin analizi;
  • Satışların geliri ve maliyeti.

Bazı alanlara göre seçim, doğrudan rapor formunda veya butona tıklayarak yapılabilir. Ayar.

bir sütunda Karşılaştırma türü Kullanıcı farklı karşılaştırma koşulları seçebilir. Örneğin, alan için isimlendirme Aşağıdaki karşılaştırma türleri arasından seçim yapabilirsiniz:

  • eşittir- rapor sadece seçilen isimlendirme pozisyonu için oluşturulacaktır;
  • Eşit değildir- rapor, seçilen konum dışında tüm aralık için oluşturulacaktır;
  • Listelenmiş- rapor, isimlendirme öğeleri listesine göre oluşturulacaktır;
  • Listede yok- rapor, seçilen pozisyonlar dışında tüm aralık için oluşturulacaktır;
  • Grup içinde- rapor, dizinin seçilen klasöründe bulunan tüm terminoloji üzerine oluşturulacaktır. isimlendirme;
  • bir grupta değil- rapor, dizinin seçilen klasöründe bulunan öğeler dışında tüm terminoloji üzerine oluşturulacaktır. isimlendirme;
  • Listeden bir grupta- karşılaştırmaya benzer Listede, liste değeri olarak sadece dizindeki klasörler seçilir isimlendirme;
  • Listedeki bir grupta değil- karşılaştırmaya benzer Listede yok, sadece dizindeki klasörler liste değerleri olarak seçilir isimlendirme.

Seçim alanının solundaki onay kutusu (işareti) bu alan tarafından yapılan seçimin “açık” olduğunu yani rapor tarafından dikkate alındığını gösterir.

Bu alanlar için belirli değerler seçmiş olsanız dahi işaretlenmemiş alanlar dikkate alınmaz.

Sütunda seçilen karşılaştırma türüne bağlı olarak Anlam dizinin belirli bir öğesi veya klasörü (grubu) veya bir öğe veya klasör listesi belirtilir.

1C:Enterprise 8 platformuna dayalı tüm çözümlerde hızlı seçimler mevcuttur.

Rapor ayarlarında basit bir değişiklik örneği

Rapor ayarlarını görüntülemek/değiştirmek için menüye gidin Tüm eylemler - Seçeneği değiştir.

Bizden önce seçilen rapor seçeneği için ayarlar penceresini açar.

Raporun yapısı pencerenin üst kısmında görüntülenir. Aslında bu, raporun satır ve sütun gruplamalarının görsel bir gösterimidir, yani analitik verilerinin raporda satır ve sütunlarda hangi sırayla görüntüleneceği.

Pencerenin alt kısmı, raporla ilgili olanları bir bütün olarak gösterir (rapor yapısında en üst seviye seçilmişse). Bildiri) veya raporun belirli bir satır veya sütun gruplamasına (gruplandırma aşağıdaki düzeyde seçilmişse), bilgileri görüntüleme ve alanları tasarlama ayarları.

örnek 1

Aşama 1. Yalnızca öğeye göre gruplandırmayı bırakarak, öğe özelliklerine göre gruplamayı kaldırmamız gerekiyor. Bunu yapmak için rapor ayarları penceresinin üst kısmındaki alana tıklayın. İsimlendirme, Karakteristik. Pencerenin altındaki sekmeye gidin gruplamalar.

Bir alan seçin karakteristik ve düğmeye tıklayın Silmek komut paneli.

Düğmeye tıklayarak rapor ayarlarındaki değişiklikleri onaylayın Düzenlemeyi bitir ekranın sol alt köşesinde.

Adım 2 Karakteristiği çıkardıktan sonra, görevimiz örneğin koşullarına göre bir fiyat grubu eklemek olacaktır. Anlamına göre, bu gruplama stoka göre gruplandırmadan bir seviye aşağı, kalem bazında gruplamadan bir seviye yukarı gitmelidir. Bu nedenle, raporun yapısında bir gruplama seçiyoruz. Depo.

Üzerine tıklayarak sağ tık fare, bağlam menüsünde komutu seçin Yeni gruplama.

Açılan gruplama alanı düzenleme penceresinde, İsimlendirme.Fiyat grubu.

Düğmeye tıklayarak tamam, gruplandırmaya bağlı olarak rapora yeni bir gruplamanın eklendiğini göreceğiz. Depo.

Şimdi öğeye göre gruplamayı seçelim ve farenin sağ düğmesini bırakmadan, fiyat grubuna göre gruplandırmanın içine (yani aşağıya) sürükleyelim. Şekil 1'de gösterilen yapıyı elde edeceğiz. Raporun kurulumunun sonucu Şekil 2'de gösterilmektedir.

Pirinç. 1. Ortaya çıkan rapor yapısı

Pirinç. 2. Rapor özelleştirmesinin sonucu

Özel alanlarla çalışma

Şimdi 1C: Trade Management 8 programındaki yeni raporlama seçeneklerine daha yakından bakalım.

Raporumuzun yapısını ve ayarlarını düzenleme şeklinde sekmeye dikkat edin. Özel Alanlar.

Bundan önce, listesi geliştirici tarafından önceden tanımlanmış olan alanları rapora ekledik. Bu sekme ile ihtiyacımız olan kendi alanlarımızı oluşturabiliriz - alan seçimi veya alan ifadesi.

Örnek 2

"Satış geçmişi" raporunu özelleştirelim ("Gelir ve satış maliyeti" raporunun sürümü). Satışlarla ilgili verileri ortaklar ve terminoloji bağlamında görüntüleyelim. Şirketimizin Moskova'da ve bölgelerde mal satışı ile uğraştığını varsayalım. Bu nedenle, bilgi tabanındaki her müşteri belirli bir coğrafi bölgeye aittir ("Ortaklar" dizininin "İş bölgesi"ni destekler). Bir rapordaki satış verilerini bölgelere göre kolayca gruplayabiliriz, ancak daha toplu istatistiklerle, özellikle “Moskova'da kaç mal satıldı ve diğer tüm bölgelerde kaç tane birleştirildi” sorusunun cevabıyla ilgileniyorsak? Özel alanların kullanışlı olduğu yer burasıdır.

Aşama 1. Raporu açalım. Rapor yapısı ayarları formuna geçelim ( Tüm işlemler -> Varyantı değiştir). Raporda önceden oluşturulmuş tüm gruplamaları sırayla silelim - bunu yapmak için her birini seçin ve düğmesine tıklayın. Silmek komut çubuğuna basın veya DEL tuşunu kullanın.

Tıpkı önceki örnekte olduğu gibi, rapora önce iş ortağına, ardından ürüne göre bir gruplandırma ekleyelim. Nasıl yapılacağını zaten biliyoruz, bu yüzden fazla zaman almayacak.

Adım 2 Yeni bir özel alan oluşturalım. Bir yer imi açalım Özel Alanlar ve komutu çalıştırın Ekle -> Yeni alan seçimi.

Yeni alanımıza bir isim verelim - genel olarak bölge.

butona tıklayalım Eklemek. V Yeni hat sütundaki düğmeye tıklayın seçim. Görüntülenen seçim düzenleme formunda, alana göre bir seçim ekleyin Partner.İş bölgesi. Karşılaştırma türünü seçin eşittir, anlam - Moskova.

butona tıklayalım tamam, bundan sonra özel alan düzenleme penceresine döneceğiz. Ardından, sütundaki düğmeye tıklayın Anlam ve görüntülenen veri türü seçim listesinde Astar ve değer olarak yaz Moskova.

İşlemi tekrar edelim. Tabloya bir satır daha ekleyelim. Bu sefer alan seçimi için Partner.İş bölgesi karşılaştırma türünü seçin Eşit değildir.

Sütundaki özel alan düzenleme penceresine dönme Anlam yazı yazmak Diğer bölgeler(Bkz. Şekil 3).

Pirinç. 3. Özel Alan Düzenleme

butona tıklayalım tamam. Yeni alanımız hazır.

Aşama 3 Yeni alanımızı rapor yapısına ekleyelim. En üst seviyeyi vurgulama Rapor yapısı, yeni bir gruplama ekleyin. sahne Alan Seç genel olarak bölge.

Ortağa göre gruplandırmayı ve ürün yelpazesine göre alt gruplandırmayı fare ile yeni oluşturulan gruplamaya sürükleyin.

Bir rapor oluşturalım ve sonuca bakalım (Şekil 4'te gösterilmiştir).

Pirinç. 4. Rapor oluşturmanın sonucu

Seçim ve sıralama

Raporun yapısını ve ayarlarını düzenlemek için pencereye dönelim ve sekmelere dikkat edelim. seçim ve sıralama.

Rapor yapısında kök öğe seçilirse ( Bildiri), ardından bu sekmelerde yapılan ayarlar bir bütün olarak raporun tamamına uygulanacaktır. Bazı rapor gruplamaları seçilirse, ayarlar yalnızca buna uygulanacaktır.

Örnek 3

Sonuç olarak, rapor Satış geçmişi yalnızca bu uygulamalar yöneticinin belirtildiği yere ulaşır İvanov İvan Fyodoroviç.

Örnek 4

Yapılan değişiklikleri kaydet

Bir raporun yapısını değiştirirseniz, komutu kullanarak her zaman kaydedebilirsiniz. Tüm Eylemler -> Varyantı Kaydet.

Bir varyantı kaydetme şeklinde, anahtarı kullanarak seçebilirsiniz. Mevcut rapor varyantına kaydet(zaten mevcut seçeneklerden biri yerine) veya Raporun yeni sürümünü kaydedin.