uy - Sozlamalar
Biz saqlash tizimida belgilangan chastota bilan hisobot yaratamiz.

Keling, bitta so'rov ma'lumotlari to'plami bilan hisobot yarataylik:

Omborlardagi MAHSULOTLARNI TANlang Qolgan. Ombor, TovarlarOmbordagi qoldiqlar. Nomenklatura, omborlarda qolgan mahsulotlar. To'plash registridan QuantityBalance. Omborlardagi mahsulotlar. Remains(&MyDate,) AS ProductsInWarehousesRemains

Endi parametrlar yorlig'iga o'tamiz va tizim bizning &MyDate parametrimizdan tashqari &Period parametrini ham yaratganligini ko'ramiz.
Davrlarni vizual kuzatish uchun biz asosiy hisobot shaklini yaratamiz va unda ma'lumotlar bilan jadval maydonini joylashtiramiz: Settings Composer.Settings.DataParameters

Hisobotni saqlaymiz va uni korxonada ochamiz. Parametrlari bo'lgan jadval maydonida faqat &Period parametri ko'rsatiladi:

Shunga ko'ra, ushbu parametrdagi har qanday o'zgarish istalgan natijani bermaydi.

Nima uchun &MyDate parametri mavjud emas? Albatta, chunki parametrlar yorlig'ida uning katagiga belgi qo'yilgan Mavjudlik chegarasi.

Qutidagi belgini olib tashlang. Endi biz ikkalasini ham mavjud parametrlarda ko'ramiz. Faqat hisobotni yaratishda biz hisobot &MySanaga emas, balki &Davr parametriga ta'sir qilishini ko'ramiz.

Ushbu misolda eng oddiy narsa so'rovdagi &MyDate parametrini &Period ga o'zgartirish va kerakli natijaga erishishdir. Lekin, ehtimol, sizda &Period parametri allaqachon ishlatilgan yoki sizning diniy qarashlaringiz ushbu parametrdan foydalanishga ruxsat bermagan so'rovingiz bo'lishi mumkin, har qanday holatda ham muammoni quyidagicha hal qilishingiz mumkin:

Omborlardagi MAHSULOTLARNI TANlang Qolgan. Ombor, TovarlarOmbordagi qoldiqlar. Nomenklatura, omborlarda qolgan mahsulotlar. To'plash registridan QuantityBalance. Omborlardagi mahsulotlar. Remains((&MyDate) ,) AS ProductsInWarehousesRemains

UPD foydalanuvchidan Boo:

"Standart" (tizim qo'shilgan) parametrlardan foydalanishda asosiy muammo shundaki, hisobotda bir nechta virtual jadvallardan foydalanilganda, agar ushbu parametr aniqlangan bo'lsa, uning qiymati "o'z" parametrlari o'rniga barcha boshqa holatlarda qo'llaniladi.

Sizga bir misol keltiraman:

XodimlarSP.Xodimlar, IshchilarSP.SabablarShartlar, IshchilarSP.Davr, IshchilarSPAboshqaSana.Davlat AS Davra, IshchilarSPAboshqaSana.SababOʻzgarishlarShavlatlarSababOʻzgarishlarOʻzgarishlar2.Shart Roʻyxatga olish maʼlumotlaridan mployee ) AS Employees QK CHap ULANISH Ma'lumotlar reestri. Tashkilotlar xodimlari. Eng so'nggi (&Boshqa sana ,) AS xodimlariSPAboshqaSana BY EmployeesSP.Employee = EmployeesSPAboshqaSana.Employee

Ikkinchi quyi so'rovda "standart" PERIOD parametrining qiymati OtherDate qiymatidan ko'ra tilim sanasi parametri sifatida ishlatiladi.

Agar ikkinchi pastki so'rov ikkinchi ma'lumotlar to'plamiga chiqarilgan va ACS yordamida ulangan bo'lsa ham, bu "nosozlik" kuzatiladi. Ikkinchi so‘rovda “ADDATE(&Period, MONTH, -1)” kabi ifodani ishlatadigan variant ham ishlamaydi, oy ayirilmaydi. Ammo so'rovdagi "Davr" parametrini, masalan, "Birinchi sana" deb o'zgartirish bu muammoni hal qiladi.

Aytgancha, xuddi shu muammo, masalan, aylanmani olish uchun ishlatiladigan yig'ish va buxgalteriya registrlarining virtual jadvallarida kuzatiladi. U erda tizim "Davrning boshlanishi" va "Davr oxiri" parametrlarini qo'shadi.
Shunday qilib, biroz murakkablikdagi so'rovlar bo'lsa, mavjudlik va "standart davrlar" dan foydalanishni o'chirib qo'yish mantiqan.

Ushbu maqolada ma'lumotlar tarkibi tizimidan (DCS) foydalanish davrini o'rnatishning ba'zi xususiyatlari, oddiy foydalanuvchi va 1C tizimi o'rtasidagi davr tushunchasidagi farqlar tufayli yuzaga keladigan muammolar muhokama qilinadi, shuningdek ularni hal qilish yo'llari taklif etiladi. .
Ma'lumotlar tarkibi tizimi (DCS) yordamida ishlab chiqilgan ko'pgina hisobotlar foydalanuvchidan hisobot tuziladigan davrni kiritishni talab qiladi. Qoida tariqasida, ACSda davrni kiritish quyidagi konstruktsiyadan foydalangan holda parametrlar orqali tashkil etiladi, qarang. 1-rasm Davrga kirishning ushbu usuli "klassik" deb hisoblanadi, u ITS va 1C-da rivojlanishga bag'ishlangan boshqa adabiyotlar haqidagi maqolada tasvirlangan, shuning uchun uni asos qilib olaylik. Misol sifatida, ma'lum bir davr uchun tovarlar va xizmatlarni sotish bo'yicha barcha hujjatlarni oladigan oddiy so'rovni ko'rib chiqaylik. 2-rasm Ushbu hisobotdan foydalanganda foydalanuvchi parametrlar orqali davrni belgilaydi, qarang. 3-rasm Hammasi to'g'ri bo'lib tuyuladi... AMMO kichik bir muammo bor:

Gap shundaki, foydalanuvchilarning aksariyati davrni 1C "tushunadigan" dan farqli ravishda "tushunadi", misollar:
1). Keling, ko'rib chiqaylik 3-rasm
Foydalanuvchi nuqtai nazaridan, muddat ko'rsatilmagan, ya'ni CHEKSIZ, ya'ni sana cheklovlari bo'lmagan BARCHA hujjatlar hisobotga kiritilishi kerak.
1C tizimining "nuqtai nuqtai nazardan" parametr-davr o'rnatiladi va ... uning ikkala chegarasi 01.01.0001 ga teng va hisobotga faqat bo'sh sanali hujjatlar kiritiladi, bu amalda shuni anglatadiki bitta hujjat kiritilmaydi.
2). Keling, ko'rib chiqaylik 4-rasm
Foydalanuvchi nuqtai nazaridan hisobot 28.01.2010 yildan boshlab barcha hujjatlarni o'z ichiga olishi kerak.
1C "nuqtai nazaridan" 28.01.2010 - 01.01.0001 davr istisnoga sabab bo'ladi.

Siz, albatta, foydalanuvchiga hisobotda nima uchun u ko'rishni kutayotgan hujjatlar ko'rsatilmasligini va davr 1C "nuqtai nuqtai nazardan" qanday taqdim etilishini tushuntirishga harakat qilishingiz mumkin, ammo bu minnatdorchiliksiz ish va bu ham noto'g'ri. Yaxshi dastur, birinchi navbatda, foydalanuvchi uchun qulay bo'lishi kerak, chunki dastur foydalanuvchi uchun mavjud va aksincha emas, shuning uchun siz 1C ni foydalanuvchi tushunadigan davrni tushunishni "o'rgatish" kerak bo'ladi, xususan:
1). Davr boshi va davr oxiri ko'rsatilmagan -> barcha hujjatlar.
2). Faqat Davr Boshi ko'rsatilgan -> Davr boshidan boshlab barcha hujjatlar
3). Bundan tashqari, biz Davr oxiri >= Davr boshini tekshiramiz va agar bu to'g'ri bo'lmasa, biz Davr oxiri ko'rsatilmagan deb hisoblaymiz, ya'ni. 2).
Yuqoridagilarga asoslanib, Tugash sanasi parametrining ifodasi quyidagicha ko'rinadi:

QAChON &Period.EndDate=DATETIME(1,1,1) SO‘NG DATETIME(3999,12,31,23,59,59) BOSHQA QAChON &Period.EndDate NI TANlang<&Период.ДатаНачала ТОГДА ДАТАВРЕМЯ(3999,12,31,23,59,59) ИНАЧЕ &Период.ДатаОкончания КОНЕЦ КОНЕЦ

Bizning davr tanlash dizaynining yakuniy shakli ko'rsatilgan 5-rasm

Kirishni boshqarish tizimida hisobotlarni yaratishda ko'pincha sanalarni qo'lda kiritish shart emas, balki standart davrlar ro'yxatidan tanlang, masalan: "Yil" ni tanlash uchun hisobot formasida davr tanlashni ko'rsatish kerak bo'ladi. , "Oy", "Hafta" va boshqalar. Sana turi parametrlari uchun siz faqat “Joriy yilning boshi, oyi va h.k.” ni belgilashingiz mumkin, ammo “Endi” koʻrsatilmagan.

Gap shundaki, ma'lumotlar turlaridan faqat "Standart boshlanish sanasi" turi mavjud, lekin men "Standart tugash sanasi" ni ham xohlayman.

Buni aylanib o'tishning bir yo'li bor.

  1. Keling, yangi parametr yarataylik, uni "davr" deb nomlang.
  2. Ushbu parametrni "Standart davr" turiga o'rnating.
  3. So'rovda qo'llaniladigan "Davr boshi" va "Davr oxiri" parametrlarining "Ifoda" maydonida "Ifodalarni o'rnating. &Period.StartDate" va " &Period.End Date” mos ravishda.

Ammo bir oz noziklik bor. Agar biz so'rovda virtual jadvallardan foydalansak, ehtimol hisobot ishlashni to'xtatadi va "Ko'rinishni qayta ishlashda xatolik, turdagi nomuvofiqlik, parametr raqami ..." kabi xato xabari ko'rsatiladi.

Bunga yo'l qo'ymaslik uchun barcha virtual jadval parametrlarini olib tashlashingiz kerak.

Va ularni "Ma'lumotlar tarkibi" yorlig'idagi jadvallarga qo'shing.

Parametrlar tezkor hisobot sozlamalarida ko'rsatilishi uchun hisobot parametrlari uchun tegishli bayroqni yoqaylik.

Endi hisobot shaklidagi davrni tanlash quyidagicha ko'rinadi.

Shunday ekan, boshlaylik.

Oddiylik uchun misolni tushunish uchun biz bitta oddiy aylanma jamg'arma registrini quramiz.

Mening holimda, bu to'plash registridir "Buxgalteriya hisobi".

Masalan, biz uning parametrlarini qat'iy ravishda ko'rsatamiz (kirishni boshqarish tizimiga parametrlarni yumshoq o'rnatish orqali emas):

Iltimos, virtual jadvalning chastotasi "Rekord" ekanligini unutmang.

Ammo, yuqorida aytib o'tilganidek, bizga davriylik nuqtai nazaridan davr kerak, shuning uchun men "Davr" maydonini quyidagi tarzda hisoblashni taklif qilaman (juda yaxshi emas, lekin men yaxshiroq variantlarni ko'rmadim):

Skrinshotdan ko'rinib turibdiki, so'rovga foydalanuvchi shaklda ko'rsatadigan parametr uzatiladi: "Chastota" ro'yxatining qiymati - bu ro'yxatga olish deyarli barcha standart echimlarda mavjud.

Biz uning mavjud turlarini "Parametrlar" yorlig'ida ko'rsatamiz:

Ushbu parametr bilan biz davrimizni hamma narsa chiroyli va ko'zni quvontiradigan tarzda formatlaymiz)

Bu erda formatlarning o'zi:

Oy: DF="MMMM yyyy "y.""

Kun: DF = dd.MM.yyyy

Hafta: DF = """dd.MM.yyyy dan boshlab hafta"

Chorak: DF = ""chorak" yyyy "y"gacha."

Yil: DF = "yyyy "y.""

O'n yillik: DF = """dd.MM.yyyy" bilan o'n yillik

Yarim yil: DF = ""dd.MM.yyyy"dan "Yarim yil"

Ana xolos. Chiqish ajoyib rasm:

Kirishni boshqarish tizimida davrni belgilashning ba'zi xususiyatlari.

Ma'lumotlar tarkibi tizimi (DCS) yordamida ishlab chiqilgan ko'pgina hisobotlar foydalanuvchidan hisobot tuziladigan davrni kiritishni talab qiladi.

Qoidaga ko'ra, ACS-da davrni kiritish quyidagi konstruktsiyadan foydalangan holda parametrlar bo'yicha tashkil etiladi, qarang: Davrni kiritishning ushbu usuli "klassik" deb hisoblanadi, bu ITS haqidagi maqolada va 1C ning rivojlanishiga bag'ishlangan boshqa adabiyotlarda tasvirlangan, shuning uchun asos qilib olaylik. Misol sifatida, ma'lum bir davr uchun tovarlar va xizmatlarni sotish bo'yicha barcha hujjatlarni oladigan oddiy so'rovni ko'rib chiqaylik.

Ushbu hisobotdan foydalanganda, foydalanuvchi parametrlar orqali davrni belgilaydi, qarang.Hammasi to'g'ri ko'rinadi..., LEKIN kichik muammo bor:

Gap shundaki, foydalanuvchilarning aksariyati davrni 1C "tushunadigan" dan farqli ravishda "tushunadi", misollar:

Foydalanuvchi nuqtai nazaridan, muddat ko'rsatilmagan, ya'ni CHEKSIZ, ya'ni sana cheklovlari bo'lmagan BARCHA hujjatlar hisobotga kiritilishi kerak.

1C tizimining "nuqtai nuqtai nazardan" parametr-davr o'rnatiladi va ... uning ikkala chegarasi 01.01.0001 ga teng va hisobotga faqat bo'sh sanali hujjatlar kiritiladi, bu amalda shuni anglatadiki bitta hujjat kiritilmaydi.

Foydalanuvchi nuqtai nazaridan hisobot 28.01.2010 yildan boshlab barcha hujjatlarni o'z ichiga olishi kerak.

1C "nuqtai nazaridan" 28.01.2010 - 01.01.0001 davr istisnoga sabab bo'ladi.

Siz, albatta, foydalanuvchiga hisobotda nima uchun u ko'rishni kutayotgan hujjatlar ko'rsatilmasligini va davr 1C "nuqtai nuqtai nazardan" qanday taqdim etilishini tushuntirishga harakat qilishingiz mumkin, ammo bu minnatdorchiliksiz ish va bu ham noto'g'ri. Yaxshi dastur, birinchi navbatda, foydalanuvchi uchun qulay bo'lishi kerak, chunki dastur foydalanuvchi uchun mavjud va aksincha emas, shuning uchun siz 1C ni foydalanuvchi tushunadigan davrni tushunishni "o'rgatish" kerak bo'ladi, xususan:

1). Davr boshi va davr oxiri ko'rsatilmagan -> barcha hujjatlar.

2). Faqat Davr Boshi ko'rsatilgan -> Davr boshidan boshlab barcha hujjatlar

3). Bundan tashqari, biz Davr oxiri >= Davr boshini tekshiramiz va agar bu to'g'ri bo'lmasa, biz Davr oxiri ko'rsatilmagan deb hisoblaymiz, ya'ni. 2).

Yuqoridagilarga asoslanib, Tugash sanasi parametrining ifodasi:

QAChON &Period.EndDate=DATETIME(1,1,1)

KEYIN DATETIME(3999,12,31)

QAChON &Davlat.Yakunlash sanasi<&Период.ДатаНачала

KEYIN DATETIME(3999,12,31) DATETIME(3999,12,31,23,59,59)

&Davlat. Tugash sanasi

Bizning davr tanlash dizaynining yakuniy shakli ko'rsatilgan

Eslatma: parametrlarni o'rnatish uchun ushbu mexanizm eski 1C 8.1 va 8.2 platformalari uchun mo'ljallangan (va ularning nazorati ostida ishlaydigan konfiguratsiyalar); 1C platformasining eski versiyalarida bo'sh parametrlarni boshqarish uchun o'rnatilgan mexanizmlar mavjud va mexanizmga murojaat qilishning hojati yo'q. ushbu maqolada tasvirlangan, qo'shimcha ravishda 1C platformasining ba'zi versiyalarida xatolar va noto'g'ri ishlash mumkin.



 


O'qing:



Motorola Moto Z Droid smartfonini ko'rib chiqish: modullar bilan chegaralarni kengaytirish

Motorola Moto Z Droid smartfonini ko'rib chiqish: modullar bilan chegaralarni kengaytirish

Balistik neylondan yasalgan korpusda uzoq umr ko'radigan flagman.Motorolaning mobil mahsulotlari, garchi Rossiyaga rasman yetkazib berilmagan bo'lsa-da,...

Ikkita operatsion tizimdan foydalanish va ulardan birini o'chirishda muammolar

Ikkita operatsion tizimdan foydalanish va ulardan birini o'chirishda muammolar

Xayrli kun do'stlar. O'ylaymanki, har bir foydalanuvchi yangi operatsion tizimni o'rnatgandan so'ng, ushbu OS boshlanadi ...

UEFI rejimida yoki eski BIOS rejimida yuklash

UEFI rejimida yoki eski BIOS rejimida yuklash

Taraqqiyot oldinga siljiydi, biz qayta ishlashimiz kerak bo'lgan ma'lumotlar hajmi ortib bormoqda va ular bilan birga kompyuter disklarining sig'imi ham ortib bormoqda....

RAM hajmlari va kanallari

RAM hajmlari va kanallari

RAM operatsion tizim va barcha dasturlarning ishlashi uchun zarur bo'lgan ma'lumotlarni vaqtincha saqlash uchun ishlatiladi. Tasodifiy kirish xotirasi...

tasma tasviri RSS