1c secara terprogram membuka pemrosesan eksternal. Formulir pemrosesan atau pencetakan eksternal disimpan di infobase

Untuk bekerja dengan pemrosesan eksternal (dan eksternal formulir tercetak juga pemrosesan eksternal) ada objek Pemrosesan Eksternal.

Pertimbangkan dua kemungkinan kasus:

Pemrosesan eksternal disimpan pada disk secara terpisah dari infobase

Untuk membuka pemrosesan eksternal secara terprogram dalam 1C, Anda perlu mengetahui alamat file-nya. Mengetahuinya, Anda dapat membuka formulir pemrosesan, atau mendapatkan objek pemrosesan untuk tindakan lebih lanjut dengannya (misalnya, untuk memanggil fungsi ekspor dari modul objek).

Membuka formulir pemrosesan eksternal

Untuk secara terprogram membuka formulir pemrosesan eksternal dalam 1C, gunakan fungsi tersebut GetForm() obyek Pemrosesan Eksternal. Fungsi tersebut memiliki beberapa parameter. Pertimbangkan pembukaan sederhana dari formulir pemrosesan utama:


Bentuk = Proses Eksternal. GetForm(AlamatBerkas) ;
Membentuk. Membuka() ;

Untuk membuka formulir pemrosesan eksternal non-utama, Anda harus menentukan namanya.

// Variabel AddressFile berisi jalur penuh ke file pemrosesan eksternal
Bentuk = Proses Eksternal. GetForm (Alamat File, "Bentuk Kecil") ;
Membentuk. Membuka() ;

Membuka pemrosesan eksternal sebagai objek

Untuk mendapatkan pemrosesan eksternal sebagai objek, fungsi digunakan Membuat() obyek Pemrosesan Eksternal.

//Variabel FileAddress berisi path lengkap ke file pemrosesan eksternal
ProcessingObject=Proses Eksternal. Buat(AlamatFile);

Secara default, semua pemrosesan terbuka mode aman. Untuk menonaktifkannya, gunakan opsi berikut:

//Variabel FileAddress berisi path lengkap ke file pemrosesan eksternal

Formulir pemrosesan atau pencetakan eksternal disimpan di infobase

Dalam banyak konfigurasi, dimungkinkan untuk menyimpan formulir dan perawatan pencetakan eksternal secara langsung basis informasi. Untuk ini, panduan digunakan. Pemrosesan Eksternal. Pemrosesan eksternal itu sendiri disimpan sebagai data biner atau dalam atribut StorageExternalProcessing, atau di bagian tabel Afiliasi dalam alat peraga StorageExternalProcessing.

Untuk membuka pemrosesan eksternal, Anda memerlukan:

  1. Dapatkan dari penyimpanan.
  2. Simpan file yang diproses ke disk.
  3. Buka formulir atau dapatkan objek pemrosesan.
  4. Jika kita berurusan dengan formulir pencetakan eksternal, maka Anda dapat mengisi persyaratan standar ReferenceToObject dan memanggil fungsi ekspor Segel.

//Variabel ReferensiReferensi berisi referensi ke elemen direktori ExternalProcessing
dvData = Referensi Referensi. StorageExternalProcessing. Mendapatkan() ;
AlamatBerkas= GetTemporaryFileName() ;
DvData. Tulis(Alamat File);
ProcessingObject=Proses Eksternal. Buat(AlamatBerkas, Salah);

Pertimbangkan dalam artikel ini petunjuk langkah demi langkah untuk membuat pemrosesan eksternal di 1C 8.3 masing-masing dalam mode aplikasi terkelola, kami akan menggunakan formulir terkelola. Dan yang terpenting, kita akan mempelajari cara menghubungkannya ke mekanisme "pemrosesan eksternal" konfigurasi 1C yang dibangun di atas pustaka subsistem standar versi 2.0 dan yang lebih baru.

Tugasnya adalah sebagai berikut: untuk membuat pemrosesan eksternal paling sederhana yang akan melakukan tindakan grup pada buku referensi "Nomenklatur", yaitu, untuk menetapkan persentase tarif PPN yang dipilih untuk grup item yang ditentukan.

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

Mencentang kotak ini memberi kita kemampuan untuk menggunakan pemrosesan eksternal.

Membuat pemrosesan eksternal baru di 1C 8.3 dengan contoh

Sekarang mari kita pergi ke konfigurator. Pilih "Baru..." dari menu "File". Jendela untuk memilih jenis file yang akan dibuat akan terbuka. Memilih " Pemrosesan eksternal»:

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

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

Pada formulir kita akan memiliki dua alat peraga:

  • Grup tata nama - tautan ke buku referensi "Nomenklatur";
  • SelectVAT Rate – tautan ke daftar Tarif PPN.

Kami membuat detail di kolom "Props" di jendela kanan atas. Seret dengan mouse ke jendela kiri atas. Detail baru akan segera muncul di formulir di bawah ini.

Urutan detail dapat diubah dengan panah "Atas" - "Turun":

Dapatkan 267 pelajaran video 1C gratis:

Tetap 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 "Atur Tarif PPN". Buat tindakan di properti perintah. Pilih penangan perintah "Pada klien". Perintah juga dapat ditambahkan ke formulir hanya dengan menyeret dan menjatuhkannya ke bagian dengan elemen formulir.

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

&Pada Klien

Prosedur Tetapkan Tarif PPN (Perintah)

SetVATRateOnServer();

Prosedur Akhir

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

& Di server

Prosedur SetVATRateOnServer()

Permintaan = Permintaan Baru;
Permintaan.Teks =
"MEMILIH
| Nomenklatur.Link
| DARI
| Direktori Nomenklatur AS Nomenklatur
|DIMANA
| Nomenklatur.Referensi DALAM HIERARKI (&Grup Nomenklatur)
| DAN BUKAN Nomenklatur. Tanda Penghapusan
| Dan BUKAN Nomenklaturnya. Ini adalah Grup ”;

Query.SetParameter("Grup Nomenklatur", Grup Nomenklatur);
RequestRes = Permintaan.Jalankan();
SelectDetRecords = ResRequest.Select();

Sementara SelectDetRecord.Next() Loop

Percobaan
SprNo.Object.Write();
Pengecualian
Report("Error penulisan objek """ + SprNoobObject + """!
|» + DescriptionError());
Akhir Percobaan;

Akhir Siklus;

Prosedur Akhir

Kami kembali ke tab "Formulir", tambahkan tombol ke formulir dan kaitkan dengan perintah:

Dengan demikian, pemrosesan kami siap digunakan. Untuk memanggilnya, dalam mode "1C Enterprise", Anda harus pergi ke menu "File" - "Open" dan pilih file yang dibuat.

Namun, bekerja dalam mode ini nyaman untuk pemrosesan debugging, dan tidak terlalu cocok untuk digunakan oleh pengguna. Pengguna terbiasa memiliki segalanya "di tangan", yaitu di database itu sendiri.

Ini adalah bagian " Laporan tambahan dan pengolahan."

Tetapi untuk menambahkan pemrosesan kami di sana, pertama-tama kami harus memberikan deskripsi dan memberi tahu program tentang propertinya.

Deskripsi Detail Pemrosesan Eksternal

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

Fungsi DetailOnExternalProcessing() Ekspor

DataForReg = Struktur Baru();
DataForReg.Insert("Nama", "Menetapkan tarif PPN");
DataForReg.Insert("SafeMode", True);
DataForReg.Insert("Versi", "ver.: 1.001");
DataForReg.Insert("Informasi", "Memproses untuk menyetel tarif PPN di direktori Nomenklatur");
DataForReg.Insert("Lihat", "Pemrosesan Tambahan");

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

Baris Baru = TabZnCommands.Add();
NewString.Identifier = "Pemrosesan Terbuka";
NewLine.Usage = "FormOpen";
NewLine.View = "Buka Pemrosesan";
DataForReg.Insert("Perintah", TabZnPerintah);

Kembalikan DataForReg;

Fungsi Akhir

Untuk lebih memahami bidang mana dari struktur data pendaftaran yang perlu Anda gunakan, mari kita lihat detail direktori "Laporan dan pemrosesan tambahan":

Seperti yang Anda lihat, semuanya cukup sederhana. Hanya satu atribut yang tidak cocok: "Opsi Luncurkan" - "Gunakan". Jika kita melihat kode salah satu modul umum, kita akan melihat bagaimana banyak bidang ini muncul:

Untuk menentukan bidang struktur mana yang diperlukan, pertama-tama Anda tidak dapat mendeskripsikannya, cukup buat yang kosong, lalu gunakan debugger. Jika Anda melacak modul saat mendaftarkan pemrosesan, segera menjadi jelas bidang mana yang diperlukan dan mana yang tidak.

Menghubungkan pemrosesan eksternal dalam 1C 8.3



Memuat...
Atas