1s 8 pembuatan formulir pencetakan eksternal. Publikasi

instruksi

Buka program 1C:Enterprise versi 8. Perhatikan item menu "Layanan" - "Pemrosesan eksternal dan formulir pencetakan". Dengan bantuannya, Anda dapat menyimpan laporan eksternal, pemrosesan, formulir cetak, serta pemrosesan untuk mengisi elemen tabel. Anda juga dapat menghubungkan formulir eksternal alih-alih mengubah formulir yang sudah ada, yang akan mengganggu konfigurasi program.

Luncurkan program 1C:Enterprise dalam mode konfigurator, lalu buat pemrosesan eksternal, untuk melakukan ini, jalankan perintah "File" - "Baru". Di jendela yang muncul, pilih “Pemrosesan Eksternal”. Formulir pemrosesan eksternal baru akan muncul di layar. Beri nama "Eksternal". Kemudian tambahkan atribut baru yang disebut “Referensi objek”, tentukan jenisnya – “Dokumen. Tautan. Penjualan barang dan jasa.” Untuk membuat dokumen yang dapat dicetak untuk jenis dokumen lain, gunakan jenis tautan yang sesuai.

Tambahkan tata letak baru dengan mengklik tombol yang sesuai di jendela formulir baru. Beri nama “Layout”, buat area bernama “Header”, beri parameter “Header Text”. Kemudian klik tombol “Actions”, pilih perintah “Open object module”. Kemudian masukkan teks modul, Anda dapat menggunakan contoh yang diposting di website http://www.uasoft.com.ua/content/articles/315/.

Luncurkan program 1C:Enterprise, masuk ke menu Tools, pilih External Printing Forms. Tambahkan entri baru ke daftar formulir. Untuk melakukan ini, pilih file pemrosesan yang dibuat, dan di bagian tabel, tunjukkan bahwa formulir tersebut milik dokumen "Penjualan barang". Periksa apakah pelat cetak baru berfungsi dengan benar. Untuk melakukan ini, buka dokumen yang dibuat, lacak, lalu di bagian bawah layar klik tombol "Cetak", pilih opsi "Formulir pencetakan eksternal".

Sumber:

  • cara mengubah formulir cetak di 1c

Untuk membuat dan mengedit formulir objek, program 1C:Enterprise menyediakan editor formulir khusus (atau Perancang Formulir). Formulir objek solusi aplikasi dirancang untuk merepresentasikan data secara visual saat bekerja dengan program. Editor formulir berisi beberapa tab yang menyediakan kemampuan untuk mengedit semua elemen formulir.

Anda akan perlu

  • komputer, program 1C

instruksi

Dengan menggunakan editor formulir, Anda bisa menambahkan satu atau lebih elemen “Grup – Halaman” ke formulir; untuk melakukan ini, klik tanda tambah hijau di sudut kiri atas editor saat berada di tab “Elemen”.
Dalam mode 1C:Enterprise, semua elemen grup yang ada akan ditampilkan masing-masing pada tab terpisah. Untuk memposisikannya di atas atau di bawah yang berfungsi, di jendela “Properti” grup tertentu, di item “Tampilan”, pilih perintah yang sesuai.

Anda juga dapat menambahkan elemen ke formulir dengan menyeret detail yang diperlukan ke dalam pohon elemen. Untuk mempermudah menavigasi kontrol formulir saat mengedit atau memasukkan data, atur urutan yang sesuai untuk Anda, susun elemen di pohon dan subordinasikan ke elemen lain, dan atur properti elemen grup sesuai kebutuhan Anda.
Untuk mengedit detail formulir - mengubahnya, membuat yang baru, atau menghapusnya, gunakan panel di area pohon detail pada tab yang sesuai.

Untuk mengedit antarmuka perintah, buka tab yang sesuai. Anda akan melihat pohon perintah, cabang utamanya adalah “Panel Navigasi” dan “Panel Perintah”. Beberapa perintah ditambahkan ke pohon antarmuka perintah secara otomatis, tetapi Anda juga dapat menambahkannya sendiri dengan menyeret perintah yang Anda perlukan dari daftar perintah global (umum) atau dari daftar perintah formulir.

Perintah formulir diedit dalam daftar yang sesuai. Anda dapat menambahkannya, menghapusnya dari daftar, mengatur properti untuk setiap perintah menggunakan palet properti, yang dapat Anda panggil dengan mengklik ikon pensil di baris perintah daftar.
Untuk mengedit parameter formulir, buka tab “Parameter”, di mana Anda juga dapat menambahkannya, menghapusnya, dan mengatur properti yang diinginkan.

Video tentang topik tersebut

Bagan akun, yang digunakan dalam akuntansi untuk menampilkan aktivitas ekonomi suatu perusahaan, mendukung hierarki multi-level: akun - sub-akun. Agar pengguna dapat melihat data yang terdapat dalam bagan akun dan memperbaikinya, sistem 1C memungkinkan Anda mengubah bentuk akun. Selain itu, bentuk cetakan faktur dapat diubah di dokumen lain mana pun di 1C.

Anda akan perlu

  • - komputer pribadi dengan 1C.

instruksi

