Buxgalteriya ma'lumotlari. Buxgalteriya hisobi ma'lumotlari 1-larda salbiy qoldiqlarni nazorat qilish 8.3

  • 05.02.2024

Video darslarimda men tez-tez 1C ma'lumotlar bazasi davrni yopish va hisobot berish uchun tayyorlanishi kerakligi haqida gapiraman. Va bunday tayyorgarlikning muhim nuqtalaridan biri tovarlar, materiallar va tayyor mahsulotlarning salbiy balanslarini nazorat qilishdir. 1C: Buxgalteriya hisobidagi inventar hisoblarining holatini tekshirish uchun qanday hisobotlardan foydalanish kerak? Keling, ulardan ba'zilarini ko'rib chiqaylik.

1. “Hisob balansi” hisoboti

Ko'pgina buxgalterlar hisob balanslari bilan ishlashga odatlangan. Ushbu hisobot haqiqatan ham inventar qoldiqlarini nazorat qilish uchun ishlatilishi mumkin, shunchaki sozlamalar miqdoriy ko'rsatkichlarni ko'rsatish uchun o'rnatilganligiga ishonch hosil qilishingiz kerak.
"Sozlamalarni ko'rsatish" tugmasini bosing va "Ko'rsatkichlar" yorlig'iga o'ting.

Keyin biz hisobotni diqqat bilan ko'rib chiqamiz va aniqlangan xatolarni tahlil qilamiz

Balans qulay, chunki u nafaqat salbiy miqdoriy qoldiqlar mavjudligini baholashga, balki boshqa muammoli vaziyatlarni aniqlashga imkon beradi:
- tovar-moddiy boyliklarning miqdorsiz qoldiqlari;
- miqdorsiz umumiy qoldiq;
- salbiy balans.
Biroq, agar buxgalteriya hisobiga ko'p sonli ob'ektlar jalb qilingan bo'lsa, unda bunday tekshirish juda ko'p mehnat talab qilishi mumkin. Bundan tashqari, SALT har bir buxgalteriya hisobi (10, 41, 43) uchun alohida yaratilishi kerak, bu ham ish jarayonini biroz murakkablashtiradi.

2. “Saldoni nazorat qilish” hisoboti

1C: Enterprise Accounting 8 nashri 3.0 konfiguratsiyasi inventarning salbiy miqdoriy qoldiqlarini kuzatish uchun ideal hisobotni taqdim etadi. Hisobot "Ombor" yorlig'ida joylashgan.

Biz davrni, tashkilotni ko'rsatamiz va hisobot yaratamiz.

Hisobot faqat salbiy miqdoriy qoldiq aniqlangan moddalarni o'z ichiga oladi. Katta afzallik shundaki, barcha inventar hisoblari bo'yicha ma'lumotlar tahlil qilinadi. Menimcha, OSV bilan ishlashdan ko'ra hisobot bilan ishlash qulayroq.
Ammo minus ham bor - hisobot sizga faqat salbiy miqdoriy balanslarni kuzatish imkonini beradi va SALT sizga aniqlash imkonini beradigan boshqa muammolarni sahnada qoldirib ketadi.

3. “Subkonto tahlili” hisoboti

Men bu hisobot haqida bir necha bor gapirganman. Subkonto tahlili mening sevimli hisobotlarimdan biri bo'lib, bu sizga nafaqat xatolarni aniqlashga, balki ko'p holatlarda ularning sabablarini tushunishga imkon beradi.
"Hisobotlar" - "Subconto Analysis" bo'limiga o'ting.

"Nomenklatura" subkontosini tanlang va hisobot sozlamalarida miqdoriy ko'rsatkichlarni ko'rsatish yoqilganligini tekshiring.

Subkonto tahlili yaxshi, chunki u barcha buxgalteriya hisoblari bo'yicha inventar ob'ektlar harakati haqida ma'lumot olish imkonini beradi. Masalan, mahsulot bitta buxgalteriya hisobiga kelgan, lekin boshqasidan sotilgan holatlarni kuzatish.

Biroq, ko'p sonli elementlar bilan ma'lumotlarni tahlil qilish qiyin bo'lishi mumkin.
Ushbu hisobot bilan ishlash haqida men 1C - VIDEOda "Subconto Analysis" hisoboti bilan qanday ishlash kerakligi haqida video darsida ko'proq gaplashdim.
Shunday qilib, ko'rib chiqilgan hisobotlarning har biri o'zining ijobiy va salbiy tomonlariga ega. Men o'z ishimda ularni birlashtirishni tavsiya qilaman:
- “Salbiy qoldiqlarni nazorat qilish” hisoboti yordamida qo'pol xatolarni topish;
- keyin barcha inventar hisoblari uchun SALTni ko'ring;
- noto'g'ri balansning sabablarini aniqlash uchun "Subconto Analysis" hisobotidan foydalaning.
Shuningdek, ikkita foydali videoda inventarizatsiya ob'ektlarini hisobga olishda xatolarni topish va tuzatish bilan bog'liq qiziqarli misollarni muhokama qildim:

Har qanday tashkilot aktsiyalarning balansini kuzatishi kerak. Va ko'pincha mahsulot haqiqatda mavjud bo'lganda vaziyat yuzaga keladi, lekin u dasturda yo'q. Va keyin buxgalter qaror qabul qilishga majbur bo'ladi:

  • uni sotishga ruxsat berish;
  • bu holat nima uchun paydo bo'lganligi aniq bo'lgunga qadar kechiktiring.

