1 soniyada indekslash 8.2. So'rovlarni optimallashtirish. Qo'shimcha buyurtma bilan indeksatsiya

Golovna / Google Play

Ushbu maqolani mening elektron pochtamga yuboring

Ushbu maqolada tashkilotning 1C ZUP xodimlari uchun ish haqi indeksatsiyasiga qanday erishish mumkinligi ko'rib chiqiladi. Rossiya Federatsiyasi Mehnat kodeksining 134-moddasiga qaramay, ish beruvchining ishchilar uchun ish haqini oshirishni ta'minlashi shart, chunki tovarlar va xizmatlar vaqti-vaqti bilan o'sib boradi. Agar tashkilot byudjetdan moliyalashtirilsa, indeksatsiya ham Rossiya Federatsiyasi Mehnat kodeksiga, turli xil aktlarga va jamoaviy bitimga muvofiq amalga oshiriladi.

Ish haqini indeksatsiya qilishda biz tarif stavkalarini oshirishni ko'rib chiqamiz - har qanday korxonada bo'lgani kabi, ma'lum bo'linmalar va filiallar uchun ham ish haqi. Koeffitsientning qiymatlari ishlab chiqarishni kengaytirish, kengaytirish, o'rtacha daromad va boshqa vaziyatlarda g'alaba qozonish tendentsiyasiga ega edi.

1C ZUP-da ish haqi indeksatsiyasini amalga oshirish uchun siz dasturdan kam miqdorni olib qo'yishingiz kerak. Birinchidan, nima qilish kerak, nimani sozlash kerakligini tekshiring. "Sozlash" bo'limida "Ish haqini sozlash" bandini tanlang. Daromadlar indekslanganligini ko'rsatadigan tasdiq belgisi mavjudligiga ishonch hosil qilish kerak.

Bundan tashqari, muntazam jadvalni saqlab qolish va tarixingiz saqlanishini ta'minlash kerak. Ushbu variantlarning mavjudligini tekshirish uchun siz "Xodimlarni boshqarish" bandini tanlashingiz va "Xodimlar jadvalini sozlash" opsiyasiga amal qilishingiz kerak.

Dasturda indekslashni amalga oshirish uchun 3.1.3 versiyasidan boshlab, "Xodimlar" bo'limida joylashgan "Xodimlar tartibini o'zgartirish" maxsus hujjati mavjud. Biz yangi hujjat yaratamiz va tashkilot o'zgargan sanani yozamiz. Yorliqni to'ldirish uchun. qismlarni o'zgartirish uchun "O'zgartirish" tugmasini bosing va tartibga kerakli birliklarni qo'shing.

O'ng tarafdagi "Ko'proq" tugmasi orqasida "Ko'rsatiladigan ko'rsatkichlar" bandini tanlab, indikatorlarning ko'rinishini nazorat qilish va hujjatda faqat talab qilinadiganlarni ko'rsatish uchun belgilash katakchalaridan foydalanishingiz mumkin. Keyinchalik, "Ko'rsatkichlarni to'ldirish" tugmasini bosing va oynada biz "Ish haqi" ko'rsatkichi uchun 1,1 ga teng koeffitsientni o'rnatamiz.

Hujjatning barcha qatorlar uchun qiymatini tasdiqlaganidan so'ng, ushbu koeffitsient shartlariga muvofiq qayta sug'urta qilinadi. Hujjatning pastki qismidagi "Imzolar" xabarini bosish orqali siz tashkilot faylini va kadrlar xizmati faylini belgilashingiz mumkin. Keyinchalik, jadvalni o'zgartirish uchun buyurtma shakli ko'rsatiladi, uni "O'zgartirishlar kiritish uchun buyurtma" tugmachasi orqasida ochish mumkin. Shundan so'ng biz hujjatni bajaramiz.

Agar sizda 1C ZUP-da ish haqi indeksatsiyasi mavzusida biron bir ma'lumot bo'lsa, ularni maqola ostidagi sharhlarda so'rang, bizning fachivlarimiz ular haqida yozadilar.

Ish haqini oshirish faktini ko'rsatish uchun "Ish haqi" bo'limining "Ishchilar uchun to'lovni o'zgartirish" bandida joylashgan "Rejalashtirilgan ish haqi fondini o'zgartirish" hujjatini yaratish kerak. Bizning ilovamiz standart tartibdagi o'zgarishlar tarixini saqlab qolganligi sababli, folbinlik hujjati tegishli tugma yordamida yaratilgan "Oddiy tartibni o'zgartirish" hujjatidan kiritilishi mumkin.

Shundan so'ng, to'ldirilgan hujjat yaratiladi. Iltimos, "Daromadni indeksatsiya qilish sifatida sug'urta qilish" katagiga belgi qo'yilganligiga ishonch hosil qiling.

Shundan so'ng biz hujjatni bajaramiz. Kelgusi oy uchun ish haqini to'lashda ish haqi indeksatsiyaga muvofiq tuzatiladi.

1C ilg'or dasturchilar jamoasi:

Terminologiyaga munosabat bildirilgandan keyin 5 soat ichida, dam olish kunlari va muqaddas kunlarda.

1C da 20 yilgacha ishlaganligini tasdiqlovchi 30+ dasturchilar.

Quyidagi video ko‘rsatmalariga amal qiling.

Mijoz uchun qulay bo'lgan har qanday messenjerlar orqali jonli muloqot

Biz tomonidan maxsus ishlab chiqilgan qo'shimchalar orqali buyruqlaringizni nazorat qiling

2006 yildan beri 1C kompaniyasining rasmiy hamkorlari.

