1c qiymatini almashtirish. Avtomatik ma'lumotlarni almashtirish. Ma'lumotlar bazasiga ma'lumotlarni kiritish

Keling, quyidagi masalani hal qilaylik. Xizmat ko'rsatish hujjatini yaratish yoki o'zgartirish va unga qo'shilishda kerak jadval qismi xizmatlarning har qanday nomenklaturasi, bir vaqtning o'zida axborot reestridan olingan va hujjatning sanasiga mos keladigan joriy narx darhol kiritiladi.

Buni amalga oshirish uchun sizga kerak:

    joriy narxni qaytaradigan RetailPrice funksiyasini yozing;

    hujjatga yangi element qo'shilganda funktsiyani chaqiring.

Kelajakda bunday funktsiya kerak bo'lishi mumkinligi sababli, biz uni "ommaga ochiq" joyda - umumiy modulda yozamiz.

1. Funksiya yarating Chakana savdo narxi Umumiy bo'limda - nomi bilan umumiy modullar Kataloglar bilan ishlash. Bayroqni o'rnatish Server qo'ng'irog'i(shunday qilib eksport protseduralari va ushbu modulning funksiyalari mijozdan chaqirilishi mumkin) (71a-rasm).

Guruch. 71a. Umumiy modul xususiyatlari

2. Modulga joylashtiring keyingi matn.

Funktsiya Chakana narx(Joriy sana,XizmatNomenklaturaElement)Eksport

//Yordamchi ob'ektni yaratish Tanlash

Tanlash = Yangi tuzilma("Xizmat nomenklaturasi",Xizmat nomenklaturasi elementi);

//Joriy registr resursi qiymatlarini oling

ResourceValues=InformationRegisters.Prices.GetLast(CurrentDate, Selection);

ReturnResourceValue.Price;

EndFunction

Funktsiyani tushuntiramiz.

Chakana narxni olish uchun siz funktsiyaga ikkita parametrni kiritishingiz kerak:

    Joriy sana– Sana turining parametri, bizni chakana narxning qiymati bilan qiziqtiradigan vaqt o'qidagi nuqtani belgilaydi.

Ushbu tuzilmani o'z ichiga oladi Tanlash ro'yxatga olish o'lchovlari bo'yicha. Uning yordami bilan Xizmatlar nomenklaturasi registrining kerakli o'lchami aniqlanadi, bu funktsiyaga o'tkazilgan katalog elementiga havolaga teng.

Tuzilish kaliti nomi ("H Xizmatlar nomenklaturasi") konfiguratorda ko'rsatilgan registr o'lchamining nomiga va struktura elementining qiymatiga mos kelishi kerak ( Xizmatlar nomenklaturasining elementi) ushbu o'lcham uchun tanlangan qiymatni belgilaydi.

Ikkinchi qatorda ma'lumotlar reestri menejeriga qo'ng'iroq mavjud Narxlar ( Axborot registrlari Narxlar) va usulning bajarilishi RunLast(), bu resurslarning o'zi qiymatini qaytaradi oxirgi kirish funktsiyaga o'tgan sanaga mos keladigan registr ( Joriy sana) va o'lchov qiymatlarini qayd qiling Tanlash.

Usul Oxirgi olish o'zgaruvchida saqlanadigan resurs qiymatlarini o'z ichiga olgan tuzilmani qaytaradi Resurs qiymatlari.

Keyingi qatorda biz kerakli narsani olamiz chakana savdo narxi, nuqta bilan ajratilgan kerakli registr resursi nomini ko'rsatib ( ValueResources.Price) va funksiya bajarilganda uni qaytaring.

Bu. bu funktsiyani ma'lum bir vaqtda chaqirish mumkin.

Ochish kerak Xizmatlarni bajarish bo'yicha hujjat shakli(ilgari yaratilgan). IN Shakl moduli zarur O'zgartirish paytida protsedurani qo'shing.

Buning uchun forma elementi ustiga ikki marta bosing.

Guruch. 71b. Xizmat ko'rsatish hujjatining elementlari

Hodisadagi xususiyatlar oynasida O'zgarganda quyidagi matn bilan voqea ishlovchisi yarating:

&OnClient

O'zgartirish paytida nomenklaturalar xizmatining tartib ro'yxati (element)

//Jadval bo'limining keyingi qatorini oling

TabularPart Row = Elementlar.Nomenklatura ro'yxati.CurrentData;

// Narxni belgilang

TabularPart Row.Price = Directories bilan ishlash.RetailPrice(Object.Date, TabularPartLine.Service);

Jarayonning oxiri

Funktsiyani tushuntiramiz.

Birinchi qator allaqachon ma'lum: birinchi navbatda hujjatning jadval qismining joriy satrini olamiz, chunki bizga keyinroq kerak bo'ladi va uni o'zgaruvchida saqlang Qator jadval qismi.

