Tambahkan baris ke bagian tabel dokumen 1s 8.3. Tombol pintas: bekerja dengan daftar dan pohon

Bagian tabel ada untuk banyak objek di 1C:

  • Direktori
  • Dokumentasi
  • Laporan dan pemrosesan
  • Bagan akun
  • Tipe rencana yang khas
  • Rencana jenis perhitungan
  • Proses dan tugas bisnis

Bagian tabel memungkinkan Anda menyimpan informasi terstruktur dalam jumlah tak terbatas milik satu objek.

Mari kita lihat beberapa teknik untuk bekerja dengan bagian tabel.

Cara melewati bagian tabel

Untuk melintasi bagian tabel, Anda dapat menggunakan loop Untuk setiap

Untuk setiap Baris dari Bagian Tabular dari Siklus

Report(String.Atribut TabularPart) ;

Siklus Akhir;

Pada setiap iterasi ke dalam variabel Garis baris berikutnya dari bagian tabel ditransmisikan. Nilai detail baris dapat diperoleh dengan ekspresi Baris.Nama Atribut.

Cara mendapatkan dan melewati baris yang dipilih pada bagian tabel

Untuk menampilkan informasi dari bagian tabel objek, gunakan elemen formulir Bidang tabel. Untuk mengaktifkan kemampuan memilih beberapa baris dalam bidang tabel, Anda perlu menetapkan nilainya Banyak di propertinya Modus pemilihan.

Untuk mendapatkan daftar baris yang dipilih, gunakan kode berikut:

Sebuah loop digunakan untuk mengulangi garis yang dipilih. Untuk setiap:

SelectedRows = FormElements. Nama Bidang Tabel. Baris Terpilih;

Untuk setiap Baris dari Lingkaran Baris Terpilih

//isi ulang

Siklus Akhir;

Cara memilih baris bagian tabel (bidang tabel) secara terprogram dan membatalkan pilihannya

Untuk membatalkan pilihan baris bidang tabel secara terprogram:

Elemen Bentuk. Nama Bidang Tabel. Baris Terpilih. Jernih() ;

Untuk memilih semua baris bidang tabel secara terprogram:

Untuk setiap CurrentRow Dari TabularPart Loop
Elemen Bentuk. Nama Bidang Tabel. Garis Terpilih. Tambahkan(Baris Saat Ini) ;
Siklus Akhir;

Cara menghapus bagian tabel

Bagian Tabular. Jernih() ;

Cara mendapatkan baris bagian tabel saat ini

Baris saat ini adalah garis waktu di mana kursor pengguna saat ini berada. Untuk mendapatkannya, Anda perlu mengakses elemen kontrol pada formulir yang terkait dengan bagian tabel.

Untuk formulir biasa kodenya akan terlihat seperti ini:

Elemen Bentuk. Nama Bidang Tabel. Data sekarang;

Untuk formulir terkelola:

Elemen. Nama Bidang Tabel. Data sekarang;

Bagaimana cara menambahkan baris baru ke bagian tabel

Menambahkan baris baru ke akhir bagian tabel:

Baris Baru = TablePart. Menambahkan() ;

Menambahkan baris baru di mana saja di bagian tabel (baris berikutnya akan digeser):

Baris Baru = TablePart. Sisipkan (Indeks)
//Indeks - nomor baris yang ditambahkan. Penomoran baris dimulai dari nol.

Garis baru. Props1 = "Nilai" ;

Cara mengisi detail baris tabel secara terprogram

Jika Anda perlu mengisi detail baris bagian tabel yang ditambahkan oleh pengguna secara terprogram, Anda harus menggunakan event handler bagian tabel Saat Memulai Pengeditan.

Prosedur yang dibuat oleh handler memiliki tiga parameter:

  • Elemen- berisi elemen kontrol Bidang Tabular.
  • Garis baru- boolean. Mengandung nilai BENAR, jika baris tabel baru ditambahkan, dan Berbohong, jika pengguna mulai mengedit baris yang sudah ada.
  • Menyalin- boolean. Mengandung nilai BENAR, jika pengguna menyalin baris, dan Berbohong dalam kasus lain.

