Korxona buxgalteriya hisobi 1c 8.3 qovurg'ani qanday yaratish kerak. Tarqalgan axborot bazasi: asoslar. Periferik ma'lumotlar bazasida sinxronizatsiyani o'rnatish

2016 yil 25 oktyabr

2 tugun va 10 ta tugun uchun RIBni o'rnatish va qo'llab-quvvatlash o'rtasida katta farq yo'q, ammo masofaviy nuqtalar soni yuzdan oshganda, butunlay boshqa muammolarni hal qilish kerak.

Dastlabki ma'lumotlar:

Konfiguratsiya: Chakana savdo 2.2
Platforma 1C: 8.3.7.1970



Loyiha muddati: bir yil.




Arxitektura:

Birinchidan, biz RIB sxemasiga qaror qildik. Iloji boricha uzoq vaqt davomida "yulduz" sxemasiga e'tibor qaratishga qaror qilindi; texnologik cheklovlarga erishilganda - qor parchasi.





Cheklovlar:
- 2 GB operativ xotira
- 1 ta jismoniy protsessor


Yuqoridagilarning barchasidan asosiy zerikarli narsa ma'lumotlar bazasining maksimal hajmini cheklashdir.

Ammo bu shunchaki saytdagi eskirgan ma'lumotlardan tozalash tartibini diqqat bilan tashkil qilishingiz kerakligini anglatadi.

1C va MS SQL serverlari uchun alohida jismoniy server ajratilgan. U birja va uzoq muddatli operatsiyalarning asosiy yukini o'z zimmasiga oladi.
Yakuniy mijoz kompyuterlari almashtirilmaydi, chunki ular nozik mijoz bilan ishlaydi va ularga yuk minimal bo'ladi.
.


asosiy sozlamalar

UT 10.3 davridan beri, men 60 tugun uchun RIBni amalga oshirish bo'yicha birinchi loyihamni amalga oshirdim, albatta, "ko'prik ostidan juda ko'p suv o'tdi".

1C bir joyda turmadi. Chakana savdo 2.2 endi tanlangan ma'lumotlarni yuklash zaruratini hisobga oladi.
Do'kon ma'lumotlar bazasiga faqat unga tegishli ma'lumotlar yuklanadi:
- barcha ma'lumotnomalar (ixtisoslashganlardan tashqari)
- Ushbu do'kon uchun hujjatlar

Yana bir savol shundaki, u yoki bu tarzda, ma'lumotlar bazasiga tugun qo'shish, u yozilganda har bir umumiy element uchun ro'yxatga olish jadvaliga boshqa yozuvni qo'shishni anglatadi.





1) Yuklash va yuklab olish uchun alohida sinxronizatsiya stsenariylariga bo'linish kerak
Gap shundaki, yuk tushirish uzoq vaqt talab etadi va blokirovka qilishni o'z ichiga oladi, yuklash esa juda muammosiz. Shu bilan birga, tez-tez biz chakana savdo nuqtalaridan ma'lumotlarni kuniga bir necha marta berib, tezda olishimiz kerak bo'ladi.

2) Muammoli do'konlarni aniqlang va ularni umumiy sinxronizatsiya stsenariysidan olib tashlang. Ularda katta yuk tushirishlar bo'lishi mumkin - bu butun almashinuvni, shu jumladan boshqa tugunlarni ham sekinlashtiradi. Muammolar hal etilgach, ular yana qo'shiladi.

3) Ma'lumotlarni yuborish va qabul qilish uchun bir nechta skriptlarni yarating. Ammo bu erda asosiy narsa ularning miqdorining to'g'ri muvozanatini saqlashdir.
(8.1 versiyasidan boshlab).
Binobarin, RIBni tushirishda parallellik cheklangan. Amalda, parallel ravishda 2-3 skriptni ishga tushirish mumkin.


Nimani yaxshilash kerak edi

1C RIB standart mantig'idagi eng muhim muammo - bu yangilanishlar





Ayirboshlashning yana bir muammosi axborot registrlaridir. Axborot registrining har bir yozuvini XML ga yuklash xizmat elementlari va boshqalar bilan alohida XML tugunini yaratadi. Bundan tashqari, 100 ta yozuv mavjud axborot registrining “SelectChanges()” funksiyasi natijada 100 qatordan iborat jadvalni oladi. bir vaqtning o'zida, agar 100 qatorli ushbu katalog jadval bo'limida faqat bitta yozuvga ega bo'lsa. Va bu eksklyuziv blokirovka qilish vaqti. Shunday qilib, agar shaxsiy kompyuterda boshqa do'konlarga almashtirish uchun muntazam ravishda ro'yxatdan o'tgan juda ko'p yozuvlar mavjud bo'lsa, uni jadvalli qismga ega bo'lgan katalog shaklida taqdim etish to'g'riroq bo'ladi, bu o'ta og'ir hollarda yozib olishda. , bir xil registrning qatorlarini hosil qilishi mumkin. Nima bo'lganda ham, .

Yana bir muhim tafsilot - Nima uchun? Hozirda 3 millionga yaqin diskont kartalari mavjud.Ular bilan ishlash uchun tashqi onlayn tizimdan foydalaniladi. Agar siz chegirma kartalarini barcha do'konlarga o'tkazishda davom etsangiz, bu almashinuvni sezilarli darajada oshiradi va bazaning hajmi 10 GB dan oshishiga olib kelishi mumkin.

Ba'zi mexanizmlar markaziy ma'lumotlar bazasiga murojaat qilish orqali onlayn tarzda amalga oshiriladi: boshqa do'konlardagi qoldiqlar, boshqa do'kondan kvitansiyani qaytarish, sovg'a sertifikatining haqiqiyligini tekshirish.


Replikatsiya


Dastlabki RIB tugunini muntazam ravishda yaratish replikatsiyani printsipial jihatdan imkonsiz qiladi.
Shuning uchun yangi tugun quyidagi tarzda yaratiladi
:


2) Ushbu ma'lumotlar bazasi RIBdagi barcha umumiy ma'lumotlarni almashtiradi, lekin ixtisoslashgan (hujjatlar) ni olmaydi


5) Do'kon uchun poydevor tayyor.

Tayyor dasturiy ta'minot to'plami serverga joylashtirilgan, shuning uchun u ko'p vaqt talab qilmaydi. Keyin yangi yaratilgan ma'lumotlar bazasi serverga yuklanadi va u do'konga jo'natishga tayyor.


Yupqa mijozning afzalliklari

Chakana savdo 2.2 (Thin Client) ning "ruhni isitadigan" ikkita muhim afzalligi:








Qo'llab-quvvatlash va yangilanishlar




1) Do'konlardan qo'lda yangilang (juda to'g'ri emas, o'zgarishlar qabul qilinmasligi mumkin, qo'ng'iroqlar va muammolar bo'ladi) - bu avval ham shunday edi

3) Yangilash uchun *.cmd yoki 1C skriptini yozing yoki tayyor skriptni oling. Amaliyot shuni ko'rsatadiki, bunday yechim har doim yarim (beqaror) bo'lib, unga ozgina funksionallik yaratish mumkin bo'ladi.

Bizning vazifalarimiz nima edi:


2) Yangilashda foydalanuvchi bilan interaktiv aloqa qilish mumkin (xabarlar, tasdiqlash, taraqqiyot paneli).








Asosiy funktsiyalari:




4) Agentlarning holatini tekshirish
5) Hisobotlarni yangilash
6) zaxira

















Masalan, yangilanishdan keyin xato xabari shunday ko'rinadi:








Shunday qilib, loyihani muvaffaqiyatli yakunlash uchun yaxshi imkoniyat bor edi. Parvozning kamida yarmida parvoz normal.

Agar biz qiziqarli tuyulishi mumkin bo'lgan boshqa echimlarga kelsak, men alohida yozaman

P.S. va eng muhimi: keyingi qo'llab-quvvatlashni to'g'ri rejalashtirish bunday loyihalarning keyingi muvaffaqiyatining asosiy omillaridan biridir. :)

2016 yil 25 oktyabr

