Bidang khusus 1c contoh ekspresi rilis produk. Bidang khusus dalam laporan SDS. Menyiapkan dan menghasilkan laporan

Laporan tersebut menerima saldo barang di gudang di berbagai bagian (karakteristik, seri, satuan pengukuran, dll). Agar tidak memperumit contoh, kami hanya akan mengelompokkan berdasarkan item dan hanya menampilkan saldo akhir pada tanggal pelaporan. Tabel terakhir akan menunjukkan saldo barang di gudang.

Namun kemudian pengguna melaporkan bahwa dia perlu menambahkan dua bidang tambahan:

  1. Peringatan kuantitas. Jika jumlahnya kurang dari atau sama dengan 5, maka peringatannya adalah "Tidak Cukup". Jika jumlahnya lebih besar dari 5, kemudian kurang dari atau sama dengan 10, maka peringatannya adalah “Normal”. Jika jumlahnya lebih dari 10, maka “Overabundance”.
  2. Rumus untuk menghitung saldo akhir. Pada kolom tambahan, pengguna ingin melihat tindakan apa saja yang dilakukan program untuk mendapatkan nilai saldo akhir. Artinya, rumus " Saldo pembukaan+ Perputaran = Saldo akhir", di mana nilai-nilai yang sesuai akan diganti.

Tentu saja, seorang programmer dapat melakukan intervensi di sini dan mengubah permintaan skema komposisi data dan pengaturan laporan, tetapi kami akan menyelesaikan tugas dalam mode pengguna tanpa mengubah laporan dalam mode konfigurator.

Bidang tambahan

Jadi, mari kita mulai. Mari masuk ke pengaturan opsi laporan:

Perancang pengaturan untuk opsi laporan ACS akan terbuka di depan kita. Dengan membuka tab "Bidang Khusus", kita akan mulai membuatnya.

Tangkapan layar sudah menunjukkan dua bidang khusus yang dibuat, yang fungsinya telah dijelaskan di atas. Mari kita lihat pengaturan masing-masing. Mari kita mulai dengan bidang "Pemberitahuan".

Dalam pengaturan, kita perlu mengatur judul bidang yang akan ditampilkan dalam laporan, serta mengatur ekspresi untuk menghasilkan nilai di bidang catatan terperinci dan total untuk bidang ini. Karena tidak perlu menampilkan peringatan dalam total, kami akan menulis ekspresi hanya untuk catatan detail.

Sintaks ekspresi mirip dengan bahasa kueri 1C:Enterprise. Ada beberapa perbedaan, tetapi kami tidak akan membahasnya secara detail di artikel ini. Ekspresinya menggunakan operator pemilihan:

"Pilihan Kapan Kalau Tidak, Akhir"

mirip dengan operator dalam bahasa kueri. Bidang dalam ekspresi bidang khusus ditentukan oleh representasinya. Agar platform memahami bahwa tampilan yang dimasukkan mewakili bidang tertentu, nama tampilan dikelilingi oleh tanda kurung siku "". Jika representasi bidang adalah satu kata, maka tanda kurung siku bersifat opsional. Pada contoh di atas, kita melihat kolom Saldo Akhir.

Pengaturan untuk bidang "Rumus untuk menghitung saldo akhir" diatur dengan cara yang sama:


Di sini perlu disebutkan beberapa nuansa:

  1. Kami hanya dapat menampilkan rumus dalam sel sebagai garis. Oleh karena itu, kami mengonversi semua nilai numerik menjadi string menggunakan metode bahasa ekspresi SKD "String()", yang mengonversi nilai apa pun menjadi string. Kemudian kami melakukan penggabungan string.
  2. Agar bidang tersebut ditampilkan dalam total laporan, kami akan menambahkan rumus serupa ke ekspresi total catatan. Anda hanya perlu menambahkan fungsi agregasi "SUM()" untuk setiap nilai sesuai dengan totalnya.

Anda siap menggunakan kolom dalam laporan Anda!

Menyiapkan dan menghasilkan laporan

Tambahkan kolom "Rumus untuk menghitung saldo akhir" ke kolom keluaran laporan:

Kami akan menambahkan ekspresi “Pemberitahuan” ke catatan item terperinci. Untuk melakukan ini, tambahkan bidang ekspresi “Pemberitahuan” ke pengelompokan “Tata Nama”. Setelah itu, struktur laporan akan berbentuk sebagai berikut:

Penyiapan laporan sekarang telah selesai. Jika perlu, pengaturan tambahan dapat disimpan digunakan kembali. Mari buat laporan:

Seperti yang bisa kita lihat, kolom telah ditambahkan ke laporan sesuai dengan kondisi tugas. Pada saat yang sama, tidak perlu mengubah laporan dalam mode konfigurator. Ini adalah keuntungan utama dari bidang khusus! Seorang pengguna yang terlatih untuk menggunakannya dapat menggunakannya untuk membuat laporan tentang kebutuhannya sendiri, tanpa bantuan seorang programmer.

Percayalah, melatih dia untuk menggunakan fitur-fitur ini adalah mungkin, karena jauh lebih mudah daripada menulis rumus di spreadsheet Excel.

Bahasa Ekspresi Sistem Komposisi Data

Bahasa ekspresi sistem komposisi data dirancang untuk menulis ekspresi yang digunakan di berbagai bagian sistem.

Ekspresi digunakan dalam subsistem berikut:

  • diagram tata letak data - untuk menjelaskan bidang kalkulasi, bidang total, ekspresi hubungan, dll.;
  • pengaturan tata letak data - untuk menjelaskan ekspresi bidang khusus;
  • tata letak tata letak data - untuk mendeskripsikan ekspresi untuk menghubungkan kumpulan data, menjelaskan parameter tata letak, dll.

harfiah

Ekspresinya mungkin mengandung literal. Jenis literal berikut ini dimungkinkan:

  • Garis;
  • Nomor;
  • Tanggal;
  • Boolean.

Garis

Literal string ditulis dalam karakter “”, misalnya:

“String literal”

Jika Anda perlu menggunakan karakter “” di dalam string literal, Anda harus menggunakan dua karakter tersebut.

Misalnya:

“Harfiah” “dalam tanda kutip” “”

Nomor

Angka tersebut ditulis tanpa spasi, dalam format desimal. Bagian pecahan dipisahkan menggunakan simbol "." Misalnya:

