1c akuntansi 8.3 pengendalian saldo negatif. informasi akuntansi. Menerima data dokumen dan mendaftarkan saldo berdasarkan permintaan


Laporan ini membantu memperoleh ringkasan atau informasi rinci tentang saldo negatif pada 41 akun setiap saat. Hasil laporan ditampilkan dengan detail default (lihat Gambar 1)

Karena Karena laporan ditulis sepenuhnya menggunakan skema tata letak data, tidak akan sulit bagi pengguna untuk mengubah bagian laporan dari mode pengguna (lihat Gambar 2)

Laporan eksternal ditujukan untuk konfigurasi "1C: Enterprise Accounting 8, edisi 3.0" dan "edisi 3.0 (KORP)", berjalan pada platform versi 8.2 dalam mode “APLIKASI TERKELOLA”.

Keabsahan dukungan gratis: 1 bulan.

Alasan untuk membeli

Saldo negatif selalu memusingkan bagi akuntan mana pun. Saldo negatif pada 41 akun memperburuk situasi ini dua kali lipat. Laporan ini dengan cepat dan jelas menunjukkan semuanya "kemerahan" dalam 41 hitungan dalam bentuk yang nyaman dan visual. Apalagi akuSetiap saldo negatif pada 41 akun dapat diuraikan menggunakan laporan “Analisis Subconto” dan “Kartu Akun”. Pada saat yang sama, dengan menggabungkan penggunaan laporan-laporan ini, dimungkinkan untuk langsung turun ke tingkat dokumen pencatatan yang menyebabkan pergerakan barang. Untuk melakukan ini, cukup klik nomor yang diperlukan dalam laporan dan pilih laporan untuk diuraikan.

Berdasarkan banyak permintaan dari pengguna, versi terpisah dari laporan “Kontrol saldo negatif pada akun inventaris” telah dibuat, yang menambahkan kemampuan untuk mengontrol saldo negatif, tidak hanya untuk 41 akun, tetapi juga akun utama lainnya untuk pergerakan inventaris. item:

Akun 07 Peralatan untuk instalasi
- Akun 08.04 Perolehan aktiva tetap
- Akun 10 semuanya, kecuali 10.07 (Bahan ditransfer untuk diproses ke pihak ketiga)
- Akun 21 Produk setengah jadi produksi sendiri
- Rekening 41 semua kecuali 41.12 (Barang masuk perdagangan eceran(di NTT dengan harga jual))
- Akun 42.01 Margin perdagangan di gerai ritel otomatis
- Akun 43 Produk jadi

Juga, ingatlah bahwa saldo negatif dapat timbul tidak hanya di akun inventaris, tetapi juga di akun deklarasi pabean. Jika Anda perlu mengontrol akun ini juga, sebaiknya Anda membiasakan diri dengan laporan eksternal

Keuntungan

  1. Koneksi melalui mekanisme pemrosesan dan pelaporan eksternal. Ini memungkinkan Anda menggunakan laporan tanpa membuat perubahan apa pun pada konfigurasi standar. Dimungkinkan juga untuk membuka laporan standar melalui “File” -> “Open”.
  2. Kemungkinan untuk menyesuaikan laporan "untuk Anda sendiri" dari mode pengguna.

Garansi uang kembali

Infostart LLC menjamin Anda pengembalian dana 100% jika program tidak sesuai dengan fungsionalitas yang dinyatakan dari deskripsi. Uang dapat dikembalikan seluruhnya jika Anda memintanya dalam waktu 14 hari sejak tanggal uang diterima di rekening kami.

Program ini telah terbukti berhasil sehingga kami dapat memberikan jaminan tersebut dengan keyakinan penuh. Kami ingin semua pelanggan kami puas dengan pembelian mereka.

Saat berbelanja atau perusahaan manufaktur dalam akuntansi, saldo negatif “muncul” dalam sistem akuntansi. Hal ini mencerminkan penghapusan barang/bahan secara berlebihan.

Apa alasan kemunculannya?

Tidak ada kedatangan

Seringkali alasan paling umum mungkin adalah kurangnya tanda terima atau masukan barang yang sudah selesai saldo awal. Misalnya Anda membeli suatu produk, namun belum berhasil mendaftarkannya ke sistem, namun sudah berhasil menjualnya. Yang terjadi adalah barang tersebut didaftarkan, kemudian dipindahkan ke toko dan dijual, namun ada yang membatalkan dokumen kwitansinya.

Dalam situasi ini jalan yang benar Tindakannya adalah memeriksa keberadaan dokumen tanda terima di database. Jika ada dan belum dipasang, periksa isinya dan tempelkan. Jika dokumen kwitansi sama sekali tidak ada dalam database, maka harus dimasukkan secara surut. Pada saat yang sama, perlu dipahami bahwa penambahan dokumen secara surut bersifat tertutup masa pajak dapat menyebabkan perubahan jumlah pajak, khususnya PPN.

Penilaian ulang