Keyin funktsiyani chaqiramiz Chakana savdo narxi() umumiy moduldan Kataloglar bilan ishlash.

Funktsiyaning birinchi parametri narxni olishingiz kerak bo'lgan hujjatning sanasini o'tkazishdir. Biz hujjat sanasini shaklning asosiy tafsilotlaridan olamiz - Ob'ekt.Sana.

Funktsiya oxirgi narx qiymatini qaytaradi va bu qiymat hujjatning jadval qismining joriy qatoridagi Narx maydoniga tayinlanadi ( RowTabularPart.Price).

E'tibor bering, protsedura Nomenklaturalar ro'yxatiServiceWhenChanged() mijoz tomonida forma modulida ishlay boshlaydi, chunki Bu shaklning interaktiv hodisa ishlovchisi. Ushbu protsedura uchun shablonni yaratishda platforma avtomatik ravishda protsedura tavsifidan oldin kompilyatsiya direktivasini joylashtiradi &OnClient.

Keyin funktsiyani chaqiramiz Chakana savdo narxi(). Chunki bu funksiya mijoz tomonida topilmaydi, keyin bajarish umumiy modulga o'tkaziladi Kataloglar bilan ishlash, serverda ishlaydi. Funktsiya tugagandan so'ng dastur kodi mijozda bajarishda davom etadi.

Keling, yuqoridagi amallarni tekshirib ko'ramiz va dasturni 1C: Enterprise rejimida ishga tushiramiz. Keling, ishlab chiqilgan konfiguratsiya bilan ishlaylik.

JABGA MA'LUMOTLARNI KIRISH

1. Ilovaga kamida 8 ta hujjatlarni kiriting.

Vazifa 1. Ochiladigan ro'yxatni yaratish

1. Faylni oching Ex03_1.xlsx.

2. Bir varaqda Narxi Narxlari ko'rsatilgan tovarlar jadvali mavjud.

3. Mahsulot nomi bilan diapazonlarga nom bering ( Mahsulot) va narxlar jadvali ( Jadval) (1-rasm). Diapazon nomlari formulalarda keyingi foydalanish va diapazonlar bilan ishlashni osonlashtirish uchun belgilangan. Diapazon nomi hujayra nomi maydoni orqali o'rnatilishi yoki kontekst menyusidagi buyruqni tanlash mumkin Ism tayinlang(albatta, u yoki bu holatda, 1-rasmda ko'rsatilganidek, hujayralar diapazoni oldindan tanlanishi kerak).

1-rasm

4. Ustundagi savdo varag'ida Mahsulot nomi ochiladigan ro'yxatni yarating va uni ma'lumotlar bilan to'ldiring.

Ochiladigan ro'yxatni yaratish uchun siz ochiladigan ro'yxatni olmoqchi bo'lgan katakchalarni tanlashingiz kerak (bir vaqtning o'zida bir nechta bo'lishi mumkin) va yorliqda tanlang. Ma'lumotlar tugmasi Ma'lumotlarni tekshirish (2-rasm).

2-rasm

Birinchi yorliqda Variantlar ochiladigan ro'yxatdan Ma'lumotlar turi variantni tanlang Roʻyxat va qatorga kiring Manba= va kerakli ma'lumotlarga ega diapazon nomi (ya'ni. =Mahsulot) (3-rasm). bosing KELISHDIKMI.

Ochiladigan ro'yxatni yaratish natijasi 4-rasmda ko'rsatilgan.

Agar manbadagi qiymatlar to'plami o'zgarishi mumkin bo'lsa, ro'yxatning o'rtasiga ma'lumotlarni kiritish yoki olib tashlash yaxshiroqdir.

3-rasm

4-rasm

MATCH va INDEX funksiyalari bilan tanishish

MATCH va INDEX funktsiyalari asosan ma'lum diapazondagi ma'lumotlarni jadvalga avtomatik ravishda almashtirish uchun ishlatiladi.

Funktsiya sintaksisi

MATCH(qidiruv_qiymati, massiv, moslik_turi)

Massiv bir ustun yoki bir qatordan iborat blokdir.

Moslash_turi-1, 0 yoki 1 raqami.

Agar moslik_turi 1 ga teng, keyin funksiya QIDIRMOQ topadi eng yuqori qiymat dan kichikroqdir qidiruv_qiymati yoki unga teng. Koʻrildi massiv ortib borish tartibida buyurtma berish kerak.

Agar moslik_turi teng 0, Bu MATCH funksiyasi argumentga aynan teng bo'lgan birinchi qiymatni topadi qidiruv_qiymati. Koʻrildi massiv tartibsiz bo'lishi mumkin.

Agar moslik_turi-1 ga teng, keyin funksiya QIDIRMOQ dan katta bo'lgan eng kichik qiymatni topadi qidiruv_qiymati, yoki unga teng. Ko'rish_massivi kamayish tartibida buyurtma berish kerak.

