Fungsi untuk bekerja dengan string 1s 8. Fungsi baru untuk bekerja dengan string

Ada beberapa mekanisme untuk bekerja dengan string dalam kueri 1C. Pertama, garis bisa ditambahkan. Kedua, Anda dapat mengambil substring dari sebuah string. Ketiga, string dapat dibandingkan, termasuk berdasarkan pola. Mungkin hanya itu yang bisa dilakukan dengan string.

Penambahan string

Untuk menambahkan baris dalam kueri, operasi “+” digunakan. Anda hanya dapat menambahkan string dengan panjang terbatas.

PILIH "Nama: " + Counterparty. Nama SEBAGAI Kolom 1 DARI Direktori. Counterparty SEBAGAI Counterparty WHERE Counterparty. Link = &Link

Fungsi substring

SUBSTRING(<Строка>, <НачальнаяПозиция>, <Длина>)

Analog fungsi Environment() dari model objek. Fungsi Substring() dapat diterapkan ke data string dan memungkinkan Anda memilih sebuah fragmen <Строки> , dimulai dengan nomor karakter <НачальнаяПозиция> (karakter dalam satu baris diberi nomor mulai dari 1) dan panjangnya <Длина> karakter. Hasil perhitungan fungsi bertipe string dengan panjang variabel, dan panjangnya dianggap tidak terbatas jika <Строка> memiliki panjang dan parameter yang tidak terbatas <Длина> tidak konstan atau lebih besar dari 1024.

Jika panjang string kurang dari yang ditentukan pada parameter kedua, maka fungsi akan mengembalikan string kosong.

Perhatian! Tidak disarankan menggunakan fungsi SUBSTRING() untuk mengonversi string dengan panjang tak terbatas menjadi string dengan panjang terbatas. Sebaliknya, lebih baik menggunakan operator cast EXPRESS().

Fungsi Serupa

Jika kita perlu memastikan bahwa atribut string memenuhi kriteria tertentu, kita membandingkannya:

PILIH Counterparty.Nama SEBAGAI Kolom 1 DARI Direktori.Counterparty SEBAGAI Counterparty WHERE Counterparty.Nama = "Gazprom"

Namun bagaimana jika Anda memerlukan perbandingan yang lebih halus? Bukan sekadar kesetaraan atau ketimpangan, tapi kesamaan pola tertentu? Untuk itulah fungsi SIMILAR diciptakan.

LIKE — Operator untuk memeriksa kesamaan string dengan suatu pola. Analogi LIKE dalam SQL.

Operator SIMILAR memungkinkan Anda membandingkan nilai ekspresi yang ditentukan di sebelah kirinya dengan string pola yang ditentukan di sebelah kanan. Nilai ekspresi harus bertipe string. Jika nilai ekspresi cocok dengan pola, hasil operatornya adalah TRUE, jika tidak, maka FALSE.

Karakter berikut dalam string templat adalah karakter layanan dan memiliki arti berbeda dari karakter string:

  • % (persen): urutan yang berisi sejumlah karakter arbitrer;
  • _ (garis bawah): satu karakter arbitrer;
  • […] (satu atau lebih karakter dalam tanda kurung siku): setiap karakter yang tercantum di dalam tanda kurung siku. Pencacahan dapat berisi rentang, misalnya a-z, yang berarti karakter sembarang yang termasuk dalam rentang tersebut, termasuk ujung rentang;
  • [^...] (dalam tanda kurung siku, tanda negasi diikuti oleh satu atau lebih karakter): setiap karakter selain yang tercantum setelah tanda negasi.

Simbol lainnya berarti dirinya sendiri dan tidak membawa beban tambahan apa pun. Jika salah satu karakter yang tercantum perlu ditulis sendiri, maka harus didahului dengan<Спецсимвол>. Saya sendiri<Спецсимвол>(karakter apa pun yang sesuai) didefinisikan dalam pernyataan yang sama setelah kata kunci KARAKTER KHUSUS.

Diimplementasikan pada versi 8.3.6.1977.