Akuntansi analitik disediakan untuk setiap akun atau sub-akun. Oleh karena itu, saat membuat dan selanjutnya mengedit bagan akun di 1C, jumlah sub-akun yang diperlukan, yaitu objek akuntansi analitik, dapat disediakan. Selain itu, penyesuaian pada akun dan sub-akun dapat dilakukan oleh pengguna yang bekerja dengan sistem akuntansi otomatis atau oleh pengembang perangkat lunak.

Cara menambah (mendaftarkan) formulir cetak eksternal (atau pemrosesan) di 1C Accounting 8.3 (revisi 3.0)

15-05-2019T13:40:54+00:00

Seringkali seorang akuntan memerlukan formulir cetak tambahan untuk salah satu dokumen standar 1C: Accounting 8.3 (revisi 3.0). Atau diperlukan proses tambahan, misalnya untuk mengisi dokumen secara otomatis atau memasukkan dokumen baru berdasarkan dokumen tersebut. Biasanya seseorang telah mengembangkan fitur seperti itu dan dapat ditemukan atau dipesan dari seorang programmer. Dan sekarang sudah diterima revisinya, tinggal ditambah saja di bagian akuntansi. Bagaimana cara melakukannya? Lebih lanjut tentang ini di bawah, langkah demi langkah.

1. Buka 1C Accounting 3.0 dan pilih bagian “Administrasi” -> “Cetak formulir, laporan, dan pemrosesan” di panel kiri:

2. Di sini, cari dan pilih “Laporan dan pemrosesan tambahan”, setelah mencentang kotak “Laporan dan pemrosesan tambahan” di sebelah kiri:

3. Klik tombol "Tambahkan dari file...".

4. Dan pilih file dengan bentuk pencetakan atau pemrosesan eksternal (ekstensi epf).

5. Di jendela baru, klik tombol "Simpan dan tutup".

6. Buka dokumen yang diinginkan dan pastikan opsi formulir lain yang dapat dicetak muncul di tombol cetak atau item di menu “Buat berdasarkan” atau tombol baru di toolbar formulir. Siap!

Sungguh-sungguh, Vladimir Milkin(guru dan pengembang).

Hidup terus berjalan, undang-undang berubah, pengembang merilis pembaruan konfigurasi dan kita kembali punya pilihan: menginstal pembaruan sendiri atau memanggil lagi pemrogram untuk "menginstal rilis baru"...

Mari berkenalan dengan mekanisme mengubah formulir pencetakan tanpa mengubah konfigurasi.


Dalam praktik setiap akuntan yang menggunakan 1C, selalu ada kebutuhan untuk mengubah konfigurasinya sendiri: ada yang menyesuaikan keakuratan harga atau jumlah dalam invoice, ada yang menyisipkan logo dan menyesuaikan tampilan invoice. Semuanya akan baik-baik saja, tetapi banyak sekali perubahan yang terakumulasi seiring waktu dan ketika tiba waktunya untuk memperbarui rilis, muncul dilema: kehilangan semua perubahan yang dilakukan, atau memanggil pemrogram untuk mentransfer semua perubahan ke rilis baru (dari kursus dengan biaya tambahan). Bagaimana menjadi? Untuk menyederhanakan pembaruan konfigurasi, pengembang menciptakan mekanisme baru: “Pemrosesan eksternal, formulir cetak, pemrosesan untuk mengisi bagian tabel.” Hari ini kita hanya akan melihat sebagian dari mekanisme ini - pencetakan formulir.


Mata pelajaran apa pun paling baik dipelajari dengan memberi contoh. Mari kita tentukan sendiri tugas berikut: tambahkan ke konfigurasi kemampuan untuk mencetak faktur (dokumen “Penjualan barang dan jasa”) dengan logo perusahaan kami. Selain itu, perlu ada tulisan di header dokumen "pemberi" Dan "pembeli" disorot dalam huruf tebal dan terakhir, di bagian bawah dokumen perlu ada tempat untuk tanda tangan dari dinas keamanan yang mengizinkan pengiriman.


Mari kita perkenalkan dua syarat tambahan:

  • Formulir cetakan yang baru harus menggantikan formulir yang lama "Faktur"
  • Konfigurasi tidak dapat diubah, karena kami ingin menggunakan pembaruan otomatis konfigurasi di masa mendatang

Nah, apa tugasnya? Tampaknya terlalu rumit? Nah, semakin rumit suatu masalah, semakin menarik, dan semakin besar keinginan Anda untuk menyelesaikannya. Kemudian mulai bekerja.


Kami meluncurkan database kami dalam mode Configurator. Buka konfigurasi dengan memilih perintah di menu utama "Konfigurasi > Buka Konfigurasi". Kami tidak akan mengubah konfigurasi itu sendiri dalam keadaan apa pun. Kami akan menggunakannya sebagai prototipe. Kami akan melakukan pekerjaan utama di sini, tetapi kami akan mengedit pemrosesan eksternal. Kami membuat pemrosesan eksternal dengan perintah di menu utama "Berkas > Baru". Memilih jenis dokumen "Pemrosesan eksternal". Untuk pemrosesan pertama, mari kita tentukan nama "Faktur Bermerek"


Penting! Nama pemrosesan tidak boleh mengandung spasi, sama seperti nama variabel.