Agar moslik_turi ga teng deb qabul qilinadi 1 .

Funktsiya QIDIRMOQ qiymatning o'zini emas, balki massivdagi qidirilayotgan qiymatning o'rnini qaytaradi.

Funktsiya INDEKS ikki shaklga ega. Biz faqat bittasini ko'rib chiqamiz.

INDEX(jadval; satr_raqami; ustun_raqami)

Bu funksiya to'rtburchaklar blokdan (jadval) qator va ustun raqamlari bilan belgilangan elementni tanlaydi va bu raqamlar blokning yuqori chap elementidan hisoblanadi.

Keling, ushbu funktsiyalar qanday ishlashini aniq misollar yordamida ko'rib chiqaylik.

2-topshiriq. MATCH funksiyasi bilan tanishtirish

MATCH() funksiyasidan foydalanib, “Yogurt” nomli mahsulotning diapazondagi o‘rnini aniqlang Mahsulot. Buning uchun:

1. in elektron kitob Ex03_1.xlsx varaqqa o'ting Narxi va varaq kursorini istalgan bo'sh katakka qo'ying;

2. ushbu katakchaga =MATCH("Yogurt";Mahsulot;0) formulasini kiriting, ya'ni. Biz ushbu funktsiyadan foydalanib, "Yogurt" elementini topishimiz kerakligini ko'rsatamiz ( matn qiymati funktsiyalarda har doim qo'shtirnoq ichida ko'rsatilgan) diapazonda Mahsulot, mos keladigan 0 turi - aniq moslik;

3. Enter tugmasini bosing. Natijada siz 7 raqamini olishingiz kerak (5-rasm).

5-rasm

Haqiqatan ham, agar siz diapazonga qarasangiz Mahsulot, keyin yogurtning pozitsiyasi bu raqamga to'g'ri keladi. Shuni esda tutish kerakki, qiymatning massivdagi o'rni, ya'ni. berilgan diapazonda, diapazon boshidan boshlab hisoblanadi. Ma'lum bo'lishicha, jadvalning boshiga ma'lumotlar bilan qo'shsak yangi qator, keyin "Yogurt" qiymati 8-qatorga o'tadi, lekin diapazon Mahsulot“Sut” qiymatidan boshlanadi, shuning uchun diapazonning boshidan yogurtning holati har qanday holatda ham 7 raqamiga to'g'ri keladi (6-rasm).

6-rasm

Esda tutingki, MATCH() funksiyasining qiymati qiymatning o‘zi yoki ushbu qiymat joylashgan katak nomi bilan belgilanishi mumkin. Masalan, =MATCH(A7;Mahsulot;0) yozuvi =MATCH("Yogurt";Mahsulot;0) yozuvidan foydalanilgandagi kabi natijani beradi.

3-topshiriq. INDEX funksiyasi bilan tanishish

Eslatib o'tamiz, INDEX() funksiyasi to'rtburchaklar blokdan (jadval) qator va ustun raqamlari bilan belgilangan elementni tanlaydi va bu raqamlar blokning yuqori chap elementidan hisoblanadi.

Diapazonda topish uchun INDEX() funksiyasidan foydalaning Mahsulot element beshinchi holatda joylashgan. Buning uchun:

1. elektron kitobda Ex03_1.xlsx varaqda Narxi varaq kursorini istalgan bo'sh katakka qo'ying;

2. Ushbu katakchaga quyidagi funksiyani kiriting =INDEX(Mahsulot;5). Enter tugmasini bosing. Natija 7-rasmda keltirilgan.

7-rasm

E'tibor bering, biz INDEX funktsiyasi uchun faqat diapazon qiymatlari va satr raqamini ko'rsatdik. Biz ustun raqamini ko'rsatmadik. Agar biz bitta ustundan iborat jadval (diapazon)dagi qiymatni qidirayotgan bo'lsak, bu parametr ixtiyoriy. Agar biz bir necha ustunlardan iborat jadval (diapazon)da qiymatni topishimiz kerak bo'lsa, formulada qiymatni aniqroq qidirish uchun ustun raqamini ko'rsatish kerak.

Yangi katakka =INDEX (Jadval;8;2) formulasini kiriting. Natijada siz jambon narxini topasiz (8-rasm).

8-rasm

Avtomatik ma'lumotlarni almashtirish

Ochiladigan ro'yxat bilan ishlashda siz jadvalga ma'lumotlarni kiritishni avtomatlashtirishingiz mumkin. Masalan, tovarlarning nomlari va ularning narxlarini o'z ichiga olgan narxlar ro'yxati mavjud. Siz ro'yxatdagi mahsulot nomini tanlashni va yakuniy jadvalda mahsulot narxini avtomatik ravishda almashtirishni tashkil qilishingiz mumkin.

Qidiruv jadvalidagi ma'lumotlarni avtomatik ravishda almashtirish INDEX va MATCH funksiyalaridan birgalikda foydalanishga asoslanadi.