Alasan umum lainnya untuk fenomena yang kami pertimbangkan adalah kesalahan penilaian atau kelebihan suatu jenis produk (bahan) dan pada saat yang sama kekurangan jenis produk lainnya. Misalnya pada program hanya dompet hitam sebanyak 10 buah yang ditandai stoknya, namun di sebuah toko penjual menjual dompet merah dan mencatat penjualannya di database sebanyak 5 buah. Alhasil, saldo dompet hitam di database tidak berkurang, namun saldo kita muncul di dompet merah.

DI DALAM pada kasus ini koreksi saldo diselesaikan dengan cara berikut: pendaftaran satu produk dan penghapusan produk lain dicatat. Untuk melakukan ini, dokumen “Posting barang” dibuat dan 5 item dikapitalisasi di dalamnya. dompet merah. Selanjutnya dibuat dokumen “Penghapusan Barang” dan 5 barang dihapuskan di dalamnya. dompet hitam.

Apabila pada 1C: Accounting 3.0 terdapat saldo negatif untuk suatu produk (bahan), maka pada saat memposting dokumen “Penjualan barang” akan ditampilkan Pengumuman bahwa dokumen ini tidak dapat diposkan, karena jumlah unit yang ditampilkan pada bagian tabel dokumen melebihi saldo.

Gambar 1 Pesan di dokumen bila tidak ada saldo di gudang

Sinyal peringatan di neraca - saldo negatif disorot dengan warna merah!



Gbr.2 Pelacakan oleh OSV

Cara mengaktifkan atau menonaktifkan kontrol saldo negatif di 1C BP 3.0

Anda dapat mengatur kontrol di bagian “Administrasi”, lalu klik tautan “Posting dokumen”.



Gambar.3 Pengaturan

Untuk menonaktifkan kontrol, Anda perlu mengaktifkan tanda pada parameter “Izinkan penghapusan inventaris jika tidak ada saldo menurut data akuntansi”.



Gambar 4 Izin penghapusan unit dengan indikator saldo negatif

Kebetulan untuk segera menjual produk yang juga sangat perlu dikirim, Anda perlu menonaktifkan kontrol untuk sementara waktu. Dokumen “Implementasi” diposting di sistem, dan kemudian kontrol diaktifkan kembali. Maka Anda harus ingat untuk menganalisis saldo untuk memperbaiki kesalahan akuntansi yang menyebabkan produk negatif.

Untuk mengontrol saldo berdasarkan gudang, Anda perlu mengatur analitiknya di “Pengaturan Akuntansi” melalui “Administrasi”.



Gambar.5 Parameter

Klik “Siapkan bagan akun.”



Gambar.6 Parameter pengaturan

Klik “Berdasarkan item, batch dan gudang (menurut kuantitas dan jumlah)”.



Gambar.7 Parameter akuntansi persediaan

Saat memasang analitik, dengan mengklik “Berdasarkan gudang (lokasi penyimpanan)”, kami memilih cara menyimpan catatan.



Gbr.8 Mengaktifkan analisis gudang

Jika pengaturan “menurut kuantitas dan jumlah” dipilih, maka akuntansi akan dilakukan dalam akuntansi kuantitatif dan total untuk gudang secara terpisah, dan jika “menurut kuantitas”, maka hanya kuantitatif dalam konteks setiap gudang, dan jumlah penghapusan adalah ditentukan dengan membagi harga persediaan dengan seluruh kuantitas di seluruh gudang.

Laporan kontrol

Laporan “Pengendalian Saldo Negatif” digunakan untuk menganalisis saldo negatif barang organisasi yang terdeteksi. Anda dapat membukanya melalui "Gudang - Kontrol saldo negatif".



Gambar 9 Laporan pengendalian saldo



Gambar.10 Formulir laporan pengendalian

Dalam pengaturan laporan, Anda dapat menentukan data apa yang akan digunakan untuk membuat laporan, misalnya mengelompokkan data berdasarkan Organisasi, Gudang, Dokumen Penghapusan, Item, dll.



Gbr.11 Kontrol pengaturan laporan

Dalam pilihannya, Anda dapat menentukan data apa yang akan dibuat laporannya, misalnya untuk gudang tertentu atau untuk item yang bermasalah.



Gambar 12 Pilihan dalam laporan kontrol



Gambar 13 Menghasilkan laporan pengendalian

Saldo negatif adalah semacam indikator kesalahan akuntansi. Penting untuk terus memantau saldo gudang dan memperbaikinya tepat waktu. Saldo yang salah menimbulkan masalah bagi pekerjaan operasional pengguna, dan juga dapat menyebabkan kesalahan perhitungan biaya, revaluasi dan indikator akuntansi penting lainnya.

Ada dua jenis situasi di mana kontrol keseimbangan perlu diatur.

Situasi pertama. Terkadang akuntan harus menghadapi masalah ketidakmungkinan penghapusan bahan atau barang pada program 1C 8.3 karena ketidakhadirannya di bidang akuntansi, padahal sebenarnya tersedia. Dan akuntan perlu segera menyiapkan dokumen untuk pengiriman bahan atau barang:

Situasi ini mungkin terjadi jika organisasi baru saja memulai akuntansi di 1C 8.3 atau data tidak dimasukkan ke dalam program tepat waktu.

Situasi kedua adalah ketika seorang akuntan menghapuskan bahan-bahan yang tidak tersedia di gudang. Dan akuntan menyiapkan dokumen pengiriman, yang tidak terlalu baik untuk reputasi perusahaan.

Menyiapkan kontrol keseimbangan

Pada program 1C 8.3 Accounting terdapat pengaturan untuk mengontrol saldo. Dan saat membuat database, pengaturan default memungkinkan Anda untuk menghapus barang yang, menurut data akuntansi, tidak tersedia dalam program.

Saldo dikontrol dalam konteks organisasi dan gudang tertentu di semua jenis dokumen: penjualan, faktur permintaan, pergerakan, dll., yang melibatkan akun dengan analitik Gudang.

Penting! Untuk mengontrol saldo di tingkat gudang, pada 1C 8.3 perlu dipasang analisis gudang di akun barang atau bahan.

Dengan demikian:

  • Untuk situasi pertama, Anda perlu mencentang kotak dan memasukkan semua sisa bahan ke dalam database. Dan disarankan untuk mencatat penerimaan barang dan bahan tepat waktu setelah ini.
  • Untuk situasi kedua, Anda perlu menghapus centang pada kotak untuk melarang penghapusan barang (bahan) yang hilang.

Cara menonaktifkan kontrol saldo di 1C 8.3

Untuk menghapus larangan memposting dokumen dengan barang yang hilang, Anda harus masuk ke pengaturan program 1C 8.3 di bagian Administrasi - lalu Pengaturan Posting Dokumen:

centang kotak Dibolehkan menghapus persediaan jika tidak ada saldo menurut data akuntansi:

Pengendalian saldo dalam konteks gudang

Untuk mencegah saldo negatif pada gudang, atur analitik Berdasarkan gudang. Anda dapat mengaktifkan analitik untuk gudang di pengaturan akuntansi: bagian Administrasi - lalu Parameter akuntansi. Memilih Menyiapkan bagan akun dan dalam akuntansi inventaris, klik Berdasarkan item dan gudang (berdasarkan kuantitas):

Atur bendera di jendela baru Berdasarkan gudang (lokasi penyimpanan). Kotak centang ini akan mempengaruhi pengendalian saldo dalam konteks gudang:

  • Jika kotak centang tidak dicentang, kontrol keseimbangan dilakukan oleh organisasi;
  • Jika kotak centang dicentang, dalam konteks organisasi dan gudang tertentu:

Pengendalian saldo negatif di 1C 8.3

Jika tidak mungkin untuk menghapus centang pada kotak atau ada alasan untuk menyimpan catatan dengan saldo negatif, 1C 8.3 Akuntansi menerapkan laporan yang memungkinkan Anda mengontrol saldo negatif.

Laporan Pengendalian saldo negatif di 1C 8.3 terletak di bagian Gudang - lalu Kontrol saldo negatif:

Laporan dapat dibuat untuk jangka waktu tertentu dengan rincian dokumen, gudang, barang dan objek akuntansi lainnya. Dan juga menampilkan data untuk gudang atau item tertentu menggunakan pilihan:

Penting! Laporan Kontrol Saldo Negatif hanya menampilkan saldo negatif untuk periode tertentu. Jika ada dokumen yang dihapuskan sebelum dimulainya laporan, maka saldo negatifnya tidak akan dimasukkan dalam laporan.

Untuk mengubah pengaturan laporan, Anda harus menggunakan perintah Tampilkan pengaturan. Dengan menelusuri tab pengaturan Pengelompokan, Pilihan, Bidang tambahan, Anda dapat memberikan laporan tampilan yang diinginkan:

Di situs web Anda dapat melihat konfigurasi 1C Accounting 8.3.

Detail lebih lanjut tentang pengaturan program 1C 8.2 (8.3). Larangan penghapusan persediaan jika tidak ada saldo bagaimana pengaruhnya hasil keuangan saksikan dalam video berikut ini:


Silakan menilai artikel ini:

Kontrol atas saldo gudang adalah prosedur akuntansi wajib di setiap perusahaan yang menangani barang. Seringkali Anda mungkin menghadapi situasi di mana tidak ada produk dalam program, tetapi sebenarnya produk tersebut ada di gudang. Dalam situasi seperti ini, ada dua pilihan:

  • Kirim untuk dijual;
  • Biarkan di gudang sampai keadaan situasi ini diklarifikasi.

Pilihannya bergantung pada beberapa faktor, seperti kebijakan organisasi atau situasi spesifik. Jika produk ada di counter dan pembeli tertarik (memegangnya di tangan), tidak disarankan untuk menolak penjualan.

Beberapa perusahaan berlatih membuat dokumen penjualan tanpa mempostingnya, namun tidak semua menggunakan praktik ini. Dalam kasus situasi serupa Program 1C di dalamnya versi terbaru menyarankan kemampuan untuk menonaktifkan kontrol saldo negatif.

Ketika kontrol diaktifkan, penjualan barang yang tidak tersedia sesuai program akan memberikan peringatan kepada pengguna: “Kolom “Kuantitas” pada baris 1 daftar “Produk” diisi dengan tidak benar. “Jumlah yang tertera melebihi saldo. Sisa: 18. Hilang 111.093.”

Menonaktifkan kontrol saldo negatif di 1C

Pengoperasian menghidupkan/mematikan kontrol saldo di 1C dilakukan melalui menu “Utama” - “Pengaturan” - “Parameter akuntansi” - “Persediaan”. Di sini Anda perlu mencentang kotak “Izinkan penghapusan inventaris jika tidak ada inventaris menurut data akuntansi.”

Setelah ini, tindakan dikonfirmasi dengan tombol “Rekam dan tutup”. Pada gilirannya, tindakan tersebut dijamin menjadi dasar pembentukan saldo negatif dalam akuntansi. Mereka harus dilenyapkan.

Laporkan “Pengendalian saldo negatif”

Laporan ini dihasilkan melalui menu “Gudang” - “Laporan”, tempat dokumen disajikan. Pengguna diharuskan menentukan interval permintaan dan mengklik tombol “Hasilkan”. Tidak adanya jangka waktu tertentu tidak akan memungkinkan untuk menunjukkan saldo negatif, yang merupakan fitur sistem yang memerlukannya pengisian wajib kolom "Periode".

Laporan yang sudah selesai mempunyai tampilan sebagai berikut.

Serangkaian filter standar tersedia untuk laporan itu sendiri, termasuk pengelompokan, pengurutan, dan transformasi data lainnya sesuai dengan permintaan dan kebutuhan pengguna. Dengan menggunakan tombol “Tampilkan Pengaturan”, Anda dapat memasukkan baris tambahan secara manual ke dalam laporan.

Artikel ini ditujukan untuk pelaksana 1C - dan khususnya bagi mereka yang sedang mempersiapkan Sertifikasi 1C: Spesialis Platform.

Hari ini kita akan melihat 2 metode pengendalian saldo - tidak hanya saldo di gudang, tetapi juga, misalnya, penyelesaian bersama (“Berapa utang klien saat ini dan apakah mungkin mengirimkan barang kepadanya?”)

Kedua metode tersebut digunakan dalam konfigurasi standar dan tugas Sertifikasi. Dan karena ada dua di antaranya - Anda perlu memahami dengan jelas kapan teknik "baru" dapat diterapkan, dan kapan hanya teknik "lama"..

Ini adalah pengetahuan dasar bagi programmer 1C, kami menyarankan untuk tidak meninggalkan celah di bidang tersebut. Ini akan membawa Anda untuk belajar 15 menit :)

Rumusan masalah

Mari kita ambil konfigurasi sederhana dengan dokumen “Penerimaan barang” dan “Penjualan barang”:

Untuk memperhitungkan saldo, register akumulasi “Saldo gratis” digunakan:

Saat memposting dokumen "Kwitansi barang", gerakan berikut dilakukan:

Prosedur Pemrosesan (Kegagalan, Mode)


Untuk Setiap TechStringProduk Dari Siklus Produk
Gerakan = Gerakan.FreeRemains.Add();
Movement.MovementType = AccumulationMovementType.Masuk;
Pergerakan.Periode = Tanggal;
Pergerakan.Nomenklatur = TechStringProducts.Nomenklatur;
Pergerakan.Kuantitas = TechStringProducts.Kuantitas;
Siklus Akhir;

Akhir Prosedur

Pemrosesan postingan dokumen “Kwitansi Barang” dilakukan dengan menggunakan motion designer dan tidak menarik, karena sesampainya di gudang tidak diperlukan pengendalian saldo.

Terkadang pengendalian saldo juga diterapkan pada dokumen “Penerimaan barang” - sehingga ketika dokumen dibatalkan atau diposting ulang, saldo negatif tidak terbentuk.

Misalnya 10 TV LG baru sampai di gudang, 6 diantaranya terjual. Jika dokumen resi berisi 10 buah. perbaiki sebanyak 5 pcs. – saldo negatif “minus 1 buah” terbentuk.

Dalam UT 11 yang khas, kontrol tersebut diaktifkan menggunakan pilihan fungsional“Mengendalikan barang-barang organisasi ketika terjadi pembatalan kuitansi.”

Saat memposting dokumen “Penjualan barang” perlu untuk mengatur pengendalian residu. Jika produk yang tersisa tidak cukup, dokumen tidak diposting dan pesan diagnostik dikeluarkan. Ini adalah masalah yang sedang dipecahkan.

Kami sengaja mengerjakan soal sederhana yang tidak menghitung biaya penghapusan. Hal ini akan memungkinkan kita untuk fokus secara khusus pada nuansa pengendalian residu.

Catatan– algoritma yang disajikan di bawah ini dirancang untuk pelatihan dan harus sejelas mungkin.
Mereka dapat dioptimalkan, tetapi “koefisien pemahaman” akan lebih rendah, jadi kami tidak membahasnya di artikel ini.

Tentu saja, Anda dapat mengoptimalkannya sendiri, atau mengikuti kursus kami tentang Akselerasi dan Optimasi 1C :)

Seperti yang sudah Anda pahami, pemecahan masalah dapat dilakukan dengan dua cara. Mari kita mulai dengan teknik yang telah digunakan sejak 1C:Enterprise 8.0.

Metode lama pengendalian residu

Prinsip teknik pengendalian residu lama adalah sebagai berikut: Kami memeriksa apakah masih ada sisa barang dalam jumlah yang dibutuhkan. Kalau ada kita hapus, kalau tidak kita laporkan kesalahan..

Algoritma pada metode lama terdiri dari beberapa blok:

  1. Permintaan tersebut mengambil saldo produk dan data dokumen
  2. Siklus memantau kecukupan barang
  3. Jika barang tidak mencukupi, maka dokumen tidak diposting
  4. Jika barang mencukupi maka dilakukan pergerakan konsumsi

Ini penampakan kode programnya:

// 1. Menghapus pergerakan register lama
Movements.FreeRemainders.Write = Benar;
Pergerakan.Rekam();

// 2. Menerima data dokumen dan mendaftarkan saldo berdasarkan permintaan
Permintaan = Permintaan Baru;
Permintaan.Teks =
"MEMILIH

|TEMPAT Produk
|DARI
|DIMANA
| Produk.Link = &Link
| KELOMPOK BERDASARKAN
| Produk.Nomenklatur
|INDEKS OLEH
| Tata nama
|;