Sekarang mari kita lakukan sedikit "plagiat". Mari kita salin tata letaknya "Faktur" dari dokumen "Penjualan Barang dan Jasa". Untuk melakukan ini, kita akan menemukannya di cabang "Dokumentasi" pohon konfigurasi. Perluas thread ini dengan mengklik ikon «+» dan temukan tata letak yang kita butuhkan "Faktur"(ada di threadnya "Tata Letak"). Untuk menyalin objek ini, Anda perlu memilih tata letak ini di pohon dan menjalankan perintah "Edit> Salin"(tindakan yang sama terjadi dengan kombinasi CTRL+C). Sekarang mari kita masuk ke pemrosesan yang kita buat, pilih label di pohon "Tata Letak" dan di menu utama pilih item - "Edit > Tempel" (CTRL+V). Hasilnya akan terlihat seperti Gambar 1.


Sekarang klik dua kali untuk membuka tata letak.

Apa itu "tata letak"

Katakanlah beberapa kata tentang tujuan tata letak.

Tata Letak- penyimpanan "blok bangunan", area dari mana, seperti batu bata, dokumen tabel dibuat, yang biasa kita sebut sebagai formulir cetak. Area ditentukan menggunakan bagian horizontal dan vertikal atau perpotongannya. Tata letak kami hanya memiliki bagian horizontal: “Header”, “Pemasok”, “Pembeli”, “Header Tabel”, “Baris” (lihat Gambar 2). Area adalah sekumpulan sel. Seperti di MS Excel, sel bisa digabungkan, teks dan warna latar belakang, font, dan lain sebagainya bisa diubah. Semua pengaturan sel dapat dilihat dan diubah di jendela properti sel. Anda dapat memanggil jendela pengaturan dengan mengklik kanan sel dan memilih item menu konteks "Properti"(hasil yang sama dicapai dengan pintasan keyboard Alt+Masuk).


Sebuah sel dapat berisi salah satu dari tiga jenis nilai:

  1. teks– nilai jenis ini akan dicetak dalam bentuk yang sama;
  2. parameter– sel jenis ini berisi nama variabel yang nilainya akan dicetak.
  3. Sampel– sel jenis ini merupakan kombinasi opsi pertama dan kedua. Sel dapat berisi teks dan variabel. Agar program dapat membedakan teks dari variabel, variabel harus diapit tanda kurung siku: "Hari ini adalah [Tanggal]".

Penting! Editor tabel menampilkan nilai sel tipe kedua dan ketiga dalam tanda kurung segitiga. Pada Gambar 2 ada sel dengan teks "Pembeli"- tampak seperti teks, dan di sebelah kanan sel "Presentasi Pembeli"- parameter.

Kenapa aku menceritakan semua ini? Sekarang Anda tahu di sel mana Anda dapat dengan mudah mengubah isinya, dan di sel mana tidak diinginkan untuk mengubah apa pun, karena Anda perlu membuat perubahan pada algoritme pencetakan.

Sekarang mari kita kembali ke tugas kita. Kami membuat pemrosesan, menyalin tata letak dan siap memodifikasinya sesuai keinginan kami. Pertama, mari kita lihat lebih dekat.

Apa yang termasuk dalam tata letak yang dapat dicetak

Struktur tata letak semua dokumen sangat mirip. Setelah memeriksa satu dokumen dengan cermat, kita dapat memahami dokumen lainnya. Bagian pertama "Judul". Ketika bagian ini ditampilkan, akan dihasilkan header dokumen yang berisi jenis, tanggal, dan nomor dokumen. Diikuti oleh beberapa bagian "Pemasok" dan "Pembeli", di mana program akan menampilkan informasi masing-masing tentang pemasok dan pembeli. Berikutnya adalah bagian yang lebih menarik "Informasi tambahan", yang digunakan pengembang untuk menampilkan informasi lain pada dokumen, misalnya informasi tentang kontrak beserta nomor dan tanggalnya. Keunikan bagian ini adalah dapat ditampilkan berkali-kali, dan setiap kali dapat memuat informasi yang berbeda-beda. Apa sebenarnya yang harus dicetak dan kapan dijelaskan dalam algoritma pencetakan.

Ini melengkapi header dokumen. Header biasanya diikuti oleh bagian tabel. Menariknya, tata letak tersebut menjelaskan dua opsi untuk menampilkan bagian tabel: "Tajuk Tabel", "Tali" dan "Tempat Meja Header" Dan "Tempat Tali". Tergantung kolom anda terisi atau tidak "Mest" dalam dokumen, opsi pertama atau kedua untuk menampilkan bagian tabel dokumen akan digunakan. Pembaca yang penasaran mungkin sudah bertanya-tanya: mengapa di bagian keluaran header "Harga" Dan "Jumlah" ditempatkan dalam tanda kurung segitiga seolah-olah variabel? Benar – ini adalah variabel yang, tergantung pada pengaturan dokumen, prasasti akan ditampilkan "Harga", "Harga sudah termasuk PPN" atau "Harga tanpa PPN" dan demikian pula untuk jumlahnya.

Nah, di bawah tata letak ada bagian yang menampilkan hasil dokumen dan tanda tangan.

Mengedit tata letak