Kami telah memperluas rangkaian fungsi yang dirancang untuk bekerja dengan string. Kami melakukan ini untuk memberi Anda alat yang lebih canggih dalam mengurai data string. Fungsi-fungsi baru ini akan nyaman dan berguna dalam tugas-tugas teknologi analisis teks. Dalam tugas yang berkaitan dengan penguraian teks yang berisi data dalam bentuk yang diformat. Ini bisa berupa analisis beberapa file yang diterima dari peralatan, atau, misalnya, analisis log teknologi.

Anda dapat melakukan semua tindakan yang menjalankan fungsi baru sebelumnya. Menggunakan algoritma yang kurang lebih kompleks yang ditulis dalam bahasa bawaan. Oleh karena itu, fungsi-fungsi baru tidak memberi Anda kemampuan baru yang mendasar. Namun, mereka memungkinkan Anda mengurangi jumlah kode dan membuat kode lebih sederhana dan mudah dipahami. Selain itu, mereka memungkinkan Anda untuk mempercepat pelaksanaan tindakan. Karena fungsi yang diimplementasikan dalam platform tentu saja bekerja lebih cepat dibandingkan algoritma serupa yang ditulis dalam bahasa bawaan.

Fungsi pemformatan StrTemplate()

Fungsi ini menggantikan parameter menjadi string. Kebutuhan akan konversi seperti itu sering kali muncul, misalnya saat menampilkan pesan peringatan. Sintaks untuk fungsi ini adalah sebagai berikut:

Templat Str(<Шаблон>, <Значение1-Значение10>)

<Шаблон>- ini adalah string yang Anda perlukan untuk mengganti representasi parameter.

<Значение1> , ... <Значение10>- ini adalah parameter (maksimum sepuluh), yang representasinya harus diganti ke dalam string.

Untuk menunjukkan tempat tertentu di templat tempat Anda ingin melakukan substitusi, Anda perlu menggunakan penanda seperti %1, ... %10. Jumlah penanda yang terlibat dalam templat dan jumlah parameter yang berisi nilai harus cocok.

Misalnya, hasil dari mengeksekusi operator seperti itu:

akan ada garis:

Kesalahan data pada baris 2 (Jenis tanggal diperlukan)

Fungsi untuk bekerja dengan string StrCompare()

Fungsi ini membandingkan dua string dengan cara yang tidak peka huruf besar-kecil. Misalnya seperti ini:

Anda bisa melakukan tindakan yang sama sebelumnya menggunakan objek Perbandingan Nilai:

Namun penggunaan fitur baru terlihat lebih mudah. Selain itu, fungsinya, tidak seperti objek Perbandingan Nilai, berfungsi baik di klien tipis maupun klien web.

Fungsi untuk bekerja dengan string StrStartsWith(), StrEndsAt()

Fungsi-fungsi ini menentukan apakah suatu string dimulai dengan substring tertentu atau apakah suatu string diakhiri dengan substring tertentu. Algoritme untuk fungsi-fungsi ini tidak sulit untuk diterapkan dalam bahasa yang disematkan, tetapi kehadirannya memungkinkan Anda menulis kode yang lebih bersih dan mudah dipahami. Dan mereka bekerja lebih cepat.

Misalnya, mereka mudah digunakan dalam pernyataan If:

Fungsi untuk bekerja dengan string StrDivide(), StrConnect()

Fungsi-fungsi ini membagi string menjadi beberapa bagian menggunakan pembatas yang ditentukan. Atau sebaliknya, mereka menggabungkan beberapa garis menjadi satu, menyisipkan pemisah yang dipilih di antara keduanya. Mereka berguna untuk membuat atau menganalisis log dan jurnal teknologi. Misalnya, Anda dapat dengan mudah mengurai entri log teknologi menjadi beberapa bagian yang sesuai untuk analisis lebih lanjut:

Fungsi untuk bekerja dengan string StrFind()

Daripada menggunakan fungsi Find() yang lama, kami telah mengimplementasikan fungsi baru yang memiliki kemampuan tambahan:

  • Cari ke berbagai arah (dari awal, dari akhir);
  • Cari dari posisi tertentu;
  • Mencari suatu kejadian dengan nomor tertentu (kedua, ketiga, dst).

Faktanya, ini menduplikasi kemampuan fungsi lama. Hal ini dilakukan untuk menjaga kompatibilitas dengan modul yang dikompilasi di versi lama. Disarankan agar Anda tidak lagi menggunakan fungsi Find() yang lama.

Di bawah ini adalah contoh penggunaan kemampuan pencarian baru. Pencarian terbalik berguna ketika Anda memerlukan bagian terakhir dari string yang diformalkan, seperti nama file lengkap di URL. Dan mencari dari posisi tertentu membantu jika Anda perlu mencari di bagian yang diketahui, dan bukan di seluruh baris.

String adalah salah satu tipe data primitif dalam sistem 1C:Enterprise 8. Variabel dengan tipe garis berisi teks.

Ketik nilai variabel garis diapit tanda kutip ganda. Beberapa variabel jenis ini dapat ditambahkan.

Per1 = "Kata 1" ;
Per2 = "Kata 2" ;
Per3 = Per1 + " " + Per2;

Pada akhirnya Per3 akan berarti " Kata 1 Kata 2″.

Selain itu, sistem 1C:Enterprise 8 menyediakan fungsi untuk bekerja dengan string. Mari kita lihat yang utama:

MasukkanString(<Строка>, <Подсказка>, <Длина>, <Многострочность>) — fungsi ini dirancang untuk menampilkan kotak dialog di mana pengguna dapat menentukan nilai suatu variabel bertipe Garis. Parameter <Строка> diperlukan dan berisi nama variabel di mana string yang dimasukkan akan ditulis. Parameter <Подсказка> opsional - ini adalah judul kotak dialog. Parameter <Длина> opsional, menunjukkan panjang maksimum string input. Defaultnya adalah nol, yang berarti panjangnya tidak terbatas. Parameter <Многострочность> opsional. Menentukan mode masukan teks multibaris: Benar—input teks multibaris dengan pemisah baris; Salah - masukkan string sederhana.

Anda dapat memasukkan string jika Anda mengetahui kode karakter di Unicode:

Simbol(<КодСимвола>) — kode dimasukkan sebagai angka.

Surat= Simbol(1103) ; // SAYA

Ada juga fungsi invers yang memungkinkan Anda mengetahui kode suatu simbol.

Kode Simbol(<Строка>, <НомерСимвола>) — mengembalikan nomor Unicode dari karakter yang ditentukan sebagai angka.

Fungsi konversi huruf teks:

VReg(<Строка>) — Mengonversi semua karakter dalam string menjadi huruf besar.

NReg(<Строка>) — Mengonversi semua karakter dalam string menjadi huruf kecil.

TReg(<Строка>) — mengonversi semua karakter dalam string menjadi huruf besar/kecil. Artinya, huruf pertama di semua kata diubah menjadi huruf besar, dan huruf sisanya diubah menjadi huruf kecil.

Fungsi untuk mencari dan mengganti karakter dalam sebuah string:

Menemukan(<Строка>, <ПодстрокаПоиска>) — menemukan nomor karakter kemunculan substring pencarian. Misalnya:

Temukan ("String" , "oka" ) ; // 4

Temukan Str(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) — menemukan nomor karakter kemunculan substring pencarian, nomor kemunculan ditunjukkan dalam parameter yang sesuai. Dalam hal ini, pencarian dimulai dengan karakter yang nomornya ditentukan dalam parameter Posisi awal. Pencarian dapat dilakukan dari awal atau akhir string. Misalnya:

Kemunculan Nomor 4 = Str Temukan ( "Pertahanan", "tentang", Arah Pencarian. Dari Awal, 1, 4); // 7

Penggantian Str(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) – menemukan semua kemunculan substring pencarian di string sumber dan menggantinya dengan substring pengganti.

StrReplace("String" , "oka" , "" ) ; // Halaman

Baris kosong(<Строка>) – memeriksa string untuk karakter penting. Jika tidak ada karakter penting, atau tidak ada karakter sama sekali, maka nilai akan dikembalikan BENAR. Jika tidak - Berbohong.

StrNumberKejadian(<Строка>, <ПодстрокаПоиска>) – Menghitung jumlah kemunculan substring pencarian di string sumber.

StrNumberKejadian ( "Belajar, belajar dan belajar lagi", "belajar" , "" ) ; // 3

Templat Str(<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — mengganti parameter menjadi string dengan angka. Baris harus berisi penanda substitusi dalam bentuk: “%1..%N”. Penomoran penanda dimulai dari 1. Jika nilai parameter Belum diartikan, string kosong diganti.

Templat Str ( "Parameter 1 = %1, Parameter 2 = %2", "1" , "2" ) ; // Parameter 1= 1, Parameter 2 = 2

Fungsi konversi string:

Singa(<Строка>, <ЧислоСимволов>) – mengembalikan karakter pertama dari sebuah string.

Benar(<Строка>, <ЧислоСимволов>) – mengembalikan karakter terakhir dari sebuah string.

Rabu(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) – mengembalikan string yang panjangnya<ЧислоСимволов>, dimulai dari simbol<НачальныйНомер>.

AbbrL(<Строка>) memangkas karakter tidak penting di sebelah kiri karakter penting pertama dalam string.

Singkatan(<Строка>) — memotong karakter tidak penting di sebelah kanan karakter penting terakhir dalam baris.

AbbrLP(<Строка>) – memotong karakter tidak penting di sebelah kiri karakter penting pertama dalam baris dan di sebelah kanan karakter penting terakhir dalam baris.

StrGetString(<Строка>, <НомерСтроки>) – Mendapatkan string multiline berdasarkan angka.

Fitur lainnya:

Panjang Str(<Строка>) – mengembalikan jumlah karakter dalam string.

StrNumberBaris(<Строка>) – mengembalikan jumlah baris dalam string multiline. Suatu baris dianggap baru jika dipisahkan dari baris sebelumnya dengan karakter baris baru.

StrBandingkan(<Строка1>, <Строка2> ) – membandingkan dua string dengan cara yang tidak membedakan huruf besar dan kecil. Suatu fungsi bekerja mirip dengan objek Perbandingan Nilai. Pengembalian:

  • 1 - jika baris pertama lebih besar dari baris kedua
  • -1 - jika baris kedua lebih besar dari baris pertama
  • 0 - jika senarnya sama

StrCompare("Baris pertama", "Baris kedua" ) ; // 1

Sebagai contoh cara kerja fungsi string 1C, kami ingin membuat analisis teks otomatis. Kami akan mengambil teks dari file. Hasil analisis ditampilkan dalam bentuk apapun kepada pengguna.

Kita perlu membuat pengendali eksternal yang memungkinkan kita memilih file teks dan menjalankan penganalisis.

Analisis teks 1C - formulir dan tombol

Jadi, mari buat pemrosesan eksternal: Konfigurator/File/Baru/Pemrosesan eksternal.

Menambahkan formulir. Pada formulir kita perlu menempatkan bidang pemilihan file teks dan tombol analisis.

Analisis teks 1C - klien tebal

Mari kita tempatkan kolom teks biasa pada formulir. Panjang barisnya tidak terbatas, karena jalur ke file (nama direktori) bisa sangat signifikan.

Agar pengguna tidak perlu memasukkan nama file, tetapi dapat memilihnya, kami akan mengaktifkan tombol pilihan di kolom tersebut.

Kami akan mengubah nama bidang menjadi "Nama File", nama atribut formulir terkait akan berubah secara otomatis.

Sebagai tombol kita akan menggunakan tombol "Jalankan" yang secara otomatis ditambahkan oleh platform (dan sudah ada pengendali yang terhubung - nyaman).

Analisis teks 1C - klien tipis

Di klien tipis, kami akan secara mandiri membuat atribut formulir "Nama File". Mari seret alat peraga ke formulir. Di properti elemen formulir kita juga akan mengaktifkan tombol pilih.

Sebagai tombol, kita akan membuat perintah “Jalankan”, menetapkan pemrosesan padanya dan menyeretnya ke formulir.

Analisis teks 1C - pemrograman

Hal pertama yang perlu kita lakukan adalah memproses klik tombol pilihan - menampilkan dialog pemilihan file saat diklik.

Mari kita buka properti bidang teks kita pada formulir (di klien tebal - dengan tombol kiri mouse langsung di bidang tersebut, di klien tipis - pada nama bidang dalam daftar), dan tentukan pengendali kejadian untuk acara "Awal Seleksi".

Di dalam fungsi handler yang akan dibuat 1C saat ditugaskan, kami akan menulis beberapa kode sederhana:

Sekarang kita memiliki nama file. Kita perlu “mendapatkan” isinya dan melakukan analisis teks.

Kami sudah memiliki pengendali untuk tombol Jalankan. Di klien tebal, tombol dan pengendalinya dibuat secara otomatis oleh konfigurator 1C. Di klien tipis kami menambahkannya secara manual.

Mari tambahkan kode ke handler yang membaca file menjadi string:

Mengenai pengkodean file. Jika Anda membuat objek TextReading() tanpa parameter yang menunjukkan pengkodean, 1C akan mencoba menentukan pengkodean secara mandiri (dengan tanda tangan Byte Order Mark - BOM, atau akan mempertimbangkan pengkodean ANSI-nya).

Anda dapat menentukan langsung pengkodean yang diinginkan, misalnya seperti ini:
File = Teks Baca Baru(Nama File, "UTF-8"); //ganti nama pengkodean yang diinginkan

Jadi, sebagai hasilnya kami mendapat:

  • String teks dibaca dari file dalam variabel "Teks"
  • Sebuah prosedur di mana kita akan menganalisis string yang dihasilkan dari variabel yang disebut "Analisis Teks()", menggunakan fungsi string 1C

Kemampuan dasar bahasa pemrograman biasanya mencakup bekerja dengan angka dan string. Biasanya fitur-fitur ini dikodekan ke dalam kode kompiler (atau kelas “dasar” dari bahasa pemrograman diimplementasikan).

Di 1C, kemampuan untuk bekerja dengan string diprogram di platform itu sendiri. Hari ini kita akan melihat fitur bekerja dengan string 1C dalam program dalam bahasa bawaan 1C.

Nilai garis 1C

1. Mari kita mulai dengan yang paling sederhana. Membuat variabel dan menetapkan nilai string konstan terlihat seperti ini di 1C:

Variabel = "Halo dunia!";

Jika Anda perlu menentukan karakter kutipan dalam nilai string 1C yang konstan, maka Anda perlu menggandakannya “”

Variabel = "Halo dunia"!;

2. Line break 1C dapat ditentukan dengan dua cara sekaligus. Yang pertama menggunakan simbol |

Variabel = "Halo,
| dunia! ";

Yang kedua adalah menggunakan sistem enumerasi Simbol. Ini memungkinkan Anda untuk menambahkan jeda baris 1C dan karakter non-cetak lainnya, seperti TAB.

Variabel = "Halo" + Simbol.PS + "damai!";

3. Konfigurasi dalam 1C dapat dikembangkan tidak hanya untuk satu bahasa (Rusia, Inggris, atau lainnya) - tetapi secara bersamaan untuk beberapa bahasa. Dalam hal ini, bahasa yang digunakan saat ini dipilih di bagian bawah jendela 1C.

Daftar bahasa terletak di jendela konfigurasi di cabang Umum/Bahasa. Setiap bahasa memiliki pengenal singkat seperti ru atau bahasa Inggris.

Jelas bahwa ketika memprogram konfigurasi seperti itu, jalur 1C juga bisa multibahasa. Untuk melakukan ini, Anda dapat membuat garis 1C dengan menentukan melalui; pilihan berdasarkan pengidentifikasi bahasa:

Variabel = "ru=""Halo dunia!"; en=""Halo dunia! """;

Jika menggunakan garis 1C yang dibentuk seperti biasa, maka akan sesuai dengan yang tertulis di dalamnya. Agar sistem dapat membaginya menjadi dua opsi dan menggunakan opsi yang diinginkan, Anda perlu menggunakan fungsi НStr():

//benar untuk konfigurasi bilingual
Laporan(NStr(Variabel));

Alat peraga dengan tipe garis 1C

Atributnya adalah bidang di direktori/dokumen 1C. Ini berbeda dari variabel dalam program dalam bahasa 1C karena tipenya ditunjukkan secara tepat untuk atribut (angka, string 1C, dll.). Jika Anda perlu menyegarkan ingatan Anda tentang apa itu alat peraga, tontonlah pelajaran selanjutnya.

Jika Anda menentukan jenis atribut - baris 1C, maka Anda juga harus menentukan parameternya.

Garis 1C memiliki panjang yang tidak terbatas (ditunjukkan sebagai panjang = 0) dan panjangnya terbatas, yang menunjukkan jumlah karakter yang tepat. Baris 1C dengan panjang tidak terbatas disimpan dalam tabel SQL terpisah, sehingga penggunaannya kurang produktif dibandingkan yang terbatas.

Itulah sebabnya penggunaan string 1C dengan panjang tidak terbatas memiliki keterbatasan - tidak mungkin untuk menggunakannya di mana pun. Misalnya, tidak diperbolehkan sebagai nomor dokumen, kode referensi, atau ukuran.

Bekerja dengan string 1C

Ada beberapa fungsi bawaan platform 1C untuk bekerja dengan string.

  • AbbrLP (“Luar biasa, tapi benar!”)
    Menghapus spasi tambahan dari baris 1C. Dapat juga digunakan untuk mengonversi tipe apa pun menjadi string 1C (misalnya, angka).
  • Variabel = "Vasya" + AbbrLP(" plus") + "Olya"; //akan ada "Vasya plus Olya"
    Contoh menjumlahkan beberapa nilai string 1C. Hasilnya akan menjadi satu baris 1C.
  • Variabel = Lev("Musik", 2); //akan menjadi "Mu"
    Variabel = Sedang("Musik", 2, 2); //akan ada "ancaman"
    Variabel = Hak("Musik", 2); //akan ada "ka"
    Berbagai pilihan untuk mendapatkan substring dari string 1C.
  • Variabel = Temukan("Musik", "zy"); //akan ada 3
    Cari substring di string 1C, mulai dari karakter 1.
  • Variabel = StrLength("Musik"); //akan ada 6
    Mengembalikan jumlah karakter di baris 1C.
  • Laporkan("Halo") //di jendela pesan di bagian bawah jendela 1C
    Peringatan("Halo") //dialog munculan
    Status("Halo") //pada baris tampilan status di kiri bawah
    .

Membawa objek ke garis 1C

Seperti yang Anda ketahui, format pertukaran informasi terstruktur yang paling populer saat ini adalah XML. Bahkan versi terbaru MS Office Word dan Excel menyimpan file dalam format ini (masing-masing docx dan xlsx, ubah ekstensinya menjadi zip, buka di pengarsip).

Platform pertukaran data 1C menyediakan beberapa opsi, yang utama juga XML.

1. Cara paling sederhana adalah dengan menggunakan fungsi Singkatan() atau String(). Anda dapat menggunakan fungsi REPRESENTATION() di isi permintaan. Hasil dari tindakan mereka sama - mereka menghasilkan representasi string dari objek 1C apa pun untuk pengguna.

Untuk direktori secara default, ini akan menjadi namanya. Untuk dokumen – nama dokumen, nomor dan tanggal.

2. Objek 1C apa pun (dengan batasan) dapat dikonversi ke XML dan sebaliknya. Proses konversi disebut serialisasi.

StringViewXml = XMLString(Nilai); //dapatkan XML dari nilai 1C
Value1C = XMLValue(Type("DirectoryLink.Nomenclature"),TypeStringXml); //mendapatkan nilai 1C dari string XML, Anda harus menentukan tipe 1C yang harus diterima

3. Ada cara platform 1C sendiri untuk mengubah objek 1C menjadi string. Itu bermigrasi dari versi 1C 7.7. Format ini tidak dipahami oleh program lain, tetapi 1C lain memahaminya, sehingga mudah digunakan untuk pertukaran antar database 1C.

Baris = ValueInRowInt(Value1C); //dapatkan string 1C dari nilai 1C
ValueVFile("C:\MyFile.txt", Value1C); //pilihan lain, kita mendapatkan file dengan string yang disimpan dari nilai 1C
Nilai1C = NilaiDariStringInt(String); //kembali dari baris 1C
Value1C = ValueFile("C:\MyFile.txt"); //kembali dari file

Mengedit baris 1C pada formulir

Selain bekerja dengan string 1C dalam program berbahasa 1C, tentunya saya ingin pengguna dapat mengeditnya. Ada beberapa kemungkinan untuk hal ini:

1. Cara termudah adalah dengan meminta masuknya jalur 1C sesuai permintaan. Metode ini digunakan ketika mengajarkan pemrograman 1C, dalam kehidupan nyata metode ini lebih jarang digunakan (tetapi digunakan!).

Variabel = "";
Baris = EnterValue(Variabel, "Masukkan Nama Lengkap");

2. Untuk menampilkan detail objek 1C (direktori/dokumen) atau detail formulir (lihat), kolom input paling sering digunakan. Ini adalah alat paling umum di 1C bagi pengguna untuk bekerja dengan bidang pengeditan.

3. Kemampuan kolom input dapat diperluas (lihat properti kolom input, klik kanan padanya, lebih detail):

  • Mode pengeditan multiline kotak centang
  • Kotak centang pengeditan lanjutan (tersedia jika kotak centang sebelumnya dicentang)
  • Kotak centang Mode kata sandi (lihat).

4. Jika semua kemampuan kolom input tidak cukup untuk Anda, ada editor bawaan. Untuk menambahkannya ke formulir, Anda perlu menambahkan Bidang Dokumen Teks ke menu Kontrol Formulir/Sisipkan. Di propertinya Anda dapat menentukan mode operasinya – properti Ekstensi.

Bidang dokumen teks tidak dapat dikaitkan langsung dengan data. Penting untuk menulis fungsi di event handler OnOpen() dalam bentuk (lihat):

Elemen Formulir.ElementNameTextDocumentField.SetText(StringValue); //di sini ValueString adalah teks yang diterima, misalnya, dari atribut

Dan di pengendali simpanan - misalnya, di tombol Simpan - tambahkan simpanan:

ValueString = FormElements.ElementNameTextDocumentField.GetText(); //ValueBaris di sini adalah atribut tempat kita menyimpan nilainya

5. Dalam 1C versi 8.2.11, dalam formulir terkelola, opsi baru untuk mewakili baris 1C telah muncul - bidang Dokumen Terformat.


Mirip dengan bidang dokumen teks, Anda harus mengaturnya saat membukanya dan menuliskannya saat menyimpannya sendiri menggunakan program.

  • Pada objek 1C yang bentuknya kita buat (direktori, dokumen, pemrosesan, dll.) - tambahkan atribut dengan tipe Value Storage
  • Dalam fungsi OnReadOnServer() kita mengatur teks dari atribut

    //di sini Atribut adalah atribut tambahan dari objek 1C
    //di sini FormattedDocument adalah nama field pada formulir untuk diedit
    &Di server

    FormattedDocument = Objek Saat Ini.Atribut.Get();
    Prosedur Akhir

  • Dalam fungsi BeforeWritingOnServer() atau menggunakan tombol, kita akan menulis teks dari kolom

    &Di server
    Prosedur Saat MembacaOnServer(CurrentObject)
    CurrentObject.Props = NewValueStorage(FormattedDocument);
    Prosedur Akhir