1c membaca file excel tanpa diinstal. Mana yang lebih baik - 1C atau Excel? Opsi pemrosesan transfer DIY

1c membaca file excel tanpa diinstal.  Mana yang lebih baik - 1C atau Excel?  Opsi pemrosesan transfer DIY
1c membaca file excel tanpa diinstal. Mana yang lebih baik - 1C atau Excel? Opsi pemrosesan transfer DIY
  • Saat bertukar informasi antar rekanan (daftar harga, laporan rekonsiliasi, dll.);
  • Untuk memudahkan pekerjaan operator dalam kasus di mana akuntansi utama dilakukan dalam 1C, dan beberapa di antaranya dilakukan dalam tabel Excel;
  • Saat mengisi database untuk pertama kalinya.

Untuk melakukan operasi ini, Anda dapat menggunakan fungsionalitas standar, tersedia dengan berlangganan dukungan teknologi informasi (ITS), dan pemrosesan tertulis secara independen, yang diterapkan melalui berbagai opsi koneksi. Dalam artikel kami, kami akan mencoba menganalisis selengkap mungkin semua kasus yang mungkin terjadi dan menjawab sebagian besar pertanyaan yang ada mengenai memuat data dari Excel ke 1C.

Mekanisme universal

Pada disk ITS, serta di portal 1C, dengan masuk ke menu “Dukungan Teknologi” -> “Laporan dan Pemrosesan Universal”, pemrosesan terkait terletak di folder “Memuat data dari dokumen spreadsheet”.

Saat Anda meluncurkannya, formulir akan terbuka (Gbr. 1):

Seperti yang Anda lihat dari formulir, ini memungkinkan Anda mentransfer informasi ke objek konfigurasi berikut:

  1. Direktori;
  2. Bagian tabel dokumen atau buku referensi;
  3. Daftar informasi.

Tergantung pada posisi sakelar diatur, bidang pemilihan objek berubah.

Formulir tabel pemrosesan diisi saat file yang diunduh dibuka.

Pemrosesan umum mendukung pengunduhan dari:

  • Dikembangkan oleh spesialis dari 1C, format filemxl;
  • Daftarxls disimpan dalam formatUnggul 97-2003;
  • Berkas tekstxt;
  • Tabeldbf.

File Excel yang berukuran besar bisa memakan waktu yang cukup lama untuk dimuat, jadi jika diasumsikan pemuatan data dapat terjadi dalam beberapa tahap atau Anda tahu pasti bahwa Anda harus membuka file yang ada beberapa kali, untuk menghemat tenaga dan waktu, lebih baik menyimpan informasinya dalam format mxl. Hal ini dapat dilakukan langsung dari formulir pemrosesan.

Penting untuk dipahami bahwa jika berkas sumber Ada pengelompokan baris, subjudul dan catatan, ini perlu dihapus secara manual.

Sekarang mari kita beralih ke tab “Pengaturan” (Gbr. 2):

Gambar.2

Seringkali, tabel Excel berisi header dengan segala macam detail dan data (nama bentuk cetak, rincian rekanan, tanggal dan nomor dokumen masuk, nama kolom, dll.), untuk mengecualikan pemrosesannya oleh program pada formulir, di atribut "Baris pertama dokumen spreadsheet", Anda harus menunjukkan baris pertama dengan informasi yang ditransfer

Setelah memilih objek metadata di mana informasi akan direkam, bagian tabular dari tab "Pengaturan" akan secara otomatis diisi dengan nama detail, deskripsi tipenya, dan lainnya informasi penting. Bagian terpisah harus dikhususkan untuk mempertimbangkan kolom bagian tabel pada tab "Pengaturan".

Kolom "Pengaturan"

Menandai – dengan mencentang atau menghapus centang pada kotak di satu baris, ditentukan apakah atribut terkait akan diisi.

Representasi atribut – di sini sinonim (nama) atribut metadata ditulis, seperti yang ditentukan dalam konfigurator.

Bidang pencarian – jika Anda mencentang bidang ini, pemrosesan akan mencari elemen menggunakan detail yang sesuai dan, jika berhasil, mengubah data yang ada, fungsi tambahan Bidang ini adalah perlindungan terhadap duplikat.

Deskripsi tipe – menampilkan tipe data yang dimiliki atribut metadata tertentu.

Mode boot – menawarkan tiga opsi untuk dipilih (Gbr. 3):

Gambar.3

  • Pencarian – pencarian akan dilakukan untuk elemen terkait; jika elemen tersebut hilang, elemen baru dapat dibuat;
  • Set – nilai tertentu ditetapkan secara bawahan;
  • Hitung – dalam hal ini, hasil penghitungan ekspresi yang ditentukan dalam kolom “Kondisi koneksi/Ekspresi untuk nilai” akan ditetapkan di bidang elemen yang dibuat.

Dalam kasus terakhir, mengaktifkan bidang Ekspresi akan membuka formulir (Gbr. 4).

Gambar.4

Nomor kolom adalah kolom yang digunakan untuk menunjukkan kolom mana pada tabel Excel yang harus diisi data.

Nilai default – sering kali situasi muncul ketika file yang diunduh tidak berisi semua data yang diperlukan untuk merekam suatu elemen; dalam hal ini, informasi yang terdapat dalam bidang ini akan diisi.

Kondisi tautan/Ekspresi untuk suatu nilai – kita telah menyentuh sebagian bidang ini ketika kita melihat bidang terhitung; selain itu, Anda dapat menentukan kondisi yang sesuai dengan data sumber yang akan disinkronkan.

Ini, pada prinsipnya, adalah semua informasi yang tersedia di tab “Pengaturan”.

Agar tidak membuang banyak waktu setiap kali memuat, menulis korespondensi, dan ekspresi, pengembang telah menyediakan kemampuan untuk menyimpan opsi konfigurasi ke file dengan ekstensi mxlz.