Alangkah baiknya jika logo ditempatkan di atas informasi tentang pemasok dan pembeli. Saya sarankan mengedit area tata letak "Judul". Hal ini diperlukan untuk mengurangi ukuran sel yang berisi konten "JudulTeks". Sel ini terdiri dari beberapa sel yang digabungkan. Kami mengubah ukurannya sebagai berikut:

  1. Mari kita salin dengan hati-hati isi sel yang digabungkan "JudulTeks"(untuk melakukan ini, Anda perlu memilih sel dan menggunakan perintah “Edit > Salin” atau pintasan keyboard CTRL+C)
  2. Setelah memilih sel ini, pilih item di menu utama "Tabel - Gabungkan", yang akan menyebabkan efek sebaliknya - sel yang digabungkan akan dipecah menjadi banyak sel asli
  3. Sekarang mari kita pilih jumlah sel yang lebih kecil - alih-alih sel 2 kolom, kita akan mulai menggabungkan dari kolom 6, mengakhirinya di kolom 32 - dan klik tombol itu lagi "Menggabungkan"
  4. Tim "Edit > Tempel" (CTRL+V) masukkan konten sel gabungan sebelumnya ke dalam sel gabungan baru
  5. Kami cukup menghapus sel yang dibebaskan di kolom 2 – 5 (pilih dan tekan tombol Hapus)

Sekarang Anda dapat menyisipkan gambar dengan logo ke dalam ruang kosong. Untuk melakukan ini, pilih item di menu “Tabel> Gambar> Gambar...”. Temukan file dengan logo kami di disk dan klik “ OKE" Sekarang mari kita pindahkan gambar ke ruang kosong. Hasilnya akan terlihat seperti pada Gambar 3.


Sekarang mari kita sorot nilai dalam sel yang dicetak tebal "Pemberi" Dan "Pembeli"(Gbr. 4). Untuk melakukan ini, temukan parameter di properti sel "font" dan atur gaya menjadi tebal.



Dan terakhir, tinggal menambahkan tanda tangan dari dinas keamanan. Kami akan memposting informasi ini di bagian tersebut "Tanda tangan". Untuk mendapatkan ruang untuk tanda tangan, Anda perlu memperluas bagian tersebut. Pilih baris 37, klik kanan padanya dan pilih "Memperluas", dan seterusnya dua kali. Di salah satu baris tambahan kami akan menempatkan tempat untuk tanda tangan dari layanan keamanan. Hasilnya, semuanya akan terlihat seperti pada Gambar 5.



Penting! Konfigurasi tipikal menggunakan dua bahasa: Rusia dan Ukraina. Tata letak menyimpan representasi teks dalam kedua bahasa (desain sel bersifat umum). Untuk memasukkan versi Ukraina dari prasasti yang kami tambahkan, Anda harus pergi ke properti sel dan ke lapangan "Teks" tekan tombolnya "mencari". Sebuah jendela akan terbuka untuk memasukkan representasi teks dalam berbagai bahasa (Gbr. 6).

Cara memastikan pencetakan

Jadi, tata letaknya sudah siap. Sekarang saatnya mengerjakan algoritma untuk mencetaknya.

Agar kami dapat dengan mudah mengintegrasikan tata letak ini ke dalam konfigurasi dan menggunakannya, pemrosesan yang kami buat harus memenuhi ketentuan berikut:

  1. Anda perlu membuat alat peraga dalam pemrosesan "Tautan Objek" dengan tipe "Tautan Apa Saja"
  2. Anda perlu membuat prosedur di modul pemrosesan "Cetak() Ekspor" tanpa parameter dan pastikan untuk menentukan kata kunci " Ekspor"

Poin pertama diperlukan agar algoritma pencetakan mengetahui dimana mendapatkan data untuk dicetak, dan yang kedua adalah algoritma pencetakan itu sendiri. Mari kita penuhi syarat-syarat ini.

Di panel jendela, pilih jendela untuk mengedit pemrosesan kami (pada Gambar 7). Sebuah jendela akan terbuka dengan pohon objek untuk diproses. Memilih cabang "Persyaratan" dan tekan tombolnya "Menambahkan",. Jendela properti atribut akan terbuka. Mari masukkan nama - "Tautan Objek" dan sebutkan jenisnya "Tautan Apa Saja". Sekarang kita dapat beralih ke teks modul cetak. Kami tidak akan menulisnya dari awal; sebaliknya, kami akan menyalinnya dari dokumen "Penjualan Barang dan Jasa".



Untuk melakukan ini, temukan di pohon konfigurasi di antara dokumen "Penjualan Barang dan Jasa", klik kanan padanya dan pilih "Buka modul objek"(lihat Gambar 8).



Ini akan membuka modul dokumen. Kita membutuhkan fungsi pertama "Cetak Dokumen". Teksnya harus dipilih dan disalin. Sangat mudah untuk menyorot teks suatu fungsi ketika diciutkan, tetapi Anda juga harus menyorot baris di bawahnya, jika tidak, Anda berisiko hanya menyalin judulnya.

Lihat pada Gambar 9, kami telah menyorot judul dan baris di bawahnya. Setelah itu salin ke clipboard. Menu utama "Edit > Salin" (atau CTRL+C).



Kita sudah hafal teks di clipboard, sekarang mari kita lanjutkan ke pemrosesan lagi "Faktur Bermerek". Klik pada tombol "Tindakan > Buka Modul Objek"(Gbr. 10).



Tempel teks yang disalin: "Edit > Tempel" (atau CTRL+V).

