Laporan eksternal SCD dalam contoh 1s 8.3. Menambahkan laporan eksternal ke database

Pertimbangkan untuk membuat laporan eksternal dalam 1s 8 tanpa menggunakan sistem komposisi data. Untuk membuat laporan eksternal, kita akan menggunakan konfigurasi Accounting 2.0, data awal: “Tulis laporan pada akun akuntansi 62 di mana omset untuk periode yang ditentukan akan ditampilkan dalam konteks Pihak rekanan Dan Kontrak pihak lawan.

1. Buat laporan

Pertama-tama, mari buat file laporan eksternal; untuk melakukan ini, mari beralih ke mode 1s 8 konfigurator, ayo buka menunya Berkas -> Baru, atau klik ikonnya dokumen baru.

Pilih item dari daftar Laporan eksternal. Setelah membuat laporan eksternal, beri Nama (misalnya Laporan Paling Sederhana) dan simpan ke disk. Kami juga akan menambahkan dua detail: Awal periode Dan Akhir Periode jenis tanggal, kita akan membutuhkannya untuk membatasi interval waktu pengambilan sampel data saat membuat laporan.

2. Buat tata letak laporan eksternal

Untuk menghasilkan laporan di 1C 8, Anda memerlukan tata letak, ini adalah templat untuk keluaran data yang semuanya ditentukan parameter yang diperlukan, tabel digambar, dll. Mari tambahkan tata letak baru; untuk melakukan ini, pilih item di pohon metadata laporan Tata Letak dan tekan tombolnya Menambahkan, saat membuat, pilih jenis tata letaknya dokumen spreadsheet.

Tata letak kami akan memiliki 4 area:

  • Header - di area ini kami akan menampilkan nama laporan, periode pembuatannya, dan header tabel;
  • Data rekanan - di area ini kami akan menampilkan data rekanan dalam sebuah tabel;
  • DataCounterparty Agreement - di area ini kami akan menampilkan data perjanjian rekanan dalam sebuah tabel;
  • Footer - di area ini kami akan menampilkan nilai total seluruh laporan untuk bidang Pendapatan dan Pengeluaran.

Mari mulai membuat area tata letak. Untuk membuat area di tata letak, pilih jumlah garis yang diperlukan dan klik Tabel Menu -> Nama -> Tetapkan nama(Atau Ctrl + Shift + N). Ke wilayah tersebut Topi Mari kita tuliskan nama laporannya: Omset 62 hitungan, menggambar menggunakan alat tersebut Perbatasan header laporan, dan juga mengatur parameternya Awal periode Dan Akhir Periode. Dengan menggunakan parameter, Anda dapat menampilkan data yang diperlukan dalam laporan; kami akan menanganinya pada tahap pengembangan selanjutnya, yaitu saat menulis kode program laporan. Untuk membuat parameter dalam tata letak, pilih sel yang diinginkan, tulis nama parameter di dalamnya (tanpa spasi), klik di atasnya klik kanan mouse, di menu yang terbuka, pilih Properti. Di properti sel di tab Tata Letak pilih bantalan Parameter.

Setelah ini, nama parameter dalam sel akan diapit tanda kurung siku("<>“). Akibatnya, kawasan tersebut Topi akan terlihat seperti ini:

Di daerah Pihak DataCounterparty kami akan membuat parameter untuk menampilkan nama rekanan, serta pendapatan dan pengeluaran untuk akun 62, menggunakan alat ini Perbatasan Mari kita desain area tersebut sebagai baris tabel.

Di daerah Perjanjian Pihak Lawan Data Mari kita buat parameter untuk menampilkan nama kontrak, serta pendapatan dan pengeluaran untuk akun 62, dengan menggunakan alat Borders kita akan mendesain area tersebut sebagai baris tabel. Mari buat indentasi kecil sebelum parameter Perjanjian Pihak Lawan(ini dapat dilakukan dengan memisahkan dan menggabungkan sel. Klik kanan pada sel -> Menggabungkan atau Pisahkan sel), diperlukan agar laporan dapat melihat bahwa garis kontrak berada pada hierarki yang lebih rendah daripada garis rekanan.

Di daerah Ruang bawah tanah Mari kita buat parameter untuk total pendapatan dan pengeluaran.

Hasilnya, kita akan mendapatkan tata letak seperti ini:

3. Membuat formulir laporan

Untuk menampilkan data, atur periode pembentukan dan tombol Membentuk laporan kami akan memerlukan formulir. Untuk membuat formulir, temukan item di pohon metadata laporan eksternal Formulir dan tekan tombolnya Menambahkan. Pada halaman pertama form designer, Anda tidak perlu melakukan perubahan apa pun, Anda hanya perlu mengklik tombolnya Lebih jauh.

Di halaman berikutnya desainer, pilih kedua detail yang tersedia ( Awal periode, Akhir Periode) untuk penempatan pada formulir.

Hasilnya, kita akan mendapatkan formulir ini:

Namun kami tidak puas dengan bentuk ini; mari kita lakukan beberapa perubahan:

  • Mari kita tarik tombolnya Membentuk dari panel bawah laporan ke atas (ini akan lebih nyaman bagi pengguna);
  • Mari kita regangkan bentuknya secara vertikal dan horizontal;
  • Mari kita atur ladangnya Awal periode Dan Akhir Periode secara horizontal;
  • Mari tambahkan elemen kontrol Bidang Dokumen Spreadsheet ke formulir (laporan kita akan ditampilkan di dalamnya), beri nama TabDok;
  • Mari kita buat tombol pemilihan periode (saat diklik, dialog akan muncul dengan pilihan periode yang diinginkan). Kami belum akan menulis kode programnya, jadi kami hanya akan menempatkan tombol di sebelah kolom titik.

Hasilnya, formulir kita akan terlihat seperti ini:

4. Pemrograman

Setelah membuat formulir laporan, mari kita mulai pemrograman. Pertama, mari buat prosedur untuk menampilkan dialog pemilihan periode (kita telah membuat tombol untuk ini pada tahap sebelumnya). Klik kanan pada tombol dan pilih item menu Properti, di properti tombol, buka tab Acara, dimana menggunakan tombol dengan ikon kaca pembesar kita akan membuat prosedur Tombol 1Tekan dalam modul formulir.

Anda dapat beralih antara formulir dan modulnya menggunakan tab di bagian bawah formulir

Untuk memanggil formulir pemilihan periode, kami akan menggunakan prosedur standar Akuntansi 2.0 dari modul umum Bekerja dengan Dialog - HandlerPeriodSettingPress, Anda harus meneruskan detail laporan ke sana sebagai parameter Awal periode Dan Akhir Periode.

Prosedur Tombol1Tekan(Elemen) Bekerja dengan Dialogs.PeriodSettingHandlerPressing(PeriodStart,PeriodEnd); Prosedur Akhir

Sekarang mari kita beralih ke penulisan kode yang akan menghasilkan dan menampilkan laporan kita. Modul form sudah memiliki prosedur TombolHasilkanTekan, yang akan dieksekusi ketika tombol ditekan Membentuk, di situlah kita akan menulis kode kita. Mari kita mulai dengan menginisialisasi variabel yang diperlukan. Pertama-tama, mari buat variabel untuk bidang dokumen spreadsheet dimana kita akan mengeluarkan data, hal ini tidak perlu, hanya saja rekaman panggilannya akan menjadi lebih pendek, yang berarti kode program akan lebih mudah dibaca.

TabDoc = FormElements.TabDoc;

Mari kita dapatkan tata letak laporan eksternal menggunakan fungsi tersebut Dapatkan Tata Letak(<ИмяМакета>) , kita akan meneruskan nama tata letak sebagai parameter, dan jika tata letak seperti itu ada, fungsi akan menemukannya.

Tata Letak = GetLayout("Tata Letak" );

Setelah layout diterima, mari buat variabel untuk setiap areanya, gunakan metode layout untuk ini Dapatkan Area(<ИмяОбласти>) .

AreaHeader = Tata Letak.GetArea("Header" ); AreaDataAccount = Tata Letak.GetArea( "Data Kontraktor"); AreaDataContract = Layout.GetArea("DataContract" ); AreaFooter = Layout.GetArea("Footer" );

Mari kita kosongkan bidang dokumen spreadsheet. Hal ini diperlukan agar setiap kali laporan baru dibuat, data lama terhapus.

TabDoc.Hapus();

Sekarang inisialisasi variabel telah selesai, mari beralih ke pengisian dan tampilan area tata letak satu per satu. Mari kita mulai dengan tajuk. Jika Anda ingat, kami membuat dua parameter di area ini Awal periode Dan Akhir Periode, kami akan meneruskan nilai periode pembuatan laporan di sana, untuk ini kami akan menggunakan properti Pilihan area tata letak.

AreaHeader.Parameters.PeriodStart = PeriodeMulai; AreaHeader.Parameters.EndPeriod = Periode Akhir;

Tidak ada lagi tindakan terhadap area tersebut Topi Pabrikan tidak diperlukan, jadi kami akan menampilkan bidangnya di dokumen spreadsheet.

TabDoc.Output(Kepala Area);

Selanjutnya, kami akan menulis kueri ke database, yang dengannya kami akan memperhitungkan perputaran akun 62 dari daftar akuntansi Swadaya. Mari kita tentukan variabel di mana permintaan kita akan ditempatkan.

Permintaan = Permintaan baru;

Sebelum kita mulai menulis teks permintaan, mari kita berikan parameter yang diperlukan ke dalamnya. Karena kami sedang menulis permintaan faktur 62 akuntansi, maka pertama-tama kita akan membuat parameter untuk itu

Request.SetParameter("Akun62", Bagan Akun. Swadaya. Temukan Berdasarkan Kode("62" ));

Periode pembuatan laporan juga perlu dimasukkan ke dalam permintaan. Jangan lupa bahwa kami memiliki detail laporan khusus untuk periode pembuatan, dan kami meneruskannya sebagai parameter.

Request.SetParameter("Awal Periode", Awal Periode); Request.SetParameter("Akhir Periode", Akhir Periode);

Mari kita mulai menulis teks kueri, kita akan melakukannya menggunakan perancang kueri. Dalam berbagai buku teks mereka menulis bahwa Anda harus dapat menulis permintaan baik secara manual maupun menggunakan konstruktor, tetapi dalam praktiknya tidak demikian. Dalam tugas-tugas yang selalu dihadapi oleh programmer 1C, prioritasnya adalah menulis kode dengan cepat dan efisien, dan ketika menulis kueri ke database secara manual, hal ini hampir mustahil untuk dicapai; Anda akan menghabiskan banyak waktu berharga untuk mereproduksi semua struktur kueri dengan benar; dan menemukan kesalahan ketik yang Anda lakukan saat menulis, dll. Oleh karena itu, jangan buang waktu Anda mencoba menulis kueri secara manual, tetapi gunakan konstruktor kueri. Ini akan menghemat waktu Anda dan memungkinkan Anda menulis pertanyaan kompleks tanpa banyak usaha. Untuk mulai menulis teks permintaan, mari tuliskan kode:

Permintaan.Teks = "" ;

Setelah itu letakkan kursor di antara tanda kutip, klik kanan dan pilih Konstruktor meminta. Jendela perancang kueri akan terbuka.

Sekarang kita perlu memilih tabel database 1C 8 yang kita butuhkan Revolusi daftar akuntansi Swadaya. Mari kita temukan di sisi kiri jendela desainer

Mari kita pindahkan ke area tersebut Tabel dan mari kita mulai mengisi parameternya. Untuk semua tabel kueri virtual, terdapat serangkaian parameter khusus yang memungkinkan Anda memilih data yang diperlukan dari tabel utama (dalam kasus kami, tabel utama Daftar Akuntansi Swadaya). Buka jendela parameter meja maya.

Mari kita isi parameter untuk periode yang kita teruskan ke permintaan. Untuk menggunakan parameter dalam teks permintaan, Anda harus menulis simbol sebelum namanya simbol untuk 'dan(&)

Tinggal mengisi kondisi akun akuntansi. akuntansi. Untuk melakukan ini, temukan baris di parameter tabel virtual Kondisi Akun dan kami akan menulis di sana

Akun DALAM HIERARCHY (&Akun62)

Anda juga dapat menggunakan konstruktor kondisi dengan mengklik tombol dengan tiga titik.

Tidak perlu menerapkan ketentuan apa pun lagi pada tabel virtual, jadi mari klik tombolnya OKE di jendela parameter tabel virtual. Selanjutnya, kita perlu memilih bidang yang kita perlukan dari tabel Swadaya. Omset(yaitu: Counterparty, Perjanjian Counterparty, Pendapatan dan Beban). Untuk melihat daftar field yang tersedia pada tabel yang telah kita pilih, klik simbol “+” di sebelah namanya. Setelah itu, seret bidang yang diperlukan ke area paling kanan dari perancang kueri, yang disebut: Bidang. Jika kita membuka bagan akun, kita akan melihatnya untuk akun tersebut 62 analitik aktif Untuk rekanan ini adalah Subconto1, dan oleh Perjanjian Pihak Lawan - Subconto2.

Oleh karena itu, dari bidang tabel virtual yang kita pilih Subkonto1 Dan Subkonto2. Karena kami membutuhkan pendapatan dan pengeluaran berdasarkan jumlah, kami juga memilih bidangnya Jumlah PerputaranDt Dan JumlahPerputaranKt

Mari isi alias dari bidang yang telah kita pilih; untuk melakukan ini, buka tab Serikat Pekerja/Alias dan atur nama bidang yang diperlukan.

Karena dalam laporan kami, data akan ditampilkan secara hierarki (Counterparty berada di level pertama, dan semua kontraknya berada di level kedua), kami akan mengonfigurasi tampilan data dalam hierarki menggunakan Total. Ayo buka tab di desainer Hasil. Seret ke dalam bidang pengelompokan secara berurutan Pihak rekanan Dan Perjanjian Pihak Lawan, dan di final Yang akan datang Dan Konsumsi.

Ini menyelesaikan pekerjaan di konstruktor kueri, klik tombol OKE dan kami melihat bahwa teks permintaan kami muncul di kode program.

Kueri.Teks = "PILIH | Swadaya Turnover.Subconto1 SEBAGAI Counterparty, | Self-supportingTurnover.Subconto2 SEBAGAI Perjanjian Counterparty, | Omzet Mandiri.Jumlah OmzetDt SEBAGAI Kwitansi, | Perputaran Swadaya.JumlahPerputaranKt SEBAGAI Beban|DARI | Daftar Akuntansi. Akuntansi Mandiri. Perputaran (&Awal Periode, &Akhir Periode, Akun DALAM HIERARCHI (&Akun 62),) SEBAGAI Perputaran Akuntansi Mandiri.|HASIL | JUMLAH(Pendapatan), | JUMLAH(Beban) |PO | rekanan, | Perjanjian Pihak Lawan";

Setelah kita selesai menulis permintaan, mari kita mulai mengisi areanya Pihak DataCounterparty, Perjanjian DataCounterparty Dan Ruang bawah tanah. Kami akan mengisi semua area ini dengan data yang diterima saat menjalankan permintaan. Karena kueri kami berisi pengelompokan( Pihak rekanan Dan Perjanjian Pihak Lawan) pilih data darinya sebagai berikut:

SelectionCounterpart = Permintaan.Execute().Select(BypassQueryResult.ByGrouping);

Dengan cara ini kami akan menerima catatan dengan total semua rekanan.

Sebelum menelusuri data sampel menggunakan loop, kami menginisialisasi variabel yang dimaksudkan untuk menghitung hasil keseluruhan laporan:

Total Masuk = 0; Total Konsumsi = 0;

Agar data laporan ditampilkan dalam hierarki (dan rotasi sepanjang “+”), mari kita atur awal pengelompokan otomatis baris-baris dokumen spreadsheet:

TabDoc.StartAutoGroupingRows();

Semua persiapan sudah selesai, sekarang mari kita mulai meng-crawl hasil query. Kami akan melakukan traversal menggunakan loop Selamat tinggal

Sambil Pilih Account.Next() Cycle EndCycle ;

Di awal siklus, setel ulang parameter Yang akan datang Dan Konsumsi wilayah Pihak DataCounterparty. Untuk apa? Mari kita bayangkan sebuah situasi di mana pihak lawan Paman Vasya, pendapatan adalah 10, dan pengeluaran adalah 5, dan untuk pihak berikutnya Paman Petya tidak ada pemasukan atau pengeluaran, dalam hal ini jika kita tidak mengatur ulang parameternya Yang akan datang Dan Konsumsi, lalu sejalan dengan rekanan Paman Petya akan ada pemasukan 5 dan pengeluaran 10.

AreaDataAccount.Parameters.Receipt = 0; AreaDataAccount.Parameters.Beban = 0;

Setelah itu kita isi area tersebut Pihak DataCounterparty data elemen sampel

FillPropertyValues(AreaAccountData.Parameters,SelectionAccount);

Setelah mengisi data, Anda dapat menampilkan area di dalamnya dokumen spreadsheet, Karena kami menggunakan pengelompokan baris otomatis, kami perlu menunjukkan tingkat baris dalam pengelompokan (laporan kami akan memiliki dua tingkat, untuk rekanan, yang pertama adalah untuk kontrak).

TabDoc.Output(AreaDataAccount,1);

Nah untuk rekanan ini kami akan melakukan seleksi sesuai kontraknya.

Perjanjian SelectionCounterparty = SelectionCounterparty.Select(BypassQueryResult.ByGroups);

Kami akan melakukan traversal menggunakan loop Selamat tinggal.

Sementara SelectionCounterparty Agreement.Next() Loop EndCycle ;

Dalam siklus perjanjian pihak lawan, mari kita atur ulang parameternya Yang akan datang Dan Konsumsi, isi area tersebut Kontrak Data dari sampel dan mengeluarkannya ke dokumen spreadsheet ke catatan tingkat kedua.

AreaDataContract.Parameters.Receipt = 0; AreaDataContract.Parameters.Beban = 0; IsikanPropertyValues(AreaContractData.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2);

Juga dalam siklus ini, kita akan menambahkan nilai saat ini ke variabel untuk menghitung nilai total pendapatan dan pengeluaran.

TotalReceipt = TotalReceipt + SelectionCounterparty Agreement.Receipt; TotalExpense = TotalExpense + Contoh Perjanjian Pihak Lawan.Beban;

Ini menyimpulkan keluaran data di area tersebut Pihak DataCounterparty, Perjanjian DataCounterparty selesai, yang tersisa hanyalah menyelesaikan pengelompokan otomatis baris-baris dokumen spreadsheet.

TabDoc.FinishAutoGroupingRows();

Siklus sepenuhnya bertanggung jawab untuk mengeluarkan data ke area tersebut Pihak DataCounterparty Dan Perjanjian DataCounterparty terlihat seperti ini:

TabDoc.StartAutoGroupingRows(); Sementara SelectionAccount.Next() Loop AreaDataAccount.Parameters.Receipt = 0 ; AreaDataAccount.Parameters.Beban = 0 ; FillPropertyValues(AreaAccountData.Parameters,SelectionAccount); TabDoc.Output(AreaDataAccount,1); Perjanjian SelectionCounterparty = SelectionCounterparty.Select(BypassQueryResult.ByGroups); Sementara SelectionCounterparty Agreement.Next() Loop AreaDataAgreement.Parameters.Receipt = 0 ; AreaDataContract.Parameters.Beban = 0 ; IsikanPropertyValues(AreaDataAgreement.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2); TotalReceipt = TotalReceipt + SelectionCounterpartyAgreement.Receipt; TotalExpense = TotalExpense + Contoh Perjanjian Pihak Lawan.Beban; Siklus Akhir; Siklus Akhir; TabDoc.FinishAutoGroupingRows();

Tetap menampilkan data akhir di area tersebut Ruang bawah tanah dan menampilkan area itu sendiri dokumen spreadsheet.

AreaBasement.Parameters.TotalIncoming = TotalIncoming; AreaBasement.Parameters.TotalConsumption = TotalKonsumsi; TabDoc.Output(AreaFooter);

Ini adalah proses penulisan laporan eksternal untuk 1C 8 tanpa penggunaan sistem kontrol akses lengkap. Sekarang dapat dibuat dalam mode 1C:Enterprise 8 dan ditambahkan ke direktori Pemrosesan Eksternal Anda dapat mengunduh file laporan yang dibahas dalam artikel dari .

Tonton video tentang cara membuat cetakan eksternal untuk aplikasi terkelola:

Mereka mengatakan bahwa nama 1C awalnya berarti frasa “satu detik”, yaitu. program harus menghasilkan laporan dengan cepat, “dalam satu detik.” Kecepatan laporan sangatlah penting, namun yang lebih penting lagi adalah laporan yang dihasilkan informasi yang benar— mari kita lihat ini menggunakan contoh membuat laporan sederhana di 1C 8.3 berdasarkan konfigurasi Trade Management 10.3. Untuk membuat laporan yang benar, diinginkan (bahkan sangat disarankan) untuk dapat mengkonfigurasi 1C dan dapat memprogram sedikit dalam bahasa internal dan bahasa kueri 1C, meskipun, di sisi lain, membuat laporan adalah hal yang sulit. peluang besar mulai menguasai keterampilan ini.

Uraian ini bersifat mendidik untuk memahami prinsip dasar pembuatan laporan 1C

Cara membuat laporan di 1C 8.3

Untuk membuat laporan, Anda perlu membuka 1C dalam mode konfigurator; untuk melakukan ini, di jendela peluncuran 1C, pilih database yang diinginkan dalam daftar dan klik tombol Configurator:

Di konfigurator itu sendiri, buka menu File dan pilih Baru:


Di menu yang muncul, pilih Laporan eksternal dan klik OK:


Setelah ini, jendela laporan baru akan terbuka. Pada kolom Nama, masukkan nama laporan harus tanpa spasi atau karakter khusus:


Cara membuat laporan menggunakan layout

Cara ini paling membutuhkan keahlian pemrograman di 1C, namun disini kami tidak akan menganalisa mekanisme penerimaan dan pengolahan data, kami akan membuat laporan sederhana untuk memahami mekanisme meluncurkan laporan dan menampilkan form laporan di layar:

Di jendela laporan (yang terbuka saat membuat laporan), di daftar bawah, tempatkan kursor pada item Tata Letak dan, saat Anda mengklik kanan, klik Tambah di menu yang muncul:


Di perancang tata letak yang terbuka, Anda bisa menentukan nama tata letak, Dokumen Spreadsheet harus dipilih sebagai jenis tata letak, lalu klik tombol Selesai di perancang:


Ini akan membuka jendela tata letak yang menyerupai lembar Excel:


Dalam tata letak ini, Anda perlu membuat area - grup baris atau kolom yang akan digunakan program sebagai templat, memasukkan data yang diterima dari database ke dalamnya dan menampilkan templat ini di layar, sehingga menyusun laporan dari bagian-bagian ini.

Mari buat laporan yang menampilkan daftar item. Untuk melakukan ini, kita akan membuat dua area tata letak: header laporan dan baris item.

Untuk membuat area header, klik kiri pada header baris (di mana nomor baris ditunjukkan) untuk memilih baris seperti ini (seluruh baris harus dipilih dengan satu klik pada header):


Setelah itu, masuk ke menu Tabel pada menu utama, masuk ke submenu Nama dan klik item Tetapkan nama:


Program akan meminta Anda untuk menentukan Nama Area, nama juga tidak boleh mengandung spasi atau karakter khusus, setelah itu klik OK, akan terlihat seperti ini:


Sekarang di area yang dibuat Anda perlu memasukkan teks yang akan ditampilkan dalam laporan dan memformatnya. Untuk melakukannya, masukkan teks di sel pertama, misalnya, “Daftar item”. Bekerja dengan sel mirip dengan Excel.

Untuk memformat teks dalam sel, klik kanan pada sel dan klik Properties. Jendela properti sel akan terbuka di sebelah kanan. Gulir ke bawah isi jendela, temukan bidang Font dan klik tombol "...":


Di jendela yang terbuka, di bagian Gaya, centang kotak Tebal dan klik OK:


Tata letaknya akan terlihat seperti ini:


Dengan cara yang sama, kita membuat area baris item, tetapi jangan menyorotnya dengan huruf tebal:


Di area garis Anda perlu menunjukkan bahwa Nama adalah parameter, mis. bahwa nama asli item tersebut akan diganti di sana saat mengeluarkan laporan. Untuk melakukan ini, buka properti sel dengan nama dan di properti di bidang Isian, pilih nilai Opsi, ini menyelesaikan pengaturan tata letak:


Kami kembali ke jendela laporan utama dan di daftar bawah, klik kanan pada item Formulir dan klik Tambah:


Pada perancang formulir laporan yang terbuka, klik tombol Selesai, formulir laporan akan terbuka, klik dua kali tombol Hasilkan:


Akibatnya, jendela properti tombol akan terbuka di sisi kanan layar; di bidang Tindakan, klik pada kaca pembesar:


Setelah itu, modul formulir akan terbuka di mana Anda perlu memprogram pembuatan laporan:


Pertama, ganti teks yang dipilih dengan kode program berikut:

//membuat dokumen spreadsheet yang akan diisi dengan bagian-bagian laporan dan ditampilkan di layar
TabDocument = Dokumen Tabular Baru;
//selanjutnya, kita mendapatkan layout yang dibuat saat membuat laporan
Tata Letak = GetLayout("Tata Letak");
//sekarang kita perlu menampilkan header laporan, untuk ini kita mendapatkan area header dari layout dan menampilkannya dalam dokumen spreadsheet
AreaHeader = Tata Letak.GetArea("Header");
TabDocument.Output(AreaHeader);
//menggunakan query kita mendapatkan pilihan nama item yang perlu ditampilkan dalam laporan
Permintaan = Permintaan Baru;
Permintaan.Teks = "
|PILIH
| Nama
|DARI
| Direktori.Nomenklatur
|";
//dapatkan area baris item dari tata letak - kita akan mengaksesnya dalam satu lingkaran untuk menampilkan setiap item
AreaString = Tata Letak.GetArea("String");
//memproses setiap nama dari pilihan yang dihasilkan dalam satu lingkaran
Pilih = Kueri.Jalankan().Pilih();
Sementara Select.Next() Loop
//untuk menampilkan baris berikutnya, Anda perlu menentukan nama berikutnya di parameter area (kami mengonfigurasi parameter itu sendiri saat membuat tata letak)
AreaString.Parameters.Name = Pilihan.Nama;
//parameter sudah terisi, sekarang Anda dapat menampilkan stringnya
TabDocument.Output(AreaString);
Siklus Akhir;
//dokumen spreadsheet telah dibuat, sekarang kita tampilkan di layar
TabDocument.Show("Daftar item");

Saat teks disalin ke modul formulir, baris yang dimulai dengan garis miring ganda “//” akan disorot dengan warna hijau - ini adalah komentar yang menjelaskan fungsi setiap baris kode:


Mari kita rangkum baris kode program apa yang diperlukan untuk menghasilkan laporan:

  1. Penting untuk membuat dokumen spreadsheet yang akan diisi dengan bagian-bagian laporan dan ditampilkan di layar; ini dilakukan dengan baris “TabDocument = New TabularDocument;”
  2. Kita perlu mendapatkan layout laporannya, dari situ kita akan mendapatkan struktur laporan di bagian-bagian (area), hal ini dilakukan dengan baris “Layout = GetLayout(“Layout”)”
  3. Untuk menampilkan setiap area, Anda perlu mendapatkannya dari tata letak dan menampilkannya ke dokumen spreadsheet, ini dilakukan dengan baris “Header Area = Layout.GetArea("Header")" dan "TabDocument.Output(HeaderArea) "
  4. Jika Anda perlu mengisi parameter yang baru diketahui pada saat program dijalankan, maka sebelum menampilkan area Anda perlu mengisi parameter tersebut, hal ini dilakukan dengan baris “AreaString.Parameters.Name = Selection.Name”
  5. Dan hanya ketika dokumen spreadsheet diisi dengan semua bagian laporan yang diperlukan, itu akan ditampilkan di layar, ini dilakukan dengan baris “TabDocument.Show(“Daftar item”)”

Dan sekarang Anda dapat memeriksa pengoperasian laporan - buka 1C dalam mode perusahaan (tombol 1C: Perusahaan di jendela peluncuran 1C). Di menu utama, buka menu file, klik Buka:


Temukan dan buka file laporan yang disimpan. Pada formulir yang terbuka, klik tombol Hasilkan:


dan kami mendapatkan daftar nomenklatur:


Ini hanyalah salah satu cara membuat laporan di 1C. Pada artikel berikut kita akan melihat artikel lainnya.

Laporan 1C 8.3 adalah objek metadata khusus yang dirancang untuk membuat presentasi data yang mudah digunakan dari tabel database 1C.

Mari kita cari tahu cara menyiapkan laporan, kegunaannya, perbedaan laporan eksternal dengan laporan bawaan, dan perbedaan laporan dengan pemrosesan.

Untuk membuat atau menyesuaikan laporan, Anda perlu mengetahui file bawaan dan . Apa pun yang dikatakan orang, dasar untuk membuat hampir semua laporan adalah permintaan awal yang menerima data. Kami memproses data ini dan menampilkannya dalam bentuk yang mudah digunakan.

Laporan adalah hal utama dalam segala hal sistem Informasi, oleh karena itu, perusahaan 1C sangat memperhatikan pengembangan laporan dan menciptakan sejumlah besar perancang dan mekanisme untuk pembuatannya.

Mari kita lihat metode dasar untuk membuat laporan

Cara membuat laporan dalam 1C menggunakan layout

Membuat menggunakan layout adalah cara yang paling rutin. Namun, mereka sering melakukannya karena putus asa, karena... dalam metode ini, pengembang menulis secara lengkap setiap tindakan dalam kode, yang berarti kita dapat melakukan apa saja. Mekanisme lain tidak dapat membanggakan hal ini.

Namun dalam kasus ini, semua item, menu, dan “busur” lainnya harus dimasukkan secara manual, yang sangat memakan waktu.

Dapatkan 267 pelajaran video di 1C gratis:

Membuat laporan menggunakan perancang formulir keluaran

Perancang formulir keluaran adalah mekanisme yang dibangun ke dalam platform yang membuat pengembangan laporan lebih mudah. Perancang hanya tersedia untuk formulir biasa.

Perancang diberikan permintaan dan semua parameter yang diperlukan untuk laporan masa depan, dan, pada gilirannya, menghasilkan modul dan formulir laporan. Mekanismenya didasarkan pada objek bahasa bawaan 1C 8.2 - Pembuat Laporan.

Membuat laporan menggunakan Laporan Generik

Laporan universal memiliki fungsi yang hebat, antarmuka yang ramah pengguna pengaturan yang familier bagi pengguna:

Laporan berdasarkan Sistem Komposisi Data

Ini adalah metode paling progresif dalam membuat laporan di 1C, yang direkomendasikan oleh 1C sendiri. muncul di platform 1C di versi 8.1.

SKD memungkinkan Anda membuat laporan sederhana tanpa jalur pemrograman sama sekali, karena memiliki konstruktor yang sangat fleksibel dan fungsional untuk membuat skema komposisi data:

Dalam semua konfigurasi terbaru, semua laporan ditulis menggunakan sistem komposisi data.

Apa perbedaan antara laporan eksternal dan laporan bawaan?

Seperti yang tertulis dalam dokumentasi - tidak ada. Mekanisme pelaporan eksternal dibuat untuk men-debug laporan selama pengembangan.

Satu-satunya perbedaan saat mengembangkan solusi adalah Anda tidak dapat mengakses laporan eksternal “berdasarkan nama”, tidak seperti laporan bawaan.

Apa perbedaan laporan dengan pemrosesan?

Faktanya, praktis tidak ada apa-apa. Perbedaan utamanya adalah tujuan penggunaan objek: laporan diperlukan untuk menampilkan informasi, dan laporan diperlukan untuk mengubah informasi.

Perbedaan utama dalam properti: dalam laporan, Anda dapat menentukan Skema Komposisi Data Dasar (DCS) dan menentukan pengaturan untuk menyimpan parameter laporan.

Di menu atas, buka Melayani->->.

Setelah itu akan muncul form daftar direktori. Di menu atas, klik Menambahkan.

Jendela untuk menambahkan laporan baru muncul. tekan tombolnya Membuka.

Pilih file dengan laporan yang diinginkan dan klik Membuka. Setelah menambahkan file, jika perlu, ubah nama laporan (bagaimana tampilannya dalam daftar). Klik OKE.

Hasilnya, laporan baru muncul dalam daftar.

Setelah ini, laporan dapat digunakan, penambahan selesai. Untuk membuka laporan ini nanti, kami juga pergi ke Melayani->Laporan dan pemrosesan tambahan->Laporan eksternal tambahan.

Untuk BP 3.0, ZUP 3.0, UT 11, ERP 2.0.

Untuk menambahkan laporan eksternal dalam konfigurasi 1C:Enterprise 8.3 di antarmuka terkelola (menggunakan Accounting 3.0 sebagai contoh), mari masuk ke bagian program yang sesuai:


Bendera penggunaan harus diaktifkan laporan tambahan, ikuti hyperlinknya:

Dalam daftar yang terbuka, klik tombol Membuat:


Setelah ini, kotak dialog pemilihan file dengan laporan akan segera terbuka, di mana Anda perlu memilih file yang diinginkan (dalam kasus saya, ini adalah file dengan analisis rencana-biaya aktual).

Sekarang Anda perlu mengkonfigurasi akomodasi(tempat di program di mana laporan akan tersedia):


Pilih secara acak dari daftar bagian yang diperlukan program:


Sekarang Anda perlu mencatat perubahan di rapor eksternal:

Sekarang buka laporan dari antarmuka program:


Daftarnya masih kosong, klik Sesuaikan daftarnya:


Di formulir seleksi, centang laporan kami:


Sekarang muncul dalam daftar:


Dengan tombol Menjalankan Formulir laporan terbuka:


Masuk ke situs sebagai pelajar

Sistem komposisi data 1C 8.3 untuk pemula: laporan pertama tentang SKD

Jika Anda belum membaca pendahuluan modul ini, silakan membacanya: .

Untuk menyelesaikan pelajaran yang Anda perlukan 1C 8.3 (tidak lebih rendah 8.3.13.1644 ) .

Jika Anda sudah menginstal 1C versi 8.3, gunakanlah. Jika tidak, unduh dan instal versi pendidikan, yang diproduksi 1C khusus untuk tujuan pendidikan :.

Pintasan berikut akan muncul di desktop Anda:

Untuk semua pelajaran dalam seri ini kita akan menggunakan database Gastronom yang saya siapkan. Ini sepenuhnya bertepatan dengan dasar yang kami gunakan dalam modul sekolah saat mempelajari pertanyaan. Oleh karena itu, saya berharap Anda sudah familiar dengan buku referensi dan dokumennya.

Jika Anda menghapusnya, unduh lagi menggunakan yang berikut ini, buka paketnya dan tambahkan ke daftar database.

Akhirnya, tempat kerja dikonfigurasi dan sekarang kita akan membuat laporan pertama kita bersama-sama menggunakan sistem komposisi data. Akan sangat sederhana untuk mendemonstrasikan kemampuan umum sistem komposisi data (disingkat SKD).

Menetapkan tujuan

Tujuan pelajaran ini- membuat laporan yang, dalam mode pengguna, menampilkan daftar klien dengan bidang berikut:

  • Nama
  • Lantai
  • Warna favorit klien.

Laporan tersebut harus bersifat eksternal. Artinya, ini akan dibuat dan dikonfigurasi di konfigurator, lalu disimpan sebagai file terpisah (eksternal) di komputer.

Untuk menghasilkan laporan seperti itu di 1C, pengguna perlu meluncurkan database dalam mode pengguna, buka file ini dan klik tombol “Hasilkan”.

Pergi!

Membuat laporan

Kami meluncurkan konfigurator untuk database Gastronom:

Dari menu utama, pilih "File" -> "Baru...":

Pilih "Laporan eksternal":

Membuat diagram tata letak data di dalam laporan

Jendela untuk membuat laporan eksternal terbuka. Untuk namanya, masukkan: " Pelajaran 1", lalu tekan tombol" Buka diagram komposisi data":

Perancang pembuatan skema telah dimulai. Kami setuju dengan nama default " Skema Tata Letak Data Utama" dan tekan tombol " Siap":

Jendela kerja utama telah terbuka, dengan banyak tab dan bidang, di mana kita akan mengkonfigurasi skema tata letak data kita.

Tidak perlu takut - sebenarnya ada banyak peluang di sini, tapi kita tidak membutuhkan semuanya. Terutama pada pelajaran pertama.

Sekarang kita berada di bookmark " Kumpulan data“Kami akan tinggal di sana.”

Kami menulis permintaan melalui konstruktor

Sistem komposisi data (disingkat DCS) mengharuskan kita melakukannya data, yang akan ditampilkan kepada pengguna.

Cara termudah - menulis permintaan ke pangkalan. Di sekolah kami belajar menulis dan memahami permintaan - jadi saya berharap Anda memiliki keterampilan yang sesuai.

Klik hijau tanda plus dan di daftar drop-down pilih item " Tambahkan Kumpulan Data - Kueri":

Tugas kita adalah menulis teks permintaan di bidang ini. Apakah Anda sudah lupa cara melakukan ini?

Saya akan memberi Anda petunjuk:

Dalam kueri ini kami telah memilih tiga bidang (" Nama", "Lantai" Dan " Warna kesukaan") dari tabel" Direktori.Klien".

Namun jangan terburu-buru menulis teks ini di kolom “Permintaan” secara manual.

Sekarang kita akan membuat permintaan yang sama secara visual, hanya menggunakan mouse. Metode ini disebut " Konstruktor kueri".

Untuk memanggil konstruktor ini, klik tombol " Konstruktor kueri..." di bagian kanan atas bidang "Permintaan":

Di jendela yang terbuka, seret tabel " Klien" dari kolom pertama ke kolom kedua untuk menunjukkan bahwa dari tabel inilah kita akan menanyakan data:

Ternyata seperti ini:

Selanjutnya kita akan membuka tabel" Klien"di kolom kedua dengan tanda" Plus"untuk melihat semua bidangnya dan menyeret bidang tersebut" Nama" dari kolom kedua ke kolom ketiga untuk menunjukkan bahwa dari tabel ini kita perlu menanyakan kolom "Nama":

Ternyata seperti ini:

Mari kita lakukan hal yang sama dengan ladang" Lantai" Dan " Warna kesukaan". Hasilnya akan seperti ini:

Klik tombol "OK" untuk keluar dari pembuat kueri dan melihat bahwa teks kueri secara otomatis ditambahkan ke bidang "Kueri".

Selain itu, berdasarkan teks permintaan, 1C sendiri mengeluarkan nama-nama bidang (area di atas permintaan) yang akan digunakan oleh skema komposisi data:

Sekarang kami telah mengumpulkan permintaan, ACS mengetahui cara mendapatkan data untuk laporan tersebut.

Menyiapkan presentasi data

Entah bagaimana, itu tetap ada memvisualisasikan data ini untuk pengguna dalam bentuk formulir cetak. Dan di sinilah ACS dapat menghasilkan keajaiban!

Untuk membuat keajaiban seperti itu, ayo buka tab " Pengaturan" dan klik tombol desainer pengaturan ( tongkat sihir):

Di jendela yang terbuka, tentukan jenis laporan " Daftar" dan tekan " Lebih jauh":

Di jendela berikutnya, pilih (dengan menyeret) bidang yang ingin ditampilkan dalam daftar (seret semua bidang yang tersedia untuk kita: " Warna kesukaan", "Nama" Dan " Lantai"):

Mari kita dapatkan hasil ini dan tekan tombol " OKE":

Perancang pengaturan ditutup dan item " Entri terperinci":

Laporannya sudah siap, mari kita periksa. Untuk melakukannya, simpan dulu laporannya sebagai berkas eksternal.

Simpan laporan sebagai file

Buka item menu utama " Mengajukan"->"Menyimpan":

Saya akan menyimpannya ke desktop saya dengan nama " Pelajaran 1":

Memeriksa laporan dalam mode pengguna

Terakhir, tutup konfigurator dan masuk ke database kita dalam mode pengguna:

Nama pengguna "Administrator", tanpa kata sandi:

Melalui menu, pilih item " Mengajukan"->"Membuka...":

Dan tentukan file laporan (saya menyimpannya ke desktop dengan nama “Lesson1.erf”:

Formulir laporan telah terbuka, klik tombol " Membentuk":

Siap! Ini dia milik kita bentuk cetak dengan daftar klien, warna dan jenis kelamin favorit mereka:

Formulir yang dapat dicetak dapat dengan mudah dicetak. Untuk melakukan ini, cukup pilih item " Mengajukan"->"Segel...":

Sederhananya, tanpa pemrograman, kami berhasil membuat laporan lengkap yang dapat dibuka, dibuat, dan dicetak oleh pengguna di database mereka.

siswa - saya menjawab melalui surat, tapi lihat dulu.

Masuk ke situs sebagai pelajar

Masuk sebagai siswa untuk mengakses materi sekolah



Memuat...
Atas