Kichik firmalardan yirik korporatsiyalarga muvaffaqiyatli avtomatlashtirishning dalili.

Mijozlarning 99 foizi natijalardan mamnun

yoki yana

1C sotuvchisiga barcha registrlaringiz va ma'lumotlaringizni "indekslash" uchun xabar yuboringmi?

- Mayli, ichamiz! - Ma'lumotlar bazasi dedi va osib qo'ydi ...

Sarlavhaning kuchiga qisqacha javob shundaki, siz o'rashga ruxsat berishingiz va blokirovkaning salbiy oqimini ga o'zgartirishingiz kerak.

Indeks nima?

Indekslarni joylashtirishni optimallashtirish

Serverning operativ xotirasiga "moslash" imkonini bermaydigan jadvaldan foydalanilganda, birinchi navbatda disk quyi tizimi (I/O) likvidligi keladi. Va bu erda siz indekslarni turli xil qattiq disklarda joylashgan bir nechta fayllarga joylashtirish qobiliyatini qadrlashingiz mumkin.

Batafsil tavsif http://technet.microsoft.com/ua-ru/kutubxona/Xonim175905.aspx
Indeksni boshqa fayl guruhi bilan almashish, kirish/chiqarish jarayonlarining indeksning o'zi bilan parallelligi tufayli klasterli bo'lmagan indekslarning samaradorligini oshiradi.
O'lchamlarni aniqlash uchun siz berilgan shaklning dizaynini tanlashingiz mumkin.

Bloklash uchun indekslarni kiritish

So'rov uchun kerakli indeksning yo'qligi jadvaldagi barcha yozuvlarni takrorlashni anglatadi, bu esa keraksiz blokirovkaga olib keladi. Hisob qaydnomalari bloklangan. Bundan tashqari, kunlik indekslar orqali qidiruvni yakunlash uchun qancha vaqt kerak bo'lsa, ertalab blokirovka qilish shunchalik uzoq davom etadi.
Bloklashning yana bir sababi - jadvallardagi yozuvlar sonining kamligi. Ushbu SQL Server bilan bog'liq holda, siz rejani tanlaganingizda, qidiruv indekslari emas, balki butun maydonni blokirovka qilib, butun jadval (Table Scan) yoziladi. Bunday blokirovkaga yo'l qo'ymaslik uchun jadvallardagi yozuvlar sonini 1500-2000 gacha oshirish kerak. Bunday holda, jadvalni skanerlash trek operatsiyasiga aylanadi va SQL Server indekslarni yaratishni boshlaydi. Albatta, "Tashkilotlar", "Omborlar", "Ishtirokchilar" va boshqalar kabi bir qator misollarni yaratish mumkin. bir nechta yozuvlar bo'lishi mumkin. Bunday hollarda indekslash robotni bo'yamaydi.

Indekslarning samaradorligi

Maqolaning sarlavhasida biz so'rovlar tezligi kodiga indekslarni kiritishga e'tibor qaratayotganimizni allaqachon aytib o'tgan edik. Bundan tashqari, indekslar tajovuzkor turdagi vazifalar uchun eng mos keladi:

  • So'rang, bu hazilning "universitet" mezonlariga ishora qiladi. Bunday yozuvlar oldingi mezonlarga javob beradigan oz sonli qatorlar bilan bog'liq.
  • Qiymatlar oralig'ini ko'rsatish uchun yozing. Bularni oz sonli qatorlarda ham hisobga olish mumkin.
  • Poshuk, bu ulanish operatsiyalari vikorystvovuetsya hisoblanadi. Ko'pincha bog'lovchi kalit sifatida ishlatiladigan ustunlar indekslar uchun juda mos keladi.
  • Qarang, kimning o'lponlari tartibda hisobga olinadi. Olingan ma'lumotlar to'plami klasterlangan indeks tartibida tartiblanganligi sababli, saralash talab qilinmaydi, chunki natijada olingan ma'lumotlar to'plami allaqachon keyin tartiblangan. Misol uchun, agar klasterlash indeksi familiya va ism ustunlari orqasida yaratilgan bo'lsa va ism bo'yicha, keyin esa nom bo'yicha tartiblashni talab qiladigan dasturlar uchun ORDER BY operatorini qo'shishning hojati yo'q.

To'g'ri, indekslarning barcha foydaliligi bilan, yana bir muhim PZ - bu indeksni "samarali tarzda g'alaba qozonish" mumkin va ma'lumotlarni kamroq kiritish-chiqarish operatsiyalari bilan topishga imkon beradi. Va eslatib o'tmoqchimanki, o'zgartirilmagan indekslar (kamdan-kam hollarda o'zgartiriladi) ma'lumotlarni yozib olishning ravonligini pasaytiradi (ma'lumotlarni o'zgartiradigan ba'zi teri operatsiyalari indekslar sahifalarini o'zgartirish uchun ham javobgardir) va dunyodan tashqari obsyag bazasi mavjud.

Yig'lamoqda(So'rov kimga tegishli), chaqiriladigan indeks va ushbu so'rov uchun barcha kerakli maydonlar. Misol uchun, agar yaratilishlar indeksi a, b va c ustunlarida bo'lsa va SELECT iborasi faqat shu ustunlardan ma'lumotlarni olsa, faqat indeksga kirish talab qilinadi.

Indeksning samaradorligini baholash uchun biz "Viktoriya rejasi" ko'rinishini va qo'shimcha bepul onlayn xizmatda qidirilayotgan indekslarni taxminan baholashimiz mumkin.

Indekslarni to'g'ri tanlash ma'lumotlarni qayta ishlashni nafaqat marta, balki yuzlab, hatto minglab marta tezlashtirishi mumkin.