Sekarang kita perlu sedikit mengedit teks yang disalin, karena teks itu ditulis untuk mencetak dokumen dari dokumen itu sendiri, dan kami mengumpulkannya dari pemrosesan eksternal. Untuk melakukan ini, Anda perlu:

  1. Ganti nama fungsi menjadi "Cetak"
  2. Mengganti "Objek Ini" pada "Tautan Objek"
  3. Mengganti "Objek Ini" pada "Tautan Objek"
  4. Mengganti "Rekening Bank Organisasi" pada “Tautan ke Rekening Bank Object.Organization”
  5. Mengganti "Produk. Ringkasan" pada "LinkToObject.Produk.Total"

Untuk tindakan ini Anda dapat menggunakan item menu utama "Edit> Ganti".

Setelah ini, Anda harus memeriksa sintaksisnya. Ada kombinasi ajaib untuk ini: CTRL+F7. Hasilnya, pesan berikut akan muncul: "Tidak ditemukan kesalahan sintaksis!"

Nah, dengan ini kita telah menyelesaikan semua pekerjaan kotor. Sekarang kita bisa menyimpan hasil pekerjaan kita dalam sebuah file, misalnya "Faktur Bermerek.epf". Untuk melakukan ini, Anda perlu mengaktifkan jendela pemrosesan ini dan menyimpannya menggunakan menu utama program "File > Simpan Sebagai...". Memproses nama file – "Faktur Bermerek.epf"(itu akan ditawarkan secara default). Anda dapat menyimpannya sementara ke desktop sehingga Anda dapat menemukannya lebih cepat nanti.

Penting! Seperti yang Anda lihat, kami tidak membuat perubahan apa pun dalam konfigurasi kami. Untuk semua tindakan yang dijelaskan di atas, Anda bahkan tidak perlu menghapusnya dari dukungan (yaitu, mengaktifkan kemampuan untuk berubah).

Menghubungkan pemrosesan eksternal ke konfigurasi

Sekarang kita dapat menghubungkan pemrosesan ke faktur kita. Untuk melakukan ini, luncurkan dalam mode. Buka menunya "Melayani", dimana ada tiga poin terkait mekanisme tersebut “Pemrosesan eksternal, pencetakan formulir, pemrosesan untuk mengisi bagian tabel”. Dalam kasus kami, kami hanya membutuhkan item tersebut "Formulir pencetakan eksternal"(lihat Gambar 11).



Ini akan membuka direktori. "Pemrosesan eksternal", dengan pilihan berdasarkan jenis "formulir cetak". Ini akan menyimpan daftar semua formulir cetakan eksternal, yang menunjukkan untuk dokumen apa formulir tersebut dan dalam kasus apa formulir tersebut perlu ditunjukkan.



Penting! Pengolahannya sendiri akan disimpan di database bersama dengan data lainnya, artinya setelah menyimpan pengolahan di dalam database, kita tidak memerlukan file eksternal.

Kita perlu membuat elemen baru di direktori. Klik Menyisipkan. Sekarang mari kita lihat isi elemennya. Dalam nama kami sertakan penjelasan singkat yang bermakna tentang esensi bentuk ini, misalnya, "Faktur perusahaan". Seperti direktori lainnya, direktori ini juga memiliki kode. Biarkan saja sebagai default. Atribut type diisi secara default dan tidak dapat diedit – "Cetak formulir". Dan elemen terakhir dari header adalah komentar. Di sini, seperti biasa, lebih detail tentang tujuan pencetakan formulir. Selain header, elemen direktori ini memiliki dua penanda. Yang kedua berisi informasi tentang pembatasan hak akses terhadap pemrosesan ini. Topik ini berada di luar cakupan artikel ini (kami akan membicarakan hal ini dan pengaturan hak akses lainnya tanpa mengubah konfigurasi di salah satu edisi mendatang).

Mari kita lihat lebih dekat tab pertama.

Tab berisi empat kolom. Representasi objek– jenis dokumen yang ingin kami gunakan formulir pencetakannya,

Pilihan– suatu kondisi di mana formulir cetakan ini harus tersedia. Misalnya, kami mendesain ulang bentuk cetak invoice dan menerjemahkannya ke dalam bahasa Inggris. Dan kami menginginkan klien dari folder tersebut "Eropa" alih-alih formulir cetak standar "Faktur penjualan" Formulir baru dicetak dalam bahasa Inggris. Untuk melakukan ini, Anda bisa menggunakan kolom "Pilihan". Contoh pemilihan tersebut ditunjukkan pada Gambar 13.



Namun dalam tugas kita tidak diperlukan pilihan.

File Formulir yang Dapat Dicetak– menunjukkan file untuk mengambil tata letak dan prosedur pencetakan. Di sel ini Anda perlu memilih file yang kami simpan di desktop.

Pelat cetak yang dapat diganti– jika kita ingin formulir cetak yang kita buat menggantikan salah satu formulir standar untuk dokumen ini, maka kita perlu menunjukkan formulir mana yang perlu diganti. Jika tidak ada yang bisa dipilih, formulir cetak tambahan akan muncul.

Dalam kasus kami, kami perlu melakukannya "Faktur Bermerek" dicetak bukan faktur biasa. Untuk melakukan ini, pilih di bidang ini "Faktur penjualan".

