Apa itu pemetaan port? Pisahkan file tampilan. Pengembangan permainan komputer

Gudang data untuk lembaga keuangan

Gudang data di industri perbankan dirancang untuk mengkonsolidasikan data yang berbeda dari sistem yang berbeda dan mengekstrak informasi dari data konsolidasi. Meskipun gudang dapat memecahkan masalah konsolidasi data, gudang tidak dapat menyelesaikan semua masalah informasi secara ajaib. Membentuk dan mengelola proyek gudang data bank memerlukan upaya sadar dari seluruh pemangku kepentingan.

Dalam hal ini, ada baiknya melihat langkah-langkah (yang dapat diambil bahkan sebelum penerapan model data) untuk memastikan terciptanya lingkungan yang ideal bagi keberhasilan penerapan gudang data di bank.

1. Identifikasi pemangku kepentingan sesuai dengan bisnis bank (retail banking, korporasi bisnis, kartu kredit, dll.).

Stakeholder harus memiliki pengetahuan yang relevan. Untuk pemahaman yang lebih baik Gudang data dan kebutuhannya untuk setiap fungsi bisnis individu harus dimasukkan dalam tim proyek baik dari sisi bisnis maupun sisi teknologi bisnis. Pemangku kepentingan harus dilibatkan dalam proyek sejak awal untuk menghindari kebocoran informasi dalam kelompok.

2. Sesi pelatihan untuk memahami kebutuhan penyimpanan data di bank.

Pemangku kepentingan proyek harus memahami bahwa gudang data adalah gudang hanya untuk elemen data yang relevan, dan bukan salinan persis dari sistem sumber. Hal ini membantu tim memutuskan data apa yang layak disimpan.

3. Memahami konsep pemodelan data.

Memahami penggunaan tabel metadata dan tabel historis memberikan keyakinan tim proyek adalah bahwa persyaratan mereka akan diimplementasikan dalam model data.

4. Penemuan kolektif lanskap sistem sumber.

Pastikan bahwa setiap sistem dalam organisasi diberikan pertimbangan dan pertimbangan untuk dimasukkan dalam gudang data.

5. Membangun proyek berdasarkan model inti untuk memahami pendekatan keseluruhan dalam memperluas model data.

Model dasar harus mencakup dimensi utama bisnis dan memberikan wawasan tentang data aktual yang mungkin perlu disimpan.

6. Pemetaan data.

a) Memetakan data dari sumber (sistem sumber dalam organisasi) ke struktur target (model data gudang).

Anda harus menentukan sistem sumber dan hubungan antar sistem untuk setiap dimensi dalam model data.

b) Pemetaan data untuk setiap fungsi dengan anggota tim bisnis dan TI:

Pemetaan ini mungkin diperlukan pada dua tingkat:

Pemetaan langsung dari sistem sumber: Sebagian besar elemen data akan dipetakan langsung ke dalam model data. Di sini Anda perlu menentukan sumber dan nama bidang.

Pemetaan yang diturunkan dari sistem sumber: Beberapa elemen data dalam model mungkin memerlukan aturan bisnis untuk diterapkan pada data sistem sumber untuk mendapatkan informasi yang akurat. Hal ini harus didokumentasikan dengan jelas.

Saat memetakan dari dua atau lebih sumber, hubungan antara sistem sumber ini harus ditentukan.

7. Definisi Agregasi.

Salah satu tujuan pembuatan data warehouse adalah untuk memperoleh informasi analitis dari data historis. Hal ini juga melibatkan pembuatan tren prediktif dari data. Agregasi menentukan lapisan atau dimensi tempat data dianalisis. Sebaiknya agregasi ditentukan berdasarkan informasi (laporan dan dasbor) yang harus diperoleh dari model data.

8. Menghilangkan dan memberi nama elemen data.

Tim proyek harus menerima bahwa sumbernya mungkin tidak selalu menyediakan semua data dalam model standar. Anggota tim harus memutuskan untuk mengecualikan elemen-elemen ini dari model atau membiarkannya tetapi tidak menggunakannya. Cara yang lebih disukai adalah menghilangkan bidang yang tidak relevan. Mereka tidak boleh digunakan hanya ketika mereka diharapkan berguna di masa depan.

9. Deklarasi perbaikan proses lebih lanjut.

Meskipun gudang data itu sendiri bukanlah sebuah proyek perbaikan proses, namun mereka dapat memberikan perbaikan di luar gudang itu sendiri. Kelemahan yang diamati dalam proses atau sistem sumber, harus dicatat dan dihilangkan secara paralel. Namun, perubahan yang dilakukan oleh proses dapat dilakukan kemudian dan tidak akan mempengaruhi proyek gudang data.

10. Penyelarasan versi.

Pemetaan dan model data harus diterima sebagai versi, terikat pada perubahan seiring berkembangnya proyek. Penting untuk menciptakan proses yang bertujuan untuk beradaptasi dengan perubahan ini.

Memiliki terlalu banyak data untuk disimpan dan dianalisis dapat menjadi tantangan bagi setiap organisasi, terutama jika hal ini menyebabkan inkonsistensi dalam metrik. Jika terdapat terlalu banyak data, Anda harus menangani data yang bertentangan dalam laporan, memilih antara indikator yang bertentangan, dan menghapus catatan duplikat. Hal ini memakan terlalu banyak waktu dan sumber daya, terutama di perusahaan terbesar yang telah menerapkan terlalu banyak gudang data atau data mart yang memberikan informasi berbeda tentang proses atau peristiwa bisnis yang sama.

Baik lembaga perbankan maupun perusahaan harus mengatasi masalah ini sektor riil ekonomi. Dengan mengacu pada pengalaman mereka, Anda dapat memperoleh beberapa rekomendasi universal.

Kurangi beberapa penyimpanan data menjadi satu contoh

Boeing menjalani proses ini, dimulai dengan 12 gudang data dan 50 sistem manajemen biaya, beberapa di antaranya memiliki puluhan ribu aturan bisnis. “Masalahnya adalah departemen TI kami memberikan apa yang dibutuhkan pengguna, namun mereka tidak berkomunikasi satu sama lain,” kata Bill Curley, eksekutif keuangan Boeing. Kurangnya integrasi inilah yang menjadi penyebab inkonsistensi pelaporan.

Boeing membutuhkan waktu beberapa tahun untuk mengkonsolidasikan seluruh laporan keuangannya menjadi satu kesatuan. Anggota tim proyek yang mengerjakan tugas ini menggunakan pendekatan top-down - mereka bertanya kepada "pemilik data" informasi apa yang mereka butuhkan untuk melakukan pekerjaan itu, dan menerapkan kamus data standar dengan elemen minimum yang diperlukan. Selain itu, mereka memisahkan data akuntansi operasional dan aktual yang diperlukan untuk pelaporan. “Kami tidak perlu lagi melaksanakannya informasi operasional melalui sistem akuntansi kami,” kata Bill Curley.

Pindah ke Arsitektur Data Terpadu untuk Meningkatkan Kualitas Data

Ada beberapa tugas yang harus diselesaikan beberapa tahun terakhir Nike berhasil. Untuk melakukan hal ini, arsitek data perusahaan James Lee menghilangkan data duplikat, mengisi kolom yang hilang dalam tabel, dan menangani serangkaian laporan yang membutuhkan waktu terlalu lama untuk dibuat. “Dalam perjalanan menuju satu versi kebenaran, kami ingin mencapai fleksibilitas yang signifikan sehingga unit bisnis dapat menghasilkan laporan mereka tanpa partisipasi departemen TI. Salah satu tujuannya adalah agar pengguna bisa mandiri dalam bekerja dengan data,” kenangnya. Salah satu tabel Nike yang paling umum digunakan berisi lebih dari seratus kolom. Ini sangat tidak efisien dalam hal I/O dan penggunaan kekuatan komputasi. Nike telah menyederhanakan tabel ultra lebar ini dan mengurangi model datanya menjadi lebih sedikit elemen. Proses ini juga meningkatkan kualitas data dengan membuat pengguna bertanggung jawab atas elemen data yang hilang namun diperlukan dan menjadi lebih proaktif dalam melacaknya.

Publikasi

  1. Aarti Nyadish. “Proyek Pergudangan Data Perbankan yang Ideal: 10 langkah untuk menetapkan langkah yang tepat,” 15 Januari 2013.
  2. David Strom. “Mengatasi Terlalu Banyak Data: Bagaimana Boeing, Nike, dan Lainnya Melakukannya,” 23 Oktober 2012.

Pengambilan keputusan yang cepat dan berkualitas tinggi oleh manajemen perusahaan bergantung pada sistem akuntansi manajemen yang dibangun dengan baik di perusahaan. akuntansi manajemen di sini sesuai dengan praktik yang diterima secara umum istilah ini berarti penggunaan prinsip akuntansi dan manajemen keuangan untuk memecahkan masalah di bidang kegiatan perusahaan berikut ini:

  • pengembangan dan implementasi strategi bisnis;
  • pelaksanaan perencanaan dan pengendalian;
  • penggunaan yang efisien sumber daya;
  • meningkatkan efisiensi operasional;
  • pelestarian aset berwujud dan tidak berwujud;
  • manajemen proses bisnis korporat dan intra-perusahaan

Akses ke informasi akuntansi bagaimanapun, dilakukan dengan menggunakan berbagai jenis laporan.

