DWH mind map · G‘aznachilik
Nima qilyapmiz: DMBAT’dagi «III. Расходы» hisobotini DWH’da o‘zimiz qayta qurish uchun uning har bir raqami qaysi kod va qaysi jadvaldan kelishini ildiz jadvalgacha kuzatyapmiz. DMBAT’dan faqat ikki narsa so‘raladi: kod (procedure, funksiya, view, MV) yoki jadval Excel’i (barcha ustunlari bilan). Jadval topilgan joyda shox tugaydi.
Reja, kassa, fakt, o‘zaro hisob va balans. Hammasini write_month_exp_out bitta ishchi jadvalga (TEMP_BUDGET_REPORTS) yozadi, hisobot uni view orqali o‘qiydi.
PAYDOCS_OLD_BUDGET_EXP_MV → PAYDOCS_OLD_ACC_EXP_MV → PAYDOCS_OLD_MV → PAYDOCS_OLD + PAYEXPENSE_OLD. Qolgani faqat ikki jadval Excel’i.
Reja faqat operatsiyasida 61* bor qatorlardan olinadi (WriteTempF4, 104). Rospis operatsiyasini get_oper beradi, u hali olinmagan.
getOver hisob raqami topilmasa xato chiqarmaydi: getsaldo 0 qaytaradi. Qoldiq sanaga qarab COA_ACCOUNTS yoki COA_SALDO’dan olinadi.
Hisobot contr => 'N' bilan chaqiradi (month_mest_out_htm, 125). Bu ustunlar faqat contr = 'Y' da to‘ladi, shuning uchun ularning manbasi kerak emas.
Olingan kodlarning hech biri uni to‘ldirmaydi, hammasi faqat o‘qiydi. Endi faqat Excel’i so‘raladi.
DMBAT’ga yuboriladigan ro‘yxat. Jadvallar yangi narsa ochmaydi, shuning uchun Excel’larni kod bilan bir vaqtda so‘rash mumkin.
| Nomi | Muhimlik | Qayerda chaqiriladi | Nima uchun |
|---|
Qator soni muhim emas, bir necha qator yetadi. Muhimi: jadval nomi va to‘liq ustunlari.
| Nomi | Muhimlik | Nimaga kerak |
|---|
Eng chuqur zanjir 6 qavat: month_mest_out_htm → write_month_exp_out → getOver → get_oper_accounts → get_accfull → form_accfull. Kassa va fakt shoxlari jadvalgacha yopildi, barcha 10 ta MV olingan. Ochiq qolgani ikki shox: o‘zaro hisob (get_oper va 2 ta kichik procedure) hamda balans (to‘liq hisob raqamini yig‘ish).
Kod: get_oper, getzerosignsumall, setzero, form_accfull, get_mainfinsrc va get_incomext, listFilial, V_BUDGETTYPE, 2 ta tekshiruv. Excel’lar shu bilan birga, ular yangi narsa ochmaydi.
1-bosqich kodlari ochadigan qoldiq. Ko‘pi allaqachon ro‘yxatdagi jadvallarni o‘qiydi deb kutiladi (maket, rospis jadvallari). Yangisi asosan V_BUDGETTYPE va BUDGETS ichidan chiqishi mumkin.
Faqat 2-bosqichda kutilmagan funksiya chiqsa kerak bo‘ladi. Bo‘lmasa yig‘ish 2-bosqich bilan tugaydi.
| Olingan | Kerak, olinmagan | Oxirida (taxmin) | |
|---|---|---|---|
| Kod (procedure, funksiya, cursor) | 28 qator | 8 qator + 2 konstanta | ~40-45 qator |
| MV | 10 | 0 | 10 |
| View | 1 | 2 | 3-4 (BUDGETS view bo‘lsa 4) |
| Jadval | 12 | 27 | ~42-45 |
| Jadval, MV, view jami | 23 | 29 | ~55-60 |
DWH’da qayta qurishda tekshiruv kodlari kerak emas: check_account, check_income, check_expense, isexist*, ArraySpr. Ular faqat xato matnini yozadi, raqamni o‘zgartirmaydi. Shularni chiqarsak, raqamga ta’sir qiladigan majburiy kod 4 ta qoladi: get_oper, getzerosignsumall, setzero, form_accfull.
1) BUDGETS view bo‘lib chiqsa, kodi yana 1-2 jadval ochadi. 2) V_BUDGETTYPE kodi 1 ta jadval ochishi mumkin. 3) MEMORDER_VZAIM_CURR izohda “тек. таблица” deyilgan; view bo‘lib chiqsa, kodi kerak bo‘ladi. Umumiy yo‘nalish: oxirgi ikki paketda har yangi kod asosan allaqachon ma’lum jadvallarni o‘qidi, ya’ni zanjir yopilyapti.