Ma'lumotlarni almashish mexanizmi 1c. RLS o'rniga ma'lumot almashish mexanizmidan foydalanish. Forma modulini tahrirlash

1C ajratuvchi element forma maydonlarini qayta taqsimlash uchun kerak, chunki hozirda foydalanuvchi uchun qulay. Deyarli har bir Windows foydalanuvchisi ajratuvchilarni ishlatishni yaxshi biladi. Aytaylik, ikkita boshqaruv elementi bo'lgan oddiy shakl yaratdingiz.

An'anaga ko'ra, ro'yxat elementlari chap tomonda joylashgan bo'lishi mumkin. O'ng qismda, xuddi shu narsalarning kengaytirilgan tafsiloti mavjud. Agar chapdagi ro'yxat qisqa nomlardan iborat bo'lsa, ushbu ustunni minimal darajaga tushirish mantiqan to'g'ri keladi. Shunga ko'ra, bu holda, o'ng tomonning o'qilishi kuchayadi. Aksincha, chap tomonda uzun sarlavhalar bo'lsa, ustunni kengaytirish kerak. Ajratuvchilar foydalanuvchiga sichqoncha bilan chegarani tortib, o'zboshimchalik bilan shaklni sozlashiga imkon beradi.

Ushbu boshqaruv usuli Word va Excel dasturlarida jadvallarni tahrirlashda qo'llaniladi. Formani yaratishda vertikal va gorizontal ajratuvchi shakl elementlarini yaratishingiz mumkin. Umuman olganda, vizual ravishda ekran ichida joylashgan shakllarni yaratish afzalroqdir.

8.2, 8.3 ajratuvchi (boshqariladigan shakllar)

Siz 1c boshqariladigan shaklda ajratuvchi qo'sha olmaysiz, u dastur tomonidan jadval maydonidan oldin / keyin avtomatik ravishda qo'shiladi

Ma'lumotlarni almashish mexanizmi bir nechta mustaqil tashkilotlarning ma'lumotlarini bitta axborot bazasida saqlashga imkon beradi.

Bu konfiguratsiya ob'ektlarining umumiy atributlaridan nafaqat "barcha moslamalarga ega bo'lgan bir xil atribut" sifatida, balki ma'lumotlarning bir nechta mustaqil sohalardan biriga tegishli ekanligini aniqlovchi sifatida ishlatilishi mumkinligi tufayli mumkin bo'ladi. Buni quyidagi misol bilan izohlash mumkin.

Konfiguratsiyada "Tashkilot" umumiy atributi mavjud deylik. Bu shuni anglatadiki, har bir katalog, hujjat yoki boshqa konfiguratsiya ob'ekti "Tashkilot" atributiga ega bo'ladi.

Bundan tashqari, infobazaning har qanday foydalanuvchisi ushbu tashkilotda, masalan, ma'lum bir hujjatda ko'rsatilishidan qat'i nazar, ushbu ma'lumotlar bazasida saqlangan barcha ma'lumotlarga kirish huquqiga ega.

Endi "Tashkilot" umumiy atributi ajratuvchi bo'lishini bildiramiz.

Keyin infobazada (soddalashtirilgan) bir nechta mustaqil ma'lumotlar zonalari yaratiladi, ularning har biri faqat bitta ma'lum tashkilot uchun ma'lumotlarni saqlaydi:

Endi dasturga kirishda foydalanuvchi infobazadagi barcha ma'lumotlarga ega bo'la olmaydi, faqat o'z "o'z" hududi ma'lumotlariga, bu holda o'z tashkilotining hujjatlari, ma'lumotnomalariga va boshqalarga kirish huquqiga ega bo'ladi.

Ushbu mexanizmdan foydalanishning yana bir varianti infobazada bir nechta mustaqil ma'lumotlar maydonlari mavjud bo'lganda va shu bilan birga barcha dastur foydalanuvchilari uchun mavjud bo'lgan ma'lumotlar mavjud bo'lishi mumkin. Masalan, ularda barcha tashkilotlar uchun bir xil bo'lgan banklar ma'lumotnomasi mavjud.

Bunday holda, foydalanuvchi "o'z" ma'lumotlar maydoniga va umumiy foydalanuvchilar uchun umumiy bo'lgan umumiy bo'lmagan ma'lumotlar maydoniga kirish huquqiga ega.

Ma'lumot almashish mexanizmi juda moslashuvchan va ko'p qirrali:

  • bu sizga bir emas, balki bir nechta ajratgichlardan foydalanishga imkon beradi;
  • umumiy ma'lumotlardan foydalanishning turli xil usullari mavjud; ular ajratuvchi qiymat ko'rsatilmaganida vaziyatni qanday hal qilishda farq qiladi;
  • ajratuvchi sifatida umumiy atributdan foydalanishni dasturning ishlashi paytida ichki tildan konfiguratsiyani o'zgartirmasdan boshqarish mumkin; bunga shartli ajratish deyiladi.

