Cara menemukan simbol tertentu dalam baris 1C. Fungsi kerja baru dengan baris

Jenis "string" ditemukan dalam semua bahasa pemrograman. Ini primitif, dan dalam 1C ada banyak fungsi untuk bekerja dengannya. Dalam artikel ini kita akan mempertimbangkan secara rinci berbagai metode Bekerja dengan tipe string dalam 1C 8.3 dan 8.2 pada contoh.

Garis

Untuk mengkonversi variabel dari jenis apa pun ke string, ada fungsi "Baris ()" dengan nama yang sama. Parameter input akan menjadi variabel itu sendiri, representasi string yang harus diperoleh.

Baris (salah) // mengembalikan "tidak"
Baris (12345) // mengembalikan "12 345"
Baris (CurrentData ()) // 2.5.07.2017 11:55:36 "

Konversi ke garis dimungkinkan tidak hanya untuk tipe primitif, tetapi sisanya, seperti elemen buku referensi, dokumen.

Sokrlp, Sokrel, Cropp

Sebagai parameter input dari fungsi-fungsi ini, variabel tipe string adalah variabel. Fungsi menghapus karakter yang tidak signifikan (spasi, gerbong dan spasi lainnya): dengan kiri dan sisi kanan, hanya di sisi kiri, dan hanya dengan hak, masing-masing.

Sokrlp ("spasi akan dihapus di kedua sisi") // "spasi di kedua sisi akan dihapus"
Sokrel ("spasi akan dihapus di kedua sisi") // "spasi yang tersisa" akan dihapus "
SOCRP ("spasi di kedua sisi") // "spasi di sebelah kanan akan dihapus"

Singa, hak, media

Fungsi-fungsi ini memungkinkan Anda untuk memotong bagian dari garis. Fungsi "Lion ()" akan mengembalikan bagian dari garis dari sisi kirinya dari panjang yang ditentukan. Fungsi "kanan ()" mirip, tetapi pemangkasan dilakukan di sebelah kanan. Fungsi "Media ()" memungkinkan Anda untuk menentukan nomor karakter dari mana string dan panjangnya akan disorot.

Singa ("variabel string", 4) // mengembalikan "sedotan"
Hak ("variabel pagar", 7) // mengembalikan "eramet"
Media ("variabel string", 2, 5) // mengembalikan "troko"

Strotina

Fungsi menentukan jumlah karakter yang terkandung dalam variabel string.

Streglin ("kata") // hasilnya akan menjadi angka 5

Mencari

Fungsi ini memungkinkan Anda untuk mencari di bagian variabel string apa pun. Sebagai nilai yang dikembalikan, jumlahnya akan menjadi posisi yang menunjukkan posisi awal baris yang ditemukan. Jika tidak ada kebetulan yang terdeteksi, nol dikembalikan.

Harap dicatat bahwa pencarian dilakukan sehubungan dengan register. Jika di baris awal akan ada lebih dari satu entri substring pencarian, fungsi akan mengembalikan awal entri pertama.

Temukan ("Sekali, dua kali, dua, tiga", "dua") // fungsi akan mengembalikan angka 6

Garis kosong

Menggunakan fitur ini memungkinkan Anda untuk menentukan apakah stringnya kosong. Karaktersikan karakter, seperti ruang, transfer carriage dan lainnya tidak diperhitungkan.

"Pupkin Vasily Ivanovich") // fungsi akan mengembalikan nilai false
PastastrocA ("") // fungsi akan mengembalikan nilai kebenaran

Cahaya, nreg, treg

Fungsi-fungsi ini sangat berguna saat membandingkan dan mengkonversi variabel string. "Tertawa ()" akan mengembalikan baris asli dalam huruf besar, "NREG ()" di bawah, dan "treg ()" memformatnya sehingga karakter pertama dari setiap kata individu akan dengan huruf kapital, dan semua berikutnya dengan kecil.

VREGA ("Direktur Umum") // Pengembalian Penting - "Direktur Umum"
NREGA ("Direktur Umum") // Pengembalian Penting - "CEO"
Trega ("Direktur Umum") // Pengembalian Nilai - "Direktur Umum"

Mengangkut

Fitur ini adalah analog penggantian editor teks. Ini memungkinkan Anda untuk mengganti satu karakter atau set karakter ke yang lain dalam variabel string.

Dengan tegas ("merah, putih, kuning", "," ";") // kembali "merah; putih; kuning"

Strostroke