Sejak pengumpulan dan penyimpanan data tentang aktivitas ekonomi suatu perusahaan adalah proses yang memakan waktu dan mahal, maka penggunaan informasi ini secara efektif menjadi tugas yang penting dan keunggulan kompetitif. Volume informasi yang dikumpulkan ditentukan oleh manajemen perusahaan sebagai solusi kompromi antara persyaratan negara dan otoritas pengatur untuk keterbukaan informasi dan jumlah maksimum informasi (keuangan, teknologi, statistik) yang timbul dalam proses kegiatan bisnis perusahaan. .

Cara paling efektif untuk menggunakan informasi yang dihasilkan dalam proses aktivitas adalah dengan membuat gudang data (datewarehouse), yang atas dasar itu, dengan menggunakan teknologi OLAP, setiap manajer perusahaan dapat menghasilkan laporan untuk menganalisis data dalam konteks analitis yang dia butuhkan. dan memberikan dirinya informasi untuk pengambilan keputusan.

Namun, saat ini, opsi yang paling umum adalah pembuatan sistem informasi di mana data dikumpulkan dan, sebagai aturan, terdapat pembuat laporan khusus yang melengkapi laporan standar yang disediakan oleh pengembang sistem.

Biasanya pengembang perangkat lunak menawarkan kepada pengguna bentuk pelaporan eksternal (untuk otoritas pengatur) yang diperbarui secara berkala (akuntansi dan pajak) dan mengiklankan kemungkinan untuk membuat segala jenis laporan manajemen yang diperlukan oleh perusahaan. Namun, laporan yang dihasilkan belum tentu tersusun dengan baik.
Perusahaan dibiarkan sendirian dengan masalah pembuatan (pengisian) laporan dengan benar.

Kebutuhan perusahaan untuk menghasilkan pelaporan sesuai dengan Standar Internasional hanya dapat memperburuk situasi.

Poin kunci dalam pelaporan dalam semua kasus adalah kebutuhan untuk menciptakan hubungan antara data akuntansi sistem Informasi ah dan bidang terkait di formulir pelaporan.

Mungkin pilihan berikut organisasi interkoneksi:

  • Berupa tabel yang menggambarkan hubungan atau korespondensi antara field laporan dengan data pada sistem (diikuti dengan penulisan algoritma pembuatan laporan otomatis).
  • Dengan pengambilan sampel secara manual informasi yang diperlukan(Dengan ketidakhadiran total kemampuan untuk mengotomatisasi laporan).
  • Opsi campuran, yang memerlukan adanya tabel interelasi dan decoding manual serta penyesuaian saat membuat laporan.

Pilihan pertama untuk mengatur hubungan sistem informasi akuntansi dengan formulir pelaporan (melalui tabel yang menggambarkan hubungan) disebut “ pemetaan".

Pemetaan (dalam arti luas) adalah transformasi data dari satu bentuk ke bentuk lainnya. Untuk akuntansi pemetaan adalah penyusunan tabel korespondensi antar akun akuntansi dari berbagai bagan akun, misalnya rencana Rusia akun dan bagan akun GAAP (IFRS) (atau bagan akun akuntansi manajemen).

Contoh 1. Versi campuran dari organisasi komunikasi.

Sebagian besar perusahaan menyiapkan laporan, misalnya berdasarkan IFRS, melalui transformasi. Metode ini didasarkan pada pendekatan yang sesuai dengan informasi yang dihasilkan standar Rusia, dianalisis dan disesuaikan agar sesuai dengan IFRS.

Pelaporan ditransformasikan setidaknya dalam empat tahap menggunakan tabel pemetaan dan penyesuaian manual.

tahap pertama. Transformasi struktural neraca dan laporan laba rugi. Hasilnya adalah pengelompokan ulang dan agregasi masing-masing item dalam laporan keuangan untuk mempersiapkan database untuk jurnal penyesuaian selanjutnya. Pada saat yang sama, tabel pemetaan berisi indikator pelaporan keuangan berdasarkan RAS dan refleksinya dalam pelaporan interim berdasarkan IFRS.

tahap ke-2. Melakukan entri penyesuaian yang bertujuan untuk menghilangkan perbedaan kualitatif antara pelaporan Rusia dan pelaporan berdasarkan IFRS. Dilakukan secara manual oleh spesialis transformasi.

tahap ke-3. Penyusunan pelaporan menurut IFRS berdasarkan transformasi neraca, laporan laba rugi dan bentuk lainnya. Tabel pemetaan mencakup angka pelaporan sementara berdasarkan IFRS dan deskripsi penyesuaian yang dilakukan oleh spesialis transformasi.

tahap ke-4. Penyusunan bagian deskriptif laporan.

Tabel 1. Ilustrasi keterkaitan bagan akun Rusia dengan bagan akun GAAP (ekstrak)

Bagian Penanaman Modal (Kena Pajak)

Investasi. Keberangkatan (Dapat Dikurangkan)

Departemen Evaluasi

departemen penilaian (dapat dikurangkan)

Departemen Penelitian (kena pajak)

Departemen Penelitian. (dapat dikurangkan)

PPN atas PPN penjualan

PPN - layanan

Kontra PPN jasa

Pendapatan total

Penjualan/pendapatan kotor

Biaya penjualan

Investasi. Keberangkatan (Dapat Dikurangkan)

Pajak lainnya yang masih harus dibayar (TsP)

pemungutan pajak lainnya

Margin perdagangan (diskon, cape)

Margin perdagangan (diskon, tambahan)

Diskon pemasok untuk penggantian biaya transportasi

Diskon pemasok atas ganti rugi biaya transportasi

Penjualan dan pelepasan aset tetap

Pelepasan aset tetap

Penjualan aset lainnya

Pelepasan aset lainnya

Produksi utama

Produksi dasar

Produksi tambahan

Produksi tambahan

Biaya produksi umum

Pengeluaran produksi umum

Departemen Pemasaran (kena pajak)

Bagian Pasar (Dapat Dikurangkan)

Bagian Pemasaran (tidak kena pajak)

Keberangkatan Pasar (tidak Dapat Dikurangi)

Penjualan – aktivitas utama

Penjualan/pendapatan – aktivitas utama

Biaya penjualan

Laba kotor

Penjualan bersih

Umum, komersial dan biaya administrasi

Penjualan beban umum dan administrasi

Tabel pemetaan juga digunakan dalam pembuatan pelaporan manajemen perusahaan (biasanya di perusahaan induk dan perusahaan dengan cabang).

Dasar penyusunan pemetaan adalah pengelompokan data akuntansi dengan cara tertentu (sesuai standar perusahaan).

Sederhananya, saat membuat jalur pelaporan perusahaan, kami menunjukkan dengan tepat perputaran (atau saldo akun (sub-akun)) mana dan dalam urutan apa yang harus digunakan. sistem otomatis akuntansi untuk membentuk garis ini.

Pemetaan adalah aturan yang telah Anda tetapkan, yang dengannya laporan yang Anda perlukan akan dihasilkan. Prinsip teknis pembuatan garis pemetaan sama untuk semua formulir pelaporan, yang membedakan hanyalah isinya.

Dalam hal ini, perlu dicatat bahwa pemetaan harus dilakukan oleh spesialis yang berkualifikasi dan, yang penting, dengan cara metodologis yang terpadu. Prosedur pemetaan memerlukan waktu yang cukup lama.

Dasar akuntansi manajemen (dan juga akuntansi) adalah: bagan akun, item anggaran dan berbagai buku referensi analitis.

Namun, bagan akun manajemen berbeda secara signifikan dari bagan akun standar, yang digunakan untuk akuntansi oleh akuntansi, karena beberapa akun dalam bagan akun manajemen (selanjutnya disebut MCA) mungkin memiliki analisis yang lebih rinci, dan bagian lainnya mungkin memiliki analisis yang lebih komprehensif (semuanya tergantung pada perusahaan tertentu). Struktur buku referensi analitis juga berbeda, karena laporan manajemen memerlukan penyajian informasi akuntansi dalam konteks yang sama sekali berbeda dengan laporan akuntansi.

Tentu saja, dalam praktiknya, menghubungkan indikator ( pemetaan) akuntansi manajemen, perpajakan dan akuntansi (keuangan) banyak menimbulkan permasalahan.
Mari kita lihat beberapa di antaranya.

1. Kurangnya analisis dalam bagan kerja akun (selanjutnya disebut WCA) perusahaan.

Hal ini dapat dimaklumi, karena perusahaan yang didirikan dalam satu hari tidak selalu memiliki strategi jangka panjang, dan kepentingan pemegang saham tidak selalu dihormati. Saat ini, budaya bisnis telah berubah. Para pemegang saham, termasuk negara, semakin menunjukkan minat terhadap seberapa kompeten dan terampil para manajer di semua tingkatan dalam mengelola perusahaan.
Solusi untuk masalah ini adalah dengan memperluas dan melengkapi sistem kasir perusahaan yang sudah ada dan secara bertahap mengumpulkan informasi tentang akun-akun yang baru diperkenalkan (sub-akun).

Memahami pendekatan utama dalam membangun Bagan Akun, serta tiga komponen (keuangan, perpajakan, manajemen) dari sistem akuntansi terpadu dalam suatu perusahaan, menentukan kebutuhan untuk menyoroti tiga komponen dasar dalam pendekatan sistematis terhadap sistem akuntansi keuangan. dari suatu organisasi komersial, yaitu:

  1. keuangan (akuntansi);
  2. pajak;
  3. manajerial.

Kemungkinan interpretasi komponen keuangan, perpajakan dan manajemen dari pendekatan sistematis terhadap RPS disajikan di bawah ini.