Sekarang mari simpan elemen ini. Dan buka faktur apa pun.

Seharusnya terlihat seperti yang ditunjukkan pada Gambar 14.



Nah, ini menyimpulkan tugas yang kami tetapkan untuk diri kami sendiri di awal artikel. Kami yakin bahwa kami mampu mengilustrasikan kemungkinan penggunaan mekanisme pemrosesan eksternal yang terbuka bagi pengguna.

Untuk mengkonsolidasikan keterampilan Anda, Anda dapat mencoba secara mandiri menambahkan ke dalam konfigurasi formulir cetak tambahan "Ke gudang" untuk dokumen "Penerimaan barang dan jasa", yang akan mengulangi faktur biasa, tetapi tanpa harga dan jumlah, dan juga akan berisi bidang untuk memasukkan jumlah yang diterima.

Selamat siang.

Hari ini saya ingin memberi tahu Anda cara membuat formulir cetak eksternal untuk konfigurasi "Gaji dan Manajemen Personalia 3.0". Seperti yang Anda ketahui, ZUP 3.0 menggunakan perpustakaan subsistem standar, yang berarti struktur pemrosesannya terlihat sangat berbeda. Saat pertama kali saya harus membuat formulir cetak untuk BSP dalam formulir terkelola (saat itu UT 11), hal pertama yang saya lakukan adalah membuka disk ITS untuk mencari dokumentasi detail di sana tentang prosedur ekspor apa, parameter apa yang seharusnya. diproses dan cara kerjanya. Di sini ITS sedikit mengecewakan saya, karena... semuanya diberitahu di sana tentang bagaimana prosedur seharusnya terlihat di modul dokumen, dan dalam bentuk cetakan eksternal, parameter prosedur "cetak" diatur ulang, jadi saya harus mencari informasi di sumber lain dan mengotak-atik subsistem dari dalam .

Baiklah, mari kita mulai. Apa yang kita dapatkan pada akhirnya bisa dijadikan template.

Langkah pertama- jelas. Mari buat pemrosesan baru. Mari kita beri nama arbitrer: "Contoh Cetak".

Langkah kedua. Mari membuat tata letak. Karena kita memiliki contoh pengujian, saya akan membuat tata letak paling sederhana, tanpa satu parameter pun.

Langkah ketiga- Yang paling menarik. Buka modul objek dan mulai pemrograman. Menurut BSP, ketika mendaftarkan pemrosesan eksternal, pemrosesan tersebut (pemrosesan) harus menunjukkan apa yang dapat dilakukannya, objek apa yang dilampirkannya, dan apa namanya. Ketika ditanya pemrosesan apa yang dapat dilakukannya, ia akan mengembalikan daftar perintah - ini adalah tabel nilai. Dalam kasus kami, pemrosesan dapat menghasilkan satu formulir cetakan, jadi hanya akan ada satu perintah. Untuk menghasilkan tabel nilai, kami akan menentukan beberapa prosedur yang akan selalu sama di semua formulir cetakan eksternal:

//prosedur yang menyiapkan struktur tabel perintah

Fungsi GetTableCommand()

// Buat tabel perintah kosong dan kolom di dalamnya
Perintah = Tabel Nilai Baru;

// Seperti apa deskripsi formulir yang dicetak bagi pengguna
Commands.Columns.Add("View", NewTypeDescription("Baris"));

// Nama layout kita, sehingga kita dapat membedakan perintah yang dipanggil dalam pemrosesan pencetakan
Commands.Columns.Add("Identifier", New TypeDescription("String"));

// Ini mengatur bagaimana perintah pemrosesan harus dipanggil
// Opsi yang memungkinkan:
// - OpeningForm - dalam hal ini, kolom pengidentifikasi harus menunjukkan nama formulir yang akan dibuka sistem
// - CallClientMethod - memanggil prosedur ekspor klien dari modul formulir pemrosesan
// - Panggil ServerMethod - memanggil prosedur ekspor server dari modul objek pemrosesan
Commands.Columns.Add("Penggunaan", New TypeDescription("Baris"));

// Parameter berikutnya menentukan apakah notifikasi harus ditampilkan ketika tugas pemrosesan dimulai dan diakhiri. Tidak masuk akal saat membuka formulir
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));

// Untuk formulir yang dicetak, harus berisi string PrintMXL
Commands.Columns.Add("Modifier", New TypeDescription("Row"));

Tim Kembali;

Fungsi Akhir

//Membuat baris baru di tabel perintah

Fungsi AddCommand(CommandTable, View, Identifier, Usage, ShowAlert = False, Modifier = "")
Perintah Baru = CommandTable.Add();
Tim Baru. Lihat = Lihat;
Tim Baru. Pengidentifikasi= Pengidentifikasi;
Tim Baru. Penggunaan = Penggunaan;
Tim Baru. Tampilkan Peringatan= Tampilkan Peringatan;
Tim Baru. Pengubah= Pengubah;
Fungsi Akhir

