Ma'lumotlar tarkibi tizimi 1c 8.3 hisoblangan maydonlar. Ma'lumotlar tarkibi tizimini ifodalash tili (1Cv8). NULL tengsizligi uchun qiymatni tekshirish operatsiyasi

Talaba sifatida kiring

Maktab materiallariga kirish uchun talaba sifatida kiring

Yangi boshlanuvchilar uchun 1C 8.3 ma'lumotlar tarkibi tizimi: natijalarni (manbalarni) ko'rib chiqing

Ushbu o'quv qo'llanmaning maqsadi:

  • Oziq-ovqatlarning ro'yxati (oziq-ovqat ma'lumotlari katalogi), ularning kaloriya tarkibi va ta'mi aks etgan hisobot yozing.
  • Mahsulotlarni ranglari bo'yicha guruhlang.
  • Xulosa (manbalar) va hisoblangan maydonlar haqida ma'lumot oling.

Yangi hisobot yaratish

Oldingi darslarda bo'lgani kabi, bazani oching " gastronom"konfiguratorda va menyu orqali yangi hisobot yarating" Fayl"->"Yangi ...":

Hujjat turi - tashqi hisobot:

Hisobotni sozlash shaklida ismini yozing " 3-dars"tugmasini bosing va" Ochiq ma'lumotlar tarkibi sxemasi":

Standart sxema nomini qoldiring va " Bajarildi":

Konstruktor orqali so'rov qo'shing

Ustida " Ma'lumotlar to'plami"Durang yashilortiqcha belgini tanlang va elementni tanlang " Ma'lumotlar to'plamini qo'shish - so'rov":

So'rov matnini qo'lda yozish o'rniga, biz yana ishlaymiz so'rov konstruktori:

Ustida " Jadvallar"stolni sudrab" Ovqat"birinchi ustundan ikkinchisiga:

Jadvaldan tanlash " Ovqat"biz so'raydigan maydonlar. Buning uchun maydonlarni sudrab olib boring" Ism", "Taste", "Rang"va" Kaloriya tarkibi"ikkinchi ustundan uchinchisiga:

Bu shunday bo'ldi:

"Tugmachasini bosing OK"- so'rov matni avtomatik ravishda yaratildi:

Hisobotni taqdim etish uchun sozlamalarni shakllantiramiz

Yorliqqa o'tish " Sozlamalar"tugmasini bosing va ustiga bosing sehrli tayoq, qo'ng'iroq qilmoq sozlamalar konstruktori:

Hisobot turini tanlash " Ro'yxat... "tugmasini bosing va" Keyinchalik":

Ro'yxatda ko'rsatiladigan chap tomondagi o'ng maydonlarga torting va "tugmasini bosing Keyinchalik":

Chap ustundan o'ng chekkaga torting " Rang"- bu bo'ladi guruhlash hisobotdagi satrlar. "Tugmasini bosing OK":

Va bu erda konstruktor ishining natijasi. Hisobotimizning ierarxiyasi:

  • umuman hisobot
  • "Rang" guruhlash
  • batafsil yozuvlar - oziq-ovqat nomlari ko'rsatilgan chiziqlar

Hisobotni saqlash (tugma) disket) va yopilmasdan konfiguratorni biz darhol foydalanuvchi rejimida ochamiz. Bu shunday bo'ldi:

Ustunlar tartibini o'zgartiring

Ammo keling tartibini o'zgartirish quyidagi rasmga o'xshash bo'lishi uchun ustunlar (yuqoriga va pastga o'qlar):

Hisobotni saqlaymiz va foydalanuvchi rejimida qayta ochamiz:

Ajoyib, juda yaxshi.

Kaloriya tarkibi bo'yicha xulosa (miqdor)

Ovqatlarning umumiy kaloriya miqdorini guruhlar bo'yicha namoyish qilish yaxshi bo'lar edi. Oq yoki sariq kabi barcha ovqatlar kaloriyalarining yig'indisini ko'rish uchun. Yoki ma'lumotlar bazasidagi barcha mahsulotlarning umumiy kaloriya miqdorini bilib oling.

Buning uchun resurslarni hisoblash mexanizmi mavjud.

"Ga o'ting Resurslar"va maydonni sudrab olib boring" Kaloriya tarkibi"(biz uni sarhisob qilmoqchimiz) chap ustundan o'ngga.

Bunday holda, ifoda maydonida ochiladigan ro'yxatdan tanlang " Miqdor (kaloriya)", chunki jami jami tarkibiga kiritilgan barcha elementlarning yig'indisi bo'ladi:

Biz hisobotni saqlaymiz va tuzamiz:

Endi bizda har bir guruh uchun va umuman hisobot uchun jami ma'lumotlar mavjud.

Kaloriya miqdori bo'yicha (o'rtacha) xulosa qilish

Endi yana bitta ustun paydo bo'lishi uchun shunday qilaylik o'rtacha hisobotga ko'ra mahsulotlarning kaloriya miqdori guruhlar bo'yicha va umuman.

Siz allaqachon mavjud bo'lgan "Kaloriya tarkibi" ustuniga tegizishingiz mumkin emas - shuning uchun unda jami summa allaqachon ko'rsatilgan boshqa maydonni olaylik, bu "Kaloriya" maydonining aniq nusxasi bo'ladi.

Bunday "virtual" maydonni yaratish uchun biz mexanizmdan foydalanamiz hisoblangan maydonlar.

Yorliqqa o'tish " Hisoblangan maydonlar"tugmasini bosing va bosing yashilplyus belgisi:

Ustunda " Ma'lumotlar yo'li"yangi maydon nomini yozing ( birgalikda, bo'sh joysiz). Qani shunday nomlansin " O'rtacha kaloriya tarkibi"va ustunda" Ifoda"biz mavjud maydon nomini yozamiz, shu asosda yangi maydon hisoblab chiqiladi. Biz u erda yozamiz" Kaloriya tarkibi". Spiker" Sarlavha"avtomatik ravishda to'ldiriladi.

Biz yangi maydon qo'shdik (" O'rtacha kaloriya tarkibi"), lekin u o'z-o'zidan hisobotda ko'rinmaydi - siz ham qo'ng'iroq qilishingiz kerak sozlamalar konstruktori ("sehrli tayoq") yoki ushbu maydonni qo'shing qo'lda.

Qilaylik ikkinchi yo'l. Buning uchun "ga o'ting Sozlamalar", tanlang" Hisobot"(axir biz maydonni hisobotga to'liq qo'shmoqchimiz), quyidagi yorliqni tanlang" Tanlangan maydonlar"va maydonni sudrab olib boring" O'rtacha kaloriya tarkibi"chap ustundan o'ngga:

Bu shunday bo'ldi:

Biz hisobotni saqlaymiz va tuzamiz:

Maydon paydo bo'ldi va biz uning qiymatlari "Kaloriya" maydonining qiymatlari ekanligini ko'ramiz. Zo'r!

Buning uchun biz yana allaqachon tanish bo'lgan mexanizmdan foydalanamiz resurslar (xulosa qilish). Yorliqqa o'tish " Resurslar"va maydonni sudrab olib boring" O'rtacha kaloriya tarkibi"chap ustundan o'ngga:

Bundan tashqari, "ustunida Ifoda"tanlash" O'rtacha (o'rtacha kaloriya)":

Biz hisobotni saqlaymiz va tuzamiz:

Ko'rishimizcha, guruhlar uchun, ya'ni har bir rang uchun va umuman hisobot uchun o'rtacha qiymat juda to'g'ri hisoblangan. Ammo bor qo'shimcha yozuvlar biz hisobotdan olib tashlamoqchi bo'lgan alohida mahsulotlar uchun (guruhlar uchun emas).

Ularning nima uchun paydo bo'lganligini bilasizmi (qadriyatlar guruh bo'yicha emas)? Chunki maydonni qo'shganimizda " O'rtacha kaloriya tarkibi"hisobot sozlamalarida biz tanlagan ikkinchi bosqichda umuman butun hisobot va bu yangi maydon "elementni urdi" Batafsil yozuvlar".

Xatolikni tuzatamiz. Buning uchun yana " Sozlamalar"," ni tanlang Batafsil yozuvlar"avval yuqoridan (2-qadam), keyin esa" Batafsil yozuvlar"quyida (3-qadam), yorliqqa o'ting" Tanlangan dalalar"va biz uning o'ng ustunida elementni ko'ramiz" Avtomatik".

Element " Avtomatik"bu bitta maydon emas. Bular yuqori sozlamalar asosida avtomatik ravishda bu erga etib boradigan bir nechta maydonlardir.

Ushbu maydonlar nima ekanligini ko'rish uchun "tugmasini bosing Avtomatik" to'g'ri tugmasini bosing va elementni tanlang " Kengaytiring":

Element " Avtomatik"quyidagi maydonlarga kengaytirildi:

Mana bizning maydonimiz " O'rtacha kaloriya tarkibi"bu erdan narsadan olingan" Hisobot"biz uni u erga sudrab borganimizda. yechmoq Uning chiqishini olib tashlash uchun ushbu maydon yonidagi katagiga belgi qo'ying.

Ushbu kichik yozuvda men ma'lumotlar tuzish tizimidan foydalangan holda hisobotda guruhlanishning turli darajalaridagi qiymatlarni qanday umumlashtirishingiz mumkinligini ko'rsatmoqchiman.
Rasmda ko'rsatilgandek, faqat "Mahsulot guruhlari" guruhlash darajasida "Buyurtma" resursi hisoblab chiqiladi, unda ma'lum shartlar asosida joriy elementlar guruhiga qancha buyurtma berish kerakligini ko'rsatadi:


Ushbu qiymatni faqat ushbu guruhlash darajasida hisoblash mumkin, chunki yuqorida yoki pastda hisoblash uchun qiymat yo'q. Masalan, batafsil yozuvlar darajasida guruhdagi maksimal son haqida ma'lumot yo'q, chunki bu ma'lumotlar faqat guruh uchun amal qiladi, uning alohida tarkibiy qismlari uchun emas.

Shunga ko'ra, endi yuqoridagi guruhlar ("Omborlar", "Omborlar turlari") bo'yicha umumiy summani va umumiy summani hisoblash zarur.
Buning uchun funktsiyadan foydalaning EvaluateGroupExpressionArray:
ARRAY GROUP tomonidan ifodalashni hisoblang (EVALEXPRESSION GROUPARRAY bilan)
Sintaksis:
EvaluateGroupExpressionArray (,)
Tavsif:
Funktsiya qatorni qaytaradi, uning har bir elementi belgilangan maydon bo'yicha guruhlangan ifodani baholash natijasini o'z ichiga oladi.
Maket kompozitori maketni yaratishda funktsiya parametrlarini ma'lumotlar tarkibi joylashish maydonlarining shartlariga o'zgartiradi. Masalan, Hisob maydoni Dataset.Contractor-ga aylantiriladi.
Ifodasi faqat CalculateArrayWithGroupArray () funktsiyasini o'z ichiga olgan maxsus maydonni namoyish qilish uchun iboralarni yaratishda, maket kompozitori ko'rsatilgan ifodani hosil qiladi, shunda ko'rsatilgan ma'lumotlar buyurtma qilinadi. Masalan, ifodali maxsus maydon uchun:

CalculateExpressionGroupedArray ("Sum (SumTurnover)", "Qarshi tomon")
Maket kompozitori chiqish uchun quyidagi ifodani yaratadi:

ConnectRows (Array (Arrange (EvaluateExpressionWith GroupedValuesTable ("View (Sum (Dataset.SumTurnover)), Sum (Dataset.SumTurnover)", "Dataset.Contractor"), "2")))

Tanlovlar:

Turi: Ip. Baholash uchun ifoda. Bir qator, masalan, miqdori (AmountTurnover).

Turi: Ip. Maydonlarni guruhlarga ajratish vergul bilan ajratilgan guruh ifodalarini bildiradi. Masalan, qarshi tomon, partiya.

Turi: Ip. Tafsilot yozuvlariga qo'llaniladigan tanlovni tavsiflovchi ibora. Ushbu ibora agregat funktsiyalaridan foydalanishni qo'llab-quvvatlamaydi. Masalan, o'chirish belgisi \u003d noto'g'ri.

Turi: Ip. Guruh yozuvlariga qo'llaniladigan filtrlashni tavsiflovchi ibora. Masalan, Sum (SumTurnover)\u003e & Parameter1.
Misol:

Maksimal (CalculateExpressionWithGroupArray ("Sum (SumTurnover)", "Counterparty"));

Funktsiya sintaksisining batafsil tavsifini http://its.1c.ru/db/v837doc#bookmark:dev:TI000000582 da topishingiz mumkin.
Endi hisoblash uchun biz "Buyurtma" maydonini ko'paytiramiz, har xil qiymatlar bilan "Hisoblash ... ...", quyidagi iboralardan foydalangan holda, har bir yuqori darajadagi guruhlashlar ostidagi darajalar qiymatlaridan foydalanilishini unutmang.

Natijada biz quyidagi qurilishni olamiz:

8.2.14-ning yaqinda chiqarilishi munosabati bilan men ma'lumotlar tarkibi tizimining ba'zi yangi funktsiyalarini tavsiflashga harakat qilaman.

Ma'lumotlarni tuzish sxemasini tahrirlashni osonlashtirish uchun uni tashqi hisobotda oching.

So'rov turining ma'lumotlar to'plamini qo'shamiz va qo'lda yoki so'rov konstruktoridan foydalanib, oddiy so'rovni yozamiz:

1. ACS-da so'rovni o'rnating.

2. ACS da hisoblangan maydonlarni o'rnatish

3. Sozlamalar yorlig'ida ma'lumotlar tarkibini sozlaymiz

4. 1C Enterprise 8.2.14-ni ishga tushiring. Biz hisobotni ochamiz. Biz shakllanamiz, olamiz.

Yangi funktsiyalarning tavsifi:

1. Joriy sana ()

Tizim sanasini qaytaradi. Maket bog'langanda, maketda mavjud bo'lgan barcha ifodalarda, CurrentDate () funktsiyasi joriy sana qiymati bilan almashtiriladi.

2. BOShQALARNI HISOBlang ()

Sintaksis:

Ifodani baholash (,)

Tavsif:

Funktsiya ba'zi bir guruhlash sharoitida ifodani baholash uchun mo'ljallangan.

Funktsiya guruhlarni tanlashni hisobga oladi, ammo ierarxik tanlovlarni hisobga olmaydi.

Ushbu guruhlashni guruh tanlashda funktsiyani guruhlashda qo'llash mumkin emas. Masalan, Nomenklaturani guruhlashda siz ushbu iborani ishlata olmaysiz CalculateExpression ("Sum (SumTurnover)", "TotalTotal")\u003e 1000... Ammo bunday ifoda ierarxik tanlovda ishlatilishi mumkin.

Agar yakuniy yozuv boshlang'ich yozuvidan oldin bo'lsa, unda batafsil ma'lumotlarni hisoblash va agregat funktsiyalarini hisoblash uchun yozuvlar yo'q deb hisoblanadi.

Katta jami uchun intervalli ifodalarni hisoblashda (Grouping parametri Umumiy Totalga o'rnatiladi), batafsil ma'lumotlarni hisoblash va agregat funktsiyalarini hisoblash uchun yozuvlar yo'q deb taxmin qilinadi.

Funktsiya ifodasini yaratishda joylashtiruvchi bog'lovchi Ekspressionni baholang, agar buyurtma ifodasida guruhlashda foydalanib bo'lmaydigan maydonlar bo'lsa, funktsiyani almashtiradi Ekspressionni baholang kuni NULL.

Tanlovlar

Turi: Chiziq... Baholash uchun ifoda.

Turi: Chiziq... Ifodani baholash kerak bo'lgan guruhlash nomini o'z ichiga oladi. Agar bo'sh satr guruhlash nomi sifatida ishlatilsa, hisoblash joriy guruhlash sharoitida amalga oshiriladi. Agar GeneralTotal qatori guruhlash nomi sifatida ishlatilsa, hisoblash umumiy total kontekstida amalga oshiriladi. Aks holda, hisoblash ushbu nom bilan ota-onalar guruhlari tarkibida amalga oshiriladi.

Masalan:

Miqdor (Sales.SumTurnover) / Hisoblash ("Miqdor (Sales.SumTurnover)", "TotalTotal")

Ushbu misolda natija yig'indining maydonga nisbati Sales.AmountTurnover yozuvlarni butun maketdagi bir xil maydonning yig'indisiga guruhlash;

Turi: Chiziq... Parametr quyidagi qiymatlarni qabul qilishi mumkin:

· jami - ifoda barcha guruhlash yozuvlari uchun baholanadi.

· Ierarxiya - ifoda ota iyerarxik yozuv uchun, agar mavjud bo'lsa va butun guruhlash uchun, agar ota-ona ierarxik yozuv bo'lmasa baholanadi.

· Guruhlash - ifoda guruhlashning joriy guruh yozuvi uchun baholanadi.

· GroupingNonResource - manbalar bo'yicha guruh yozuvi uchun funktsiyani hisoblashda, ifoda asl guruhlashning birinchi guruh yozuvi uchun hisoblab chiqiladi.

Funktsiyani hisoblashda EvaluateExpression () ma'no bilan GroupingNonResource manbalar bo'yicha guruhlash bo'lmagan guruh yozuvlari uchun funktsiya, agar parametr qiymati qiymatga teng bo'lsa, qanday hisoblansa, xuddi shu tarzda hisoblanadi. Guruhlash.

Ma'lumotlar tarkibi shablonini yaratuvchisi, ma'lumotlar tarkibi shablonini yaratishda, shablonga guruhlash amalga oshiriladigan resurs maydonini chiqarishda, funktsiya yordamida hisoblangan ifodani qo'yadi. EvaluateExpression () , parametrni belgilash GroupingNonResource... Qolgan manbalar uchun odatiy manba iboralari manbalar bo'yicha guruhlangan.

Turi: Chiziq... Parchani qaysi yozuv bilan boshlash kerakligini, unda ifodaning agregat funktsiyalarini hisoblash va qaysi yozuvdan yig'ma funktsiyalardan tashqaridagi maydonlarning qiymatlarini olish kerakligini ko'rsatadi. Qiymat quyidagilardan biri bo'lishi mumkin:

· Birinchidan

· Oxirgi

· Oldingi (Oldingi)

· Keyingi (keyingi)

· Joriy

· Cheklangan qiymat (BoundaryValue) Cheklangan qiymat

Turi: Chiziq... Ifodaning agregat funktsiyalari baholanadigan fragmentni qaysi yozuvga davom ettirish kerakligini ko'rsatadi. Qiymat quyidagilardan biri bo'lishi mumkin:

· Birinchidan... Birinchi guruhlash yozuvini olishingiz kerak. Qavslar ichidagi so'zdan keyin siz iborani belgilashingiz mumkin, natijada natijalar guruhlash boshidanoq ofset sifatida ishlatiladi. Olingan qiymat noldan katta bo'lgan butun son bo'lishi kerak. Masalan, Birinchi (3) - guruhlash boshidan uchinchi yozuvni olish.

Agar birinchi yozuv guruhlashdan tashqarida bo'lsa, unda yozuvlar yo'q deb hisoblanadi. Masalan, agar 3 ta yozuv bo'lsa va siz Birinchi (4) ni olishni istasangiz, unda yozuvlar yo'q deb hisoblanadi.

· Oxirgi... Siz so'nggi guruh yozuvlarini olishingiz kerak. So'zdan keyin qavs ichida iborani ko'rsatish mumkin, natijada guruhlash oxiridan boshlab ofset sifatida ishlatiladi. Olingan qiymat noldan katta bo'lgan butun son bo'lishi kerak. Masalan, Oxirgi (3) - guruhlash tugagandan so'ng uchinchi yozuvni olish.

Agar oxirgi yozuv guruhlash chegaralaridan tashqarida bo'lsa, unda yozuvlar yo'q deb hisoblanadi. Masalan, agar 3 ta yozuv bo'lsa va siz Oxirgi (4) ni olishni istasangiz, unda yozuvlar yo'q deb hisoblanadi.

· Oldingi (Oldingi)... Oldingi guruhlash yozuvini olishingiz kerak. So'zdan keyin qavs ichida iborani ko'rsatish mumkin, natijada joriy guruhlash yozuvidan orqaga qaytarish sifatida foydalaniladi. Masalan, Oldingi (2) - avvalgisini oldingi yozuvdan oling.

Agar oldingi yozuv guruhlashdan tashqariga chiqsa (masalan, ikkinchi guruhlash yozuvi uchun Oldingi (3) ni olishni xohlasangiz, unda birinchi guruhlash yozuvi olinadi).

Oldingi yozuvni guruhlash jami uchun olishda birinchi yozuv hisobga olinadi.

· Keyingi (keyingi)... Siz keyingi guruhlash yozuvini olishingiz kerak. So'zdan keyin qavs ichida iborani ko'rsatish mumkin, natijada joriy guruhlash yozuvidan oldinga siljish sifatida foydalaniladi. Masalan, Keyingi (2) - keyingi yozuvdan keyingisini oling.

Agar keyingi yozuv guruhlashdan chiqib ketsa, unda yozuvlar yo'q deb hisoblanadi. Masalan, agar 3 ta yozuv bo'lsa va uchinchi yozuv uchun Next () olingan bo'lsa, unda yozuvlar yo'q.

Guruhlash natijalari bo'yicha navbatdagi yozuv olganda, yozuv yo'q deb hisoblanadi.

· Joriy... Siz joriy yozuvni olishingiz kerak.

Gruppirovka summasini olishda birinchi yozuv olinadi.

· Cheklangan qiymat (BoundaryValue)... Belgilangan qiymat bo'yicha yozuvni olish zarurati. So'zdan keyin Cheklangan qiymat qavs ichida siz birinchi buyurtma maydoni bo'lgan fragmentni boshlamoqchi bo'lgan ifodani ko'rsatishingiz kerak.

Yozuv sifatida buyurtma maydonining qiymati ko'rsatilgan qiymatdan katta yoki unga teng bo'lgan birinchi yozuv olinadi. Masalan, agar Period maydoni buyurtma maydoni sifatida ishlatilsa va u 01.01.2010, 01.02.2010, 01.03.2010 qiymatlariga ega bo'lsa va siz olishni istasangiz Cheklash qiymati (DateTime (2010, 1, 15)), keyin siz 02/01/2010 sana bilan yozuvni olasiz.

Turi: Chiziq... Buyurtma qoidalarini tavsiflovchi vergul bilan ajratilgan iboralarni ro'yxatlaydi. Agar ko'rsatilmagan bo'lsa, buyurtma ifoda baholanadigan guruhlash bilan bir xil tarzda amalga oshiriladi. Har bir iboradan keyin siz kalit so'zni belgilashingiz mumkin Yoshi (o'sish tartibida tartiblash uchun), Kamayish (kamayish tartibi uchun) va Avtomatik buyurtma (havola qilingan maydonlarni havola qilingan ob'ektga buyurtma beradigan maydonlar bo'yicha buyurtma qilish uchun). So'z Avtomatik buyurtma so'z bilan ishlatilishi mumkin Yoshi, shuning uchun so'z bilan Kamayish.

Turi: Chiziq... Parametrga o'xshash Tartiblash... Ierarxik yozuvlarni tartibga solish uchun foydalaniladi. Agar belgilanmagan bo'lsa, layout builder buyurtmada parametrda ko'rsatilgan buyurtma bo'yicha ishlab chiqaradi Tartiblash.

Turi: Chiziq... Bir xil buyurtma qiymatiga ega bo'lgan bir nechta yozuvlar mavjud bo'lsa, oldingi yoki keyingi yozuvni aniqlash qoidasini belgilaydi:

· Alohida oldingi va keyingi yozuvlarni aniqlash uchun tartiblangan yozuvlar ketma-ketligidan foydalanilishini bildiradi. Standart qiymat.

· Birgalikda oldingi va keyingi yozuvlar buyurtma ifodalarining qiymatlari asosida aniqlanganligini bildiradi.

Masalan, natijada ketma-ketlik sana bo'yicha tartiblangan bo'lsa:

sana To'liq ismi sharif Qiymat
1 01 yanvar 2001 yil

Ivanov M.

10
2 2001 yil 2-yanvar Petrov S. 20
3 03 yanvar 2001 yil Sidorov R. 30
4 04 yanvar 2001 yil Petrov S. 40

Alohida, keyin:

3-yozuvga oldingi yozuv 2-yozuv bo'ladi.

Hozirgi, joriy (mos ravishda, parametrlar Boshlang va nihoya), keyin 2-yozuv uchun ushbu fragment bitta yozuvdan iborat bo'ladi. Ifoda 20 ga teng bo'ladi.

Agar parametr qiymati bo'lsa Birgalikda, keyin:

3-yozuvga oldingi yozuv 1-yozuv bo'ladi.

§ agar hisoblangan fragment quyidagicha aniqlansa Hozirgi, joriy (mos ravishda, parametrlar Boshlang va nihoya), keyin 2-yozuv uchun ushbu fragment 2 va 3-yozuvlardan iborat bo'ladi CalculateExpression ("Sum (Value)", Current, Current) 50 bo'ladi.

Belgilangan bo'lsa, parametr qiymati Birgalikda, parametrlarda Boshlang va nihoya lavozimlar uchun ofset belgilay olmaysiz Birinchidan, oxirgi, oldingi, keyingi.

Ifodani hisoblang ("Sum (SumTurnover)", "First", "Current")

Agar oldingi satrda guruhlash qiymatini olishni istasangiz, quyidagi iboradan foydalanishingiz mumkin:

Fikrni baholang (Kurs, Oldingi)

Ro'yxat yangi funktsiyalari:

BaholashExpressionGroupedArray(,) -

Funktsiya qatorni qaytaradi, uning har bir elementi belgilangan maydon bo'yicha guruhlangan ifodani baholash natijasini o'z ichiga oladi.

BaholashExpressionGroupedValuesTable(,) -

Funktsiya qiymatlar jadvalini qaytaradi, ularning har bir qatorida ifodalarni baholash natijalari ko'rsatilgan maydon bo'yicha guruhlarga bo'linadi

To'ldirilgan() - Agar qiymat berilgan tipdagi standart qiymatdan farq qiladigan bo'lsa, True-ni qaytaradi, NULLdan tashqari, bo'sh ma'lumotnomadan tashqari, Undefined-dan tashqari. Mantiqiy qiymatlar uchun null tekshirish amalga oshiriladi. Satrlar uchun bo'sh joy bo'lmagan belgilar yo'qligi tekshiriladi

Formatlash(,) - O'tkazilgan qiymatning formatlangan satrini oling. Format qatori 1C: Enterprise tizimining format qatoriga mos ravishda o'rnatiladi.

Substring(,,) - Ushbu funktsiya satrdan substringni ajratib olish uchun mo'ljallangan.

Chiziq uzunligi() - funktsiya ipning uzunligini aniqlashga mo'ljallangan. Parametr - bu mag'lubiyat turi ifodasi

Chiziq() - Agar massiv parametr sifatida qabul qilinsa, funktsiya ";" belgilar bilan ajratilgan barcha massiv elementlarining satr tasvirlarini o'z ichiga olgan qatorni qaytaradi. Agar qiymatlar jadvali parametr sifatida qabul qilinsa, funktsiya qiymatlar jadvalining barcha satrlarining satr tasvirlarini o'z ichiga olgan qatorni qaytaradi, har bir satrning katakchalari ";" belgilar bilan, satrlar esa chiziqlar orqali ajratiladi. Agar biron bir element bo'sh satr tasviriga ega bo'lsa, u holda uning vakili o'rniga satr ko'rsatiladi.

Ma'lumotlar tarkibi sxemasidan (ACS) vakolatli foydalanish quyidagilarga imkon beradi:

  • hisobotni tayyorlash uchun zarur bo'lgan vaqtni sezilarli darajada qisqartirish;
  • boshqariladigan forma ishlov beruvchisini yaratish zaruriyatidan xalos bo'lish;
  • foydalanuvchi tomonidan qo'shimcha sozlash imkoniyati bilan chiroyli natija oling.

Ammo barcha ishlab chiquvchilar elektron imkoniyatlaridan maksimal darajada foydalana olmaydilar, chunki uning barcha sozlamalari aniq va intuitiv emas. Xususan, ko'p odamlar 1C da ACS da hisoblangan maydonlar mavjudligini bilishadi, ammo ular ulardan foydalanish sohasini va ular bilan ishlash usullarini to'liq aks ettirmaydi.

Hisoblangan maydon nima?

Ko'pgina hollarda, so'rov maket sxemasida ma'lumotlar manbai vazifasini bajaradi. Aslida, so'rovning o'zida siz allaqachon turli xil formulalar, tuzilmalar va iboralardan foydalanishingiz mumkin. Tabiiy savol tug'iladi, nega takrorlanadigan funksionallik kerak?

Haqiqat shundaki, ACS so'rovni bajarish natijalarini aks ettirishdan boshqa narsa emas va bu sxemani yaratish shaklidan juda yaxshi ko'rinadi (1-rasm).

Hisoblangan maydonlar yaratilgan ma'lumotlar to'plami bilan muayyan harakatlarni bajarishga imkon beradi:

  • Bir nechta satrlarni bitta qatorga birlashtirib, so'rov bo'yicha olingan ma'lumotlar qatorini ma'lum bir katakchaga chiqarish;
  • Umumiy modulning eksport funktsiyalariga kirish;
  • Maket tili uchun mavjud bo'lgan turli xil iboralarni bajaring va EvaluateExpression maxsus funktsiyalaridan foydalaning.

Keling, ushbu ro'yxatni kuzatib boraylik.

Bitta katakdagi qiymatlar massivi

Keling, kontragent uchun kvitansiyalarning barcha raqamlarini alohida katakka olish zarur bo'lgan vaziyatni taqlid qilaylik:


shunday qilib, biz o'z sxemamizda qo'shimcha hisoblangan maydon yaratdik;


Yuqoridagi misoldan ko'rinib turibdiki, hisoblangan maydonlarni qo'shish va qayta ishlashda hech qanday qiyinchiliklar mavjud emas. Biz ikkita funktsiyadan foydalandik: Array () va JoinStrings ().

Ikkinchisi haqida bir necha so'z. Massiv identifikatorini, qiymatlarni yoki qiymatlarni ko'rsatadigan birinchi parametrga qo'shimcha ravishda yana ikkita parametr o'rnatilishi mumkin:

  1. Element Separator - qaysi belgi massivning bitta elementini yoki qiymatlar jadvalining bitta satrini boshqasidan ajratishini bildiradi (bizning holatlarimizda ushbu parametrni o'tkazib yubordik va sukut bo'yicha chiziq uzilishi tayinlandi);
  2. Ustun ajratuvchi - bu qiymatlar jadvalining ustunlarini ajratish uchun ishlatiladigan belgi (nuqta-vergul sukut bo'yicha ishlatiladi).

Umumiy modulning eksport funktsiyalariga kirish

Umumiy modulning funktsiyalari hisoblangan maydonni to'ldirish uchun ma'lumotlar manbai bo'lib xizmat qilishi mumkin.

Bir nechta muhim fikrlar:

  • Funktsiya eksport qilinishi kerak;
  • Agar funktsiya "Global" bayrog'i o'rnatilgan umumiy modulda joylashgan bo'lsa, u to'g'ridan-to'g'ri nom bilan chaqiriladi, aks holda funktsiya "Umumiy modul nomi" sxemasi bo'yicha chaqirilishi kerak. Chaqirilgan funktsiya nomi.

Foydalanishga misol sifatida biz xuddi shu so'rovni kvitansiya hujjatlariga olib boramiz va uni alohida ustunda namoyish qilamiz. Biz so'rovni ta'riflamaymiz, to'g'ridan-to'g'ri hisoblangan maydonlarga o'tamiz:


Shunday qilib, biz deyarli har qanday ma'lumotni ishlov beruvchini ACS-dan boshlash mumkin, bu esa sxemadan foydalanish imkoniyatlarini ancha kengaytiradi.

Til iboralarini bog'lang

Ko'pincha ishlab chiquvchi ishida, ACS maydonida bo'linish natijasini ko'rsatish kerak bo'lganda vaziyat yuzaga keladi:

  1. Ob'ektning o'rtacha narxini hisoblang;
  2. Har qanday qiziqish;
  3. O'rtacha daromadni hisoblash va boshqalar.

Muammolarga yo'l qo'ymaslik uchun, ushbu holatlarda, hisoblangan maydonda 0 ga bo'linishni kiritish tavsiya etiladi.

Buni "Tanlov qachon .... Keyin ... Aks holda ... Tugatish" konstruktsiyasi yordamida amalga oshirish mumkin.

Oxir-oqibat, ComputeExpression () yangi funktsiyasi haqida bir nechta so'zlar. Uning yordami bilan, xususan, oqim va oldingi chiziq o'rtasidagi qiymatning og'ishlarini, yig'ma balansni va boshqalarni hisoblashingiz mumkin.

Faraz qilaylik, siz "So'zlashuv" maydonida ifodani hisoblash ("Hujjat miqdori", "Oldingi summa") qiymatini ko'rsatib, bizning so'rovimizning oldingi qatoridan Hujjat miqdorini olishingiz mumkin.

Ma'lumotlar tarkibi tizimini ifodalash tili

Ma'lumotlar tarkibi tizimini ifodalash tili tizimning turli qismlarida ishlatiladigan iboralarni yozish uchun mo'ljallangan.

Ifodalar quyidagi quyi tizimlarda qo'llaniladi:

  • ma'lumotlar tarkibi sxemasi - hisoblangan maydonlarni, umumiy maydonlarni, munosabatlar ifodalarini va boshqalarni tavsiflash uchun.
  • ma'lumotlar tarkibi sozlamalari - maxsus maydon ifodalarini tavsiflash uchun;
  • ma'lumotlar tarkibi shabloni - ma'lumotlar to'plamining munosabatlar ifodalarini tavsiflash, shablon parametrlarini tavsiflash va hk.

Literallar

Ifodalarda harflar bo'lishi mumkin. Quyidagi turdagi literallar mavjud:

  • Chiziq;
  • Raqam;
  • Sana;
  • Mantiqiy.

Chiziq

Satr harflari "" "belgilar bilan yoziladi, masalan:

"String literal"

Agar siz "" "belgisini" "" so'zma-so'z ma'nosida ishlatishingiz kerak bo'lsa, siz ikkita shunday belgidan foydalanishingiz kerak.

Masalan:

"" "" "Tirnoqlarida" ""

Raqam

Raqam bo'sh joysiz, o'nli formatda yoziladi. Kesirli qism "" belgisi bilan ajratilgan. Masalan:

10.5 200

sana

Sana literal DATETIME tugmasi yordamida yoziladi. Ushbu kalit so'zdan so'ng, qavs ichida vergul bilan ajratilgan holda yil, oy, kun, soat, daqiqa, soniya ko'rsatiladi. Vaqt ixtiyoriy.

Masalan:

Sana vaqti (1975, 1, 06) - 1975 yil 6-yanvar Sana (2006, 12, 2, 23, 56, 57) - 2006 yil 2-dekabr, 23 soat 56 daqiqa 57 soniya, 23 soat 56 daqiqa 57 soniya

Mantiqiy

Mantiqiy qiymatlarni True, False harflari yordamida yozish mumkin.

Qiymat

Boshqa turdagi literallarni ko'rsatish uchun (tizim ro'yxatlari, oldindan aniqlangan ma'lumotlar) Value kalit so'zidan foydalaning, so'ngra qavs ichida literal ism.

Qiymat (Hisob turi. Faol)

Raqamlar bo'yicha operatsiyalar

Unari -

Ushbu operatsiyani bajarish raqamning belgisini teskari yo'naltirishga qaratilgan. Masalan:

Savdo soni

Unary +

Ushbu operatsiya raqamga hech qanday ta'sir ko'rsatmaydi. Masalan:

Savdo soni

Ikkilik -

Ushbu operatsiya ikkita raqam o'rtasidagi farqni hisoblash uchun mo'ljallangan. Masalan:

Balans va aylanmalar. Dastlabki balans - qoldiqlar va aylanmalar. Yakuniy balanslar va aylanmalar.

Ikkilik +

Ushbu operatsiya ikkita raqamning yig'indisini hisoblash uchun mo'ljallangan. Masalan:

Balanslar va aylanmalar. Balansni boshlash + Balanslar va aylanmalar. O'tkazish qoldiqlari va aylanmalar. Dastlabki balans + 100 400 + 357

Tarkibi

Ushbu operatsiya ikkita raqamning ko'paytmasini hisoblash uchun mo'ljallangan. Masalan:

Nomenklatura.Narx * 1.2 2 * 3.14

Bo'lim

Ushbu operatsiya bitta operandni boshqasiga bo'lish natijasini olish uchun mo'ljallangan. Masalan:

Nomenklatura.Narx / 1.2 2 / 3.14

Bo'linishning qolgan qismi

Ushbu operatsiya bitta operandni boshqasiga ajratishning qoldig'ini olish uchun mo'ljallangan. Masalan:

Nomenklatura narxi% 1,2 2% 3.14

Iplardagi operatsiyalar

Birlashtirish (Ikkilik +)

Ushbu operatsiya ikkita qatorni birlashtirishga mo'ljallangan. Masalan:

Nomenklatura.Maqola + ":" + Nomenklatura.Nom

Yoqdi

Ushbu operatsiyani bajarish mag'lubiyat berilgan naqshga mos kelishini tekshiradi.

LIKE operatorining qiymati, agar qiymat bo'lsa TRUE bo'ladi<Выражения> naqshga mos keladi, aks holda FALSE.

Quyidagi belgilar<Строке_шаблона> faqat keyingi satr belgilaridan tashqari mantiqiy:

  • % - foiz: nol yoki undan ortiq ixtiyoriy belgilarni o'z ichiga olgan ketma-ketlik;
  • _ - pastki chiziq: bitta ixtiyoriy belgi;
  • […] - to'rtburchak qavs ichidagi bir yoki bir nechta belgi: bitta belgi, to'rtburchak qavs ichidagi har qanday belgi. Ro'yxatga olish diapazonlarni o'z ichiga olishi mumkin, masalan, diapazonning uchlari, shu jumladan diapazonga kiritilgan ixtiyoriy belgini anglatuvchi a-z;
  • [^ ...] - to'rtburchak qavsda inkor belgisi va undan keyin bir yoki bir nechta belgi: istalgan belgi, inkor belgisidan keyin berilganlar bundan mustasno;

Boshqa har qanday belgi o'zini anglatadi va qo'shimcha ma'noga ega emas. Agar sanab o'tilgan belgilardan birini o'zi kabi yozish zarur bo'lsa, unda oldin qo'yilishi kerak<Спецсимвол>ESCAPE kalit so'zidan keyin ko'rsatilgan.

Masalan, shablon

"% ABC [abcg] \\ _ abc%" MAXSUS SYMBOL "\\"

belgilar ketma-ketligidan iborat substringni anglatadi: A harfi; B harflari; B harflari; bitta raqam; a, b, c yoki d harflaridan biri; pastki chiziq belgisi; harflar a; harflar b; harflar v. Bundan tashqari, ushbu ketma-ketlik chiziqdagi o'zboshimchalik holatidan boshlab joylashishi mumkin.

Taqqoslash operatsiyalari

Teng

Ushbu operatsiya tenglik uchun ikkita operandni taqqoslash uchun mo'ljallangan. Masalan:

Sales.Pudratchi \u003d Sales.NomenclatureMainSupplier

Teng emas

Ushbu operatsiya ikkita operandni tengsizlik uchun taqqoslash uchun mo'ljallangan. Masalan:

Sotish, pudratchi<> Savdo.NomenclatureAssupplier

Kamroq

Ushbu operatsiya birinchi operand ikkinchisidan kichikligini tekshirishga mo'ljallangan. Masalan:

SalesCurrent.Amount< ПродажиПрошлые.Сумма

Ko'proq

Ushbu operatsiya birinchi operand ikkinchisidan kattaroqligini tekshirish uchun mo'ljallangan. Masalan:

SalesCurrent.Total\u003e SalesPast.Amount

Kam yoki teng

Ushbu operatsiya birinchi operand ikkinchisidan kichik yoki unga tengligini tekshirish uchun mo'ljallangan. Masalan:

SalesCurrent.Amount<= ПродажиПрошлые.Сумма

Ko'proq yoki teng

Ushbu operatsiya birinchi operand ikkinchisidan kattaroq yoki tengligini tekshirish uchun mo'ljallangan. Masalan:

SalesCurrent.Amount\u003e \u003d SalesPast.Amount

B operatsiyasi

Ushbu operatsiya o'tkazilgan qiymatlar ro'yxatida qiymat mavjudligini tekshiradi. Amaliyot natijasi, agar qiymat topilsa rost bo'ladi, aks holda False bo'ladi. Masalan:

B bandi (& Item1, & Item2)

Ma'lumotlar to'plamidagi qiymat mavjudligini tekshirish operatsiyasi

Amaliyot belgilangan ma'lumotlar to'plamida qiymat mavjudligini tekshiradi. Tasdiqlash ma'lumotlar to'plamida bitta maydon bo'lishi kerak. Masalan:

Savdo. Qarama-qarshi tomonga qarshi tomon

NULL uchun qiymatni tekshirish operatsiyasi

Agar qiymat NULL bo'lsa, bu operatsiya True qaytaradi. Masalan:

Savdo.Pudratchi bekor hisoblanadi

NULL tengsizligi uchun qiymatni tekshirish operatsiyasi

Agar qiymat NULL bo'lmasa, bu amal True qiymatini qaytaradi. Masalan:

Savdo.Pudratchi bekor emas

Mantiqiy amallar

Mantiqiy amallar mantiqiy ifodalarni operand sifatida qabul qiladi.

Operatsiya YO'Q

Agar operandasi False bo'lsa, operatsiya True ga qaytmaydi, agar operandasi True bo'lsa, False. Masalan:

NOT Document.Cignignee \u003d Document.Shipper

VA operatsiyasi

AND operatori ikkala operandasi ham True bo'lsa, agar operandalaridan biri False bo'lsa, False-ni qaytaradi. Masalan:

Document.Consignee \u003d Document.Carrier AND Document.Consignee \u003d & Qarshi tomon

YoKI operatsiya

OR operatsiyasi, agar operandalardan biri Rost bo'lsa, True, agar ikkala operand False bo'lsa, False-ni qaytaradi. Masalan:

Document.Consignee \u003d Document.Carrier Yoki Document.Consignee \u003d & Counterparty

Yig'ish funktsiyalari

Yig'ish funktsiyalari ma'lumotlar bazasida ba'zi bir harakatlarni amalga oshiradi.

Miqdor

Sum agregati funktsiyasi barcha tafsilotlar yozuvlari uchun argument sifatida unga berilgan ifoda qiymatlari yig'indisini hisoblab chiqadi. Masalan:

Miqdor (Sales.AmountTurnover)

miqdori

Count funktsiyasi nol bo'lmagan qiymatlar sonini hisoblab chiqadi. Masalan:

Miqdor (Sotish. Pudratchi)

Turli xil soni

Ushbu funktsiya aniq qiymatlar sonini hisoblab chiqadi. Masalan:

Miqdor (Turli xil sotuvlar. Pudratchi)

Maksimal

Funktsiya maksimal qiymatni oladi. Masalan:

Maksimal (qoldiqlar, miqdor)

Eng kam

Funktsiya minimal qiymatni oladi. Masalan:

Minimal (qoldiqlar, miqdor)

O'rtacha

Funktsiya NULL bo'lmagan qiymatlar uchun o'rtacha qiymatni oladi. Masalan:

O'rtacha (Balanslar miqdori)

Boshqa operatsiyalar

SELECT operatsiyasi

Operation Select ma'lum shartlar bajarilganda bir nechta qiymatlardan birini tanlash uchun mo'ljallangan. Masalan:

Miqdor\u003e 1000 ni tanlash, keyin boshqa miqdor 0 nihoyasiga etish

Ikki qiymatni taqqoslash qoidalari

Agar taqqoslangan qiymatlarning turlari bir-biridan farq qiladigan bo'lsa, unda qiymatlar o'rtasidagi bog'liqlik turlarning ustuvorligi asosida aniqlanadi:

  • NULL (eng past);
  • Mantiqiy;
  • Raqam;
  • Sana;
  • Chiziq;
  • Malumot turlari

Turli mos yozuvlar turlarining o'zaro bog'liqligi turga mos keladigan jadvallarning mos yozuvlar raqamlari asosida aniqlanadi.

Agar ma'lumotlar turlari mos keladigan bo'lsa, unda qiymatlar quyidagi qoidalarga muvofiq taqqoslanadi:

  • mantiqiy turi To'g'ri qiymatga FALSE qiymatidan katta;
  • raqam turi raqamlar uchun odatiy taqqoslash qoidalariga ega;
  • sana turining oldingi sanalari keyinroq bo'lganidan kamroq;
  • string turi uchun - ma'lumotlar bazasining belgilangan milliy xususiyatlariga mos keladigan satrlarni taqqoslash;
  • mos yozuvlar turlari ularning qiymatlari (yozuv raqamlari va boshqalar) asosida taqqoslanadi.

NULL bilan ishlash

Operandlardan birining qiymati NULL bo'lgan har qanday operatsiya NULLga olib keladi.

Istisnolar mavjud:

  • aND operatsiyasi NULL-ni faqat bitta operand False bo'lmasa qaytaradi;
  • oR operatsiyasi NULL-ni faqat bitta operand rost bo'lmaganda qaytaradi.

Amaliyotning ustuvor yo'nalishlari

Operatsiyalar quyidagi ustuvorliklarga ega (birinchi qator eng past ustuvorlikka ega):

  • B IS NULL emas;
  • =, <>, <=, <, >=, >;
  • Ikkilik +, Ikkilik -;
  • *, /, %;
  • Unary +, Unary -.

Ma'lumotlar tarkibi tizimini ifodalash tili funktsiyalari

Hisoblang

Hisoblash funktsiyasi ba'zi bir guruhlash sharoitida ifodani baholash uchun mo'ljallangan. Funktsiya quyidagi parametrlarga ega:

  • Ifoda. String yozing. Hisoblangan ifodani o'z ichiga oladi;
  • Guruhlash. String yozing. Ifodani baholash kerak bo'lgan guruhlash nomini o'z ichiga oladi. Agar bo'sh satr guruhlash nomi sifatida ishlatilsa, hisoblash joriy guruhlash sharoitida amalga oshiriladi. Agar GeneralTotal qatori guruhlash nomi sifatida ishlatilsa, hisoblash umumiy total kontekstida amalga oshiriladi. Aks holda, hisoblash ushbu nom bilan ota-onalar guruhlari tarkibida amalga oshiriladi. Masalan:
Miqdor (Sales.SumTurnover) / Hisoblash ("Miqdor (Sales.SumTurnover)", "TotalTotal")

Ushbu misolda, natijada guruhlash yozuvining Sales.SumTurnover maydonining miqdori butun tartibdagi bir xil maydon miqdoriga nisbati bo'ladi.

Daraja

Funktsiya joriy ro'yxatga olish darajasini olish uchun mo'ljallangan.

Daraja()

NumberOrder

Keyingi tartib raqamini oling.

NumberOrder ()

NumberOrderInGroup

Joriy guruhlashdagi navbatdagi navbatdagi raqamni qaytaradi.

NumberOrderInGrouping ()

Formatlash

O'tkazilgan qiymatning formatlangan satrini oling.

Format qatori 1C: Enterprise format qatoriga muvofiq o'rnatiladi.

Tanlovlar:

  • Qiymat;
  • Satrni formatlash.

Format (Invoices.SumDoc, "NPT \u003d 2")

Davrning boshlanishi

Tanlovlar:

    • Daqiqa;
    • Kun;
    • Bir hafta;
    • Oy;
    • Chorak;
    • O'n yil;
    • Yarim yil.

Davrning boshlanishi (DateTime (2002, 10, 12, 10, 15, 34), "Oy")

Natija:

01.10.2002 0:00:00

Davr tugashi

Funktsiya ma'lum bir sanani ma'lum bir sanadan ajratib olish uchun mo'ljallangan.

Tanlovlar:

  • Sana. Sana yozing. Belgilangan sana;
  • Davr turi. String yozing. Qadriyatlardan birini o'z ichiga oladi:
    • Daqiqa;
    • Kun;
    • Bir hafta;
    • Oy;
    • Chorak;
    • O'n yil;
    • Yarim yil.

EndPeriod (DateTime (2002, 10, 12, 10, 15, 34), "Hafta")

Natija:

13.10.2002 23:59:59

Sana qo'shish

Funksiya sanaga ma'lum bir qiymat qo'shish uchun mo'ljallangan.

Tanlovlar:

  • Kattalashtirish turi. String yozing. Qadriyatlardan birini o'z ichiga oladi:
    • Daqiqa;
    • Kun;
    • Bir hafta;
    • Oy;
    • Chorak;
    • O'n yil;
    • Yarim yil.
  • Qiymat - sana qancha oshirilishi kerak. Raqamni kiriting. Kesirli qismi e'tiborga olinmaydi.

Sana qo'shish (DateTime (2002, 10, 12, 10, 15, 34), "Oy", 1)

Natija:

12.11.2002 10:15:34

Sana farqi

Funktsiya ikkita sana o'rtasidagi farqni olish uchun mo'ljallangan.

Tanlovlar:

  • Ifoda. Sana yozing. Asl sana;
  • Ifoda. Sana yozing. Chiqarilgan sana;
  • Farq turi. String yozing. Qadriyatlardan birini o'z ichiga oladi:
    • Ikkinchi;
    • Daqiqa;
    • Kun;
    • Oy;
    • Chorak;

FARQ (DARA TIME (2002, 10, 12, 10, 15, 34), DATE TIME (2002, 10, 14, 9, 18, 06), "DAY")

Natija:

Substring

Ushbu funktsiya mag'lubiyatni mag'lubiyatdan ajratib olish uchun mo'ljallangan.

Tanlovlar:

  • Chiziq. String yozing. Substring chiqariladigan satr;
  • Lavozim. Raqamni kiriting. Ipdan olinadigan substring boshlanadigan belgining pozitsiyasi;
  • Uzunlik. Raqamni kiriting. Tanlash uchun substring uzunligi.

Substrat (Pudratchilar, manzil, 1, 4)

Chiziq uzunligi

Funksiya ip uzunligini aniqlashga mo'ljallangan.

Parametr:

  • Chiziq. String yozing. Uzunlik bo'yicha ko'rsatiladigan satr.

String (Hisoblar, manzil)

Yil

Ushbu funktsiya Sana turi qiymatidan bir yil ajratish uchun mo'ljallangan.

Parametr:

  • Sana. Sana yozing. Yil aniqlangan sana.

YEAR (etkazib berish sanasi)

Chorak

Ushbu funktsiya Sana turidagi qiymatdan chorak raqamni chiqarishga mo'ljallangan. Chorak raqami odatda 1 dan 4 gacha.

Parametr

  • Sana. Sana yozing. Chorak belgilanadigan sana
QUARTER (etkazib berish sanasi)

Oy

Ushbu funktsiya Sana turi qiymatidan oy raqamini chiqarishga mo'ljallangan. Oy raqami odatda 1 dan 12 gacha.

  • Sana. Sana yozing. Oy belgilanadigan sana.
MONTH (faktura sanasi)

Yil kuni

Ushbu funktsiya Sana turi qiymatidan yilning kunini olish uchun mo'ljallangan. Yilning kuni odatda 1 dan 365 gacha (366).

  • Sana. Sana yozing. Yil kuni belgilanadigan sana.
YIL KUNI (Hisob-faktura sanasi)

Kun

Ushbu funktsiya Sana turi qiymatidan oy kunini olish uchun mo'ljallangan. Oyning kuni odatda 1 dan 31 gacha.

  • Sana. Sana yozing. Oyning kuni aniqlangan sana.
KUN (hisob-faktura sanasi)

Bir hafta

Ushbu funktsiya Sana turi qiymatidan yilning hafta raqamini olish uchun mo'ljallangan. Yil haftalari 1dan boshlab sanab chiqilgan.

  • Sana. Sana yozing. Haftaning raqamlari aniqlangan sana.
HAFTA (faktura sanasi)

Hafta kuni

Ushbu funktsiya Sana turi qiymatidan haftaning kunini olish uchun mo'ljallangan. Haftaning kuni odatda 1 (dushanba) va 7 (yakshanba) orasida.

  • Sana. Sana yozing. Haftaning kuni belgilanadigan sana.
HAFTA KUNI (Hisob-faktura sanasi)

Soat

Ushbu funktsiya Sana turi qiymatidan kunning soatini olish uchun mo'ljallangan. Kunning soati 0 dan 23 gacha.

  • Sana. Sana yozing. Kunning soati aniqlangan sana.
HOUR (etkazib berish sanasi)

Daqiqa

Ushbu funktsiya Sana turidagi qiymatdan soat minutini olishga mo'ljallangan. Soatning daqiqasi 0 dan 59 gacha.

  • Sana. Sana yozing. Soat daqiqasi aniqlangan sana.
MINUTE (hisob-faktura sanasi)

Ikkinchi

Ushbu funktsiya Sana turidagi qiymatdan daqiqaning ikkinchisini olish uchun mo'ljallangan. Bir daqiqaning ikkinchisi 0 dan 59 gacha.

  • Sana. Sana yozing. Daqiqaning soniyalari aniqlangan sana.
SECOND (Hisob-faktura sanasi)

Ekspres

Ushbu funktsiya iboradan murakkab turni o'z ichiga olishi mumkin bo'lgan turni ajratib olish uchun mo'ljallangan. Agar ifoda talab qilingan turdan boshqa turni o'z ichiga olgan bo'lsa, NULL qiymati qaytariladi.

Tanlovlar:

  • Konvertatsiya qilinadigan ifoda;
  • Turning ko'rsatkichi. String yozing. Bir qator turini o'z ichiga oladi. Masalan, "Raqam", "String" va boshqalar. Ushbu qator ibtidoiy turlardan tashqari jadval nomini ham o'z ichiga olishi mumkin. Bunday holda, ko'rsatilgan jadvalga havolani ifodalashga harakat qilinadi.

Express (Data.Props1, "Raqam (10.3)")

HaNull

Agar birinchi parametr qiymati NULL bo'lsa, bu funktsiya ikkinchi parametr qiymatini qaytaradi.

Aks holda, birinchi parametr qiymati qaytariladi.

HaNULL (Miqdor (Sotish summasi), 0)

Umumiy modul funktsiyalari

Ma'lumotlar tarkibi dvigatelining ifodasi global umumiy konfiguratsiya modullari funktsiyalariga qo'ng'iroqlarni o'z ichiga olishi mumkin. Bunday funktsiyalarni chaqirish uchun qo'shimcha sintaksis talab qilinmaydi.

Ushbu misolda "ShortName" funktsiyasi umumiy konfiguratsiya modulidan chaqiriladi.

Shuni esda tutingki, umumiy modullarning funktsiyalaridan foydalanishga faqat ma'lumotlar tarkibi protsessorining mos parametri ko'rsatilganda ruxsat beriladi.

Bundan tashqari, umumiy modullarning funktsiyalari maxsus maydon ifodalarida ishlatilishi mumkin emas.

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