1C: Enterprise tizimida bitta axborot bazasida bir nechta korxonalar uchun buxgalteriya hisobini yuritish mumkin. Buning uchun buxgalteriya ajratuvchisi ishlatiladi.

Buxgalteriya ajratuvchisidan foydalanish konfiguratsiyada ko'rsatilgan. Agar konfiguratsiya buxgalteriya ajratuvchisidan foydalanishni aniqlasa, u holda jadvalda buxgalteriya summasi chiqariladigan buxgalteriya ajratuvchisi uchun ma'lum bir qiymatni tanlash mumkin.

Buxgalteriya ajratuvchisi qiymatini belgilash uchun elementdan foydalaning Buxgalteriya ajratuvchisi menyu "Amallar" yoki asboblar panelidagi tegishli tugma. Bunday holda, ekranda buxgalteriya ajratuvchisi qiymatini o'rnatish uchun dialog oynasi ko'rsatiladi.

Dalada Buxgalteriya ajratuvchisi qiymati buxgalteriya ajratuvchisi uchun ma'lum bir qiymatni belgilashingiz mumkin. Qiymat qanday kiritilishi konfiguratsiyada aniqlangan buxgalteriya ajratuvchi turiga bog'liq. Bu odatda ma'lumotnoma. Bunday holda, qiymatni tanlash uchun tanlash tugmasidan foydalaning va qidiruvdagi qiymatlar ro'yxatidan kerakli qiymatni tanlang.

Tugma "Bo'sh qiymat" buxgalteriya ajratgichining kiritilgan qiymatini o'chirishga, ya'ni bo'sh qiymatni belgilashga imkon beradi. Agar buxgalteriya separatorining o'ziga xos qiymatlari bilan bir qatorda operatsiyalarda bo'sh qiymat ham ishlatilgan bo'lsa, bu mantiqan to'g'ri keladi.

Belgilash katagi "Hammasi" buxgalteriya ajratgichining barcha qiymatlari uchun jami ko'rsatkich rejimini miqdorida belgilashga imkon beradi.

Tanlangan qiymatlarni o'rnatish uchun tugmani bosing "OK"... O'rnatish qiymatlarini bekor qilish uchun - tugma "Bekor qilish".

Tanlangan qiymatlarni o'rnatgandan so'ng, tabloda buxgalteriya ajratuvchisining ma'lum bir qiymati yoki bo'sh qiymat uchun yoki yig'indagi barcha qiymatlar uchun jami, dialog oynasida tanlangan variantga qarab aks etadi.

[Tugma 7710967300 BUCH RB] Connect \u003d Srvr \u003d "% servername%"; Ref \u003d "% base_name%"; Qo'shimcha Parametrlar \u003d / Z "-0, -0, + 7710967300";

/ Z dan keyin biz umumiy tafsilotlarni tartibda ko'rsatamiz. Odatda buxgalteriya bo'limimizda ikkita umumiy tizim atributlari mavjud bo'lganligi sababli, biz ular uchun -0 qiymatini belgilaymiz, shunda ular ishlatilmaydi va uchinchisi (biz yaratgan) INNdan o'tamiz.

1000 va 1 katakchalari

Endi siz ma'lumotlarning qancha qismi barcha sohalar uchun umumiy bo'lishini aniqlashingiz kerak. Bularning barchasi konfigurator orqali tuzilgan. Biz yaratgan umumiy atributning xususiyatlarida 800 ta parametrdan iborat kichik ro'yxatni ochadigan "Kompozitsiya" elementi mavjud:

Parametrlarni tanlashni sizning ixtiyoringiz, ixtiyoringiz va muhitingizga topshiramiz. Mana bizning versiyamiz (aniqrog'i, 20000 piksel bor).

Ajratuvchi, shuningdek, har bir ma'lumotlar bazasi uchun alohida foydalanuvchilar ro'yxatini tuzishga imkon beradi - agar yuzlab foydalanuvchilaringiz bo'lsa foydali bo'lishi mumkin - agar ma'lum bir ma'lumotlar bazasiga kirsangiz, siz ushbu ro'yxat orqali qonli donlarga o'tishingiz shart emas. Biz shaffof avtorizatsiyani sozlaganimiz uchun foydalanmayapmiz.

Joriy ma'lumotlar bazalaridan ma'lumotlarni tushirish

Joriy ma'lumotlar bazalaridan ma'lumotlarni yuklab olish uchun biz universal XML almashinuvidan foydalanamiz. Siz shunchaki ma'lumotlar bazasini olib, tushirishingiz mumkin emas, siz almashish qoidalarini o'rnatishingiz kerak, aks holda yuklash paytida xatolar va to'qnashuvlar bo'lishi mumkin (va bo'lishi mumkin), va ikkinchi ma'lumotlar bazasi shunchaki o'tib ketmaydi. Eslatib o'tamiz, biz har bir tashkilot uchun asosiy maydonni ajratamiz va bizning holatlarimizda bunday almashinuv qoidalari ishlaydi. Agar siz boshqa ajratgichdan foydalanishga qaror qilsangiz, siz o'zingizning miyangiz va tasdiqlash qutilaridan foydalanishingiz kerak. Asosiy narsa odatdagi tushirishdan foydalanmaslikdir - bu oldindan belgilangan barcha yozuvlarning takrorlanishiga olib keladi.

Styuardessa uchun eslatma: kataloglar va hujjatlarni alohida yuklash yaxshiroqdir - bu bilan siz yuklash paytida keraksiz xatolardan qochishingiz mumkin.

Ma'lumotlarni bo'lingan ma'lumotlar bazasiga yuklash

Ma'lumotlarni yuklamoqchi bo'lgan tashkilotning ajratuvchisini ko'rsatib, 1C-ni "-0, -0, +% your separator%" parametrlari bilan boshlaymiz. Biz universal almashinuvni ishga tushiramiz va uni yuklash paytida olingan fayllarni oziqlantiramiz: avval kataloglar, keyin hujjatlar. Ushbu operatsiyani har bir tayanch zonasi uchun takrorlaymiz.

Vazifani soddalashtirish uchun biz tushirishni ommaviy ravishda amalga oshiramiz, avval buyruq satri orqali biroz tuzatilgan standart ishlov berishni boshlaymiz (/ Execute c: \\ unloading.epf). Keyin olingan fayllarni bo'lingan ma'lumotlar bazasiga qo'lda yuklaymiz.

Qanday qilib oz vaqt sarflash uchun ko'proq vaqt sarflash kerak

Ajratish jarayoni tezkor narsa emas. Eslatib o'tamiz, hozirda bizda 500 dan ortiq tashkilot bor, lekin bir necha hafta ichida biz faqatgina 70 ta bo'linishga muvaffaq bo'ldik. Ammo, biz aniq bilamizki, olti oy ichida o'tmishimizga qilingan ishlar va tejab qo'yilgan vaqt va kuch uchun minnatdorchilik bildiramiz.

Buxgalterlar tashkilotlarning doimiy bazadan bo'linishga o'tishini sezmaydilar, chunki ular uchun bu jarayon og'riqsizdir. Booty faqat adminlar uchun kuyadi :)

Yon ta'siri: bo'shliqni tejash 20 dan 1 gacha, bilvosita tezlikni oshirish bebahodir. Mutlaq ma'noda: 50 ta tashkilot 2 Gb SQL maydonini egallaydi, bitta alohida ma'lumotlar bazasi 800 Mb va undan ko'proqni tashkil qiladi.

Malhamda va'da qilingan chivin, hatto to'rttasi:

  • agar foydalanuvchilardan biri bitta tashkilotdagi ma'lumotlarni o'chirib tashlagan bo'lsa, siz barcha ajratilgan ma'lumotlar bazasini orqaga qaytarishingiz kerak - faqat bitta ma'lumot maydonini olib, orqaga qaytarib bo'lmaydi.
  • yangilanishlarni, ayniqsa kataloglarni qo'shadigan yoki o'zgartiradigan narsalarni sinchkovlik bilan sinab ko'rish kerak
  • agar ma'lumotlar bazasini mijozga o'tkazishingiz kerak bo'lsa (yoki soliqni to'kib tashlasangiz :), teskari protsedurani bajarishingiz kerak: universal almashinuv yordamida tashkilotni split ma'lumotlar bazasidan olib tashlang, so'ng uni bo'sh oddiy ma'lumotlar bazasiga yuklang va saqlang. dt fayli
  • ajratilgan ma'lumotlar bazasida rejalashtirilgan vazifalarni boshqarish mumkin emas (masalan, valyuta kurslarini avtomatik ravishda yangilash mumkin bo'lmaydi)
Dastlabki uchta qoshiq achchiq emas - ular bizni yanada ehtiyotkor bo'lishimizga yordam beradi. Ammo to'rtinchisi bilan nima qilish kerak, biz hali bilmaymiz, ammo astoydil tergov qilmoqdamiz.

Diqqat! Bu darsning kirish versiyasi, uning materiallari to'liq bo'lmasligi mumkin.

Talaba sifatida kiring