2 tugun va 10 ta RIBni o'rnatish va qo'llab-quvvatlash o'rtasida katta farq yo'q, lekin masofaviy nuqtalar soni yuzdan oshganda, butunlay boshqa masalalarni hal qilish kerak.

Shunday qilib, dastlabki ma'lumotlar:

Konfiguratsiya: Chakana savdo 2.2
Platforma 1C: 8.3.7.1970
Loyiha oxirida tugunlarning taxminiy soni: 200 ta
Markazdagi uskunalar resurslari: muhim cheklovlarsiz
Nuqtadagi uskunalar: muhokama qilingan masala.
Loyiha muddati: bir yil.

Arxitektura:

Birinchidan, biz RIB sxemasiga qaror qildik. Oldin "yulduz" sxemasiga e'tibor qaratishga qaror qilindi
Chakana savdo nuqtalarida ishning mijoz-server versiyasi qo'llaniladi, Windows OS bilan ishlaydigan maxsus server.
Server 1C "Server 1C MINI" versiyasida qo'llaniladi https://1c.ru/news/info.jsp?id=17577
DBMS serveri - MS SQL Express 2008 R2.

SQL Express 2008 R2 bu SQL Server liniyasining joriy oxirgi versiyasidir.
Cheklovlar:

2 GB RAM
- 1 ta jismoniy protsessor
- 10 GB maksimal ma'lumotlar bazasi hajmi

Yuqorida aytilganlarning barchasidan eng zerikarli narsa, albatta, ma'lumotlar bazasining maksimal hajmini cheklashdir. Ammo, aslida, bu shunchaki saytdagi eskirgan ma'lumotlardan tozalash tartibini diqqat bilan tashkil qilish kerakligini anglatadi.

1C va MS SQL serverlari uchun alohida server ajratilgan. U birja va bitimlarning asosiy yukini o'z zimmasiga oladi.
Yakuniy mijoz kompyuterlari almashtirilmaydi, chunki ular nozik mijoz bilan ishlaydi va pastki qismdagi yuk minimal bo'ladi.
Do'kondagi server shunchaki kuchli kompyuter. Ammo majburiy shart - bu MS SQL ma'lumotlar bazalari joylashgan SSD diskining mavjudligi.
Server shuningdek, tungi vaqtda muntazam operatsiyalarni bajarish va ishdan to'xtamasdan do'kon ma'lumotlar bazasiga kirish imkoniyatini beradi.

asosiy sozlamalar

UT 10.3 davridan beri, men 60 tugun uchun RIBni amalga oshirish bo'yicha birinchi loyihamni amalga oshirdim, albatta, "ko'prik ostidan juda ko'p suv oqdi". 1C bir joyda turmadi. Chakana savdo 2.2 endi tanlangan ma'lumotlarni yuklash zaruratini hisobga oladi.
Do'kon ma'lumotlar bazasiga faqat do'konga tegishli ma'lumotlar yuklanadi:
- Barcha kataloglar (ba'zilaridan tashqari)
- Ushbu do'kon uchun hujjatlar
Ma'lumotlarni ro'yxatga olish ro'yxatga olish qoidalariga muvofiq amalga oshiriladi, keshlash mumkin bo'lgan hamma narsa. Ro'yxatga olish paytida sezilarli sekinlashuvlar kuzatilmaydi.
Yana bir savol shundaki, u yoki bu tarzda ma'lumotlar bazasiga tugun qo'shish barcha ma'lumotlar bazalari uchun har bir umumiy element uchun boshqa yozuvni qo'shishni anglatadi.

Yuklashning o'zini o'rnatishda aniq narsa yo'q. Sinxronizatsiya stsenariylarini o'rnatishda ba'zi nuanslar mavjud:

1) Yuklash va yuklashni alohida sinxronizatsiya stsenariylariga ajratish kerak
Gap shundaki, yuk tushirish uzoq vaqt talab etadi va blokirovka qilishni o'z ichiga oladi, yuklash esa muammosiz. Shu bilan birga, tez-tez biz chakana savdo nuqtalaridan ma'lumotlarni kuniga bir necha marta berib, tezda olishimiz kerak bo'ladi.

2) Muammoli do'konlarni aniqlang va ularni umumiy sinxronizatsiya stsenariysidan olib tashlang. Ularda katta yuk tushirishlar bo'lishi mumkin - bu butun almashinuvni, shu jumladan boshqa tugunlarni ham sekinlashtiradi

3) Ma'lumotlarni yuborish va qabul qilish uchun ba'zi yuborish va qabul qilish skriptlarini yarating. Ammo bu erda asosiy narsa muvozanatdir.
1C da ba'zi narsalar o'zgarmaydi. Xuddi shu "SelectChanges" usuli faqat ketma-ket bajarilishi mumkin(8.1 versiyasidan boshlab).
Binobarin, RIBni tushirishda parallellik cheklangan. Amalda, siz bir vaqtning o'zida 2-3 skriptni yuklaysiz.
Qabul qilish stsenariysiga kelsak, agar kerak bo'lsa, bu erda juda katta parallelizm mumkin.

Nimani yaxshilash kerak edi

Albatta, bu qayg'uli va qayg'uli, lekin men BSPga to'liq aralashishim kerak edi. Standart 1C mantiqidagi eng muhim muammo - bu yangilanishlar. Yangilashdan so'ng, shunga o'xshash oyna paydo bo'ladi:

Bularning barchasi monopoliya rejimida sodir bo'ladi. Boshqa narsalar qatorida, tizim eksklyuziv rejimda yangilangandan keyin ham almashinuvni amalga oshirishga harakat qiladi. Bularning barchasi qayerga olib kelishini taxmin qilish qiyin emas.
Butun vaqt davomida do'kon ishlay olmaydi, kassada mijozlar bor va kompaniya pul yo'qotmoqda.

Ayirboshlashning yana bir muammosi axborot registrlaridir. Har bir ma'lumot registrini XMLga yuklash xizmat elementlari va undan keyingi barcha narsalar bilan alohida XML tugunini yaratadi. Bundan tashqari, 100 ta yozuv mavjud bo'lgan ma'lumotlar reestri uchun "o'zgarishlarni tanlash" funktsiyasi, natijada olingan jadval 100 qatorni o'z ichiga oladi, shu bilan birga, agar bu 100 qatorli katalog bo'lsa, faqat bitta yozuv tanlanadi. stol bo'limi. Shunday qilib, agar shaxsiy kompyuterda boshqa do'konlarga almashtirish uchun muntazam ravishda ro'yxatdan o'tgan juda ko'p yozuvlar mavjud bo'lsa, uni jadvalli qismga ega bo'lgan katalog shaklida taqdim etish to'g'riroq bo'ladi, bu o'ta og'ir hollarda yozib olishda. , bir xil registrning yozuvlarini yaratishi mumkin. Nima bo'lganda ham, birjalarda axborot registrlari yomon.

Yana bir muhim tafsilot - Diskont kartalari birjadan butunlay chiqarib tashlanadi va faqat ma'lum bir do'kon xodimlari birjadan chiqariladi. Nima uchun? Hozirda 3 millionga yaqin diskont kartalari mavjud.Ular bilan ishlash uchun tashqi onlayn tizimdan foydalaniladi. Agar siz chegirma kartalarini barcha do'konlarga o'tkazishda davom etsangiz, bu almashinuvni sezilarli darajada oshiradi va qo'shimcha ravishda, bu bazaning 3 GB hajmidan oshib ketishiga olib kelishi mumkin.

Ba'zi mexanizmlar markaziy ma'lumotlar bazasiga murojaat qilish orqali onlayn tarzda amalga oshiriladi: boshqa do'konlardagi qoldiqlar, boshqa do'kondan kvitansiyani qaytarish, sovg'a sertifikatining haqiqiyligini tekshirish.

Replikatsiya

Albatta, replikatsiya jadal sur'atlar bilan amalga oshirilmoqda.
Dastlabki RIB tugunini standart usulda yaratish, albatta, replikatsiyani imkonsiz qiladi.
Shunday qilib, yangi tugun quyidagicha yaratiladi:

1) Soxta do'kon bilan alohida ma'lumotlar bazasi mavjud
2) Ushbu ma'lumotlar bazasi RIBdagi barcha umumiy ma'lumotlarni almashadi, lekin ixtisoslashgan emas
3) Yangi ma'lumotlar bazasini yaratmoqchi bo'lganimizda, biz uni shunchaki nusxalaymiz
4) Keyin biz sozlamalarni o'rnatamiz - do'kon, prefiks va boshqalar.
5) Do'kon uchun poydevor tayyor.

Tayyor dasturiy ta'minot to'plami serverga joylashtirilgan, shuning uchun u ko'p vaqt talab qilmaydi. Keyin yangi yaratilgan do'konlar ma'lumotlar bazasi serverga yuklanadi va u do'konga jo'natishga tayyor.

Yupqa mijozning afzalliklari

"ruhni isitadigan" ikkita muhim afzallik.

1) Savdo do'konlarida butun kompyuter parkini o'zgartirishga hojat yo'q. Operatsiyalarning 90% serverda bajariladi va server u yerga “nisbatan kuchli kompyuter” bilan olib kelinadi.

2) Uskunalar ishlashni rad etish qobiliyatiga ega, bu ko'pincha yangi o'rnatilgan yoki allaqachon eskirgan uskunalar bilan sodir bo'ladi.
Bunday holda, harakatlar endi juda oddiy - do'kon markaziy ma'lumotlar bazasida ishlashga o'tadi.
Ushbu jarayon 5-10 daqiqadan ko'proq vaqtni oladi, shuning uchun uskunalar bilan bog'liq jiddiy muammolar mavjud bo'lsa ham, savdo to'xtatilmaydi.

Qo'llab-quvvatlash va yangilanishlar

Nihoyat, biz eng qiziqarli nuqtaga yetdik - bularning barchasini qanday saqlash va yangilash kerak?
Biz uchun yangilanishlar ham uzoq vaqtdan beri dilemma bo'lib kelgan:

1) Do'konlardan qo'lda yangilang (juda to'g'ri emas, o'zgarishlar qabul qilinmasligi mumkin, qo'ng'iroqlar va muammolar bo'ladi)
2) Texnik yordamdan foydalangan holda yangilash (manbalar unchalik ko'p emas)
3) Yangilash uchun *.cmd yozing yoki tayyorini oling. Amaliyot shuni ko'rsatadiki, bunday yechim har doim yarim (beqaror) bo'lib, unda kam funksionallik mavjud.

Bizning vazifalarimiz nima edi:

1) Yangilash bir nechta rejimlarda amalga oshirilishi va markazdan boshqarilishi kerak
2) Yangilashda foydalanuvchi bilan interaktiv muloqot qilish mumkin.
3) Yangilanish holati va xatolar haqida hisobotlarni qabul qilish kerak
4) Zaxira nusxasi bo'lishi kerak
5) Yangilash tizimi muammosiz o'zini yangilashi kerak.
6) Tizim hech qanday muammosiz kengaytirilishi kerak.

Albatta, muammolar oddiy usullar bilan hal qilinadiganlar ro'yxatidan ancha uzoqqa ketdi. Chunki biz juda ko'p so'nggi nuqtalar bilan avtomatizatsiyasiz ishlay olmaymiz va shunga o'xshash funksionallik bilan ko'proq yoki kamroq tayyor narsalarni topmadik.
Men dasturiy ta'minotni ishlab chiqishni boshlashim kerak edi, u oxir-oqibat MU (MagicUpdater) nomini oldi.

Asosiy funktsiyalari:

1) Ma'lumotlar bazasini dinamik yangilash (buyruq yoki rejalashtirilgan)
2) Statik ma'lumotlar bazasini yangilash (buyruq yoki rejalashtirilgan)
3) oxirgi kompyuterlar o'zgartirilganda avtomatik agentlar
4) Agentlarning holatini tekshirish
5) Hisobotlarni yangilash
6) zaxira
7) 1C server va MS SQL bilan ma'muriy harakatlar
8) Tarmoqli kompyuterlardagi barcha 1C mijoz ilovalarini yopish
9) Asosiy kassada qabul qilingan statik yangilanish
10) Yangilashdan keyin o'zgartirishlar tavsifini ko'rsatish
11) Harakatlar tartibini o'rnatish
12) Ushbu harakatlarning barchasini jadval asosida bajaring

O'zaro ta'sirning taxminiy sxemalari:


Bu erda MU Agent do'konda o'rnatilgan va sozlangan xizmatdir. Darhaqiqat, u muayyan vazifalarni bajarish uchun markazdan buyruq oladi.
MU Server - tizimga barcha so'rovlarni qabul qiluvchi server.
MU monitori - oddiy texnik yordam xodimlari ko'rgan narsa - jurnallarni ko'rish va yangilash uchun vazifalarni belgilash yoki boshqalar uchun ishlatiladi.

Menimcha, bu juda yaxshi chiqdi. Endi yangilanishlar deyarli avtomatik ravishda amalga oshiriladi.
Bu, masalan, yangilanishdan so'ng xato xabari qanday ko'rinishga ega; hamma narsa markazda qoladi, kutadi.

Va biz mijoz kompyuterlariga buyruqlar yuboramiz

Ilovalar, albatta, 1C emas, lekin juda yaxshi interfeys imkoniyatlariga ega. Masalan, sana bo'yicha tanlov shunday ko'rinadi:

Endi ular keyingi takrorlash uchun tayyor. Keyingi qo'llab-quvvatlashni to'g'ri rejalashtirish bunday loyihalarning keyingi muvaffaqiyatining asosiy omillaridan biridir.


Kalit so'zlar: taqsimlangan, URDB, XML, ro'yxatga olish, tugun, tugun, avtomatik ro'yxatga olish, boshlang'ich, tasvir, POP3, SMTP, MailMessage, periferik, markaziy, replikatsiya, almashinuv

Rad etish va foydalanish shartlari

Ushbu maqolada tasodifan eslatib o'tilgan barcha savdo belgilari tegishli egalariga tegishli.
Ushbu maqola Creative Commons Attribution-Share Alike 3.0 Unported License ostida chop etilgan.
http://creativecommons.org/licenses/by-sa/3.0/

Darhol shuni ta'kidlashim kerakki, quyida aytilganlarning barchasi 8.0.7.36 va undan yuqori platformalarning chiqarilishiga tegishli.

1-qadam: almashinuv rejasini tuzing

Biz konfiguratsiyada almashinuv rejasini yaratamiz. Keling, uni, masalan, "DistributedBase" deb ataymiz. Majburiy
Ayirboshlash rejasining xususiyatlarida "Taqsimlangan ma'lumotlar bazasi" katagiga belgi qo'ying.

Qaysi ob'ektlar almashinuvga kiritilishini aniqlash uchun "Boshqa" yorlig'ida "Kompozitsiya" tugmasini bosing. tomonidan
Odatiy bo'lib, siz barcha ob'ektlarni yoqishingiz mumkin ("Amallar" - "Hammasini yoqish"). Muhim nuqta - bu parametr
"Avtomatik ro'yxatga olish". Umuman olganda, u barcha ob'ektlar uchun yoqilgan bo'lishi kerak.

Eslatma: konfiguratsiyaga yangi ob'ektlar qo'shilganda ular almashinuv rejasiga kiritilmaydi. Bular. keyin
Ob'ektni qo'shish uchun u almashinuv rejasiga qo'shilishi kerak.

Agar ba'zi ob'ektlar almashinuvda ishtirok etmasligini istasangiz, ularni ro'yxatdan chiqarib tashlang
almashinuv rejasi. Ammo keyin referent yaxlitligini nazorat qilish butunlay sizning vijdoningizda qoladi. Agar, uchun
masalan, ma'lum bir hujjat almashinuv rejasiga kiritilmagan, lekin u harakatni amalga oshiradigan reestr kiritilgan;
u holda qabul qiluvchi ma'lumotlar bazasida qayd qiluvchi hujjatsiz registr harakatlarini qabul qilish juda mumkin, bu
Qabul qilaman, bu yaxshi emas.