Komponen keuangan (akuntansi). Penggunaan RPS harus memastikan kemungkinan menghasilkan semua (tanpa kecuali) indikator akuntansi dan analitis yang dihasilkan dari pelaporan keuangan eksternal dan catatan penjelasan dalam konteks akun Buku Besar pada tanggal pelaporan. Blok akun akuntansi RPS yang terlibat dalam pembentukan laporan akuntansi eksternal adalah akun keuangan. Pada gilirannya, akun keuangan dibagi menjadi analitis dan sintetik. Sub-akun akuntansi keuangan RPS adalah perantara antara analitis dan sintetik. Selain itu, akun analitik dan sintetis keuangan, serta sub-akun, dapat mewakili bagian integral dari komponen manajemen RPS. Jadi, misalnya, data tercermin dalam sub-akun terpisah dari akun keuangan 90 “Penjualan” yang dimilikinya penting untuk membuat keputusan manajemen.

Dalam membentuk kelompok rekening keuangan RPS harus dipenuhi persyaratan sebagai berikut:

  1. antara pos-pos laporan akuntansi eksternal dan saldo dalam rekening keuangan, harus dibuat korespondensi yang tidak memerlukan tambahan operasi logis menentukan jenis kiriman pelaporan;
  2. kumpulan akun keuangan RPS seminimal mungkin harus sengaja dibentuk berdasarkan komposisi indikator pelaporan keuangan eksternal;
  3. setiap indikator pelaporan keuangan eksternal harus diperoleh dari data akuntansi keuangan menggunakan RPS tanpa penguraian atau penyesuaian tambahan apa pun.

Komponen pajak. Penggunaan RPS dalam sistem akuntansi memberikan kemampuan untuk menghitung dasar pengenaan pajak dan jumlah laba untuk keperluan perpajakan sesuai dengan persyaratan Bab. 25 Kode Pajak Federasi Rusia. Penerapan komponen perpajakan pendekatan sistematis RPS meliputi:

  1. organisasi akuntansi keuangan dan pajak analitis atas pengeluaran dan pendapatan untuk mengidentifikasi dampaknya terhadap jumlah dasar pengenaan pajak untuk menghitung pajak penghasilan organisasi komersial dengan merinci akun keuangan (01 - 99) RPS;
  2. pengembangan daftar rekening pajak (misalnya, 101–199). Penerapannya akan memungkinkan pencatatan penyimpangan data akuntansi objek akuntansi keuangan dan perpajakan guna terciptanya akuntansi perpajakan dan pelaporan pajak;
  3. pengembangan aturan yang memungkinkan untuk menyesuaikan dampak komponen perpajakan pada pelaporan akuntansi terintegrasi terpadu untuk menghilangkan duplikasi pelaporan (hasil) indikator akuntansi dan analitis.

Komponen manajemen. Dalam RPS, untuk memperoleh indikator akuntansi dan analitis yang dihasilkan dari pelaporan internal manajemen dan akuntansi manajemen, satu blok akun manajemen dialokasikan (misalnya, 201–299). Pada akun manajemen ini, penyesuaian entri ganda pada akun keuangan 01–99 dibuat berdasarkan kebutuhan pengguna untuk pelaporan manajemen internal. Kedepannya, data akun manajemen 201–299, jika menggunakan aturan tertentu, melengkapi (mengoreksi) data akun keuangan 01–99. Hasil dari tindakan tersebut adalah indikator pelaporan internal manajemen.

Penerapan aspek pengelolaan dalam pendekatan sistematis pembentukan RPS meliputi pengembangan:

  1. ketentuan kebijakan akuntansi (eksternal dan internal), memperjelas kriteria pengakuan pos-pos akuntansi, penilaiannya, serta pengungkapan isi pos-pos pelaporan manajemen;
  2. subsistem akun manajemen RPS terpadu, yang diperlukan untuk mencatat dan merangkum penyimpangan data akuntansi manajemen dari data akuntansi keuangan;
  3. komposisi pelaporan keuangan alternatif dari formulir pelaporan manajemen.

Selain itu, dalam membentuk blok akun manajemen untuk RPS, perlu dibuat tabel “Hubungan (pemetaan) antara subsistem akun keuangan dan manajemen dengan indikator pelaporan manajemen alternatif”.

Tabel 2. Pemetaan operasi akuntansi (keuangan) akuntansi Rusia untuk menghasilkan jalur pelaporan perusahaan dari formulir “Saldo” (ekstrak)

Perputaran debit

OS dalam organisasi

Grup OS:<все>

Diinvestasikan pada aset tidak lancar
aktiva

Jangan berubah

Divisi:<все>

Tidak ada perubahan

Kode Proyek:<все>

Jangan terungkap

Berpartisipasi dalam kontrol kelompok dengan nilai plus

Aset Tetap: Aset tetap lainnya

Objek Konstruksi (p) : Jenis Penerimaan Aktiva Tetap (Penerimaan dari organisasi pihak ketiga)

Perputaran debit

OS tanpa registrasi

Grup OS:<все>

Jangan berubah

Divisi:<все>

Tidak ada perubahan

Kode Proyek:<все>

Jangan terungkap

Berpartisipasi dalam kontrol kelompok dengan nilai plus

Aset Tetap: Aset tetap lainnya

Proyek Konstruksi (p): Jenis Pendapatan aktiva tetap (Penerimaan dari pihak ketiga)

Perputaran debit

MC dalam organisasi

Diinvestasikan dalam aset tidak lancar

Jangan berubah

Tidak ada perubahan

Jangan terungkap

Berpartisipasi dalam kontrol kelompok dengan nilai plus

Aset Tetap: Jenis Pendapatan Tetap (Penerimaan dari pihak ketiga)

Perputaran debit

MC, depan. dalam kepemilikan sementara

Kontraktor:<все>

Diinvestasikan pada aset tidak lancar
aktiva

Jangan berubah

Perjanjian:<все>

Tidak ada perubahan

Kode Proyek:<все>

Jangan terungkap

Berpartisipasi dalam kontrol kelompok dengan nilai plus

Aset Tetap: Aset tetap lainnya

Proyek Konstruksi (p): Jenis Resi (Kwitansi dari pihak ketiga)

Perputaran debit

MC, depan. untuk penggunaan sementara

Kontraktor:<все>

Diinvestasikan pada aset tidak lancar
aktiva

Jangan berubah

Perjanjian:<все>

Tidak ada perubahan

Kode Proyek:<все>

Jangan terungkap

Berpartisipasi dalam kontrol kelompok dengan nilai plus

Garis Keseimbangan

akun akuntansi

Seleksi berdasarkan subkonto 1

Kor. akun akuntansi

Seleksi berdasarkan subkonto 1

Rumus seleksi

Seleksi berdasarkan subkonto 2

Seleksi berdasarkan subkonto 2

Balikkan tanda

Seleksi berdasarkan subkonto 3

Seleksi berdasarkan subkonto 3

akuntansi PPN

Seleksi berdasarkan subkonto 4

Seleksi berdasarkan subkonto 4

Perluas sebesar

Seleksi berdasarkan subkonto 5

Seleksi berdasarkan subkonto 5

Partisipasi dalam akun grup

BL00102 Dioperasikan (+)

Dioperasikan (+)

Dioperasikan (+)

Dioperasikan (+)

Dioperasikan (+)

Dioperasikan (+)

Tidak diragukan lagi, keputusan untuk menciptakan sistem akuntansi (keuangan, perpajakan dan manajemen) yang terintegrasi dalam organisasi komersial dan untuk mengembangkan bagan akun kerja terpadu untuk sistem tersebut berdasarkan Bagan Akun standar bukanlah keputusan yang jelas. Secara teoritis, hal-hal berikut dapat diterapkan pada pembuatan bagan kerja akun untuk organisasi komersial: pendekatan berikut(dalam hal menggunakan bagan akun untuk tiga jenis akuntansi):

  • satu bagan akun terpadu untuk akuntansi keuangan, perpajakan dan manajemen;
  • bagan akun terintegrasi untuk akuntansi keuangan dan pajak, bagan akun otonom untuk akuntansi manajemen;
  • bagan akun terintegrasi untuk akuntansi keuangan dan manajemen; bagan akun otonom untuk akuntansi pajak;
  • bagan akun terpadu untuk akuntansi perpajakan dan manajemen; bagan akun otonom untuk akuntansi keuangan;
  • bagan akun otonom untuk akuntansi keuangan, pajak, dan manajemen.

2. Permasalahan penyusunan buku referensi dan pengklasifikasi, yang pokoknya adalah:

  • duplikasi informasi dalam direktori;
  • Pengkodean direktori istilah salah.

Seringkali terjadi, misalnya, tidak ada prosedur yang seragam untuk menetapkan kode dan nama; rekanan yang sama mungkin terdaftar dalam direktori dua kali (Romashka LLC dan Romashka LLC, opsi dan kombinasi lain) atau dengan nama yang berbeda (misalnya, di bawah nama yang berbeda). penuh dan di bawah disingkat). Pencarian data yang diperlukan dalam suatu sistem informasi menggunakan direktori tidak terstruktur cukup rumit dan merepotkan. Selain itu, kekacauan dalam buku referensi menyebabkan kesalahan dalam pelaporan.

Misalnya, setiap perusahaan yang menjadi bagian dari holding, sampai batas tertentu, secara independen memelihara catatan utama, mengembangkan dan memperbarui direktorinya sendiri. Pekerjaan ini biasanya dilakukan di perusahaan berbagai layanan: departemen keuangan, departemen pemasaran, departemen hukum, dll. Semua ini memungkinkan Anda membuat keputusan manajemen yang optimal dalam perusahaan tertentu. Namun, kemampuan pemahaman dan analisis keadaan saat ini memegang secara keseluruhan sangat sulit karena informasi yang tidak terstruktur dan tidak seragam.