Maktab materiallariga kirish uchun talaba sifatida kiring

Ajam dasturchilar uchun 1C 8.3 ichki dasturlash tili: 1C da formatlash

1C da dasturlashda siz ko'pincha (bir xil hisobotlarda) har xil turdagi qiymatlarni (satrlar, sanalar, raqamlar ...) ko'rsatishingiz kerak. Har bir ma'no turli xil ko'rinishga ega.

Masalan, bitta sana "01.01.2005" qator sifatida quyidagicha ifodalanishi mumkin:

  1. "01.01.2005"
  2. "2005 yil 1-yanvar"
  3. "01.01.05"

Bularning barchasi bir xil qiymatdagi mag'lubiyat tasvirlari, dshakllanishi uchun 1C da maxsus funktsiya ishlatiladi Formatlash.

Format funktsiyasidan 1C da foydalanish

Raqamlarni guruhlashni o'chirib qo'yish

10000 raqamini chiqarishni xohlaymiz.

Agar biz yozsak:

Format qatori odatda teng belgi bilan ajratilgan ikki qismdan iborat. Tengning chap tomonida o'rnatiladigan parametr nomi (Yordam yoki misollarni ko'ring), o'ng tomonda esa ushbu parametr qiymati ko'rsatilgan.

Yuqoridagi misolda "CG \u003d 0" formatlash satrida CG parametri va qiymati 0 ga teng. Ushbu kombinatsiya raqamli raqamlarni guruhlashni bekor qiladi. Ko'rib turganingizdek, endi 10000 ko'rsatiladi.

Etakchi nollarni ko'rsatish

Raqamdan oldin etakchi nollarni chop etish ham odatiy vazifadir. Masalan, siz 5 raqamini old tomonida nol bilan, ya'ni "05" shaklida ko'rsatishni xohlaysizmi:

Hisobot (Format (5, "CHT \u003d 2; CHVN \u003d")); // 05 ni bosib chiqaradi

"CHT \u003d 2; CHVN \u003d" formatidagi satrni ko'rib chiqamiz. U nuqta-vergul bilan ajratilgan ikkita format satridan iborat. Keling, ularning har birini alohida tahlil qilaylik.

"CHT \u003d 2" qatori butun son va kasr qismlarining ko'rsatilgan o'nlik kasrlarining umumiy sonini belgilaydi. Shunday qilib, raqam ko'rsatilgandan so'ng egallaydigan pozitsiyalarning umumiy soni 2 ga teng bo'ladi.

Yordamdan kelib chiqqan holda "CHVN \u003d" qatori funktsiyani formatini ko'rsatadi, agar raqam e'lon qilingan uzunlikka etib bormasa (bizning holatimizdagi kabi, chunki biz 2 pozitsiyani belgiladik va 5 faqat bittasini oladi), unda etakchi nollardan foydalanish kerak. Ushbu formatdagi mag'lubiyatning o'ziga xos xususiyati shundaki, u faqat parametr nomi va teng belgiga ega, ammo ahamiyati yo'q. Siz darsning kirish versiyasini o'qiyapsiz, to'liq darslar topilgan.

Ikki formatli satrlarning kombinatsiyasi "5" o'rniga "05" kerakli natijani beradi.

Butun sonli va kasrli qismlar uchun ajratuvchini o'zgartiring

Aytaylik, nuqta o'rniga yulduzcha ajratuvchisi bilan kasr sonlarini ko'rsatishimiz kerak. Ya'ni 25.46 "25 * 46" shaklida ko'rsatilishi uchun:

Format qatori DF parametri va funktsiya ko'rsatadigan dddd qiymati Formatlash hafta kunining uzun tasvirini chop eting (unda qancha d borligini e'tiborga oling).

Sana oyining namoyishi

Sana bo'yicha oyning tavsifi quyidagicha ko'rsatiladi:

Hisobot (Format ("20050101", "DF \u003d MMMM")); // yanvar oyini namoyish etadi

Format qatori oldingi holatdagidek DF parametriga ega. Ammo ma'no boshqacha. Endi u MMMM ga teng.

Sinovdan o'ting

Sinovni boshlang

1. Format ("19050505", "DF \u003d MMMM") qaytadi

2. Fraksiyonel va butun sonli qismlarning ajratuvchisini ^ ga o'zgartirib, satrni formatlang

3. Format funktsiyasi 5 o'rniga "00005" qiymatini qaytarishi uchun format satri mos keladi

4. Shunday qilib, Format funktsiyasi o'rniga 10000 "10000" qaytadigan bo'lsa, format satri mos keladi

5. Format funktsiyasi turdagi qiymatni qaytaradi

Maqola sizga yoqdimi? Do'stlar bilan bo'lishish uchun: