Tetapkan nilai baru sebagai ekspresi 1s.

Ini adalah artikel lain dari seri "Langkah pertama dalam pengembangan 1C". Ini melanjutkan topik artikel sebelumnya yang membahas secara spesifik bekerja di konfigurator.

Pada artikel ini, kami akan mempertimbangkan alat khusus yang memfasilitasi pengembangan dan debugging kode program pada platform 1C: Enterprise, yang disebut Debugger. Setelah mempelajari artikel tersebut, Anda akan mengetahui:

  • Untuk apa debugger dan bagaimana menggunakannya?
  • Apa itu breakpoint, bagaimana dan mengapa harus disetel?
  • Bagaimana langkah melalui kode dan mengapa itu diperlukan?
  • Di mana melihat nilai variabel Anda, serta menghitung nilai ekspresi?
  • Untuk apa tumpukan panggilan dan bagaimana cara melihatnya?
  • Bagaimana cara menghentikan eksekusi kode program secara tidak sengaja?

Penerapan

Artikel ini membahas platform 1C versi 8.3.4.365. Versi platform saat ini berisi mekanisme debugging yang lebih kaya, tetapi ini tidak membuat informasi yang disajikan menjadi usang, karena semua mekanisme dan teknik debugging yang dijelaskan dalam artikel tetap sama.

Menggunakan debugger di sistem 1C: Enterprise 8

Sistem 1C: Enterprise 8 berisi debugger kode program bawaan.

Debugger adalah alat khusus dari Configurator yang memungkinkan Anda menganalisis pekerjaan kode program. Artikel ini membahas beberapa fitur debugger yang paling umum digunakan oleh pengembang.

Untuk menganalisis kode program menggunakan debugger, alat khusus digunakan yang disebut titik putus.

Breakpoint - tempat sistem berhenti dalam kode program, ditandai dengan penanda khusus (Gbr. 1).

Beras. 1. Titik putus

Ketika breakpoint dipicu, menjadi mungkin untuk menelusuri kode program dan menganalisis nilai variabel.

Menyetel breakpoint

Pengaturan breakpoint pada baris tertentu dari kode program dilakukan dengan mengklik dua kali tombol kiri mouse di area kiri modul program, yang disorot dengan warna abu-abu.

Dimungkinkan juga untuk mengatur breakpoint dengan perintah pada toolbar konfigurator atau dengan tombol F9... Menghapus breakpoint yang ada dilakukan dengan cara yang sama.

Untuk menyetel breakpoint di akhir prosedur atau fungsi, Anda harus menyetel breakpoint pada kata kunci Akhir Prosedur atau Fungsi Akhir.

Anda dapat menonaktifkan breakpoint sementara tanpa menghapusnya dari kode Anda. Untuk mematikan breakpoint, jalankan perintah Nonaktifkan breakpoint pada bilah alat atau tekan pintasan keyboard Ctrl + Shift + F9.

Untuk melihat semua breakpoint, Anda perlu menjalankan perintah menu utama Debug - Daftar breakpoints atau tekan pintasan keyboard Alt + F9... Dalam bentuk terbuka Breakpoint Anda dapat menonaktifkan atau menghapus breakpoint untuk sementara (Gbr. 2).

Beras. 2. Daftar breakpoint

Untuk menghapus semua breakpoint, Anda perlu menjalankan perintah menu utama konfigurator Debugging - Hapus semua breakpoints.

Breakpoint bersyarat

Breakpoint bersyarat diperlukan untuk menghentikan eksekusi kode program ketika kondisi tertentu dipicu.

Untuk mengatur breakpoint dengan suatu kondisi, Anda perlu menjalankan perintah dari menu utama konfigurator Debugging - Breakpoint Bersyarat... Formulir kondisi Berhenti akan terbuka. Di bidang input, Anda harus memasukkan kondisi yang diperlukan (misalnya, nilai variabel apa pun dalam kode program) dan klik tombol oke(Gbr. 3).

Setelah memulai sistem dalam mode debug, breakpoint akan dipicu ketika kondisi break terpenuhi. Anda dapat memverifikasi ini menggunakan formulir Papan angka(Gbr. 3). Bekerja dengan formulir Papan angka akan dibahas di bawah ini.

Beras. 3. Setting breakpoint dengan kondisi dan hasil pengolahannya