Anda dapat memeriksa kebenaran data yang ditransfer dengan mengklik tombol “Kontrol Pengisian” (Gbr. 1). Setelah ini, Anda dapat memulai proses pengunduhan. Anda akan diberitahu secara terpisah tentang keberhasilan penyelesaian prosedur atau situasi yang tidak biasa.

Untuk memuat data dari Excel ke database informasi“Manajemen dan Perdagangan” ada mekanisme lain. Ini kurang universal dibandingkan metode di atas, tetapi tidak memerlukan langganan ITS dan termasuk dalam pengiriman standar.

Pemrosesan ini dapat ditemukan pada tab “Pembelian”, pada menu “Layanan” disebut “Memuat harga pemasok dari file” (Gbr. 5)

Gambar.5

Formulir pemrosesan berisi:

  1. Bidang pilihan tanggal yang menunjukkan jam berapa harga ini berlaku;
  2. Bidang untuk memilih rekanan yang mengirimkan daftar harganya;
  3. Tombol yang memungkinkan Anda memilih jenis harga yang akan ditetapkan;
  4. Bagian tabel yang dapat diisi dengan data yang diunduh.

Bentuk ini dapat dilihat pada Gambar 6

Gambar.6

Penjelasan di bagian atas form menjelaskan cara menggunakan tab pertama form.

Setelah memilih rekanan (tergantung apakah dia pemasok, agen komisi, atau penjual), kolom tambahan untuk setiap jenis harga akan tersedia di tabel.

Saat bekerja melalui antarmuka web, beberapa browser mungkin memerlukan instalasi add-on browser (Gbr. 7). Kita perlu mengklik tombol “Mulai instalasi” dan memulai ulang koneksi kita.

Gambar.7

Setelah ini, dengan menggunakan clipboard, kita dapat mentransfer informasi dari satu tabel ke tabel lainnya. Ketika kolom yang kita perlukan (“Artikel”, “Nama”, “Harga”) sudah terisi, kita klik tombol “Berikutnya” dan menuju ke halaman kedua (Gbr. 8)

Gambar.8

Program ini akan secara otomatis mencari kecocokan dalam database dan, jika tidak ada yang ditemukan, menawarkan opsi untuk menghilangkan kesalahan tersebut. Penampilan Bagian tabel dapat dikontrol menggunakan sakelar. Selain itu, pengguna dapat secara mandiri membandingkan elemen file yang diunduh dengan data yang tersedia di database.

  • Daftarkan semuanya;
  • Daftarkan hanya yang telah berubah dibandingkan dengan yang sudah ada di database.

Di kolom teks Anda dapat memasukkan komentar yang akan ditulis ke dalam dokumen (Gbr. 9):

Gambar.9

Setelah pemrosesan selesai:

  • Elemen terkait akan dibuat di direktori “Nomenklatur Pemasok” (jika tidak ada);
  • Elemen direktori “Nomenklatur” akan dikaitkan dengannya;
  • Dokumen “Penetapan harga barang” akan dibuat dan diposting, menunjukkan: pemasok, jenis harga dan tanggal pencatatan data.

Pemrosesan “Memuat barang dari” bekerja dengan cara yang sama. file eksternal».

Opsi pemrosesan transfer DIY

Masalah utama dalam mengekstraksi data dari file Excel adalah 1C tidak memiliki mekanisme bawaan yang jelas untuk membukanya. Ada beberapa opsi untuk menghubungkan Excel ke 1C:

  • Melalui Microsoft ADODB – cukup cara cepat, yang biasanya berlaku untuk opsi penyimpanan file dan database server-klien;
  • Melalui penggunaan Microsoft Office - metode yang terkadang gagal saat bekerja dengan database SQL, biasanya bekerja lebih lambat daripada metode pertama, dan juga memerlukan instalasi Office;
  • Melalui Libre Office - tidak seperti metode sebelumnya, ini gratis, selain format xls dan xlsx, ini juga mendukung tabelnya sendiri, tetapi memerlukan paket LibreOffice yang diinstal dan beberapa persiapan file yang diunduh (baris pertama tabel harus berisi nama kolom).

Mari kita lihat lebih dekat berbagai cara dan opsi.

Melalui ADODB.Koneksi

Secara umum, ADO adalah singkatan dari ActiveX Data Object dan digunakan untuk akses perangkat lunak ke berbagai database. Yang paling banyak masalah besar saat membuat koneksi apa pun ke berkas pihak ketiga(termasuk Excel) – menyusun string koneksi dengan benar.

Untuk file Excel, ada tiga opsi:

Opsi string koneksi:

  • Penyedia – driver yang digunakan ditentukan di sini;
  • Sumber Data – menentukan nama file yang akan kita buka;
  • Extended Properties – di sini Anda dapat menentukan apakah baris header diperlukan untuk tabel (HDR = YES menunjukkan bahwa data akan dibaca dari baris pertama, HDR = NO - apa dari baris kedua), apakah file dibuka hanya-baca (ReadOnly) dan beberapa parameter tambahan lainnya.

Setelah membuat string koneksi, kita dapat terhubung ke file yang diunduh (Gbr. 13)

Gambar 13

Sekarang kita bisa menggunakan permintaan sederhana(Gbr. 14) mulai mengambil sampel informasi dari file yang diunduh.

Dalam hal ini, parameter "Lembar" menentukan lembar mana dari buku kerja Excel yang akan kita gunakan.

Kumpulan catatan yang disimpan dalam lembar kerja dapat dibaca menggunakan objek Recordset. Dalam hal ini, catatan pertama lembar dapat diperoleh dengan parameter BOF (awal file), dan EOF terakhir (akhir file).

Melalui aplikasi Excel

