SKD mengisi parameter secara terprogram. Menggunakan parameter dalam sistem kontrol akses

Perhatian! Ini adalah pelajaran versi pengantar, yang materinya mungkin tidak lengkap.

Masuk ke situs sebagai pelajar

Masuk sebagai siswa untuk mengakses materi sekolah

Sistem komposisi data 1C 8.3 untuk pemula: menghubungkan kumpulan data

  • Tulis laporan yang menampilkan pelanggan dan produk favorit mereka. Setiap klien memiliki warna favorit, dan setiap produk memiliki warnanya sendiri - berdasarkan warna ini, Anda perlu menentukan "favorit" produk tersebut. Misalnya warna favorit Andrey adalah merah, maka salah satu makanan favoritnya adalah tomat (warnanya merah).
  • Terapkan dua set data dalam laporan. Kumpulan pertama adalah data dari tabel direktori "Klien". Yang kedua adalah data dari tabel direktori “Makanan”.
  • Melaksanakan hubungan antara dua set ini, sehingga laporan hanya berisi produk favorit setiap klien.

Buat laporan baru

Buka database "Gastronom" di konfigurator dan buat laporan baru melalui menu utama:

Jenis dokumen - "Laporan eksternal":

Dalam bentuk laporan baru, sebutkan nama “Pelajaran 6” dan klik tombol “Buka diagram komposisi data”:

Biarkan nama skema default:

Menambahkan kumpulan data pertama

Pada diagram yang terbuka, buka tab "Kumpulan Data" dan pilih "Tambahkan Kumpulan Data - Kueri" menggunakan tanda tambah hijau:

Panggil konstruktor permintaan:

Kami menunjukkan tabel "Pelanggan" dan bidang yang perlu diperoleh dari permintaan:

Menambahkan kumpulan data kedua

Tambahkan kumpulan data kedua:

Pilih (DataSet2) dan panggil konstruktor kueri lagi:

Kami menunjukkan tabel direktori "Makanan" dan bidang yang perlu diperoleh dari permintaan:

Teks permintaan yang dihasilkan adalah:

Harap perhatikan bahwa saat ini kami memiliki dua kumpulan data dalam laporan: Kumpulan Data1 dan Kumpulan Data2. Masing-masing memiliki teks dan data permintaannya sendiri.

Membuat nama lebih deskriptif

Agar lebih jelas, mari kita ganti nama DataSet1 menjadi Customers dan DataSet2 menjadi Food.

Lakukan ini dengan mengklik dua kali pada masing-masing set:

Kami dapat menggunakan data dari setiap set dalam laporan kami. Kami akan mengakses data ini melalui kolom.

Saat ini, kumpulan “Pelanggan” memiliki bidang berikut: “Nama” dan “Warna Favorit”, dan kumpulan “Makanan” memiliki: “Nama” dan “Warna”.

Kami melihat bahwa nama-nama tersebut tumpang tindih dan kami mudah menjadi bingung. Jadi mari kita ubah nama field menjadi lebih bermakna.

Pilih kumpulan "Klien" dan ubah nama bidang seperti ini:

Kemudian pilih set “Makanan” dan ubah nama bidang seperti ini:

Memanggil konstruktor pengaturan

Terakhir, buka tab “Pengaturan” dan klik tongkat ajaib untuk memunculkan perancang pengaturan:

Jenis laporan - "Daftar...":

Pilih bidang untuk laporan dari kedua kumpulan:

Lihat mengapa sangat penting untuk mengubah nama bidang? Pada tahap pengaturan komposisi data, kita tidak melihat dari kumpulan mana bidang-bidang tersebut berasal. Kami hanya melihat nama mereka.

Memeriksa laporan

Kami menyimpan laporan dan membuatnya dalam mode pengguna:

Ya. Oke, tapi tidak juga. Apa yang disebut gabungan silang dua set telah terjadi (Anda pasti sudah familiar dengan hal ini dari gabungan kueri yang kita pelajari di modul sebelumnya). Setiap catatan dari tabel Pelanggan memiliki catatan yang sesuai dari tabel Makanan.

Namun dari semua catatan ini kita hanya perlu menyisakan catatan yang bidangnya “Warna Favorit Pelanggan” sama dengan bidang “Warna Makanan”:

Kami menghubungkan dua set data

Untuk melakukan ini, kita akan menghubungkan dua kumpulan data (Pelanggan dan Makanan) menggunakan bidang Warna Favorit Pelanggan dan Warna Makanan.

Buka tab “Tautan Kumpulan Data” dan klik tombol plus untuk menambahkan tautan baru:

Kami mengkonfigurasi parameter seperti pada gambar di bawah ini:

Saya akan memberikan penjelasan.

Sumber dan penerima komunikasi. Ya, semuanya jelas di sini. Kami menunjukkan kumpulan data pertama (Pelanggan) dan kumpulan data kedua (Makanan). Saya ingin menarik perhatian khusus pada kenyataan bahwa komunikasi akan dilakukan sesuai dengan prinsip gabung kiri luar(kami membahasnya di topik permintaan di modul sebelumnya). Berdasarkan hal ini, Anda perlu memilih set mana yang akan menjadi sumber dan mana yang menjadi penerima.

Sumber ekspresi. Di sini kami menunjukkan ekspresi atau sekadar bidang dari kumpulan data sumber (kami menentukan bidang WarnaFavorit Klien dari kumpulan Klien di sini).

Ekspresi penerima. Di sini kami menunjukkan ekspresi atau sekadar bidang dari kumpulan data penerima (kami menunjukkan bidang WarnaMakanan dari kumpulan Makanan di sini).

Dengan demikian, koneksi ini akan meninggalkan daftar sebelumnya hanya baris-baris yang bidang Warna Favorit Pelanggannya sama dengan bidang Warna Makanan.

Mari simpan laporan dan jalankan dalam mode pengguna:

Besar!

Saya akan membuat penjelasan tentang lapangan" Kondisi komunikasi", yang sering kali menjadi sasaran para pemrogram pemula.

Kondisi koneksi adalah bidang bantu. Anda dapat menulis ekspresi di sana melibatkan bidang hanya dari kumpulan data yang ditentukan dalam sumber tautan.

Dalam hal ini, untuk semua baris dari sumber tautan, ekspresi ini (kondisi tautan) akan diperiksa sebelum tautan dibuat. Dan jika ungkapan ini BENAR, maka akan dilakukan upaya untuk membuat hubungan antara baris ini dan baris dari penerima tautan. Jika ekspresi tersebut SALAH, maka upaya seperti itu tidak akan dilakukan.

Di SKD ada permintaan yang berisi kondisi dan parameter.

Ada parameter yang telah ditentukan sebelumnya saat membuka laporan setiap kali. Bagaimana cara menentukannya dengan benar di ACS?

Kamu bisa melakukan ini:

Prosedur AktifTerbuka()

//.........................

DataParameter=SettingsComposer.Settings.DataParameters.Items.Find("Produk");

Parameter Data.Nilai = Direktori.Nomenklatur.FindByName("Kuku");

DataParameter.Penggunaan=Benar;

//...........................................

Akhir Prosedur

//////////////////////////////////////////

Fitur bekerja dengan parameter fungsi virtual

Parameter permintaan

Bahasa kueri memungkinkan Anda menentukan nilai parameter fungsi virtual. Dalam hal ini, untuk sebagian besar parameter, ekspresi dapat digunakan sebagai nilai parameter. Parameter juga dapat bertindak sebagai ekspresi.

Contoh: Daftar Akumulasi. Penjualan. Revolusi (&Mulai)

Dalam contoh ini, nilai parameter &Start akan digunakan sebagai nilai parameter pertama tabel virtual.

Opsi komposisi data

Dengan menggunakan instruksi khusus dalam teks kueri, Anda dapat menentukan parameter komposisi data mana yang akan digunakan sebagai nilai parameter tabel virtual.

Daftar Akumulasi. Penjualan. Revolusi ((& Awal Periode ))

Dalam contoh ini, nilai parameter &PeriodStart akan digunakan sebagai nilai parameter pertama tabel virtual, jika nilainya diatur dalam pengaturan komposisi data.

Berbagi Parameter Kueri dan Parameter Komposisi Data

Jika permintaan menentukan ekspresi parameter dan parameter komposisi data, maka nilai parameter komposisi data digunakan jika nilai parameter ini diatur dalam pengaturan komposisi. Jika tidak, hasil ekspresi yang ditentukan dalam parameter fungsi virtual akan digunakan sebagai nilai parameter.

Daftar Akumulasi. Penjualan. Revolusi (& Awal (& Awal Periode ))

Dalam contoh ini, jika parameter Awal Periode diatur dalam pengaturan, nilainya akan digunakan. Jika tidak, ekspresi asli, yaitu &Mulai, akan tetap berada dalam teks kueri yang dihasilkan, dan nilai parameter ini akan digunakan sebagai nilai parameter tabel virtual.

Opsi untuk mengisi kolom kumpulan data secara otomatis

Saat secara otomatis mengisi kolom yang tersedia dari kumpulan data skema komposisi data, sistem secara otomatis menambahkan parameter tabel virtual ke skema dengan nama yang sesuai dengan nama parameter tabel virtual, jika parameter tabel virtual tidak memiliki deskripsi parameter komposisi data.

Jadi entri:

Daftar Akumulasi. Penjualan. Revolusi (&Mulai)

sesuai dengan berikut ini:

Daftar Akumulasi. Penjualan. Perputaran (& Awal (& Awal Periode ), (& Akhir Periode))

Dan nilai parameter &Mulai hanya digunakan jika parameter &Mulai Periode tidak diatur dalam pengaturan.

[Anda harus mendaftar untuk melihat tautannya]



Memuat...
Atas