Untuk mulai men-debug kode program, Anda perlu mengatur breakpoint dan menjalankan aplikasi dalam mode debug. Untuk memulai debugging, Anda perlu menjalankan perintah menu utama konfigurator Debug - Mulai Debug(F5).

Setelah memulai aplikasi dalam mode debug, Anda harus memastikan bahwa breakpoint dipicu. Skenario yang berbeda dimungkinkan di sini. Misalnya, breakpoint diatur dalam modul formulir dokumen di event handler standar AktifTerbuka()... Dalam hal ini, breakpoint akan dipicu ketika bentuk dokumen apa pun dibuka dalam mode pengguna.

Breakpoint dapat diatur dalam prosedur atau fungsi arbitrer yang telah dibuat oleh pengembang. Dalam hal ini, breakpoint akan dipicu setelah memanggil prosedur atau fungsi ini dari baris kode tertentu.

Setelah breakpoint dipicu, sistem menghentikan eksekusi kode program dan menjadi mungkin untuk menggunakan berbagai fungsi debugger, seperti: eksekusi langkah demi langkah kode program, penggunaan formulir Papan angka dll.

Eksekusi kode program selangkah demi selangkah

Untuk eksekusi langkah demi langkah kode program, gunakan perintah yang tersedia di menu utama konfigurator di menu Debug... Lebih mudah menggunakan hotkey untuk perintah ini.

Masuk ke (F11)... Jika operator berikutnya dari kode program memanggil prosedur atau fungsi, maka dijalankan langkah demi langkah, jika tidak, operator berikutnya dieksekusi.

Langkah melalui (F10)... Jika pernyataan berikutnya dari kode program memanggil prosedur atau fungsi, maka itu dieksekusi sepenuhnya tanpa masuk ke dalam. Kemudian pernyataan berikutnya dieksekusi.

Pergi ke kursor (Shift + F10)... Operator dieksekusi dari baris yang dapat dieksekusi saat ini ke baris kode program tempat kursor berada.

Menggunakan formulir Papan angka dan Ekspresi

Untuk melihat nilai variabel dan menghitung nilai ekspresi saat menghentikan kode program, gunakan formulir Papan angka dan Ekspresi.

Formulir Papan angka dipanggil dengan perintah menu utama konfigurator Debug - Papan Skor atau pintasan keyboard Ctrl + Alt + W... Papan skor dapat merekam nilai variabel apa pun dan menganalisis bagaimana mereka berubah selama eksekusi kode program.

Papan skor memiliki empat tab. Secara default, bookmark dinonaktifkan. Untuk memasukkan bookmark dalam formulir Papan angka Anda perlu memanggil menu konteks dan mengatur bendera Bookmark(Gbr. 4).

Beras. 4. Formulir "Papan Skor" dengan tab yang disertakan

Untuk menghitung nilai ekspresi pada saat menghentikan kode program, gunakan formulir Ekspresi... Untuk membuka formulir ini, gunakan perintah menu utama konfigurator Debug - Hitung ekspresi atau pintasan keyboard Shift + F9(Gbr. 5).

Beras. 5. Bentuk "Ekspresi"

Dalam kotak Ekspresi, Anda memasukkan ekspresi dalam bahasa bawaan. Nilai ekspresi dapat diperoleh dengan mengklik tombol Menghitung... di lapangan Hasil nilai ekspresi ditampilkan. Ekspresi dapat ditampilkan di papan skor dengan mengklik tombol Sertakan di papan skor.

Untuk melihat nilai koleksi (misalnya, tabel nilai, daftar nilai, array), Anda dapat menggunakan perintah Menunjukkan nilai di jendela atau kunci terpisah F2.

Melihat tumpukan panggilan

Tumpukan panggilan- formulir yang memungkinkan Anda melacak panggilan prosedur dan fungsi bersama selama eksekusi kode program. Tumpukan panggilan ditampilkan dengan perintah menu utama konfigurator Debugging - Tumpukan Panggilan atau pintasan keyboard Ctrl + Alt + C... Tidak berbentuk Tumpukan panggilan Anda dapat pergi ke prosedur atau fungsi yang sesuai (Gbr. 6).

Dalam formulir, Anda perlu mengatur bendera Berhenti karena kesalahan dan jalankan aplikasi dalam mode debug. Eksekusi kode program akan dihentikan pada baris di mana kesalahan terjadi (Gbr. 7).

Menggunakan kemampuan debugger yang dijelaskan dalam artikel ini, pengembang dapat menganalisis baik kode program kami sendiri dan kode program solusi tipikal perusahaan "1C".