Vazifa 4. MATCH va INDEX funksiyalarini birlashtirish

Elektron kitobda Ex03_1.xlsx varaqda Sotish ustunda Narxi, MS Excel funksiyalaridan foydalanib, mahsulot tannarxini varaqdan avtomatik almashtirishni ta'minlang Narxi, varaqdagi ochiladigan ro'yxatdan tanlangan qiymatga qarab Sotish.

1. Ishchi varaq kursorini C2 katakka qo'ying va unga quyidagi formulani kiriting:

2. Enter tugmasini bosing. Natijada siz C2 katakchada nomi qo'shni ustunda ko'rsatilgan mahsulot narxini olasiz (9-rasm). Ochiladigan ro'yxatdan boshqa mahsulot nomini tanlaganingizda, narx qiymati mos ravishda o'zgaradi.

9-rasm

3. Avtoto'ldirish belgisidan foydalanib, ushbu formulani jadval oxirigacha ko'paytiring (10-rasm).

10-rasm

Keling, ushbu formulani hal qilaylik. Ushbu formula MATCH funktsiyasidan boshlanadi, bu bizga ish varag'idagi B2 katakdagi qiymatning o'rnini topishga imkon beradi. Sotish oralig'ida Mahsulot ko'zdan Narxi, va aniqlik turi 0. Misol uchun, agar siz 10-rasmda keltirilgan mahsulotlar ro'yxatidan foydalansangiz, SEARCH funksiyasi ustundagi B2 katakchada nomi ko'rsatilgan nonning o'rnini qidiradi. Mahsulot nomi oralig'ida Mahsulot varaqda Narxi. Bu pozitsiya 3 ga teng bo'ladi. Shuning uchun kompyuter xotirasida biz kiritgan formula mavjud

=INDEX(Jadval, MATCH(B2, Mahsulot, 0), 2)

shaklini oladi

=INDEX(Jadval,3,2)

Parametr “3” QIDIRISh funksiyasining natijasidir.