Perbedaan utama dari cara sebelumnya adalah selain driver database, Excel juga harus diinstal di komputer tempat koneksi dibuat. Hanya dalam kasus ini kita dapat menginisialisasi aplikasi untuk membaca data dari tabel (Gambar 16).

Yang ini punya objek COM Ada beberapa parameter anak, tetapi yang utama bagi kami, mengingat kondisi tugas saat ini, adalah parameter Buku Kerja (Gbr. 17).

Setelah menginisialisasi buku kerja, perlu untuk menentukan lembar dari mana data akan dibaca (Gbr. 18).

Setelah ini, Anda dapat menelusuri baris dan kolom tabel file yang sedang dibuka.

Beberapa kata tentang kemungkinan kesalahan

Bagian terbesar kesalahan saat menghubungkan ke file terjadi karena file tersebut sudah ditempati oleh aplikasi lain. Ada baiknya jika bilah tugas menunjukkan bahwa Excel sedang berjalan di komputer, tetapi jika Anda atau pengguna lain membukanya dari pemrosesan eksternal, ini hanya dapat ditentukan secara visual melalui “Task Manager”, jadi jangan lupa untuk menutup koneksi sebelum menyelesaikan prosedur transfer:

Dalam hal bekerja melalui ADO (Gbr. 19);

Gambar 19

  • Dalam hal bekerja dengan aplikasi (Gbr. 20).

Beras. 20.

Yang terbaik adalah mengatur koneksi dan prosedur untuk menyelesaikan pekerjaan dengan data dalam konstruksi Attempt-Exception-EndAttempt, yang menyebabkan deskripsi kesalahan dalam situasi luar biasa. Meskipun hal ini terkadang memperlambat pekerjaan, hal ini mempermudah untuk menentukan penyebab kesalahan dan, pada akhirnya, cara menghilangkannya.

Metode ini sederhana. Esensinya adalah objeknya Dokumen Tabular memiliki metode:

  • Tuliskan (< ИмяФайла>, < ТипФайлаТаблицы >) untuk mengunggah data ke file;
  • Membaca (< ИмяФайла>, < СпособЧтенияЗначений >) untuk memuat data dari file.

Perhatian!

Metode Write() tersedia di klien dan server. Metode Read() hanya tersedia di sisi server. Perlu mengingat ini
saat merencanakan interaksi klien-server.

Mari kita lihat contoh menyimpan dokumen spreadsheet ke sebuah file. Penting untuk membuat dan mengisi objek TabularDocument dengan cara apa pun, dan bongkar ke file dilakukan hanya dengan satu baris:

TabDok . Tulis(FilePath, TabularDocumentFileType.XLSX);

Di Sini TabDok- terbentuk dokumen spreadsheet, JalurKeFile— nama file yang akan diunggah, FileTypeTabularDocument.XLSX— format file yang dibuat. Format Excel berikut ini didukung:

TabDoc = Dokumen Tabular Baru;
TabDok . Baca(PathToFile, Metode MembacaTabularDocumentValues.Value);

Di Sini JalurKeFile— jalur ke file Excel yang diunduh. Metode Membaca Nilai Dokumen Tabular.Nilai menentukan bagaimana data yang dibaca dari dokumen sumber harus diinterpretasikan. Opsi yang tersedia:

  • Arti;
  • Teks.

Pertukaran melalui OLE

Pertukaran melalui teknologi otomasi OLE mungkin merupakan pilihan paling umum kerja program dengan file Excel. Ini memungkinkan Anda untuk menggunakan semua fungsi yang disediakan oleh Excel, tetapi lebih lambat dibandingkan metode lain. Untuk menukar melalui OLE, diperlukan instalasi MS Excel:

  • Di komputer pengguna akhir, jika pertukaran terjadi di sisi klien;
  • Di komputer server 1C:Enterprise, jika pertukaran terjadi di sisi server.

Contoh bongkar:

// Buat objek COM
Excel = COMObject Baru("Excel.Aplikasi");
// Nonaktifkan peringatan dan pertanyaan
Unggul . Peringatan Tampilan = Salah;
// Buat buku baru
Buku = Unggul. Buku Kerja. Menambahkan();
// Posisikan pada lembar pertama
Lembaran = Buku. Lembar Kerja(1);

// Menulis nilai ke sel
Lembaran . Sel (Nomor Baris, Nomor Kolom). Nilai = Nilai Sel;

// Simpan filenya
Buku . SaveAs (Nama File);


Unggul . Berhenti();
Unggul = 0;

Contoh membaca:

// —— OPSI 1 ——

// Buat objek COM
Excel = COMObject Baru("Excel.Aplikasi");
// Buka buku
Buku = Unggul. Buku kerja. Membuka( JalurKFile);

Lembaran = Buku. Lembar Kerja(1);

// Menutup buku
Buku . Tutup(0);

// Tutup Excel dan kosongkan memori
Unggul . Berhenti();
Unggul = 0;

// —— OPSI 2 ——

// Buka buku
Buku = DapatkanCOMObject( JalurKFile);
// Memposisikan pada lembar yang diinginkan
Lembaran = Buku. Lembar Kerja(1);

// Baca nilai sel, biasanya loop traversal sel terletak di sini
CellValue = Lembar. Sel (Nomor Baris, Nomor Kolom). Nilai;

// Menutup buku
Buku . Aplikasi. Itu T();

Untuk memotong semua baris selesai lembar excel Metode berikut dapat digunakan:

// —— OPSI 1 ——
Jumlah Baris = Lembar. Sel(1 , 1 ). Sel Khusus(11). Baris;
Untuk Nomor Baris = 1 Dengan Jumlah Baris Siklus
CellValue = Lembar. Sel (Nomor Baris, Nomor Kolom). Nilai;
Siklus Akhir;

