SKD 1s da hisoblangan maydon 8.2. SKD. Jadval ma'lumotlarini bitta katakchada ko'rsatish. Hisoblangan maydon nima

1. Hisoblash (baholash)- ifodani qandaydir guruhlash kontekstida baholash uchun mo‘ljallangan. Bu funksiya bilan moslik uchun ishlatiladi oldingi versiyalar platformalar. Buning o'rniga CalculateExpression funksiyasidan foydalanish tavsiya etiladi.

Sintaksis:
Hisoblash (ifoda, guruhlash, hisoblash turi)

Variantlar:

  • Ifoda(Chiziq). Hisoblangan ifodani o'z ichiga oladi;
  • Guruhlash(Chiziq). Kontekstdagi ifoda baholanishi kerak bo'lgan guruhlash nomini o'z ichiga oladi. Agar guruh nomi ishlatilsa bo'sh qator, hisoblash joriy guruhlash kontekstida amalga oshiriladi. Agar GrandTotal qatori guruh nomi sifatida ishlatilsa, hisoblash umumiy jami kontekstda amalga oshiriladi. Aks holda, hisoblash bir xil nomdagi ota-guruh kontekstida amalga oshiriladi.
    Masalan:
    Sum(Sotuv.SumOborot) / Hisoblash("Sum(Sotish.Sumaylanma)", "Jami").
    IN bu misolda natijada guruhlash yozuvining "Sotuvlar.SumTurnover" maydoni uchun summaning butun maketdagi bir xil maydon miqdoriga nisbati bo'ladi.
  • Hisoblash turi(Chiziq). Agar ushbu parametr "TotalTotal" ga o'rnatilgan bo'lsa, ifoda barcha guruhlash yozuvlari uchun hisoblab chiqiladi. Parametrning qiymati "Guruhlash" bo'lsa, qiymatlar joriy guruhlash guruhi yozuvi uchun hisoblanadi.
2. Ifodani baholash (EvalExpression) - ifodani qandaydir guruhlash kontekstida baholash uchun mo‘ljallangan. Funktsiya guruhlarni tanlashni hisobga oladi, lekin ierarxik tanlovlarni hisobga olmaydi. Funktsiyani ushbu guruhlashning guruh tanlashda guruhlash uchun qo'llash mumkin emas.

Sintaksis:
Hisoblash ifodasi (ifoda, guruhlash, hisoblash turi, boshlash, tugatish, saralash, ierarxik tartiblash, ishlov berishIdenticalorderValues)

Variantlar:

  • Ifoda(Chiziq). Hisoblangan ifodani o'z ichiga oladi;
  • Guruhlash(Chiziq). Kontekstdagi ifoda baholanishi kerak bo'lgan guruhlash nomini o'z ichiga oladi. Agar guruhlash nomi sifatida bo'sh satr ishlatilsa, hisoblash joriy guruhlash kontekstida amalga oshiriladi. Agar GrandTotal qatori guruh nomi sifatida ishlatilsa, hisoblash umumiy jami kontekstda amalga oshiriladi. Aks holda, hisoblash ushbu nom bilan ota-ona guruhlash kontekstida amalga oshiriladi;
  • Hisoblash turi(Chiziq). Agar ushbu parametr "TotalTotal" ga o'rnatilgan bo'lsa, ifoda barcha guruhlash yozuvlari uchun hisoblab chiqiladi. Parametrning qiymati "Guruhlash" bo'lsa, qiymatlar joriy guruhlash guruhi yozuvi uchun hisoblanadi. Agar parametr "Resurs bo'lmagan guruhlash" ga o'rnatilgan bo'lsa, u holda resurs bo'yicha guruh yozuvi uchun funktsiyani hisoblashda ifoda dastlabki guruhlashning birinchi guruh yozuvi uchun baholanadi. Resurs bo'yicha guruhlanmagan guruh yozuvlari uchun "GroupingNonResource" qiymati bilan CalculateExpression funktsiyasini baholashda funktsiya xuddi "Grouping" parametri qiymati bilan baholanadigan tarzda baholanadi. Ma'lumotlar kompozitsiyasi sxemasini yaratuvchisi, maydonni chiqarishda ma'lumotlar kompozitsiyasi sxemasini yaratishda - guruhlash amalga oshiriladigan resurs, maketga ko'rsatilgan "GroupingNon-Resource" parametri bilan CalculateExpression funksiyasi yordamida hisoblangan ifodani maketga chiqaradi. Resurs bo'yicha guruhlangan boshqa resurslar uchun oddiy resurs ifodalari qaytariladi. Agar parametr "Ierarxiya" ga o'rnatilgan bo'lsa, u holda ifoda asosiy ierarxik yozuv uchun, agar mavjud bo'lsa, va agar asosiy ierarxik yozuv bo'lmasa, butun guruhlash uchun baholanishi kerak. Tartibni yaratuvchisi, Ierarxiya guruhi maydonida % uchun ifoda hosil qilganda, Ierarxiya hisob turiga ega joriy guruhlash uchun hisoblanayotgan resurs ifodasi uchun resurs ifodasining CalculateExpression funksiyasiga munosabatini o'z ichiga olgan ifoda hosil qiladi.
  • Boshlash. Hisoblash kerak bo'lgan parcha qaysi yozuvdan boshlanishi kerakligini ko'rsatadi agregat funktsiyalari ifodalar va qaysi yozuvdan jamlangan funktsiyalardan tashqari maydon qiymatlarini olish. Quyidagilardan birini o'z ichiga olgan qator:
    • "Birinchi" Birinchi guruhlash yozuvini olish kerak. Qavs ichidagi so'zdan keyin siz iborani belgilashingiz mumkin, uning natijasi guruhlash boshidan ofset sifatida ishlatiladi. Olingan qiymat noldan katta 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. Misol uchun, agar 3 ta yozuv bo'lsa va siz First(4) ni olishni istasangiz, unda hech qanday yozuv yo'q deb hisoblanadi.
    • "Oxirgi" Siz oxirgi guruhlash yozuvini olishingiz kerak. Qavs ichidagi so'zdan keyin siz iborani belgilashingiz mumkin, uning natijasi guruhlash oxiridan ofset sifatida ishlatiladi. Olingan qiymat noldan katta butun son bo'lishi kerak. Masalan, Oxirgi (3) - guruh oxiridan uchinchi rekordni olish. Agar oxirgi rekord guruhlashdan tashqariga chiqadi, hech qanday yozuvlar yo'q deb hisoblanadi. Misol uchun, agar 3 ta yozuv mavjud bo'lsa va siz Oxirgi (4) ni olishni istasangiz, unda hech qanday yozuv yo'q deb hisoblanadi.
    • "Oldingi" Oldingi guruhlash rekordini olishingiz kerak. Qavs ichidagi so'zdan keyin siz iborani belgilashingiz mumkin, uning natijasi joriy guruhlash yozuvidan orqaga siljish sifatida ishlatiladi. Masalan, Oldingi(2) – oldingi yozuvdan oldingisini olish. Agar oldingi yozuv guruhlashdan tashqarida bo'lsa (masalan, ikkinchi guruhlash yozuvi Oldingi(3) ni olishni talab qiladi), u holda birinchi guruhlash yozuvi olinadi. Guruhlash jami bo'yicha oldingi rekordni olishda birinchi yozuv olinadi.
    • "Keyingisi" Keyingi guruhlash yozuvini olishingiz kerak. Qavs ichidagi so'zdan keyin siz iborani belgilashingiz mumkin, uning natijasi joriy guruhlash yozuvidan oldinga siljish sifatida ishlatiladi. Masalan, Keyingi (2) - keyingi yozuvdan keyingisini olish. Agar keyingi yozuv guruhlashdan tashqariga chiqsa, unda yozuvlar yo'q deb hisoblanadi. Misol uchun, agar 3 ta yozuv bo'lsa va uchinchi yozuv "Keyingi" ni qabul qilsa, unda hech qanday yozuv yo'q deb hisoblanadi. Guruhlash jami bo'yicha keyingi yozuv olinganda, hech qanday yozuv yo'q deb hisoblanadi.
    • "Hozirgi". Siz joriy yozuvni olishingiz kerak. Guruhlash jami uchun olinganda birinchi yozuv olinadi.
    • "Chegaraviy qiymat". Belgilangan qiymat bo'yicha yozuvni olish zarurati. Qavslar ichidagi LimitingValue so'zidan keyin siz fragmentni boshlamoqchi bo'lgan qiymati bilan ifodani birinchi tartiblash maydonini ko'rsatishingiz kerak. Buyurtma maydoni qiymati belgilangan qiymatdan katta yoki unga teng bo'lgan birinchi yozuv yozuv sifatida qaytariladi. Misol uchun, agar Davr maydoni buyurtma maydoni sifatida ishlatilsa va u 01/01/2010, 02/01/2010, 03/01/2010 qiymatlariga ega bo'lsa va siz LimitingValue(DateTime(2010)) ni olishni istasangiz , 1, 15)), keyin 02/01 sanali yozuv olinadi. 2010 yil.
  • Oxiri. Fragmentni qaysi yozuvga davom ettirish kerakligini, unda yig'ma ifodani hisoblash kerakligini ko'rsatadi. Quyidagilardan birini o'z ichiga olgan qator:
    • "Birinchi"
    • "Oxirgi"
    • "Oldingi"
    • "Keyingisi"
    • "Hozirgi".
    • "Chegaraviy qiymat".
  • Tartiblash. Vergul bilan ajratilgan iboralar ro'yxati, ular yo'nalishi bo'yicha ketma-ketlik tartiblanishi kerak bo'lgan qator. Agar ko'rsatilmagan bo'lsa, unda tartiblash ifoda baholanadigan guruhlash bilan bir xil tarzda amalga oshiriladi. Har bir ifodadan keyin siz belgilashingiz mumkin kalit so'z Asc, o'sish tartibida tartiblash uchun, Kamayish bo'yicha, kamayib borayotgan tartibda tartiblash uchun, Avtomatik tartib, havola qilinayotgan ob'ektga buyurtma bermoqchi bo'lgan maydonlar bo'yicha mos yozuvlar maydonlarini tartiblash uchun. Avtomatik tartib so'zi ham Osish so'zi, ham kamayish so'zi bilan ishlatilishi mumkin.
  • Ierarxik saralash. Saralash bilan o'xshash. Ierarxik yozuvlarni tashkil qilish uchun foydalaniladi. Agar ko'rsatilmagan bo'lsa, tartib tuzuvchisi Saralash parametrida ko'rsatilgan tartib bo'yicha tartibni yaratadi.
  • Buyurtmaning bir xil qiymatlarini qayta ishlash. Quyidagilardan birini o'z ichiga olgan qator:
    • "Birgalikda" - oldingi va keyingi yozuvlarni aniqlash uchun tartiblangan yozuvlar ketma-ketligidan foydalanilishini anglatadi;
    • "Alohida-alohida" oldingi va keyingi yozuvlar tartib ifodalarining qiymatlari asosida aniqlanishini anglatadi;
    Misol uchun, natijada olingan ketma-ketlik sana bo'yicha tartiblangan bo'lsa:
    1. 2001 yil 01 yanvar Ivanov M. 10
    2. 2001 yil 02 yanvar Petrov S. 20
    3. 2001 yil 02 yanvar Sidorov R. 30
    4. 2001 yil 03 yanvar Petrov S. 40
    "Alohida" buyrug'ining bir xil qiymatlarini qayta ishlashdan foydalanganda, 3-rekord uchun oldingisi 2-yozuv, "Birgalikda" dan foydalanganda - 1-rekord bo'ladi. Va "Alohida" uchun 2-rekord uchun joriy yozuv uchun fragment. rekord 2 bo'ladi va "Birgalikda" uchun - 2 va 3 yozuvlar. Shunday qilib, "Alohida" uchun joriy rekord uchun jami 20 bo'ladi, va "Birga" uchun - 50. "Birgalikda" Boshlash va belgilangan bo'lsa. Yakuniy parametrlarda siz "Birinchi", "Oxirgi", "Oldingi", "Keyingi" pozitsiyalari uchun ofsetni belgilay olmaysiz. Standart qiymat - "Alohida".