Situasi umum lainnya: di salah satu perusahaan, karena permintaan rutin dari departemen pemasaran ke departemen akuntansi tentang struktur penjualan, akuntan harus mengumpulkan informasi secara manual di bagian informasi yang diperlukan. Hal ini disebabkan oleh fakta bahwa departemen penjualan tidak selalu memasukkan data yang diperlukan ke dalam direktori untuk pembuatan laporan yang diperlukan secara otomatis.

– Ketidakcocokan bagian sistem otomatis akuntansi.
Misalnya, departemen pasokan memelihara register dan direktori ITC dalam program Cache, dan register serta direktori akuntansi (keuangan) dan manajemen disimpan di SAP R3, dan pelaporan perusahaan juga dihasilkan di sana. Format penyajian data dalam program ini berbeda-beda, sehingga sulit untuk mengkonversi data di antara program-program tersebut, dan dalam beberapa kasus tidak mungkin dilakukan.

Saat mengembangkan buku referensi, prinsip-prinsip berikut harus dipatuhi.

– Detail dan struktur direktori harus sedemikian rupa sehingga memungkinkan pemrosesan data dengan cepat dan menghasilkan laporan yang diperlukan.

Jika buku referensi tidak cukup detail, hal ini akan menyulitkan perolehan informasi yang diperlukan. Misalnya, jika pada pertengahan tahun Anda perlu mencari tahu tentang biaya pembuatan brosur iklan yang dipesan oleh bagian pemasaran, dan sebelum itu semua biaya pemasaran diperhitungkan bersama-sama, maka Anda perlu melakukan pilihan tambahan. informasi tentang tanda-tanda tidak langsung(misalnya dengan percetakan). (Untuk perusahaan induk atau kelompok perusahaan, perincian direktori akan bergantung pada persyaratan untuk menyusun informasi tidak hanya perusahaan individual, tetapi juga seluruh perusahaan induk.)

Jika buku referensi sangat detail, maka sulit untuk mengisinya dengan informasi dan menggunakannya dalam pekerjaan Anda. Misalnya buku referensi “Gerakan uang tunai» dapat berisi lebih dari seribu berbagai tujuan pembayaran. Penyusunan laporan arus kas untuk pembayaran dasar direktur umum akan memakan banyak waktu, karena Anda harus melakukan pengelompokan yang diperlukan (agregasi indikator atau pemilihan informasi yang diperlukan dari serangkaian informasi yang berlebihan). Selain itu, saat memasukkan informasi, pengguna mungkin tidak tahu di mana harus memasukkan pembayaran tertentu. Hal ini pasti akan menyebabkan kesalahan pemilihan item dari direktori atau klasifikasi pembayaran sebagai “lainnya”. Disarankan untuk menjelaskan secara rinci objek akuntansi mana yang dapat direfleksikan untuk setiap baris direktori.

– Pengkodean elemen direktori harus menghilangkan duplikasi informasi dan membantu mempercepat pekerjaan dengan direktori. Sebelum mengkodekan data, perlu ditentukan di sistem informasi perusahaan mana direktori referensi akan disimpan. Kemungkinan penggunaan kode tertentu akan sangat bergantung pada kemampuan sistem. Sistem seperti itu dapat berupa program akuntansi, informasi yang secara otomatis ditransfer ke sistem lain yang menggunakan direktori yang sama.

– Anda harus menghindari penggunaan pengkodean serupa di direktori berbeda.
Misalnya, jika, ketika menganalisis penjualan, departemen pemasaran mengidentifikasi kelompok pembeli bukan berdasarkan wilayah, tetapi berdasarkan kota dan wilayah, maka kelompok yang akan dianalisis tidak boleh sesuai dengan kode. wilayah federal. DI DALAM jika tidak ini akan menyebabkan kesalahan saat memasukkan informasi. Jadi, kode "77" ditetapkan untuk Moskow, dan wilayah Belgorod terdaftar di bawah kode ini di perusahaan. Akibatnya, seorang karyawan mungkin mengaitkan jenis penjualan tertentu bukan ke wilayah tersebut, tetapi ke Moskow, dan informasinya akan terdistorsi. DI DALAM dalam hal ini Disarankan untuk membuat kode dengan panjang yang berbeda, misalnya, menggunakan tiga digit untuk mengkodekan grup pemasaran (kode “770” untuk klien di wilayah Belgorod);

Idealnya Kode direktori tidak boleh melebihi 8 karakter. Jika tidak, data akan sulit dimasukkan karena kode-kodenya tidak mudah dibedakan satu sama lain.

– saat membuat direktori yang saling berhubungan, duplikasi harus dihilangkan. Untuk menghindari kesalahan dalam direktori (karena sifat pengisiannya yang tidak sistematis dan kacau), perlu dilakukan analisis informasi yang terkandung di dalamnya untuk mengidentifikasi data yang dapat dihasilkan oleh masing-masing direktori.

– Setelah berkembang sistem terpadu direktori, perlu untuk memastikan perlindungannya dari perubahan yang tidak sah. Cukup keamanan yang tinggi biasanya dapat dicapai baik melalui penggunaan metode identifikasi pengguna dan melalui pembatasan hak akses pengguna terhadap informasi. Seringkali, untuk membuat dan memelihara direktori, perusahaan mengembangkan peraturan yang menentukan siapa yang bertanggung jawab untuk memasukkan informasi ke dalam direktori dan modifikasinya.

Kesimpulannya, perlu dikatakan bahwa masalah di atas perlu diselesaikan sebelum melakukan pemetaan. Jika tidak, Anda tidak dapat mengandalkan pembuatan pelaporan manajemen. Bahkan jika pelaporan dibuat, kemungkinan bahwa laporan tersebut benar hampir nol. Alasannya jelas:

  1. Error yang akan muncul karena masalah yang telah dijelaskan sebelumnya.
  2. Kesalahan akuntansi (baik metodologis dan akuntansi). Orang-orang menyimpan catatan, jangan lupakan itu.
  3. Berikut ini adalah daftar panjangnya berbagai pilihan kesalahan yang sumbernya adalah hasil penjumlahan butir 1 dan 2. Namun menurut kami hal tersebut tidak diperlukan.

Kelas yang diganti harus mendeklarasikan kolom kunci utama dalam tabel database. Sebagian besar kelas juga harus mendeklarasikan properti bergaya JavaBeans mereka sendiri, termasuk pengidentifikasi entitas unik. Elemen dalam file pemetaan mereka akan menentukan pemetaan bidang unik ini ke kolom tabel, yang bertindak sebagai kunci utama.

(5)

(1)

name (opsional): Nama properti pengidentifikasi.

(2)

type (opsional): Nama yang mendefinisikan tipe properti Hibernate.

(3)

kolom (opsional - nama properti default): Nama kolom kunci utama.

(4)

nilai yang belum disimpan (opsional - defaultnya adalah null): Nilai properti pengidentifikasi yang menunjukkan bahwa instance tersebut baru (dalam istilah penyimpanan persisten).

(5)

Membedakan instans ini dari instans transit yang dimuat atau disimpan di versi sebelumnya. access (opsional - default pada properti): Ini adalah strategi yang akan digunakan Hibernate untuk mengakses properti ini

obyek.

Jika atribut nama tidak ditentukan, kelas diasumsikan tidak memiliki properti pengidentifikasi.

Atribut nilai yang belum disimpan itu penting! Jika properti id default kelas Anda bukan nol, Anda harus menyetel atribut "nilai yang belum disimpan" ke nilai yang sesuai. Ada pengumuman alternatif

untuk mengakses data lama dengan kunci komposit. Kami sangat tidak menganjurkan penggunaan kunci komposit dalam kasus lain.

5.1.4.1. generator "a mendefinisikan kelas Java yang digunakan untuk menghasilkan pengidentifikasi unik untuk instance kelas persisten. Jika perlu, elemen Untuk meneruskan parameter inisialisasi atau konfigurasi untuk instance generator.

uid_table kolom_nilai_hi_berikutnya

Semua generator mengimplementasikan antarmuka net.sf.hibernate.id.IdentifierGenerator. Antarmukanya sangat sederhana; banyak aplikasi mungkin menggunakan implementasi generator kustomnya sendiri. Meskipun demikian, Hibernate menyertakan banyak generator bawaan. Di bawah ini adalah nama pendek (label) untuk generator bawaan:

Kenaikan

menghasilkan pengidentifikasi tipe panjang, short atau int, unik hanya jika tidak ada proses lain yang menambahkan data ke tabel yang sama. Jangan gunakan dalam cluster.

identitas

Mendukung kolom identitas di DB2, MySQL, MS SQLServer, Sybase dan HypersonicSQL. Jenis pengidentifikasi pengembalian adalah panjang, pendek, atau int.

urutan

Menggunakan urutan di DB2, PostgreSQL, Oracle, SAP DB, McKoi atau generator di Interbase. Jenis pengidentifikasi pengembalian adalah panjang, pendek, atau int.

halo

Menggunakan algoritme hi/lo untuk menghasilkan pengidentifikasi bertipe panjang, pendek, atau int secara efisien, yang memerlukan nama tabel dan kolom (masing-masing secara default hibernate_unique_key dan next_hi) sebagai sumber nilai hi. Algoritme hi/lo menghasilkan pengidentifikasi yang unik hanya untuk database individual. Jangan gunakan generator ini untuk koneksi JTA atau koneksi khusus.