|PILIH
,
| REPRESENTATIONLINK(Produk.Nomenklatur) SEBAGAI Representasi Nomenklatur,
| Produk.Kuantitas SEBAGAI Kuantitas,
| ISNULL(Sisa.JumlahTersisa, 0) SEBAGAI Sisa
|DARI
| Produk SEBAGAI Produk
| KIRI GABUNG DaftarAkumulasi.FreeRemains.Remains(
| &Momen waktu,
| Nomenklatur B
| (MEMILIH
| Produk.Nomenklatur SEBAGAI Nomenklatur
| DARI
| Produk Perangkat Lunak.Nomenklatur = Tersisa.Nomenklatur";
Permintaan.SetParameter("TimePoint", TimePoint());

// 3. Melintasi hasil kueri

// 4. Pengecekan kecukupan barang
Defisit = SampleProducts.Quantity - SampleProducts.Sisa;
Jika Defisit>0 Maka
Menolak = Benar;
Message.Text = "Produk "+SelectionProducts.NomenclaturePresentation+" tidak cukup jumlahnya "+Shortage+" pcs.";
Pesan.Pesan();
berakhir jika;

// 5. Lanjutkan ke awal perulangan jika ada kesalahan
Jika Gagal Maka
Melanjutkan;
berakhir jika;

// 6. Melakukan gerakan ke dalam register
Pergerakan.Periode = Tanggal;

Siklus Akhir;

// 7. Mengatur flag untuk mencatat pergerakan di akhir transaksi
Movements.FreeRemainders.Write = Benar;

Akhir Prosedur

Mari kita mengomentari poin-poin penting dari algoritma ini.

1. Menghapus pergerakan register lama

Di bawah algoritma akan ada permintaan ke sisa register.

Jika dokumen saat ini telah diposting sebelumnya, maka ada kemungkinan menerima perpindahan dokumen lama dalam permintaan– ini adalah masalah serius.

Kapan situasi seperti ini mungkin terjadi? Kapan tanggal dokumennya bergerak maju.

Mari kita tunjukkan dengan sebuah contoh apa yang akan terjadi:

  1. Lampu meja sisa 10 pcs.
  2. Dokumen tertanggal 16/02/17 sedang diproses, 6 lampu kami hapus
  3. Tanggal pada dokumen diubah menjadi 17/02/17 (tanggal dapat digeser ke depan minimal 1 detik), mari kita posting ulang dokumen tersebut.

Jika pergerakan tidak jelas, sistem akan melaporkan kekurangan 2 buah. Mengapa? Ya, karena pergerakan dokumen lama menghapus 6 dari 10 lampu yang ada. Selanjutnya sistem mencoba menghapus 6 buah lagi, namun hanya tersisa 4.

Masalahnya diselesaikan dalam 3 baris kode:

  • Kumpulan data sedang dibersihkan (mungkin telah dibaca di formulir atau di penangan sebelumnya)
  • Kumpulan rekaman memiliki kumpulan tanda “Tulis”.
  • Semua set yang memiliki set bendera “Rekam” dicatat.

Sebenarnya, kami dapat mengontrol pembersihan pergerakan saat memposting dokumen:

Opsi untuk menghapus gerakan saat membatalkan eksekusi disarankan - kami sendiri yang mengontrol kapan diperlukan untuk benar-benar menghapus gerakan.

2. Menerima data dokumen dan mencatat saldo berdasarkan permintaan

Permintaan terdiri dari dua paket:

  • Yang pertama, data yang dikelompokkan dari bagian tabel diperoleh - tabel sementara dibuat
  • Pada permintaan kedua, sisa register ditambahkan ke data dokumen.

Hal yang harus Anda perhatikan dalam permintaan ini:

  1. Saat membuat tabel sementara, bidang tempat penggabungan akan dilakukan diindeks - ini dilakukan untuk kinerja optimal
  2. Momen penerimaan saldo – sesuai dengan posisi dokumen pada sumbu waktu
  3. Mungkin tidak ada sisa dalam register - oleh karena itu dijalankan kiri bergabung dan untuk sumber daya "Kuantitas", fungsi "ECTNULL" digunakan - nilai NULL dikurangi menjadi nol.

3. Melewati hasil kueri

Permintaan yang dikembangkan berisi data dokumen yang dikelompokkan dan saldo berdasarkan item item.

Dalam satu lingkaran kita memeriksa hasil permintaan ini.

4. Periksa kecukupan barang

Kami menentukan kekurangan barang.

Jika defisit lebih besar dari nol berarti terjadi kekurangan barang:

  • Kami mengeluarkan pesan diagnostik
  • Setel parameter “Penolakan” untuk pemrosesan postingan ke “Benar”

Jika “Penolakan” sama dengan “Benar”, maka hasil transaksi pengeposan dokumen tidak akan dicatat. Berbicara dalam bahasa yang sederhana– ini adalah perintah kepada sistem untuk tidak memproses dokumen ini.

5. Lanjutkan ke awal siklus jika terdapat kesalahan

Jika ada kesalahan pada langkah siklus ini atau sebelumnya (Gagal = Benar), maka tidak ada gunanya membentuk gerakan. Bagaimanapun, mereka tidak akan dicatat dalam database.

6. Melakukan gerakan register

Jika pemeriksaan saldo berhasil, kita membuat pergerakan biaya.

7. Menetapkan tanda rekaman gerak di akhir transaksi

Jika bendera ini tidak disetel, maka pergerakan TIDAK akan direkam.

Di akhir transaksi pengeposan dokumen, hanya kumpulan catatan yang memiliki kumpulan tanda "Tulis" yang ditulis.

Agar adil, kami mencatat bahwa pengaturan properti "Rekam" dari sekumpulan catatan masuk akal dalam satu kondisi - dalam properti dokumen "Rekam pergerakan selama eksekusi" nilai "Rekaman yang dipilih" harus ditentukan:

Namun, nilai “Rekaman yang dipilih” itulah yang menjadi standar de facto:

  • Ini digunakan dalam larutan standar
  • Ditetapkan secara default saat membuat dokumen baru.

Nilai properti lainnya – “Tulis diubah” – sudah ketinggalan zaman dan praktis tidak pernah ditemukan dalam konfigurasi modern.

Metode baru untuk pengendalian residu

Metode baru ini menggunakan prinsip: kita menghapus barang-barang yang diperlukan, kemudian memeriksa apakah telah terbentuk saldo negatif untuk barang-barang dokumen tersebut. Jika ya, maka Anda perlu memutar kembali dokumen tersebut.

Seperti yang Anda lihat, ada perbedaan mendasar dalam momen pengendalian saldo:

  • Cara lama adalah dengan mengecek saldo terlebih dahulu, lalu menghapusnya
  • Teknik baru - pertama kita hapus, lalu kita periksa saldo.

Hasilnya, kode program akan terlihat seperti ini:

Prosedur Pemrosesan (Kegagalan, Mode)

// 1. Menerima data dokumen berdasarkan permintaan
Permintaan = Permintaan Baru;
Query.TemporaryTableManager = NewTemporaryTableManager;
Permintaan.Teks =
"MEMILIH
| Produk.Nomenklatur SEBAGAI Tata Nama,
| SUM(Item.Jumlah) SEBAGAI Kuantitas
|TEMPAT Produk
|DARI
| Dokumen Penjualan Barang dan Jasa Barang SEBAGAI Barang
|DIMANA
| Produk.Link = &Link
| KELOMPOK BERDASARKAN
| Produk.Nomenklatur
|INDEKS OLEH
| Tata nama
|;
|////////////////////////////////////////////////////////////////////////////////
|PILIH
| Produk.Nomenklatur SEBAGAI Tata Nama,
| Produk.Kuantitas SEBAGAI Kuantitas
|DARI
| Produk SEBAGAI Produk";
Request.SetParameter("Tautan", Tautan);
RequestResult = Permintaan.Eksekusi();

// 2. Pembentukan gerakan - register konsumsi
Pergerakan.FreeRemains.Clear();
SelectionProducts = Hasil Kueri.Select();
Sementara SelectProducts.Next() Loop
Pergerakan = Pergerakan.Sisa Bebas.Tambah Biaya();
Pergerakan.Periode = Tanggal;
Movement.Nomenclature = Produk Pilihan.Nomenklatur;
Pergerakan.Jumlah = Produk Sampel.Jumlah;
Siklus Akhir;

// 3. Merekam pergerakan di database
Movements.FreeRemainders.Write = Benar;
Pergerakan.Rekam();

// 4. Kueri yang menerima sisa negatif dari register
Permintaan.Teks =
"MEMILIH
| Sisa Tata Nama SEBAGAI Tata Nama,
| REPRESENTATIONLINK(Sisa.Nomenklatur) SEBAGAI NomenklaturRepresentasi,
| -Sisa.JumlahSisa Defisit
|DARI
| DaftarAkumulasi.FreeRemains.Remains(
| &Momen waktu,
| Nomenklatur B
| (MEMILIH
| Produk.Nomenklatur SEBAGAI Nomenklatur
| DARI
| Produk SEBAGAI Produk)) SEBAGAI Sisa
|DIMANA
| Tersisa. Jumlah Tersisa< 0";

Batas Kontrol = Batas Baru(TimePoint(), BorderView.Including);
Request.SetParameter("TimePoint", Batas Kontrol);
RequestResult = Permintaan.Eksekusi();

// 5. Menampilkan pesan kekurangan barang
Jika Bukan QueryResult.Empty() Lalu
Menolak = Benar;
ErrorSelect = Hasil Kueri.Pilih();
Sementara SelectErrors.Next() Loop
Pesan = MessageToUser Baru;
Message.Text = "Produk "+SampleErrors.NomenclaturePresentation+" tidak mencukupi kuantitasnya "+SampleErrors.Deficiency+" pcs.";
Pesan.Pesan();
Siklus Akhir;
berakhir jika;

Akhir Prosedur

Mari kita lihat poin-poin penting dari algoritma ini.

1. Menerima data dokumen berdasarkan permintaan

Kueri ini diperlukan untuk mengelompokkan data di bagian tabel dokumen.

Perhatikan bahwa kueri pertama dalam kumpulan membuat tabel sementara - tabel tersebut akan digunakan dalam kueri berikutnya. Hal ini dimungkinkan berkat pengelola tabel sementara yang dibuat untuk kueri ini.

2. Pembentukan gerakan - register konsumsi

Dalam siklus tersebut, data dari dokumen dicatat dalam register - yaitu, penghapusan barang tanpa syarat (tanpa verifikasi) dilakukan.

3. Merekam pergerakan di database

Agar saldo dalam register berubah, pergerakan harus dicatat.

4. Permintaan menerima sisa negatif dari register

Sekarang, dengan permintaan sederhana, kami memilih saldo negatif untuk barang dokumen.

Di sinilah tabel sementara yang dibuat pada langkah pertama digunakan - suatu kondisi diterapkan pada item (untuk ini kita tidak membuat objek baru dengan tipe "Permintaan", tetapi menggunakan yang dibuat sebelumnya).

Perhatikan bagaimana momen waktu ditransmisikan - tipe data "Batas" digunakan. Sisa saldo harus diterima pada suatu waktu segera SETELAH dokumen saat ini.

Apakah mungkin mendapatkan saldo tanpa batas, misalnya dengan menambahkan 1 detik pada tanggal dokumen?

TIDAK! Toh, dalam satu detik bisa ada banyak sekali dokumen. Oleh karena itu, satu-satunya pilihan yang tepat adalah menggunakan tipe batas “Termasuk”.

5. Menampilkan pesan kekurangan barang

Jika hasil kueri tidak kosong, maka ada sisa negatif - dalam hal ini, dokumen tidak diproses dan pesan tentang semua kesalahan ditampilkan.

Manfaat pengendalian residu menggunakan metode baru

Jadi, kedua algoritma menyelesaikan masalah yang sama.

Perbedaan antara algoritma terlihat, namun keuntungannya tidak jelas.

Jadi mari kita soroti mereka:

  1. Tidak perlu menghapus perpindahan dokumen lama. Pada dasarnya, ini adalah operasi menulis kumpulan gerakan kosong ke database dan menghapus gerakan yang ada - ini adalah operasi yang memerlukan banyak sumber daya.
  2. Kueri yang mengambil data saldo negatif hanya mengakses satu tabel - tidak perlu melakukan gabung kiri dengan data dokumen dan menggunakan fungsi “ISNULL()”.

Selain itu, selama proses bisnis normal, pengguna menunjukkan jumlah yang tidak melebihi saldo di gudang.

Dalam hal ini, permintaan kedua tidak akan mengembalikan data apa pun dan pemrosesan dokumen akan dilakukan secepat mungkin.

Apakah milidetik ini sangat penting?

Atas dasar dengan sebagian kecil data dan pengguna, perbedaannya tidak akan terlalu terlihat. Namun dalam sistem yang sibuk dengan lusinan pengguna, biaya setiap milidetiknya tinggi.

Selain itu, selama ujian 1C:Platform Specialist, Anda harus menggunakan metode baru dalam mengontrol saldo, jika tugas tertentu memungkinkannya.

Oke, jadi sebaiknya selalu gunakan teknik baru kan?

Tidak itu tidak benar!

Teknik baru ini hanya dapat digunakan jika semua data yang diperlukan untuk memproses dokumen ada di dalam dokumen itu sendiri.

Artinya, untuk memperoleh data, Anda tidak perlu mengakses register yang mengontrol saldo.

Jadi, misalnya, jika jumlah tersebut juga diperhitungkan dalam register “Saldo Gratis”, maka metode kontrol yang lama harus digunakan.

Omong-omong, dalam standar “1C: Manajemen Perdagangan 11” kontrol saldo diterapkan menggunakan metode baru, dan dalam “1C: Akuntansi 8” - sesuai dengan metode lama.

Tapi itu belum semuanya!

Algoritme yang disajikan di atas hanya dapat digunakan untuk tujuan pendidikan. Intinya mereka tidak memperhitungkan kunci yang dikendalikan, yang harus digunakan jika ada lebih dari satu pengguna di sistem.

Blok untuk kedua metode pengendalian residu dibahas. Juga di artikel ini kami menyelesaikan lebih banyak tugas yang sulit– selain memantau saldo, kami menghitung harga pokok barang yang dihapuskan. Kami menyarankan Anda mempelajarinya dengan cermat.

Dan sebagai permulaan, anggap saja begitu memasang kunci dengan metode baru sangat sederhana– dan ini merupakan keuntungan lain dari metode pengendalian residu yang baru.

Hasil

Mari kita rangkum secara singkat.

Kami melihat dua teknik pengendalian residu, yang masing-masing digunakan dalam konfigurasi tipikal modern.

Perbedaan utama antara teknik-teknik tersebut pada saat pengendalian saldo:

  • Teknik lama - kontrol sebelum merekam gerakan dalam register
  • Teknik baru - kontrol setelah merekam pergerakan dalam register

Secara umum, teknik baru ini lebih efektif, namun tidak selalu dapat diterapkan.

Kriteria penerapan– jika tidak ada kebutuhan untuk mengakses data dari register terkontrol untuk menghasilkan pergerakan, teknik baru dapat digunakan.

Jika kita berbicara tentang pengendalian saldo produk, maka penggunaan teknik baru dimungkinkan ketika data biaya dan saldo gudang disimpan dalam register yang berbeda.

Dan terakhir, contoh dari konfigurasi khas:

  • DI DALAM UT 11 ada 2 register utama untuk akuntansi item: Saldo bebas (kuantitas) dan Harga Pokok (data biaya) - metodologi baru digunakan
  • DI DALAM BP 3.0 data biaya dan saldo disimpan dalam satu register akuntansi - metode lama dalam mengendalikan saldo digunakan.
Pilihan Editor
Gaidar Arkady Petrovich Hati Nurani Nina Karnaukhova tidak mempersiapkan pelajaran aljabar dan memutuskan untuk tidak bersekolah. Tapi agar kenalan...

labu – 1 kg (berat bersih), jeruk – 200 g (1 besar). Koleksi Resep Penganan Labu : 10 Parut labu di parutan kasar....

Saya sampaikan rangkuman kegiatan pendidikan anak usia 10-12 tahun (siswa kelompok menengah) dengan topik “Di Rimba Robotika”. Ini...

Salah satu bidang yang paling menjanjikan di bidang teknologi TI adalah robotika. Mengapa? Ya, karena selanjutnya...
Mengasinkan ikan air tawar di rumah memang sederhana dan menguntungkan, karena ikan air tawar adalah salah satu camilan terlezat untuk minuman berbusa! aku memberi garam pada ikan air tawar...
Lokakarya dengan topik “Buruh” Tujuan: untuk mengkonsolidasikan pengetahuan siswa tentang topik “Buruh” Jenis pelajaran: permainan-pelajaran. Kemajuan pelajaran Bagian organisasi. Kelas...
Buatlah teka-teki silang dengan topik "Buruh dan Kreativitas" 20 kata! Jawaban: Horisontal: 1. Berkat dia, Moskow masih ada hingga saat ini...
Jamur madu merupakan salah satu jamur favorit setiap penggemar “quiet hunter”. Tumbuh dalam jumlah besar di hutan, dan oleh karena itu mengumpulkannya adalah satu hal...
Tanggal terbit: 04/10/18 Kulich adalah suguhan utama Paskah dan merupakan simbol hari raya gereja. Ada banyak variasi...