// —— OPSI 2 ——
Nomor Baris = 0;
Sedangkan Siklus Kebenaran
Nomor Baris = Nomor Baris + 1;
CellValue = Lembar. Sel (Nomor Baris, Nomor Kolom). Nilai;
Jika TIDAK ValueFilled(CellValue) Kemudian
Menggugurkan;
akhirJika;
Siklus Akhir;

Daripada melintasi semua baris lembar secara berurutan, Anda bisa membuang semua data ke dalam array dan bekerja dengannya. Pendekatan ini akan lebih cepat ketika membaca data dalam jumlah besar:

TotalKolom = Lembar. Sel(1 , 1 ). Sel Khusus(11). Kolom;
Baris Total = Daun. Sel(1 , 1 ). Sel Khusus(11). Baris;

Wilayah = Daun. Rentang(Lembar. Sel(1, 1), Lembar. Sel(TotalBaris,TotalKolom));
Data = Wilayah. Nilai. Membongkar();

Tabel di bawah ini memperlihatkan properti dan metode paling populer untuk bekerja dengan Excel melalui OLE:

Tindakan Kode Komentar
Bekerja dengan aplikasi
Mengatur visibilitas jendela aplikasi Unggul . Bisa dilihat= Salah;
Mengatur mode keluaran peringatan (tampilan/bukan tampilan) Unggul . Peringatan Tampilan= Salah;
Menutup aplikasi Unggul . Berhenti();
Bekerja dengan buku
Membuat buku baru Buku = Unggul. Buku Kerja. Menambahkan();
Membuka buku kerja yang ada Buku = Unggul. Buku Kerja. Buka (Nama File);
Menyimpan buku Buku . SaveAs (Nama File);
Menutup buku Buku . Tutup(0);
Bekerja dengan selembar
Mengatur lembar saat ini Lembaran = Buku. Lembar Kerja(SheetNumber);
Menetapkan nama Lembaran . Nama = Nama;
Menyiapkan perlindungan Lembaran . Melindungi();
Menghapus perlindungan Lembaran . Buka Proteksi();
Mengatur orientasi halaman Lembaran . Pengaturan Halaman. Orientasi = 2; 1 - potret, 2 - lanskap
Mengatur batas kiri Lembaran . Pengaturan Halaman. Margin Kiri = Excel. CentimeterToPoints(Centimeters);
Menetapkan batas atas Lembaran . Pengaturan Halaman. Margin Atas = Excel. CentimeterToPoints(Centimeters);
Menetapkan batas yang tepat Lembaran . Pengaturan Halaman. Margin Kanan = Excel. CentimeterToPoints(Centimeters);
Menetapkan batas bawah Lembaran . Pengaturan Halaman. Margin Bawah = Excel. CentimeterToPoints(Centimeters);
Bekerja dengan baris, kolom, sel
Mengatur Lebar Kolom Lembaran . Kolom(Nomor Kolom). Lebar Kolom = Lebar;
Hapus satu baris Lembaran . Baris (Nomor Baris). Menghapus();
Menghapus kolom Lembaran . Kolom(Nomor Kolom). Menghapus();
Hapus sel Lembaran . Sel (Nomor Baris, Nomor Kolom). Menghapus();
Menetapkan nilai Lembaran . Sel (Nomor Baris, Nomor Kolom). Nilai = Nilai;
Menggabungkan sel Lembaran . Rentang (Lembar. Sel (Nomor Baris, Nomor Kolom), Lembar. Sel (Nomor Baris1, Nomor Kolom1)). Menggabungkan();
Mengatur font Lembaran . Sel (Nomor Baris, Nomor Kolom). huruf. Nama = Nama Font;
Mengatur ukuran font Lembaran . Sel (Nomor Baris, Nomor Kolom). huruf. Ukuran = Ukuran Font;
Mengatur font tebal Lembaran . Sel (Nomor Baris, Nomor Kolom). huruf. Berani = 1 ; 1 - tebal, 0 - normal
Pengaturan miring Lembaran . Sel (Nomor Baris, Nomor Kolom). huruf. miring = 1 ; 1 - miring, 0 - normal
Mengatur font yang digarisbawahi Lembaran . Sel (Nomor Baris, Nomor Kolom). huruf. Menggarisbawahi = 2 ; 2 - digarisbawahi, 1 - tidak

Untuk mengetahui properti mana yang perlu diubah atau metode mana yang harus dipanggil, Anda dapat menggunakan makro Unggul. Jika Anda merekam makro dengan tindakan yang diperlukan, Anda kemudian dapat melihat kode VBA dari makro yang direkam.

Menggunakan COMSafeArray

Saat mengunduh data dalam jumlah besar dari 1C ke Excel, Anda bisa menggunakan objek untuk mempercepat COMSafeArray. Menurut definisi dari asisten sintaksis, COMSafeArray adalah pembungkus objek array multidimensi Array Aman dari COM. Memungkinkan Anda membuat dan menggunakan SafeArray untuk bertukar data antar objek COM. Sederhananya, ini adalah serangkaian nilai yang dapat digunakan untuk bertukar antar aplikasi menggunakan teknologi OLE.

// Buat COMSafeArray
ArrayCom = COMSafeArray baru("VT_Variant", TotalColumns, TotalRows);
// Isi COMSafeArray
Untuk Halaman = 0 Oleh TotalLines - 1 Siklus
Untuk Jumlah = 0 Jumlah Kolom - 1 Siklus
ArrayCom . SetValue(Hitungan, Halaman, Nilai);
Siklus Akhir;
Siklus Akhir;
// Penugasan ke area sheet nilai-nilai excel dari COMSafeArray
Lembaran . Rentang(Lembar. Sel(1, 1), Lembar. Sel(TotalBaris,TotalKolom)). Nilai = ArrayCom;

Pertukaran melalui ADO