seqhilo

menggunakan algoritma hi/lo untuk menghasilkan pengidentifikasi tipe panjang, pendek atau int, menggunakan urutan database.

uuid.hex

Menggunakan algoritma UUID 128-bit untuk menghasilkan pengidentifikasi string yang unik dalam jaringan (menggunakan alamat IP). UUID adalah string 32 karakter yang berisi representasi heksadesimal dari angka tersebut.

uuid.string

menggunakan algoritma UUID yang sama, namun string saat menggunakan generator ini terdiri dari 16 (beberapa) karakter ANSII. Jangan gunakan dengan PostgreSQL.

warga asli

memilih identitas, urutan atau hilo, tergantung pada kemampuan database yang digunakan.

ditugaskan

memberi aplikasi kemampuan untuk mengatur pengidentifikasi objek secara mandiri sebelum memanggil metode save().

luar negeri

pengidentifikasi objek terkait lainnya digunakan. Biasanya digunakan dalam transaksi dengan asosiasi dengan kunci utama.

5.1.4.2. Algoritma Hai/Lo

Generator hilo dan seqhilo menyediakan dua implementasi alternatif dari algoritma hi/lo, pendekatan yang lebih disukai untuk menghasilkan pengidentifikasi. Implementasi pertama memerlukan tabel "khusus" di database untuk menyimpan nilai "hi" berikutnya. Implementasi kedua menggunakan urutan (gaya Oracle) dalam database yang mendukungnya.

hai_nilai nilai_berikutnya 100 hai_nilai 100

Sayangnya, Anda tidak dapat menggunakan hilo saat menyediakan Koneksi ke Hibernate, Anda juga tidak dapat menggunakannya dalam konfigurasi di mana Hiberante menggunakan sumber data server aplikasi yang dikelola JTA. Hiberante harus bisa menerima nilai "hi" dalam transaksi baru. Pendekatan standar di EJB, adalah menggunakan sesi stateless bean untuk mengimplementasikan algoritma hi/lo.

5.1.4.3. Algoritma UUID

Jangan mencoba menggunakan uuid.string di PostgreSQL.

5.1.4.4. Kolom urutan dan identitas

Anda dapat menggunakan generator kunci identitas untuk database yang mendukung kolom identitas (DB2, MySQL, Sybase, MS SQL). Untuk database yang mendukung urutan, Anda dapat menggunakan gaya urutan untuk menghasilkan kunci. Kedua strategi ini memerlukan dua hal Kueri SQL untuk memasukkan objek baru ke dalam database.

uid_sequence

Untuk mengembangkan aplikasi lintas platform, gunakan strategi asli. Ini akan menggunakan strategi identitas, urutan dan hilo tergantung pada kemampuan database yang terhubung. saat ini waktu Hibernate sedang berjalan.

5.1.4.5. ID yang ditentukan

Jika Anda ingin aplikasi menetapkan ID sendiri, Anda dapat menggunakan generator yang ditetapkan. Generator khusus ini menggunakan ID yang ditetapkan oleh aplikasi. Untuk melakukan ini, aplikasi menyetel pengidentifikasi ke properti objek yang sesuai. Berhati-hatilah saat menggunakan fitur ini untuk menyetel kunci (dalam banyak kasus, keputusan ini menandakan desain aplikasi yang buruk).

Karena sifatnya yang melekat, entitas yang menggunakan generator ini tidak dapat disimpan melalui metode Session.saveOrUpdate(). Sebaliknya, Anda harus secara eksplisit memberitahu Hibernate apakah objek harus dibuat atau diperbarui dengan memanggil metode objek Sesi yang sesuai: save() atau update().

5.1.5. id komposit

......

Untuk tabel dengan kunci komposit, Anda bisa mengekspos beberapa properti kelas sebagai properti identifikasi objek. Elemen menerima pemetaan properti menggunakan elemen anak Dan .

Kelas persisten Anda harus mengganti metode sama dengan() dan kode hash() untuk mengimplementasikan kesetaraan pengidentifikasi gabungan. Itu juga harus mengimplementasikan antarmuka Serializable.

Sayangnya, kemampuan untuk menentukan pengidentifikasi gabungan menyiratkan bahwa objek persisten adalah pengidentifikasinya. Tidak ada kemungkinan pemrosesan yang mudah selain melalui objek itu sendiri. Anda harus membuat sendiri entitas kelas persisten dan menyetel properti pengidentifikasinya sebelum memuat() status persisten yang terkait dengan pengidentifikasi gabungan tersebut. Kami akan menjelaskan cara yang lebih tepat, di mana pengidentifikasi gabungan diimplementasikan sebagai kelas terpisah, di Bagian 7.4, “Komponen sebagai Pengidentifikasi Gabungan.” Atribut yang dijelaskan di bawah ini hanya berlaku untuk metode alternatif:

    nama (opsional): Properti tipe komponen yang berisi pengidentifikasi gabungan (lihat bagian berikutnya).

    kelas (opsional, secara default tipe properti ditentukan melalui refleksi): komponen kelas ini digunakan sebagai pengidentifikasi komposit (lihat bagian selanjutnya).

    nilai yang belum disimpan (opsional, defaultnya tidak ada): Jika disetel ke salah satu, ini menunjukkan bahwa entitas transit diperlakukan sebagai baru.

5.1.6. diskriminator

Elemen diperlukan untuk persistensi polimorfik menggunakan strategi pemetaan hierarki tabel per kelas. Elemen ini mendeklarasikan kolom diskriminator, yang digunakan untuk menentukan apakah entri tabel sesuai dengan kelas tertentu dalam hierarki. Diskriminator dapat berupa salah satu tipe berikut: string, karakter, integer, byte, short, boolean, yes_no, true_false.

Nilai kolom diskriminator yang sesuai untuk setiap kelas ditentukan dalam atribut nilai diskriminator untuk elemen tersebut Dan .

Atribut force hanya berguna jika tabel berisi record dengan nilai diskriminator tambahan yang tidak muncul di kelas persisten. Biasanya atribut ini tidak digunakan.

5.1.7. versi (opsional)

Elemen mencerminkan bahwa tabel berisi catatan yang diberi tag versi. Ini sangat berguna jika Anda berencana untuk menggunakannya transaksi yang panjang(lihat di bawah).

(1)

kolom (opsional, default untuk nama properti): nama kolom yang menyimpan nomor versi.

(2)

name: Nama properti kelas persisten.

(3)

type (opsional, defaultnya adalah integer): Tipe properti versi.

(4)
(5)

nilai yang belum disimpan (opsional, defaultnya adalah tidak ditentukan): Nilai properti versi yang menunjukkan bahwa entitas belum disimpan (belum disimpan). Jangan bingung antara entitas yang belum disimpan dengan entitas transit yang disimpan atau dimuat di sesi sebelumnya. (tidak terdefinisi menunjukkan bahwa nilai pengidentifikasi akan digunakan.)

Nomor versi dapat bertipe panjang, bilangan bulat, pendek, stempel waktu, atau kalender.

5.1.8. stempel waktu (opsional)

Elemen menunjukkan bahwa tabel berisi catatan yang ditandai dengan stempel waktu. Elemen ini bertindak sebagai alternatif penanda versi. Stempel waktu menurut definisi merupakan implementasi penguncian optimis yang kurang aman. Namun, terkadang suatu aplikasi menggunakan stempel waktu untuk tujuan lain

(1)

kolom (opsional, default untuk nama properti): Nama kolom yang berisi stempel waktu.

(2)

nama: Nama gaya JavaBeans dari properti Tanggal atau Stempel Waktu dari kelas persisten.

(3)

access (opsional, default untuk properti): Strategi yang harus digunakan Hibernate untuk mengakses nilai properti.

(4)

nilai yang belum disimpan (opsional - defaultnya adalah nol): Nilai properti waktu yang menunjukkan bahwa entitas belum disimpan (belum disimpan). Jangan bingung antara entitas yang belum disimpan dengan entitas transit yang disimpan atau dimuat di sesi sebelumnya. (tidak terdefinisi menunjukkan bahwa nilai pengidentifikasi akan digunakan.)

Catatan: elemen setara dengan elemen .

5.1.9. milik

Elemen Mendeklarasikan properti kelas bergaya JavaBeans yang persisten.

(1)

name: Nama properti, dimulai dengan huruf kecil.

(2)

kolom (opsional, nama properti diganti secara default): nama kolom terkait dalam tabel database.

(3)

type (opsional): Nama tipe Hibernate.

(4)

update, insert (opsional, defaultnya adalah true) : menunjukkan bahwa kolom terkait harus disertakan dalam pernyataan SQL UPDATE dan/atau INSERT. Menyetel kedua properti ke false memungkinkan nilai properti tersebut disetel baik dari properti lain yang ditampilkan di kolom/kolom yang sama, melalui pemicu, atau oleh aplikasi lain.

(5)

rumus (opsional): Ekspresi SQL yang menghitung nilai properti.

(6)

Bidang terhitung tidak boleh dipetakan ke kolom tabel database.

access (opsional, default untuk properti): Strategi yang harus digunakan Hibernate untuk mengakses nilai properti.

    Nama tipe dasar Hibernate (misalnya, integer, string, character, date, timestamp, float, biner, serializable, object, blob).

    Nama kelas Java (misalnya, int, float, char, java.lang.String, java.util.Date, java.lang.Integer, java.sql.Clob).

    Nama kelas berasal dari PersistentEnum (misalnya, misalnya Color).

    Nama kelas Java yang akan diserialkan.

    Nama kelas khusus (misalnya, com.illflow.type.MyCustomType).

Jika Anda tidak menentukan nilai untuk properti tipe, Hibernate akan menggunakan refleksi pada properti yang ditentukan untuk menebak tipe Hibernate yang sesuai. Hibernate akan mencoba menentukan nama kelas dari properti yang dikembalikan menggunakan metode get() menggunakan aturan 2, 3, 4 dalam urutan itu. Namun, hal ini tidak selalu cukup. Dalam beberapa kasus, Anda masih perlu menentukan atribut type. (Misalnya, untuk membedakan antara Hibernate.DATE dan Hibernate.TIMESTAMP, atau untuk menentukan tipe kustom.)

Atribut access memungkinkan Anda mengontrol bagaimana Hibernate mengakses suatu field pada waktu proses. Secara default, Hibernate memanggil metode get/set untuk mengakses suatu bidang. Jika Anda menentukan access="field" maka Hibernate akan melewati metode get/set dan mengakses kolom secara langsung menggunakan refleksi. Anda dapat menentukan strategi akses Anda sendiri dengan menentukan kelas yang mengimplementasikan antarmuka net.sf.hibernate.property.PropertyAccessor.

5.1.10. banyak-ke-satu

Hubungan normal dengan kelas persisten lainnya dideklarasikan menggunakan elemen banyak ke satu. Dalam istilah relasional, ini adalah asosiasi banyak-ke-satu. Ini sebenarnya hanya referensi ke suatu objek.

(1)

nama: Nama properti.

(2)

kolom (opsional): Nama kolom.

(3)

class (opsional - secara default, tipe bidang ditentukan melalui refleksi): Nama kelas terkait.

(4)

cascade (opsional): Menentukan operasi mana yang akan mengalir dari objek induk ke objek terkait.

(5)
(6)

perbarui, sisipkan (opsional - benar secara default) menentukan bahwa kolom yang ditampilkan akan disertakan dalam kueri SQL UPDATE dan/atau INSERT. Menyetel kedua properti ke false memungkinkan nilai properti tersebut disetel baik dari properti lain yang ditampilkan di kolom/kolom yang sama, melalui pemicu, atau oleh aplikasi lain.

(7)

property-ref: (opsional) Nama properti kunci dari kelas terkait. Properti ini akan digunakan untuk mengikat. Jika tidak ditentukan, kunci utama kelas terkait akan digunakan.

(8)

access (opsional - default pada properti): Strategi yang digunakan Hibernate untuk mengakses nilai bidang tertentu.

Atribut cascade dapat mengambil nilai berikut: semua, simpan-perbarui, hapus, tidak ada. Menetapkan nilai selain none akan memerlukan operasi tertentu pada objek (anak) terkait. Lihat "Siklus Hidup Objek" di bawah.

Atribut outer-join dapat mengambil tiga nilai berikut:

    auto (default) mengambil objek terkait menggunakan gabungan luar jika kelas terkait tidak memiliki proxy.

    true Selalu ambil objek terkait menggunakan gabungan luar.

    false Jangan pernah mengambil objek terkait menggunakan gabungan luar.

Deklarasi asosiasi banyak-ke-satu biasanya terlihat seperti ini

Atribut property-ref hanya digunakan untuk menghubungkan dengan data yang diwariskan ketika kunci asing mengacu pada nilai unik dari tabel terkait selain kunci utama. Ini adalah keputusan relasional yang berbahaya. Misalnya, ada kemungkinan kelas Produk memiliki nomor urut unik yang bukan merupakan kunci utama. (Atribut unik mengontrol pembuatan DDL Hibernate. Pembuatan dilakukan menggunakan utilitas SchemaExport.)

Pemetaan untuk OrderItem dapat menggunakan:

Faktanya, melakukan hal ini sangat tidak disarankan.

5.1.11. satu lawan satu

Asosiasi satu-ke-satu dengan kelas persisten lainnya dapat dideklarasikan menggunakan elemen satu-ke-satu.

(1)

nama: Nama properti.

(2)

kelas (opsional - secara default ditentukan oleh refleksi berdasarkan jenis bidang): Nama kelas terkait.

(3)

cascade (opsional) menentukan operasi mana yang akan diturunkan dari objek induk ke objek terkait.

(4)

dibatasi (opsional) menetapkan bahwa kunci asing yang mereferensikan tabel kelas terkait dibatasi oleh kunci utama tabel tersebut. Opsi ini mempengaruhi urutan operasi kaskade save() dan delete() yang dilakukan (dan juga digunakan oleh alat ekspor skema).

(5)

gabungan luar (opsional - defaultnya otomatis): Mengaktifkan pengambilan objek terkait menggunakan gabungan luar jika opsi file konfigurasi hibernate.use_outer_join diaktifkan.

(6)

property-ref: (opsional) Nama properti kelas terkait yang disertakan dalam kunci utama kelas ini.

(7)

Jika tidak ditentukan, kunci utama kelas terkait akan digunakan.

Ada dua jenis asosiasi satu-ke-satu:

    hubungan kunci utama

    hubungan menggunakan kunci asing yang unik

Untuk mengatur asosiasi menggunakan kunci utama, tidak diperlukan kolom tambahan; Jika dua record dihubungkan dengan asosiasi seperti itu, berarti dua record dalam dua tabel mempunyai nilai kunci utama yang sama. Oleh karena itu, jika Anda ingin mengaitkan dua objek sehingga terkait dengan kunci utama, maka Anda harus memastikan bahwa ID keduanya disetel ke nilai yang sama!

Untuk asosiasi kunci utama, tambahkan pemetaan berikut untuk kelas Karyawan dan Orang.

Sekarang kita perlu memastikan bahwa kunci utama dari catatan terkait dalam tabel adalah identik. Kami menggunakan generator asing Hibernate khusus:

karyawan ...

Instance kelas Person yang bertahan diberi nilai kunci utama yang sama dengan yang ditetapkan ke instance kelas Employee yang direferensikan oleh properti karyawan kelas Person.

Sebagai alternatif untuk menggambarkan hubungan satu-ke-satu dari Karyawan ke Orang melalui kunci asing yang unik, Anda dapat menggunakan notasi berikut:

Asosiasi ini dapat dibuat dua arah dengan menambahkan ekspresi berikut ke pemetaan kelas Person:

5.1.12. komponen, komponen dinamis

Elemen memetakan bidang objek bersarang ke kolom tabel kelas induk. Komponen pada gilirannya dapat menentukan properti, komponen, atau koleksinya sendiri. Lihat "Komponen" di bawah.

(5) ........

(1)

name: Nama properti (mengacu pada objek komponen).

(2)

class (opsional - secara default tipe komponen ditentukan menggunakan refleksi): Nama kelas komponen.

(3)

insert: Jika disetel ke true, kolom yang ditampilkan komponen berpartisipasi dalam kueri SQL INSERT.

(4)

update: Jika disetel ke true, kolom yang ditampilkan komponen berpartisipasi dalam kueri SQL UPDATE.

(5)

access (opsional - default pada properti): Strategi yang harus digunakan Hibernate saat mengakses kacang ini melalui objek induknya.

Tag bersarang Petakan bidang komponen ke dalam kolom tabel.

Elemen memungkinkan elemen bersarang Yang menjadikan properti komponen sebagai referensi kembali ke objek induk.

Elemen memungkinkan Anda menggunakan Peta sebagai komponen yang nama bidangnya sesuai dengan kunci Peta.

5.1.13. subkelas

Terakhir, persistensi polimorfik mengharuskan setiap subkelas dari kelas dasar dideklarasikan. Untuk strategi tampilan (yang direkomendasikan), tabel-per-kelas-hierarki menggunakan elemen .

.....

Setiap subkelas harus mendeklarasikan bidang dan subkelas persistennya sendiri. Warisan properti diperbolehkan Dan dari kelas dasar. Setiap subkelas dalam hierarki harus menentukan nilai diskriminator yang unik. Jika nilai ini tidak ditentukan, nama lengkap kelas digunakan sebagai diskriminator.

5.1.14. bergabung-subkelas

Alternatifnya, subkelas yang objeknya disimpan dalam tabel terpisah (strategi pemetaan tabel per subkelas) dideklarasikan menggunakan elemen .

.....

Strategi tampilan ini tidak memerlukan kolom diskriminator untuk ditentukan. Namun, setiap subkelas harus mendeklarasikan kolom tabel yang berisi pengidentifikasi untuk ditampilkan oleh elemen . Pemetaan yang diberikan di awal bagian dapat ditulis ulang sebagai berikut:

Status persisten terdiri dari referensi ke entitas lain dan contoh tipe nilai. Nilai adalah primitif, koleksi, komponen, dan objek abadi lainnya. Tidak seperti entitas, instans tipe nilai (khususnya koleksi dan komponen) dipertahankan dan dihapus bila tersedia. Karena objek tipe nilai (dan primitif) disimpan dan dihapus bersama dengan entitas yang memuatnya, objek tersebut tidak dapat memiliki versi independen. Nilai juga tidak memiliki identitas independen sehingga tidak dapat dibagi antara dua entitas atau kumpulan.

Semua tipe di Hibernate, kecuali koleksi, mendukung semantik penunjuk nol.

Hingga saat ini, kami telah menggunakan istilah "kelas persisten" untuk merujuk pada entitas. Kami akan terus melakukan ini. Sebenarnya, tidak semua kelas yang ditentukan pengguna dengan status persisten adalah entitas. Misalnya, komponen adalah kelas yang ditentukan pengguna dengan semantik tipe nilai (komponen adalah bagian dari entitas yang memuatnya, dan dianggap sebagai bidang entitas tersebut).