Keyinchalik, diapazonda qidiradigan INDEX funktsiyasi ishga tushadi Jadval varaqda Narxi uchinchi qator va ikkinchi ustunning kesishmasida joylashgan qiymat. (Iltimos, qator ekanligini eslatib o'tamiz Jadval ikki ustundan iborat). Bu qiymat mahsulot tannarxi bo'ladi, bu holda non = 27.

Vazifa 5. Yakuniy jadvalni loyihalash

Bir varaqda Sotish ustunda Miqdori ixtiyoriy qiymatlarni kiriting. Ustundagi qiymatlarni hisoblang Jami.

6-topshiriq. Mustaqil vazifa

Faylni oching Frames.xls . Varaqdagi ish haqi o'zgarishini avtomatlashtirish talab qilinadi Xodimlar .

Masalan, menejerlarning bir qismini o'tkazish va yuqori darajali menejerlar yoki maslahatchilarni yuklovchilarga o'tkazish kerak. Ushbu operatsiyani to'rtta xodim uchun bajarishingiz kerak. Lavozim bilan birga ish haqi ham o'zgarishi kerak.

Yangi varaq yarating va unga nom bering Davlat .

Varaqga nusxalash Davlat ustunlar Lavozim Va Ish haqi.

Ikki nusxadagi xodimlarni olib tashlang. Buning uchun:

1. Lavozim va ish haqi ustunlarini tanlang.

2. Yorliqda Ma'lumotlar tugmasini bosing Dublikatlarni olib tashlang .

3. Ustundagi tasdiq belgisini olib tashlang Ish haqi.

4. Tugmani bosing Kelishdikmi.

Pozitsiyalarni o'zgartirish imkoniyatiga ega bo'lish uchun, varaqda Xodimlar Joylashuv ustunida ochiladigan ro'yxat yarating. Bunday holda siz rasmiy maoshni ham o'zgartirishingiz kerak bo'ladi, buning uchun biz ushbu jarayonni avtomatlashtiramiz, shunda siz o'z pozitsiyangizni o'zgartirganingizda Excelning o'zi ish haqini o'zgartiradi. Buning uchun biz funksiyalardan foydalanamiz: SEARCH va INDEX.

Ko'rsatmalar

1. Varaqda tanlang Davlat pozitsiyalar oralig'i. Tanlangan diapazonga nom bering lavozim.

2. Varaqda tanlang Davlat ish haqi oralig'i. Tanlangan diapazonga nom bering ish haqi.

3. Bir varaqda Xodimlar ustunda Ish haqi ish varag'ida qidiradigan formulani kiriting Davlat oralig'ida lavozim xodimning lavozimiga mos keladigan lavozim, keyin esa diapazondan ish haqi varaq Davlat topilgan lavozimga mos keladigan ish haqini kiritdi.

4. Formulani kiritgandan so'ng, natijada olingan ish haqi haqiqatda varaqdan xodimning lavozim maoshiga mos kelishiga ishonch hosil qiling. Davlat.

5. Ch.ning ish haqi o'zgartirilsin. varaqdagi buxgalter Davlat. Tegishli ish haqi varaqda o'zgarganligini tekshiring Xodimlar.

Bizning vazifamiz quyidagicha. Endi biz buyumning narxini alohida axborot reestrida saqlaymiz. Biz “Xizmat ko‘rsatish” hujjatini yaratganimizda yoki o‘zgartirganimizda va jadval qismiga istalgan elementni qo‘shganimizda, ma’lumotlar reyestridan olingan va hujjat sanasiga mos keladigan ushbu elementning joriy narxi darhol hujjatga kiritilishini xohlaymiz.

Buning uchun biz ikkita narsani qilishimiz kerak.

Birinchidan, ob'ektning joriy narxini qaytaradigan ma'lum bir funktsiyani yozing, so'ngra element hujjatga qo'shilgan paytda ushbu funktsiyani chaqiring va ushbu funktsiya hujjatga qaytariladigan elementning narxini almashtiring.

Bizga bunday "xizmat" nafaqat ushbu hujjatda, balki jadval qismida nomenklaturani o'z ichiga olgan boshqa hujjatlarda ham kerak bo'lganligi sababli, biz funktsiyani "ommaga ochiq" joyda - umumiy modulda joylashtiramiz.

Konfigurator rejimida

Buyumning narxini qaytaruvchi funksiya

Birinchidan, biz RetailPrice() funksiyasini yaratamiz, bu bizga mahsulotning joriy chakana narxini qaytaradi va uni umumiy konfiguratsiya moduliga joylashtiradi.

Umumiy modullar bo'limida konfiguratorni ochamiz, yangi konfiguratsiya ob'ektini Module qo'shamiz va uni WorkWithDirectories deb nomlaymiz.

Biz modulda sukut bo'yicha tanlangan Server katagiga ega ekanligini ko'ramiz. Bu shuni anglatadiki, ushbu modulning namunalari faqat server tomonida kompilyatsiya qilinadi.

Ushbu modulning eksport protseduralari va funktsiyalari mijozdan chaqirilishi uchun Call server katakchasini belgilaymiz (9.9-rasm).

Unga quyidagi matnni joylashtiramiz (9.1 ro'yxat).

Keling, ushbu funktsiyani tushuntiramiz.

Chakana narxni olish uchun biz funktsiyaga ikkita parametrni o'tkazamiz:

CurrentDate - Sana turi parametri bo'lib, u bizni chakana narx qiymatiga qiziqtiradigan vaqt o'qidagi nuqtani belgilaydi.

Funksiya tanasida biz avvalo Selection yordamchi obyektini yaratamiz.

Bu registr o'lchamlari bo'yicha tanlovni o'z ichiga olgan tuzilma. Uning yordami bilan biz Nomenklatura registrining o'lchami funktsiyaga o'tkazilgan katalog elementiga havolaga teng bo'lgan registr yozuvlariga qiziqishimizni aniqlaymiz.

Struktura kalitining nomi ("Nomenklatura") konfiguratorda ko'rsatilgan registr o'lchamining nomiga mos kelishi kerak va struktura elementining qiymati (Nomenklatura elementi) ushbu o'lcham uchun tanlangan qiymatni belgilaydi.

Ikkinchi qatorda biz Narx ma'lumotlari registrining menejeri (Information Registers.Prices) bilan bog'lanamiz va GetLast() usulini bajaramiz, bu bizga funktsiyaga o'tgan sanaga mos keladigan so'nggi registr yozuvining manba qiymatlarini qaytaradi ( CurrentDate) va registr o'lchamlarining qiymatlari (Tanlash).

GetLast usuli ResourceValues ​​o'zgaruvchisida saqlanadigan manba qiymatlarini o'z ichiga olgan tuzilmani qaytaradi. Umuman olganda, registrda bir nechta resurslar bo'lishi mumkin. Bizning reestrimizda faqat bitta resurs mavjud, ammo bitta elementni o'z ichiga olgan tuzilma hali ham qaytariladi.

Shuning uchun keyingi qatorda biz kerakli registr resursining nomini nuqta (ResourceValues.Price) orqali shunchaki ko'rsatib, biz izlayotgan chakana narxni olamiz va funksiya bajarilganda uni qaytaramiz.

Endi bu funktsiya hujjat bajarilishining bir nuqtasida chaqirilishi kerak.

Ob'ektni tanlashda va hujjatda narxni to'ldirishda funktsiyani chaqirish

Demak, oldimizda turgan vazifa quyidagicha. "Xizmat ko'rsatish" hujjatini tahrirlashda foydalanuvchi xizmatni tanlagandan so'ng Narx maydoni avtomatik ravishda to'ldirilishini ta'minlashimiz kerak. Bundan tashqari, xizmatning narxi hujjat tuzilgan sanaga qarab belgilanishi kerak.


Keling, konfiguratorda Xizmat ko'rsatish hujjatini topamiz va uning shakli Hujjat shaklini ochamiz.

Shakl elementini ikki marta bosing ElementlarNomenklaturasi ro'yxati yoki uning xususiyatlari palitrasini ochish uchun o'ng tugmasini bosing (Xususiyatlar kontekst menyusi elementi). Ro'yxatning oxiriga o'tib, maydon qiymati o'zgargandan keyin sodir bo'ladigan OnChange hodisasini topamiz.

Kirish maydonida kattalashtiruvchi oyna belgisi bilan B ochish tugmasini bosing.

Tizim bizning forma modulimizda ushbu hodisa uchun ishlov beruvchi protsedurasi uchun shablonni yaratadi va Form muharriri moduli yorlig'ini ochadi.

Keling, unga quyidagi matnni qo'shamiz (Ro'yxat 9.2).

Keling, ishlov beruvchining mazmunini sharhlaylik.

Ishlovchining birinchi qatori sizga “Oʻzgartirish boʻyicha mahsulotlar roʻyxati” va “Oʻzgartirilgan tovarlar narxi” tartib-qoidalaridan allaqachon tanish. Birinchidan, biz hujjatning jadval qismining joriy qatorini olamiz, chunki u bizga keyinroq kerak bo'ladi va uni TabularPart Row o'zgaruvchisida saqlang.

Keyin biz RetailPrice() funksiyamizni Kataloglar bilan ishlash umumiy modulidan chaqiramiz.

Birinchi parametr sifatida biz ushbu funktsiyaga narxni olishimiz kerak bo'lgan hujjatning sanasini o'tkazamiz. Hujjat sanasini formaning asosiy atributidan olamiz - Object.Date.



Funktsiya oxirgi narx qiymatini qaytaradi va biz bu qiymatni hujjatning jadval qismining joriy qatoridagi Narx maydoniga belgilaymiz (TabularPartRow.Price).

E'tibor bering, Item List NomenclatureOnChange() protsedurasining o'zi mijoz tomonidagi forma modulida ishlay boshlaydi, chunki u shaklning interaktiv hodisasi uchun ishlov beruvchi hisoblanadi. Ushbu protsedura uchun shablonni yaratishda platforma avtomatik ravishda protsedura tavsifidan oldin &OnClient kompilyatsiya direktivasini joylashtirdi.

Keyin RetailPrice() funksiyasi chaqiriladi. Ushbu funktsiya mijoz tomonida topilmasligi sababli, ijro serverda ishlaydigan umumiy kataloglar bilan ishlash moduliga o'tkaziladi. Funktsiya tugagandan so'ng, dastur kodi mijozda ishlashni davom ettiradi.

Nima uchun bu holatda bunday "hiyla" ishlatilgan? Nima uchun kodning bajarilishini serverga o'tkazish kerak edi?

Gap shundaki, ma'lumotlar bazasi bilan har qanday ish (ma'lumotlarni o'qish, yozish) faqat serverda mumkin. Bunday holda, biz ba'zi bir element uchun ma'lumot registridagi so'nggi ma'lumotlarni o'qishimiz kerak edi.

Bunday harakatlar faqat serverda bajarilishi mumkin va agar siz ma'lumotlar registrining GetLast() usuli tavsifini sintaksis yordamchisidan qidirsangiz, bu usul faqat serverda, qalin mijozda va tashqi aloqada.

Qalin mijoz va tashqi ulanish mijoz ilovalari hisoblanadi oldingi versiya eski dastur yechimlari bilan muvofiqligi uchun mavjud platformalar.

Biz ishlaydigan mutlaqo yangi dastur yechimini ishlab chiqmoqdamiz nozik mijoz yoki veb-mijozda. Shuning uchun, bizning holatlarimizda, ma'lumotlar bazasidan har qanday ma'lumotlarni olish uchun biz kodning bajarilishini serverga o'tkazishimiz, u erda kerakli ma'lumotlarni olishimiz va ushbu ma'lumotlarni mijozga qaytarishimiz kerak. Biz shunday qildik.

1C: Korxona rejimida

Keling, hujjatimiz qanday ishlashini tekshiramiz.

1C: Enterprise-ni disk raskadrovka rejimida ishga tushiramiz va Narxlar ma'lumotlari registrini ochamiz.

Flibs tranzistori uchun boshqa raqam bilan yangi narxni qo'shamiz (9.10-rasm).

Keling, hujjatni ochamiz Xizmat ko'rsatish № 1. Esingizda bo'lsa, ushbu hujjat bilan biz faqat bitta tranzistorni "ishlatdik".

Hujjatning sanasini o'zgarishsiz qoldiraylik va hujjatning jadval qismining Nomenklatura ustunida tranzistorni tanlashni takrorlaymiz. Transistor narxi avtomatik ravishda 07.01.2009 ga o'rnatiladi. Bu hujjat sanasidagi oxirgi narx qiymati (9.11-rasm).

Keling, hujjatning sanasini 07/13/2009 ga o'zgartiramiz va tranzistorni tanlashni yana takrorlaymiz. Yangi narx qiymati o'rnatiladi, bu sana uchun eng oxirgi (9.12-rasm).

Shunday qilib, hujjat yaratilgan paytdagi xizmatning narxi hujjatda ko'rinadi.


Nazorat savollari

1. Axborot registrining konfiguratsiya obyektining maqsadi nima?

2. Axborot registrining konfiguratsiya obyekti qanday xususiyatlarga ega?

3. Axborot registrining jamlanma registridan asosiy farqlari nimada.

4. Qaysi maydonlar jamg'arish registrining o'ziga xoslik kalitini aniqlaydi.

5. Axborotning davriy reestri nima va mustaqil axborot reestri nima.

6. Axborotlarning davriy reestri qanday tuziladi.

7. Registrning yetakchi o‘lchami nima.

8. O'rnatilgan til yordamida ro'yxatga olish kitobining eng so'nggi yozuvlarining manba qiymatlarini qanday olish mumkin.

/
Ukraina uchun buxgalteriya /
Hujjatlar, ma'lumotnomalar va hisobotlar bilan ishlash

Hujjatlarni almashtirish uchun asosiy tashkilotni qanday belgilash kerak

Ushbu bo'limda yangi hujjatlarni avtomatik almashtirish uchun boshlang'ich tashkilotni qanday tashkil etish kerakligi tasvirlangan.

Katalogdan o'rnatish

Tashkilotlar ma'lumotnomasida ("Korxona" - "Tashkilotlar" menyusi) asosiy tashkilot ta'kidlangan. qalin. Bu shuni anglatadiki, yangi hujjatlar yaratilganda u avtomatik ravishda kiritiladi.

Boshqa tashkilotni asosiy qilish uchun siz ro'yxatda ushbu tashkilotni tanlashingiz va tugmani bosishingiz kerak Asosiyni o'rnating buyruqlar panelida.

Kodni Preoix nomi l w 00000001 ni Dobro 000000001 DB Do5ro5ut 00000006 DU Do st eka va o'rnatish 00000005 NF Milliy S0000001 nshoga ulang.

ESLATMA
Asosiy tashkilot foydalanuvchi sozlamalarida saqlanadi. Har bir foydalanuvchi uchun asosiy tashkilot alohida ko'rsatilgan.

Asosiy tashkilot bo'yicha hujjatlarni tanlash

Foydalanuvchi sozlamalarida ("Xizmat" - "Foydalanuvchi sozlamalari" menyusi) asosiy tashkilot uchun hujjatlarni avtomatik tanlash rejimini o'rnatishingiz mumkin. Bu shuni anglatadiki, barcha jurnallar va hujjatlar ro'yxati faqat boshlang'ich tashkilot hujjatlarini ko'rsatadi.

Jurnallarda hujjatlarni tanlash bayroq bilan nazorat qilinadi Barcha tashkilotlar uchun buxgalteriya hisobi. U o'rnatilganda, jurnallar barcha tashkilotlar uchun hujjatlarni ko'rsatadi. Bayroq tozalanganda, jurnallarda faqat asosiy tashkilot uchun hujjatlar ko'rsatiladi.

Agar kerak bo'lsa, asosiy tashkilotni to'g'ridan-to'g'ri foydalanuvchi sozlamalarida "Hujjatlar va kataloglarni almashtirish uchun asosiy qiymatlar" guruhida o'zgartirish mumkin.

Ko'pincha, 1C dasturida ishlayotganda siz tezda bir nechta hujjatlarni kiritishingiz yoki kataloglarga yangi ob'ektlarni qo'shishingiz kerak (buyum turi, tashkilot, ombor, kassa va boshqalar). Shu bilan birga, hamma ham asosiy qiymatlarni kiritishni avtomatlashtirishni tushunmaydi, shuning uchun ularni yaratishda kerakli qiymatlar darhol maydonlarga almashtiriladi. Buni qanday qilishni sizga ushbu maqolada aytib beraman.
1C dasturida hujjatlar va ma'lumotnomalardagi tafsilotlar qiymatlarini tezda to'ldirishga imkon beruvchi mexanizmlar mavjud. Ularning harakatlariga ko'ra, ularni quyidagi turlarga bo'lish mumkin:

  • Yagona qiymatni almashtirish
  • Qiymatni tanlash orqali almashtirish
  • Statistik ma'lumotlarni to'ldirish
  • Oldin kiritilgan ma'lumotlarni almashtirish
  • Naqsh yordamida qiymatlarni almashtirish
  • Nusxa olish orqali yangi hujjatni kiritish

Foydalanuvchi huquqlariga ega bo'lgan yagona qiymatni almashtirish.

Aytaylik, sizning tashkilotingizda uchta ombor mavjud, ular ma'lumotlar bazasiga kiritilgan. Shu bilan birga, menejerga faqat bittadan tovarlarni sotishga ruxsat beriladi. Yangi hujjat yaratishda ushbu ombor avtomatik ravishda kiritiladi. Bu foydalanuvchi tomonidan belgilangan ruxsatlar asosida ishlaydi. Ya'ni, foydalanuvchi ishlamaydigan ob'ektlarga bo'lgan huquqlarni o'chirib qo'yish orqali siz ma'lumotlarni kiritishni avtomatlashtirishingiz mumkin.

Ro'yxat shaklida ko'rsatilgan tanlov asosida qiymatni almashtirish.

Agar ro'yxat ba'zi tafsilotlar (kassa apparati, bank hisobvarag'i, ombor) bo'yicha tanlashga o'rnatilgan bo'lsa, unda bu tafsilot avtomatik ravishda yangi hujjatda to'ldiriladi. Masalan, siz kassa apparati hujjatlari ro'yxati shaklida kassa apparati bo'yicha tanlovni o'rnatasiz. Yangi to'lov hujjatini berganingizda, tanlangan kassa apparati haqidagi ma'lumotlar avtomatik ravishda ro'yxatdan olinadi. Va kassa apparati uchun tashkilot ko'rsatilganligi sababli, tashkilot to'g'risidagi ma'lumotlar avtomatik ravishda to'ldiriladi. Siz har qanday hujjatlar ro'yxatidagi tanlovlardan foydalanishingiz mumkin.

Statistik ma'lumotlarni to'ldirish.

1C dasturi har bir foydalanuvchi uchun asosiy qiymatlarni kiritish statistikasini yuritadi. Agar siz yangi hujjat yaratishda bir xil tashkilot, bo'linma, ombor, xo'jalik operatsiyasi va hokazolarni ikki marta kiritgan bo'lsangiz, dastur oxirgi kiritilgan qiymatlarni tahlil qiladi. Shunday qilib, statistik to'ldirish algoritmi har bir foydalanuvchi uchun avtomatik ravishda "sozlanadi".
Agar foydalanuvchi yangi hujjatda ushbu zanjirni buzsa, dastur buni tushunadi va bir muncha vaqt o'tgach, yangi qiymatlarni almashtira boshlaydi, lekin birinchi bunday hujjatda qiymatlar almashtirilmaydi.
Boshqa tafsilotning qiymatini tanlashda avval kiritilgan ma'lumotlarni to'ldirish, masalan, barcha asosiy maydonlar (ombor, to'lov jadvali, narxlar va boshqalar) to'ldirilgan savdo shartnomasi yoki shartnomasini tanlasangiz mumkin. Shartnoma yoki shartnomani hujjatda ko'rsatishda rekvizitlar quyidagi qoidalarga muvofiq to'ldiriladi:

shartnomada yoki shartnomada ko'rsatilgan barcha ma'lumotlar to'ldiriladi;

agar shartnoma yoki shartnomada biron bir qiymat (masalan, bo'linish) ko'rsatilmagan bo'lsa, u holda bu qiymat statistik ma'lumotlarga muvofiq to'ldiriladi. Agar yangi hujjatni kiritishda qiymatlar statistik ma'lumotlarga muvofiq to'ldirilgan bo'lsa, ular shartnomada yoki shartnomada belgilangan bo'lsa, to'ldiriladi.

Shablon yordamida qiymatlarni almashtirish.

E'tibor bering, yangi turdagi element yaratilganda, siz yangi ob'ektlarga almashtiriladigan standart qiymatlarni belgilashingiz mumkin. Ushbu turdagi element uchun yangi elementni ro'yxatdan o'tkazishda ushbu qiymatlar avtomatik ravishda kiritiladi. Yana bir misol, agar hujjatni tuzayotgan foydalanuvchi foydalanuvchi kartochkasida belgilangan bo'lim to'g'risidagi ma'lumotlarga ega bo'lsa, bo'lim haqidagi ma'lumotni hujjatga avtomatik ravishda almashtirish mumkin.

Nusxa olish orqali yangi hujjatni kiritish.

Bu erda hamma narsa oddiy. Agar foydalanuvchi allaqachon shunga o'xshash hujjatni kiritgan bo'lsa, u holda uni nusxalash va keyin o'zgartirilgan ma'lumotlarni tuzatish mumkin. Barcha tafsilotlarni tekshiring, sana kabi tafsilotlarga alohida e'tibor bering.

Shu kabi hujjatlar va ma'lumotnomalarni kiritishni osonlashtirishning beshta asosiy usuli. Kundalik ishingizda ulardan foydalanishga ishonch hosil qiling

1C-da tafsilotlar qiymatini qanday tezda kiritish mumkin?