10.5 200

Tanggal

Literal tanggal ditulis menggunakan literal kunci DATETIME. Setelah ini kata kunci, dalam tanda kurung, dipisahkan dengan koma, dicantumkan tahun, bulan, hari, jam, menit, detik. Spesifikasi waktu tidak diperlukan.

Misalnya:

DATETIME(1975, 1, 06) – 6 Januari 1975 DATETIME(2006, 12, 2, 23, 56, 57) – 2 Desember 2006, 23 jam 56 menit 57 detik, 23 jam 56 menit 57 detik

Boolean

Nilai Boolean dapat ditulis dengan menggunakan literal True (Benar), False (False).

Arti

Untuk menentukan literal tipe lain (enumerasi sistem, data yang telah ditentukan sebelumnya), kata kunci Nilai digunakan, diikuti dengan nama literal dalam tanda kurung.

Nilai(Tipe Akun. Aktif)

Operasi pada angka

Unary –

Operasi ini dimaksudkan untuk mengubah tanda suatu bilangan menjadi kebalikannya. Misalnya:

Penjualan. Kuantitas

Unary+

Operasi ini tidak melakukan tindakan apa pun pada nomor tersebut. Misalnya:

Penjualan. Kuantitas

Biner -

Operasi ini dimaksudkan untuk menghitung selisih dua bilangan. Misalnya:

ResidualsAndTurnovers.InitialRemaining – ResiduesAndTurnovers.FinalResidualsRemainingsAndTurnovers.InitialRemaining - 100 400 – 357

Biner +

Operasi ini dirancang untuk menghitung jumlah dua angka. Misalnya:

SisaDanPerputaran.InitialRemaining + SisaDanPerputaran.Perputaran ResiduDanPerputaran.InitialRemaining + 100 400 + 357

Bekerja

Operasi ini dirancang untuk menghitung hasil kali dua bilangan. Misalnya:

Nomenklatur.Harga * 1,2 2 * 3,14

Divisi

Operasi ini dirancang untuk mendapatkan hasil pembagian satu operan dengan operan lainnya. Misalnya:

Nomenklatur.Harga / 1.2 2 / 3.14

Sisa pembagian

Operasi ini dirancang untuk mendapatkan sisa ketika satu operan dibagi dengan operan lainnya. Misalnya:

Tata nama. Harga % 1,2 2 % 3,14

Operasi String

Penggabungan (Biner +)

Operasi ini dirancang untuk menggabungkan dua string. Misalnya:

Nomenklatur.Artikel + “: ”+ Nomenklatur.Nama

Menyukai

Operasi ini memeriksa apakah string cocok dengan pola yang diteruskan.

Nilai dari operator LIKE adalah TRUE jika nilainya<Выражения>memenuhi polanya, dan FALSE sebaliknya.

Karakter berikut di<Строке_шаблона>memiliki arti yang berbeda dari karakter lain dalam baris:

  • % - persentase: urutan yang berisi nol atau lebih karakter arbitrer;
  • _ - garis bawah: satu karakter arbitrer;
  • […] - satu atau lebih karakter dalam tanda kurung siku: satu karakter, salah satu karakter yang tercantum di dalam tanda kurung siku. Pencacahan dapat berisi rentang, misalnya a-z, yang berarti karakter sembarang yang termasuk dalam rentang tersebut, termasuk ujung rentang;
  • [^...] - dalam tanda kurung siku, ikon negasi diikuti oleh satu atau lebih karakter: karakter apa pun kecuali yang tercantum setelah ikon negasi;

Simbol lainnya berarti dirinya sendiri dan tidak membawa beban tambahan apa pun. Jika perlu, tuliskan salah satu hal berikut ini sebagai diri Anda sendiri karakter yang terdaftar, maka harus didahului dengan<Спецсимвол>, ditentukan setelah kata kunci KARAKTER KHUSUS (ESCAPE).

Misalnya saja templat

“%ABV[abvg]\_abv%” KARAKTER KHUSUS “\”

berarti substring yang terdiri dari rangkaian karakter: huruf A; huruf B; huruf B; satu angka; salah satu huruf a, b, c atau d; menggarisbawahi; huruf a; huruf b; huruf v. Selain itu, urutan ini dapat ditempatkan mulai dari posisi sembarang dalam garis.

Operasi Perbandingan

Setara

Operasi ini dimaksudkan untuk membandingkan dua operan untuk kesetaraan. Misalnya:

Penjualan.Counterparty = Penjualan.NomenclatureMainSupplier

Tidak setara

Operasi ini dimaksudkan untuk membandingkan dua operan untuk ketidaksetaraan. Misalnya:

Penjualan. Pihak lawan<>Penjualan.NomenklaturPemasok Utama

Lebih sedikit

Operasi ini dirancang untuk memeriksa apakah operan pertama lebih kecil dari operan kedua. Misalnya:

PenjualanSaat Ini.Jumlah< ПродажиПрошлые.Сумма

Lagi

Operasi ini dirancang untuk memeriksa apakah operan pertama lebih besar dari operan kedua. Misalnya:

PenjualanSaat Ini.Jumlah > PenjualanPast.Jumlah

Kurang dari atau sama dengan

Operasi ini dirancang untuk memeriksa apakah operan pertama lebih kecil atau sama dengan operan kedua. Misalnya:

PenjualanSaat Ini.Jumlah<= ПродажиПрошлые.Сумма

Lebih besar dari atau sama dengan

Operasi ini dirancang untuk memeriksa apakah operan pertama lebih besar atau sama dengan operan kedua. Misalnya:

PenjualanSaat Ini.Jumlah >= PenjualanPast.Jumlah

Operasi B

Operasi ini memeriksa keberadaan suatu nilai dalam daftar nilai yang diteruskan. Hasil operasi akan menjadi True jika nilainya ditemukan, atau False jika tidak. Misalnya:

Butir B (&Produk1, &Produk2)

Operasi pengecekan keberadaan suatu nilai dalam suatu kumpulan data

Operasi ini memeriksa keberadaan nilai dalam kumpulan data yang ditentukan. Kumpulan data validasi harus berisi satu bidang. Misalnya:

Penjualan

Operasi pengecekan nilai NULL

Operasi ini mengembalikan True jika nilainya NULL. Misalnya:

Penjualan. Pihak Lawan ADALAH NULL