File Excel, ketika dipertukarkan melalui ADO, adalah database yang dapat diakses menggunakan query SQL. Instalasi MS Excel tidak diperlukan, tetapi Anda harus memiliki driver ODBC yang aksesnya akan diberikan. Driver ODBC yang digunakan ditentukan dengan menentukan string koneksi ke file. Biasanya, driver yang diperlukan sudah terinstal di komputer.

Pertukaran melalui ADO terasa lebih cepat daripada pertukaran melalui OLE, namun saat mengunggah, tidak mungkin menggunakan fungsionalitas Excel untuk mendesain sel, menata halaman, mengatur rumus, dll.

Contoh bongkar:


Koneksi = COMObject Baru("ADODB.Connection");


Menggabungkan . KoneksiString = "

|Sumber Data=" +Nama File+ ";
;
Menggabungkan . Membuka(); // Buka koneksi

// Membuat objek COM untuk perintah tersebut
Perintah = COMObject Baru("ADODB.Command");
Tim

// Menetapkan teks perintah untuk membuat tabel
Tim . Teks Perintah = "BUAT TABEL [Sheet1] (Kolom1 karakter (255), tanggal Kolom2, int Kolom3, Kolom4 float)";
Tim . Menjalankan(); // Jalankan perintah

// Menetapkan teks perintah untuk menambahkan baris tabel
Tim . Teks Perintah = "MASUKKAN KE DALAM nilai [Sheet1] (Kolom1, Kolom2, Kolom3, Kolom4) ('abvwhere', '8/11/2017', '12345', '12345,6789')";
Perintah.Jalankan(); // Jalankan perintah

// Hapus perintah dan tutup koneksi
Perintah = Tidak ditentukan;
Menggabungkan . Menutup();
Koneksi = Tidak ditentukan;

Untuk membuat sheet baru dan membentuk strukturnya, Anda dapat menggunakan objek ADOX.Katalog Dan ADOX.Tabel. Dalam hal ini, kodenya akan terlihat seperti:

// Buat objek COM untuk mengerjakan buku
Buku = COMObject Baru("ADOX.Katalog");
Buku . ActiveConnection = Koneksi;

// Membuat objek COM untuk bekerja dengan struktur data pada sheet
Tabel = COMObject Baru("ADOX.Table");
Meja . Nama = "Lembar1" ;
Meja . Kolom. Tambahkan("Kolom1", 202);
Meja . Kolom. Tambah("Kolom2", 7);
Meja . Kolom. Tambah("Kolom3", 5);
Meja . Kolom. Tambah("Kolom4", 5);

// Membuat sheet dengan struktur yang dijelaskan di buku kerja
Buku . Tabel. Tambahkan(Tabel);
Tabel = Tidak ditentukan;
Buku = Tidak ditentukan;

Dalam contoh di atas, dalam metode

Meja . Kolom. Menambahkan(“Kolom1”, 202);

parameter kedua menentukan tipe kolom. Parameternya opsional, berikut beberapa nilai tipe kolom:

  • 5 - iklanDouble;
  • 6 - mata uang iklan;
  • 7 - tanggal tambahan;
  • 11 - iklanBoolean;
  • 202 - adVarWChar;
  • 203 - adLongVarWChar.

Contoh membaca:

// Buat objek COM untuk koneksi
Koneksi = COMObject Baru("ADODB.Connection");

// Atur string koneksi
Menggabungkan . KoneksiString = "
|Penyedia=Microsoft.ACE.OLEDB.12.0;
|Sumber Data=" +Nama File+ ";
|Properti yang Diperluas=""XML Excel 12.0;HDR=YA"";";
Menggabungkan . Membuka(); // Buka koneksi

// Buat objek COM untuk menerima pilihan
Pilih = COMObject Baru("ADODB.Recordset");
Teks Permintaan = "PILIH * DARI [Lembar1$]";

// Jalankan permintaan
Mencicipi . Buka (Teks Kueri, Koneksi);

// Lewati hasil sampel
Belum ada seleksi. EOF() Lingkaran
Nilai kolom1 = Pilihan. Bidang. Barang("Kolom1"). Nilai ; // Akses berdasarkan nama kolom
Column2Value = Pilihan. Bidang. Barang(0). Nilai; // Akses berdasarkan indeks kolom
Mencicipi . PindahBerikutnya();
Siklus Akhir;

Mencicipi . Menutup();
Sampel = Tidak ditentukan;
Menggabungkan . Menutup();
Koneksi = Tidak ditentukan;

Dalam string koneksi parameternya HDR menentukan bagaimana baris pertama pada lembar akan dilihat. Opsi yang memungkinkan:

  • YA - baris pertama diperlakukan sebagai nama kolom. Nilai dapat diakses berdasarkan nama dan indeks kolom.
  • TIDAK - baris pertama diperlakukan sebagai data. Nilai hanya dapat diakses berdasarkan indeks kolom.

Contoh-contoh ini hanya mencakup beberapa objek ADO. Model objek ADO terdiri dari objek berikut:

  • koneksi;
  • Memerintah;
  • kumpulan rekaman;
  • Catatan;
  • Bidang;
  • Sungai kecil;
  • Kesalahan;
  • parameter;
  • Properti.

Unggah tanpa pemrograman

Untuk menyimpan data dari 1C ke Excel, tidak selalu disarankan untuk menggunakan pemrograman. Jika dalam mode Perusahaan pengguna dapat menampilkan data yang diperlukan untuk diunduh, maka data tersebut dapat disimpan di Excel tanpa pemrograman.

Untuk menyimpan dokumen spreadsheet (misalnya, hasil laporan), Anda dapat memanggil perintah Menyimpan atau Simpan sebagai... menu utama.

Di jendela yang terbuka, Anda perlu memilih direktori, nama dan format file yang disimpan.

Untuk menyimpan data daftar dinamis(misalnya, daftar item) Anda harus:

  1. Keluarkan data ke dokumen spreadsheet menggunakan perintah Selengkapnya ⇒ Daftar...;
  2. Simpan dokumen spreadsheet dalam format yang diperlukan.

Cukup sering, ketika berkomunikasi dengan klien potensial, saya mendengar bahwa fungsionalitas spreadsheet dari office suite sudah cukup bagi mereka, dan mereka tidak mengerti gunanya program 1C. Hal ini karena sebagian orang masih mengasosiasikan solusi ini hanya dengan program untuk akuntan, padahal hal tersebut tidak benar.

Excel adalah produk universal dan diproduksi secara massal, Anda tidak dapat membantahnya. Hampir semua orang dapat menggunakan program ini, tidak seperti pengembangan 1C, yang ditujukan untuk spesialis sempit. Dengan menggunakan tabel "hijau", Anda dapat secara sewenang-wenang mengimplementasikan fungsionalitas yang diperlukan, yang akan memudahkan: berikut adalah model keuangan organisasi dengan semua penyelesaian bersama, akuntansi manajemen, bahkan diatur, banyak pilihan visualisasi data, kemampuan untuk memperluas kemampuan program secara mandiri menggunakan berbagai add-on - semuanya ada di tangan Anda, semuanya dari awal...

Ada baiknya jika Anda baru memulai bisnis Anda, secara bertahap memperhitungkan data yang diperlukan dalam tabel tentang hubungan dengan klien, pemasok, otoritas pengatur, membangun struktur sewenang-wenang Anda sendiri, tetapi apa yang harus dilakukan selanjutnya ketika database menjadi banyak, dan staf jumlahnya puluhan? Masih menghitung berdasarkan parameter Anda sendiri? Saya tidak ingin mengacaukan kenyamanan dengan kebiasaan, yang sering kali mengganggu sistematisasi bisnis, dan akibatnya, optimalisasinya.

Untuk lebih jelasnya, mari kita bayangkan kebutuhan apa yang mungkin timbul untuk otomatisasi akuntansi, misalnya untuk perdagangan:

1. Analisis penjualan dalam periode tertentu.

Kepala departemen penjualan dapat menganalisis data penjualan. Penting baginya untuk memahami apakah rencana tersebut dilaksanakan, seberapa efektif strateginya, sehingga jika terjadi ketidakefektifan, ia dapat melakukan penyesuaian pekerjaan secara tepat waktu.

2. Akuntansi gudang.
Perlukah saya jelaskan bahwa untuk penjualan juga penting untuk memahami ketersediaan stok barang, barang mana yang bisa dipesan dan mana yang habis, serta apa saja yang perlu dipesan? Saya pikir semuanya jelas di sini.

3. Memelihara database rekanan.
Sekalipun pemiliknya hanya menjual apa yang bisa dibeli di sini dan saat ini, yang merupakan ciri khas sektor B2C, maka ia memiliki hubungan yang sedikit berbeda dengan basis pemasok - kontrak, primer... Bayangkan betapa nyamannya ketika segala sesuatunya berhubungan dengan pemasok secara otomatis Apakah langsung ditampilkan dalam satu database? Pengelola gudang segera melihat ketersediaan barang di gudang, pegawai lain yang bertanggung jawab atas dokumen memantau informasi ketersediaannya, apakah semua kewajiban berdasarkan hubungan kontrak terpenuhi, siapa berhutang kepada siapa dan berapa banyak. Dan jika terjadi perbedaan, Anda dapat merekonsiliasi data untuk jangka waktu tertentu, sehingga menghasilkan hasil dalam waktu kurang dari satu menit.

4. Keuntungan organisasi.
Membuat laporan laba tidaklah sulit, karena semua data pengeluaran dan pemasukan sudah ada di database. Asalkan informasi tersebut dimasukkan tepat waktu, setidaknya pada tanggal yang disyaratkan. Faktor mendasar di sini adalah tanggung jawab pribadi pengguna.

Jika Anda tidak memiliki banyak klien dan pemasok, Excel sangat cocok untuk Anda, karena ada banyak waktu untuk mendesain diagram Anda sendiri di tabel dan mengisinya, diikuti dengan mendistribusikan dokumen ke berbagai folder di komputer: kontrak, pemasok, klien, klien di lingkungan sekitar, klien dalam pengembangan, klien yang akan dihapus – proses pembuatan folder di dalam folder yang tiada akhir dan menarik. Dan jika ada banyak informasi, apakah nyaman untuk melacak database Anda? Tentu saja, selalu ada pengecualian; terkadang ada organisasi dengan omset besar yang data keuangannya hanya disimpan di Excel. Berapa lama waktu yang mereka perlukan untuk bertukar dan menggabungkan data antar departemen? Saya akan menjawab: banyak.

Saya tidak dapat membayangkan cara cepat menemukan apa yang Anda perlukan dalam sejumlah besar dokumen Excel yang disusun dalam sistem arbitrer. Misalnya saja saat menyerahkan dokumen persyaratan dari kantor pajak. Bagaimana seorang akuntan akan menyampaikan laporan kepada pihak berwenang ketika informasinya tersebar? Akuntansi, tentu saja, dapat dialihdayakan dan sayangnya, beberapa pemilik bisnis mungkin tidak peduli dengan proses apa yang mungkin dilakukan oleh spesialis tertentu selama dia menyeimbangkan saldo. Namun jika demikian, lalu bagaimana proses pertukaran dokumen tersebut diselenggarakan? Seberapa cepat karyawan eksternal memahami struktur informasi improvisasi?

Saya tidak bisa mengatakan hal yang sama tentang 1C, karena semua informasi di sana terstruktur dan saling berhubungan:

    Basis data tunggal untuk karyawan jarak jauh dan penuh waktu, tempat Anda dapat bekerja dengan semua dokumen standar dan khusus;
    Pelaporan ke otoritas pengatur dihasilkan berdasarkan data yang sudah tercermin dalam program; tidak perlu membuka banyak file, menggabungkan beberapa nilai ke dalam satu tabel untuk mendapatkan hasil akhir.
"1C", dalam arti yang baik, adalah sistem multitasking yang ditujukan untuk tugas-tugas akuntansi umum dan untuk mengotomatisasi semua proses organisasi, tergantung pada bidang kegiatan. Kata utama di sini adalah sistem. Tidak ada yang menghentikan Anda untuk mengatur sistem bisnis Anda di Excel, tapi mengapa harus menemukan kembali roda ketika ada solusi yang mencakup hampir semua kebutuhan untuk mengoptimalkan waktu dan biaya keuangan, membantu mensistematisasikan pekerjaan Anda?

Untuk membela Excel

Anda mungkin merasa bahwa saya menentang pembuatan data dalam tabel “hijau”. Sama sekali tidak. Faktanya, saya sendiri sering melakukan beberapa bisnis di Excel: jika saya memerlukan perhitungan sewenang-wenang, jika saya perlu mengelompokkan data berdasarkan klien, melakukan analisis berdasarkan parameter yang tidak ada di 1C - ya, ini terjadi - saya pergi ke " Unggul." Sederhananya, dalam tabel saya melakukan perhitungan dan analisis non-standar, tetapi kemudian saya tetap mensistematisasikan semuanya dalam 1C.

Kemudian, untuk melihat file yang diunggah dari 1C, Anda masih memerlukan Excel, karena data di 1C disimpan dalam spreadsheet. Apakah Anda merasa ini adalah lingkaran setan? Saya akan mengatakannya secara berbeda: "1C" dan "Excel" berjalan berdampingan seperti dua mitra, tetapi masing-masing memiliki tujuan masing-masing, mereka saling melengkapi dengan baik, tetapi tidak saling menggantikan.

Jika Anda perlu mensistematisasikan urusan Anda dengan mempertimbangkan sistem legislatif negara bagian kita, dengan mempertimbangkan kekhususan dan fokus bisnis, terutama jika menyangkut informasi dalam jumlah besar, maka Anda memerlukan 1C. Jika Anda memerlukan perhitungan sewenang-wenang, membangun strategi dari awal, memvisualisasikan data analitik non-standar, maka Excel siap melayani Anda. Namun jauh lebih nyaman untuk bekerja dengan solusi ini secara bersamaan.


Apa hasil akhirnya – “1C” atau “Excel”?

Pada awalnya, jika pertanyaannya adalah tentang pendanaan untuk otomatisasi program dasar"1C" tidak membutuhkan biaya banyak uang besar, saya akan menggunakan Excel. Nilai tambah yang besar adalah data dari tabel "hijau" dapat dimuat ke dalam 1C tanpa kehilangan. Namun seiring skala Anda, saya menyarankan Anda untuk memperhatikan program untuk mengotomatisasi proses bisnis. Ada banyak, dan belum tentu 1C...

Transisi ke “1C” dapat dilakukan ketika Anda memahami bahwa Anda perlu mengoptimalkan sumber daya Anda, termasuk mengotomatisasi masalah yang berkaitan dengan hubungan dengan klien dan pemasok, dan dengan otoritas pengawas. Secara umum, sesuaikan proses kerja Anda untuk meningkatkan efisiensi bisnis ketika pemrosesan informasi akan memakan waktu jumlah besar waktu, dan file Excel tidak lagi dapat menampung volume data masukan.

Namun, tidak semua “1C” cocok untuk Anda; Anda perlu mempertimbangkan berbagai faktor: spesifikasi dan ruang lingkup bisnis, skala, kebutuhan tugas sehari-hari, rutinitas yang perlu diminimalkan. Semuanya bersifat individual. Kebenarannya, seperti yang sudah saya katakan, ada di antara "1C" dan "Excel" - keduanya saling melengkapi.

Mungkin itu saja. Namun jika Anda memiliki pertanyaan, silakan hubungi kami, kami akan mencoba membantu Anda. Proses bisnis sukses rekan-rekan!

Ada berbagai cara untuk membuka file Excel di 1C dan sebaliknya. Pengguna pemula akan lebih memilih operasi sederhana menyimpan dokumen dalam format atau penggunaan yang berbeda program khusus. Namun ada baiknya meluangkan sedikit usaha dan mempelajari cara bekerja dengannya perangkat lunak untuk melihat dan memproses data dari satu program ke program lainnya. Keterampilan pemrograman dasar ini akan membantu Anda menghindari tugas-tugas rutin di masa depan.

Cara membuka dokumen Excel di 1C dan sebaliknya

Editor spreadsheet Microsoft Excel lebih unggul fungsinya dibandingkan produk perangkat lunak akuntansi 1C. Oleh karena itu, pengguna 1C lebih suka melakukan beberapa operasi di editor spreadsheet, dan kemudian mengembalikan datanya ke program akuntansi. Dan hal ini tidak mengherankan, karena sebelumnya akuntansi di banyak perusahaan dilakukan secara eksklusif dengan menggunakan program Microsoft. Tetapi dengan tingkat otomatisasi proses bisnis perusahaan saat ini, tidak mungkin untuk mengabaikan program khusus. Untuk menjalin interaksi antar aplikasi yang berbeda, ada cara sederhana berikut:

    Ketika Anda harus berurusan dengan file produk perangkat lunak, yang tidak diinstal di komputer Anda saat ini, cara termudah adalah dengan menggunakan aplikasi khusus untuk terjemahan tabel excel ke format 1C dan sebaliknya. Itu dapat ditemukan di situs web produk 1C.

    Jika komputer Anda memiliki 1C dan Excel, Anda dapat membuka file secara manual di aplikasi "asli" dan kemudian menyimpannya dalam format program lain. Opsi ini biasanya tersedia saat menyimpan formulir atau tata letak yang dapat dicetak.

    Pengguna 1C 7.7 dapat meningkatkan ke versi 1C 8, yang memiliki editor tabel yang ditingkatkan.