Bunday tezlikka apparat yordamida erishish mumkin emas. Shuning uchun bu mavzuga katta hurmat bilan qarash kerak.

Ko'pincha, jarayonni tezlashtirish uchun siz o'zingizning kuch indeksingizni yaratishingiz kerak va bu turli yo'llar bilan amalga oshirilishi mumkin.

Video darslarida biz indeks yaratishning bir qancha usullarini ko'rib chiqamiz. Kerakli omborning indeksini standart platforma usullari yordamida yaratib bo'lmaydigan va uni DBMSda yaratish kerak bo'lgan vaziyatni ham ko'rib chiqaylik.

Standart platforma usullaridan foydalangan holda indekslarni sozlash

Dars ma'lumotlar bazasi kabi ob'ektlar uchun qanday indekslar yaratilganligini ko'rsatadi.
Bu mavzu bo'yicha hamma narsa birinchi qarashda ko'rinadigan darajada aniq emas. Shuningdek, ob'ektlar uchun indekslarni yaratishning o'ziga xos xususiyatlari mavjud.
Barcha nuanslarni ushbu videoda ko'rish mumkin.

Qo'shimcha buyurtma bilan indeksatsiya

Video tezkor indeks variantining ko'p qirraliligini ko'rsatadi Indeks ko'rinish Qo'shish bilan indeks. hammomlarga buyurtma berish.
Misol, qo'shimcha buyurtma tanlangan bo'lsa, qaysi indeks platformasi ishlatilishini ko'rsatadi.

Global registrlar uchun indeks yaratish

Reestrlarning birinchi dunyosini indeksatsiya qilish bir qator jihatlarni o'z ichiga oladi.
Video ro'yxatga olish uchun qanday indekslar yaratilganligini ko'rsatadi. Birinchi jahon reestrini indeksatsiya qilish holati ham ko'rib chiqiladi.

Druk (Ctrl+P)

"Men ushbu materialni ko'rib chiqish va so'rovlarni optimallashtirish mavzusidagi mumkin bo'lgan munozaralar uchun ITS diskidan nusxa oldim https://its.1c.ru/db/metod8dev#content:5842:hdoc

Men barcha 1C dasturchilariga ushbu maqolani hurmat bilan o'qishni tavsiya qilaman, chunki til 1C platformasining asosiy vositasidir. Maqolada konfiguratsiya kodi asosida tashxis qo'yish mumkin bo'lgan so'rovlarning optimal bo'lmagan ishlashining odatiy sabablari aniqlanadi va so'rovlarni optimallashtirish usullari ko'rib chiqiladi.

Elektr ta'minotining optimal bo'lmagan ishlashining asosiy sabablari

1. Quvvat manbalari bilan ulanish

Elektr ta'minoti ulanishlaridan foydalanmang. Siz metadata ob'ektlari yoki vaqt jadvallarini birma-bir qo'shishingiz mumkin. Agar siz vikoristning pastki ilovalar bilan aloqasini so'rasangiz, vikoristlardan izni qayta yozing. vaqt jadvali.

Ulangan quvvat manbaining o'ng tomonidagi quvvat manbaiga ulangan optimal bo'lmagan, xavfli quvvat manbaiga misol:

VIBRAT . . . Z Hujjat . Mahsulotlar va xizmatlarni sotish LIVOE CONNECTION ( VIBRAT Z Ko'rishlar reestri . Limiti DE . . . ZGROUPVATI PZ . . . ) PZ . . .

So'rovni optimallashtirish uchun men izni bir nechta ketma-ket so'rovlarga ajrataman (ulanishda ishlatiladigan quyi so'rovlar soni uchun). Ushbu so'rovlarni bitta ommaviy so'rovga joylashtirish tavsiya etiladi.

// Vaqt menejeri jadvalini yaratish VT menejeri = yangi Menejer jamoasining ish vaqti jadvali ; Zapit = yangi Zapit ; Zapit . Menejer jamoasining ish vaqti jadvali = VT menejeri ; //To'plam so'rovining matni Zapit . Matn = " // Vaqt jadvalini saqlang. Limitlar reestriga yozing. | VIBRAT... | POST CHEKLANGAN | Mulk reestridan. | DE... | GURUH BO'YICHA... | INDEX BY...; // Ikkilamchi vaqt jadvalidagi asosiy yozuvni o'zgartiring VIBRAT... Z Document Mahsulotlar va xizmatlarni sotish LIVOE CONNECTION LIMITED BY...;" Hurmat! Bu holda yaratilgan vaqt jadvalini indekslash juda muhimdir. Indeks maydonlari sifatida birlik ongida tanlangan barcha maydonlarni ko'rsating.

2. Virtual jadvallar bilan ulanish

So'rov 1C: Enterprise so'rovlarining virtual jadvaliga ulanganda (masalan, " RegistryAccumulation.Products.Backs() ") va so'rov qoniqarsiz unumdorlikka olib kelgan bo'lsa, vaqt jadvalidagi natijalarni saqlash uchun so'rovga qo'shimcha ravishda ma'lumotlarni virtual jadvalga qo'shish tavsiya etiladi. Keyin, quvvat manbaiga ulanishingiz kerak bo'lgan tavsiyaga amal qiling (1-band).

O'ng tomonda, 1C: Enterprises tili so'rovlarida tuzilgan virtual jadvallarni SQL tiliga tarjima qilish paytida so'rovlarga yuklash mumkin. Bu shuni anglatadiki, virtual jadval ko'pincha (yoki ba'zan) ko'plab jismoniy DBMS jadvallaridan ma'lumotlarni oladi. Agar siz virtual jadvalga ulansangiz, u holda SQL-da u ba'zi hollarda quvvat manbaiga ulanish sifatida amalga oshirilishi mumkin. Bunday holda, DBMS optimallashtiruvchisi elektr ta'minoti bilan ishlashda bo'lgani kabi, 1C: Enterprise-da aniq tarzda g'alaba qozongan kabi optimal bo'lmagan rejani mustaqil ravishda tanlashi mumkin.

3. Indekslar va aqllarning nomuvofiqligi yuviladi

Keyingi bo'limlarda bu haqda o'ylab ko'ring va so'rang:

  • VIBRAT... W... DE<условие>
  • Z'EDNANNYA... BY<условие>
  • VIBRAT...Z<ВиртуальнаяТаблица>(, <условие>)
  • MAYUCHI<условие>

Eslab qolish qiyin bo'lgan bu eski aqllar uchun miya orqasidagi ma'lumotlarni tanlashni optimallashtirish uchun har xil turdagi indekslardan foydalanish kerak. Bundan tashqari, eng muhimi, joriy imtiyozlarni qondiradigan indeks:

  • Vimoga 1. Ko'ngilda sanab o'tilgan barcha maydonlarni olib tashlash uchun indeks;
  • Vimoga 2. Ushbu maydonlar indeksga kiritilgan;
  • Vimoga 3. Bu dalalar asta-sekin ketadi, shunday qilib dalalar o'z taqdirlarini aqldan tortib olgandek, ularning orqasidan "xanjar" oladilar;

1C: Enterprise tomonidan yaratilgan asosiy kodlar:

  • Noyob identifikator ortidagi indeks(yuboriladi) barcha ob'ektiv sub'ektlarga (dalil hujjatlari, hujjatlar va boshqalar);
  • Ro'yxatga oluvchi orqasidagi indeks(Hujjatga joylashtirilgan) ro'yxatga oluvchiga bo'ysunuvchi registrlar arxivi jadvali uchun;
  • Barcha yo'q bo'lib ketish davri va qiymati indeksi sumkalar uchun, jamg'arish registrlari jadvali;
  • Davr indeksi, rahunku va ma'nosi sub-sumkalar buxgalteriya ro'yxatga olish jadvali uchun barcha dunyolar.

Bunday hollarda, agar avtomatik ravishda yaratilgan indekslar etarli bo'lmasa, siz qo'shimcha ravishda konfiguratorda metadata ob'ekti tafsilotlarini indekslashingiz mumkin. Biri, Svyazdagi Mati firibgarligi, INFORMASIK ning bochkasi, izhorma jarayoni jarayoni, denschti - 1s Pidpronniimi rejimini ishga tushirishda korestuvach (appavan, redaguvanni bu vidalennya) jarayoni. Shuning uchun, agar bunday indeks zarur bo'lgan muayyan savol bo'lsa, indekslarni yaratish kerakligi aniq. Siz "hech qanday sababga ko'ra" indekslarni yoki ataylab g'ayritabiiy indekslarni yaratmasligingiz kerak. Masalan, birinchi jahon reestrini qo'shimcha indekslash shart emas, shuning uchun birinchi dunyo qiymatlarini qidirish uchun platforma tomonidan avtomatik ravishda yaratiladigan sumkalar jadvalining asosiy indeksidan foydalaniladi.

Konfiguratsiya yig'ish registrini tavsiflaydi Ombordagi mahsulotlar:

1-rasm. Omborlarda tovar jamlanmasi reestrining tuzilishiga misol.

Platforma 1C: Korxona avtomatik ravishda ushbu reestrning ortiqcha jadvali uchun davr va barcha o'limlar uchun konfiguratorda qayta tartibga solingan tartibda indeks yaratadi.

Keling, bir qator ilovalarni ko'rib chiqamiz va ular qanday qilib bunday ma'lumotlar tuzilmalariga optimal tarzda mos kelishini tahlil qilamiz.

1-so'rov

Zapit . Matn = "VIBRATI |Z , Nomenklatura = &Nomenklatura) YAK tovarlariOmborlarZalishki";

Zarar bo'lgan taqdirda 2. Kundalik tanlashda indeksning birinchi maydonini tanlang (Ombor). Bunday so'rovni optimal tarzda yozib bo'lmaydi. Qidirish uchun ma'lumotlar bazasi serveri jadvaldagi barcha yozuvlarni takrorlashi (skanerlashi) kerak bo'ladi. Ro'yxatga olish kitobidagi ortiqcha jadvaldagi yozuvlar soni ushbu operatsiya oxirida qoladi va undan ham ko'proq bo'lishi mumkin (va ma'lumotlar sonining ko'payishi tufayli ortadi).

Optimallashtirish imkoniyatlari:

  • Dunyo indeksi "nomenklatura"
  • "Nomenklatura" vimirini vimirlar ro'yxatiga birinchi bo'lib qo'ying. Ushbu usulga hurmat bilan munosabatda bo'ling. Konfiguratsiyada ushbu qayta tartibga solishdan meros bo'lishi mumkin bo'lgan boshqa yozuvlar bo'lishi mumkin.

2-so'rov

Zapit . Matn = "VIBRATI | Omborlardagi mahsulotlar.Aksiyalar.Ombor, | Omborlardagi qoldiqlar nomenklaturasi. | Omborlardagi mahsulotlar |Z | Jamg'arish.Omborlardagi tovarlar.To'xtatilgan( | , | Yorqinlik = &Yorqinlik ;

Bunda 3. “Ombor” va “Yakist” vimirlari oʻrtasida registrning tuzilishida “Nomenklatura” vimiri mavjud boʻlib, u aniq koʻrsatilmagan. Buni optimal tarzda sozlash ham mumkin bo'lmaydi. Qidirayotganingizda, DBMS indeksdagi birinchi maydonni qidiradi va keyin bu qismni diqqat bilan skanerlaydi. Skanerlash vaqtni ko'paytirishga va jadvaldagi ortiqcha yozuvlarni blokirovka qilishga olib keladi va shu bilan tizimning umumiy o'tkazuvchanligini pasaytiradi.

Optimallashtirish imkoniyatlari:

  • "Nomenklatura" ni ishlab chiqish uchun miya kuchini qo'shing
  • "Yakness" ni ongingizdan olib tashlang
  • "Nomenklatura" ni dunyolardan tafsilotlarga o'tkazing
  • Mahalliy "nomenklatura" va "yakist" deb nomlanadi.

Zapit 3

Zapit . Matn = "VIBRATI | Omborlardagi mahsulotlar.Aksiyalar.Ombor, | Omborlardagi qoldiqlar nomenklaturasi. | Omborlardagi mahsulotlar. | Omborlardagi mahsulotlar.ortiqcha.miqdor.ortiqcha |Z | Jamg'arish.Omborlardagi tovarlar.To'xtatilgan( | , | Nomenklatura = &Nomenklatura | Í Ombor = &Ombor) YAK GoodsInWarehousesZashki";

Bunday holda, tegishli turdagi indeks zarar ko'rmaydi. Bu DBMSga optimal tarzda kiritiladi. Iltimos, esda tutingki, indeksdagi maydonlarni o'tish tartibidan qochish uchun boshida aqllarni tushunish tartibi kerak emas. Bu muammo emas va DBMS tomonidan odatdagi tarzda qayta ishlanadi.

4. Vykoristannya mantiqiy ABO ongida

4.1 DE bo'limidagi Vykoristannya mantiqiy ABO quvvatlanadi

DE bo'limida ABO vikorystuvat qilmang. Bu ma'lumotlar bazasi jadvalini va vikonuvatime skanerlash indekslarini vikoristovat qila olmasligiga olib kelishi mumkin, bu ish soatini va blokirovkaning ishonchliligini oshiradi. Bunday holda, siz bitta so'rovni qatorga bo'lishingiz va natijalarni birlashtirishingiz kerak.

Masalan, so'rang

VIBRATI mahsuloti . Ism Z Dovidnik . Mahsulotlar YAK Mahsulot DE Maqola = "001" ABO sotuvchi kodi = "002"

izni yetakchi bilan almashtiring

VIBRATI mahsuloti . Ism Z Dovidnik . Mahsulotlar YAK Mahsulot DE Maqola = "001" |OB'EDNATI HAMMA NARSA |VIBRATI Mahsulot . Ism Z Dovidnik . Mahsulotlar YAK Mahsulot DE Maqola = "002"

4.2. Bir qator rollarda rollar sonini ko'paytirish, ularning terisi RLS bo'lishi mumkin

1 Z RLS (Yozib olish Daraja Xavfsizlik) yoki huquqlarni teng yozuvlarga almashtirish - tizimdagi investorlarning huquqlarini sozlash narxi 1 Z, bu dinamik ravishda o'zgaruvchan ma'lumotlar bo'yicha foydalanuvchilar uchun huquqlarni ajratish imkonini beradi.

Konfiguratsiya RLS markazidagi bir qator rollarni tavsiflaganligi sababli, siz bitta foydalanuvchiga bir nechta rollarni tayinlamasligingiz kerak. Agar bitta buxgalter, masalan, RLS bilan ikkita rolda - buxgalter va kadrlar bo'limi xodimi ishtirok etsa, unda barcha savollar aqlga qo'shilganda, ikkala RLSning ongiga mantiqiy ABO tomonidan xabar beriladi. Shu tarzda, chiqishda miya yo'qligi sababli, RLS ga miya qo'shgandan so'ng, ABO u erda paydo bo'ladi. Bunday so'rov optimal ishlamasligi mumkin - to'liq va ortiqcha blokirovka bilan.

Keyingi qadam "aralash" rolni - "buxgalter-kadrlar bo'yicha xodim" ni yaratish va RLSni shunday yozib qo'yishdirki, ABO ongda noyob bo'ladi va buxgalter bu rolga kiritiladi.

4. Jamiyat ongida 3 Vikoristannya ABO

Bog'lanishning ongida ABO dan ko'ra mantiqiyroq vikoristikadan foydalanish tavsiya etilmaydi, shuning uchun bo'limda u yuviladi. Bu, shuningdek, suboptimal reja va to'liq ishni tanlashga olib kelishi mumkin. ABO dan foydalanmasdan bunday bayonotni qayta yozishning oddiy universal usuli yo'q. Keyin muammoni tahlil qiling va uni hal qilish uchun boshqa algoritmni topishga harakat qiling.

5.Aqliy hujum uchun maslahatlarning g'alabasi

Jamiyatning ongi uchun vikorystovuvat ichimlikni ta'qib qilmang. Bu talabning sezilarli o'sishiga olib kelishi mumkin (bir necha hollarda) haqiqiy ma'lumotlar bazasida to'liq ishlamay qolishi mumkin. Dumba vikoristandan so'raladi va aql so'raladi:

Zapit . Matn = "VIBRATI |Z | Narxlar. B davri ( | MAKSIMUM VIBRATE (O'tgan oy narxlari. Davr) | Mulklar reestridan Narx YA O'tgan oy narxi | O'tgan oyning DE narxlari. Davr< НАЧАЛОПЕРИОДА(ОстаткиТоваров.Период, МЕСЯЦ) | I O'tgan oy narxlari.Nomenklatura = Ortiqcha mahsulotlar.Nomenklatura |) | DE Zalishki Tovar.Warehouse = &Warehouse";

Bu nuqtada, oldinga davr oxirida qolgan go'yo olib tashlash uchun konjugat vikoryst ongida bo'ladi. Bundan tashqari, teri nomenklaturasi uchun muddat farq qilishi mumkin. Ushbu so'rovni qo'shimcha vaqt jadvalida qayta yozish tavsiya etiladi. Masalan, buni shunday qilish mumkin:

Zapit . Matn = " // Ushbu ob'ektlar uchun o'tgan davrda narxlarni belgilashning maksimal sanalari | VIBRAT | Mahsulotlar zahiralari nomenklaturasi YAK nomenklaturasi. | MAKSIMUM(Narx.Davlat) YAK davri |NOMENKLATURA BO'YICHA POST | |Z | Ro'yxatdan o'ting. Jamg'arma.Omborlardagi mahsulotlar.Ortiqchalik(...)YAKMahsulotlarAktsiyalar | CHAP BOG'LANISh Mulklar reestri Narxlar YAK | BY Narx.Nomenklatura = Ortiqcha mahsulotlar.Nomenklatura I | Narxlar. Davr< НАЧАЛОПЕРИОДА(ОстаткиТоваров.Период, МЕСЯЦ) | GROUP FOR SURVIVOR Mahsulotlar.Nomenklatura | DE Zalishki Products.Warehouse = &Warehouse; // Qidiruv davri uchun ma'lumotlarni tanlang | VIBRAT | YAK nomenklaturasi, | Narxlar YAK O'tgan oy narxi |Nomenklaturalar uchun ma'lumotlar | | CHAP BOG'LANISh Mulklar reestri Narxlar YAK | BY Narx.Nomenklatura = Ortiqcha mahsulotlar.Nomenklatura I | Narxlar. Davr = Sanalar Nomenklaturalar bo'yicha. Davr " ;

6. Ombor tipidagi maydonlardan nuqta orqali ma'lumotlarni olish

Agar so'rovda qiymat nuqta orqali buklangan yozuv maydonidan turga chiqarilsa, u holda bu so'rov qo'shilganda, u ushbu ombor turiga kiritilgan ob'ektlarning barcha jadvallari bilan bog'lanadi. Natijada, SQL matni nihoyatda murakkablashadi va DBMS optimallashtiruvchisi optimal bo'lmagan rejani tanlashi mumkin. Bu jiddiy samaradorlik muammolariga olib kelishi va bir qator vaziyatlarda samarasizlikka olib kelishi mumkin.

Biroq, ro'yxatga oluvchining ro'yxatga olish kitobi tafsilotlari bilan bog'lanish tavsiya etilmaydi (masalan, "Omborlardagi narsalar.Registrator.Sana"). Bunday holda, vikorist tafsilotlarini qaysi qismga kiritishingiz muhim emas, ombor turi maydonidan nuqta orqali - aylantirilgan maydonlar ro'yxatida, ongda va hokazo. Barcha turlarda bu turdagi tajovuz hosildorlik bilan bog'liq muammolarni keltirib chiqarishi mumkin.

  • Posilanda ombor turlari maydonlarini yaratishda dunyoviylikni kashf eting. Agar kerak bo'lsa, ushbu maydon uchun iloji boricha ko'proq turlarni belgilang. "Yuborish uchun yuborilgan" yoki "hujjat bo'lish uchun yuborilgan" turini ishlatish shart emas va hokazo. Keyin qo'llaniladigan mantiqni diqqat bilan tahlil qilishingiz va haqiqiy vazifa uchun zarur bo'lgan maydon uchun mumkin bo'lgan buyruqlar turlarini aniqlashingiz kerak.
  • Hosildorlik uchun ma'lumotlarni saqlashning ixchamligini albatta qurbon qiling. Agar sizga ilovada qiymat kerak bo'lsa, uni yuborish orqali olib tashlashingiz mumkin, ehtimol bu qiymat darhol ushbu ob'ektda saqlanishi mumkin. Masalan, ro'yxatga olish kitobi bilan ishlash soati davomida ro'yxatga oluvchining sanasi haqida ma'lumot kerak bo'lsa, siz registr uchun hisob ma'lumotlarini yaratishingiz va bu qiymatni hujjatlarni qayta ishlash soatiga belgilashingiz mumkin. Bu ma'lumotlarning takrorlanishiga va bojning biroz (arzimas) oshishiga olib keladi, lekin ishning unumdorligi va barqarorligini sezilarli darajada oshirishi mumkin.
  • Agar kerak bo'lsa, unumdorlik uchun kodning ixchamligi va ko'p qirraliligini qurbon qiling. Qoida tariqasida, ushbu onglarda ma'lum bir dastur uchun barcha turdagi xabarlar kerak emas. Quyidagilarning har bir turi uchun VIRASITIZE qo'shimcha funksiyasidan foydalanib, bir nechta mumkin bo'lgan turlarni tanlang. Ushbu so'rov universal bo'lgani uchun va turli vaziyatlarda (xabar turlari har xil bo'lishi mumkin) qo'llanilganligi sababli, siz so'rovni VARIATE funktsiyasida sizning fikringiz uchun zarur bo'lgan turni almashtirib, dinamik ravishda shakllantirishingiz mumkin. Chiqish kodidan foydalanishni oshirish va ehtimol uni kamroq universal qilish arziydi, bu sizning ishingiz unumdorligi va barqarorligini sezilarli darajada oshirishi mumkin.

dumba

Kimning yozuvi qidirilmoqda, keyin ro'yxatga oluvchining ma'lumotlari qidiriladi. Ro'yxatga oluvchi - bu 56 turdagi hujjatlardan biri uchun yuborilgan qiymatlarni saqlashi mumkin bo'lgan ombor tipidagi maydon.

Zapit . Matn = "VIBRATI | Sotish.Registrator.Raqam, | Sotish.Registrator.Sana, | Sotish pudratchi, | Sotish. | Sotish. |Z |DE...

Ushbu so'rovning SQL matni hujjat jadvallariga 56 ta chap ulanishni o'z ichiga oladi. Bu siz ichganingizda jiddiy hosildorlik muammolariga olib kelishi mumkin. Biroq, eng yaxshi natijalarga erishish uchun 56 turdagi hujjatlar bilan tanishishning hojati yo'q. Sizdan so'ramoqchimanki, ushbu urush paytida "Tovar va xizmatlarni realizatsiya qilish" va "Xarid shartnomasi" hujjatlari isrof bo'lmaydi. Bunday holda, biz VIRASITI() qo'shimcha funksiyasi orqasidagi ulanishlar sonini bo'lish orqali robotni qayta ishlashni sezilarli darajada tezlashtirishimiz mumkin.

Zapit . Matn = "VIBRATI | VIBIR | TODI VIRAZITI (Sotish. Registrator YAK hujjati. Mahsulotlar va xizmatlarni sotish raqami). | TODI VIRAZITI (Sotuv. Registrator YAK hujjati. Xaridorning shartnomasi). | KINETS VIBORU YAK raqami, | VIBIR | QACHON Sotish Registrator POSILANNA Document of Products and Services | TODI VIRAZITI (Sotish. Registrator YAK hujjati. Mahsulotlar va xizmatlarni sotish sanasi). | Qachon Sotish Registratori POSILANNYA Xaridor shartnomasi | TODI VIRAZITI (Sotish.Registrator YAK hujjati.Xaridor shartnomasi).Sana | KINETS VIBORU YAK Sana, | Sotish pudratchi, | Sotish. | Sotish. |Z | Ro'yxatdan o'tish to'plangan. Sotish YAK Sale |DE | Sotish bo'yicha POSITION hujjati | ABO Sales.Registrator POSILANNYA Document.Xaridor shartnomasi";

Bu yanada og'irroq va, ehtimol, kamroq universaldir (u boshqa holatlarga to'g'ri kelmasligi mumkin - agar iloji bo'lsa, ro'yxatga oluvchi turlarining boshqa qiymatlari). Biroq, tizimga kirganingizda, hujjat jadvallari bilan ikkitadan ortiq ulanishni sig'dira oladigan SQL so'rovi yaratiladi. Ushbu turdagi formulalar ancha samarali va barqaror, tashqi ko'rinishi esa pastroq.

7. Parametrlarni o'zgartirmasdan virtual jadvallarni filtrlash

Virtual jadval tanlanganda, izlar berilgan virtual jadvalga mos keladigan barcha ob'ektlar jadvalining parametrlariga o'tkaziladi. DE bo'limining yordami uchun virtual jadvallarni filtrlash tavsiya etilmaydi. Bunday so'rov eng to'g'ri (funktsional nuqtai nazardan) natijani beradi va DBMS sizning qaroringiz uchun optimal rejani tanlashda ancha moslashuvchan bo'ladi. Ba'zi hollarda, bu DBMS optimallashtiruvchisi muammolarini bartaraf etishga va elektr ta'minotining sezilarli darajada oshishiga olib kelishi mumkin.

Masalan, keyingi qadam virtual jadvaldan tanlash uchun vikory bo'limiga so'rov o'tkazishdir.

Zapit . Matn = "VIBRATI | Nomenklatura |Z | To'plash.Omborlardagi mahsulotlarni ro'yxatdan o'tkazing.To'xtatilgan() |DE | Ombor = &Ombor";

Ehtimol, ushbu so'rov natijasida virtual jadvaldagi barcha yozuvlar olinadi va keyin aqlning vazifalariga mos keladigan qism tanlanadi. So'rovlarni qayta ishlashning dastlabki bosqichida ko'p sonli mavjud yozuvlarni ajratish eng yaxshi variant bo'ladi. Shu maqsadda aqlni virtual jadvalning parametrlariga o'tkazing.

Zapit . Matn = "VIBRATI | Nomenklatura |Z | Jamg'arish.Omborlarda Tovarlarni ro'yxatdan o'tkazing.To'xtatilgan(, Ombor = &Ombor)";

Rossiya Federatsiyasi Mehnat kodeksining 134-moddasi normalariga ko'ra, ish beruvchilar tovarlar va xizmatlarning barqaror narxlarining oshishi hisobiga ishchilar ish haqi darajasining oshishini ta'minlashlari shart. Indekslash tartibi (kasaba uyushmasi kengashining fikriga muvofiq) jamoa shartnomasida va tashkilotning mahalliy normativ hujjatida belgilanadi. Statti 1C mutaxassislari maslahat beradilar "1C: Ish haqi va xodimlarni boshqarish 8" 3-nashri shtat tarkibi va ishchi kuchi xodimlarining tarif stavkalarining asosiy tariflarini indeksatsiya qiladi (o'rtacha ish haqini yanada qayta tashkil etish bilan).

"1C: Ish haqi va xodimlarni boshqarish 8" da indekslashdan oldin (vah. 3) ikkita vazifani ko'rib chiqing:

  • Xodimlar jadvalini indeksatsiya qilish - xodimlar jadvali uchun tarif stavkalarini izchil o'zgartirish (dasturda bo'lgani kabi);
  • Provayderlar uchun asosiy tariflar va tarif stavkalarini indeksatsiya qilish - o'rtacha daromadni yanada o'zgartirish bilan tarif stavkalarini oshirish.

Shtat jadvalini indeksatsiya qilish mumkin, chunki "1C: Ish haqi va xodimlarni boshqarish 8" dasturining 3-nashri saqlangan tarixdan shtat jadvalini yuritadi (belgilangan praporsiyalar. Shtat jadvali saqlanadi va shtat jadvalidagi o'zgarishlar tarixi saqlanadi. Menyuni sozlash - Xodimlar profili - Xodimlarni sozlash).

Kadrlar jadvalini o'zgartirish hujjatida indeksatsiya amalga oshiriladi. Indekslash uchun pozitsiyani tanlash Joylashuvni o'zgartirish tugmasi yordamida amalga oshirilishi mumkin. Tugmachada "To'ldirish" indikatorlari, ko'rsatkichlar ko'rsatiladi, ular to'g'rilangan ish haqi tuzilmasida jami tarif stavkasining dastlabki ombori sifatida belgilanadi. Ushbu ko'rsatkichlarning qiymatlari ularning ko'p indekslash koeffitsienti yordamida indekslanishi mumkin (1-rasm).

Kichik 1. Tarif guruhlari va toifalari (toifalari) uchun tayinlangan shtat jadvalini indeksatsiya qilish, darhol tarif guruhini tasdiqlash kerak (menyu Ish haqi - Tarif guruhini tasdiqlash).

Tarif guruhini tasdiqlash hujjatining standart sxemasida tarif toifalari bo'yicha tarif stavkalari hajmini o'zgartirish uchun Standart sxemani o'zgartirish tugmasini bosing. Bunday holda, muntazam jadvalni o'zgartirish hujjati avtomatik ravishda yaratiladi. Dasturning kadrlar darajasini indeksatsiya qilish professional ishchilarning ish haqini avtomatik indeksatsiya qilishga olib kelmaydi va o'rtacha ish haqining o'sishiga yordam bermaydi.

Rossiya Federatsiyasining tarif stavkalarining rasmiy tariflarini indeksatsiya qilish

"1C: Ish haqi va xodimlarni boshqarish 8" dasturining 3-nashrining 3.1.3-versiyasidan boshlab, ixtiyoriy ishchilarning tarif stavkalarining joriy tariflarini indeksatsiya qilish nafaqat yuqori tarif stavkasida, balki o'zgarishlar va boshqalardan xabardor bo'lishi kerak. yig'ma tarif stavkasining omborini ko'rsatadigan normativ hujjatlar. Bunda indeksatsiya koeffitsienti hisoblanmaydi, balki yangi agregat tarif stavkasi yuqoriroq stavkaga ko'tarilganligi sababli sug'urta qilinadi. Tibbiyot xodimlari uchun rasmiy tariflar va tarif stavkalarini indeksatsiya qilish "Rejalashtirilgan to'lovlarni o'zgartirish" hujjati orqali amalga oshiriladi (menyu "Ish haqi - Tibbiyot xodimlari uchun to'lovni o'zgartirish - "Yaratish tugmasi").

Tarif stavkalarining oshishi tizim tomonidan indeksatsiya sifatida ko'rib chiqilishi uchun, ya'ni o'rtacha daromadlar o'sishining forvard koeffitsientini ko'rsatuvchi hujjatda "Rejalashtirilgan buxgalteriya hisobini o'zgartirish" ni Indeks daromadi sifatida sug'urta qilish tartibini o'rnating (2-rasm). ).


Kichik 2. Chet ellik ishchilarning ish haqini indeksatsiya qilish

Ushbu buyurtma hujjatda mavjud bo'lib, unda ish haqini indeksatsiya qilishning vikariy mexanizmlari imkoniyati mavjud. Vikorist tugmalari tanlang yoki to'ldiring, daromadlari indeksatsiyaga hissa qo'shadigan ijtimoiy ishchilarning transferini shakllantirishingiz kerak. Keyin, tugma orqasida "Ijtimoiy ta'minot uchun to'lovni o'zgartirish" hujjatidagi ko'rsatkichlarni to'ldiring, oyna ochiladi, unda siz qattiq qiymatlarni kiritishingiz mumkin (Ro'yxatdan o'tgan qiymat - kichik bo'lim 2) yoki qo'shimcha yordamida ilgari to'ldirilganlarni qayta kiritishingiz mumkin. matematik operatsiyalar tsíy (Qo'shish, ko'paytirish), masalan, ko'rsatuvchi koeffitsient , Ish haqi, yillik tarif va umumiy tarif stavkasini ko'rsatadigan boshqa ko'rsatkichni ko'paytirish uchun ishlatiladi. "Ish haqini indeksatsiya qilish uchun buyurtma" tugmachasida ishchilarning ish haqini indeksatsiya qilish uchun buyurtmaning yana bir shakli yaratiladi.

Agar korxona tarif guruhlariga bo'ysunadigan bo'lsa, u holda Rejalashtirilgan to'lovlarni o'zgartirish hujjati Tarif guruhini tasdiqlash hujjatidagi Rejalashtirilgan to'lovlarni o'zgartirish tugmasi yordamida yaratilishi mumkin (menyu Ish haqi - Tarif guruhini tasdiqlash).

© 2024 androidas.ru - Android haqida hamma narsa