Seperti yang ditunjukkan oleh praktik, butuh waktu lama untuk menemukan kesalahan dalam kode program tanpa debugger. Oleh karena itu, Anda perlu memberikan perhatian khusus untuk menguasai debugger.

Seperti disebutkan di atas, mekanisme debugging telah diperluas secara signifikan di versi platform berikutnya. Bagi mereka yang ingin berkenalan dengan deskripsi terperinci tentang inovasi ini, kami sarankan Anda membaca materi yang relevan di blog pengembang platform itu sendiri.

Sebagai kesimpulan, kami mencatat bahwa konfigurator adalah lingkungan pengembangan aplikasi yang lengkap dan hingga saat ini satu-satunya pada platform 1C: Enterprise 8. Ini memiliki fungsionalitas yang sangat kaya yang dirancang untuk membantu pengembang dalam menyelesaikan tugas sehari-harinya.

Dalam revisi 8.3, banyak kegunaan kecil untuk pengembang telah ditambahkan ke konfigurator. Dan di artikel selanjutnya kita pasti akan mengenal mereka.

Dalam artikel ini, saya akan membahas dasar-dasar bekerja dengan debugging di. Apa itu debugging dan untuk apa? Seringkali perlu untuk memahami cara kerja bagian kode tertentu, dan nilai apa yang dikandung oleh berbagai variabel. memiliki mekanisme debugging untuk tujuan ini. Pada artikel ini, kita akan membahas poin-poin utama bekerja dengan debugging.

Agar program berhenti di tempat tertentu, Anda perlu mengatur breakpoint. Untuk melakukan ini, tempatkan kursor pada baris yang diinginkan dan klik pada margin kiri. Lingkaran merah muncul di sebelah kiri. Breakpoint dapat diatur menggunakan menu utama

Atau menggunakan menu konteks

Pada titik ini, program akan berhenti untuk memungkinkan pengembang mengetahui perilakunya.

Saya menarik perhatian Anda pada fakta bahwa breakpoint harus diatur di tempat dalam kode di mana beberapa operator ditulis. Atau variabel dideklarasikan secara implisit.

Ada beberapa opsi, kami akan mempertimbangkan semuanya secara terpisah.

Opsi pertama, Anda bisa langsung menelusuri kode tanpa masuk ke prosedur dan fungsi apa pun. Untuk melakukan ini, gunakan tombol "Langkah Melalui" atau tombol F10.

Ingatlah bahwa jika debugging mentransfer kontrol ke beberapa fungsi interaktif di mana intervensi pengguna diperlukan, maka program akan segera mentransfer Anda ke 1C Enterprise, atau debugging akan membeku, dan kemudian Anda harus beralih ke 1C Enterprise sendiri.

Cara kedua, Anda dapat menelusuri kode dan masuk ke semua prosedur dan fungsi tertulis untuk melihat cara kerjanya. Untuk melakukan ini, tekan tombol "Langkah B", atau tekan tombol F11.

Jika kita perlu keluar dari suatu prosedur atau fungsi tanpa menunggu eksekusinya, maka kita perlu menekan tombol Step Out atau sambil menahan tombol Shift, tekan tombol F11.

Jika kita perlu melompati tempat tertentu dalam program dan memulai debugging dari baris baru, maka ini dapat dilakukan dengan dua cara. Cara pertama adalah dengan mengatur breakpoint baru dan klik tombol "Continue Debugging" atau tombol F5. Kemudian program akan langsung melompat ke baris kode yang dibutuhkan.

Cara kedua: posisikan kursor pada yang diinginkan dan klik tombol "Pergi ke kursor", atau sambil menahan tombol Shift, tekan tombol F10.

Jika bekerja dengan kode Anda tersesat di dalamnya dan ingin segera kembali ke baris debug saat ini, maka cukup klik tombol "Garis saat ini"

Kami belajar cara menelusuri kode dalam debugging. Nah, yang terpenting adalah bagaimana cara mengetahui nilai variabelnya? Ini akan membantu kita papan angka.

Ada beberapa cara untuk membukanya.

Pertama: menggunakan menu utama.

Kedua: menggunakan panel "Konfigurasi Debug".

Ketiga: menggunakan pintasan keyboard Ctrl + Alt + W.

Papan muncul di bagian bawah tempat kita dapat memasukkan variabel apa pun dan melihat nilainya.