Fungsi InformationOnExternalProcessing() Ekspor
Parameter Registrasi = Struktur Baru;
ArrayDestinations = Array Baru;
Array Penugasan.Tambahkan("Dokumen.Perekrutan");
Parameter Registrasi.Insert("View", "PrintForm"); //mungkin - Mengisi Objek, Laporan Tambahan, Membuat Objek Terkait...
Parameter Registrasi.Insert("Tujuan", Array Tujuan);
Parameter Registrasi.Insert("Nama", "Halo Dunia"); //nama pemrosesan yang akan didaftarkan di direktori pemrosesan eksternal
Parameter Registrasi.Insert("Versi", "1.0");
Parameter Registrasi.Insert("SafeMode", TRUE);
Parameter Registrasi.Insert("Informasi", "SAMPEL");//seperti inilah deskripsi formulir yang dapat dicetak bagi pengguna
Tabel Perintah = GetCommandTable();
AddCommand(CommandTable, "Hello World", "Layout", "CallServerMethod", True, "MXL Print");
Parameter Registrasi.Insert("Perintah", Tabel Perintah);
ReturnRegistrationParameters;
Fungsi Akhir

Sebenarnya, Anda harus mengutak-atiknya setiap kali membuat formulir pencetakan eksternal baru. Dari potongan kode tersebut jelas bahwa kami akan menautkannya ke dokumen "Perekrutan", sesuai dengan yang Anda tulis sendiri. Formulir cetakan kita akan diberi nama “Hello World”, sekali lagi kita akan mengubahnya menjadi milik kita sendiri. Di sini akan lebih mudah untuk menulis papan reklame yang jelas di templat sehingga menarik perhatian, agar tidak lupa memperbaikinya nanti; menurut pendapat saya, “Halo Dunia” sangat berguna. Versinya untuk Anda sendiri, tulis apa yang Anda inginkan, itu akan ditampilkan sebagai elemen di direktori pemrosesan eksternal. Kata “SAMPEL” juga hanya terlihat dalam bentuk direktori formulir cetakan. Selanjutnya kita tambahkan perintah, disini parameter kedua adalah nama tombol, inilah yang akan dilihat pengguna pada dokumen di item menu “print”.

Rangkaian tiga prosedur ini cukup untuk menambahkan pemrosesan ke direktori pemrosesan eksternal; semua kode yang membingungkan ini adalah layanan dan tidak ada hubungannya dengan algoritma pencetakan. Faktanya, penulis BSP memaksa kami untuk memprogram sedemikian rupa sehingga jika sebelumnya Anda langsung menulis fungsi "Cetak", sekarang ketika Anda menulis pemrosesan dari awal, dan tidak berdasarkan sampel, Anda akan membuang-buang waktu untuk itu. layanan. Sebelumnya, parameter registrasi bersifat opsional dan ditunjukkan dalam tata letak pemrosesan, sekarang semuanya terlihat jauh lebih serius. Kesan pertama saat melihat ini keren, banyak kemungkinan, semuanya menyatu... namun dalam praktiknya saya selalu membuat satu perintah saja dalam satu pemrosesan, dan menghubungkannya ke satu dokumen. Itu. sebenarnya, saya memerlukan dua baris untuk registrasi: nama objek, nama tombol. Dan di sini semuanya begitu... yah, oh baiklah, bukan hak saya untuk menilai.

Langkah keempat- tidak kalah menariknya.

Fungsi CETAK?

Tapi tidak, sekarang ini bukan fungsi, tapi prosedur.

Bagaimana cara mengembalikan tata letaknya?

Kirimkan ke fungsi modul subsistem cetak global.

Oke

Berikut teks prosedur ini:

Prosedur Cetak(Array Objek, Kumpulan PrintForms, PrintObjects, Parameter Output) Ekspor
Jika PrintManagement.NeedPrintLayout(CollectionPrintForms, "Layout") Lalu
Manajemen Cetak.Output TabularDocumentIntoCollection(CollectionofPrintForms,
"Tata Letak", "Tata Letak",
GenerateTabDocumentSample(Array Objek, Objek Cetak));
berakhir jika;
Akhir Prosedur

Sekarang untuk klarifikasi. Baris pertama dari prosedur ini berisi kondisi yang sedikit tidak jelas. Faktanya adalah ketika kita memanggil prosedur pencetakan, sistem memberikan kita tabel nilai, yang menunjukkan apa yang perlu kita cetak. Intinya, fungsi ManagePrint.NeedPrintLayout(...) memeriksa keberadaan baris dalam tabel nilai yang di kolom "Nama" terdapat baris dengan nama tata letak. Dalam praktiknya, dalam banyak kasus, hal tersebut tidak berguna, karena... pemrosesan kami hanya akan mampu menghasilkan satu formulir cetakan. Itu. Kondisi ini dapat dihilangkan dan tidak akan mempengaruhi kinerja.

Selanjutnya, Manajemen Cetak.Output TabularDocumentIntoCollection(...) - inilah yang menambahkan tata letak tabel jika diperlukan, sehingga kemudian dapat ditampilkan di layar. Jika Anda perlu menampilkan dokumen spreadsheet di jendela Anda sendiri (bukan di jendela standar), jangan panggil prosedur ini, tetapi cukup tulis kode Anda di sini.

Saya juga ingin menambahkan bahwa prosedur Pencetakan dilakukan pada klien dan, jika perlu, Anda dapat membuka formulir gratis di sini untuk menanyakan informasi tambahan kepada pengguna yang diperlukan untuk pencetakan.