Aslida, bu harakatlar RDBning "qo'lda" rejimida ishlashi uchun etarli. Buning uchun biz ishga tushiramiz
Korxona, bizning almashinuv rejamizni "Operatsiyalar" menyusi orqali oching. Ayirboshlash nuqtai nazaridan u doimo mavjud
"nuqta bilan" oldindan belgilangan tugun. Bu joriy tugunning tavsifi. Uni ochish va to'ldirish kerak. Bizning
Bunday holda, "Kod" va "Ism" maydonlari mavjud bo'ladi. Keling, tugunimizga "AA" kodini tayinlaymiz va uni chaqiramiz
"Markaziy". Keling, birja rejasiga bitta tugun qo'shamiz. Keling, unga "BB" kodini belgilaymiz va uni "Periferik" deb nomlaymiz.

Endi biz periferik bazaning tasvirini yaratishimiz mumkin. Bu "Boshlang'ich yaratish" tugmasini bosish orqali amalga oshiriladi
image". Periferik baza tugunlar ro'yxatida tanlanishi kerak. Ma'lumotlar bazasi tasviri tayyor axborot xavfsizligi shaklida yaratilgan.
katalogda yoki 1C: Enterprise serverida. (7.7 dan farqli o'laroq, axborot xavfsizligi tasviri fayl sifatida yaratilgan
tushirish). Keyin yaratilgan ma'lumotlar bazasini 1CV8.1CD faylini shunchaki nusxalash orqali kerakli joyga ko'chirish mumkin.
(fayl versiyasi uchun) yoki ma'lumotlarni yuklash va yuklab olish orqali Konfigurator orqali.

Agar siz periferik axborot xavfsizligi tizimida almashinuv rejasini ochsangiz, siz tugunning "nuqta bilan" ekanligini ko'rasiz, ya'ni. joriy
"Periferik" tugun tugunga aylandi va "Markaziy" tugunning belgisi qizil rangga aylandi, ya'ni. tugun
"Markaziy" joriyga nisbatan asosiy tugundir.

"Qo'lda" rejimda almashish "O'zgarishlarni yozish" va "O'qish" tugmalari yordamida amalga oshirilishi mumkin
o'zgarishlar". Birinchi holda, sizdan o'zgartirishlar yoziladigan faylni tanlashingiz so'raladi, ikkinchisida
- o'zgarishlar o'qiladigan fayl. Almashtirish xml formatida amalga oshiriladi. O'zgarishlar qayd etiladi
tanlangan tugun.

2-qadam: O'zgarishlarni XML fayliga yuklang va elektron pochta orqali yuboring

Shunday qilib, biz almashinuv rejasini yaratdik, periferik axborot xavfsizligi tizimini yaratdik va hatto ular o'rtasida ma'lumotlarni uzatishni o'rgandik
asoslar. Endi bizning vazifamiz ma'lumotlar bazalarini elektron pochta orqali almashishni o'rgatishdir.

Biz almashinuv rejasiga ikkita ma'lumotni qo'shamiz: "string" tipidagi elektron pochta manzili va "Execute Exchange" turi
"boolean". Elektron pochta manzilida biz tugunning elektron pochta manzilini saqlaymiz, ya'ni. biz bo'ladigan manzil
almashinuv xabarlarini yuborish. Props ExecuteExchange avtomatik o'chirishni tezda o'chirish uchun kerak
xabarlarni yuborish-yuborish.

Keling, elektron pochta bilan ishlash tartibini universal qilaylik, ya'ni. imkon yarataylik
ikkala MAPIdan foydalanish (elektron pochta mijozi orqali yuborish-qabul qilish, masalan, MS Outlook) va
SMTP/POP3 serverlariga to'g'ridan-to'g'ri kirish.

Konfiguratsiyaga bir nechta konstantalarni qo'shamiz:

Umumiy shaklda biz ushbu doimiylarning qiymatlarini tahrirlashni ta'minlaymiz.

Keling, umumiy modul qo'shamiz, uni "rbDistributedBase" deb nomlaymiz. Unda biz yozamiz:

Protsedura rbSendExchangeMessages() Export UseSMTP = Constants.UseSMTPExchange.Receive(); //Avval biz Pochta ob'ektini yaratamiz, u sozlamalarga qarab InternetMail turiga ega bo'ladi, //agar serverlarga to'g'ridan-to'g'ri kirish ishlatilsa yoki MAPI ishlatilsa Mail. Agar SMTP dan foydalansangiz //InternetMail tipidagi ob'ekt uchun pochta profilini yarating va to'ldiring. MailProfile = Yangi InternetMailProfile; MailProfile.SMTPServerAddress = Constants.SMTPExchangeServerAddress.Get(); MailProfile.SMTPort = Constants.SMTPExchangeServerPort.Receive(); MailProfile.SMTPUser = Constants.SMTPExchangeServerUser.Receive(); MailProfile.SMTP Password = Constants.SMTPExchangeUserPassword.Receive(); MailProfile.WaitTime = Constants.ServerWaitTime.Get(); Pochta = Yangi InternetMail(); Mail.Connect(MailProfile); Istisno hisoboti(" ALMA: Pochta profiliga ulanishda xatolik yuz berdi! Ayirboshlash amalga oshmadi!" + ErrorDescription(), MessageStatus.VeryImportant); Qaytish; EndAttempt; Aks holda Pochta = Yangi pochta(); Urinish Mail.Connect(); Istisno hisoboti("" + ErrorDescription(), MessageStatus.VeryImportant); Qaytish; EndAttempt; EndIf ; //Keyin, almashinuv rejasidan joriyidan tashqari barcha tugunlarni tanlang, //bular Perform Exchange atributiga ega. SelectionNodes = ExchangePlans.DistributedBase.Select(); While SelectNodes.Next() sikl bo'lmasa SelectNodes.PerformExchange keyin davom eting; endIf; Agar SelectionNodes.Link = ExchangePlans.DistributedBase.ThisNode() bo'lsa, Davom eting; endIf; Elektron manzil = AbbrLP(SelectionNodes.ElectronicAddress); Agar EmailAddress = "" Agar Davom eting; endIf; //XMLRecord va MessageRecord ob'ektlaridan foydalanib, biz o'zgarishlarni yozamiz //xml faylidagi tanlangan tugun uchun. Tugun = SelectionNodes.Link; XMLRecord = NewXMLRecord(); MessageFileName = TemporaryFileDirectory() + "Message_" + AbbreviatedLP(ExchangePlans.DistributedBase.ThisNode().Code) + "_ " + QisqartirilganLP(Node.Code) + ".xml "; EntryXML.OpenFile(MessageFileName); MessageRecord = ExchangePlans.CreateMessageRecord(); MessageRecord.StartRecord(XMLRecord, Node); ExchangePlans.WriteChanges(WriteMessage); WriteMessage.FinishRecord(); WriteXML.Close(); //Keyin biz yangi harf yaratamiz, natijada olingan xml faylni unga biriktiramiz va //tugun elektron pochta manzilida ko'rsatilgan manzilga yuboring. Fayl = Yangi fayl (MessageFileName); Xabar mavzusi = "1C:Exchange" + Abbr.LP(ExchangePlans.DistributedBase.ThisNode().Code) + "_" + Abbr.LP(Node.Code); Agar UseSMTP bo'lsa, MailMessage = Yangi InternetMailMessage; MailMessage.Subject = MessageSubject; MailMessage.Attachments.Add(MessageFileName, File.Name); MailMessage.Recipients.Add(EmailAddress); Mail.Send(MailMessage); Else MailMessage = yangi MailMessage; MailMessage.Subject = MessageSubject; MailMessage.Attachments.Add(MessageFileName); MailMessage.Recipients.Add(EmailAddress); Mail.Send(MailMessage, False); endIf; Agar Constants.OutputExchangeMessages.Get() bo'lsa, hisobot (" EXCHANGE: tugun uchun xabar almashish" + Node.Name + " yuborildi! ", MessageStatus.Information); EndIf; DeleteFiles(MessageFileName); EndCycle; Mail.Disconnect(); EndProcedure