Operasi pengecekan nilai ketidaksetaraan NULL

Operasi ini mengembalikan True jika nilainya bukan NULL. Misalnya:

Penjualan Rekanan BUKAN NULL

Operasi logis

Operasi logika menerima ekspresi bertipe Boolean sebagai operan.

Operasi TIDAK

Operasi NOT mengembalikan True jika operandnya False dan False jika operandnya True. Misalnya:

BUKAN Dokumen.Penerima Barang = Dokumen.Pengirim

Operasi I

Operasi AND mengembalikan True jika kedua operan bernilai True, dan False jika salah satu operan bernilai False. Misalnya:

Dokumen.Penerima Barang = Dokumen.Pengirim DAN Dokumen.Penerima Barang = &Counterparty

ATAU operasi

Operasi OR mengembalikan True jika salah satu operannya Benar, dan False jika kedua operannya Salah. Misalnya:

Dokumen.Penerima Barang = Dokumen.Pengirim ATAU Dokumen.Penerima Barang = &Counterparty

Fungsi agregat

Fungsi agregat melakukan beberapa tindakan pada sekumpulan data.

Jumlah

Fungsi Jumlah agregat menghitung jumlah nilai ekspresi yang diteruskan sebagai argumen untuk semua catatan detail. Misalnya:

Jumlah(Penjualan.Jumlah Perputaran)

Kuantitas

Fungsi Count menghitung jumlah nilai selain NULL. Misalnya:

Kuantitas (Penjualan. Pihak lawan)

Jumlah berbeda

Fungsi ini menghitung jumlah nilai yang berbeda. Misalnya:

Kuantitas (Berbagai Penjualan. Counterparty)

Maksimum

Fungsi tersebut mendapatkan nilai maksimum. Misalnya:

Maksimum (Sisa. Kuantitas)

Minimum

Fungsi tersebut mendapatkan nilai minimum. Misalnya:

Minimum (Sisa. Kuantitas)

Rata-rata

Fungsi ini mendapatkan rata-rata nilai non-NULL. Misalnya:

Rata-rata (Sisa. Kuantitas)

Operasi lainnya

Operasi PILIH

Operasi Select dimaksudkan untuk memilih salah satu dari beberapa nilai ketika kondisi tertentu terpenuhi. Misalnya:

Pilih Bila Jumlah > 1000 Lalu Jumlah Jika Tidak 0 Akhir

Aturan untuk membandingkan dua nilai

Jika jenis nilai yang dibandingkan berbeda satu sama lain, maka hubungan antar nilai ditentukan berdasarkan keutamaan jenisnya:

  • NULL (terendah);
  • Boolean;
  • Nomor;
  • Tanggal;
  • Garis;
  • Jenis referensi

Hubungan antara tipe referensi yang berbeda ditentukan berdasarkan nomor referensi tabel yang sesuai dengan tipe tertentu.

Jika tipe datanya sama, maka nilainya dibandingkan menurut aturan berikut:

  • untuk tipe Boolean nilai TRUE lebih besar dari nilai FALSE;
  • tipe Angka memiliki aturan perbandingan angka yang biasa;
  • untuk tipe Tanggal, tanggal yang lebih awal lebih kecil dari tanggal yang lebih baru;
  • untuk tipe String - perbandingan string sesuai dengan karakteristik nasional database yang ditetapkan;
  • tipe referensi dibandingkan berdasarkan nilainya (nomor catatan, dll.).

Bekerja dengan Nilai NULL

Operasi apa pun yang salah satu operannya adalah NULL akan menghasilkan hasil NULL.

Ada pengecualian:

  • Operasi AND akan mengembalikan NULL hanya jika tidak ada operan yang False;
  • Operasi OR hanya akan mengembalikan NULL jika tidak ada operan yang bernilai True.

Prioritas operasi

Operasi tersebut memiliki prioritas sebagai berikut (baris pertama memiliki prioritas terendah):

  • B, ADALAH NULL, BUKAN NULL;
  • =, <>, <=, <, >=, >;
  • Biner +, Biner – ;
  • *, /, %;
  • Unari +, Unari -.

Fungsi Bahasa Ekspresi Sistem Komposisi Data

Menghitung

Fungsi Hitung dirancang untuk menghitung ekspresi dalam konteks beberapa pengelompokan. Fungsi tersebut memiliki parameter berikut:

  • Ekspresi. Ketik String. Berisi ekspresi terhitung;
  • Pengelompokan. Ketik String. Berisi nama pengelompokan dalam konteks ekspresi yang akan dievaluasi. Jika string kosong digunakan sebagai nama pengelompokan, penghitungan akan dilakukan dalam konteks pengelompokan saat ini. Jika string GrandTotal digunakan sebagai nama grup, penghitungan akan dilakukan dalam konteks total keseluruhan. Jika tidak, penghitungan akan dilakukan dalam konteks pengelompokan induk dengan nama yang sama. Misalnya:
Jumlah(Sales.SumTurnover) / Hitung("Jumlah(Sales.SumTurnover)", "Total")

DI DALAM dalam contoh ini hasilnya adalah rasio jumlah bidang “Sales.SumTurnover” pada catatan pengelompokan dengan jumlah bidang yang sama di seluruh tata letak.

Tingkat

Fungsi ini dirancang untuk mendapatkan level perekaman saat ini.

Tingkat()

Nomor Dalam Urutan

Dapatkan nomor urut berikutnya.

NomorBerdasarkanPesanan()

NumberInOrderInGrouping

Mengembalikan nomor urut berikutnya dalam pengelompokan saat ini.

NomorBerdasarkanPesananDalamGrup()

Format

Dapatkan string yang diformat dari nilai yang diteruskan.

String format diatur sesuai dengan string format 1C:Enterprise.

Parameter:

  • Arti;
  • Memformat string.

Format(Faktur Habis Pakai. Jumlah Dokumen, "NPV=2")

Awal Periode

Parameter:

    • Menit;
    • Hari;
    • Pekan;
    • Bulan;
    • Seperempat;
    • Dasawarsa;
    • Setengah tahun.

Periode Mulai(DateTime(2002, 10, 12, 10, 15, 34), "Bulan")

Hasil:

01.10.2002 0:00:00

Akhir Periode

Fungsi ini dirancang untuk mengekstrak tanggal tertentu dari tanggal tertentu.