Fungsi ini memungkinkan Anda untuk menentukan jumlah baris, dipisahkan oleh transfer carriage dalam variabel teks.

Siklus, dalam contoh di bawah ini, tiga lingkaran akan berlangsung, karena fungsi stringslock akan kembali ke 3:

Untuk ind \u003d 1 via strokelock ("string1" + karakter. PC + "string2" + karakter. PC + "string3") siklus
<тело цикла>
Endcycle;

Plugulastrik.

Fitur ini berfungsi dengan teks multi-line serta yang sebelumnya. Ini memungkinkan Anda untuk mendapatkan string tertentu dari variabel teks.

Pasang melalui ("string1" + karakter. PC + "String2" + karakter. PS + "String3", 2) // return "string2"

Secara strirling

Fungsi ini menghitung jumlah entri simbol atau substring dalam string yang diinginkan.

StationForms ("A; B; di; g;", ";") // fungsi akan mengembalikan angka 4

Simbol dan CodeImvol.

Fungsi-fungsi ini memungkinkan Anda untuk mendapatkan simbol dalam kode dalam enicode encoding., serta menentukan kode ini pada simbol itu sendiri.

PisauImvol ("A") // fungsi akan mengembalikan angka 1 040
Kodsimvol (1040) // fungsi akan mengembalikan "A"

Tugas yang sering saat bekerja dengan baris

Menggabungkan string.

Untuk menggabungkan beberapa baris (gabungkan) itu sudah cukup untuk menggunakan operator tambahan.

"Baris 1" + "baris 2" // Hasil lipat dua baris akan menjadi "String 1 baris 2"

Ketik konversi

Untuk mengubah jenis menjadi string, misalnya, referensi ke elemen direktori, angka dan sebagainya, cukup untuk menggunakan fungsi "Baris ()". Fungsi yang mirip dengan "coplp ()" juga akan mengubah variabel ke dalam string, tetapi segera dengan memotong karakter yang tidak signifikan.

Baris (1000) // mengembalikan "1.000"

Harap dicatat bahwa ketika mengkonversi angka menjadi string, program secara otomatis menambahkan ruang yang memisahkan seribu. Untuk menghindari ini, Anda dapat menggunakan struktur berikut:

Trust (line (1000), simbol. NPP, "") // Kembalikan "1000"

Baris (format (1000, "cg \u003d")) // kembali "1000"

Kutipan dalam string.

Cukup sering, Anda harus berurusan dengan perlunya menentukan dalam kutipan variabel string. Ini bisa seperti teks kueri yang ditulis dalam konfigurator dan hanya variabel. Untuk mengatasi tugas ini, Anda hanya perlu menginstal dua karakter kutipan.

