Struktur modul

1C: Perusahaan 8.2 /
Untuk pengembang /
Konvensi Kode

Daftar isi

1.1. Dalam modul program (modul umum, modul objek, modul manajer objek, modul formulir, perintah, dll.) Dalam kasus umum, bagian berikut ini dapat ditampilkan di bagian berikut urutan :

Beberapa bagian mungkin hanya ada dalam modul jenis tertentu. Misalnya, penangan peristiwa untuk elemen formulir hanya dapat hadir dalam modul formulir, dan bagian deskripsi variabel dan bagian inisialisasi tidak dapat didefinisikan dalam modul umum non-global, modul manajer objek, set rekaman, nilai konstan, dan modul sesi.

Persyaratan untuk membagi kode modul menjadi beberapa bagian dimaksudkan untuk meningkatkan keterbacaan kode dan menyederhanakan pengenalan perubahan kode oleh penulis yang berbeda ( oleh pengembang ) seperti dalam pengembangan kolektif, dan dalam penyempurnaan solusi aplikasi untuk implementasi spesifik.

1.2. Bagian templat (kosong untuk menyalin) untuk modul umum:

//////////////////////////////////////////////////// ////////////////////////////// // // ////////////// //////////////////////////////////////////////////// ////////////// ////////////////////////////////////// //////////////////////////////////////////// // // PERANGKAT LUNAK PERANGKAT LUNAK // //////////////////////////////////////////////////// //////////////////////////// // PROSEDUR DAN FUNGSI LAYANAN

  • Bagian "Antarmuka program" berisi prosedur dan fungsi ekspor yang dimaksudkan untuk digunakan oleh objek konfigurasi lain atau program lain (misalnya, melalui koneksi eksternal).
  • Bagian "Prosedur dan Fungsi Utilitas" berisi prosedur dan fungsi yang membentuk implementasi internal modul umum. Dalam kasus di mana modul umum merupakan bagian dari beberapa fungsional subsistem yang mencakup beberapa objek metadata, bagian ini juga dapat berisi prosedur dan fungsi ekspor layanan yang dimaksudkan hanya untuk dipanggil dari objek lain dari subsistem ini.
    Untuk modul umum massal, disarankan untuk membagi bagian ini menjadi subbagian, sesuai dengan atribut fungsional. Subbagian didahului oleh komentar, yang direkomendasikan untuk diterbitkan dengan cara yang sama. Sebagai contoh:

//////////////////////////////////////////////////// ////////////////////////////// // Pembaruan basis informasi

1.3. Templat untuk desain bagian untuk modul objek, manajer, kumpulan catatan, perawatan, laporan, dll.:

//////////////////////////////////////////////////// ////////////////////////////// // PERANGKAT LUNAK SOFTWARE ////////////// // //////////////////////////////////////////////////// ////////////// // PROSESOR ACARA ////////////////////////////////// //////////////////////////////////////////////// // // PROSEDUR DAN FUNGSI LAYANAN

  • Bagian "Antarmuka Program" berisi prosedur dan fungsi ekspor yang dimaksudkan untuk digunakan dalam modul konfigurasi lain atau program lain (misalnya, melalui koneksi eksternal). Tidak perlu menempatkan dalam bagian ini fungsi dan prosedur ekspor yang dimaksudkan untuk dipanggil hanya dari modul objek itu sendiri, bentuk dan perintahnya. Sebagai contoh, prosedur untuk mengisi bagian tabel dari suatu dokumen yang dipanggil dari pemrosesan isian dalam modul objek dan dari bentuk dokumen dalam form handler bukan antarmuka program dari modul objek, karena dipanggil hanya dalam modul itu sendiri dan dari bentuk objek yang sama. Mereka harus ditempatkan di bagian ini "Prosedur dan fungsi utilitas."
  • Bagian "Penangan Kejadian" berisi penangan peristiwa untuk modul objek ( Prizavisi , PRO , dll.)
  • Bagian "Prosedur dan Fungsi Utilitas" memiliki tujuan yang sama seperti pada modul umum.

1.4. Templat desain bagian untuk modul formulir:

//////////////////////////////////////////////////// ////////////////////////////// // PENANGANAN ACARA DARI FORMULIR /////////////// //////////////////////////////////////////////////// /////////////// // PENANGANAN ACARA UNSUR-UNSUR DARI BENTUK FORMULIR ////////////////////////////// //////////////////////////////////////////////////// // // PROSESOR DARI ACARA TABEL BENTUK ////////////////////////////////////////// //////////////////////////////////////// // PROSESOR UNTUK TIM DARI FORMULIR /////// //////////////////////////////////////////////////// /////////////////////// // PROSEDUR DAN FUNGSI LAYANAN

  • Bagian "Form handler event" berisi prosedur form handler event: Pada Membuat Server , Pembukaan , dll.
  • Bagian "Penangan elemen formulir" berisi prosedur untuk memproses elemen yang terletak di bagian utama formulir (semua yang tidak terkait dengan tabel pada formulir).
  • Di bagian "Penangan acara tabel formulir <nama tabel bentuk>" ada prosedur untuk penangan tabel bentuk dan elemen tabel. Untuk prosedur handler, setiap tabel harus memiliki partisi sendiri.
  • Bagian "Form command handler" berisi prosedur untuk form handler perintah (nama-nama yang ditentukan dalam properti Action dari perintah form).
  • Bagian "Prosedur dan Fungsi Utilitas" memiliki tujuan yang sama seperti pada modul umum.

Lihat juga: Aturan untuk membuat modul formulir

2. Persyaratan umum untuk bagian-bagian modul perangkat lunak.

2.1. Header modul adalah komentar di bagian paling awal modul. Judul modul memberikan deskripsi singkat dan kondisi aplikasi.
Sebagai contoh:

//////////////////////////////////////////////////// //////////////////////////// // // Prosedur dan fungsi klien untuk tujuan umum: // - untuk bekerja dengan daftar dalam bentuk; // - untuk bekerja dengan log; // - untuk memproses tindakan pengguna sedang berlangsung pengeditan // multiline teks , misalnya komentar dalam dokumen; // - lainnya. // ////////////////////////////////////////////////// //////////////////////////////////

Untuk modul formulir, disarankan untuk menempatkan deskripsi parameter formulir di header.

2.2. Bagian deskripsi variabel . Nama variabel ditetapkan sesuai dengan umum aturan nama variabel , dan penggunaannya dijelaskan dalam artikel. Menggunakan variabel global dalam modul perangkat lunak .

Semua variabel modul harus dilengkapi dengan komentar yang cukup untuk memahami tujuannya. Komentar direkomendasikan untuk ditempatkan pada baris yang sama di mana variabel dideklarasikan.
Contoh:

Pem CurrencyMenghitung Ekspor; // Mata uang di mana akuntansi disimpan Alamat Perem Mendukung Ekspor; // Alamat email tempat pesan kesalahan dikirim

2.3. Antarmuka perangkat lunak Prosedur dan fungsi ekspor yang membentuk antarmuka pemrogramannya ditempatkan segera setelah deskripsi variabel. Prosedur dan fungsi tersebut dimaksudkan untuk digunakan oleh objek konfigurasi lain atau program lain (misalnya, melalui koneksi eksternal), oleh karena itu mereka harus ditempatkan di "tempat yang terlihat" dalam modul.

Lihat juga: Deskripsi prosedur dan fungsi.

2.4.1 Membentuk event handler, perintah, dan elemen form . Sebelum prosedur layanan dan fungsi-fungsi dalam modul formulir, penangan acara formulir ditemukan, serta penangan acara untuk perintah dan elemen formulir.

Rekomendasi metodis (saran berguna)

Direkomendasikan agar penangan dari satu elemen bentuk ditempatkan bersama-sama, mengikuti urutan pengikutnya di panel properti editor formulir. di konfigurator .

2.4.2. Setiap acara harus memiliki prosedur penangannya sendiri. Jika tindakan yang sama harus dilakukan ketika peristiwa terjadi di berbagai elemen formulir:

  • buat prosedur (fungsi) terpisah yang melakukan tindakan yang diperlukan

  • untuk setiap elemen bentuk, buat penangan terpisah dengan nama default

  • panggil prosedur (fungsi) yang diperlukan dari masing-masing penangan.

Misalnya, salah:

& Prosedur OnClient untuk Mengeksekusi Aplikasi (Elemen) Parameter Seleksi = Kepatuhan Baru (); Pilihan Pilihan. Tempel ("Oleh Penulis", Oleh Penulis); Pilihan Pilihan, Tempel ("Eksekutif", Eksekutif); Atur Pilihan Daftar (Daftar, Pilihan Pilihan); Prosedur Akhir & Pada Prosedur Klien untuk Menulis Dengan Mengubah (Elemen) Menjadi Eksekutif Dengan Mengubah (Tidak Terdefinisi); Prosedur Akhir

benar:

& Prosedur OnClient untuk MelakukanIndikator (Item) SetSelection (); Prosedur Akhir & Prosedur Klien Oleh Penulis Mengubah (Elemen) Instal Pilihan (); Prosedur SetProeleksi EndProcedures & OnServer () Parameter Pemilihan = Kepatuhan Baru (); Pilihan Pilihan. Tempel ("Oleh Penulis", Oleh Penulis); Pilihan Pilihan, Tempel ("Eksekutif", Eksekutif); Atur Pilihan Daftar (Daftar, Pilihan Pilihan); Prosedur Akhir

Persyaratan ini disebabkan oleh fakta bahwa logika prosedur event handler tidak dimaksudkan untuk digunakan dalam kode modul, tetapi dipanggil langsung oleh platform. Mencampur dua skenario ini dalam satu prosedur tidak perlu mempersulit logikanya dan mengurangi kekokohannya (alih-alih skenario yang dibayangkan - pada suatu peristiwa dari platform - kode prosedur harus mengandalkan panggilan langsung lainnya dari kode).

2.5. Penangan acara untuk modul objek dan manajer objek ditempatkan setelah ekspor, tetapi sebelum prosedur utilitas dan fungsi modul.

Rekomendasi metodis (saran berguna)

Disarankan untuk menempatkan penangan, mengikuti urutan pengikut mereka dalam deskripsi bahasa yang disematkan.

2.6. Prosedur utilitas dan fungsi modul yang bukan pengendali peristiwa, tetapi merupakan implementasi internal modul, ditempatkan dalam modul di sebelah penangan acara.

Dalam kasus di mana modul umum adalah bagian dari subsistem fungsional yang mencakup beberapa objek metadata, bagian ini juga dapat berisi prosedur ekspor layanan dan fungsi yang dimaksudkan hanya untuk dipanggil dari objek lain dari subsistem ini.

Prosedur dan fungsi yang terkait satu sama lain secara alami atau logika kerja direkomendasikan untuk ditempatkan bersama. Tidak direkomendasikan untuk secara eksplisit mengelompokkan prosedur dan fungsi modul ke dalam server, klien, dan fungsi tanpa konteks, karena pemesanan "teknologi" seperti itu mempersulit pemahaman logika modul, mengalihkan perhatian pengembang ke detail penerapannya.

2.7. Bagian inisialisasi berisi pernyataan yang menginisialisasi variabel modul atau objek (bentuk). Sebagai contoh:

Alamat Dukungan = "[email protected]"; // Alamat untuk menghubungi dukungan teknis Lakukan Inisialisasi ();

Materi lain tentang topik:
perbarui basis data , penangan acara , antarmuka perangkat lunak , penangan , prosedur , pola , berita utama , akhir prosedur , fungsi , antarmuka , deskripsi , papan klip , untuk menyalin , bagian , pertukaran , formulir , sebuah objek , elemen , mengkonfigurasi , konfigurasi , dokumen

Bahan dari bagian: 1C: Perusahaan 8.2 / Pengembang / Perjanjian saat menulis kode

Materi lain tentang topik:

Deskripsi prosedur dan fungsi

Fitur penskalaan untuk objek yang dipilih

Transfer konfigurasi pada platform 1C: Enterprise 8.2 ke platform 1C: Enterprise 8.3 tanpa mode kompatibilitas dengan versi 8.2

Nama prosedur dan fungsi

Menggunakan mode istimewa


Kami menemukan: struktur modul 1c adalah , prosedur dan fungsi layanan , modul, prosedur panggilan modul manajer 1c 8 2, cara memanggil prosedur dari modul 1c lainnya, header modul bahasa Inggris, 1c dari prosedur pemrosesan panggilan modul prosedur, 1c 8 2 memanggil prosedur dari modul manajer, 1


1C: Perusahaan 8