Parameter:

  • Tanggal. Ketik Tanggal. Tanggal yang ditentukan;
  • Jenis periode. Ketik String. Berisi salah satu nilai berikut:
    • Menit;
    • Hari;
    • Pekan;
    • Bulan;
    • Seperempat;
    • Dasawarsa;
    • Setengah tahun.

Periode Akhir(DateTime(2002, 10, 12, 10, 15, 34), "Minggu")

Hasil:

13.10.2002 23:59:59

Tambahkan Ke Tanggal

Fungsi ini dirancang untuk menambahkan nilai tertentu pada suatu tanggal.

Parameter:

  • Jenis pembesaran. Ketik String. Berisi salah satu nilai berikut:
    • Menit;
    • Hari;
    • Pekan;
    • Bulan;
    • Seperempat;
    • Dasawarsa;
    • Setengah tahun.
  • Besaran – seberapa banyak Anda perlu menambah tanggal. Ketik Nomor. Bagian pecahan diabaikan.

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

Hasil:

12.11.2002 10:15:34

Perbedaan Tanggal

Fungsi ini dirancang untuk mendapatkan perbedaan antara dua tanggal.

Parameter:

  • Ekspresi. Ketik Tanggal. Tanggal asli;
  • Ekspresi. Ketik Tanggal. Tanggal pengurangan;
  • Jenis perbedaan. Ketik String. Berisi salah satu nilai berikut:
    • Kedua;
    • Menit;
    • Hari;
    • Bulan;
    • Seperempat;

PERBEDAAN TANGGAL(DATETIME(2002, 10, 12, 10, 15, 34), DATETIME(2002, 10, 14, 9, 18, 06), "DAY")

Hasil:

Substring

Fungsi ini dirancang untuk mengekstrak substring dari string.

Parameter:

  • Garis. Ketik String. String dari mana substring diekstraksi;
  • Posisi. Ketik Nomor. Posisi karakter dari mana substring yang akan diekstraksi dari string dimulai;
  • Panjang. Ketik Nomor. Panjang substring yang dialokasikan.

SUBSTRING(Akun.Alamat, 1, 4)

Panjang Garis

Fungsi ini dirancang untuk menentukan panjang string.

Parameter:

  • Garis. Ketik String. Sebuah string yang panjangnya ditentukan.

Jalur(Rekanan.Alamat)

Tahun

Fungsi ini dirancang untuk mengekstrak tahun dari nilai tipe Tanggal.

Parameter:

  • Tanggal. Ketik Tanggal. Tanggal dimana tahun ditentukan.

TAHUN(Beban.Tanggal)

Seperempat

Fungsi ini dirancang untuk mengekstrak nomor kuartal dari nilai tipe Tanggal. Angka seperempat biasanya berkisar antara 1 hingga 4.

Parameter

  • Tanggal. Ketik Tanggal. Tanggal penentuan kuartal
TRIWULAN(Beban.Tanggal)

Bulan

Fungsi ini dirancang untuk mengekstrak nomor bulan dari nilai tipe Tanggal. Nomor bulan biasanya berkisar antara 1 hingga 12.

  • Tanggal. Ketik Tanggal. Tanggal dimana bulan ditentukan.
BULAN(Beban.Tanggal)

Hari Terbaik Tahun Ini

Fungsi ini dirancang untuk mendapatkan hari dalam setahun dari nilai tipe Tanggal. Hari dalam setahun biasanya berkisar antara 1 hingga 365 (366).

  • Tanggal. Ketik Tanggal. Tanggal dimana hari dalam setahun ditentukan.
DAYYEAR(Rekening Pengeluaran.Tanggal)

Hari

Fungsi ini dirancang untuk mendapatkan hari dalam sebulan dari nilai tipe Tanggal. Hari dalam sebulan biasanya berkisar antara 1 hingga 31.

  • Tanggal. Ketik Tanggal. Tanggal dimana hari dalam bulan ditentukan.
HARI(Beban.Tanggal)

Pekan

Fungsi ini dirancang untuk mendapatkan nomor minggu dalam setahun dari nilai tipe Tanggal. Minggu dalam setahun diberi nomor mulai dari 1.

  • Tanggal. Ketik Tanggal. Tanggal penentuan nomor minggu.
MINGGU(Beban.Tanggal)

Hari dalam Seminggu

Fungsi ini dirancang untuk mendapatkan hari dalam seminggu dari nilai tipe Tanggal. Hari normal dalam seminggu berkisar antara 1 (Senin) hingga 7 (Minggu).

  • Tanggal. Ketik Tanggal. Tanggal dimana hari dalam seminggu ditentukan.
HARI DALAM MINGGU (Tanggal Faktur Biaya)

Jam

Fungsi ini dirancang untuk mendapatkan jam dalam sehari dari nilai tipe Tanggal. Jam dalam sehari berkisar antara 0 hingga 23.

  • Tanggal. Ketik Tanggal. Tanggal dimana jam dalam sehari ditentukan.
JAM(Beban.Tanggal)

Menit

Fungsi ini dirancang untuk mendapatkan menit dari nilai tipe Tanggal. Menit dalam satu jam berkisar antara 0 hingga 59.

  • Tanggal. Ketik Tanggal. Tanggal dimana menit dalam satu jam ditentukan.
MENIT(Beban.Tanggal)

Kedua

Fungsi ini dirancang untuk mendapatkan detik dalam satu menit dari nilai tipe Tanggal. Detik dalam satu menit berkisar antara 0 hingga 59.

  • Tanggal. Ketik Tanggal. Tanggal dimana detik-detik dalam menit ditentukan.
KEDUA (Tanggal Kedaluwarsa)

Cepat

Fungsi ini dirancang untuk mengekstrak tipe dari ekspresi yang mungkin berisi tipe gabungan. Jika ekspresi berisi tipe selain tipe yang diperlukan, NULL akan dikembalikan.

Parameter:

  • Ekspresi untuk mengkonversi;
  • Jenis indikasi. Ketik String. Berisi string tipe. Misalnya, "Nomor", "String", dll. Selain tipe primitif garis yang diberikan mungkin berisi nama tabel. Dalam hal ini, upaya akan dilakukan untuk menyatakan referensi ke tabel yang ditentukan.

Ekspres(Data.Props1, "Nomor(10,3)")

AdalahNull

Fungsi ini mengembalikan nilai parameter kedua jika nilai parameter pertama adalah NULL.

Jika tidak, nilai parameter pertama akan dikembalikan.

YesNULL(Jumlah(Penjualan.JumlahPerputaran), 0)

Fungsi modul umum

Ekspresi mesin komposisi data mungkin berisi panggilan ke fungsi modul konfigurasi umum global. Tidak diperlukan sintaks tambahan untuk memanggil fungsi tersebut.

Dalam contoh ini, fungsi "Nama Singkatan" akan dipanggil dari modul konfigurasi umum.

Perhatikan bahwa penggunaan fungsi modul umum hanya diperbolehkan jika parameter prosesor komposisi data yang sesuai ditentukan.

Selain itu, fungsi modul umum tidak dapat digunakan dalam ekspresi bidang khusus.

Kami memeriksa secara rinci pengaturan laporan yang diterapkan berdasarkan sistem kontrol akses. Sekarang mari kita lihat pengaturan yang lebih halus dan mendetail untuk opsi laporan. Jendela untuk pengaturan "lanjutan" dari opsi laporan dipanggil dengan perintah "Lainnya" - "Lainnya" - "Ubah opsi laporan".

Jendela untuk mengubah versi laporan dibagi menjadi dua bagian:

1. Struktur laporan.

2. Pengaturan laporan.


Bagian struktur opsi laporan mirip dengan tab “Struktur” pada pengaturan laporan standar. Tujuan dan konfigurasi pengelompokan dibahas secara rinci di Bagian 1 artikel.

Tabel struktur varian laporan, selain kolom aktual dengan pengelompokan, berisi beberapa kolom tambahan:

Bagian pengaturan opsi laporan memberi pengguna banyak peluang untuk mengonfigurasi laporan agar sesuai dengan kebutuhan mereka. Ini hampir sepenuhnya bertepatan dengan pengaturan standar laporan yang dibahas di bagian 1. Mari kita lihat semua tab di bagian ini dan perhatikan perbedaannya.

Bagian pengaturan terdiri dari tab berikut:

1. Parameter. Berisi parameter ACS yang tersedia untuk pengguna.

Parameter SKD merupakan nilai yang digunakan untuk memperoleh data laporan. Ini bisa menjadi nilai kondisi untuk memilih atau memeriksa data, serta nilai tambahan.


Tabel parameter disajikan dalam format “Parameter” - “Nilai”. Jika perlu, Anda dapat mengubah nilai parameter. Mengklik tombol “Properti Elemen Pengaturan Kustom” akan membuka pengaturan kustom elemen.


Di jendela ini, Anda dapat memilih apakah elemen akan disertakan dalam pengaturan pengguna (yaitu, terlihat oleh pengguna saat menyiapkan laporan), mengatur mode presentasi dan pengeditan elemen ( akses cepat di header laporan, normal di pengaturan laporan dan tidak tersedia).

Properti item pengaturan kustom juga memiliki bidang, margin, pilihan, dan elemen tampilan bersyarat yang dapat dikelompokkan.

2. Bidang khusus. Berisi bidang yang dihasilkan oleh pengguna sendiri berdasarkan data yang dipilih oleh laporan.


Pengguna dapat menambahkan dua jenis bidang:

  • Bidang pilihan baru...
  • Bidang ekspresi baru...

Bidang pilihan memungkinkan Anda menghitung nilai berdasarkan kondisi tertentu. Jendela pengeditan bidang pilihan berisi judul bidang dan tabel yang berisi pilihan, nilai, dan presentasi bidang. Seleksi adalah suatu kondisi, tergantung pada nilai yang diinginkan yang akan diganti.


Misalnya, mari kita hitung perkiraan jumlah penjualan. Kita asumsikan jika suatu produk terjual kurang dari 10 unit maka kita terjual sedikit, dan jika lebih dari 10 unit maka kita terjual banyak. Untuk melakukan ini, kami akan menetapkan 2 nilai bidang kalkulasi: yang pertama dengan pilihan “Jumlah barang Kurang dari atau sama dengan “10””, yang kedua dengan pilihan “Jumlah barang Lebih Besar dari “10 ””.

Bidang ekspresi memungkinkan Anda menghitung nilai menggunakan algoritma arbitrer. Mereka dapat menggunakan fungsi bahasa kueri dan bahasa pemrograman 1C bawaan. Jendela pengeditan bidang ekspresi berisi dua bidang untuk ekspresi rekaman detail dan ringkasan. Catatan total adalah pengelompokan yang dikonfigurasi di area “Struktur Laporan”; catatan tersebut harus menggunakan fungsi agregat (“Jumlah”, “Minimum”, “Maksimum”, “Kuantitas”).

Misalnya, mari kita hitung persentase diskon rata-rata. Rata-rata persentase diskon dihitung dengan rumus: [Jumlah penjualan tanpa diskon] - [Jumlah penjualan dengan diskon] / [Jumlah penjualan tanpa diskon]. Penting untuk diingat bahwa jumlah penjualan tanpa diskon mungkin nol, jadi kami menggunakan operator SELECT untuk memeriksanya. Kami mendapatkan ekspresi berikut:

· Untuk entri detail:

Pilihan

Ketika [Jumlah penjualan tanpa diskon] = 0

Lalu 0

Jika tidak, [Jumlah penjualan tanpa diskon] - [Jumlah penjualan dengan diskon] / [Jumlah penjualan tanpa diskon]

Akhir

· Untuk catatan ringkasan:

Pilihan

Ketika Jumlah([Jumlah penjualan tanpa diskon]) = 0

Lalu 0

Jika tidak, Sum([Jumlah penjualan tanpa diskon]) - Jumlah([Jumlah penjualan dengan diskon]) / Jumlah([Jumlah penjualan tanpa diskon])

Akhir

Seperti disebutkan sebelumnya, dalam ekspresi total record yang kami gunakan fungsi agregat"Jumlah".

3. Bidang yang dapat dikelompokkan. Berisi bidang yang akan mengelompokkan hasil varian laporan. Bidang yang dikelompokkan dikonfigurasi secara terpisah untuk setiap pengelompokan, namun Anda dapat mengatur bidang umum yang dikelompokkan untuk opsi laporan jika Anda memilih akar “Laporan” di pohon struktur. Anda dapat menambahkan field dari hasil laporan, custom field, atau memilih field auto, kemudian sistem akan memilih field tersebut secara otomatis. Tab ini juga memungkinkan Anda mengubah urutan bidang yang dikelompokkan.


4. Bidang. Berisi kolom yang akan dikeluarkan sebagai hasil varian laporan. Bidang dikonfigurasi secara terpisah untuk setiap pengelompokan, namun Anda dapat mengatur bidang umum untuk opsi laporan jika Anda memilih akar “Laporan” di pohon struktur. Anda dapat menambahkan field dari hasil laporan, custom field, atau memilih field auto, kemudian sistem akan memilih field tersebut secara otomatis. Tab ini juga memungkinkan Anda mengubah urutan bidang.

Bidang dapat dikelompokkan untuk menyorot bagian mana pun dari laporan secara logis atau untuk menentukan susunan kolom khusus. Saat menambahkan grup, kolom “Lokasi” menjadi aktif dan memungkinkan Anda memilih salah satu opsi lokasi:

  • Otomatis - sistem menempatkan bidang secara otomatis;
  • Horizontal - bidang diposisikan secara horizontal;
  • Vertikal - bidang disusun secara vertikal;
  • Di kolom terpisah - bidang terletak di kolom yang berbeda;
  • Bersama - bidang terletak dalam satu kolom.


5. Seleksi. Berisi pilihan yang digunakan dalam varian laporan. Menyiapkan pilihan telah dibahas secara rinci di bagian 1 artikel ini. Filter dikonfigurasikan secara terpisah untuk setiap pengelompokan, namun Anda dapat menyetel filter umum untuk opsi laporan jika Anda memilih akar “Laporan” di pohon struktur.


6. Penyortiran. Berisi bidang pengurutan yang digunakan dalam varian laporan. Menyiapkan bidang pengurutan telah dibahas secara rinci di Bagian 1 artikel ini. Penyortiran dikonfigurasi secara terpisah untuk setiap pengelompokan, namun Anda dapat mengatur bidang penyortiran umum untuk opsi laporan jika Anda memilih akar “Laporan” di pohon struktur.


7. Pendaftaran bersyarat. Berisi elemen desain bersyarat yang digunakan dalam varian laporan. Menyiapkan tampilan bersyarat telah dibahas secara rinci di Bagian 1 artikel ini. Tampilan bersyarat dikonfigurasi secara terpisah untuk setiap pengelompokan, tetapi Anda dapat mengatur elemen umum tampilan bersyarat untuk opsi laporan jika Anda memilih akar “Laporan” di pohon struktur.


8. Pengaturan tambahan. Berisi pengaturan tambahan persiapan laporan. Memungkinkan Anda memilih yang umum penampilan laporan, lokasi bidang, pengelompokan, detail, sumber daya, total, mengatur pengaturan bagan, mengontrol tampilan judul, parameter dan pilihan, menentukan posisi sumber daya dan memperbaiki header dan kolom pengelompokan versi laporan.


Sebagai kesimpulan, saya ingin mencatat bahwa pengaturan laporan tidak hanya dapat disimpan sebagai opsi laporan, tetapi juga diunggah ke file (menu “Lainnya” - “Simpan pengaturan”). Untuk mengunduh, Anda harus memilih “Muat pengaturan” dan pilih file yang disimpan. Dengan demikian, kita dapat mentransfer pengaturan varian laporan antar database berbeda yang memiliki konfigurasi yang sama.


Berdasarkan hal ini, kami dapat meringkas bahwa pengguna tidak hanya dapat menyesuaikan laporan secara mandiri sesuai kebutuhannya, tetapi juga menyimpan pengaturannya dan menggunakannya di masa mendatang jika diperlukan.

Untuk manajemen yang kompeten, setiap organisasi perdagangan memerlukan penerimaan informasi yang cepat tentang keadaan barang, penjualan, dan keuntungan saat ini. Namun, mengingat organisasi sering kali bekerja dengan berbagai macam barang dan sejumlah besar rekanan, maka alat penyiapan laporan analitis memainkan peran penting dalam memperolehnya informasi yang diperlukan. Mari kita lihat lebih dekat cara bekerja dengan bidang khusus dalam laporan program standar (rev. 11).

Pengembangan platform 1C: Enterprise 8 menawarkan lebih banyak peluang kepada pengguna. Misalnya, di versi 8.2, laporan menjadi lebih fleksibel, memungkinkan laporan disesuaikan agar sesuai dengan berbagai kebutuhan tanpa bantuan pemrogram yang berkualifikasi.

Mengubah pengaturan laporan

Untuk melihat atau mengubah pengaturan laporan, buka menu “Semua tindakan” dan pilih perintah “Ubah opsi”. Setelah ini, sebuah jendela dengan pengaturan untuk laporan terbuka terbuka di depan pengguna.

Di bagian atas jendela pengaturan, Anda dapat melihat struktur laporan, yang tidak lebih dari refleksi visual kolom laporan dan pengelompokan barisnya, yang pada dasarnya memungkinkan untuk membayangkan urutan data analitik. ditampilkan dalam laporan ini.

Di bagian bawah jendela pengaturan, informasi aktual dan pengaturan bidang ditampilkan, terkait dengan laporan atau elemen strukturnya (pengelompokan kolom dan baris).

Bidang khusus

Dalam program tersebut 1C: Manajemen Perdagangan 8 Pengaturan laporan Edisi 11 memberi pengguna lebih banyak pilihan dalam pembuatannya.

Di jendela untuk mengedit pengaturan dan struktur laporan, kami ingin menarik perhatian khusus pengguna ke tab “Bidang Khusus”, yang memungkinkan Anda membuat bidang sendiri dan menambahkannya ke laporan. Perlu diingat bahwa sebelumnya pengguna hanya dapat menggunakan bidang yang diterapkan oleh pengembang.

Mari kita lihat penggunaan fungsi ini menggunakan sebuah contoh.

Misalkan kepala perusahaan perdagangan yang menjual barang di Moskow dan wilayahnya ingin menyesuaikan laporan "Riwayat Penjualan" dengan kebutuhannya, ingin menampilkan di dalamnya data penjualan produk di Moskow dan wilayah secara umum, sebagai serta kepada mitra. Ini sangat mudah dilakukan dengan menggunakan bidang khusus.