5.2.2. Jenis nilai dasar

Tipe dasarnya secara garis besar dapat dibagi sebagai berikut

integer, panjang, pendek, float, double, karakter, byte, boolean, yes_no, true_false

Pemetaan tipe Java primitif atau kelas wrapper ke tipe kolom tabel SQL yang sesuai (tergantung vendor). boolean, yes_no, dan true_false merupakan notasi alternatif untuk tipe Java boolean atau java.lang.Boolean.

rangkaian

Memetakan tipe java.lang.String ke VARCHAR (atau Oracle VARCHAR2).

tanggal, waktu, stempel waktu

Memetakan tipe java.util.Date dan subkelasnya ke tipe SQL DATE, TIME, dan TIMESTAMP (atau yang setara).

kalender, tanggal_kalender

Memetakan tipe java.util.Calendar ke tipe SQL TIMESTAMP dan DATE (atau yang setara).

desimal_besar

Memetakan tipe java.math.BigDecimal ke NUMERIC (atau Oracle NUMBER).

lokal, zona waktu, mata uang

Memetakan tipe java.util.Locale, java.util.TimeZone, dan java.util.Currency ke VARCHAR (atau Oracle VARCHAR2). Instans Lokal dan Mata Uang dipetakan ke kode ISO-nya. Instans TimeZone dipetakan ke pengidentifikasi (ID) mereka.

kelas

Memetakan tipe java.lang.Class ke VARCHAR (atau Oracle VARCHAR2). Kelas ditampilkan sebagai nama lengkapnya.

biner

Memetakan array byte ke tipe SQL biner yang sesuai.

teks

Menampilkan string Java yang panjang dalam SQL CLOB atau TEXT.

dapat diserialkan

Memetakan tipe Java yang dapat diserialkan ke tipe SQL biner yang sesuai. Anda juga dapat menyatakan tipe serializable Hibernate sebagai nama kelas atau antarmuka Java serializable yang bukan tipe dasar dan tidak mengimplementasikan antarmuka PersistentEnum.

gumpalan, gumpalan

Pemetaan tipe JDBC dari kelas java.sql.Clob dan java.sql.Blob. Tipe ini mungkin tidak nyaman untuk beberapa aplikasi karena objek blob dan clob tidak dapat digunakan di luar transaksi. (Selain itu, pengemudi tidak mendukung tipe ini secara penuh dan seragam.)

Pengidentifikasi unik untuk entitas dan koleksi dapat berupa tipe dasar apa pun kecuali biner, blob, dan clob. (Pengidentifikasi komposit juga diperbolehkan, lihat di bawah.)

Tipe nilai dasar dijelaskan oleh konstanta yang dideklarasikan di net.sf.hibernate.Hibernate. Misalnya, Hibernate.STRING mewakili tipe string.

5.2.3. Tipe enum persisten

Tipe enumerasi adalah idiom dasar Java ketika suatu kelas memiliki jumlah instance yang konstan (kecil) yang tidak dapat diubah (catatan penerjemah di Java 5 ini diperkenalkan pada tingkat bahasa, di versi sebelumnya pola khusus digunakan untuk ini). Anda dapat membuat tipe enum persisten dengan mengimplementasikan antarmuka net.sf.hibernate.PersistentEnum, dan mendefinisikan operasi toInt() dan fromInt():