Men interfeysga qo'shimcha panel qo'shishni maslahat beraman, uning tugmalaridan birida siz qo'ng'iroq qilishingiz mumkin
protseduralar. Endi faqat Korxonani ishga tushirish, periferik axborot xavfsizligi elektron pochta manzilini sozlash qoladi,
"Almashtirish" katagiga belgi qo'ying, paneldagi protsedura tugmasini bosing va pochtani qabul qilish uchun ishga tushiring
belgilangan elektron pochta manzillar. Siz "1C: Exchange AA_BB" mavzusidagi xat va unga biriktirilgan faylni olishingiz kerak
"Message_AA_BB.xml".

Shunday qilib, ishning yarmi tugadi: biz G8-ga RDB almashinuv xabarlarini elektron pochta orqali yuborishni o'rgatganmiz
pochta.

Qadam 3. Yangilanishlarni elektron pochta orqali oling va ularni axborot xavfsizligiga yozib oling

Endi teskari jarayonni bajaramiz: elektron pochta orqali yangilanishlarni qabul qilish va ularni axborot xavfsizligiga yozib olish.

Seans parametrlariga mantiqiy turdagi "Tarqatilgan ma'lumotlar bazasi almashinuvi davom etmoqda" parametrini qo'shing. Men buni quyida tushuntiraman
tayinlash.

rbDistributedBase umumiy moduliga quyidagi protsedurani qo'shamiz:

Protsedura rbGetExchangeMessages() Export UseSMTP = Constants.UseSMTPExchange.Receive(); //xuddi rbSendExchangeMessages() protsedurasida bo'lgani kabi, avval ob'ekt yarating Pochta Agar SMTP dan foydalansangiz, MailProfile = Yangi InternetMailProfile; MailProfile.POP3ServerAddress = Constants.POP3ExchangeServerAddress.Get(); MailProfile.POP3Port = Constants.POP3ExchangeServerPort.Get(); MailProfile.User = Constants.POP3ExchangeServerUser.Get(); MailProfile.Password = Constants.UserPasswordPOP3Exchange.Receive(); MailProfile.WaitTime = Constants.ServerWaitTime.Get(); Pochta = Yangi InternetMail(); Mail.Connect(MailProfile); Istisno hisoboti(" ALMA: Pochta profiliga ulanishda xatolik yuz berdi! |Almashtirish amalga oshmadi!", MessageStatus.VeryImportant); Qaytish; EndAttempt; Aks holda, Mail = New Mail(); Attempt Mail.Connect(); Istisno hisoboti(" ALMA: Foydalanuvchining elektron pochta profiliga ulanishda xatolik yuz berdi! |Almashtirish amalga oshmadi!", MessageStatus.VeryImportant); Qaytish; EndAttempt; EndIf; MessageArray = Yangi massiv; Agar UseSMTP Unda AllMessages = Mail.Select(False); Boshqa AllMessages = Mail.Select(False, False); EndIf; //Barcha harflar orasidan “1C:Exchange” mavzusiga ega harflarni tanlang. //Kichik, ammo muhim eslatma: //biz "1C:Exchange" mavzusidagi barcha qabul qilingan xatlar mo'ljallangan deb hisoblaymiz //aynan joriy tugun uchun, //bular. almashish nuqtai nazaridan turli tugunlar TURLI elektron pochta manzillariga ega. Barcha xabarlardan kelgan har bir xabar uchun If Leo (Xabar. Mavzu, 8 )<>"1C: Exchange" Keyin davom eting; endIf; TryMessageArray.Add(Xabar); // Elektron pochta ilovasini diskka saqlang. //Biz hozircha qo'shimchani sinchkovlik bilan tekshirishni sahna ortida qoldiramiz. Attachment = Message.Attachments; MessageFileName = TemporaryFileDirectory() + Attachment.Name; ExchangeData = Attachment.Data; ExchangeData.Write(MessageFileName); //XMLReader va MessageReader ob'ektlaridan foydalanib, biz ma'lumotlarni o'qiymiz // saqlangan fayldan yangilanishlar. Axborot xavfsizligidagi yangilanishlarni yozib olishdan oldin //Distributed Database Exchange in Progress seans parametrini True qilib belgilang. //Keyin biz axborot xavfsizligidagi o'zgarishlarni o'qiymiz: Exchange Plans.ReadChanges(ReadMessage). //Shu bilan birga, biz xabarlarni massivda saqlaymiz, shunda keyin ularni bir vaqtning o'zida o'chirib tashlashimiz mumkin. ReadXML = yangi ReadXML(); ReadXML.OpenFile(MessageFileName); MessageReader = ExchangePlans.CreateMessageReader(); ReadMessage.StartReading(ReadingXML); SessionParameters.DistributedBaseExchange davom etmoqda = Rost; ExchangePlans.ReadChanges(ReadMessage); ReadMessage.FinishReading(); ReadXML.Close(); Agar Constants.OutputExchangeMessages.Get() bo'lsa, hisobot (" ALMA: Ma'lumotlarni almashish qabul qilinadi",MessageStatus.Information); EndIf; Istisno hisoboti(" EXCHANGE: almashinuv ma'lumotlarini olishda xatolik yuz berdi:" + ErrorDescription(), MessageStatus.VeryImportant); EndAttempt; //Almashtirish ma'lumotlarini o'qib bo'lgach, qayting //DistributedBase Exchange davom etayotgan seans parametri False ga o'rnatiladi. SessionParameters.DistributedBaseExchange davom etmoqda = False; Fayllarni o'chirishga urinish (MessageFileName); Istisno // agar u ishlamasa, yaxshi EndAttempt; EndCycle; Agar siz SMTP dan foydalansangiz, Mail.DeleteMessages(MessageArray); endIf; Mail.Disconnect(); Jarayonning oxiri