Jadi, contoh yang jelas menunjukkan pengaturan yang fleksibel untuk bidang khusus dalam program standar 1C: Manajemen Perdagangan 8 memberi pengguna banyak kesempatan untuk menyesuaikan laporan, memungkinkan mereka dengan cepat memperoleh informasi yang diperlukan dalam bentuk yang nyaman.

Setiap organisasi, untuk mengambil keputusan manajemen yang tepat waktu dan benar, memerlukan informasi operasional tentang ketersediaan barang di gudang, biayanya, dan penjualannya. Organisasi perdagangan bekerja dengan sejumlah besar item dan rekanan, dan ini memerlukan pengaturan akuntansi analitis yang baik dan penerimaan cepat informasi yang diperlukan dari datanya. Artikel ini membahas teknik dasar untuk bekerja dengan laporan standar dalam solusi standar “1C: Trade Management 8” (edisi 11), yang dibangun berdasarkan sistem komposisi data, dan memberikan manfaat rekomendasi praktis, yang akan berguna baik bagi pengguna pemula maupun bagi mereka yang telah beralih ke edisi baru dari edisi sebelumnya.

Sebagai contoh, mari kita ambil laporannya

  • Analisis ketersediaan produk;

Pengaturan.

Di kolom Jenis perbandingan Tata nama

  • Setara
  • Tidak setara
  • Di daftar
  • Tidak ada dalam daftar
  • Dalam kelompok Tata nama;
  • Tidak dalam kelompok Tata nama;
  • Dalam grup dari daftar Tata nama;
  • Tidak ada dalam grup dari daftar Tata nama.

Arti

"Pilihan cepat"

Seiring berkembangnya platform 1C:Enterprise 8 dan munculnya versi baru 8.2, laporan dalam sistem menjadi lebih fleksibel, dan pengguna memiliki lebih banyak peluang untuk menyesuaikannya dengan kebutuhan mereka tanpa bantuan pemrogram.

Peluang baru yang disediakan oleh sistem komposisi data (DCS) memungkinkan Anda merasakan manfaat kemampuan 1C:Enterprise 8 saat membuat laporan dengan cara yang belum pernah ada sebelumnya. Dan, meskipun antarmuka laporan telah mengalami perubahan signifikan (dibandingkan dengan konfigurasi “Manajemen Perdagangan” edisi 10.3, yang selanjutnya disebut UT), pengaturan laporan masih tersedia untuk pengguna rata-rata. Mari kita lihat beberapa teknik dasar untuk bekerja dengannya.

Hal pertama yang dapat Anda perhatikan adalah pilihan cepat. Mereka memungkinkan Anda untuk menampilkan data dalam laporan berdasarkan nilai tertentu dari bidang laporan sesuai dengan keinginan pengguna.

Sebagai contoh, mari kita ambil laporannya Analisis ketersediaan produk di UT. Mari kita segera perhatikan bahwa keseluruhan demonstrasi kemampuan pelaporan di UT 11 akan dilakukan dengan menggunakan contoh dua laporan:

  • Analisis ketersediaan produk;
  • Pendapatan dan biaya penjualan.

Pemilihan beberapa field dapat dilakukan baik secara langsung di form laporan atau menggunakan tombol Pengaturan.

Di kolom Jenis perbandingan pengguna dapat memilih kondisi perbandingan yang berbeda. Misalnya untuk lapangan Tata nama Anda dapat memilih jenis perbandingan berikut:

  • Setara- laporan akan dibuat hanya untuk item yang dipilih;
  • Tidak setara- laporan akan dibuat untuk seluruh rangkaian produk, kecuali item yang dipilih;
  • Di daftar- laporan akan didasarkan pada daftar item item;
  • Tidak ada dalam daftar- laporan akan dibuat untuk seluruh rangkaian produk, kecuali untuk item yang dipilih;
  • Dalam kelompok- Laporan akan dibuat pada seluruh item yang terletak di folder direktori yang dipilih Tata nama;
  • Tidak dalam kelompok- laporan akan dibuat untuk seluruh rangkaian produk, kecuali item yang terletak di folder direktori yang dipilih Tata nama;
  • Dalam grup dari daftar- mirip dengan perbandingan Dalam daftar, hanya folder dalam direktori yang dipilih sebagai nilai daftar Tata nama;
  • Tidak ada dalam grup dari daftar- mirip dengan perbandingan Tidak ada dalam daftar, hanya folder dalam direktori yang dipilih sebagai nilai daftar Tata nama.

Kotak centang di sebelah kiri bidang pilihan menunjukkan bahwa pilihan untuk bidang ini “diaktifkan”, yaitu diperhitungkan dalam laporan.

Bidang yang tidak dicentang tidak diperhitungkan meskipun Anda telah memilih nilai tertentu untuk bidang ini.

Tergantung pada jenis perbandingan yang dipilih di kolom Arti elemen atau folder (grup) tertentu dari direktori, atau daftar elemen atau folder ditunjukkan.

“Pilihan cepat” tersedia di semua solusi pada platform 1C:Enterprise 8.

Contoh perubahan sederhana pada pengaturan laporan

Untuk melihat/mengubah pengaturan laporan, Anda perlu masuk ke menu Semua tindakan - Ubah opsi.

Jendela pengaturan untuk opsi laporan yang dipilih terbuka di depan kita.

Struktur laporan ditampilkan di bagian atas jendela. Intinya, ini adalah tampilan visual pengelompokan baris dan kolom laporan, yaitu dalam urutan apa data analisis akan ditampilkan dalam laporan dalam baris dan kolom.

Di bagian bawah jendela, informasi terkait laporan secara keseluruhan ditampilkan (jika tingkat teratas dipilih dalam struktur laporan Laporan), atau ke pengelompokan baris atau kolom tertentu dalam laporan (jika pengelompokan pada tingkat yang lebih rendah dipilih), pengaturan untuk menampilkan informasi dan mendesain bidang.

Contoh 1

Langkah 1. Kita perlu menghapus pengelompokan berdasarkan karakteristik produk, hanya menyisakan pengelompokan berdasarkan produk. Untuk melakukan ini, di bagian atas jendela pengaturan laporan, klik pada bidang Nomenklatur, Karakteristik. Di bagian bawah jendela, buka tab Grup.

Pilih bidang Ciri dan klik tombolnya Menghapus panel perintah.

Konfirmasikan perubahan pada pengaturan laporan dengan mengklik tombol Selesai mengedit di sudut kiri bawah layar.