Qaror, qoida tariqasida, balanslarni hisobga olish bo'yicha tashkilotda amal qiladigan siyosat asosida qabul qilinadi. Ba'zan siz mahsulotni bir chetga surib, xaridorga hozir sotishning iloji yo'qligini aytishingiz mumkin. Ba'zan buni amalga oshirish mumkin emas. Misol uchun, xaridor ushbu mahsulotni ko'rganda yoki uni allaqachon qo'lida ushlab turganda.

Albatta, siz shunchaki savdo hujjatini yaratishingiz va hujjatni joylashtirmasligingiz mumkin, ammo hamma tashkilotlar bunga ruxsat bermaydi. Shuning uchun, 1C 8.3 dasturida (8.2-da bo'lgani kabi) salbiy balanslarni boshqarishni o'chirib qo'yish mumkin.

Agar balans nazorati yoqilgan bo'lsa, u holda stokda bo'lmagan (yoki kerakli hisobda) mahsulotni sotishda dastur quyidagi ogohlantirishni beradi:

"Mahsulotlar" ro'yxatining 1-qatoridagi "Miqdor" ustuni noto'g'ri to'ldirilgan.
Ko'rsatilgan miqdor balansdan oshib ketadi. Qolganlari: 18; Yo'qolgan: 111 093

1C da 267 ta video darslarni bepul oling:

1C 8.3 da salbiy balanslarni boshqarishni o'chirish

1C-da balansni boshqarishni o'chirish yoki yoqish uchun siz "Asosiy" menyuga o'tishingiz kerak, keyin "Sozlamalar" bo'limida "" ni tanlang.

1C Buxgalteriya hisobining ba'zi versiyalarida ushbu sozlamalar "Ma'muriyat - Hujjatlarni joylashtirish sozlamalari" menyusida joylashgan.

"Buxgalteriya hisobi parametrlari" da siz 1C "Tovar-moddiy zaxiralar" yorlig'iga o'tishingiz va "Buxgalteriya hisobi ma'lumotlari bo'yicha qoldiqlar bo'lmasa, tovar-moddiy zaxiralarni hisobdan chiqarishga ruxsat berish" katagiga belgi qo'yishingiz kerak:

Keyin qilishingiz kerak bo'lgan yagona narsa "Saqlash va yopish" tugmasini bosing. Endi hisobdan chiqarishda qoldiqlar nazorat qilinmaydi.

Ammo bunday usul muqarrar ravishda omborda (dasturda) salbiy balanslarning paydo bo'lishiga olib keladi. Keling, bu bilan qanday kurashishni ko'rib chiqaylik.

Hisobot "salbiy qoldiqlarni nazorat qilish"

Eng oddiy holatda, siz shunchaki davrni tanlashingiz va "Yaratish" tugmasini bosishingiz kerak. Va bu erda meni birinchi syurpriz kutdi.

Men sinov dasturida o'zimda mavjud bo'lgandan ko'ra ko'proq tovarlar sotgan vaziyatni maxsus simulyatsiya qildim. Bundan tashqari, u bu savdoni 2013 yilda amalga oshirgan. Mantiqan, men hali ham qizil rangda bir xil mahsulotga egaman, 2016-yil. Shuning uchun, men hatto davrga ham tegmadim, lekin darhol "Yaratish" tugmasini bosdim. Bu men uchun ish bermadi. Ma'lum bo'lishicha, hisobot faqat tanlangan davr uchun manfiy qoldiqlar haqidagi ma'lumotlarni ko'rsatishi mumkin.

Ombor qoldiqlarini nazorat qilish tovarlar bilan ishlaydigan har qanday korxonada majburiy buxgalteriya tartibi hisoblanadi. Ko'pincha dasturda mahsulot bo'lmagan vaziyatga duch kelishingiz mumkin, lekin u aslida omborda. Bunday vaziyatda ikkita variant mavjud:

  • Uni sotish uchun yuboring;
  • Bu holatning holatlari aniqlanmaguncha uni omborda qoldiring.

Tanlov tashkilot siyosati yoki muayyan vaziyat kabi bir qancha omillarga bog'liq. Agar mahsulot peshtaxtada bo'lsa va xaridor unga qiziqsa (qo'lida ushlab tursa), sotishdan bosh tortish tavsiya etilmaydi.

Ba'zi korxonalar savdo hujjatini e'lon qilmasdan yaratishni mashq qiladilar, ammo hamma ham bu amaliyotdan foydalanmaydi. Bunday vaziyatlarda 1C dasturi o'zining so'nggi versiyalarida salbiy balanslarni boshqarishni o'chirish imkoniyatini taklif qiladi.

Nazorat faollashtirilganda, dastur bo'yicha zaxirada bo'lmagan tovarlarni sotish foydalanuvchiga ogohlantirish beradi: "Mahsulotlar" ro'yxatining 1-qatoridagi "Miqdor" ustuni noto'g'ri to'ldirilgan. “Ko‘rsatilgan miqdor balansdan oshib ketdi. Qolgan: 18. 111.093 yoʻqolgan”.

1C da salbiy balanslarni boshqarishni o'chirish

1C-da balanslarni boshqarishni yoqish / o'chirish operatsiyasi "Asosiy" - "Sozlamalar" - "Buxgalteriya parametrlari" - "Tovar-moddiy zaxiralar" menyusi orqali amalga oshiriladi. Bu erda siz "Buxgalteriya hisobi ma'lumotlariga ko'ra inventar bo'lmasa, inventarni hisobdan chiqarishga ruxsat berish" katagiga belgi qo'yishingiz kerak.

Shundan so'ng, harakat "Yozish va yopish" tugmasi bilan tasdiqlanadi. O'z navbatida, bunday harakatlar buxgalteriya hisobida salbiy qoldiqlarni shakllantirish uchun asos bo'lishi kafolatlanadi. Ularni yo'q qilish kerak bo'ladi.

Hisobot "salbiy qoldiqlarni nazorat qilish"

Ushbu hisobot hujjat taqdim etiladigan "Ombor" - "Hisobotlar" menyusi orqali yaratiladi. Foydalanuvchi so'rov oralig'ini aniqlashi va "Yaratish" tugmasini bosishi kerak. Belgilangan davrning yo'qligi sizga salbiy qoldiqlarni ko'rsatishga imkon bermaydi, bu tizimning o'ziga xos xususiyati bo'lib, "Davr" ustunini majburiy to'ldirishni talab qiladi.

Tayyor hisobot quyidagi ko'rinishga ega.

Hisobotning o'zi uchun standart filtrlar to'plami mavjud, jumladan, foydalanuvchi so'rovlari va ehtiyojlariga muvofiq guruhlash, saralash va boshqa ma'lumotlarni o'zgartirish. "Sozlamalarni ko'rsatish" tugmasidan foydalanib, siz hisobotga qo'shimcha qatorlarni qo'lda kiritishingiz mumkin.

Savdo yoki ishlab chiqarish korxonalarida buxgalteriya hisobi tizimida salbiy qoldiqlar "ochiladi". Ular haddan tashqari hisobdan chiqarilgan tovarlar/materiallarni aks ettiradi.

Ularning paydo bo'lishining sabablari nimada?

Kelish yo'q

Ko'pincha eng keng tarqalgan sabab tovarlarni qabul qilishning etishmasligi yoki dastlabki qoldiqlarni kiritish bo'lishi mumkin. Misol uchun, siz mahsulotni sotib oldingiz, lekin uni hali tizimda ro'yxatdan o'tkaza olmadingiz, lekin ular allaqachon sotishga muvaffaq bo'lishdi. Nima bo'ladi, tovarlar ro'yxatga olingan, keyin do'konga ko'chirilgan va sotilgan, ammo kimdir kvitansiya hujjatini bekor qilgan.

Bunday holda, to'g'ri harakat yo'nalishi ma'lumotlar bazasida kvitansiya hujjatining mavjudligini tekshirish bo'ladi. Agar u mavjud bo'lsa va joylashtirilmagan bo'lsa, to'ldirishni tekshiring va uni joylashtiring. Agar kvitansiya hujjati umuman ma'lumotlar bazasida bo'lmasa, uni orqaga qaytarish kerak. Shuni tushunish kerakki, yopiq soliq davrida hujjatlarni orqaga qarab qo'shish soliq summalarining, xususan, QQSning o'zgarishiga olib kelishi mumkin.

Qayta baholash

Biz ko'rib chiqayotgan hodisaning yana bir keng tarqalgan sababi - bir turdagi mahsulot (material) ning noto'g'ri tasnifi yoki ortiqcha bo'lishi va ayni paytda boshqasining etishmasligi. Misol uchun, dasturda faqat 10 dona miqdoridagi qora hamyon stokda belgilangan, ammo do'konda sotuvchi qizil hamyonni sotadi va uning sotilishini ma'lumotlar bazasida 5 dona miqdorida qayd qiladi. Natijada, ma'lumotlar bazasidagi qora hamyonlar qoldig'i kamaymaydi, ammo bizning balansimiz qizil hamyonlarda paydo bo'ladi.

Bunday holda, balanslarni tuzatish quyidagi tarzda hal qilinadi: bir mahsulotni ro'yxatdan o'tkazish va boshqasini hisobdan chiqarish qayd etiladi. Buning uchun "Tovarlarni kapitallashtirish" hujjatini yarating va unda 5 ta band kapitallashtiriladi. qizil hamyonlar. Keyinchalik, "Tovarlarni hisobdan chiqarish" hujjati tuziladi va unda 5 ta element hisobdan chiqariladi. qora hamyonlar.

1C: Buxgalteriya 3.0-da mahsulot (materiallar) uchun salbiy qoldiq mavjud bo'lganda, "Tovarlarni sotish" hujjatini joylashtirishda ushbu hujjatni joylashtirish mumkin emasligi to'g'risida ma'lumot xabari ko'rsatiladi, chunki birliklar soni. hujjatning jadval qismida ko'rsatilgan balansdan oshib ketadi.

1-rasm Omborda balans yo'q bo'lganda hujjatdagi xabar

Balansdagi ogohlantirish signallari - salbiy balanslar qizil rang bilan ta'kidlangan!



Fig.2 OSV tomonidan kuzatish

1C BP 3.0 da salbiy balanslarni boshqarishni qanday yoqish yoki o'chirish mumkin

Siz "Ma'muriyat" bo'limida boshqaruvni o'rnatishingiz mumkin, keyin "Hujjatlarni yuborish" havolasini bosing.



3-rasm Sozlama

Boshqarishni o'chirish uchun siz "Buxgalteriya hisobi ma'lumotlariga ko'ra qoldiqlar bo'lmasa, inventarni hisobdan chiqarishga ruxsat berish" parametridagi bayroqni faollashtirishingiz kerak.



Shakl.4 Salbiy balans ko'rsatkichlari bo'lgan birliklarni hisobdan chiqarishga ruxsat

Shoshilinch ravishda jo'natilishi kerak bo'lgan mahsulotni zudlik bilan sotish uchun siz nazoratni vaqtincha o'chirib qo'yishingiz kerak bo'ladi. "Ishga tushirish" hujjati tizimga joylashtiriladi va keyin boshqaruv yana yoqiladi. Keyin salbiy mahsulotga sabab bo'lgan buxgalteriya xatosini tuzatish uchun qoldiqlarni tahlil qilishni unutmasligingiz kerak.

Ombor bo'yicha balanslarni nazorat qilish uchun siz "Ma'muriyat" orqali "Buxgalteriya sozlamalari" da ular uchun tahlillarni o'rnatishingiz kerak.



5-rasm Parametrlar

"Hisoblar jadvalini o'rnatish" tugmasini bosing.



Fig.6 Parametrni o'rnatish

"Buyum, partiyalar va omborlar bo'yicha (miqdori va miqdori bo'yicha)" tugmasini bosing.



Fig.7 Tovar-moddiy zaxiralarni hisobga olish parametrlari

Analitikani o'rnatishda "Omborlar (saqlash joylari) bo'yicha" tugmasini bosish orqali biz yozuvlarni qanday saqlashni tanlaymiz.



Fig.8 Ombor tahlilini faollashtirish

Agar "miqdori va miqdori bo'yicha" sozlamasi tanlansa, shunga ko'ra, buxgalteriya hisobi omborlar uchun miqdoriy va umumiy hisobda alohida bo'ladi va agar "miqdori bo'yicha" bo'lsa, har bir ombor kontekstida faqat miqdoriy bo'ladi va hisobdan chiqarish summalari. tovar-moddiy zaxiralar narxini barcha omborlardagi butun miqdorga bo'lish yo'li bilan aniqlanadi.

Nazorat hisobotlari

"Salbiy qoldiqlarni nazorat qilish" hisoboti tashkilotlar tovarlarining aniqlangan salbiy qoldiqlarini tahlil qilish uchun ishlatiladi. Siz uni "Ombor - Salbiy qoldiqlarni boshqarish" orqali ochishingiz mumkin.



9-rasm Balanslarni nazorat qilish bo'yicha hisobotlar



Fig.10 Nazorat hisoboti shakli

Hisobot sozlamalarida siz hisobotni qanday ma'lumotlar asosida tuzishni belgilashingiz mumkin, masalan, tashkilot, ombor, hisobdan chiqarish hujjati, ob'ekt va boshqalar bo'yicha ma'lumotlarni guruhlash.



Fig.11 Hisobot sozlamalarini boshqarish

Tanlovda, masalan, ma'lum bir ombor yoki muammoli element uchun hisobot yaratish uchun qanday ma'lumotlarni belgilashingiz mumkin.



12-rasm Nazorat hisobotidagi tanlovlar



13-rasm Nazorat hisobotini yaratish

Salbiy qoldiqlar buxgalteriya hisobidagi xatolarning o'ziga xos ko'rsatkichidir. Ombor balanslarini doimiy ravishda kuzatib borish va ularni o'z vaqtida tuzatish muhimdir. Mavjud noto'g'ri balanslar foydalanuvchilarning operatsion ishi uchun muammolarni keltirib chiqaradi, shuningdek, xarajatlarni, qayta baholashni va boshqa muhim buxgalteriya ko'rsatkichlarini noto'g'ri hisoblashga olib kelishi mumkin.

Ushbu maqola 1C dasturini amalga oshiruvchilar uchun va ayniqsa 1C sertifikatiga tayyorlanayotganlar uchun mo'ljallangan: Platforma mutaxassisi.

Bugun biz ko'rib chiqamiz Balanslarni nazorat qilishning 2 usuli - nafaqat ombordagi qoldiqlar, balki, masalan, o'zaro hisob-kitoblar ("Mijozning hozirgi qarzi qancha va unga tovarlarni jo'natish mumkinmi?")

Ikkala usul ham standart konfiguratsiyalarda va Sertifikatlash vazifalarida qo'llaniladi. Va ularning ikkitasi borligi sababli - "yangi" texnika qachon va qachon faqat "eski" qo'llanilishini aniq tushunishingiz kerak.

Bu 1C dasturchilari uchun asosiy bilimdir, biz bunday sohalarda bo'sh joy qoldirmaslikni tavsiya qilamiz. Bu sizni o'qishga olib borishi kerak 15 daqiqa :)

Muammoni shakllantirish

Keling, "Tovarlarni qabul qilish" va "Tovarlarni sotish" hujjatlari bilan oddiy konfiguratsiyani olaylik:

Balanslarni hisobga olish uchun "Erkin qoldiqlar" jamg'arma registridan foydalaniladi:

"Tovarlarni qabul qilish" hujjatini joylashtirishda quyidagi harakatlar amalga oshiriladi:

Qayta ishlash jarayoni (muvaffaqiyatsizlik, rejim)


Har bir TechString Mahsulotlar tsikli uchun
Harakat = Movements.FreeRemains.Add();
Movement.MovementType = AccumulationMovementType.Incoming;
Harakat.Period = Sana;
Harakat.Nomenklatura = TechStringProducts.Nomenklatura;
Movement.Quantity = TechStringProducts.Quantity;
EndCycle;

EndProcedure

"Tovarlarni qabul qilish" hujjatini joylashtirishni qayta ishlash harakat dizayneri yordamida amalga oshirildi va qiziqish uyg'otmaydi, chunki u omborga kelganida, qoldiqlarni nazorat qilish shart emas.

Ba'zida balans nazorati "Tovarlarni qabul qilish" hujjati uchun ham amalga oshiriladi - hujjat bekor qilinganda yoki qayta joylashtirilganda salbiy qoldiq hosil bo'lmasligi uchun.

Masalan, omborga 10 ta yangi LG televizorlari kelib tushdi, ulardan 6 tasi sotildi. Agar kvitansiya hujjatida 10 ta bo'lsa. 5 dona bilan tuzating. - "minus 1 dona" salbiy balans hosil bo'ladi.

UT 11 standartida bunday nazorat "Kvitansiyalarni bekor qilishda tashkilotlarning tovarlarini nazorat qilish" funktsional opsiyasi yordamida yoqilgan.

"Tovarlarni sotish" hujjatini joylashtirishda qoldiqlarni nazorat qilishni tashkil etish zarur. Agar mahsulot yetarli bo'lmasa, hujjat joylashtirilmaydi va diagnostika xabari chiqariladi. Bu muammo hal qilinmoqda.

Biz ataylab oddiy muammo ustida ishlayapmiz, bunda hisobdan chiqarish qiymati hisoblanmaydi. Bu bizga qoldiqlarni nazorat qilishning nuanslariga alohida e'tibor qaratish imkonini beradi.

Eslatma- quyida keltirilgan algoritmlar o'qitish uchun mo'ljallangan va iloji boricha aniq bo'lishi kerak.
Ularni optimallashtirish mumkin, ammo keyin "tushunish koeffitsienti" pastroq bo'ladi, shuning uchun biz ushbu maqolada bu haqda to'xtalmaymiz.

Tabiiyki, siz ularni o'zingiz optimallashtirishingiz yoki 1C tezlashtirish va optimallashtirish bo'yicha kursimizni o'tashingiz mumkin :)

Siz allaqachon tushunganingizdek, muammoni hal qilish ikki yo'l bilan amalga oshirilishi mumkin. Keling, 1C: Enterprise 8.0 davridan beri qo'llanilgan texnikadan boshlaylik.

Qoldiqlarni nazorat qilishning eski usuli

Qadimgi qoldiqlarni nazorat qilish texnikasining printsipi quyidagicha: Kerakli miqdorda qolgan tovarlar bor yoki yo'qligini tekshiramiz. Agar mavjud bo'lsa, biz uni hisobdan chiqaramiz, agar bo'lmasa, xato haqida xabar beramiz..

Eski usuldagi algoritm bir nechta bloklardan iborat:

  1. So'rov mahsulot balansi va hujjat ma'lumotlarini oladi
  2. Tsikl tovarlarning etarliligini nazorat qiladi
  3. Agar tovarlar etarli bo'lmasa, hujjat joylashtirilmaydi
  4. Tovarlar yetarli bo'lsa, iste'mol harakatlari amalga oshiriladi

Dastur kodi shunday ko'rinadi:

// 1. Eski registr harakatlarini tozalash
Movements.FreeRemainders.Write = Rost;
Movements.Record();

// 2. Hujjat ma'lumotlarini qabul qilish va so'rov bo'yicha qoldiqlarni ro'yxatga olish
So'rov = Yangi so'rov;
So'rov.Matn =
"TANLANG

|PLACE Mahsulotlar
|FROM
|QAYERDA
| Products.Link = &Link
|GROUP BY
| Mahsulotlar. Nomenklatura
|INDEX BY
| Nomenklatura
|;

|SELECT
,
| REPRESENTATIONLINK(Mahsulotlar.Nomenklatura) AS NomenklaturaRepresentation,
| Mahsulotlar. Miqdor AS miqdori,
| ISNULL(Qolgan.Son, 0) Qolgan AS
|FROM
| Mahsulotlar AS Mahsulotlar
| CHAPGA QO'SHILING RegisterAccumulations.FreeRemains.Remains(
| &Vaqt lahzasi,
| Nomenklatura B
| (TANLANG
| Mahsulotlar.Nomenklatura AS Nomenklaturasi
| FROM
| Dasturiy ta'minot mahsulotlari.Nomenklatura = Qolgan.Nomenklatura";
Request.SetParameter("TimePoint", TimePoint());

// 3. So'rov natijalarini o'tkazish

// 4. Tovarlarning yetarliligini tekshirish
Kamomad = NamunaMahsulotlari.Miqdori - NamunaMahsulotlari.Qolgan;
Agar defitsit> 0 bo'lsa
Rad etish = rost;
Message.Text = "Mahsulot "+SelectionProducts.NomenclaturePresentation+" miqdorida "+Etmaslik+" dona yetarli emas";
Message.Message();
endIf;

// 5. Xatolar bo'lsa, tsiklning boshiga o'ting
Muvaffaqiyatsiz bo'lsa
Davom etish;
endIf;

// 6. Registrlarga harakatlarni bajarish
Harakat.Period = Sana;

EndCycle;

// 7. Tranzaksiya oxirida harakatlarni qayd qilish uchun bayroqni o'rnatish
Movements.FreeRemainders.Write = Rost;

EndProcedure

Keling, algoritmning asosiy nuqtalarini sharhlaylik.

1. Eski registr harakatlarini tozalash

Algoritm ostidagi registrning qolgan qismiga so'rov bo'ladi.

Agar joriy hujjat ilgari joylashtirilgan bo'lsa, unda mavjud so'rovda eski hujjat harakatlarini olish ehtimoli- bu jiddiy muammo.

Qachon bunday vaziyat yuzaga kelishi mumkin? Hujjat sanasi qachon oldinga siljiydi.

Bu nimaga olib kelishini misol bilan ko'rsatamiz:

  1. Qolgan stol lampalari 10 dona.
  2. 16.02.17 yildagi hujjat qayta ishlanmoqda, biz 6 ta chiroqni o'chiramiz
  3. Hujjatdagi sana 17.02.17 ga o'zgartirildi (sana kamida 1 soniya oldinga siljishi mumkin), keling, hujjatni qayta joylashtiramiz.

Agar siz harakatlarni aniqlamasangiz, tizim 2 dona etishmasligi haqida xabar beradi. Nega? Ha, chunki eski hujjat harakatlari 10 ta mavjud lampalardan 6 tasini yozgan. Keyinchalik, tizim yana 6 ta bo'lakni o'chirishga harakat qiladi, ammo faqat 4 tasi qoldi.

Muammo 3 qator kodda hal qilinadi:

  • Yozuvlar toʻplami tozalanmoqda (u shaklda yoki oldingi ishlov beruvchilarda oʻqilgan boʻlishi mumkin)
  • Rekordlar to'plamida "Yozish" belgisi mavjud
  • "Record" bayrog'i o'rnatilgan barcha to'plamlar qayd etiladi.

To'g'ri aytganda, biz hujjatlarni joylashtirishda harakatlarning tozalanishini nazorat qilishimiz mumkin:

Amalga oshirishni bekor qilishda harakatlarni o'chirish varianti tavsiya etiladi - biz harakatlarni qachon o'chirish kerakligini o'zimiz nazorat qilamiz.

2. Hujjat ma'lumotlarini olish va so'rov bo'yicha qoldiqlarni ro'yxatdan o'tkazish

So'rov ikkita paketdan iborat:

  • Birinchisida, jadval qismidan guruhlangan ma'lumotlar olinadi - vaqtinchalik jadval tuziladi
  • Ikkinchi so'rovda registrdagi qoldiqlar hujjat ma'lumotlariga qo'shiladi.

Ushbu so'rovda nimalarga e'tibor berish kerak:

  1. Vaqtinchalik jadvalni yaratishda birlashma amalga oshiriladigan maydon indekslanadi - bu optimal ishlash uchun amalga oshiriladi.
  2. Balansni olish momenti - hujjatning vaqt o'qi bo'yicha pozitsiyasiga to'g'ri keladi
  3. Registrda qoldiqlar bo'lmasligi mumkin - shuning uchun chap qo'shilish amalga oshiriladi va "Miqdor" resursi uchun "ECTNULL" funktsiyasidan foydalaniladi - NULL qiymati nolga kamayadi.

3. So'rov natijalarini chetlab o'tish

Ishlab chiqilgan so'rovda guruhlangan hujjat ma'lumotlari va moddalar bo'yicha balanslar mavjud.

Bir tsiklda biz ushbu so'rovning natijasini ko'rib chiqamiz.

4. Tovarlarning etarliligini tekshirish

Biz tovarlarning etishmasligini aniqlaymiz.

Agar kamomad noldan katta bo'lsa, bu tovarlarning etishmasligini anglatadi:

  • Diagnostika xabarini chiqaring
  • E'lonni qayta ishlash uchun "Rad" parametrini "To'g'ri" ga o'rnating

Agar "Rad" "To'g'ri" ga teng bo'lsa, hujjatni joylashtirish operatsiyasi natijasi yozilmaydi. Oddiy qilib aytganda, bu tizimga ushbu hujjatni qayta ishlamaslik buyrug'i.

5. Agar xatolar bo'lsa, tsiklning boshiga o'ting

Agar tsiklning ushbu yoki oldingi bosqichlarida xatolar bo'lsa (Muvaffaqiyatsizlik = To'g'ri), unda harakatlarni shakllantirishda hech qanday nuqta yo'q. Shunga qaramay, ular ma'lumotlar bazasida qayd etilmaydi.

6. Registrlarda harakatlarni bajarish

Agar balansni tekshirish muvaffaqiyatli bo'lsa, biz xarajatlar harakati yaratamiz.

7. Tranzaktsiya oxirida harakatni qayd etish bayrog'ini o'rnatish

Agar bu bayroq o'rnatilmagan bo'lsa, harakatlar YOQMAYDI.

Hujjatlarni joylashtirish operatsiyasining oxirida faqat "Yozish" belgisi o'rnatilgan yozuvlar to'plami yoziladi.

Adolat uchun shuni ta'kidlaymizki, yozuvlar to'plamining "Record" xususiyatini o'rnatish bitta shartda mantiqiy bo'ladi - hujjatning "Bajarish paytidagi harakatlarni yozib olish" xususiyatida "Yozuv tanlangan" qiymati ko'rsatilishi kerak:

Biroq, bu de-fakto standart bo'lgan "Yozuv tanlangan" qiymati:

  • U standart eritmalarda qo'llaniladi
  • Yangi hujjatlar yaratishda sukut bo'yicha o'rnatiladi.

Mulkning yana bir qiymati - "O'zgartirilgan yozish" - eskirgan va zamonaviy konfiguratsiyalarda deyarli hech qachon uchramaydi.

Qoldiqlarni nazorat qilishning yangi usuli

Yangi usul printsipdan foydalanadi: biz kerakli tovarlarni hisobdan chiqaramiz, keyin hujjat tovarlari uchun salbiy qoldiqlar shakllanganligini tekshiramiz. Ha bo'lsa, hujjatni orqaga qaytarishingiz kerak.

Ko'rib turganingizdek, balanslarni nazorat qilish momentida tub farq bor:

  • Eski usul - avval balansni tekshirish, keyin uni o'chirish
  • Yangi texnika - avval hisobdan chiqaramiz, keyin balansni tekshiramiz.

Natijada, dastur kodi quyidagicha ko'rinadi:

Qayta ishlash jarayoni (muvaffaqiyatsizlik, rejim)

// 1. Hujjat ma'lumotlarini so'rov bo'yicha qabul qilish
So'rov = Yangi so'rov;
Query.TemporaryTableManager = NewTemporaryTableManager;
So'rov.Matn =
"TANLANG
| Mahsulotlar. Nomenklatura AS Nomenklaturasi,
| SUM(Items.Quantity) AS Miqdor
|PLACE Mahsulotlar
|FROM
| Tovarlar va xizmatlarni sotish
|QAYERDA
| Products.Link = &Link
|GROUP BY
| Mahsulotlar. Nomenklatura
|INDEX BY
| Nomenklatura
|;
|////////////////////////////////////////////////////////////////////////////////
|SELECT
| Mahsulotlar. Nomenklatura AS Nomenklaturasi,
| Mahsulotlar. Miqdor AS Miqdor
|FROM
| Products AS Products";
Request.SetParameter("Link", Link);
RequestResult = Request.Execute();

// 2. Harakatlarning shakllanishi - registr iste'moli
Movements.FreeRemains.Clear();
SelectionProducts = So'rov natijasi.Select();
While SelectProducts.Next() tsikli
Harakat = Harakatlar.Free Remainings.AddExpense();
Harakat.Period = Sana;
Harakat.Nomenklatura = TanlashMahsulotlar.Nomenklatura;
Harakat.Miqdor = NamunaMahsulotlar.Miqdor;
EndCycle;

// 3. Ma'lumotlar bazasida harakatlarni qayd etish
Movements.FreeRemainders.Write = Rost;
Movements.Record();

// 4. Registrdan salbiy qoldiqlarni qabul qiluvchi so'rov
So'rov.Matn =
"TANLANG
| Nomenklatura AS Nomenklaturasi,
| REPRESENTATIONLINK(Remains.Nomenklatura) NomenklaturaRepresentation AS,
| -Qolgan.MiqdorQolgan AS kamomad
|FROM
| RegisterAccumulations.FreeRemains.Remains(
| &Vaqt lahzasi,
| Nomenklatura B
| (TANLANG
| Mahsulotlar.Nomenklatura AS Nomenklaturasi
| FROM
| Mahsulotlar AS Mahsulotlar)) AS Qolgan mahsulotlar
|QAYERDA
| Qolgan.Miqdor Qolgan< 0";

Boshqarish chegarasi = Yangi chegara(TimePoint(), BorderView.Shu jumladan);
Request.SetParameter("TimePoint", Boshqaruv chegarasi);
RequestResult = Request.Execute();

// 5. Tovarlar etishmasligi haqida xabarlarni ko'rsatish
Agar QueryResult.Empty() bo'lmasa
Rad etish = rost;
ErrorSelect = QueryResult.Select();
While SelectErrors.Next() sikli
Xabar = Yangi MessageToUser;
Message.Text = ""+SampleErrors.NomenclaturePresentation+" mahsuloti "+SampleErrors.Deficiency+" dona miqdorida yetarli emas.";
Message.Message();
EndCycle;
endIf;

EndProcedure

Keling, algoritmning asosiy nuqtalarini ko'rib chiqaylik.

1. Hujjat ma'lumotlarini so'rov bo'yicha qabul qilish

Ushbu so'rov hujjatning jadval qismidagi ma'lumotlarni guruhlash uchun kerak.

E'tibor bering, to'plamdagi birinchi so'rov vaqtinchalik jadval yaratadi - u keyingi so'rovda ishlatiladi. Bu so'rov uchun yaratilgan vaqtinchalik jadval menejeri tufayli mumkin.

2. Harakatlarning shakllanishi - iste'molni ro'yxatga olish

Tsiklda hujjatdan ma'lumotlar reestrga yoziladi - ya'ni tovarlarni so'zsiz (tekshirishsiz) hisobdan chiqarish amalga oshiriladi.

3. Harakatlarni ma'lumotlar bazasiga yozib olish

Registrdagi qoldiqlar o'zgarishi uchun harakatlar qayd etilishi kerak.

4. Registrdan manfiy qoldiqlarni qabul qiluvchi so'rov

Endi oddiy so'rov bilan biz hujjat tovarlari uchun salbiy qoldiqlarni tanlaymiz.

Bu erda birinchi bosqichda yaratilgan vaqtinchalik jadval ishlatiladi - elementga shart qo'yiladi (buning uchun biz "So'rov" turidagi yangi ob'ekt yaratmaymiz, lekin avval yaratilganidan foydalanamiz).

Vaqtning qanday uzatilishiga e'tibor bering - "Chegara" ma'lumotlar turi ishlatiladi. Qolgan mablag'lar joriy hujjatdan so'ng darhol qabul qilinishi kerak.

Hujjat sanasiga 1 soniya qo'shib, masalan, chegarasiz balanslarni olish mumkinmi?

Yo'q! Axir, bir soniya ichida juda ko'p hujjatlar bo'lishi mumkin. Shuning uchun, yagona to'g'ri variant - "Shu jumladan" chegara turidan foydalanish.

5. Tovarlar etishmasligi haqida xabarlarni ko'rsatish

Agar so'rov natijasi bo'sh bo'lmasa, unda salbiy qoldiqlar mavjud - bu holda hujjat qayta ishlanmaydi va barcha xatolar haqida xabarlar ko'rsatiladi.

Yangi usul yordamida qoldiqlarni nazorat qilishning afzalliklari

Shunday qilib, ikkala algoritm ham bir xil muammoni hal qiladi.

Algoritmlar orasidagi farq ko'rinadi, ammo afzalliklari aniq emas.

Shunday qilib, keling, ularni ajratib ko'rsatamiz:

  1. Eski hujjat harakatlarini tozalash kerak emas. Aslida, bu ma'lumotlar bazasiga bo'sh harakatlar to'plamini yozish va mavjud harakatlarni o'chirish operatsiyasi - bu juda ko'p resurs talab qiladigan operatsiyalar.
  2. Salbiy qoldiqlar bo'yicha ma'lumotlarni oladigan so'rov faqat bitta jadvalga kiradi - hujjat ma'lumotlari bilan chapga qo'shilish va "ISNULL()" funksiyasidan foydalanishning hojati yo'q

Bundan tashqari, biznes-jarayonlarning normal jarayoni davomida foydalanuvchi ombordagi qoldiqdan oshmaydigan miqdorni ko'rsatadi.

Bunday holda, ikkinchi so'rov hech qanday ma'lumotni qaytarmaydi va hujjatlarni qayta ishlash imkon qadar tezroq bo'ladi.

Bu millisekundlar haqiqatan ham shunchalik muhimmi?

Kichik miqdordagi ma'lumotlar va foydalanuvchilarga ega bo'lgan ma'lumotlar bazalarida farq sezilmaydi. Ammo o'nlab foydalanuvchilari bo'lgan band tizimlarda har bir millisekundning narxi yuqori.

Bundan tashqari, 1C: Platforma mutaxassisi imtihonida, agar ma'lum bir vazifa imkon bersa, balanslarni boshqarishning yangi usulidan albatta foydalanishingiz kerak.

OK, shuning uchun siz doimo yangi texnikadan foydalanishingiz kerak, to'g'rimi?

Yoq bu unday emas!

Hujjatni qayta ishlash uchun barcha kerakli ma'lumotlar hujjatning o'zida bo'lsa, yangi texnikadan foydalanish mumkin.

Ya'ni, ma'lumotlarni olish uchun balanslarni nazorat qiluvchi registrlarga kirish shart emas.

Shunday qilib, masalan, agar summa "Erkin qoldiqlar" reestrida ham hisobga olingan bo'lsa, unda eski nazorat usulidan foydalanish kerak edi.

Aytgancha, "1C: Savdoni boshqarish 11" standartida balans nazorati yangi usul yordamida, "1C: Buxgalteriya 8" da - eski usul bo'yicha amalga oshiriladi.

Lekin bu hammasi emas!

Yuqorida keltirilgan algoritmlardan faqat ta'lim maqsadlarida foydalanish mumkin. Gap shundaki, ular e'tiborga olinmaydi boshqariladigan qulflar, agar tizimda bir nechta foydalanuvchi bo'lsa, ishlatilishi kerak.

Ikkala qoldiq nazorat qilish usuli uchun bloklar muhokama qilinadi. Shuningdek, ushbu maqolada biz yanada murakkab muammoni hal qilamiz - balanslarni nazorat qilishdan tashqari, biz hisobdan chiqarilgan narsalarning narxini hisoblaymiz. Uni diqqat bilan o'rganishingizni tavsiya qilamiz.

Va boshlanuvchilar uchun, keling, buni aytaylik yangi usulda qulfni o'rnatish juda oddiy- va bu qoldiqlarni nazorat qilishning yangi usulining yana bir afzalligi.

Natijalar

Keling, qisqacha xulosa qilaylik.

Biz ikkita qoldiqni nazorat qilish texnikasini ko'rib chiqdik, ularning har biri zamonaviy tipik konfiguratsiyalarda qo'llaniladi.

Texnikalar orasidagi asosiy farq balanslarni nazorat qilish vaqtida:

  • Qadimgi texnika - registrlarga harakatlarni yozishdan oldin nazorat qilish
  • Yangi texnika - registrlarda harakatlarni qayd etgandan keyin nazorat qilish

Umuman olganda, yangi texnika samaraliroq, ammo u har doim ham qo'llanilmaydi.

Amal qilish mezoni- agar harakatlarni yaratish uchun boshqariladigan registrdan ma'lumotlarga kirishning hojati bo'lmasa, yangi texnikadan foydalanish mumkin.

Agar mahsulot balansini nazorat qilish haqida gapiradigan bo'lsak, unda xarajatlar va ombor qoldiqlari to'g'risidagi ma'lumotlar turli registrlarda saqlanganida yangi texnikadan foydalanish mumkin.

Va nihoyat, misollar tipik konfiguratsiyalar:

  • IN UT 11 Ob'ektlarni hisobga olishning ikkita asosiy registrlari mavjud: Erkin qoldiqlar (miqdori) va Tovarning tannarxi (narx ma'lumotlari) - yangi metodologiya qo'llaniladi.
  • IN BP 3.0 xarajatlar va qoldiqlar to'g'risidagi ma'lumotlar bitta buxgalteriya registrida saqlanadi - qoldiqlarni nazorat qilishning eski usuli qo'llaniladi.