Mari kita lihat sebuah contoh. Katakanlah kita perlu mengisi rincian bagian tabel AkunAkun, jika ada baris baru yang ditambahkan. Saat mengedit baris yang ada, Anda tidak perlu mengubah akun akuntansi.

Prosedur TabularPartAtStartEditing (Elemen, Baris Baru, Salin)

//Jika pengguna mengedit baris yang ada, maka kita tidak melakukan apa pun
Jika BUKAN Baris Baru Lalu
Kembali;
Berakhir jika ;

//Jika barisnya baru, atur akun akuntansi
TechString = Barang. Data sekarang; //Dapatkan baris bagian tabel saat ini
TechString. Akuntansi = Bagan Akun. Swadaya. Akun yang Diperlukan;
Akhir Prosedur

Untuk memperhitungkan uang dan barang, berbagai tabel banyak digunakan dalam bisnis. Hampir setiap dokumen adalah tabel.

Satu tabel berisi daftar barang yang akan dikirim dari gudang. Tabel lain menunjukkan kewajiban membayar barang-barang tersebut.

Oleh karena itu, dalam 1C, bekerja dengan tabel menempati tempat yang menonjol.

Tabel dalam 1C juga disebut “bagian tabel”. Direktori, dokumen, dan lainnya memilikinya.

Kueri, ketika dijalankan, mengembalikan tabel yang dapat diakses dengan dua cara berbeda.

Yang pertama - lebih cepat - seleksi, mendapatkan baris darinya hanya mungkin dilakukan secara berurutan. Yang kedua adalah mengunggah hasil kueri ke dalam tabel nilai dan kemudian mengaksesnya secara acak.

//Opsi 1 – akses berurutan ke hasil kueri

//ambil mejanya
Pilih = Kueri.Jalankan().Pilih();
// kita menelusuri semua baris hasil kueri secara berurutan
Sementara Select.Next() Loop
Laporan(Pilihan.Nama);
Siklus Akhir;

//Opsi 2 – mengunggah ke tabel nilai
Permintaan = Permintaan Baru("PILIH Nama DARI Direktori.Nomenklatur");
//ambil mejanya
Tabel = Query.Run().Unload().
//selanjutnya kita juga dapat mengulangi semua baris
Untuk setiap Baris dari Siklus Tabel
Laporan(String.Nama);
Siklus Akhir;
//atau mengakses string secara sewenang-wenang
Baris = Tabel.Temukan("Sekop", "Nama");

Fitur penting adalah pada tabel yang diperoleh dari hasil query, semua kolom akan diketik secara ketat. Artinya dengan meminta kolom Nama dari direktori Nomenklatur, Anda akan menerima kolom bertipe String dengan panjang yang diperbolehkan tidak lebih dari N karakter.

Tabel pada formulir (klien tebal)

Pengguna bekerja dengan tabel ketika ditempatkan pada formulir.

Prinsip-prinsip dasar bekerja dengan formulir telah kita diskusikan dalam pelajaran tentang dan dalam pelajaran tentang

Jadi, mari kita letakkan tabelnya di formulir. Untuk melakukan ini, Anda dapat menyeret tabel dari panel Kontrol. Demikian pula, Anda dapat memilih Kontrol Formulir/Sisipkan dari menu.

Data dapat disimpan dalam konfigurasi - maka Anda perlu memilih bagian tabel yang ada (sebelumnya ditambahkan) dari objek konfigurasi yang bentuknya sedang Anda edit.

Klik tombol "..." di properti Data. Untuk melihat daftar bagian tabel, Anda perlu memperluas cabang Object.

Saat Anda memilih bagian tabel, 1C sendiri akan menambahkan kolom ke tabel di formulir. Baris yang dimasukkan oleh pengguna ke dalam tabel tersebut akan disimpan secara otomatis bersama dengan buku referensi/dokumen.

Di properti Data yang sama, Anda dapat memasukkan nama arbitrer dan memilih jenis Tabel Nilai.

Ini berarti tabel nilai arbitrer telah dipilih. Itu tidak akan menambahkan kolom secara otomatis, juga tidak akan disimpan secara otomatis, tetapi Anda dapat melakukan apa pun yang Anda inginkan dengannya.