Misol:
Guruhlash yozuvining "Sotuvlar miqdori" maydoni uchun summaning butun maketdagi bir xil maydon miqdoriga nisbatini olish:
Sum(Sotuv.SumOborot) / Hisoblash Ifodasi("Sum(Sotish.SumOborot)", "Jami").

Ushbu misol joriy ierarxiya qiymatini hisoblab chiqadi:
Tanlov
Level() > 0 bo'lganda
Keyin EvaluateExpression("Ma'lumotnoma", "Ierarxiya")
Aks holda Null
Oxiri

Eslatmalar:
Funktsiya guruhlarni tanlashni hisobga oladi, lekin ierarxik tanlovlarni hisobga olmaydi. Funktsiyani ushbu guruhlashning guruh tanlashda guruhlash uchun qo'llash mumkin emas. Masalan, Nomenklatura guruhini tanlashda siz CalculateExpression("Sum(SumTurnover)", "TotalTotal") > 1000 ifodasidan foydalana olmaysiz. Ammo bunday ibora ierarxik tanlashda ishlatilishi mumkin. Agar yakuniy yozuv boshlang'ich yozuvdan oldin bo'lsa, unda batafsil ma'lumotlarni hisoblash va agregat funktsiyalarni hisoblash uchun yozuvlar mavjud emas deb hisoblanadi. Umumiy jami uchun intervalli ifodalarni hisoblashda (Guruhlash parametri "GrossTotal" ga o'rnatiladi), batafsil ma'lumotlarni hisoblash va agregat funktsiyalarni hisoblash uchun hech qanday yozuvlar mavjud emas deb taxmin qilinadi. CalculateExpression funksiyasi uchun ifoda yaratishda tartib tuzuvchisi, agar tartib ifodasi guruhlashda ishlatib bo'lmaydigan maydonlarni o'z ichiga olsa, CalculateExpression funksiyasini NULL bilan almashtiradi.

3. Guruh massivi bilan ifodani baholash (Guruh massivi bilan EvalExpression) - funktsiya massivni qaytaradi, uning har bir elementi belgilangan maydon bo'yicha guruhlash uchun ifodani hisoblash natijasini o'z ichiga oladi.

Sintaksis:
CalculateExpressionWithGroupArray (Ifoda, GroupFieldExpressions, SelectRecords, SelectGroups)

Variantlar:

  • Ifoda(String) - baholanadigan ifoda. Masalan, "Amount(AmountTurnover)";
  • FieldExpressions Groups
  • Yozuvlarni tanlash
  • Guruhlarni tanlash- guruh yozuvlariga qo'llaniladigan tanlov. Misol uchun: "Miqdor (AmountTurnover) > &Parameter1".
Misol:
Maksimal(CalculateExpressionWithGroupArray("Miqdor(summa aylanma)", "Qarshi tomon"));


Tartibni yaratuvchisi, ifodasi faqat CalculateArrayWithGroup funksiyasini o'z ichiga olgan maxsus maydonni ko'rsatish uchun iboralarni yaratishda, displey ma'lumotlari va ma'lumotlar tartiblangan tarzda chiqish ifodasini yaratadi.
Misol uchun, ifoda bilan maxsus maydon uchun:
CalculateExpressionWithGroupArray("Miqdor(summa aylanma)", "Qarshi tomon")
Tartib yaratuvchisi chiqish uchun quyidagi ifodani yaratadi:
Ulanish qatorlari(Masiv(Buyurtma(IfodaniGuruhlashValueTable bilan hisoblash("Ko'rish(Sum(Ma'lumotlar to'plami.AmountTurnover)), Miqdor(DataSet.AmountTurnover)", "DataSet.Account"), "2")))

4. GroupValueTable bilan ifodani hisoblang (EvalExpressionWithGroupValueTable) - funktsiya qiymatlar jadvalini qaytaradi, uning har bir elementi belgilangan maydon bo'yicha guruhlash uchun ifodani hisoblash natijasini o'z ichiga oladi.

Sintaksis:
CalculateExpressionWithGroupValueTable (Ifoda, GroupField ifodalari, Yozuvlarni tanlash, Guruh tanlash)

Variantlar:

  • Ifoda(String) - baholanadigan ifoda. Bir qator vergul bilan ajratilgan bir nechta iboralarni o'z ichiga olishi mumkin. Har bir ifodadan keyin ixtiyoriy AS kalit so'zi va qiymatlar jadvali ustunining nomi bo'lishi mumkin. Misol uchun: "Qarshi tomon, Sotish hajmi sifatida summa (aylanma summasi)."
  • FieldExpressions Groups- vergul bilan ajratilgan guruhlash maydonlarining ifodalari. Masalan, "Qarshi tomon, partiya";
  • Yozuvlarni tanlash- batafsil yozuvlarga qo'llaniladigan ifoda. Masalan, "O'chirish bayrog'i = noto'g'ri." Agarda bu parametr agregat funksiyasi ishlatiladi, ma'lumotlarni tuzishda xatolik yuzaga keladi;
  • Guruhlarni tanlash- guruh yozuvlariga qo'llaniladigan tanlov. Misol uchun: "Miqdor (AmountTurnover) > &Parameter1".
Misol:
Qiymatlarni guruhlash jadvali bilan ifodani hisoblang ("Qarama-qarshi tomon hisobi, sotuv hajmi AS miqdori (aylanma summasi), "hisob")

Ushbu funktsiyaning natijasi kontragentlar va sotish hajmi ustunlari bo'lgan qiymatlar jadvali bo'ladi, unda ularning savdo hajmlari bilan kontragentlar mavjud.
Tartib tuzuvchisi tartibni yaratishda funksiya parametrlarini ma'lumotlar tarkibini joylashtirish maydonlari shartlariga aylantiradi. Masalan, Hisob maydoni DataSet.Account ga aylantiriladi.
Masalan, quyidagi ifodali maxsus maydon:
CalculateExpressionWithGroupValueTable("Hisob, summa(aylanma summasi), "Hisob")
Tartib yaratuvchisi chiqish uchun quyidagi ifodani yaratadi:
ConnectRows(GetPart(Order(CalculateExpressionWithGroupingValueTable("DataSet.Account, DataSet.AccountRepresentation, Sum(DataSet.AmountTurnover), Koʻrish(DataSet.AmountTurnover), DataSet.OrderingSet ",3","Dacount),"."Dac ), "2, 4"))

5. Daraja - funksiya joriy yozish darajasini olish uchun mo'ljallangan.

Sintaksis:
Daraja()

Misol:
Daraja()

6. SequenceNumber - keyingi seriya raqamini oling.

Sintaksis:
NumberByOrder()

Misol:
NumberByOrder()

7. SequenceNumberInGrouping - joriy guruhlashda keyingi tartib raqamini qaytaradi.

Misol:
NumberByOrderInGroup()

8. Format - o'tkazilgan qiymatning formatlangan qatorini olish.

Sintaksis:
Format (qiymat, FormatString)

Variantlar:

  • Ma'nosi- formatlanishi kerak bo'lgan ifoda;
  • FormatString- format qatori mos ravishda o'rnatiladi format qatori 1C: Korxona.
Misol:
Format(Invoices.Doc Sumi, "NPV=2")

9. BeginOfPeriod

Sintaksis:
Boshlanish davri (sana, davr turi)

Variantlar:

  • sana(Sana). Belgilangan sana;
  • Davr turi
Misol:
Boshlanish davri(Sana vaqti (2002, 10, 12, 10, 15, 34), "Oy")
Natija: 10.01.2002 0:00:00

10. EndOfPeriod - funksiya berilgan sanadan ma'lum bir sanani tanlash uchun mo'ljallangan.

Sintaksis:
EndPeriod(sana, davr turi)

Variantlar:

  • sana(Sana). Belgilangan sana;
  • Davr turi(Chiziq). Quyidagi qiymatlardan birini o'z ichiga oladi: Minute; soat; kun; Bir hafta; Oy; chorak; Yil; o'n yil; Yarim yil.
Misol:
EndPeriod(SanaVaqti(2002, 10, 12, 10, 15, 34), "Hafta")
Natija: 13.10.2002 23:59:59

11. AddKDate (Sana qoʻshish) - funksiya sanaga ma'lum qiymat qo'shish uchun mo'ljallangan.

Sintaksis:
AddToDate(Ifoda, IncrementType, Magnitude)

Variantlar:

  • Ifoda(Sana). Asl sana;
  • Kattalashtirish turi(Chiziq). Quyidagi qiymatlardan birini o'z ichiga oladi: Minute; soat; kun; Bir hafta; Oy; chorak; Yil; o'n yil; Yarim yil.
  • Kattalik(Raqam). Sanani qancha ko'paytirish kerak bo'lsa, kasr qismi e'tiborga olinmaydi.
Misol:
AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Oy", 1)
Natija: 11/12/2002 10:15:34

12. Sana farqi - funksiya ikki sana o'rtasidagi farqni olish uchun mo'ljallangan.

Sintaksis:
DifferenceSana(Ifoda1, Ifoda2, Farq turi)

Variantlar:

  • Ifoda 1(Sana). Chiqarilgan sana;
  • Ifoda 2(Sana). Asl sana;
  • Turi farqi(Chiziq). Qiymatlardan birini o'z ichiga oladi: Ikkinchidan; daqiqa; soat; kun; Oy; chorak; Yil.
Misol:
DATEFARQI(DATETIME(2002, 10, 12, 10, 15, 34),
DATETIME (2002, 10, 14, 9, 18, 06), “KUN”)
Natija: 2

13. Substring - bu funksiya satrdan pastki qatorni chiqarish uchun mo'ljallangan.

Sintaksis:
Substring(String, Position, Length)

Variantlar:

  • Chiziq(Chiziq). Pastki satr olinadigan satr;
  • Lavozim(Raqam). Qatordan ajratib olinadigan pastki satr boshlanadigan belgining pozitsiyasi;
  • Uzunlik(Raqam). Ajratilgan pastki qatorning uzunligi.
Misol:
SUBSTRING(Hisoblar.Manzil, 1, 4)

14. StringLength - funksiya satr uzunligini aniqlash uchun mo'ljallangan.

Sintaksis:
StringLength(String)

Parametr:

  • Chiziq(Chiziq). Uzunligi aniqlangan ip.
Misol:
Chiziq(Qarshi tomonlar.Manzil)

15. Yil- bu funksiya Sana turi qiymatidan yilni chiqarish uchun mo'ljallangan.

Sintaksis:
Yil (sana)

Parametr:

  • sana(Sana). Yil belgilangan sana.
Misol:
YIL(Xarajat.Sana)

16. Chorak - bu funksiya Sana turi qiymatidan chorak raqamni chiqarish uchun mo'ljallangan. Chorak soni odatda 1 dan 4 gacha.

Sintaksis:
Chorak (sana)

Parametr:

  • sana(Sana). Chorak belgilangan sana
Misol:
CHORAK(Xarajat.Sana)

17. Oy - bu funksiya Sana turi qiymatidan oy raqamini chiqarish uchun mo'ljallangan. Oy soni odatda 1 dan 12 gacha.

Sintaksis:
Oy (sana)

Parametr:

  • sana(Sana). Oy belgilangan sana.
Misol:
MONTH(Xarajat.Sana)

18. Yil kuni (DayOfYear) - bu funksiya Sana turi qiymatidan yil kunini olish uchun mo'ljallangan. Yilning kuni odatda 1 dan 365 (366) gacha bo'ladi.

Sintaksis:
Yil kuni (sana)

Parametr:

  • sana(Sana). Yilning kuni aniqlanadigan sana.
Misol:
DAYYEAR(Xarajat hisobi.Sana)

19. kun- bu funksiya Sana turi qiymatidan oy kunini olish uchun mo'ljallangan. Oyning kuni odatda 1 dan 31 gacha.

Sintaksis:
Kun (sana)

Parametr:

  • sana(Sana). Oyning kuni aniqlangan sana.
Misol:
KUN(Xarajat.Sana)

20. Hafta - bu funksiya Sana turi qiymatidan yilning hafta raqamini olish uchun mo'ljallangan. Yilning haftalari 1 dan boshlab raqamlangan.

Sintaksis:
Hafta(sana)

Parametr:

  • sana(Sana). Hafta raqamlari aniqlanadigan sana.
Misol:
HAFTA(Xarajat.Sana)

21. Hafta kuni - bu funksiya Sana turi qiymatidan haftaning kunini olish uchun mo'ljallangan. Haftaning oddiy kuni 1 (dushanba) dan 7 (yakshanba) gacha.

Sintaksis:
Hafta kuni (sana)

Parametr:

  • sana(Sana). Haftaning kuni belgilanadigan sana.
Misol:
HAFTA KUNI (Xarajat. Sana)

22. Soat- bu funksiya Sana turi qiymatidan kun soatini olish uchun mo'ljallangan. Kunning soati 0 dan 23 gacha.

Sintaksis:
Soat(sana)

Parametr:

  • sana(Sana). Kunning soati belgilanadigan sana.
Misol:
HOUR(Xarajat.Sana)

23. daqiqa - bu funksiya Sana turi qiymatidan soatning daqiqasini olish uchun mo'ljallangan. Soatning daqiqasi 0 dan 59 gacha.

Sintaksis:
Daqiqa(sana)

Parametr:

  • sana(Sana). Soatning daqiqasi aniqlangan sana.
Misol:
MINUTE(Xarajat.Sana)

24. Ikkinchi - bu funksiya Sana tipidagi qiymatdan daqiqaning soniyasini olish uchun mo'ljallangan. Bir daqiqaning soniyasi 0 dan 59 gacha.

Sintaksis:
Ikkinchi (sana)

Parametr:

  • sana(Sana). Daqiqaning soniyalari aniqlanadigan sana.
Misol:
SECOND(Xarajat.Sana)

25. Aktyorlar - bu funksiya birikma turini o'z ichiga olishi mumkin bo'lgan ifodadan turni chiqarish uchun mo'ljallangan. Agar ifoda talab qilinadigan turdan boshqa turga ega bo'lsa, NULL qaytariladi.

Sintaksis:
Ekspres (ifoda, turni ko'rsatish)

Variantlar:

  • Ifoda- konvertatsiya qilinadigan ifoda;
  • Tur ko'rsatkichi(Chiziq). Tur qatorini o'z ichiga oladi. Masalan, "Raqam", "String" va boshqalar. Ibtidoiy turlardan tashqari berilgan qator jadval nomini o'z ichiga olishi mumkin. Bunday holda, ko'rsatilgan jadvalga havolani ifodalashga harakat qilinadi.
Misol:
Ekspres(Data.Props1, "Raqam(10,3)")

26. IsNull (IsNull) - agar birinchi parametrning qiymati NULL bo'lsa, bu funksiya ikkinchi parametrning qiymatini qaytaradi. Aks holda, birinchi parametrning qiymati qaytariladi.

Sintaksis:
IsNull(Ifoda1, Ifoda2)

Variantlar:

  • Ifoda 1- tekshirilishi kerak bo'lgan qiymat;
  • Ifoda 2- ifoda 1 NULL bo'lsa, qiymatni qaytaradi.
Misol:
HaNULL(Miqdor(Sotuv.Miqdori), 0)

27.ACos- radyanlarda yoy kosinusini hisoblaydi.

Sintaksis:
ACos (ifoda)

Parametr:

  • Ifoda(Raqam). Burchak aniqlanadigan kosinus qiymati (-1 ... 1 oralig'ida).
28.ASin- radianlarda arksinusni hisoblaydi.

Sintaksis:
ASin (ifoda)

Parametr:

  • Ifoda(Raqam). Burchak aniqlanadigan sinus qiymati (-1 ... 1 oralig'ida).
29. ATan- radianlarda arttangensni hisoblaydi.

Sintaksis:
ATan(ifoda)

Parametr:

  • Ifoda(Raqam). Burchak aniqlanadigan tangens qiymati.
30. Cos- kosinusni hisoblaydi.

Sintaksis:
Cos (ifoda)

Parametr:

  • Ifoda
31. Exp- e sonini bir darajaga ko'tarish.

Sintaksis:
Exp (ifoda)

Parametr:

  • Ifoda(Raqam). Darajaning ma'nosi.
32. Jurnal- natural logarifmni hisoblaydi.

Sintaksis:
Jurnal (ifoda)

Parametr:

  • Ifoda
33. Jurnal 10- X ning 10 asosiga logarifmini hisoblaydi.

Sintaksis:
Log10 (ifoda)

Parametr:

  • Ifoda(Raqam). Asl raqam 0 dan katta.
34. Pow- eksponentatsiya.

Sintaksis:
Pow (asosiy, ko'rsatkich)

Variantlar:

  • Baza(Raqam). Ko'rsatkichlar operatsiyasining asosi.
  • Indeks(Raqam). Ko'rsatkich.
35. Gunoh- sinusni hisoblaydi.

Sintaksis:
Gunoh (ifoda)

Parametr:

  • Ifoda(Raqam). Radianlarda ko'rsatilgan.
36. Sqrt- kvadrat ildizni hisoblaydi.

Sintaksis:
Sqrt (ifoda)

Parametr:

  • Ifoda(Raqam). Salbiy bo'lmagan raqam.
37. Tan- tangensni hisoblaydi.

Sintaksis:
Tan(ifoda)

Parametr:

  • Ifoda(Raqam). Burchak aniqlanadigan sinus qiymati.
38. Dumaloq- original raqamni kerakli bit chuqurligiga yaxlitlaydi. Yaxlitlash rejimi standart (1,5 sifatida 2).

Sintaksis:
Env (ifoda, bit chuqurligi)

Variantlar:

  • Ifoda(Raqam). Asl raqam;
  • Bit chuqurligi(Raqam). Yaxlitlash uchun kasrlar soni.
39. Int- sonning kasr qismini kesadi.

Sintaksis:
Ob'ekt (ifoda)

Parametr:

  • Ifoda(Raqam). Kasr son.
40. Umumiy modullarning funksiyalari

Ma'lumotlar kompozitsiyasi mexanizmi ifodasi global umumiy konfiguratsiya modullarining funksiyalariga qo'ng'iroqlarni o'z ichiga olishi mumkin. Bunday funktsiyalarni chaqirish uchun qo'shimcha sintaksis talab qilinmaydi.

Misol:
Qisqartirilgan ism(Hujjatlar.Link, Hujjatlar.Sana, Hujjatlar.Raqam)

Ushbu misolda "QisqartirilganName" funksiyasi umumiy konfiguratsiya modulidan chaqiriladi.
E'tibor bering, umumiy modul funktsiyalaridan foydalanishga faqat tegishli ma'lumotlar tarkibi protsessor parametri ko'rsatilgan taqdirdagina ruxsat beriladi.
Bundan tashqari, umumiy modullarning funksiyalaridan maxsus maydon ifodalarida foydalanish mumkin emas.

41. Norozilik - bu funksiya ibtidoiy bo'lmagan turdagi o'tkazilgan qiymatning satr tasvirini qaytaradi. Primitiv turdagi qiymatlar uchun qiymatning o'zini qaytaradi.

<Пустое значение>".

Misol:
Taqdimot (kontragent)

42. String - bu funksiya uzatilgan qiymatni satrga aylantiradi.

Agar parametr sifatida massiv yoki qiymatlar jadvali ishlatilsa, funktsiya ";" belgilari bilan ajratilgan massivning barcha elementlarining qator ko'rinishini o'z ichiga olgan qatorni qaytaradi. Agar biron bir elementda bo'sh satr tasviri bo'lsa, u holda satr "<Пустое значение>".

Misol:
Qator (Sotish sanasi)

43. ValueIsFilled

NULL qiymatlar uchun Undefined har doim False qiymatini qaytaradi.
Mantiqiy qiymatlar uchun u har doim True ni qaytaradi.
Boshqa turlar uchun, agar qiymat standart qiymatdan farq qilsa, True qiymatini qaytaradi bu turdagi.

Misol:
ValueFilled(Etkazib berish sanasi)

44. LevelInGroup - bu funksiya guruhlashtirishga nisbatan joriy yozish darajasini oladi.

Ierarxik guruhlashda yozuvning joylashtirish darajasini olish uchun foydalanish mumkin.

Misol:
LevelInGroup()

45. Qiymat turi

Sintaksis:
ValueType(Ifoda)

Parametr:

  • Ifoda(Chiziq). String qiymati turi.
Funktsiya parametrining qiymat turini o'z ichiga olgan Type turidagi qiymatni qaytaradi.

Saytga talaba sifatida kiring

Maktab materiallariga kirish uchun talaba sifatida tizimga kiring

Yangi boshlanuvchilar uchun ma'lumotlar tarkibi tizimi 1C 8.3: natijalarni hisoblash (resurslar)

Ushbu darsning maqsadi:

  • Mahsulotlar ro'yxati (Oziq-ovqat ma'lumotnomasi), ularning kaloriya tarkibi va ta'mini ko'rsatadigan hisobot yozing.
  • Mahsulotlarni rangi bo'yicha guruhlang.
  • Xulosa (resurslar) va hisoblangan maydonlar haqida bilib oling.

Yangi hisobot yarating

Oldingi darslarda bo'lgani kabi, biz ma'lumotlar bazasini ochamiz " gastronom"konfiguratorda va menyu orqali yangi hisobot yarating" Fayl"->"Yangi...":

Hujjat turi - tashqi hisobot:

Hisobotni o'rnatish shaklida, nomini yozing " 3-dars"va tugmasini bosing" Ochiq ma'lumotlar tarkibi diagrammasi":

Standart sxema nomini qoldiring va " Tayyor":

Konstruktor orqali so'rov qo'shish

Yorliqda " Ma'lumotlar to'plami" bosing yashil plyus belgilang va "ni tanlang" Ma'lumotlar to'plamini qo'shish - so'rov":

So'rov matnini qo'lda yozish o'rniga, biz uni qayta ishga tushiramiz so'rov konstruktori:

"tabda" Jadvallar"stolni torting" Ovqat" birinchi ustundan ikkinchisiga:

Jadvaldan tanlang " Ovqat"biz so'raladigan maydonlar. Buning uchun maydonlarni sudrab olib tashlang" Ism", "Ta'mi", "Rang"Va" Kaloriya tarkibi" ikkinchi ustundan uchinchi ustungacha:

Bu shunday chiqdi:

"tugmasini bosing KELISHDIKMI" - so'rov matni avtomatik ravishda yaratildi:

Hisobot taqdimoti sozlamalarini yaratish

Yorliqga o'ting " Sozlamalar" va ustiga bosing sehrli tayoq, qo'ng'iroq qilmoq sozlash dizayneri:

Hisobot turini tanlang " Roʻyxat..." va "tugmasini bosing" Keyinchalik":

Ro'yxatda ko'rsatiladigan maydonlarni chap ustundan o'ngga torting va "ni bosing. Keyinchalik":

Chap ustundan o'ng maydonga torting " Rang"- bo'ladi guruhlash hisobotdagi qatorlar. ni bosing KELISHDIKMI":

Va bu erda dizaynerning ishining natijasi. Hisobotimiz ierarxiyasi:

  • umuman hisobot
  • guruhlash "Rang"
  • batafsil yozuvlar - oziq-ovqat nomlari bilan chiziqlar

Hisobotni saqlang (tugmasi disket) Va yopmasdan Biz darhol konfiguratorni foydalanuvchi rejimida ochamiz. Bu shunday chiqdi:

Ustunlar tartibini o'zgartirish

Lekin qilaylik keling, tartibni o'zgartiramiz ustunlar (yuqoriga va pastga strelkalar), shunday qilib u quyidagi rasmga o'xshaydi:

Keling, hisobotni saqlaymiz va uni foydalanuvchi rejimida qayta ochamiz:

Ajoyib, bu ancha yaxshi.

Keling, kaloriya tarkibini umumlashtiramiz

Oziq-ovqatlarning kaloriya tarkibini guruh bo'yicha umumlashtirish yaxshi bo'lardi. Barcha mahsulotlarning kaloriya miqdorini ko'rish uchun, masalan, oq yoki sariq. Yoki ma'lumotlar bazasidagi barcha mahsulotlarning umumiy kaloriya tarkibini bilib oling.

Shu maqsadda resurslarni hisoblash mexanizmi mavjud.

Yorliqga o'ting " Resurslar"va maydonni torting" Kaloriya tarkibi"(biz uni umumlashtiramiz) chap ustundan o'ngga.

Bunday holda, maydonda ochiladigan ro'yxatdan ifodani tanlang " Miqdori (kaloriya)", chunki jami jamiga kiritilgan barcha elementlarning yig'indisi bo'ladi:

Biz hisobotni saqlaymiz va yaratamiz:

Endi bizda har bir guruh va umuman hisobot uchun natijalar mavjud.

Keling, kaloriyalar bo'yicha (o'rtacha) xulosa qilaylik

Endi uni boshqa ustunda ko'rsatamiz o'rtacha mahsulotlarning kaloriya tarkibi guruhlar bo'yicha va umuman hisobotda.

Siz mavjud "Kaloriya" ustuniga tegolmaysiz - unda jami allaqachon ko'rsatilgan, shuning uchun boshqa maydon yarataylik, bu "Kaloriya" maydonining aniq nusxasi bo'ladi.

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

Yorliqga o'ting " Hisoblangan maydonlar" va bosing yashil ortiqcha belgisi:

Ustun ichida " Ma'lumotlar yo'li"biz yangi maydon nomini yozamiz ( muammosiz, bo'shliqlarsiz). Uni chaqirilsin" O'rtacha kaloriya tarkibi", va" ustunida Ifoda"Biz yangi maydon hisoblab chiqiladigan mavjud maydon nomini yozamiz. Biz u erda yozamiz " Kaloriya tarkibi". Ustun" Sarlavha" avtomatik ravishda to'ldiriladi.

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

Keling buni bajaramiz ikkinchi yo'l. Buning uchun yorlig'iga o'ting " Sozlamalar", tanlang " Hisobot"(oxir-oqibat, biz hisobotga butun maydonni qo'shmoqchimiz), pastki qismidagi yorliqni tanlang" Tanlangan maydonlar"va maydonni torting" O'rtacha kaloriya tarkibi"chap ustundan o'ngga:

Bu shunday chiqdi:

Biz hisobotni saqlaymiz va yaratamiz:

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

Buning uchun biz yana bizga tanish bo'lgan mexanizmdan foydalanamiz resurslar(jamlash). Yorliqga o'ting " Resurslar"va maydonni torting" O'rtacha kaloriya tarkibi"chap ustundan o'ngga:

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

Biz hisobotni saqlaymiz va yaratamiz:

Guruhlar uchun, ya'ni har bir rang uchun va umuman hisobot uchun o'rtacha qiymat mutlaqo to'g'ri hisoblanganligini ko'ramiz. Ammo ular mavjud qo'shimcha yozuvlar hisobotdan olib tashlamoqchi bo'lgan alohida mahsulotlar (guruhlar emas) uchun.

Bilasizmi, ular nima uchun paydo bo'lgan (qiymatlar guruh bo'yicha emas)? Chunki biz maydonni qo'shganimizda " O'rtacha kaloriya tarkibi"hisobot sozlamalarida, ikkinchi bosqichda biz tanladik butun hisobot va bu yangi maydon elementda tugadi " Batafsil yozuvlar".

Keling, xatoni tuzataylik. Buning uchun tabga qayting " Sozlamalar", tanlang " Batafsil yozuvlar"avval yuqoridan (2-bosqich) va keyin" Batafsil yozuvlar"pastdan (3-bosqich), xatcho'pga o'ting" Tanlangan dalalar"va biz uning o'ng ustunida elementni ko'ramiz" Avtomatik".

Element " Avtomatik" - bu bitta maydon emas. Bular yuqori darajadagi sozlamalar asosida avtomatik ravishda tushadigan bir nechta maydonlardir.

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

Element " Avtomatik" quyidagi sohalarga kengaytirildi:

Va bu bizning maydonimiz" O'rtacha kaloriya tarkibi"Bu yerdan kelgan" Hisobot"Biz uni u erga sudrab kelganimizda. Shunchaki olib tashlaymiz uning chiqishini olib tashlash uchun ushbu maydon yonidagi katakchani belgilang.

Ma'lumotlar tarkibi sxemasidan (DCS) to'g'ri foydalanish sizga quyidagilarga imkon beradi:

  • hisobotni ishlab chiqish uchun zarur bo'lgan vaqtni sezilarli darajada qisqartirish;
  • yaratish zaruratidan xalos bo'ling boshqariladigan shakl protsessor;
  • imkoniyat bilan chiroyli natijaga erishing qo'shimcha sozlamalar foydalanuvchi.

Ammo barcha ishlab chiquvchilar sxemaning imkoniyatlaridan maksimal darajada foydalanmaydilar, chunki uning barcha sozlamalari aniq va intuitiv emas. Xususan, ko'p odamlar 1C SKD da hisoblangan maydonlar mavjudligini bilishadi, ammo ular ulardan foydalanish ko'lamini va ular bilan ishlash usullarini to'liq tushunmaydilar.

Hisoblangan maydon nima

Ko'pgina hollarda, tartib diagrammasidagi ma'lumotlar manbai so'rovdir. Aslida, so'rovning o'zida siz allaqachon turli formulalar, konstruktsiyalar va ifodalardan foydalanishingiz mumkin. Tabiiy savol tug'iladi: nega bizga takroriy funksiyalar kerak?

Haqiqat shundaki, kirishni boshqarish tizimi so'rov natijasini ko'rsatishdan ko'ra ko'proq narsadir va bu diagramma yaratish shaklidan aniq ko'rinadi (1-rasm).

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

  • Bir nechta satrlarni bittaga birlashtirib, so'rov bo'yicha olingan ma'lumotlar majmuasini ma'lum bir katakchaga chiqarish;
  • Umumiy modulning eksport funksiyalariga kirish;
  • Tartib tili uchun mavjud bo'lgan turli iboralarni bajaring va maxsus EvaluateExpression funksiyalaridan foydalaning.

Keling, ushbu ro'yxatni ko'rib chiqaylik.

Bir katakdagi qiymatlar massivi

Keling, kontragent uchun barcha kvitansiya hujjatlari raqamlarini alohida katakchada olish zarur bo'lgan vaziyatni taqlid qilaylik:


Shunday qilib, biz sxemamizda qo'shimcha hisoblash maydonini yaratdik;


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

Ikkinchisi haqida bir necha so'z. Massiv identifikatorini, qiymatlarni yoki qiymatni ko'rsatadigan birinchi parametrga qo'shimcha ravishda unda yana ikkitasini o'rnatish mumkin:

  1. Elementni ajratuvchi - qaysi belgi massivning bir elementini yoki qiymatlar jadvalining bir qatorini boshqasidan ajratishini ko'rsatadi (bizning holatlarimizda biz ushbu parametrni o'tkazib yubordik va sukut bo'yicha chiziq uzilishi tayinlangan);
  2. Ustunni ajratuvchi - qiymatlar jadvalining ustunlarini ajratish uchun ishlatiladigan belgi (sukut bo'yicha nuqta-vergul ishlatiladi).

Umumiy modulning eksport funksiyalariga kirish

Umumiy modulning funktsiyalari hisoblangan maydonni to'ldirish uchun ma'lumot manbai bo'lishi mumkin.

Biroz muhim nuqtalar:

  • Funktsiya eksport qilinadigan bo'lishi kerak;
  • Agar funktsiya "Global" atributlari to'plamiga ega bo'lgan umumiy modulda joylashgan bo'lsa, u to'g'ridan-to'g'ri nomi bilan chaqiriladi, aks holda funktsiya "Shared module name" sxemasiga muvofiq chaqirilishi kerak. "Chaqiriladigan funktsiyaning nomi."

Foydalanish misoli sifatida biz kvitansiya hujjatlari uchun bir xil so'rovni olamiz va uni alohida ustunda ko'rsatamiz. Biz so'rovning o'zini tasvirlamaymiz, to'g'ridan-to'g'ri hisoblangan maydonlarga o'tamiz:


Shunday qilib, biz deyarli har qanday ma'lumot protsessorini kirishni boshqarish tizimidan ishga tushirish mumkinligini ko'ramiz, bu sxemadan foydalanish imkoniyatlarini sezilarli darajada kengaytiradi.

Til ifodalarini joylashtirish

Ko'pincha ishlab chiquvchining ishida ACS maydonida bo'linish natijasini ko'rsatish zarur bo'lganda vaziyat yuzaga keladi:

  1. Ob'ektning o'rtacha narxini hisoblang;
  2. Barcha turdagi qiziqishlar;
  3. O'rtacha daromadni hisoblash va boshqalar.

Muammolarga yo'l qo'ymaslik uchun, bu holatlarda hisoblangan maydonga 0 ga bo'linish testini kiritish tavsiya etiladi.

Buni “Tanlash qachon…. Keyin… Aks holda… Tugatish” konstruktsiyasi yordamida amalga oshirish mumkin.

Nihoyat, etarli haqida bir necha so'z yangi xususiyat CalculateExpression(). Uning yordami bilan, xususan, joriy va oldingi chiziqlar o'rtasidagi xarajatdagi og'ishlarni, to'plangan balansni va boshqalarni hisoblashingiz mumkin.

Aytaylik, “Ifoda” maydonida Hisoblash ifodasi (“Hujjat yig‘indisi”, “Oldingi yig‘indi”) qiymatini ko‘rsatib, so‘rovimizning oldingi qatoridan Hujjat summasini olishingiz mumkin.

Xayrli kun, bizning blogimizning aziz o'quvchilari! Bugun men sizga haqiqiy misoldan foydalanib, qanday qilib aytmoqchiman
Array va JoinStrings ACS funksiyalaridan foydalaning. haqida maqolada

bilan ishlash haqida bir oz eslatib o'tilgan
xatcho'pda
, deb ham allaqachon izohlangan
"Resurslar" yorlig'i yordamida. Bugun biz yana bir bor shularga e'tibor qaratamiz
bizning mavzuimiz nuqtai nazaridan xatcho'plar.

Ikkita ACS funktsiyasidan foydalangan holda 1C hisoboti misolining ko'rinishi Massiv Va Ulanish qatorlari Keyingisi:

Array va JoinStrings ACS funksiyalaridan foydalanish muammosi bayoni

Vazifa: Bitta mahsulot uchun barcha savdo raqamlarini bitta katakka kiritishingiz kerak.

Shunga o'xshash narsa: nomenklatura | miqdori | 001, 002 va boshqalar. |

Biz "TMZ realizatsiyasi" jamg'arma registriga so'rovdan foydalanamiz.

TANLANG
TMZni amalga oshirish. Registrator. Raqam,
TMZni amalga oshirish. nomenklatura,
TMZni amalga oshirish. Registrator,
TMZni amalga oshirish. Oborot miqdori
FROM
Jamg'arma reestri. TMZni amalga oshirish. Inqiloblar
(, , Registrator, ) TMZni QANDAY QO'RGANISH MUMKIN

“TMZ realizatsiyasi” jamg‘arish registri ham Buxgalteriya hisobi konfiguratsiyasida, ham Savdo korxonasini boshqarish (UTP) konfiguratsiyasida mavjud. "Nomenklatura" katalog elementida USP ni qanday sozlashni bilib oling. Shuning uchun, yuklab olingandan so'ng, uning funksionalligini tekshirish uchun ushbu hisobotni ikkala konfiguratsiyada ham ishga tushirishingiz mumkin.

SKD Array va ConnectRows funksiyalaridan foydalangan holda vazifani bajarish


Xuddi shu qadamlar, lekin ba'zi qo'shimchalar bilan yaratish uchun ishlatilgan
.

JoinStrings funksiyasining tavsifi

JoinStrings

Satrlarni bir qatorga birlashtirish uchun ishlatiladi.

Sintaksis:

ConnectRows (Qiymat, ItemSeparator, ColumnSeparator)

Variantlar:

  1. Ma'nosi— bir qatorga birlashtirilishi kerak bo'lgan iboralar.
    Agar u Massiv bo'lsa, u holda massivning elementlari satrga birlashtiriladi.
    Agar bu ValueTable bo'lsa, jadvalning barcha ustunlari va satrlari bir qatorga birlashtiriladi;
  2. Elementni ajratuvchi- sifatida ishlatilishi kerak bo'lgan matnni o'z ichiga olgan qator
    massiv elementlari va qiymatlar jadvali qatorlari orasidagi ajratuvchi. Birlamchi – satr tasmasi belgisi;
  3. Ustunlarni ajratuvchilar-ajragich sifatida foydalaniladigan matnni o'z ichiga olgan qator
    qiymatlar jadvalining ustunlari orasida. Standart ";".

8.2.14 ning yaqinlashib kelayotgan versiyasini hisobga olgan holda, men ma'lumotlar kompozitsiyasi tizimining ba'zi yangi funktsiyalarini tasvirlashga harakat qilaman.

Tahrirlashni osonlashtirish uchun maʼlumotlar joylashuvi diagrammasini, yaxshisi tashqi hisobotda oching.

Biz so'rov turidagi ma'lumotlar to'plamini qo'shamiz va qo'lda yoki so'rovlar dizayneri yordamida oddiy so'rovni yozamiz:

1. Kirishni boshqarish tizimida so'rovni o'rnating.

2. Kirishni boshqarish tizimida hisoblangan maydonlarni o'rnating

3. Sozlamalar yorlig'ida ma'lumotlar tartibini sozlang

4. 1C Enterprise 8.2.14 ni ishga tushiring. Hisobotni oching. Biz shakllantiramiz, qabul qilamiz.

Yangi funktsiyalarning tavsifi:

1. Joriy sana()

Tizim sanasini qaytaradi. Joylashtirish tartibini tuzishda, maketda mavjud bo'lgan barcha ifodalarda CurrentDate() funksiyasi joriy sananing qiymati bilan almashtiriladi.

2. COMPUTEEXPRESSION()

Sintaksis:

Ifodani hisoblash(,)

Tavsif:

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

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

Funktsiyani ushbu guruhlashning guruh tanlashda guruhlash uchun qo'llash mumkin emas. Masalan, Nomenklatura guruhini tanlashda siz ifodadan foydalana olmaysiz Hisoblash ifodasi("Sum(summa aylanma)", "Jami jami") > 1000. Ammo bunday ibora ierarxik tanlashda ishlatilishi mumkin.

Agar yakuniy yozuv boshlang'ich yozuvdan oldin bo'lsa, unda batafsil ma'lumotlarni hisoblash va agregat funktsiyalarni hisoblash uchun yozuvlar mavjud emas deb hisoblanadi.

Umumiy summa uchun intervalli ifodalarni hisoblashda (Guruhlash parametri GrandTotal ga o'rnatiladi), batafsil ma'lumotlarni hisoblash va agregat funktsiyalarni hisoblash uchun hech qanday yozuvlar mavjud emas deb taxmin qilinadi.

Funktsiya ifodasini yaratishda joylashuv bog'lovchisi Ifodani hisoblash, agar tartib ifodasi guruhlashda ishlatib bo'lmaydigan maydonlarni o'z ichiga olsa, funktsiyani almashtiradi Ifodani hisoblash yoqilgan NULL.

Variantlar

Turi: Chiziq. Baholanadigan ifoda.

Turi: Chiziq. Kontekstdagi ifoda baholanishi kerak bo'lgan guruhlash nomini o'z ichiga oladi. Agar guruhlash nomi sifatida bo'sh satr ishlatilsa, hisoblash joriy guruhlash kontekstida amalga oshiriladi. Agar GeneralTotal qatori guruh nomi sifatida ishlatilsa, hisoblash umumiy jami kontekstida amalga oshiriladi. Aks holda, hisoblash bir xil nomdagi ota-guruh kontekstida amalga oshiriladi.

Masalan:

Sum(Sotuv.SumOborot)/Hisoblash("Sum(Sotish.SumOborot)", "Jami")

Ushbu misolda natija maydon bo'yicha yig'indi nisbati bo'ladi Sotish miqdori yozuvlarni butun maketdagi bir xil maydon yig'indisiga guruhlash;

Turi: Chiziq. Parametr quyidagi qiymatlarni olishi mumkin:

· Umumiy jami— ifoda barcha guruhlash yozuvlari uchun hisoblab chiqiladi.

· Ierarxiya— ifoda agar mavjud bo‘lsa, asosiy ierarxik yozuv uchun va agar asosiy ierarxik yozuv bo‘lmasa, butun guruhlash uchun baholanadi.

· Guruhlash— ifoda joriy guruhlash yozuvi uchun baholanadi.

· Resurs bo'lmagan guruhlash— Resurslar bo'yicha guruh yozuvi uchun funktsiyani hisoblashda ifoda dastlabki guruhlashning birinchi guruh yozuvi uchun hisoblanadi.

Funktsiyani hisoblashda Hisoblash ifodasi() ma'no bilan Resurs bo'lmagan guruhlash Resurslar bo'yicha guruhlanmagan guruh yozuvlari uchun funktsiya parametr qiymati qiymatga teng bo'lsa, xuddi shunday hisoblab chiqiladi. Guruhlash.

Ma'lumotlar kompozitsiyasi sxemasini yaratuvchisi, ma'lumotlar kompozitsiyasi sxemasini yaratishda, tartibga guruhlash amalga oshiriladigan resurs maydonini chiqarishda, funksiya yordamida hisoblangan maketga ifodani joylashtiradi. Hisoblash ifodasi() , parametrni ko'rsatadi Resurs bo'lmagan guruhlash. Boshqa resurslar uchun odatiy resurs iboralari resurslar guruhiga joylashtirilgan.

Turi: Chiziq. Fragment qaysi yozuvdan boshlanishi kerakligini, qaysi agregat ifoda funktsiyalarini hisoblash kerakligini va agregat funktsiyalardan tashqari maydon qiymatlarini qaysi yozuvdan olish kerakligini ko'rsatadi. Qiymat quyidagilardan biri bo'lishi mumkin:

· Birinchidan

· Oxirgi (oxirgi)

· Oldingi

· Keyingi (Keyingi)

· Hozirgi

· LimitingValue(chegara qiymati) LimitingValue

Turi: Chiziq. Fragmentni qaysi yozuvga davom ettirish kerakligini, unda ifodaning agregat funktsiyalarini hisoblash kerakligini ko'rsatadi. Qiymat quyidagilardan biri bo'lishi mumkin:

· Birinchidan. Birinchi guruhlash yozuvini olish kerak. Qavs ichidagi so'zdan keyin siz iborani belgilashingiz mumkin, uning natijasi guruhlash boshidan ofset sifatida ishlatiladi. Olingan qiymat noldan katta 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. Misol uchun, agar 3 ta yozuv bo'lsa va siz First(4) ni olishni istasangiz, unda hech qanday yozuv yo'q deb hisoblanadi.

· Oxirgi (oxirgi). Siz oxirgi guruhlash yozuvini olishingiz kerak. Qavs ichidagi so'zdan keyin siz iborani belgilashingiz mumkin, uning natijasi guruhlash oxiridan ofset sifatida ishlatiladi. Olingan qiymat noldan katta butun son bo'lishi kerak. Masalan, Oxirgi (3) - guruh oxiridan uchinchi rekordni olish.

Agar oxirgi yozuv guruhlashdan tashqarida bo'lsa, unda yozuvlar yo'q deb hisoblanadi. Misol uchun, agar 3 ta yozuv mavjud bo'lsa va siz Oxirgi (4) ni olishni istasangiz, unda hech qanday yozuv yo'q deb hisoblanadi.

· Oldingi. Oldingi guruhlash rekordini olishingiz kerak. Qavs ichidagi so'zdan keyin siz iborani belgilashingiz mumkin, uning natijasi joriy guruhlash yozuvidan orqaga siljish sifatida ishlatiladi. Masalan, Previous(2) - oldingi yozuvdan oldingisini olish.

Agar oldingi yozuv guruhlashdan tashqariga chiqsa (masalan, ikkinchi guruhlash yozuvi uchun Oldingi(3) ni olishingiz kerak), u holda birinchi guruhlash yozuvi olinadi.

Guruhlash jami uchun oldingi yozuvni olishda birinchi yozuv olingan deb hisoblanadi.

· Keyingi (Keyingi). Keyingi guruhlash yozuvini olishingiz kerak. Qavs ichidagi so'zdan keyin siz iborani belgilashingiz mumkin, uning natijasi joriy guruhlash yozuvidan oldinga siljish sifatida ishlatiladi. Masalan, Next(2) - keyingi yozuvdan keyingi olish.

Agar keyingi yozuv guruhlashdan tashqariga chiqsa, unda yozuvlar yo'q deb hisoblanadi. Misol uchun, agar 3 ta yozuv bo'lsa va uchinchi yozuv Next() ni qabul qilsa, unda hech qanday yozuv yo'q deb hisoblanadi.

Guruhlash jami bo'yicha keyingi yozuv olinganda, hech qanday yozuv yo'q deb hisoblanadi.

· Hozirgi. Siz joriy yozuvni olishingiz kerak.

Guruhlash jami uchun olinganda birinchi yozuv olinadi.

· LimitingValue(chegara qiymati). Belgilangan qiymat bo'yicha yozuvni olish zarurati. So'zdan keyin LimitingValue qavs ichida siz fragmentni boshlamoqchi bo'lgan qiymati bilan ifodani, birinchi tartiblash maydonini ko'rsatishingiz kerak.

Buyurtma maydoni qiymati belgilangan qiymatdan katta yoki unga teng bo'lgan birinchi yozuv yozuv sifatida qaytariladi. Misol uchun, agar Davr maydoni buyurtma maydoni sifatida ishlatilsa va unda 01/01/2010, 02/01/2010, 03/01/2010 qiymatlari bo'lsa va siz olishni istasangiz LimitingValue(DateTime(2010, 1, 15)), keyin 02/01/2010 sanasi bilan yozuv olinadi.

Turi: Chiziq. Tartib qoidalarini tavsiflovchi vergul bilan ajratilgan iboralarni sanab o'tadi. Agar ko'rsatilmagan bo'lsa, unda tartiblash ifoda baholanadigan guruhlash bilan bir xil tarzda amalga oshiriladi. Har bir ifodadan keyin siz kalit so'zni belgilashingiz mumkin Yosh(o'sish tartibida buyurtma berish uchun), Pastga(kamayish tartibida buyurtma berish uchun) va Avtomatik buyurtma(mos yozuvlar maydonlarini havola qilingan ob'ektga buyurtma bermoqchi bo'lgan maydonlar bo'yicha buyurtma qilish uchun). So'z Avtomatik buyurtma so'z bilan birga ishlatilishi mumkin Yosh, so'z bilan shunday Pastga.

Turi: Chiziq. Parametr bilan bir xil Tartiblash. Ierarxik yozuvlarni tashkil qilish uchun foydalaniladi. Agar ko'rsatilmagan bo'lsa, tartibni yaratuvchisi parametrda ko'rsatilgan tartib bo'yicha tartibni yaratadi Tartiblash.

Turi: Chiziq. Agar 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.

· Birga oldingi va keyingi yozuvlar tartib ifodalarining qiymatlari asosida aniqlanishini bildiradi.

Misol uchun, natijada olingan ketma-ketlik sana bo'yicha tartiblangan bo'lsa:

sana To'liq ism Ma'nosi
1 2001 yil 01 yanvar

Ivanov M.

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

Alohida, Bu:

§ 3-kirishning oldingi yozuvi 2-kiritma bo'ladi.

Hozirgi, joriy(mos ravishda, parametrlar Boshlash Va Oxiri), u holda 2-yozuv uchun bu parcha bitta yozuvdan iborat bo'ladi 2. Ifoda 20 ga teng bo'ladi.

Agar parametr qiymati bo'lsa Birga, Bu:

§ 3-kiritmaning oldingi yozuvi 1-kiritma bo'ladi.

§ agar hisoblash bo'lagi sifatida aniqlangan bo'lsa Hozirgi, joriy(mos ravishda, parametrlar Boshlash Va Oxiri), keyin 2-yozuv uchun bu parcha 2 va 3-yozuvlardan iborat bo'ladi. Ifoda CalculateExpression("summa(qiymat), joriy, joriy) 50 ga teng bo'ladi.

ga teng parametr qiymatini belgilashda Birga, parametrlarda Boshlash Va Oxiri pozitsiyalar uchun ofsetni belgilay olmaysiz Birinchi, oxirgi, oldingi, keyingi.

Hisoblash ifodasi("Sum(summa aylanma)", "Birinchi", "Joriy")

Agar oldingi qatordagi guruhlash qiymatini olishni istasangiz, quyidagi ifodadan foydalanishingiz mumkin:

CalculateExpression("Baho", "Oldingi")

Roʻyxat yangi vazifalari:

ExpressionWithGroupArray bilan hisoblang(,) -

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

ExpressionWithGroupValueTable bilan hisoblang(,) -

Funktsiya qiymatlar jadvalini qaytaradi, ularning har bir satri belgilangan maydon bo'yicha guruhlash uchun ifodalarni baholash natijasini o'z ichiga oladi.

Qiymat to'ldirilgan() - Agar qiymat ushbu turdagi standart qiymatdan, NULLdan boshqa bo'lsa, bo'sh havoladan tashqari, Aniqlanmagandan boshqa bo'lsa, True qaytaradi. Mantiqiy qiymatlar NULL qiymatlari uchun tekshiriladi. Satrlar bo'sh joy bo'lmagan belgilarning yo'qligi uchun tekshiriladi

Format(, ) - O'tkazilgan qiymatning formatlangan qatorini olish. Format qatori 1C: Enterprise tizimining format qatoriga muvofiq o'rnatiladi.

Substring(, , ) - Bu funksiya satrdan pastki qatorni chiqarish uchun mo'ljallangan.

Chiziq uzunligi() - funksiya satr uzunligini aniqlash uchun mo'ljallangan. Parametr - bu qator ifodasi

Chiziq() - Agar massiv parametr sifatida uzatilsa, funktsiya ";" belgilari bilan ajratilgan barcha massiv elementlarining satr tasvirlarini o'z ichiga olgan qatorni qaytaradi. Agar qiymatlar jadvali parametr sifatida uzatilsa, funktsiya qiymatlar jadvalining barcha satrlarining satr ko'rinishlarini o'z ichiga olgan satrni qaytaradi, har bir satrning hujayra ko'rinishlari ";" belgilari bilan va qatorlar yangi qator bilan ajratilgan. xarakter. Agar elementning satr tasviri bo'sh bo'lsa, uning tasviri o'rniga satr ko'rsatiladi.