Judul \u003d Baris (LLC "" Horn and Hooves "" - Ini adalah AS! ") // Pertahankan" ROG dan HORTAL LLC "- Ini adalah AS!"

Multi-line, transfer baris

Untuk membuat teks multi-line, cukup untuk menambahkannya untuk mentransfer string ke sana (simbol. PS).

Multi-lineecext \u003d "line pertama" + simbol. FS + "string kedua"

Cara Menghilangkan Kesenjangan

Untuk menghilangkan celah di sebelah kanan atau di sebelah kiri, Anda dapat menggunakan fungsi "COPLP ()" (serta "sokrel ()" dan "cropp ()"):

RangeBesProelov \u003d CoolP ("Banyak Surat") // Fungsi akan mengembalikan nilai "Banyak huruf"

Jika, setelah mengkonversi nomor dalam string, Anda perlu menghapus ruang yang tidak dapat dipisahkan, gunakan desain berikut:

Stringbebones \u003d trust (string (99999), simbol. NPP, "") // RETAIN "99999"

Juga, programmer sering menikmati desain berikut, yang memungkinkan Anda untuk menghapus, atau mengganti semua spasi variabel teks ke simbol lain:

STRINGBEZF Sabuk \u003d Kekuatan ("PR dan V e T", "", "") // Retain "Hai"

Perbandingan string di antara mereka sendiri

Anda dapat membandingkan tenggat waktu dalam tanda kesetaraan yang biasa. Bila dibandingkan, register diperhitungkan.

"Halo" \u003d "Halo" // akan kembali berbohong
"Halo" \u003d "Halo" // kembalikan kebenaran
"Halo" \u003d "Selamat tinggal" // akan kembali berbohong

Baris dalam 1C 8.3 dalam bahasa 1C built-in adalah nilai tipe primitif Garis. Nilai-nilai tipe ini Mengandung string dalam format unicode panjang sewenang-wenang. Variabel string adalah seperangkat karakter terlampir dalam kutipan.

Contoh 1. Buat variabel string dengan teks.

Row-Free \u003d "Hello World!";

Fungsi bekerja dengan garis dalam 1C 8.3

DI bagian ini Fungsi dasar akan diberikan untuk mengubah baris dalam 1C, atau menganalisis informasi yang terkandung di dalamnya.

Strotina

Strdlin (<Строка>) . Mengembalikan jumlah karakter yang terkandung dalam string yang ditransmisikan dalam parameter.

Contoh 2. Hitung jumlah karakter di string "Hello World!".

Baris \u003d "Halo dunia!"; Martensumless \u003d stondin (string); Laporan (panggilan);

Hasil eksekusi kode ini akan menampilkan jumlah karakter string: 11.

Sokrel.

Sokrel (<Строка>) . Memotong karakter yang tidak signifikan di sebelah kiri yang pertama simbol yang bermakna Di barisan.
Simbol tanpa ikat:

  • ruang;
  • ruang yang tidak dikecualikan;
  • tabulasi;
  • pengangkutan kembali;
  • terjemahan baris;
  • terjemahan formulir (halaman).

Contoh 3. Hapus semua spasi di sisi kiri garis "dunia!" Dan lampirkan ke garis "Halo".

Baris \u003d sokrel ("damai!"); Baris \u003d "halo" + baris; Laporan (string);

Hasil eksekusi kode ini akan menjadi output ke layar "Hai Mir!".

SOCRP

Copp (<Строка>) . Potongan karakter yang tidak signifikan di sebelah kanan simbol makna pertama di baris.

Contoh 4. Untuk terbentuk dari baris "Hai" dan "Damai!" Frasa "Halo World!"

Baris \u003d cropp ("hai") + "" + sokrel ("damai!"); Laporan (string);

Sokrlp.

Sokrlp (<Строка>) . Potongan dari karakter yang tidak signifikan di sebelah kanan simbol makna pertama di baris, juga memotong karakter yang tidak signifikan di sebelah kiri karakter pertama yang bermakna di baris. Fungsi ini digunakan lebih sering daripada dua sebelumnya, karena lebih fleksibel.

Contoh 5. Hapus karakter yang tidak signifikan berdiri di sebelah kiri dan kanan atas nama rekanan.

Counterparty \u003d Referensi. Buat larut. Enti-Moving ("Inn", "0777121211"); Counterparty \u003d Counterparty. Objek saraf (); Counterparty. Nama \u003d Coolp (Counterparty. Nama); Rekanan. Untuk merekrut ();

singa

Singa(<Строка>, <ЧислоСимволов>) . Mendapat karakter string pertama, jumlah karakter diindikasikan dalam parameter Slovesmiths.

Contoh 6. Biarkan dalam struktur Karyawan berisi nama, nama keluarga dan nama tengah karyawan. Dapatkan string dengan nama keluarga dan inisial.

Data awal \u003d singa (karyawan. Maksudku, 1); Initial \u003d singa (karyawan. Delikasi, 1); Memenuhi \u003d Karyawan. Familia + "" + inisial dan ".". " + Initialisasi + ".";

Baik

Hak (<Строка>, <ЧислоСимволов>) . Menerima simbol string terbaru, jumlah karakter ditunjukkan dalam parameter Slovesmiths. Jika jumlah karakter yang ditentukan melebihi panjang garis, maka seluruh string dikembalikan.

Contoh 7. Biarkan tanggal dalam format "GGHHMDD" dicatat pada akhir variabel string, untuk mendapatkan garis dengan tanggal dan mengubahnya menjadi tipe tanggal.

Baris \u003d "Tanggal saat ini: 20170910"; Strfedate \u003d hak (string, 8); Tanggal \u003d Tanggal (Strfewar);

Media

Lingkungan (<Строка>, <НачальныйНомер>, <ЧислоСимволов>) . Mendapat substring dari baris yang ditransmisikan dalam parameter Garisdimulai dengan jumlah karakter yang ditentukan dalam parameter Memulai dan panjang ditransmisikan ke parameter Slovesmiths.Penomoran karakter dalam string dimulai dengan 1. Jika dalam parameter Memulai Nilainya kurang atau sama dengan nol, parameter mengambil nilai 1. Jika parameter Nizalsimvol. Tidak ditentukan, maka simbol dipilih sampai akhir baris.

Contoh 8. Misalkan dalam variabel string, mulai dari posisi kesembilan berisi kode wilayah, Anda harus mendapatkannya dan menuliskannya ke string yang terpisah.

Line \u003d "Wilayah: 99 Moskow"; Wilayah \u003d media (string, 9, 2);

Strnet

Strnet<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) . Mencari substring yang ditentukan dalam string, mengembalikan jumlah posisi karakter pertama yang ditemukan substring yang ditemukan. Pertimbangkan parameter fitur ini:

  • Garis. Jalur sumber;
  • Substream.. Substring yang diinginkan;
  • Arah. Menentukan arah mencari substring di baris. Dapat mengambil nilai:
    • Arah;
    • Arah;
  • Stagnasi. Menentukan posisi dalam string dari mana pencarian dimulai;
  • Umpan balik. Menunjukkan nomor entri substring yang diinginkan di garis sumber.