Dengan mengklik kanan pada tabel Anda dapat menambahkan kolom. Di properti kolom, Anda dapat menentukan namanya (untuk referensi dalam kode 1C), judul kolom pada formulir, koneksi dengan atribut bagian tabel (yang terakhir - jika bukan tabel arbitrer yang dipilih, tetapi a bagian tabel).

Di properti tabel pada formulir, Anda bisa menentukan apakah pengguna bisa menambah/menghapus baris. Formulir yang lebih canggih adalah kotak centang Lihat Saja. Properti ini nyaman digunakan untuk mengatur tabel yang dimaksudkan untuk menampilkan informasi, tetapi tidak untuk mengedit.

Untuk mengelola tabel, Anda perlu menampilkan panel perintah pada formulir. Pilih item menu Formulir/Sisipkan Kontrol/Bilah Perintah.

Di properti bilah perintah, pilih kotak centang IsiOtomatis sehingga tombol pada panel muncul secara otomatis.

Tabel pada formulir (klien tipis/terkelola)

Pada formulir terkelola, tindakan ini terlihat sedikit berbeda. Jika Anda perlu menempatkan bagian tabel pada formulir, perluas cabang Objek dan seret salah satu bagian tabel ke kiri. Itu saja!

Jika Anda perlu menempatkan tabel nilai, tambahkan atribut formulir baru dan di propertinya tentukan jenis – tabel nilai.

Untuk menambahkan kolom, gunakan menu klik kanan pada atribut form ini, pilih Tambahkan kolom atribut.

Kemudian seret juga tabel tersebut ke kiri.

Agar tabel memiliki bilah perintah, pada properti tabel, pilih nilai di bagian Penggunaan – Posisi bilah perintah.

Mengunggah tabel ke Excel

Tabel 1C apa pun yang ada di formulir dapat dicetak atau diunggah ke Excel.

Untuk melakukan ini, klik kanan pada ruang kosong di tabel dan pilih Daftar.

Di klien yang dikelola (thin), tindakan serupa dapat dilakukan menggunakan item menu Semua tindakan/Daftar tampilan.

Nomor baris bagian tabel (dokumen) ditetapkan berdasarkan jumlah maksimum terpilih garis.

Pada saat yang sama, program 1C itu sendiri “menggeser” nomor-nomor baris (yang jumlahnya lebih besar atau sama dengan nomor baris yang baru disisipkan) sehingga tidak ada kebetulan angka-angka pada baris yang berbeda.

Ternyata Anda bisa menyisipkan baris baru ke tengah tabel dokumen jika menggunakan pemilihan baris di bagian tabel. Atau Anda bahkan dapat menyisipkan baris baru ke posisi pertama bagian tabel :) jika pemilihan bagian tabel tidak mengandung baris apa pun.

Bagaimana cara menetapkan nomor ke baris baru berdasarkan jumlah maksimum di antara semua baris di bagian tabel? Ternyata atribut RowNumber bersifat read-only bahkan untuk baris yang baru ditambahkan, jadi tidak mungkin untuk menetapkan nilai apa pun padanya untuk baris baru.

Solusi paling sederhana (dan yang paling merepotkan bagi pengguna) adalah dengan melarang penambahan baris jika pemilihan diterapkan ke bagian tabel 🙂 tetapi bagi pengguna pembatasan ini terlihat agak dibuat-buat (tidak dapat dipahami, "tidak masuk akal").

Solusi yang sedikit lebih rumit adalah dengan memanggil metode Reset() pada kumpulan RowSelection bidang tabel (terkait dengan bagian tabel). Pengguna dapat menambahkan garis, tetapi pemilihannya akan gagal. Hal ini tidak logis dan karenanya tidak dapat dibenarkan.

Saya memecahkan masalah ini (“menetapkan nomor ke baris baru berdasarkan jumlah maksimum di antara semua baris di bagian tabel”) dengan mengatur ulang perangkat lunak dan memulihkan pilihan baris di bagian tabel. Dalam modul formulir (di awal teks modul) saya mendeklarasikan variabel lokal Struktur locSelection1, di akhir modul (di bagian inisialisasi variabel formulir) saya menginisialisasinya:

locSelectionStructure1 = Struktur Baru;

Prosedur KerjaSebelum MemulaiPenambahan (Elemen, Penolakan, Penyalinan)



locSelectionStructure1.Clear();
Untuk setiap Elemen Seleksi 1 Dari Baris Seleksi 1 Siklus
locSelectionStructure1.Insert(SelectionElement1.Nama, SelectionElement1.Gunakan);
Siklus Akhir;

PilihRow1.Reset();

Akhir Prosedur

Prosedur OperasiSaatEditingMulai(Elemen, Baris Baru, Salin)

// ketika pemilihan diterapkan pada bagian tabel, nomor baris ditetapkan berdasarkan jumlah baris maksimum di area yang terlihat!!!
// jadi pertama-tama kita akan mengatur ulang pilihannya dan kemudian mengembalikannya
// localSelectionStructure1 berfungsi sebagai penghubung transmisi antara prosedur WorkBeforeStartingAdding dan WorkWhenEditingStart

Seleksi Baris1 = FormElements.Work.Seleksi Baris;

Untuk setiap Elemen Seleksi 1 Dari Struktur Seleksi 1 Siklus
RowSelection1[SelectionElement1.Key].Penggunaan = SelectionElement1.Value;
Siklus Akhir;
locSelectionStructure1.Clear();

Akhir Prosedur

Seluruh "dapur" ini hanya menarik bagi para programmer yang tidak ingin pengguna mengubah angka dengan tindakan mereka yang ada baris pada bagian tabel dokumen/buku referensi dalam situasi tertentu. Dan ini, pada gilirannya, terjadi ketika nomor baris ditulis dalam suatu register informasi atau di tempat lain (yaitu, nomor baris digunakan sebagai referensi ke baris tertentu dalam dokumen).

Untuk contoh sebelumnya, Anda dapat menambahkan baris kode berikut:

Elemen Formulir.TableField1.AddRow(); halaman = FormElements.TableField1.CurrentRow; p.Pertama = 3; p.Kedua = "Tepung"; p.Jumlah = 350;

Bagaimana cara menentukan jumlah baris dalam tabel nilai dalam 1s 8?

countRows = tabel.Kuantitas(); Report("Jumlah baris pada tabel nilai tabel = "+jumlah baris);

Hasil:

Jumlah baris dalam tabel nilai tabel = 3

Bagaimana cara menghapus baris dalam tabel nilai dalam 1s 8?

barisTabel = tabel; tabel.Hapus(rowTable);

Bagaimana cara menciutkan tabel nilai dalam 1s 8?

Runtuh:

table.Collapse("Kedua", "Jumlah");

Kami mendapatkan setelah konvolusi:

Bagaimana cara mengurutkan tabel nilai dalam 1s 8?

Urutkan berdasarkan kolom kedua dan ketiga:

table.Sort("Kedua, Kuantitas");

Bagaimana cara memposisikan bidang tabel pada garis di 1c 8?

Di baris kedua:

Elemen Formulir.TableField1.CurrentRow = tabel;

Formulir yang dapat dicetak dalam 1s 8

Pertama, kita membuat layout (nama area: pilih baris layout yang diperlukan, di properti, di kolom Nama, masukkan nama area), lalu tampilkan di dokumen spreadsheet:

Prosedur CommandPanel1Print(Tombol) variabel td, rs, rs1, layout, kode, nama, nomen; kode = 0; tata letak = GetLayout("Produk"); header = tata letak.GetArea("Header"); header.Parameters.datta = Tanggal Saat Ini(); pc = tata letak.GetArea("pc"); pc1 = tata letak.GetArea("pc1"); td = Dokumen Tabular Baru; td.Output(tutup); nomen = Direktori.Nomenklatur; seleksi = nom.SelectHierarchically(); while ambil.Berikutnya() kode loop = kode + 1; jika sample.ThisGroup = Benar maka pc1.Parameters.code = kode; pc1.Parameters.name = pilihan.Nama; td.Keluaran(rs1); lain rs.Parameters.code = kode; rs.Parameters.name = pilihan.Nama; td.Penarikan(rs); berakhir jika; akhir siklus; dll.ViewOnly = Benar; td.Show("Direktori ""Tata Nama"""); Akhir Prosedur

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, dimulai dengan 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();
    Akhir Prosedur

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

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