Paket misalnya; impor net.sf.hibernate.PersistentEnum; public class Color mengimplementasikan PersistentEnum ( private final int code; private Color(int code) ( this.code = code; ) public static final Color TABBY = new Color(0); public static final Color GINGER = new Color(1); public static final Color BLACK = new Color(2); public int toInt() ( return code; ) public static Color fromInt(int code) ( switch (code) ( case 0: return TABBY; case 1: return JAHE; case 2: kembalikan HITAM; default: lemparkan RuntimeException baru ("Kode warna tidak diketahui");

Nama tipe Hibernate hanyalah nama kelas yang disebutkan, dalam hal ini misalnya Warna.

5.2.4. Jenis nilai khusus

Relatif mudah bagi pengembang untuk membuat tipe nilai mereka sendiri. Misalnya, Anda mungkin ingin menyimpan properti bertipe java.lang.BigInteger ke dalam kolom bertipe VARCHAR. Hibernate tidak menyediakan tipe bawaan untuk ini. Namun mendefinisikan tipe kustom tidak terbatas pada memetakan properti (atau elemen koleksi) ke satu kolom tabel. Jadi, misalnya, Anda dapat memiliki properti getName()/setName() bertipe java.lang.String yang disimpan di kolom FIRST_NAME, INITIAL, SURNAME.

Untuk mengimplementasikan tipe kustom, implementasikan salah satu antarmuka net.sf.hibernate.UserType atau net.sf.hibernate.CompositeUserType dan deklarasikan properti menggunakan nama kelas yang sepenuhnya memenuhi syarat dari implementasi tipe Anda. Tinjau net.sf.hibernate.test.DoubleStringType untuk mengetahui kemampuan yang tersedia.

Catatan: gunakan tag untuk menampilkan properti di beberapa kolom.

Meskipun kekayaan tipe bawaan dan dukungan komponen Hibernate berarti bahwa kebutuhan untuk menggunakan tipe khusus jarang terjadi, tetap merupakan praktik yang baik untuk menggunakannya sebagai kelas (non-entitas) untuk tipe yang sering digunakan dalam aplikasi Anda. Misalnya, kelas MonetoryAmount adalah kandidat yang baik untuk CompositeUserType, meskipun dapat diekspos sebagai sebuah komponen. Motivasi utamanya adalah abstraksi. Dengan tipe khusus, dokumen pemetaan Anda akan lebih tahan terhadap kemungkinan perubahan di masa depan jika Anda mengubah representasi jenis mata uang.

5.2.5. Tampilan jenis apa pun

Ada tipe lain untuk menampilkan properti. Elemen tampilan mendeklarasikan asosiasi polimorfik untuk kelas dari beberapa tabel. Tampilan jenis ini selalu membutuhkan lebih dari satu kolom. Kolom pertama berisi jenis entitas terkait. Kolom lainnya berisi pengidentifikasi. Tidak mungkin untuk menentukan kunci asing untuk tipe asosiasi tertentu, jadi pemetaan ini biasanya tidak digunakan untuk asosiasi polimorfik. Anda sebaiknya menggunakan pemetaan ini hanya dalam kasus khusus (misalnya, merekam berbagai jenis data, mengakses data sesi pengguna).

Atribut meta-type memungkinkan aplikasi untuk menentukan tipe kustom yang memetakan nilai kolom database ke kelas persisten yang properti pengidentifikasinya bertipe ditentukan oleh tipe id. Jika tipe meta mengembalikan entitas java.lang.Class, maka tidak ada hal lain yang diperlukan. Dalam kasus lain, jika itu adalah tipe dasar seperti string atau karakter, Anda harus menentukan pemetaan nilai ke kelas.

..... .....

(1)

nama: Nama properti.

(2)

tipe id: Tipe pengidentifikasi.

(3)

meta-type (opsional - default untuk kelas): tipe yang memetakan java.lang.Class ke dalam kolom database tunggal, atau sebagai alternatif tipe yang diperbolehkan untuk memetakan diskriminator.

(4)

cascade (opsional - defaultnya tidak ada): Jenis operasi cascade.

(5)

access (opsional - default untuk properti): Strategi yang harus digunakan Hibernate untuk mengakses nilai properti.

Properti objek lama, yang memiliki tempatnya sendiri di Hibernate 1.2, masih didukung namun sudah tidak digunakan lagi.

5.3. Pengidentifikasi SQL dalam tanda kutip

Anda dapat memaksa Hibernate untuk mengutip pengidentifikasi dalam pernyataan SQL. Hibernate akan mengikuti aturan kutipan sesuai dengan dialek SQL yang ditentukan (biasanya tanda kutip ganda, tetapi tanda kurung untuk SQL Server dan tanda kutip balik untuk MySQL).

...

5.4. File tampilan individual

Anda dapat mendeklarasikan pemetaan subkelas dan subkelas gabungan dalam dokumen terpisah, tepat di dalam elemen pemetaan hibernasi. Hal ini memungkinkan hierarki kelas diperluas dengan menambahkan file pemetaan baru. Dengan pendekatan ini, Anda harus menentukan atribut extends dalam pemetaan subkelas yang berisi nama superkelas yang telah dipetakan sebelumnya. Penggunaan fitur ini membuat urutan pencatatan dokumen pemetaan menjadi penting.

Pemetaan adalah teknologi yang memungkinkan untuk memproyeksikan video atau gambar ke berbagai jenis permukaan: bangunan, mobil, dan sebagainya. Hal ini memungkinkan Anda untuk mengatur program pertunjukan yang menghibur dan menarik, baik di jalanan maupun di dalam ruangan. Pertunjukan seperti itu selalu menarik perhatian penontonnya dan meninggalkan kesan yang sangat besar. Dalam hal ini, penonton tidak perlu memakai kacamata atau perangkat lain.

Teknologi ini juga memungkinkan untuk mengiklankan apa pun di permukaan yang keras. Pertunjukan yang dibuat menggunakan teknologi ini sangat cocok untuk acara besar, hari libur kota, pembukaan toko, pusat perbelanjaan, dan berbagai fasilitas hiburan. Dalam hal ini, efek terbesar dapat dicapai dengan mengadakan pertunjukan pemetaan pada malam hari. Apalagi jika diiringi dengan kembang api yang meriah dan live music.

Salah satu jenis pemetaan adalah pemetaan 3d. Berkat teknologi pemetaan 3D, Anda dapat membuat bangunan, mobil, dan berbagai elemen interior menjadi hidup, sehingga pemirsa dapat merasakan mobilitas objek-objek tersebut. Hukum dasar teknologi pemetaan 3D cukup sederhana: objek gambar yang diproyeksikan harus sesuai dengan gambar proyeksi seakurat mungkin. Anda dapat memesan layanan seperti itu di situs web www.3dday.ru.

Bagaimana cara kerjanya?

Saat memproyeksikan gambar ke objek di sekitarnya, parameter geometris objek tersebut harus diperhitungkan. Teknologi pemetaan 3D melibatkan penggunaan peralatan khusus yang memproyeksikan gambar sedemikian rupa sehingga pemirsa dapat melihatnya dalam volume dari sudut mana pun. Dalam kasus pemetaan video, efek visual gambar tiga dimensi hanya terlihat dari posisi tertentu. Inilah perbedaan antara pemetaan konvensional dan teknologi pemetaan 3D.

Untuk menciptakan ilusi optik, pertama-tama gambar objek yang diproyeksikan direproduksi di komputer dalam bentuk model 3D. Selanjutnya model ini disesuaikan dengan kebutuhan naskah acara. Tahap terakhir adalah proyeksi model yang dibuat ke objek nyata di mana model tersebut dirancang.

Dengan demikian, teknologi pemetaan 3D yang tampaknya sederhana menciptakan ilusi optik yang kuat: pemirsa seolah-olah objek itu sendiri sedang berubah, padahal sebenarnya hanya proyeksinya yang berubah. Kesan ilusi optik seperti itu sungguh tiada bandingannya. Dan mudah untuk membayangkan kemungkinan dampak kampanye periklanan yang dilakukan menggunakan pemetaan!

Artikel lain oleh penulis:

Pernahkah Anda mendengar tentang pemetaan? Dalam transkripsi Rusia, ini adalah pemetaan, pemetaan. Konsep tersebut memiliki beberapa makna yang tidak berhubungan satu sama lain. Mari kita lihat masing-masingnya dalam konteks bidang yang relevan.

Apa arti konsep secara umum?

Pemetaan, pemetaan, pemetaan, pemetaan adalah penentuan kesesuaian informasi antara dua semantik yang berbeda dari satu objek atau beberapa. Dengan kata lain, ini adalah nama untuk mengubah data dari satu bentuk ke bentuk lainnya.

Apa itu pemetaan? Dalam arti umum, istilah ini cukup luas - dapat berupa transformasi yang cermat dari satu rangkaian elemen ke rangkaian elemen lainnya, atau konversi mata uang atau file yang biasa. Dengan demikian, segala sesuatu yang tersembunyi di bawah istilah yang dianalisis paling baik diungkapkan dengan konsep pemetaan data berbahasa Inggris.

Contoh pemetaan

Mari kita lihat apa itu pemetaan dengan menggunakan contoh berikut:

  • Menyusun dokumen korespondensi akun akuntansi dari berbagai rencana mereka. Misalnya, bahasa Rusia, IFRS, akuntansi manajemen, dll.
  • Terjemahan kode database dari satu sistem ke sistem lainnya. Misalnya, kita perlu mengubah sebutan 0 dan 1 menjadi “tidak” dan “ya”.
  • Mengubah dolar ke euro adalah semacam pemetaan.
  • Mengubah format gambar dari .png ke .jpg, film dari .avi ke .mp4, yang dilakukan dalam editor grafis atau video, dalam beberapa hal akan berhubungan dengan topik pembicaraan kita.

Pengembangan permainan komputer

Pemetaan (dari bahasa Inggris. peta- "peta medan") juga dapat digunakan dalam arti desain level. Ini adalah nama yang diberikan untuk disiplin pengembangan video game. Pertama-tama, ini adalah penciptaan tingkat kompleksitas yang berbeda-beda - penjabaran misi pemain, desain lokasi, penyusunan tugas, dll. Dalam praktiknya, kegiatan tersebut dilakukan di editor “level”.

Teknologi pemetaan di sini heterogen - semuanya tergantung pada anggaran pengembang, sifat, dan genre game yang dibuat. Mari kita lihat contoh klasik untuk lebih memahami konsep ini:

  • Membuat peta wilayah dan membaginya menjadi zona - kota, pegunungan, terowongan bawah tanah, hutan, dll.
  • Definisi wilayah yang terkait dengan aktivitas spesifik pemain - medan perang, gudang atribut tambahan, ekstraksi sumber daya, benteng, tempat peristirahatan, papan kehormatan, dll.
  • Pengembangan objek non-statis. Itu bisa berupa kunci, pintu, tombol dan jalan rahasia, jalan rahasia yang menghilang, dll.
  • Menentukan lokasi penting organisasi - titik pemulihan, harta karun, tempat penyimpanan senjata rahasia, dll.
  • Menetapkan lokasi awal dan akhir pergerakan untuk setiap pemain.
  • Menghidupkan peta dengan sejumlah detail: menambahkan elemen seperti tekstur, suara, audio, efek visual, ilusi, animasi, dll.
  • Memasukkan pemicu yang diperlukan (mekanisme yang memeriksa keberadaan objek apa pun di ruang permainan yang dibuat) dan skrip (skenario, algoritme tindakan singkat).
  • Pembuatan skrip tertentu untuk pergerakan massa (objek non-statis, karakter): zona di mana mereka dapat bergerak, interaksinya, dialog dengan pemain, dll.
  • Terkadang ini mencakup pembuatan potongan adegan - screensaver yang indah, film mini, semacam trailer untuk game atau level, sekelompok "level" yang hanya dapat dilihat oleh pemain, tetapi tidak mempengaruhi apa yang terjadi di dalamnya. dia.

Pemetaan video

Apa itu pemetaan video (pemetaan 3D)? Ini adalah teknologi luar biasa yang memungkinkan Anda memproyeksikan gambar, film yang dibuat khusus ke permukaan tidak rata berskala besar, misalnya, pada fasad bangunan.

Keunikannya adalah memungkinkan Anda untuk “menghidupkan kembali” rumah dan barang interior lainnya dengan memberikan mobilitas visual. Dan semuanya hanya dapat dicapai dengan proyektor yang dipasang sesuai rencana tertentu. “Keajaiban” gambar tiga dimensi yang bergerak terletak pada kesesuaian yang sangat presisi antara elemen tempat gambar dipantulkan dan proyeksi video itu sendiri.

Meskipun bagi banyak dari kita, pemetaan adalah arah yang cukup baru, pemetaan telah lahir pada tahun enam puluhan abad yang lalu. Kami berutang kemunculannya kepada Walt Disney dan studio Disney. Kemudian nama kerja pemetaan itu adalah “lampu peneduh”, “ruang realitas maya”. Pertunjukan pertama dianggap sebagai atraksi Haunted Manor di Disneyland. Baginya, kepala terpenggal buatan diciptakan, ke mana sebuah gambar diproyeksikan, “menghidupkan kembali” mereka.

Seperti apa pemetaan video itu?

Tergantung pada objek yang dipantulkan gambar, teknologi ini dibagi menjadi beberapa bidang:

  • Arsitektur. Proyeksi volumetrik pada objek kompleks - fasad bangunan, jembatan, menara, serta pada pesawat terbang, kapal, dll.
  • Pedalaman. Menciptakan solusi ilusi yang menarik di dalam ruangan dengan memproyeksikan gambar ke dinding, langit-langit, lantai.
  • Untuk benda kecil. Baik bentuk kecil maupun elemen dari sesuatu yang lebih besar digunakan. Misalnya velg mobil, kue, baju pengantin, dll.
  • Lansekap. Basisnya adalah hutan, gunung dan benda alam lainnya.
  • Interaktif. Arah terbaru, berbeda di sini pahlawan menjadi seseorang. Teknologi menghidupkan benda-benda di sekitar sang seniman, membantunya menciptakan pertunjukan yang tak terlupakan.

Di mana pemetaan 3D digunakan?

Mari kita lihat di mana teknologi ini relevan:

  • menciptakan volume di berbagai permukaan;
  • hari libur kota, acara publik;
  • acara perusahaan besar;
  • pembukaan pusat perbelanjaan, kompleks hiburan;
  • pesta anak-anak;
  • acara budaya, sejarah, pendidikan.

Pertunjukan ini terlihat paling mengesankan dalam kegelapan. Untuk memberikan efek yang lebih mencolok, pihak penyelenggara memadukannya dengan suara surround yang sesuai, live music, kembang api.

Jika Anda ingin mengetahui ulasan tentang teknologi, maka dengarkan saja mereka yang pernah mengunjungi Moscow Circle of Light setidaknya sekali. Baru-baru ini, setiap tahun di musim gugur, festival ini diadakan di ibu kota dan menarik ribuan penonton. Desainer dari berbagai negara membuat proyeksi video yang ditampilkan di fasad Teater Bolshoi, paviliun utama VDNH, gedung utama Universitas Negeri Moskow, dll.

Pemetaan adalah konsep multi-nilai. Ini termasuk konversi data yang kompleks, pembuatan lokasi dalam permainan komputer, dan pertunjukan berdasarkan proyeksi gambar ke objek berskala besar dan kecil.

  • Sergei Savenkov

    semacam ulasan "pendek"... seolah-olah mereka sedang terburu-buru di suatu tempat