Contoh 9. Di baris "Halo Dunia!" Tentukan posisi entri terakhir dari simbol "dan".

Drize \u003d strnet ("Hello Mir!", "Dan", arah dari .Sconsion); Laporan (pengumpan);

Hasil eksekusi kode ini akan menjadi output ke nomor layar entri terakhir dari simbol "dan": 9.

Cahaya

Vrega (<Строка>) . Mengonversi semua karakter dari string yang ditentukan dalam 1C 8 ke register atas.

Contoh 10. Ubah garis "Hello Mir!" Ke register atas.

Rangered \u003d lag ("Hello World!"); Laporan (Dayung);

Hasil eksekusi kode ini akan menjadi output ke layar garis "Halo dunia!"

NREG.

Nrega (<Строка>) . Mengubah semua karakter dari string yang ditentukan dalam 1C 8 ke register yang lebih rendah.

Contoh 11. Ubah String "Hello Mir!" untuk mendaftar.

Strochanneg \u003d nreg ("Hello Pee!") Laporan (Dayung);

Hasil eksekusi kode ini akan menjadi output ke layar garis "Halo dunia!"

Treg.

Trega (<Строка>) . Mengubah string sebagai berikut: Simbol pertama dari setiap kata diterjemahkan ke dalam huruf besar, kata-kata yang tersisa dari kata tersebut diterjemahkan ke daftar yang lebih rendah.

Contoh 12. Buat kepala surat-surat pertama dari kata-kata di baris "Halo Dunia!".

Stinkst \u003d Treg ("Hello Peace!"); LAPORAN (STINKATE);

Hasil eksekusi kode ini akan menjadi output ke layar garis "Halo dunia!"

Simbol

Simbol(<КодСимвола>) . Mendapat simbol pada kodenya di Unicod encoding.

Contoh 13. Tambahkan ke kiri dan kanan ke baris "Halo Dunia!" Simbol ★.

String passase \u003d simbol ("9733") + "Hello World!" + Simbol ("9733"); Laporan (string passages);

Hasil eksekusi kode ini akan ditampilkan di layar string "★ Hai Peace! ★"

Kodsimvol.

CodeIMVOL (<Строка>, <НомерСимвола>) . Mendapat kode simbol dalam pengkodean Unicode dari string yang ditentukan dalam parameter pertama yang terletak di posisi yang ditentukan dalam parameter kedua.

Contoh 14. Cari tahu kode simbol terakhir di garis "Hi World!".

Baris \u003d "Halo dunia!"; CodeImvol \u003d CodeImvol (string, stringle (string)); Laporan (CodeImvol);

Hasil eksekusi kode ini akan menjadi output ke kode simbol "!" - 33.

Garis kosong

Garis kosong (<Строка>) . Cek apakah string hanya dari karakter yang tidak signifikan, yaitu, apakah itu kosong.

Contoh 15. Periksa apakah string kosong terdiri dari tiga spasi.

Kosong \u003d Montok (""); Laporkan (kosong);

Hasil eksekusi kode ini akan menjadi output ke layar "Ya" (string ekspresi nilai logis Benar).

Mengangkut

Dengan tegas (<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) . Menemukan di baris asli semua entri dari substring pencarian dan menggantinya pada substitusi substitusi.

Contoh 16. Di baris "Halo Dunia!" Ganti kata "dunia" pada kata "teman."

Baris \u003d ikat pinggang ("Hello Mir!", "Mir", "teman"); Laporan (string);