Selanjutnya, GenerateTabDocumentSample(...) adalah fungsi yang harus kita tulis dalam modul pemrosesan dan mengembalikan dokumen tabel. Dalam 100 dari 100 kasus ini akan berbasis server, karena... kita perlu mendapatkan nilai detail dari objek yang terdaftar di parameter "Object Array".

Langkah lima- membuat tata letak.

Hore, akhirnya kita akan membahas algoritma tata letak, pengambilan data, dll.

Tapi dalam sampel kami, kami akan bertindak biasa-biasa saja dan saya bahkan tidak akan berkomentar di sini)))

Fungsi GenerateTabDocumentSample (Array Objek, Objek Cetak)
tabDoc = Dokumen Tabular Baru;
tata letak = GetLayout("Tata Letak");

AreaHeader = Tata Letak.GetArea("Header");
tabDoc.Output(areaHeader);

Kembalikan TabDoc;
Fungsi Akhir

Itu saja, terima kasih atas perhatiannya

Formulir cetak eksternal untuk lamaran reguler (untuk konfigurasi Enterprise Accounting 2.0, Gaji dan Manajemen Sumber Daya Manusia 2.5, Manajemen Perdagangan 10.3, dll.) dibuat cukup sederhana dibandingkan dengan formulir cetak eksternal untuk aplikasi terkelola.

Mengapa membuat formulir pencetakan eksternal?

Keuntungan formulir cetak eksternal dibandingkan formulir konvensional adalah memungkinkan Anda menghindari perubahan konfigurasi basis informasi. Artinya, proses pembaruan konfigurasi selanjutnya tidak akan rumit. Selain itu, formulir cetak eksternal, bersama dengan pemrosesan eksternal, adalah satu-satunya pilihan untuk memperluas fungsionalitas versi dasar konfigurasi 1C, yang tidak dapat diubah sama sekali.

Dan satu hal lagi: formulir cetakan eksternal lebih mudah untuk ditiru, karena itu adalah file terpisah yang dapat dengan cepat dihubungkan ke basis info.

Cara membuat formulir pencetakan eksternal

Mari kita lihat proses pembuatan formulir cetak 1C eksternal langkah demi langkah:

  1. Kami membuat pemrosesan eksternal. Untuk melakukan ini, pilih item menu di konfigurator Berkas - Baru... Dan di kotak dialog yang terbuka - Pemrosesan eksternal.
  2. Buat atribut pemrosesan eksternal dengan nama Referensi Objek. Jenis atribut adalah tautan ke direktori atau dokumen yang formulir cetak eksternalnya sedang dibuat. Form yang sama dapat digunakan untuk beberapa tipe objek, dalam hal ini tipe data atribut Referensi Objek harus komposit.
  3. Dalam modul objek kita membuat fungsi ekspor dengan nama Segel, yang akan mengembalikan dokumen spreadsheet cetak yang sudah jadi.

Seringkali Anda perlu sedikit menyesuaikan tata letak formulir cetakan yang ada dan menjadikannya eksternal. Misalnya, tambahkan stempel organisasi dan tanda tangan manajer ke tata letak.

Membuat formulir pencetakan eksternal berdasarkan standar dengan sedikit perubahan

Mari kita pertimbangkan prosedur ini menggunakan contoh pembuatan formulir cetak eksternal dari dokumen transfer universal untuk sebuah dokumen Penjualan barang dan jasa 1C: Akuntansi. Ini akan berbeda dari formulir cetak standar dengan adanya stempel organisasi.

  1. Membuat pemrosesan eksternal dengan alat peraga Referensi Objek, tipe data - DocumentLink.Penjualan Barang dan Jasa.
  2. Kami menemukan tata letak formulir cetak UPD standar (terletak di tata letak umum) dan menyalin (menyeret) ke jendela pemrosesan eksternal. Tata letak formulir cetakan lainnya mungkin terdapat di dokumen atau buku referensi itu sendiri.
  3. Kami membuat perubahan yang diperlukan pada tata letak formulir cetak yang disalin.
  4. Kami menemukan fungsi yang bertanggung jawab untuk menghasilkan formulir cetakan. Fungsi ini harus mengembalikan dokumen spreadsheet yang dihasilkan. Salin isinya ke fungsi ekspor Segel() dalam modul objek pemrosesan eksternal.
    Dalam kasus kami inilah fungsinya PrintUniversalTransferDocument() Ekspor dari modul objek dokumen Penjualan barang dan jasa.
    Jika perubahan tata letak signifikan (area dan/atau parameter berubah), maka penyesuaian yang sesuai harus dilakukan pada fungsi pencetakan.
  5. Kami mencoba menyimpan pemrosesan eksternal. Namun, Anda mungkin akan menerima pesan kesalahan yang menunjukkan bahwa beberapa prosedur dan fungsi yang dipanggil oleh fungsi pencetakan tidak ada. Fungsi dan prosedur ini harus ditemukan di dokumen sumber dan juga disalin ke modul objek pemrosesan eksternal. Atau sesuaikan tautan jika fungsi atau prosedur asli diekspor.
  6. (tidak perlu). Untuk menguji formulir pencetakan eksternal, akan lebih mudah jika membuat formulir untuk meletakkan alat peraga Referensi Objek. Tombol Menjalankan harus memanggil prosedur Segel() dari modul objek. Untuk melakukan ini, acara klik tombol diberikan prosedur: