Menambahkan laporan eksternal ke database. Info akuntansi 1c 8.3 laporan eksternal

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:


Opsi untuk menggunakan laporan tambahan harus diaktifkan, ikuti hyperlink:

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 bagian program yang diinginkan dari daftar:


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:


Pada artikel ini, kami akan mempertimbangkan petunjuk langkah demi langkah untuk membuat pemrosesan eksternal di 1C 8.3 dalam mode aplikasi terkelola, masing-masing, kami akan menggunakan formulir terkelola; Dan yang paling penting, kita akan mempelajari cara menghubungkannya ke mekanisme "pemrosesan eksternal" dari konfigurasi 1C yang dibangun di perpustakaan subsistem standar versi 2.0 dan yang lebih baru.

Tugasnya adalah sebagai berikut: membuat pemrosesan eksternal paling sederhana yang akan melakukan tindakan grup pada direktori “Item”, yaitu menetapkan persentase tarif PPN yang dipilih untuk grup item tertentu.

Untuk melakukan ini, kami akan segera membuat pengaturan yang diperlukan dalam program (kami sedang mempertimbangkan konfigurasi 1C 8.3: "Enterprise Accounting 3.0" pada formulir yang dikelola).

Mencentang kotak ini memberi kita kesempatan untuk menggunakan pemrosesan eksternal.

Membuat pemrosesan eksternal baru di 1C 8.3 menggunakan contoh

Sekarang mari kita pergi ke konfigurator. Di menu "File", pilih "Baru...". Jendela untuk memilih jenis file yang akan dibuat akan terbuka. Pilih “Pemrosesan eksternal”:

Jendela pemrosesan eksternal baru akan terbuka. Mari kita beri dia nama segera. Ini akan ditawarkan saat menyimpan pemrosesan ke disk:

Mari tambahkan formulir pemrosesan terkontrol baru. Kami menunjukkan bahwa ini adalah bentuk pemrosesan dan yang utama:

Kami akan memiliki dua detail pada formulir:

  • Grup tata nama – tautan ke direktori “Tata nama”;
  • SelectVATRate – tautan ke transfer Tarif PPN.

Kami membuat detailnya di kolom "Properti" di jendela kanan atas. Seret mereka dengan mouse ke jendela kiri atas. Detail baru akan segera muncul pada formulir di bawah.

Urutan rincian dapat diubah menggunakan panah “Atas” – “Bawah”:

Dapatkan 267 pelajaran video di 1C gratis:

Yang tersisa hanyalah menambahkan tombol “Instal”. Dalam formulir terkelola, Anda tidak bisa hanya menambahkan tombol ke formulir. Bahkan jika Anda menambahkannya ke struktur elemen formulir, itu tidak akan terlihat pada formulir itu sendiri. Tombol tersebut harus dikaitkan dengan perintah yang akan dijalankannya. Buka tab “Perintah” dan tambahkan perintah “Tetapkan Tarif PPN”. Di properti perintah, buat tindakan. Pilih pengendali perintah "Di klien". Perintah juga dapat ditambahkan ke formulir hanya dengan menyeretnya ke bagian yang berisi elemen formulir.

Prosedur dengan nama yang sama akan dibuat di modul formulir. Di dalamnya kami memanggil prosedur di server:

&Pada Klien

Prosedur Menetapkan Tarif PPN (Perintah)

SetVATRateOnServer();

Akhir Prosedur

Dalam prosedur di server, kami akan menulis permintaan kecil dan tindakan terkait dengan pengaturan tarif PPN:

&Di server

Set ProsedurVATRateOnServer()

Permintaan = Permintaan Baru;
Permintaan.Teks =
"MEMILIH
| Nomenklatur. Tautan
|DARI
| Direktori.Nomenklatur SEBAGAI Tata Nama
|DIMANA
| Nomenclature.Link DALAM HIERARCHY (&Grup Nomenklatur)
| DAN BUKAN Nomenklatur.Penghapusan Tanda
| DAN BUKAN Nomenklatur. Ini adalah Grup”;

Request.SetParameter("Grup Item", Grup Item);
ResRequest = Permintaan.Eksekusi();
SelectRecordDet = ResRequest.Select();

Sementara SelectRecordDet.Next() Loop

Percobaan
SprNomObject.Tulis();
Pengecualian
Report("Kesalahan penulisan objek """ + SprNomObject + """!
|» + DeskripsiError());
Percobaan Akhir;

Siklus Akhir;

Akhir Prosedur

Kami kembali ke tab "Formulir", menambahkan tombol ke formulir dan mengaitkannya dengan perintah:

Dengan demikian, pemrosesan kami siap digunakan. Untuk menyebutnya, dalam mode "1C Enterprise", Anda harus membuka menu "File" - "Open" dan memilih file yang dibuat.

Namun, bekerja dalam mode ini nyaman untuk proses debugging, tetapi tidak sepenuhnya cocok untuk pengguna. Pengguna terbiasa memiliki segalanya “di ujung jari mereka”, yaitu di dalam database itu sendiri.

Inilah gunanya bagian “Laporan dan pemrosesan tambahan”.

Tetapi untuk menambahkan pemrosesan kita di sana, pertama-tama kita harus memberikan deskripsi dan memberi tahu properti program tersebut.

Deskripsi fungsi “Informasi tentang Pemrosesan Eksternal”

Saya akan memberikan contoh isi dari fungsi ini. Itu harus dapat diekspor dan, karenanya, ditempatkan di modul pemrosesan:

Fungsi InformationOnExternalProcessing() Ekspor

DataForReg = Struktur Baru();
DataForReg.Insert("Nama", "Pengaturan tarif PPN");
DataForReg.Insert("SafeMode", Benar);
DataForReg.Insert("Versi", "ver.: 1.001");
DataForReg.Insert("Informasi", "Memproses penetapan tarif PPN pada direktori Nomenklatur");
DataForReg.Insert("Lihat", "Pemrosesan Tambahan");

Tabel Perintah = Tabel Nilai Baru;
TabZnCommands.Columns.Add("Pengidentifikasi");
TabZnCommands.Columns.Add("Penggunaan");
TabZnCommands.Columns.Add("Lihat");

Baris Baru = TabZnCommands.Add();
NewString.Identifier = "Pemrosesan Terbuka";
Baris Baru.Gunakan = "OpenForm";
NewRow.View = "Pemrosesan terbuka";
DataForReg.Insert("Perintah", TabZnCommands);

Kembalikan DataForReg;

Fungsi Akhir

Untuk lebih memahami bidang struktur data pendaftaran mana yang perlu digunakan, mari kita lihat detail direktori “Laporan dan pemrosesan tambahan”:

Seperti yang Anda lihat, semuanya cukup sederhana. Hanya satu atribut yang tidak cocok: “Opsi Peluncuran” – “Gunakan”. Jika kita melihat kode salah satu modul umum, kita akan melihat bagaimana sekumpulan bidang berikut muncul:

Untuk menentukan bidang struktur mana yang diperlukan, Anda tidak dapat mendeskripsikannya terlebih dahulu, cukup buat bidang kosong, lalu gunakan debugger. Jika Anda melacak modul saat mendaftarkan pemrosesan, akan segera menjadi jelas bidang mana yang wajib diisi dan mana yang tidak.

Menghubungkan pemrosesan eksternal di 1C 8.3

Mari pertimbangkan untuk membuat laporan eksternal di 1C 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 menampilkan data di mana semua parameter yang diperlukan ditetapkan, 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; kita akan menangani hal ini pada tahap pengembangan selanjutnya, yaitu saat menulis kode laporan. Untuk membuat parameter dalam tata letak, pilih sel yang diinginkan, tulis nama parameter di dalamnya (tanpa spasi), klik kanan padanya, pilih item di menu yang terbuka 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), hal ini diperlukan agar laporan dapat melihat bahwa garis kontrak berada dalam hierarki yang lebih rendah daripada garis untuk pihak lawan.

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);
  • 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 sebagai parameter Awal periode Dan Akhir Periode.

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

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 banyak tutorial mereka menulis bahwa Anda harus dapat menulis kueri 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). Mari kita buka jendela parameter tabel virtual.

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(&)

Tetap 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 | pihak 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 dan 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 rekanan, mari kita atur ulang parameternya Yang akan datang Dan Konsumsi, isi area tersebut Kontrak Data dari sampel dan menampilkannya dalam dokumen spreadsheet pada 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 + SelectionCounterpartyAgreement.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 penuh 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(AreaContractData.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2); TotalReceipt = TotalReceipt + SelectionCounterparty Agreement.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 menyelesaikan proses penulisan laporan eksternal untuk 1C 8 tanpa menggunakan sistem kontrol akses. 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:

Pergi ke menu atas Melayani->->.

Formulir daftar direktori pemrosesan eksternal muncul. Di menu atas tekan tombol Menambahkan.

Akan muncul form Tambah Objek Baru. Klik tombol buka dan pilih file dengan pemrosesan yang diinginkan. Setelah Anda memilih file yang diinginkan, jika perlu, tentukan nama pemrosesan (bidang Nama). Setelah ini, Anda perlu mengklik OK untuk menyimpan perubahan yang dilakukan.

Setelah ini, jendela untuk membuat item direktori ditutup, dan Anda dibawa kembali ke formulir daftar, yang sudah berisi pemrosesan baru.

Itu saja! Proses penambahan pemrosesan pada konfigurasi selesai. Untuk membuka pemrosesan ini nanti, ikuti jalur lama: Melayani->Laporan dan pemrosesan tambahan->Perawatan eksternal tambahan.

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

Pemrosesan eksternal untuk 1C:Enterprise 8 hadir dalam beberapa jenis. Dalam instruksi ini, saya akan menunjukkan cara melampirkan pemrosesan untuk modifikasi grup dan pemrosesan untuk mengisi objek tertentu.

Untuk kasus pertama, kami akan menambahkan proses pengisian direktori nomenklatur dari Excel.

Mari kita pergi ke bagian program yang sesuai:


Bendera untuk menggunakan laporan dan pemrosesan tambahan harus disetel; ikuti hyperlink ke daftar objek eksternal:

Dalam daftar klik Membuat:


Di kotak dialog yang terbuka, pilih file yang diinginkan untuk diproses:


Kartu untuk objek eksternal baru dalam program telah diisi, yang tersisa hanyalah mengkonfigurasinya akomodasi(bagian dari program tempat pemrosesan akan tersedia):


Pilih bagian sembarang (atau beberapa) untuk penempatan:


Tulis dan tutup kartu objek eksternal:


Sekarang mari kita buka pemrosesan dari antarmuka:


Daftarnya kosong, klik Sesuaikan daftarnya:


Pilih pemrosesan kami:


Sekarang tersedia untuk dipilih. Untuk membuka pemrosesan, Anda perlu mengklik Menjalankan:


Sekarang mari kita lihat bagaimana proses untuk mengisi (memodifikasi) objek tertentu ditambahkan. Misalnya, mari kita ambil pemrosesan eksternal, yang melampirkan pindaian ke elemen direktori atau dokumen sistem yang dipilih. Awal penambahan pemrosesan tersebut tidak berbeda dengan opsi sebelumnya. Bedanya dalam hal ini lokasi terisi secara otomatis (dan bukan berdasarkan bagian program, tetapi berdasarkan jenis objek database):


Jika diinginkan, daftar penempatan dapat disesuaikan ( jangan tambahkan penempatan tambahan, tetapi hapus yang tidak perlu):


Untuk menerima perubahan, kartu objek eksternal juga harus dituliskan.

Untuk menggunakan pemrosesan, Anda perlu pergi ke objek database tertentu (dari daftar penempatan), klik Mengisi di panel perintah dan pilih perintah:



Memuat...
Atas