Hasil eksekusi kode ini akan menjadi output ke layar "Hai teman!"

Strostroke

Strokelost (<Строка>) . Memungkinkan Anda menghitung jumlah baris dalam string multi-line. Untuk pergi ke string baru dalam 1C 8, simbol digunakan. PS. (Simbol Terjemahan String).

Contoh 17. Tentukan jumlah baris dalam teks:
"Garis pertama
String kedua.
Garis ketiga »

Nomor \u003d Keranjang Kuasa ("baris pertama" + simbol. PC + "baris kedua" + karakter. PC + "string ketiga"); Nomor laporan);

Hasil eksekusi kode ini akan menjadi output ke jumlah baris dalam teks: 3

Plugulastrik.

Plotchikstka (<Строка>, <НомерСтроки>) . Mendapat string dalam string multi-line dengan nomornya. Penomoran baris dimulai dengan 1.

Contoh 18. Dapatkan string terakhir dalam teks:
"Garis pertama
String kedua.
Garis ketiga »

Text \u003d "baris pertama" + karakter. PC + "baris kedua" + karakter. FS + "baris ketiga"; Lastastright \u003d plisproktriktka (teks, strokelock (teks)); Laporan (terakhir kali);

Hasil dari eksekusi kode ini akan menjadi output ke layar baris "baris ketiga".

Secara strirling

Strirling (<Строка>, <ПодстрокаПоиска>) . Mengembalikan jumlah entri dari substring yang ditentukan dalam string. Fungsinya sensitif terhadap register.

Contoh 19. Tentukan berapa kali ia memasuki string dalam 1C 8.3 dan 8.2. Huruf "C", terlepas dari daftarnya.

Baris \u003d "baris dalam 1C 8.3 dan 8.2"; Angka \u003d label (lag (string), "C"); Laporan (angka);

Hasil eksekusi kode ini akan menghasilkan jumlah entri: 2.

Dijadwalkan

Rone (<Строка>, <СтрокаПоиска>) . Cek apakah string disahkan pada parameter pertama, dari baris di parameter kedua.

Contoh 20. Tentukan apakah penginapan mitra yang dipilih dimulai dengan angka 1. Biarkan dalam variabel Counterparty. Counterparties..

Inn \u003d Counterparty.inn; Mulai bersama-sama \u003d RRinced (Inn, "1"); Jika dimulai pada saat itu // kode Anda berakhir;

Strazanacivna.

Pengangkutan (<Строка>, <СтрокаПоиска>) . Cek apakah string berakhir pada parameter pertama, pada baris di parameter kedua.

Contoh 21. Tentukan apakah penginapan mitra yang dipilih berakhir dengan gambar 2. Biarkan dalam variabel Counterparty.tautan tersimpan ke elemen direktori Counterparties..

Inn \u003d Counterparty.inn; Valves Terkendadi \u003d Mengisi (Inn, "2"); Jika Anda menyelesaikannya maka // kode Anda berakhir;

Mengikat

Regangan<Строка>, <Разделитель>, <ВключатьПустые>) . Bagian string pada bagian sesuai dengan simbol pemisah yang ditentukan dan mencatat string yang dihasilkan menjadi array. Pada parameter pertama, garis sumber disimpan, di baris kedua yang berisi pemisah, di yang ketiga ditunjukkan apakah akan merekam garis kosong ke array (secara default Benar).

Contoh 22. Biarkan kita memiliki string yang berisi angka yang dipisahkan oleh simbol ";", dapatkan array angka dari string.

Baris \u003d "1; 2; 3"; Array \u003d strap (string, ";"); Untuk SCH \u003d 0 oleh array. Nomor () - 1 Cycle Mencoba Array [SCH] \u003d Nomor (CROLP (Array [SCH])); Pengecualian array [sch] \u003d 0; Endropset endrequency;

Sebagai hasil dari eksekusi, array akan diperoleh dengan angka dari 1 hingga 3.

Stroke

Stroen.<Строки>, <Разделитель>) . Mengubah serangkaian baris dari parameter pertama ke string yang berisi semua elemen array melalui pemisah yang ditentukan dalam parameter kedua.

Contoh 23. Menggunakan array angka dari contoh sebelumnya, untuk mendapatkan string asli.

Untuk SCH \u003d 0 oleh array. Nomor () - 1 siklus array [SCH] \u003d string (array [SCH]); Endcycle; Baris \u003d stroke (array, ";");

Informasi dalam 1C dapat diwakili: direktori, dokumen, daftar ...

Namun, pada akhirnya, semua objek ini terdiri dari bidang, dan bidangnya adalah jenis sederhana - angka, baris, tanggal. Dan informasi dalam bentuk string selalu lebih besar. Karena itu, dengan baris Anda harus bekerja lebih sering.

Sekarang kita akan menganalisis bagaimana dari bahasa 1C Anda dapat bekerja dengan baris. Secara paral coba berbagai opsi untuk analisis teks otomatis.

Jenis string.

Baris dapat dibatasi panjang atau panjang tak terbatas. Jika nilai string diambil dari alat peraga - maka batasan ini ditentukan dalam jenis alat peraga.

Jika string memasuki pengguna pada formulir, maka item menu dapat berdiri "Mode Multi-line" dan "Edited Extended". Yang pertama berarti bahwa string dapat berisi tanda-tanda "Transfer 1C (Enter) String". Yang kedua adalah bahwa string dapat berisi karakter layanan lainnya 1C, seperti tab.

Jika garis diambil dari file, misalnya menggunakan realietextext (), itu menjadi penting dan pengkodean - Saat membaca file, Anda perlu menentukan pengkodean (UTF-8, KOI8, dll.).

Simbol layanan 1C.

Untuk bekerja dengan karakter khusus, daftar karakter 1C digunakan.

Misalnya, nilai string yang terdiri dari dua kata:
Stander teks \u003d "baris pertama" + simbol. PC + "string kedua";

Misalnya, cari transfer baris 1C dalam teks:
Posisi \u003d temukan (dudukan teks, simbol. PS);

Anda dapat bekerja dengan karakter khusus berikut:

  • Cr dan lf.
    Berarti transfer string 1C. Sering ditemukan dalam file teks.
    Kode Simbol di ASCII - 0x0D dan 0x0A, di Unicode - U + 000D dan U + 000A.

    Dalam bahasa 1c terlihat seperti simbol. Cr dan simbol. Jika, atau dalam karakter Rusia. Dan simbol. Untuk mentransfer baris 1C ketika dibuat dalam kode 1C, cukup untuk menggunakan PS.

Karakter 1s lainnya

Baris dalam 1C "Secara fisik" digunakan dalam format Unicode (Unicod, http://ru.wikipedia.org/wiki/%de%E8%ea%E4).

Jika Anda belum menemukan sebelumnya dengan "encoding" karakter, kami perhatikan sebentar:

  • Saat bekerja dengan baris, komputer menggunakan jumlah huruf, dan bukan hurufnya sendiri
  • Sejak abjad "manusia" Rejone (Inggris, Rusia, Yunani, Cina, dll., Dan ada juga layanan dan "non-pencetakan" karakter 1c), maka ada beberapa opsi abjad Komputer.Salah satunya adalah Unicode, yang mencakup karakter 1C dari semua bahasa.
  • Alphabet Unicode terlihat seperti ini:
    o Karakter layanan "tidak mencetak" umum 1C
    o Tanda-tanda preplikasi dan matematika
    o angka
    o alfabet bahasa Inggris.
    o ekstra. Simbol 1C dari alfabet bahasa Inggris, yang digunakan dalam bahasa Eropa (misalnya, dalam bahasa Jerman)
    o alfabet Yunani.
    o alfabet Rusia.
    o ...

Jika perlu, baris 1C dapat digunakan semua karakter 1C yang tersedia di Unicode.

Pertama, Anda dapat memanggil mereka dari keyboard jika Anda memiliki tata letak di Windows (dalam default, Bahasa Inggris dan Rusia biasanya dipasang di Rusia).

Kedua, Anda dapat memanggil dengan penerimaan berikut:

Ketiga, Anda dapat bekerja dari kode program. Simbol fungsi (digit) mengembalikan simbol dengan angka yang ditentukan, dan fungsi kodeimvol (string) mengembalikan angka karakter dari huruf pertama dalam string. Jika Anda memerlukan huruf lain di telepon, maka codemark (string, nomor telepon).

Misalnya, tambahkan simbol ž baris berikutnya:
Text Stand \u003d "Bir yang baik di kota" + simbol (381) + "Drobinek";
// Hasil: "Bir yang baik di kota ždrobinek"

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

Nilai jenis variabel garisterlampir dalam kutipan ganda. Beberapa variabel jenis ini dapat dilipat.

Per1 \u003d "Word 1";
Per2 \u003d "Word 2";
Per3 \u003d Per1 + "" + Per2;

Akhirnya Per3. akan penting Word 1 Word 2 ".

Selain itu, dalam sistem 1C: Enterprise 8 menyediakan fungsi untuk bekerja dengan garis. Pertimbangkan utama:

Masuk (<Строка>, <Подсказка>, <Длина>, <Многострочность>) — fungsi ini dirancang untuk menampilkan kotak dialog di mana pengguna dapat menentukan nilai tipe variabel. Garis. Parameter <Строка> ini wajib dan berisi nama variabel di mana string yang diperkenalkan akan direkam. Parameter <Подсказка> opsional adalah kotak dialog Judul. Parameter <Длина> opsional, menunjukkan panjang maksimum Memasuki garis. Standarnya adalah nol, yang berarti panjang tak terbatas. Parameter <Многострочность> pilihan. Menentukan mode memasuki teks multi-line: kebenaran - masukkan teks multi-line dengan pemisah baris; Berbaring - masukkan garis sederhana.

String dapat dimasukkan dan, mengetahui kode simbol di encoding enicode:

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

Huruf \u003d simbol (1103); // I.

Ada juga fungsi terbalik yang memungkinkan Anda untuk mengetahui kode simbol apa pun.

CodeIMVOL (<Строка>, <НомерСимвола>) — mengembalikan jumlah simbol yang ditentukan dalam pengkodean Unicode dalam bentuk angka.

Fungsi konversi register teks:

Vrega (<Строка>) - Mengubah semua karakter string ke register atas.

Nrega (<Строка>) - Mengubah semua karakter string ke huruf kecil.

Trega (<Строка>) - Mengubah semua simbol string dalam daftar judul. Artinya, huruf pertama dalam semua kata dikonversi ke huruf besar, dan huruf yang tersisa di yang lebih rendah.

Cari dan ganti karakter dalam string:

Mencari(<Строка>, <ПодстрокаПоиска>) - Temukan jumlah karakter pencarian untuk substring pencarian. Sebagai contoh:

Temukan ("string", "oka"); // Empat.

Strnet<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) - Menemukan jumlah karakter Pencarian untuk Substring Pencarian, nomor entri ditunjukkan dalam parameter yang sesuai. Dalam hal ini, pencarian dimulai dengan simbol yang jumlahnya ditentukan dalam parameter Instalasi.Pencarian dimungkinkan dari awal atau dari ujung baris. Sebagai contoh:

Entri Number4 \u003d strnet ( "Kematian", "O", arah. Pertama, 1, 4); //7.

Dengan tegas (<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) - Menemukan di baris asli semua entri dari substring pencarian dan menggantinya pada substitusi penggantian.

Dengan tegas ("string", "oka", ""); // halaman

Garis kosong (<Строка>) - Memeriksa string untuk adanya karakter signifikan. Jika tidak ada karakter yang berarti, atau tidak ada karakter sama sekali, maka nilainya dikembalikan Benar. Jika tidak - Salah.

Strirling (<Строка>, <ПодстрокаПоиска>) - Menghitung jumlah kemunculan dari substritas pencarian di garis sumber.

Strirling ( "Belajar, belajar, dan belajar lagi", "untuk belajar" , "" ) ; // 3.