Bagaimana 1C dan Excel dapat berinteraksi secara terprogram

Interaksi antara 1C dan Excel dapat dilakukan di tingkat program menggunakan teknologi OLE Automation yang dikembangkan oleh Microsoft. Ini memungkinkan Anda untuk mengakses objek COM langsung dari penerjemah skrip program yang berbeda. Sederhananya, OLE memungkinkan Anda untuk mentransfer sebuah karya dari satu program ke program lainnya, dan kemudian mengembalikan karya tersebut ke aplikasi aslinya. Inilah yang dibutuhkan akuntan dari editor spreadsheet Microsoft.

Anda tidak perlu menjadi seorang programmer untuk menggunakan alat OLE. Meskipun pengenalan pertama dengan baris kode akan disertai dengan kesalahan, pemeriksaan akan membantu mengidentifikasinya, dan pengalaman yang diperoleh akan membantu menghindarinya di masa mendatang. Di bawah ini adalah perintah paling populer (disebut daftar) untuk bekerja dengan data Excel dalam program akuntansi dan sebaliknya.

Cara membuka file Excel di 1C secara terprogram

Jadi, jika kedua program terinstal di komputer Anda, di mana Anda ingin bertukar data, maka Anda dapat mengatur interaksi secara terprogram. Untuk melakukan ini, Anda perlu meluncurkan kedua aplikasi, lalu menggunakan OLE untuk membuat akses dari 1C ke Excel:

  • Pengecualian

    Report(ErrorDescription() + "Excel tidak diinstal di komputer ini!");

  • Akhir Percobaan.

Akses ke editor tabel telah diinstal, sekarang menggunakan perintah berikut Anda perlu mendapatkan akses ke:

    dokumen tertentu:

    • Buku = Excel.WorkBooks.Open(FilePath)

    • Lembar = Buku.Lembar Kerja(Nomor Lembar);

  • termasuk dengan nomor lembar tertentu:

    termasuk dengan nama sheet tertentu:

    • Lembar = Buku.Lembar Kerja(NamaLembar);

    • Nilai = Lembar.Sel(Nomor Baris,Nomor Kolom).Nilai;

Untuk membaca data dari halaman pertama file, gunakan daftar berikut:

    Excel = CreateObject("Excel.Aplikasi");

    Buku = Excel.WorkBooks.Open(FilePath);

    Lembar = Buku.Lembar Kerja(1);

    TotalKolom = Lembar.Sel(1,1).SpecialCells(11).Kolom;

    TotalRows = Lembar.Sel(1,1).SpecialCells(11).Row;

    Untuk Baris = 1 Oleh TotalRows Loop

    • Untuk Kolom = 1 Berdasarkan Siklus TotalKolom

      Nilai = Abbr(Sheet.Cells(Baris,Kolom).Nilai);

      Siklus Akhir;

    Siklus Akhir;

Ingat, path ke file harus ditentukan secara lengkap. Saat menyimpan nama dokumen, Anda tidak boleh menyertakan karakter seperti \, /, :, *, ?, ", >,< и |.

Cara membuka file 1C melalui Excel secara terprogram

Untuk merekam data di Excel Anda harus:

    atau buka dokumen yang ada:

    • Buku = Excel.WorkBooks.Open(Path to File) - dengan analogi membaca file Excel dari 1C;

    atau tambahkan yang baru:

    • Buku Kerja = Excel.Buku Kerja.Tambah();

    Anda dapat membuat lembar baru di dokumen baru:

    • Lembar = Buku.Lembar.Tambahkan();

    dan tambahkan nilai baru ke sel:

    • Sheet.Cells(RowNumber, ColumnNumber).Nilai = Nilai; (metode penulisan nilai menggunakan OLE dijelaskan secara rinci di Internet).

  • Buku.SaveAs(FilePath);

    Pengecualian

    Report(ErrorDescription()+"File tidak disimpan!");

    Akhir Percobaan.

Ketika Anda selesai bekerja dengan editor spreadsheet, keluar menggunakan perintah khusus (Excel.Application.Quit();). Cara ini akan membantu menghemat sumber daya komputer selama pekerjaan selanjutnya.

Bahaya saat bertukar data antara 1C dan Excel

1C dan Excel dikembangkan oleh perusahaan yang berbeda dan menggunakan cara berbeda dalam menangani data. Oleh karena itu, saat mentransfer tabel dari satu program ke program lainnya, ingatlah kesalahan berikut:

    Berbagai pemisah dalam bilangan pecahan. Microsoft memisahkan angka desimal menggunakan koma. Oleh karena itu, ketika mentransfer tabel dari program akuntansi, jangan kaget dengan banyaknya tanggal dan kebingungan lainnya. Masuk saja program akuntansi pecahan dapat menggunakan titik, yang akan ditafsirkan oleh Editor Tabel Microsoft sebagai pemisah tanggal, sehingga menyebabkan 15,5 menjadi 15 Mei. Untuk memproses data akuntansi di editor spreadsheet, pemisah harus diganti dengan koma.

    Saat mentransfer data dari Excel ke 1C, konstanta Excel yang tidak ada dalam program akuntansi mungkin tidak ditampilkan dengan benar. Untuk mendekripsinya, Anda perlu pergi ke Bantuan editor tabel atau ke mode debug dan periksa ekspresi numerik dari berbagai konstanta.

Jika Anda perlu menukar data dalam jumlah besar atau tidak dapat menghilangkan kesalahan, hubungi profesional di perusahaan Setby untuk mendapatkan bantuan. Kami akan membantu Anda memecahkan masalah Anda di tingkat program dan memahami perintah yang diperlukan untuk pekerjaan Anda.