Endi Distributed Database Exchange In Progress seansi parametri nima uchun kerakligi haqida.
Gap shundaki, ExchangePlans.ReadChanges() usuli yordamida ma'lumotlarni o'qiyotganda qo'ng'iroq amalga oshiriladi
o'zgartirilgan/qo'shilgan ob'ektlarning BeforeWrite() hodisasi uchun ishlov beruvchi protseduralari. Va agar yozish paytida
ishlov beruvchi protsedurasidagi har qanday ob'ekt uchun Rad etish parametri True ga o'rnatiladi, keyin
ExchangePlans.ReadChanges() ni bajarayotganda istisno yuzaga keladi va shunga mos ravishda almashinuv
ijro etilmaydi. DistributedBase Exchange In Progress seansi parametrining qiymati bo'lishi mumkin
Bunday vaziyatni oldini olish uchun ishlov beruvchi protseduralarida tahlil qilinadi.
12-nashrning chiqarilishi bilan (garchi men versiyalar haqida noto'g'ri bo'lishim mumkin), bu usulning dolzarbligi biroz bo'ladi.
deprecatedA, chunki ob'ektlar endi xususiyatga ega Almashtirish imkoniyatlari, kimdan, o‘ziga xos. Bu xususiyat qachon rost bo'lsa, o'rnatiladi
almashish rejasi orqali ma'lumotlarni saqlash.

Endi panelimizdagi interfeysga biz qo'ng'iroqni osib qo'yadigan yana bir tugmani qo'shamiz
protseduralar. Keling, Enterprise-ni ishga tushiramiz va zavqlanamiz.
Deyarli hamma narsa bajarildi, faqat bir oz qoldi: protseduralarimiz avtomatik ravishda bajarilishi uchun.
Qadam 4. Avtomatik almashinuvni sozlash

Demak, hikoyamiz maqsadiga deyarli yaqinlashdik. Faqat bir qadam qoldi: ishga tushirish
almashinuv jarayonlarini avtomatik ravishda amalga oshirish. Qani boshladik.

Number(5,0) tipidagi DistributedBase Autoexchange Interval konstantasini qo'shamiz.

Keling, foydalanuvchi sozlamalariga Perform Distributed Database Exchange parametrini qo'shamiz. Konfiguratsiya uchun
"Savdoni boshqarish" quyidagicha amalga oshiriladi:

* "Foydalanuvchi sozlamalari" xarakteristikalari rejasiga biz oldindan belgilanganini qo'shamiz
xarakteristikasi Boolean tipidagi taqsimlangan ma'lumotlar bazalari almashinuvini amalga oshirish.
* "Foydalanuvchilar" katalog elementi ko'rinishida biz ushbu parametrga o'zgartirish kiritamiz (bu kabi
shakl modulida, boshqa parametrlarga o'xshash tarzda amalga oshirilishi mumkin).

Protsedurani rbDistributedBase moduliga qo'shing:

Protsedura rbPerformExchange(user) Eksport Agar npGetDefaultValue(foydalanuvchi, "") keyin rbGetExchangeMessages(); rbSendExchangeMessages(); endIf; Jarayonning oxiri

dastur moduliga:

Protsedura CheckConnectionAutoExchange() eksport qilish, agar npGetDefaultValue(chCurrentUser, " Tarqalgan ma'lumotlar bazalari almashinuvini amalga oshirish") Va Constants.DistributedBaseAutoExchangeInterval.Get() > 0 Keyin ConnectWaitHandler(" Autoexchange-ni ishga tushiring", Constants.DistributedBaseAutoExchangeInterval.Get()); Aks holda, DisableWaitHandler(" Autoexchange-ni ishga tushiring"); EndIf; EndProcedure Protsedura ExecuteAutoExchange() eksport rbExchange(glCurrentUser); DisableWaitHandler(" Autoexchange-ni ishga tushiring"); Agar npGetDefaultValue(chCurrentUser, " Tarqalgan ma'lumotlar bazalari almashinuvini amalga oshirish") Va Constants.DistributedBaseAutoExchangeInterval.Get() > 0 Keyin ConnectWaitHandler(" Autoexchange-ni ishga tushiring", Constants.DistributedBaseAutoExchangeInterval.Get()); EndIf; EndProcedure Protsedura DisableAutoExchange() Export DisableWaitHandler(" Autoexchange-ni ishga tushiring"); EndProcedure

Ilova modulining WhenSystemStart() protsedurasiga quyidagi qatorlarni qo'shing:

(tijorat uskunasini ulagandan keyin)
...
SessionParameters.DistributedBaseExchange davom etmoqda = False; CheckAutoExchangeConnection();

Jarayonni boshqarish uchun panelimizga yana ikkita tugma qo'shamiz: bittasiga protsedura qo'shing
CheckConnectAutoExchange(), boshqa tomondan - DisableAutoExchange()

Biz korxonani ishga tushiramiz, foydalanuvchi xususiyatlarini va avtomatik almashish oralig'ini sozlaymiz va tamom!

Endi, ushbu eng ko'p sozlangan foydalanuvchi ostidagi ma'lumotlar bazasiga kirishda ishlov beruvchi ishga tushiriladi
ExecuteAutoExchange() kutilmoqda. Tabiiyki, siz periferik ma'lumotlar bazasida foydalanuvchini ham sozlashingiz kerak
almashish uchun.

Yana bir kichik, ammo muhim eslatma:

Biz yaratgan barcha go'zallikda bitta muammo bor: konfiguratsiyani o'zgartirish. Da
Periferik baza konfiguratsiya o'zgarishlarini o'z ichiga olgan xabarni olganda, u
qabul qilinadi, lekin istisno sodir bo'ladi. Bunday holda, o'zgartirilgan konfiguratsiya bo'ladi
yuklangan. Ma'lumotlar bazasi konfiguratsiyasini yangilash uchun siz barcha foydalanuvchilarni chiqarib tashlashingiz kerak, o'ting
konfigurator va ma'lumotlar bazasi konfiguratsiyasini yangilang (buni amalga oshirishdan oldin ma'lumotlarni yuklash yaxshidir). TO
Afsuski, bu zaruriy yovuzlikdir. Qisqa bat faylini yozish orqali hayotingizni biroz osonlashtirasiz
shunga o'xshash narsa:

1cv8.exe CONFIG /F<путь к ИБ>/N<Пользователь>/P<Пароль>/UpdateIBCfg

Va yana bir eslatma:

Afsuski, xml fayllari ixcham emas, lekin, xayriyatki, ular mukammal siqilgan. Mumkin
xabarlarni jo'natish va qabul qilish tartiblari, fayllarni qadoqlash va ochish. COLOR="#666666">Buni tashqi arxivator yoki VK yordamida amalga oshirish mumkin, masalan, Wheel.AddIn
(http://1c.proclub.ru/modules/mydownloads/personal.php?cid=81&lid=2714) .
10-nashr chiqishi bilan oldingi taklif biroz eskirgan, chunki platforma
ZIP algoritmidan foydalangan holda o'rnatilgan fayllarni siqish vositalari mavjud edi. Bular. endi fayllarni siqish mumkin
VK dan foydalanmasdan.

Vaziyat ko'pincha tashkilotning bir-biridan geografik jihatdan uzoqda joylashgan bir nechta filiallari yoki chakana savdo nuqtalari mavjud bo'lganda yuzaga keladi. Biroq, tashkilot bo'ylab izchil yozuvlarni saqlash zarurati saqlanib qolmoqda. Ushbu muammoni hal qilish variantlaridan biri barcha filiallarning avtomatlashtirilgan ish stantsiyalarini o'z ichiga olgan yagona tarmoqni yaratish va 1C axborot bazasini umumiy serverda joylashtirishdir. Bu usul texnik jihatdan murakkab va qimmat bo'lishi mumkin. Bundan tashqari, axborot xavfsizligi bilan bog'liq bir qator muammolar paydo bo'ladi.

Ikkinchi variant esa taqsimlangan axborot bazasini (RIB) yaratishdir. Tarqalgan axborot bazasi - bu 1C: Enterprise platformasidagi alohida ma'lumotlar bazalaridan tashkil topgan ierarxik tuzilma bo'lib, ular o'rtasida konfiguratsiya va ma'lumotlarni sinxronlashtirish maqsadida ma'lumotlar almashinuvi tashkil etiladi. Ushbu individual ma'lumotlar bazalari RIB tugunlari deb ataladi.

1C: Enterprise tizimining turli xil konfiguratsiyalari asosida taqsimlangan ma'lumotlar bazasi yaratilishi mumkin. Keling, 1C: Savdoni boshqarish 10.3 misolidan foydalanib, uni yaratishni ko'rib chiqaylik.

Aytaylik, savdo tashkilotida qo'shimcha chakana savdo shoxobchasi ochildi, bu erda tashkilotning umumiy savdo tizimiga kirish imkoni bo'lishi kerak. RIB yaratish uchun siz quyidagi amallarni bajarishingiz kerak:


Bu taqsimlangan axborot bazasini yaratishni yakunlaydi. Ma'lumot almashish uchun siz Markaziy ma'lumotlar bazasida ma'lumotlar almashinuvini boshlashingiz kerak (unda sodir bo'lgan o'zgarishlar yuklab olinadi), keyin do'konda (markaziy ma'lumotlar bazasidagi o'zgarishlar yuklab olinadi va do'konda sodir bo'lgan o'zgarishlar yuklab olinadi) ), va yana markaziy ma'lumotlar bazasida (o'zgarishlar unga yuklab olinadi , do'konda sodir bo'lgan).

Tarqalgan axborot bazalari o'zlarining to'qnashuvlarni hal qilish mexanizmiga ega. Demak, agar almashuv vaqtida asosiy va bo‘ysunuvchi ma’lumotlar bazalarida har qanday ob’ekt (hujjat, katalog va boshqalar) o‘zgartirilganligi aniqlansa, u holda asosiy ma’lumotlar bazasiga kiritilgan o‘zgartirish ustuvor bo‘ladi.

Agar taqsimlangan ma'lumotlar bazasining konfiguratsiyasini o'zgartirish zarur bo'lsa, buni ildiz tugunida qilish kerak (maqolaning birinchi rasmiga qarang), qolgan tugunlarning konfiguratsiyasi qulflanadi. Kerakli o'zgartirishlar kiritilgandan so'ng, ular RIB tugunlari o'rtasida ma'lumot almashishning standart protsedurasidan foydalangan holda tobe tugunlarga o'tkazilishi mumkin. Almashinuv qul tugunining konfiguratorida amalga oshirilgandan so'ng, ma'lumotlar bazasi konfiguratsiyasini yangilash kerak.

Agar sizda tarqatilgan axborot bazasini o'rnatishda muammolar mavjud bo'lsa, bizning mutaxassislarimiz sizga ma'lumotlar almashinuvini yo'lga qo'yishda yordam beradi va undan qanday foydalanishni batafsil tushuntiradi.

Tarqalgan axborot bazalari texnologiyasi (RIB) 1C Enterprise konfiguratsiyasi asosida geografik taqsimlangan tizimni yaratishga imkon beradi. Bu sizga ishonchli aloqa kanaliga ega bo'lmagan bo'limlar bilan ham umumiy axborot maydoniga ega bo'lish imkonini beradi, tugunlarning yuqori avtonomiyasini tezkor ma'lumot almashish qobiliyatini birlashtiradi. Maqolalarimizda 8.2 platformasida ushbu mexanizmning xususiyatlari va amaliy amalga oshirilishini ko'rib chiqamiz

Avvalo, o'zimizdan so'raylik: nima uchun autoexchange? Zamonaviy texnologiyalar arzon va tezkor Internet bilan uyg'unlashgan holda masofaviy ishlarni hech qanday qiyinchiliksiz tashkil etish imkonini beradi. Usullarni tanlash har doimgidek keng: RDP, nozik va veb-mijozlar, VPN-dan foydalangan holda tarmoqlarni ulash - o'ylash uchun ko'p narsa bor. Biroq, bu usullarning barchasi bitta muhim kamchilikka ega - aloqa kanalining sifatiga kuchli bog'liqlik.

Mahalliy provayderning ideal ishlashi bilan ham aloqa kanalining 100% mavjudligini kafolatlash mumkin emas. Magistral provayder bilan bog'liq muammolar, elektr ta'minotining etishmasligi, aloqa liniyasining jismoniy shikastlanishi va boshqa ko'plab omillar bu vazifani engib bo'lmas qiladi. Shu bilan birga, uzoqdan joylashgan ombor yoki chakana savdo do'konida ma'lumotlar bazasiga kirish imkoni yo'qligi sezilarli yo'qotishlarga olib keladi. Va nihoyat, shuni unutmasligimiz kerakki, yuqori sifatli aloqa kanalini ta'minlash qimmat va / yoki muammoli bo'lgan joylar (masalan, shaharlar chetidagi sanoat zonalari).

RIB mexanizmi ushbu kamchiliklardan xalos bo'lishga imkon beradi, har bir bo'limda tashqi dunyo bilan aloqa to'liq bo'lmagan taqdirda ham avtonom ishlashingiz mumkin bo'lgan axborot bazasining o'ziga xos nusxasi mavjud. O'tkazilgan ma'lumotlarning kichik miqdori esa almashinuv uchun har qanday aloqa kanalidan, jumladan, mobil Internetdan foydalanish imkonini beradi.

8.2 platformasidagi RIB RIB 7.7 platformasining keyingi rivojlanishini ifodalovchi tubdan yangi narsa emas, endigina bu texnologiya yanada qulayroq va soddalashdi. Alohida sotib olinishi kerak bo'lgan RIB komponentidan farqli o'laroq, RIB ko'plab standart konfiguratsiyalarning ajralmas qismi bo'lib, to'liq foydalanuvchi rejimida ishlaydi, bu esa sozlash bosqichida ham Konfiguratorsiz ishlashga imkon beradi.

Ayni paytda amaliy qismga o'tish vaqti keldi, ammo biz yana bir chekinishimiz kerak. Gap shundaki, 8.2 platformasiga o'tish allaqachon sodir bo'lganga o'xshaydi, aslida ikkita turdagi konfiguratsiyalarning paydo bo'lishiga olib keldi: boshqariladigan dasturga asoslangan, 8.2 platformasi uchun "mahalliy" va 8.1 dan moslashtirilgan, davom etmoqda. eskirgan texnologiya va mexanizmlardan foydalanish. Konfiguratsiyalarning muhim qismi (Korxona hisobi, ish haqi va kadrlar boshqaruvi) moslashtirilgan yoki o'tish davri bo'lganligi sababli, ularni chegirma qilish mumkin emas, shuning uchun bizning maqolamizning birinchi qismi ushbu konfiguratsiyalarga (asosan 8.1 platformasi), ikkinchisida esa bag'ishlangan bo'ladi. biz boshqariladigan ilova (platforma 8.2) asosida konfiguratsiyalar uchun avtomatik almashishni sozlashni ko'rib chiqamiz.

Keling, amaliy vazifani ko'rib chiqaylik: Enterprise Accounting 2.0 konfiguratsiyasi uchun FTP orqali avtomatik almashinuvni o'rnatish. RIB elektron pochta yoki fayl ulushlari yordamida almashish imkonini berishiga qaramay, biz FTP dan eng oddiy va ishonchli aloqa usuli sifatida foydalanishni tavsiya qilamiz. O'zingizning FTP serveringizni qanday sozlashni o'qishingiz mumkin yoki istalgan hosting provayderining FTP xizmatidan foydalanishingiz mumkin.

Avvalo, biz almashinuv tugunlarini sozlashimiz kerak. Buning uchun administrator huquqlari bilan konfiguratsiyani ishga tushiring va tanlang Bitimlar - almashinuv rejalari.

Ko'rsatilgan ro'yxatda tanlang Toʻliq rejasi yoki Tashkilot bo'yicha, agar yozuvlar bir nechta kompaniyalar uchun bitta ma'lumotlar bazasida saqlansa va almashinuv faqat ulardan biri uchun amalga oshirilishi kerak bo'lsa. Ochilgan oynada allaqachon bitta tugun mavjud - markaziy, biz kod va nomni ko'rsatib, uni tahrirlashimiz kerak.

Keyin biz filial uchun yana bir tugun yaratamiz, uni xuddi shu tarzda to'ldiramiz (qo'shish uchun yashil doirani ortiqcha bilan bosing). Keyingi qadam fayl rejimida tayyor axborot bazasi bo'lgan ushbu tugun uchun dastlabki tasvirni yaratishdir. Buni amalga oshirish uchun kerakli tugunni o'ng tugmasini bosing va ochiladigan ro'yxatdan tanlang Boshlang'ich tasvirni yarating.

Endi davom etaylik Xizmat - Taqsimlangan ma'lumotlar bazasi (DIB) - RIB tugunlarini sozlash.

Ochilgan oynada tugmani bosing Qo'shish va masofaviy xost, almashuv turi (FTP orqali) va server ulanish parametrlarini belgilash orqali yangi almashinuvni sozlang.

Xatcho‘p Avtomatik almashinuv ayirboshlash jadvalini o'rnatish, voqealar bo'yicha almashish (ishning boshlanishi va tugashi va boshqalar) imkonini beradi, bu sozlamalar o'z nomidan almashinuv amalga oshiriladigan foydalanuvchi uchun amalga oshiriladi, shuning uchun uning ma'lumotlarni almashish huquqiga ega ekanligiga ishonch hosil qiling.

Asboblar - Dastur sozlamalarida hujjat raqamlash uchun tugun prefiksini belgilashni unutmang (aks holda siz bir xil raqamlarga ega bo'lgan turli xil hujjatlarni olasiz), bu erda siz boshqa almashinuv parametrlarini ham sozlashingiz mumkin. Xuddi shu yorliqda siz almashinuv vazifalarini bajarish uchun foydalanuvchini tanlashingiz kerak, agar buni qilmasangiz, jadval ishlamaydi. Esda tutingki, almashinuv faqat foydalanuvchi dasturga kirgan bo'lsa amalga oshiriladi.

Bu markaziy tugunning konfiguratsiyasini yakunlaydi, endi siz boshlang'ich tasvirni mavjud axborot xavfsizligi tizimi sifatida bog'lab, periferik tugun uchun shunga o'xshash sozlashlarni amalga oshirishingiz kerak. Shundan so'ng siz ma'lumot almashishni boshlashingiz mumkin. Boshqarish uchun siz foydalanishingiz kerak Aloqa monitori, bu sizga nafaqat yuklash/yuklab olishning muvaffaqiyatini kuzatish imkonini beradi, balki yuzaga kelgan yoki kechiktirilgan harakatlarni ham ko'rsatadi (agar almashinuvni amalga oshirgan foydalanuvchi ma'lumotlar bazasida biron bir amalni bajarish uchun etarli huquqlarga ega bo'lmasa). Ushbu vositaning mavjudligi avtoalmashinuv paytida yuzaga keladigan har xil turdagi muammolarni tez va samarali hal qilish imkonini beradi.

Shu nuqtada, almashinuvni sozlash tugallangan deb hisoblanishi mumkin va siz taqsimlangan rejimda ishlashni boshlashingiz mumkin. Konfiguratsiyani yangilash yoki o'zgartirishlar haqida alohida to'xtalib o'tishga arziydi. Ushbu harakatlar faqat markaziy tugunda mavjud; barcha kiritilgan o'zgarishlar keyingi almashinuv paytida avtomatik ravishda periferik tugunlarga tarqaladi. Avtomatik ravishda o'zgartirishlar kiritish uchun periferik ma'lumotlar bazasi eksklyuziv rejimda bo'lishi kerak, aks holda siz ishga tushirishingiz kerak bo'ladi Konfigurator va bajaring Ma'lumotlar bazasi konfiguratsiyasini yangilash qo'lda.

Tarqalgan ma'lumotlar bazasini yaratish uchun dasturni 1C: Enterprise rejimiga kiritishingiz kerak. Tarqalgan ma'lumotlar bazasi tugunlarini yaratish uchun menyudan tanlang: Operatsiyalar - Birja rejalari. "Ob'ektni tanlang: almashinuv rejasi" oynasi ochiladi.


1. "To'liq" almashinuv rejasi bilan variantni ko'rib chiqing.

Ayirboshlash tarqatilgan axborot bazasida joylashgan barcha tashkilotlarda amalga oshiriladi.

Keling, "To'liq" almashinuv rejasini tanlaylik. "To'liq almashinuv rejasi" oynasi ochiladi.

Biz ikkita yozuvni to'ldiramiz:

Birinchi yozuvni "Asosiy tugun" deb nomlaymiz, "GU" kodini ko'rsatamiz,

Ikkinchi yozuvni "Bo'ysunuvchi tugun" deb nomlaymiz, "PU" kodini ko'rsatamiz.

Rasmdan ko'rib turganimizdek, birinchi yozuvda yashil doira bilan belgi bor, bu "Asosiy tugun" belgisi.


"Asosiy tugun" ma'lumotlar bazasining nusxasini yaratish uchun "Qo'l tugun" ni bosing va "Boshlang'ich tasvirni yaratish" belgisini bosing. Bu "Bo'ysunuvchi tugun" axborot bazasi bo'ladi.


"Axborot xavfsizligining dastlabki tasvirini yaratish" oynasi ochiladi, "Ushbu kompyuterda yoki mahalliy tarmoqdagi kompyuterda" -ni tanlang, "Keyingi" tugmasini bosing.


"Infobase Directory" maydonida "Asosiy tugun" nusxasi o'rnatiladigan joyni tanlang va "Finish" tugmasini bosing.


"Bo'ysunuvchi tugun" ma'lumotlar bazasini yaratgandan so'ng, quyidagi xabar paydo bo'ladi:


"Ok" tugmasini bosing.

"Bo'ysunuvchi tugun" ma'lumotlar bazasini "1C: Enterprise" ga qo'shing. Biz "1C: Enterprise" rejimida bo'ysunuvchi ma'lumotlar bazasiga o'tamiz. Keling, ochamiz: Operatsiyalar - Birja rejalari. "Ob'ektni tanlang: Reja almashinuvi" oynasi ochiladi. Keling, "To'liq" almashinuv rejasini tanlaylik. "To'liq almashinuv rejasi" oynasi ochiladi. Biz "Asosiy tugun" belgisi to'q sariq rangda ekanligini ko'ramiz, ya'ni bu tugun biz joylashgan axborot bazasi uchun asosiy tugundir.


Biz Master va Slave tugunlarida quyidagi sozlamalarni qilamiz:

1. Tarqalgan ma'lumotlar bazasi uchun prefiks qo'shing.

Bu ikkita ma'lumotlar bazasida yaratilgan hujjatlar va kataloglarning raqamlari va kodlarida ziddiyat bo'lmasligi uchun amalga oshiriladi, shuning uchun har bir ma'lumotlar bazasida hujjat raqamlari va katalog kodlariga qo'shiladigan prefiksni ko'rsatamiz. Oching: Asboblar - Dastur sozlamalari - "Ma'lumotlar almashinuvi" yorlig'i. "Tarqatilgan ma'lumotlar bazasi uchun tugun prefiksi:" maydoniga bo'ysunuvchi ma'lumotlar bazasiga "PU" ni va asosiy ma'lumotlar bazasiga "GU" ni kiriting.


2. Tugunlar o'rtasida ma'lumot almashish uchun sozlamani qo'shing:

Ochiq: Xizmat - Taqsimlangan ma'lumotlar bazasi (DIB) - RIB tugunlarini sozlash. "Ma'lumotlar almashinuvi sozlamalari" oynasi ochiladi.


"Qo'shish" tugmasini bosing va "Ma'lumotlar almashinuvi sozlamalari" oynasi ochiladi. Sozlamangizning "Ismi" ni kiriting.


"Tugun" maydonida avtomatik ravishda tugun paydo bo'ladi, "Master tugun" uchun "Tobe tugun" bo'ladi, "Qo'l tugun" uchun "Master tugun" bo'ladi.

"Katalog" maydonida almashinuv ma'lumotlari yuboriladigan papkani tanlang, asosiy va asosiy ma'lumotlar bazalari uchun bitta katalogni ko'rsatish yaxshidir.

"Almashtirish turi" maydonida biz ma'lumotlar bazalari o'rtasida ma'lumotlarni uzatishni sozlaymiz: fayl yoki FTP resursi orqali. Masalan, "fayl resursi orqali almashish" ni tanlaylik.

Qolgan maydonlarda biz hech narsani o'zgartirmaymiz.

"Ok" tugmasini bosing. Sozlama paydo bo'lganini ko'ramiz.

3. Ma'lumot almashish uchun biz quyidagilarni bajaramiz:

Birinchidan, o'zgartirishlar kiritilgan ma'lumotlar bazasida rasmda ko'rsatilganidek, "Joriy sozlamalar bo'yicha almashish" belgisini bosing.


Yuklagandan so'ng, yuklash natijasi oynasi paydo bo'ladi.


Keyin, o'zgarishlarni o'tkazmoqchi bo'lgan ma'lumotlar bazasida "Joriy sozlamalar bo'yicha almashish" belgisini bosing va ma'lumotlar siz xohlagan ma'lumotlar bazasiga o'tadi.

2. "Tashkilot bo'yicha" almashinuv rejasi bilan variantni ko'rib chiqing.

Ayirboshlash taqsimlangan axborot bazasida joylashgan tanlangan tashkilotlar o'rtasida amalga oshiriladi.

Tarqalgan ma'lumotlar bazasi tugunlarini yaratish uchun menyudan tanlang: Operatsiyalar - Birja rejalari. "Ob'ektni tanlang: almashinuv rejasi" oynasi ochiladi.


Keling, "Tashkilot bo'yicha" almashinuv rejasini tanlaylik. "Tashkilot bo'yicha almashinuv rejasi" oynasi ochiladi.

Biz ikkita yozuvni to'ldiramiz:

Birinchi yozuvni "Asosiy tugun" deb nomlaymiz, "GU" kodini ko'rsatamiz, biz "Birja rejasi: To'liq" dan farqni ko'ramiz, jadval paydo bo'ldi, unda biz almashinuv amalga oshiriladigan tashkilotlarni ko'rsatamiz.

Ikkinchi yozuvni "Bo'ysunuvchi tugun" deb nomlaymiz, "PU" kodini ko'rsatamiz, tashkilotni ko'rsatamiz.


Boshqa barcha jihatlarda o'rnatish "Almashtirish rejasi: to'liq" bilan mutlaqo bir xil.