Selain variabel tipe primitif, Anda memiliki kesempatan untuk memasukkan variabel tipe objek ke dalam ekspresi, dan melihat komposisi variabel ini (jika Anda tidak men-debug eksekusi kode di c).

Anda juga dapat menambahkan fungsi (baik Anda sendiri maupun konteks global) ke papan skor untuk mencari tahu apa yang akan mereka kembalikan.

Anda dapat mengetahui nilai suatu variabel tanpa menggunakan papan skor. Cukup memilih variabel ini dan klik tombol "Hitung ekspresi" (kombinasi tombol Shift + F9).

Tonton karya visual dengan debugging di video ini.

Pelajari dasar-dasar konfigurasi di 1C dan belajar memprogram di 1C: Enterprise dengan bantuan buku saya:

Panduan yang sangat baik untuk mengembangkan aplikasi 1C terkelola, baik untuk pengembang pemula maupun pemrogram berpengalaman.

  1. Bahasa presentasi yang sangat mudah diakses dan dimengerti
  2. Buku dikirim melalui email dalam format PDF. Dapat dibuka di perangkat apa pun!
  3. Memahami ideologi aplikasi terkelola 1C
  4. Pelajari cara mengembangkan aplikasi terkelola;
  5. Belajar mengembangkan formulir 1C terkontrol;
  6. Anda akan dapat bekerja dengan elemen dasar dan penting dari formulir terkelola
  7. Pemrograman di bawah aplikasi yang dikelola akan menjadi jelas

Kode promo untuk diskon 15% - 48PVXHeYu


Jika pelajaran ini membantu Anda memecahkan masalah apa pun, Anda menyukainya atau ternyata bermanfaat, maka Anda dapat mendukung proyek saya dengan mentransfer jumlah berapa pun:

Anda dapat membayar secara manual:

Yandex.Money - 410012882996301
Uang Web - R955262494655

Bergabunglah dengan grup saya.

Penting untuk menggunakan mode debug dalam 1C saat merancang dan menguji konfigurasi yang khas dan dikembangkan secara independen dari segala kerumitan. Mekanisme ini membantu pengembang tidak hanya untuk menghilangkan kesalahan yang teridentifikasi, tetapi juga untuk mengantisipasi banyak kemacetan sebelum sistem dioperasikan. Untuk menggunakan semua kemampuan mode platform 1C: Enterprise 8.3 ini, Anda tidak hanya harus mengaktifkannya, tetapi juga mengetahui tujuan alat utamanya.

Mengaktifkan mode debug di server 1C

Jika Anda bekerja dalam versi client-server, maka Anda harus melalui prosedur untuk mengaktifkan debugging di server untuk menggunakan semua fungsi debugger 1C. Tidak memakan banyak waktu dan tidak membutuhkan pengetahuan yang luas, namun Anda tetap harus berhati-hati, karena proses tersebut akan mempengaruhi perubahan registry pada server.

Anda dapat mengaktifkan debugging di 1C menggunakan algoritma berikut:

  • Buka server 1C dan buka register melalui fungsi "Jalankan" dari menu "Mulai". Anda juga dapat menggunakan tombol Windows dan R pada keyboard Anda secara bersamaan. Masukkan perintah untuk membuka register - "regedit";
  • Di jendela yang terbuka di pohon di sebelah kiri, ikuti jalur: "HKEY_LOCAL_MACHINE", "SYSTEM", "ControlSet001", "services", "1C: Enterprise 8.3 Server Agent";
  • Memilih item bawah, di sisi kanan kita menemukan atribut bernama "ImagePath" dan mengubahnya menggunakan menu konteks. Untuk mengaktifkan debugging di server, tambahkan baris "-debug" ke jalur yang ada;
  • Tetap hanya me-restart agen server 1C dan Anda dapat menggunakan mode debug di server.

Untuk memulai debugging melalui aplikasi klien, buka 1C dalam mode konfigurator dan pilih mode yang diinginkan di menu "Debug". Sebagian besar konfigurasi modern masing-masing bekerja dalam mode klien tipis, dan lebih baik untuk men-debug kinerja dalam jenis klien ini. Jika konfigurasi Anda menggunakan berbagai jenis klien, maka untuk menambah ketenangan pikiran, Anda dapat menguji fungsionalitas di semua mode. Pada saat memulai mode debug, 1C membuka mode "Perusahaan".


Segera setelah 1C diluncurkan dalam mode debug, Anda akan melihat jendela program yang hampir serupa. Satu-satunya perbedaan adalah di bagian bawah - 1C menunjukkan statistik jumlah panggilan dengan latar belakang abu-abu. Tetapi jika Anda beralih ke konfigurator pada saat ini, Anda akan melihat bahwa panel atas telah berubah. Ada tombol baru yang dengannya Anda akan mengontrol mode debug.

Untuk mendapatkan hasil maksimal dari prosedur server debugging, Anda perlu mengetahui fitur utama dari mode ini, tujuannya dan cara menggunakannya. Tentu saja, tidak mungkin untuk memahami semuanya pada tingkat teoretis, tetapi ketika Anda berkenalan dengan dasar-dasarnya, maka dalam praktiknya akan jauh lebih mudah bagi Anda. Selain itu, sebagian besar fitur debugging jarang digunakan, sehingga pengetahuan mendalam tentang mekanisme ini mungkin berguna hanya setelah beberapa tahun bekerja.

Di antara kemampuan mode debug "Perusahaan", yang biasa digunakan oleh pengembang 1C, adalah sebagai berikut:

  • Breakpoint;
  • Debug kode langkah demi langkah;
  • Lihat nilai;
  • Tumpukan panggilan.

Fungsi debugging 1C

Fitur debugging utama adalah memulai debugging dan memeriksa cara kerja kode saat bekerja dalam mode 1C Enterprise. Untuk melakukan ini, pengembang 1C menetapkan breakpoint pada baris algoritma. Untuk melakukan ini, pilih garis dengan mouse dan tekan tombol dengan gambar lingkaran merah. Atau, Anda dapat mengklik dua kali pada bilah di sebelah kiri teks modul, atau menggunakan tombol pintas F9.

Gunakan menu Debug untuk melihat breakpoint yang disetel. Di sana Anda dapat menghapus semua poin, menonaktifkannya, menambahkan yang baru dan berkenalan dengan tombol "panas". Juga di menu ini, Anda dapat mengatur breakpoint dengan kondisi (berupa lingkaran biru). Ini berguna dalam situasi di mana Anda perlu memeriksa kode ketika kondisi terpenuhi yang harus Anda tulis saat menetapkan titik.


Mekanisme lain yang berguna dari menu ini adalah "Berhenti karena kesalahan", yang memungkinkan Anda untuk berhenti hanya dalam situasi yang tidak dapat diterima. Setelah berhenti, Anda akan dibawa ke konfigurator dan dapat menggunakan opsi debugging lainnya. Misalnya, menelusuri baris kode menggunakan tombol khusus yang dijelaskan dalam menu "Debug", di mana fungsi yang lebih populer ditampilkan di bagian atas. Perbedaan antara F10 dan F11 adalah bahwa dalam kasus pertama, Anda akan berakhir di fungsi dan prosedur bersarang.


Debug sisi server di 1C juga bagus karena Anda dapat melihat nilai variabel setelah mengeksekusi setiap baris kode. Pilihan paling sederhana adalah dengan hanya mengarahkan kursor mouse dan 1C akan menampilkan nilai di jendela pop-up. Tetapi di platform, di menu "Debug", ada dua alat lagi yang ada di dalamnya:

  • Saat dipanggil, sebuah jendela terbuka di mana Anda dapat menyeret variabel dengan memilihnya dengan mengklik dua kali pada kode. Jendela menunjukkan nilai dan jenisnya di seluruh proses debug - Anda dapat mengikuti perubahan selama eksekusi algoritme;

  • Mekanisme untuk situasi ketika pengembang ingin memodelkan data apa yang bisa dia dapatkan saat menjalankan algoritme. Memungkinkan Anda untuk menulis ekspresi apa pun dan menunjukkan artinya.


Terkadang pengembang perlu mengetahui urutan prosedur pemanggilan dalam suatu algoritma. Untuk melakukan ini, mereka perlu menggunakan mekanisme tumpukan panggilan dari menu Debug. Saat Anda memanggilnya, sebuah jendela terbuka di mana Anda dapat melihat dari prosedur mana kursor debug berada.


Penting untuk mengetahui dan menerapkan semua alat ini untuk melakukan pengujian sebelum mentransfer peningkatan Anda ke basis produksi. Serangkaian mekanisme di atas lebih dari cukup untuk pekerjaan produktif yang sukses dari pengembang di 1C. Tetapi penting juga untuk mengawasi fungsionalitas baru, karena debugging pada server 1C 8.3 dapat memperoleh kemampuan baru dalam beberapa tahun.

Salam untuk semua pembaca situs portal, dalam artikel ini kita akan berbicara tentang breakpoint di 1C, atau lebih tepatnya tentang operasi yang salah di versi platform 1C tertentu.

Di penghujung Mei 2015, baru platform 1C 8.3.6.2014... Saat bekerja dengan platform ini, banyak programmer menghadapi situasi masalah. Khususnya, dengan benar Breakpoints tidak berfungsi di konfigurator saat men-debug aplikasi... Ternyata, masalah terlihat saat men-debug proses eksternal menggunakan pemrosesan "Menguji yang dapat dicetak eksternal".

Pertama-tama mari kita lihat bagaimana pemrosesan "Menguji pelat cetak eksternal" bekerja. Dengan bantuan pemrosesan ini, kami menunjukkan pemrosesan eksternal kami (pelat cetak eksternal, misalnya) (1), dan kemudian membuka pelat cetak yang sama di konfigurator dan mengatur breakpoint, setelah itu kami memulai perusahaan di bawah debugging. Dengan menekan tombol (2) itu adalah cetakan eksternal kami yang diluncurkan, dan bukan sistem yang dihasilkan secara default di direktori tmp, sebagai hasilnya, breakpoint dipicu dalam pemrosesan kami yang dibuka di konfigurator. Semuanya bekerja seperti yang diharapkan. Tapi itu sebelumnya ... Jika kita melakukan tindakan ini di platform 1C 8.3.6.2014, maka breakpoint dalam pemrosesan eksternal tidak akan dipicu! Ternyata, situasi ini muncul karena platform 1C 8.3.6.2014 memuat pemrosesan eksternal ke dalam RAM, sedangkan versi platform yang lebih muda menyimpannya ke file sementara, yang terletak di direktori file sementara 1C default.

Memecahkan masalah dengan breakpoint dalam pemrosesan eksternal pada platform 1C 8.3.6.2014

Sayangnya, saat ini, itu tidak mungkin untuk memecahkan masalah dengan breakpoint dalam pemrosesan eksternal pada platform 1C 8.3.6.2014... Masalahnya adalah versi platform ini menyimpan pemrosesan dalam RAM, dan debugger tidak sampai di sana, karena kami tidak dapat membuka pemrosesan di konfigurator dan menyetel breakpoint. Mari kita berharap bahwa spesialis dari 1C akan memungkinkan untuk memasukkan RAM dengan debugger, atau datang dengan metode debugging alternatif.

8, ada kebutuhan (lihat di bawah) untuk revisi yang signifikan dari prosedur debugging. Hal ini tercermin dalam versi 8.3.7.1759. Pertama, antarmuka universal dibuat untuk prosedur ini, dan kedua, perubahan semacam itu memastikan pengembangan lebih lanjut dari program itu sendiri. Lagi pula, sekarang Anda dapat bekerja dengan debugging tidak hanya melalui Configurator, tetapi juga menggunakan Alat Pengembangan. Mari kita pertimbangkan cara mengaktifkan debugging di server 1C dimulai dengan versi baru.

Menggunakan protokol baru

Debugger sebelumnya, yang diimplementasikan pada versi sebelumnya, mengontrol aplikasi klien dan server menggunakan protokol TCP / IP.

Saat ini, penggunaan protokol semacam itu mulai membatasi akses 1C: Enterprise ke Internet dan menyebabkan ketidaknyamanan untuk pengoperasian aplikasi seluler.

Oleh karena itu, untuk akses gratis ke infobase yang mungkin berada di luar jaringan lokal, protokol HTTP fleksibel kini telah diadopsi.

Arsitektur baru

Sebelumnya, saat melakukan debugging konfigurator, seorang karyawan harus terhubung ke infobase. Ini membutuhkan memberinya hak administrator.

Dalam versi baru, tidak perlu koneksi langsung ke database - Anda hanya perlu memiliki database yang sama dengan klien. Dan Anda dapat mengunduhnya dari file.

Aplikasi seluler

Melalui protokol HTTP, sekarang memungkinkan untuk men-debug data server dan data klien dan aplikasi.

Perubahan lainnya

Dengan versi baru, mengubah nilai untuk variabel lokal tersedia dalam prosedur debug - untuk tujuan ini, jendela tampilan cepat baru telah diterapkan.

Mode perhitungan telah diubah menjadi asinkron, yang memungkinkan Anda untuk terus bekerja tanpa menunggu hasilnya.

Debugger di Alat Pengembangan

Interaksi dengan prosedur baru dilakukan dalam antarmuka perangkat lunak universal yang dirancang khusus. Di satu sisi, antarmuka ini digunakan oleh Configurator. Di sisi lain, telah diperkenalkan ke lingkungan 1C baru: Alat Pengembangan Perusahaan.

Bagaimana tampilannya sekarang?

Setelah mengubah program, prosedur mengikuti skenario berikut:

Sekarang melibatkan lebih dari sekedar debugger dan objek, seperti sebelumnya. Elemen tambahan kini telah ditambahkan ke rantai - Server.

Tidak hanya telah ditambahkan - ini berfungsi sebagai bagian utama pertukaran informasi antara debugger dan item. Dan pertukaran itu sendiri terjadi melalui pesan antrian.

Dan karena pertukaran ini dilakukan melalui protokol HTTP, sekarang tidak masalah di mana tepatnya data dapat ditemukan.

Panggilan server dihasilkan oleh debugger dan objek dalam bentuk permintaan koneksi tambahan. Jika ada, jawaban yang sesuai dikirimkan kepada mereka.

Mengaktifkan debugging dalam skenario yang berbeda

Untuk pengembang aplikasi, tidak ada perubahan. Perbedaan yang signifikan adalah bahwa mekanisme baru perlu dihidupkan. Lagi pula, sekarang dinonaktifkan secara default.

Pertimbangkan apa yang terjadi ketika mode dimulai jika kita memilih salah satu dari dua skenario.

Skrip file

Di awal varian file, perlu untuk menentukan dalam pengaturan konfigurator penggunaan mekanisme baru - "Debugging melalui protokol HTTP".

Kemudian Configurator akan secara otomatis menawarkan untuk menggunakan server lokal. Kondisi ini harus diterima dan program harus direstart dalam mode Configurator.

Setelah itu, Configurator yang baru diluncurkan pada sesi berikutnya akan menyimpan metode baru yang telah kita pilih. Tetapi untuk basis informasi yang sama. Oleh karena itu, ketika mengakses basis informasi lain, itu juga perlu dihidupkan.

Mekanisme yang diaktifkan sekarang akan secara otomatis meluncurkan Server Debugger, yang merupakan aplikasi dbgs.exe khusus. Itu tercermin di jendela Task Manager.

Nilai parameter ownerPID akan sesuai dengan pengidentifikasi aplikasi yang terkait dengannya.

Saat memulai sesi debug melalui Configurator, koneksi server akan dibuat secara otomatis. Dan objek yang terhubung akan tercermin di dalamnya.

Jika program 1C diaktifkan tanpa mekanisme baru, maka Anda harus mengaktifkan debugging secara manual di server 1C. Hanya sekarang Anda perlu menentukan alamat server:

Buka Layanan - Opsi

Itu terletak di pengaturan item:

Kami pergi Koneksi - Pengaturan

Saat menggunakan skrip file dengan beberapa basis data secara bersamaan, Anda perlu mempertimbangkan nuansa penting - masing-masing Konfigurator (dengan mekanisme yang diaktifkan melalui HTTP) mengirimkan Servernya:

Oleh karena itu, jika beberapa Configurator terbuka, maka untuk menghubungkan Klien Anda perlu menentukan yang benar.

Skrip server-klien

Debugging pada server 1C sesuai dengan skenario client-server, seperti pada kasus sebelumnya, dimulai dengan memulai mode. Ini menentukan penggunaan mekanisme HTTP baru. Ini dilakukan dengan cara ini:

ragent.exe -debug -http

Ketika Anda memulainya, debugger secara otomatis dimulai setelahnya.

Nilai parameter ownerPID akan sesuai dengan nomor identifikasi manajer cluster 1C.

Program akan menghasilkan proposal untuk menggunakan server debug cluster sekarang (dan bukan server lokal seperti pada skenario sebelumnya). Kami setuju dan memulai kembali.

Di masa depan, semuanya akan berjalan seperti skrip file. Hanya ketika Anda memulai Server Base Configurator, server debugger lokal tidak akan lagi dimulai.

Kami berharap publikasi kami membantu Anda menemukan masalah tentang cara mengaktifkan debugging di server 1C.