Langkah 2. Setelah menghilangkan cirinya, tugas kita sesuai ketentuan contoh adalah menambahkan kelompok harga. Intinya, pengelompokan ini harus berada pada tingkat yang lebih rendah dari pengelompokan berdasarkan gudang, namun pada tingkat yang lebih tinggi dari pengelompokan berdasarkan item. Oleh karena itu, dalam struktur laporan kami akan menyoroti pengelompokan Gudang.

Dengan mengklik kanannya, pilih perintah di menu konteks Grup baru.

Di jendela pengeditan bidang pengelompokan yang terbuka, pilih Nomenklatur. Kelompok harga.

Dengan mengklik tombol OKE, kita akan melihat bahwa pengelompokan baru telah ditambahkan ke laporan, di bawah pengelompokan tersebut Gudang.

Sekarang mari kita pilih pengelompokan berdasarkan produk dan, tanpa melepaskan tombol kanan mouse, seret ke dalam (yaitu di bawah) pengelompokan berdasarkan kelompok harga. Akan diperoleh struktur yang disajikan pada Gambar 1. Hasil pembuatan laporan disajikan pada Gambar 2.

Beras. 1. Struktur laporan yang dihasilkan

Beras. 2. Hasil penyesuaian laporan

Bekerja dengan bidang khusus

Sekarang mari kita lihat lebih dekat opsi baru untuk menyesuaikan laporan dalam program 1C: Trade Management 8.

Dalam bentuk pengeditan struktur dan pengaturan laporan kita, mari kita perhatikan tab Bidang khusus.

Sebelumnya, kami menambahkan bidang ke laporan, yang daftarnya telah ditentukan sebelumnya oleh pengembang. Dengan menggunakan tab ini, kita dapat membuat bidang sendiri yang kita perlukan - Bidang seleksi atau Bidang ekspresi.

Contoh 2

Mari kita sesuaikan laporan “Riwayat Penjualan” (opsi laporan “Pendapatan dan Biaya Penjualan”). Kami akan menampilkan data penjualan berdasarkan mitra dan rangkaian produk. Misalkan perusahaan kita menjual barang di Moskow dan sekitarnya. Dengan demikian, setiap klien di basis informasi termasuk dalam wilayah geografis tertentu (atribut “Wilayah Bisnis” di direktori “Mitra”). Kita dapat dengan mudah mengelompokkan data penjualan dalam laporan berdasarkan wilayah, namun bagaimana jika kita tertarik pada statistik yang lebih teragregasi, khususnya, jawaban atas pertanyaan “Berapa banyak barang yang terjual di Moskow, dan berapa banyak di seluruh wilayah lain yang digabungkan”? Di sinilah “bidang khusus” berguna.

Langkah 1. Mari kita buka laporannya. Mari kita masuk ke formulir untuk menyiapkan struktur laporan ( Semua tindakan -> Ubah opsi). Mari kita hapus semua grup yang sebelumnya dibuat dalam laporan secara bergantian - untuk melakukan ini, pilih masing-masing grup dan klik tombol Menghapus panel perintah, atau gunakan tombol DEL.

Sama seperti pada contoh sebelumnya, mari tambahkan pengelompokan ke laporan berdasarkan mitra, lalu berdasarkan item. Kami sudah tahu cara melakukannya, jadi tidak memakan banyak waktu.

Langkah 2. Mari buat bidang khusus baru. Mari kita buka bookmarknya Bidang khusus dan jalankan perintahnya Tambah -> Bidang Pilih Baru.

Mari beri nama pada bidang baru kita - Wilayah secara umum.

Mari kita klik tombolnya Menambahkan. DI DALAM baris baru klik tombol di kolom Pilihan. Pada formulir pengeditan pilihan yang muncul, tambahkan pilihan berdasarkan bidang Mitra.Wilayah bisnis. Mari kita pilih jenis perbandingannya Setara, arti - Moskow.

Mari kita klik tombolnya OKE, setelah itu kita akan kembali ke jendela pengeditan bidang khusus. Selanjutnya, Anda perlu mengklik tombol di kolom Arti dan pada daftar pilihan tipe data yang muncul, pilih Garis dan menulis sebagai nilai Moskow.

Mari kita ulangi operasinya. Mari tambahkan satu baris lagi ke tabel. Kali ini untuk seleksi berdasarkan bidang Mitra.Wilayah bisnis pilih jenis perbandingan Tidak setara.

Kembali ke jendela pengeditan bidang khusus, di kolom Arti ayo menulis Daerah lain(lihat Gambar 3).

Beras. 3. Mengedit bidang khusus

Mari kita klik tombolnya OKE. Bidang baru kami sudah siap.

Langkah 3. Mari tambahkan bidang baru kita ke struktur laporan. Memilih level teratas dengan mouse Laporan dalam struktur, tambahkan pengelompokan baru. Dalam alat peraga Bidang ayo pilih Wilayah secara umum.

Mari kita tarik pengelompokan berdasarkan mitra dan pengelompokan bawahan berdasarkan item ke dalam yang baru dibuat dengan mouse.

Mari buat laporan dan lihat hasilnya (ditunjukkan pada Gambar 4).

Beras. 4. Hasil pembuatan laporan

Seleksi dan penyortiran

Mari kembali ke jendela untuk mengedit struktur dan pengaturan laporan dan memperhatikan bookmark Pilihan Dan Penyortiran.

Jika elemen root dipilih dalam struktur laporan ( Laporan), maka pengaturan yang dilakukan pada tab tersebut akan berlaku untuk keseluruhan laporan secara keseluruhan. Jika pengelompokan laporan dipilih, pengaturan hanya akan memengaruhi pengelompokan tersebut.

Contoh 3

Hasilnya, laporan tersebut Sejarah penjualan Hanya implementasi yang manajernya ditentukan yang akan disertakan. Ivanov Ivan Fedorovich.

Contoh 4

Simpan perubahan yang dilakukan

Jika Anda mengubah struktur laporan, Anda selalu dapat menyimpannya menggunakan perintah Semua tindakan -> Opsi simpan.

Dalam formulir untuk menyimpan opsi, Anda dapat menggunakan sakelar untuk memilih Simpan ke pilihan yang ada laporan(bukan salah satu opsi yang sudah tersedia), atau Simpan versi laporan baru.