Strarb (<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — memperbaiki parameter dalam string berdasarkan angka. String harus berisi bentuk penanda substitusi: "% 1 ..% n". Penanda penomoran dimulai dengan 1. Jika nilai parameter Tidak terdefinisi, string kosong disubstitusi.

Strarb ( "Parameter 1 \u003d% 1, parameter 2 \u003d% 2", "1" , "2" ) ; // parameter 1 \u003d 1, parameter 2 \u003d 2

Fungsi konversi baris:

Singa(<Строка>, <ЧислоСимволов>) - Mengembalikan karakter string pertama pertama.

Hak (<Строка>, <ЧислоСимволов>) - Mengembalikan karakter string terbaru.

Lingkungan (<Строка>, <НачальныйНомер>, <ЧислоСимволов>) - mengembalikan string dalam<ЧислоСимволов>Dimulai dengan simbol<НачальныйНомер>.

Sokrel (<Строка>) Potongan dari karakter yang tidak signifikan di sebelah kiri simbol makna pertama di baris.

Copp (<Строка>) - Potong karakter yang tidak signifikan di sebelah kanan simbol signifikan terakhir dalam string.

Sokrlp (<Строка>) - Memotong karakter yang tidak signifikan di sebelah kiri simbol makna pertama di baris dan di sebelah kanan simbol signifikan terakhir di baris.

Plotchikstka (<Строка>, <НомерСтроки>) - Mendapat string dari string multi-line dengan nomor.

Fitur lainnya:

Strdlin (<Строка>) - Mengembalikan jumlah karakter dalam string.

Strokelost (<Строка>) - Mengembalikan jumlah baris dalam string multi-line. String dianggap baru jika dipisahkan dari simbol terjemahan baris sebelumnya.

Stresh (<Строка1>, <Строка2> ) - Membandingkan dua baris tanpa mendaftar. Fungsi bekerja sama dengan objek Perbandingan. Pengembalian:

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

Mogok ("baris pertama", "string kedua"); // satu

Mekanisme untuk bekerja dengan baris dalam permintaan 1C sedikit. Pertama, garis dapat dilipat. Kedua, Anda dapat mengambil substring dari string. Ketiga, garis dapat dibandingkan, termasuk pola. Itu mungkin semua yang bisa Anda lakukan dengan baris.

TUJUAN TUJUAN

Untuk baris lipat, operasi "+" digunakan dalam kueri. Anda hanya dapat menambahkan string panjang terbatas.

Pilih "Nama:" + Counterparties. Promosi sebagai kolom1 dari direktori. Contrgents sebagai counterparties di mana rekanan \u003d & tautan

Fungsi substring.

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

Analog dari fungsi media () dari model objek. Fungsi substring () dapat diterapkan pada data tipe string dan memungkinkan Anda untuk mengalokasikan fragmen <Строки> Dimulai dengan nomor simbol <НачальнаяПозиция> (karakter dalam baris diberi nomor dari 1) dan panjang <Длина> Simbol. Hasil perhitungan fungsi memiliki jenis string dari panjang variabel, dan panjangnya akan dianggap tidak terbatas jika <Строка> memiliki panjang dan parameter yang tidak terbatas <Длина> Ini bukan konstan atau melebihi 1024.

Jika panjang string kurang dari yang ditunjukkan dalam parameter kedua, fungsi akan mengembalikan string kosong.

Perhatian! Menggunakan fungsi substring () untuk membawa string panjang tak terbatas ke string panjang terbatas tidak dianjurkan. Alih-alih, lebih baik menggunakan pengoperasian membawa jenis untuk mengekspresikan ().

Fungsi seperti

Jika Anda perlu memastikan bahwa alat peraga string sesuai dengan kriteria tertentu kami membandingkannya:

Pilih counterparties. Janji sebagai kolom1 dari buku referensi. Persetujuan sebagai rekanan di mana rekanan. Nama \u003d Gazprom

Dan bagaimana jika perlu lebih banyak perbandingan licik? Bukan hanya pada kesetaraan atau ketidaksetaraan, tetapi pada kesamaan templat tertentu? Itu hanya untuk ini, fungsi dibuat seperti.

Suka - operator memeriksa string pada pola seperti. Seperti analog di SQL.

Operator seperti itu memungkinkan Anda untuk membandingkan nilai ekspresi yang ditentukan di sebelah kiri, dengan string templat yang ditentukan di sebelah kanan. Nilai ekspresi harus memiliki tipe string. Jika nilai ekspresi memenuhi templat - hasil operator akan menjadi kebenaran, sebaliknya - bohong.

Karakter-karakter berikut dalam string template adalah layanan dan masuk akal selain simbol string:

  • % (Persentase): Urutan yang berisi sejumlah karakter sewenang-wenang;
  • _ (garis bawah): satu simbol sewenang-wenang;
  • [...] (dalam kurung kuadrat satu atau lebih karakter): setiap karakter dari tanda kurung yang terdaftar di dalam. Daftar dapat terjadi rentang, misalnya A-Z, yang berarti simbol sewenang-wenang termasuk dalam kisaran, termasuk ujung rentang;
  • [^ ...] (dalam kurung kuadrat, ikon penolakan diikuti oleh satu atau lebih karakter): karakter tunggal, kecuali yang tercantum dalam ikon negasi.

Setiap karakter lain berarti dirinya sendiri dan tidak membawa beban tambahan. Jika salah satu karakter yang tercantum harus ditulis sebagai dirinya sendiri, maka ia harus mendahului<Спецсимвол>. Diri<Спецсимвол> (Simbol yang cocok) didefinisikan dalam operator yang sama setelahnya kata kunci. Spesialis.