Агуулга
1 Өгөгдлийн бүтцийн системийн илэрхийллийн хэл
2 үсэг
2.1 Мөр
2.2 Тоо
2.3 Огноо
2.4 Булийн
2.5 Утга
3 Тоон дээрх үйлдлүүд
3.1 Нэгдмэл -
3.2 Нэг төрлийн +
3.3 Хоёртын хувилбар -
3.4 Бинар+
3.5 Ажил
3.6 Хэлтэс
3.7 Үлдэгдэл
4 Мөрт үйлдлүүд
4.1 Холболт (хоёртын +)
4.2 Үүнтэй төстэй
5 Харьцуулах үйлдлүүд
5.1 Тэнцүү
5.2 Тэнцүү биш
5.3 Бага
5.4 Илүү
5.5-аас бага буюу тэнцүү
5.6-аас их буюу тэнцүү
5.7 Үйл ажиллагаа Б
5.8 Өгөгдлийн багц дахь утга байгаа эсэхийг шалгах ажиллагаа
5.9 NULL утгыг шалгах үйлдэл
5.10 NULL тэгш бус байдлын утгыг шалгах үйлдэл
6 Логик үйлдлүүд
6.1 Үйл ажиллагаа ҮГҮЙ
6.2 Үйл ажиллагаа I
6.3 OR үйл ажиллагаа
7 Нэгтгэсэн функц
7.1 Дүн
7.2 Тоо хэмжээ
7.3 Төрөл бүрийн тоо
7.4 Хамгийн их
7.5 Хамгийн бага
7.6 Дундаж
8 Бусад үйлдлүүд
8.1 СОНГОХ үйлдэл
9 Хоёр утгыг харьцуулах дүрэм
10 NULL утгатай ажиллах
11 Үйл ажиллагааны тэргүүлэх чиглэлүүд
12 Өгөгдлийн бүрдлийн системийн илэрхийллийн хэлний функцууд
12.1 Тооцоолох
12.2 Түвшин
12.3 NumberInOrder
12.4 Бүлэглэхдээ дарааллаар нь дугаарлана
12.5 Формат
12.6 Хугацааны эхлэл
12.7 Хугацаа дуусах
12.8 Нэмэх огноо
12.9 Огнооны зөрүү
12.10 Дэд мөр
12.11 Шугамын урт
12.12 жил
12.13 улирал
12.14 сар
12.15 Жилийн өдөр
12.16 өдөр
12.17 Долоо хоног
12.18 Долоо хоногийн өдөр
12.19 Цаг
12.20 минут
12.21 секунд
12.22 Экспресс
12.23 ТиймҮгүй
12.24 Нийтлэг модулиудын функцууд

Өгөгдлийн бүрдлийн системийн илэрхийлэл хэл

Өгөгдлийн бүрдлийн системийн илэрхийллийн хэл нь системийн янз бүрийн хэсэгт хэрэглэгддэг илэрхийллийг бичихэд зориулагдсан.

Илэрхийллийг дараах дэд системүүдэд ашигладаг.

  • өгөгдлийн байршлын диаграмм - тооцоолсон талбар, нийт талбар, холболтын илэрхийлэл гэх мэтийг тайлбарлах;
  • өгөгдлийн байршлын тохиргоо - тусгай талбарын илэрхийллийг тайлбарлах;
  • өгөгдлийн байршлын байршил - өгөгдлийн багцыг холбох илэрхийлэлийг тайлбарлах, байршлын параметрүүдийг тайлбарлах гэх мэт.

Үг үсэг

Илэрхийлэл нь үгийн үсэг агуулж болно. Дараах төрлийн үг хэллэгүүд боломжтой.

  • шугам;
  • дугаар;
  • Огноо;
  • Булийн.

Шугам

Тэмдэгт утгыг "" тэмдэгтээр бичнэ, жишээлбэл:

“Мөрт үсэг”


Хэрэв та string literal дотор "" тэмдэгт ашиглах шаардлагатай бол хоёр ийм тэмдэгт ашиглах хэрэгтэй.

Жишээлбэл:

"Үг үсгийн ""хашилтанд"""

Тоо

Тоо нь хоосон зайгүй, аравтын форматаар бичигдэнэ. Бутархай хэсгийг "." тэмдэг ашиглан тусгаарлана. Жишээлбэл:

огноо

Огнооны шууд утгыг DATETIME түлхүүр үгээр бичдэг. Энэ түлхүүр үгийн дараа жил, сар, өдөр, цаг, минут, секундийг таслалаар тусгаарлан хаалтанд бичнэ. Цагийн тодорхойлолт шаардлагагүй.

Жишээлбэл:
DATETIME (1975, 1, 06) - 1975 оны 1-р сарын 6
DATETIME(2006, 12, 2, 23, 56, 57) – 2006 оны 12-р сарын 2, 23 цаг 56 минут 57 секунд, 23 цаг 56 минут 57 секунд

Булийн

Boolean утгыг үнэн (Үнэн), Худал (Худал) утгыг ашиглан бичиж болно.

Утга

Бусад төрлийн литералуудыг (системийн тооллого, урьдчилан тодорхойлсон өгөгдөл) зааж өгөхийн тулд Value гэсэн түлхүүр үг, дараа нь хаалтанд үгийн утга бичнэ.
Утга(Бүртгэлийн төрөл. Идэвхтэй)

Тоонууд дээрх үйлдлүүд

Нэгдмэл -

Энэ үйлдэл нь тооны тэмдгийг эсрэгээр нь өөрчлөх зорилготой юм. Жишээлбэл:
-Борлуулалт.Тоо хэмжээ

Нэгдмэл +

Энэ үйлдэл нь тоон дээр ямар ч үйлдэл хийхгүй. Жишээлбэл:
+Борлуулалт.Тоо хэмжээ

Хоёртын хувилбар -

Энэ үйлдэл нь хоёр тооны зөрүүг тооцоолох зорилготой юм. Жишээлбэл:
Үлдэгдэл ба эргэлт.Эхний үлдэгдэл – Үлдсэн ба эргэлт.Эцсийн үлдэгдэл
Үлдэгдэл ба эргэлт.Эхний үлдэгдэл - 100
400 – 357

Хоёртын +

Энэ үйлдэл нь хоёр тооны нийлбэрийг тооцоолоход зориулагдсан. Жишээлбэл:
Үлдэгдэл ба эргэлт.Эхний үлдэгдэл + үлдэгдэл, эргэлт. эргэлт.
Үлдэгдэл ба эргэлт.Эхний үлдэгдэл + 100
400 + 357

Ажил

Энэ үйлдэл нь хоёр тооны үржвэрийг тооцоолоход зориулагдсан. Жишээлбэл:
Нэршил.Үнэ * 1.2
2 * 3.14

Хэлтэс

Энэ үйлдэл нь нэг операндыг нөгөөд хуваах үр дүнг авах зорилготой юм. Жишээлбэл:
Нэршил.Үнэ / 1.2
2 / 3.14

Хэсгийн үлдэгдэл

Энэ үйлдэл нь нэг операндыг нөгөөд хуваахад үлдэгдлийг авах зорилготой юм. Жишээлбэл:
Нэршил.Үнэ% 1.2
2 % 3.14

Мөрний үйлдлүүд

Холболт (Хоёртын +)

Энэ үйлдэл нь хоёр мөрийг холбоход зориулагдсан. Жишээлбэл:
Нэршил.Зүйл + “: ”+ Нэршил.Нэр

Дуртай

Энэ үйлдэл нь мөр нь дамжуулсан загвартай тохирч байгаа эсэхийг шалгадаг.

Хэрэв утга байвал LIKE операторын утга ҮНЭН байна<Выражения>хээг хангасан, харин бусад тохиолдолд ХУДАЛ.

Дараах дүрүүд<Строке_шаблона>мөрөнд байгаа өөр тэмдэгтээс өөр утгатай байна:

  • % - хувь: тэг буюу түүнээс дээш дурын тэмдэгт агуулсан дараалал;
  • _ - доогуур зураас: нэг дурын тэмдэгт;
  • […] - дөрвөлжин хаалтанд нэг буюу хэд хэдэн тэмдэгт: нэг тэмдэгт, дөрвөлжин хаалт дотор жагсаасан тэмдэгтүүдийн аль нэг нь. Тооцоолол нь мужийг агуулж болно, жишээ нь a-z, энэ нь мужид орсон дурын тэмдэгт, түүний дотор мужын төгсгөлүүд;
  • [^...] - дөрвөлжин хаалтанд үгүйсгэх дүрс, араас нь нэг буюу хэд хэдэн тэмдэгт: үгүйсгэх тэмдгийн дараа жагсаасан тэмдэгтүүдээс бусад тэмдэгт;

Өөр ямар ч тэмдэг нь өөрөө гэсэн үг бөгөөд нэмэлт ачаа үүрдэггүй. Хэрэв жагсаасан тэмдэгтүүдийн аль нэгийг өөрийнхөөрөө бичих шаардлагатай бол өмнө нь бичих ёстой<Спецсимвол>, SPECIAL CHARACTER (ЗУГТЛАХ) түлхүүр үгийн дараа заасан.

Жишээлбэл, загвар
“%ABV[abvg]\_abv%” ТУСГАЙ ДҮР “\”

тэмдэгтүүдийн дарааллаас бүрдэх дэд мөрийг хэлнэ: А үсэг; B үсэг; B үсэг; нэг оронтой тоо; a, b, c эсвэл d үсгүүдийн аль нэг нь; доогуур зураас; a үсэг; b үсэг; үсэг v. Түүнчлэн, энэ дарааллыг шугамын дурын байрлалаас эхлэн байрлуулж болно.

Харьцуулах үйлдлүүд

Тэнцүү

Энэ үйлдэл нь тэгш байдлын хувьд хоёр операндыг харьцуулах зорилготой юм. Жишээлбэл:
Борлуулалт.Харилцагч тал = Борлуулалт.Нэршил Үндсэн нийлүүлэгч

Тэнцүү биш

Энэ үйлдэл нь тэгш бус байдлын хоёр операндыг харьцуулах зорилготой юм. Жишээлбэл:
Борлуулалтын эсрэг талын борлуулалт

Бага

Энэ үйлдэл нь эхний операнд хоёр дахьоос бага байгаа эсэхийг шалгах зорилготой юм. Жишээлбэл:
Борлуулалтын Одоогийн. Дүн

Илүү

Энэ үйлдэл нь эхний операнд хоёр дахьоос их эсэхийг шалгах зорилготой юм. Жишээлбэл:
Борлуулалтын одоогийн дүн > Борлуулалтын өнгөрсөн нийлбэр

Бага эсвэл тэнцүү

Энэ үйлдэл нь эхний операнд нь хоёр дахьоос бага эсвэл тэнцүү эсэхийг шалгах зорилготой юм. Жишээлбэл:
Борлуулалтын Одоогийн. Дүн

Илүү их эсвэл тэнцүү

Энэ үйлдэл нь эхний операнд нь хоёр дахьоос их эсвэл тэнцүү эсэхийг шалгах зорилготой юм. Жишээлбэл:
Борлуулалтын Одоогийн. Дүн >= Борлуулалтын Өнгөрсөн. Дүн

Үйл ажиллагаа Б

Энэ үйлдэл нь дамжуулсан утгуудын жагсаалтад утга байгаа эсэхийг шалгадаг. Хэрэв утга олдвол үйлдлийн үр дүн Үнэн, үгүй ​​бол худал болно. Жишээлбэл:
Б зүйл (&Бүтээгдэхүүн1, &Бүтээгдэхүүн2)

Өгөгдлийн багц дахь утга байгаа эсэхийг шалгах ажиллагаа

Уг үйлдэл нь заасан өгөгдлийн багцад утга байгаа эсэхийг шалгадаг. Баталгаажуулах өгөгдлийн багц нь нэг талбар агуулсан байх ёстой. Жишээлбэл:
Борлуулалтын эсрэг талын эсрэг талууд

NULL утгыг шалгах ажиллагаа

Хэрэв утга NULL байвал энэ үйлдэл Үнэнийг буцаана. Жишээлбэл:
Борлуулалт.Харилцагч тал ҮНЭГҮЙ

NULL тэгш бус байдлын утгыг шалгах үйлдэл

Хэрэв утга нь NULL биш бол энэ үйлдэл Үнэнийг буцаана. Жишээлбэл:
Борлуулалт.Харилцагч тал ҮНЭГҮЙ

Логик үйлдлүүд

Логик үйлдлүүд нь Boolean төрлийн илэрхийллүүдийг операнд хэлбэрээр хүлээн авдаг.

Үйлдэл ҮГҮЙ

NOT үйлдэл нь хэрэв операнд нь худал бол True, хэрэв үнэн бол худал буцаана. Жишээлбэл:
Баримт бичиг БИШ.Ачаа хүлээн авагч = Баримт бичиг.Илгээгч

Үйл ажиллагаа I

AND үйлдэл нь хоёр операнд нь Үнэн байвал True, аль нэг операнд нь худал байвал False-ийг буцаана. Жишээлбэл:
Баримт бичиг.Ачаа хүлээн авагч = Баримт бичиг.Ачаа илгээгч БА Баримт бичиг.Ачаа хүлээн авагч = &Харилцагч тал

ЭСВЭЛ үйл ажиллагаа

OR үйлдэл нь түүний операндуудын аль нэг нь Үнэн байвал True, хоёр операнд нь худал бол худал буцаана. Жишээлбэл:
Баримт бичиг.Ачаа хүлээн авагч = Баримт бичиг.Илгээгч ЭСВЭЛ Баримт бичиг.Ачаа хүлээн авагч = &Харилцагч тал

Нэгтгэсэн функцууд

Агрегат функцууд нь багц өгөгдөл дээр зарим үйлдлийг гүйцэтгэдэг.

нийлбэр

Sum aggregate функц нь түүнд дамжуулсан илэрхийллийн утгуудын нийлбэрийг бүх дэлгэрэнгүй бичлэгийн аргумент болгон тооцдог. Жишээлбэл:
Дүн(Борлуулалт. Дүн Эргэлтийн)

Тоо хэмжээ

Count функц нь NULL-ээс бусад утгуудын тоог тооцоолдог. Жишээлбэл:
Тоо хэмжээ(Борлуулалт.Харилцагч тал)

Төрөл бүрийн тоо

Энэ функц нь ялгаатай утгуудын тоог тооцоолдог. Жишээлбэл:
Тоо хэмжээ(Янз бүрийн борлуулалт.Харилцагч тал)

Хамгийн их

Функц нь хамгийн их утгыг авдаг. Жишээлбэл:
Хамгийн их(Үлдсэн.Тоо хэмжээ)

Хамгийн бага

Функц нь хамгийн бага утгыг авдаг. Жишээлбэл:
Хамгийн бага(Үлдсэн.Тоо хэмжээ)

Дундаж

Функц нь NULL бус утгуудын дундаж утгыг авдаг. Жишээлбэл:
Дундаж(Үлдсэн.Тоо хэмжээ)

Бусад үйлдлүүд

SELECT үйлдэл

Сонгох үйлдэл нь тодорхой нөхцөл хангагдсан үед хэд хэдэн утгын аль нэгийг сонгох зорилготой юм. Жишээлбэл:
Хэзээ Хэмжээ > 1000, Дараа нь Дүн гэж сонгохгүй бол 0 Дуусна

Хоёр утгыг харьцуулах дүрэм

Хэрэв харьцуулж буй утгуудын төрлүүд бие биенээсээ ялгаатай бол утгуудын хоорондын хамаарлыг төрлүүдийн давуу байдал дээр үндэслэн тодорхойлно.
NULL (хамгийн бага);
логик;
дугаар;
Огноо;
шугам;
Лавлах төрлүүд

Янз бүрийн лавлагааны төрлүүдийн хоорондын хамаарлыг тухайн төрөлд тохирох хүснэгтүүдийн лавлагааны дугаар дээр үндэслэн тодорхойлно.

Хэрэв өгөгдлийн төрлүүд ижил байвал утгуудыг дараах дүрмийн дагуу харьцуулна.
Boolean төрлийн хувьд ҮНЭН утга нь FALSE утгаас их байна;
Тооны төрөл нь тоонуудыг харьцуулах ердийн дүрэмтэй;
Date төрлийн хувьд өмнөх огноо нь хожуу огнооноос бага байна;
String төрлийн хувьд - мэдээллийн сангийн тогтоосон үндэсний шинж чанаруудын дагуу мөрүүдийг харьцуулах;
Лавлагааны төрлүүдийг утгууд дээр үндэслэн харьцуулдаг (бичлэгийн тоо гэх мэт).

NULL утгатай ажиллах

Операндуудын аль нэг нь NULL байх аливаа үйлдэл NULL үр дүнг гаргана.

Үл хамаарах зүйлүүд байдаг:
AND үйлдэл нь зөвхөн операндуудын аль нь ч худал биш бол NULL утгыг буцаана;
OR үйлдэл нь түүний операндуудын аль нь ч Үнэн биш бол зөвхөн NULL-г буцаана.

Үйл ажиллагааны тэргүүлэх чиглэл

Үйлдлүүд нь дараах тэргүүлэх чиглэлтэй (эхний мөрөнд хамгийн бага ач холбогдолтой):
ЭСВЭЛ;
БА;
ҮГҮЙ;
B, IS NULL, IS NOLL;
=, <>, <=, <, >=, >;
Хоёртын +, Хоёртын – ;
*, /, %;
Unary +, Unary -.

Өгөгдлийн бүрдлийн системийн илэрхийлэл хэлний функцууд

Тооцоол

Тооцоолох функц нь тодорхой бүлэглэлийн хүрээнд илэрхийллийг тооцоолоход зориулагдсан. Функц нь дараах параметрүүдийг агуулна.
Илэрхийлэл. String гэж бичнэ үү. Тооцоолсон илэрхийлэл агуулсан;
Бүлэглэх. String гэж бичнэ үү. Илэрхийллийг үнэлэх агуулгын хүрээнд бүлэглэлийн нэрийг агуулна. Хэрвээ хоосон мөрийг бүлэглэлийн нэр болгон ашигласан бол тооцооллыг одоогийн бүлэглэлийн хүрээнд гүйцэтгэнэ. Хэрэв GrandTotal мөрийг бүлгийн нэр болгон ашигласан бол тооцооллыг нийт дүнгийн хүрээнд гүйцэтгэнэ. Үгүй бол тооцооллыг ижил нэртэй эцэг эхийн бүлгийн хүрээнд хийх болно. Жишээлбэл:
Нийлбэр(Борлуулалтын.Нийтийн эргэлт) / Тооцоолох("Нийт(Борлуулалтын.Нийт)", "Нийт")

Энэ жишээнд үр дүн нь бүлэглэлийн бичлэгийн "Борлуулалтын хэмжээ" талбарын дүнг бүхэлд нь зохион байгуулалтын ижил талбарын дүнтэй харьцуулсан харьцаа болно.

Түвшин

Энэ функц нь одоогийн бичлэгийн түвшинг олж авахад зориулагдсан.

Жишээ:
Түвшин()

NumberInOrder

Дараагийн дарааллын дугаарыг авна уу.

Жишээ:
NumberByOrder()

NumberInOrderInGrouping

Одоогийн бүлэгт дараагийн дарааллын тоог буцаана.

Жишээ:
NumberByOrderInGroup()

Формат

Дамжуулсан утгын форматтай мөрийг аваарай.

Форматын мөрийг 1C: Enterprise форматын мөрийн дагуу тохируулсан.

Сонголтууд:
Утга;
Мөр форматлах.

Жишээ:
Формат(Нэхэмжлэх. Баримт бичгийн дүн, "NPV=2")

Сарын эхлэл

Сонголтууд:

    • Минут;
    • өдөр;
    • Долоо хоног;
    • Сар;
    • улирал;
    • Арван жил;
    • Хагас жил.

Жишээ:
Эхлэх үе(ОгнооЦаг(2002, 10, 12, 10, 15, 34), "Сар")

Үр дүн:

01.10.2002 0:00:00

Хугацааны төгсгөл

Энэ функц нь өгөгдсөн огнооноос тодорхой огноо гаргаж авахад зориулагдсан.

Сонголтууд:

  • Огноо. Огноог бичнэ үү. Тодорхой огноо;
  • Үеийн төрөл. String гэж бичнэ үү. Утгауудын аль нэгийг агуулна:
    • Минут;
    • өдөр;
    • Долоо хоног;
    • Сар;
    • улирал;
    • Арван жил;
    • Хагас жил.

Жишээ:
Төгсгөлийн үе(ОгнооЦаг(2002, 10, 12, 10, 15, 34), "Долоо хоног")

Үр дүн:

13.10.2002 23:59:59

AddToDate

Энэ функц нь огноонд тодорхой утгыг нэмэх зорилготой юм.

Сонголтууд:

  • Томруулах төрөл. String гэж бичнэ үү. Утгауудын аль нэгийг агуулна:
    • Минут;
    • өдөр;
    • Долоо хоног;
    • Сар;
    • улирал;
    • Арван жил;
    • Хагас жил.
Дүн – огноог хэр хэмжээгээр нэмэгдүүлэх шаардлагатай. Төрөл тоо. Бутархай хэсгийг үл тоомсорлодог.

Жишээ:
AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Сар", 1)

Үр дүн:

12.11.2002 10:15:34

Ялгаа огноо

Функц нь хоёр огнооны зөрүүг олж авахад зориулагдсан.

Сонголтууд:

  • Илэрхийлэл. Огноог бичнэ үү. Анхны огноо;
  • Илэрхийлэл. Огноог бичнэ үү. Хасах огноо;
  • Ялгаа төрөл. String гэж бичнэ үү. Утгауудын аль нэгийг агуулна:
    • Хоёрдугаарт;
    • Минут;
    • өдөр;
    • Сар;
    • улирал;

Жишээ:
ОГНЫ ЯЛГА(DATETIME(2002, 10, 12, 10, 15, 34),
DATETIME(2002, 10, 14, 9, 18, 06), "ӨДӨР")

Үр дүн:

Дэд мөр

Энэ функц нь мөрөөс дэд мөрийг задлахад зориулагдсан.

Сонголтууд:

  • Шугам. String гэж бичнэ үү. Дэд мөрийг гаргаж авсан мөр;
  • Байрлал. Төрөл тоо. Мөрөөс гаргаж авах дэд мөр эхлэх тэмдэгтийн байрлал;
  • Урт. Төрөл тоо. Хуваарилагдсан дэд мөрийн урт.

Жишээ:
SUBSTRING(Данс.Хаяг, 1, 4)

Шугамын урт

Энэ функц нь мөрний уртыг тодорхойлох зорилготой юм.

Параметр:
Шугам. String гэж бичнэ үү. Урт нь тодорхойлогдсон мөр.

Жишээ:
Шугам(Харилцагч талууд.Хаяг)

Энэ функц нь Огноо төрлийн утгаас оныг гаргаж авахад зориулагдсан.

Параметр:
Огноо. Огноог бичнэ үү. Оныг тодорхойлсон огноо.

ЖИЛ(зардал.Огноо)

улирал

Энэ функц нь Date төрлийн утгаас улирлын тоог гаргаж авахад зориулагдсан. Улирлын тоо нь ихэвчлэн 1-ээс 4 хооронд хэлбэлздэг.

Параметр
Огноо. Огноог бичнэ үү. Улирлыг тодорхойлсон огноо

QUARTER(зардал.Огноо)

Сар

Энэ функц нь Огноо төрлийн утгаас сарын дугаарыг гаргаж авахад зориулагдсан. Сарын тоо ихэвчлэн 1-ээс 12 хооронд хэлбэлздэг.
Огноо. Огноог бичнэ үү. Тухайн сарыг тодорхойлсон огноо.
САР(Зардал.Огноо)

Жилийн өдөр

Энэ функц нь Огноо төрлийн утгаас тухайн жилийн өдрийг олж авахад зориулагдсан. Жилийн өдөр ихэвчлэн 1-ээс 365 (366) хооронд хэлбэлздэг.
Огноо. Огноог бичнэ үү. Жилийн өдрийг тогтоосон огноо.
ӨДРИЙН ЖИЛ(Зардлын Данс. Огноо)

Өдөр

Энэ функц нь Огноо төрлийн утгаас тухайн сарын өдрийг олж авахад зориулагдсан. Сарын өдөр ихэвчлэн 1-ээс 31 хүртэл байдаг.
Огноо. Огноог бичнэ үү. Сарын өдрийг тогтоосон огноо.
ӨДӨР(зардал.Огноо)

Долоо хоног

Энэ функц нь Огноо төрлийн утгаас тухайн жилийн долоо хоногийн дугаарыг авахад зориулагдсан. Жилийн долоо хоногуудыг 1-ээс эхлэн дугаарлана.
Огноо. Огноог бичнэ үү. Долоо хоногийн тоог тогтоосон огноо.
ДОЛОО ХОНОГ(Зардал. Огноо)

Долоо хоногийн өдөр

Энэ функц нь Огноо төрлийн утгаас долоо хоногийн өдрийг олж авахад зориулагдсан. Долоо хоногийн ердийн өдөр нь 1 (Даваа) -аас 7 (Ням гараг) хооронд хэлбэлздэг.
Огноо. Огноог бичнэ үү. Долоо хоногийн өдрийг тогтоосон огноо.
ДОЛОО ХОНОГИЙН ӨДӨР(Зардал.Огноо)

Энэ функц нь Date төрлийн утгаас өдрийн цагийг олж авахад зориулагдсан. Өдрийн цаг 0-ээс 23 цаг хүртэл байна.
Огноо. Огноог бичнэ үү. Өдрийн цагийг тодорхойлсон огноо.
ЦАГ(зардал.Огноо)

Минут

Энэ функц нь Огноо төрлийн утгаас цагийн минутыг авахад зориулагдсан. Цагийн минут 0-ээс 59 хооронд хэлбэлздэг.
Огноо. Огноог бичнэ үү. Цагийн минутыг тогтоосон огноо.
МИНУТ(зардал.Огноо)

Хоёрдугаарт

Энэ функц нь Огноо төрлийн утгаас минутын секундийг авах зориулалттай. Нэг минутын секунд нь 0-ээс 59 хооронд хэлбэлздэг.
Огноо. Огноог бичнэ үү. Минутын секундийг тодорхойлсон огноо.
SECOND(Хугацаа дуусах огноо)

Экспресс

Энэ функц нь нийлмэл төрлийг агуулж болох илэрхийллээс төрлийг гаргаж авахад зориулагдсан. Хэрэв илэрхийлэл нь шаардлагатай төрлөөс өөр төрлийг агуулж байвал NULL утга буцаана.

Сонголтууд:
Хөрвүүлэх илэрхийлэл;
Төрөл заалт. String гэж бичнэ үү. Төрөл мөр агуулсан. Жишээлбэл, "Тоо", "Мөр" гэх мэт. Анхдагч төрлөөс гадна энэ мөрөнд хүснэгтийн нэрийг агуулж болно. Энэ тохиолдолд заасан хүснэгтийн лавлагааг илэрхийлэх оролдлого хийх болно.

Жишээ:
Экспресс(Data.Props1, "Тоо(10,3)")

IsNull

Энэ функц нь эхний параметрийн утга NULL байвал хоёр дахь параметрийн утгыг буцаана.

Үгүй бол эхний параметрийн утгыг буцаана.

Жишээ:
Тийм NULL(Дүн (Борлуулалтын дүн), 0)

Нийтлэг модулиудын функцууд

Өгөгдлийн бүтцийн хөдөлгүүрийн илэрхийлэл нь дэлхийн нийтлэг тохиргооны модулиудын функцүүдийн дуудлагыг агуулж болно. Ийм функцийг дуудахын тулд нэмэлт синтакс шаардлагагүй.

Жишээ:
Товчилсон нэр(Баримт бичиг.Холбоос, Баримт бичиг.Огноо, Баримт бичиг.Дугаар)

Энэ жишээнд "Товчилсон нэр" функцийг ерөнхий тохиргооны модулиас дуудах болно.

Нийтлэг модулийн функцуудыг ашиглахыг зөвхөн өгөгдлийн бүрэлдэхүүн процессорын тохирох параметрийг зааж өгсөн тохиолдолд л зөвшөөрнө гэдгийг анхаарна уу.

Нэмж дурдахад нийтлэг модулиудын функцийг тусгай талбарын илэрхийлэлд ашиглах боломжгүй.

[Та холбоосыг үзэхийн тулд бүртгүүлэх ёстой]

1. Тооцоолох (үнэлгээ)- зарим бүлэглэлийн хүрээнд илэрхийллийг үнэлэх зорилготой. Уг функцийг платформын өмнөх хувилбаруудтай нийцүүлэхэд ашигладаг. Үүний оронд CalculateExpression функцийг ашиглахыг зөвлөж байна.

Синтакс:
Тооцоолох(Илэрхийлэл, Бүлэглэх, Тооцооллын төрөл)

Сонголтууд:

  • Илэрхийлэл(шугам). Тооцоолсон илэрхийлэл агуулсан;
  • Бүлэглэх(шугам). Илэрхийллийг үнэлэх агуулгын хүрээнд бүлэглэлийн нэрийг агуулна. Хэрвээ хоосон мөрийг бүлэглэлийн нэр болгон ашигласан бол тооцооллыг одоогийн бүлэглэлийн хүрээнд гүйцэтгэнэ. Хэрэв GrandTotal мөрийг бүлгийн нэр болгон ашигласан бол тооцооллыг нийт дүнгийн хүрээнд гүйцэтгэнэ. Үгүй бол тооцооллыг ижил нэртэй эцэг эхийн бүлгийн хүрээнд хийх болно.
    Жишээлбэл:
    Нийлбэр(Борлуулалтын.Нийтийн эргэлт) / Тооцоолох("Нийт(Борлуулалтын.Нийт)", "Нийт").
    Энэ жишээнд үр дүн нь бүлэглэлийн бичлэгийн "Борлуулалтын хэмжээ" талбарын дүнг бүхэлд нь зохион байгуулалтын ижил талбарын дүнтэй харьцуулсан харьцаа болно.
  • Тооцооллын төрөл(шугам). Хэрэв энэ параметрийг "Нийт Нийт" гэж тохируулсан бол илэрхийлэл нь бүх бүлгийн бүртгэлд тооцогдоно. Хэрэв параметрийн утга нь "Бүлэглэх" бол одоогийн бүлгийн бичлэгийн утгыг тооцоолно.
2. Илэрхийлэлийг үнэлэх (EvalExpression) - зарим бүлэглэлийн хүрээнд илэрхийллийг үнэлэх зорилготой. Энэ функц нь бүлгүүдийн сонголтыг харгалзан үздэг боловч шаталсан сонголтыг харгалздаггүй. Энэ функцийг тухайн бүлгийн бүлгийн сонголт дахь бүлэглэлд ашиглах боломжгүй.

Синтакс:
Тооцоолох илэрхийлэл(Илэрхийлэл, бүлэглэх, тооцооллын төрөл, эхлэл, төгсгөл, эрэмбэлэх, шаталсан эрэмбэлэх, боловсруулахIdenticalorderValues)

Сонголтууд:

  • Илэрхийлэл(шугам). Тооцоолсон илэрхийлэл агуулсан;
  • Бүлэглэх(шугам). Илэрхийллийг үнэлэх агуулгын хүрээнд бүлэглэлийн нэрийг агуулна. Хэрвээ хоосон мөрийг бүлэглэлийн нэр болгон ашигласан бол тооцооллыг одоогийн бүлэглэлийн хүрээнд гүйцэтгэнэ. Хэрэв GrandTotal мөрийг бүлгийн нэр болгон ашигласан бол тооцооллыг нийт дүнгийн хүрээнд гүйцэтгэнэ. Үгүй бол тооцооллыг тухайн нэр бүхий эцэг эхийн бүлгийн хүрээнд хийх болно;
  • Тооцооллын төрөл(шугам). Хэрэв энэ параметрийг "Нийт Нийт" гэж тохируулсан бол илэрхийлэл нь бүх бүлгийн бүртгэлд тооцогдоно. Хэрэв параметрийн утга нь "Бүлэглэх" бол одоогийн бүлгийн бичлэгийн утгыг тооцоолно. Хэрэв параметрийг "Нөөцийн бус бүлэглэл" гэж тохируулсан бол бүлгийн бичлэгийн функцийг нөөцөөр тооцохдоо анхны бүлэглэлийн эхний бүлгийн бичлэгийн хувьд илэрхийлэлийг үнэлнэ. "GroupingNonResource" гэсэн утгатай "GroupingNonResource" гэсэн утгатай CalculateExpression функцийг үнэлэхдээ уг функцийг "Grouping" параметрийн утгаар үнэлэхтэй ижил аргаар үнэлдэг. Өгөгдлийн бүтэц зохион бүтээгч нь талбарыг гаргахдаа өгөгдлийн бүрдлийн бүдүүвчийг үүсгэх үед - бүлэглэлийг гүйцэтгэдэг эх үүсвэрийг зохион байгуулалтад заасан "GroupingNon-Resource" параметрээр CalculateExpression функцийг ашиглан тооцоолсон илэрхийлэлийг байрлуулалтад гаргадаг. Нөөцөөр бүлэглэсэн бусад нөөцийн хувьд ердийн нөөцийн илэрхийлэлийг буцаана. Хэрэв параметрийг "Шатлал" гэж тохируулсан бол илэрхийлэлийг дээд шатлалын бүртгэлд, хэрэв байгаа бол, хэрэв эцэг эхийн шаталсан бүртгэл байхгүй бол бүхэл бүтэн бүлэглэлд үнэлэгдэх ёстой. Бүдүүвч бүтээгч нь Шатлалын бүлгийн талбарт %-ийн илэрхийлэл үүсгэх үед шаталсан тооцооны төрөл бүхий одоогийн бүлэглэлд тооцоолж буй нөөцийн илэрхийллийн CalculateExpression функцтэй нөөцийн илэрхийллийн хамаарлыг агуулсан илэрхийлэл үүсгэдэг.
  • Эхлэх. Фрагментийг аль бүртгэлээс эхлүүлэх, нэгтгэсэн илэрхийллийн функцийг тооцоолох, нэгтгэсэн функцүүдийн гадна талбарын утгыг аль бичлэгээс авахыг заана. Дараахын аль нэгийг агуулсан мөр:
    • "Эхлээд" Эхний бүлгийн бүртгэлийг авах шаардлагатай. Хаалтанд байгаа үгийн дараа та илэрхийллийг зааж өгч болно, үүний үр дүнг бүлэглэх эхнээс офсет болгон ашиглах болно. Үр дүнгийн утга нь тэгээс их бүхэл тоо байх ёстой. Жишээ нь, First(3) – бүлэглэлийн эхнээс гурав дахь бичлэгийг хүлээн авах. Хэрэв эхний бичлэг нь бүлэглэлээс гадуур байвал бүртгэл байхгүй гэж үзнэ. Жишээлбэл, хэрэв 3 бичлэг байгаа бөгөөд та First(4)-ийг авахыг хүсвэл бичлэг байхгүй гэж үзнэ.
    • "Сүүлчийн" Та хамгийн сүүлийн бүлгийн бичлэгийг авах хэрэгтэй. Хаалтанд байгаа үгийн дараа та илэрхийлэлийг зааж өгөх боломжтой бөгөөд үүний үр дүнг бүлгийн төгсгөлөөс офсет болгон ашиглах болно. Үр дүнгийн утга нь тэгээс их бүхэл тоо байх ёстой. Жишээлбэл, Last(3) – бүлгийн төгсгөлөөс гурав дахь бичлэгийг хүлээн авах. Сүүлийн бичлэг нь бүлэглэлээс гадуур байвал бүртгэл байхгүй гэж үзнэ. Жишээлбэл, хэрэв 3 бичлэг байгаа бөгөөд та Last(4) авахыг хүсч байвал ямар ч бичлэг байхгүй гэж үзнэ.
    • "Өмнөх" Та өмнөх бүлгийн бичлэгийг авах хэрэгтэй. Хаалтанд байгаа үгийн дараа та илэрхийллийг зааж өгөх боломжтой бөгөөд үүний үр дүнг одоогийн бүлэглэлийн бичлэгээс буцаах байдлаар ашиглах болно. Жишээ нь, Previous(2) – өмнөх бичлэгээс өмнөхийг авах. Хэрэв өмнөх бичлэг нь бүлэглэлээс гадуур байвал (жишээ нь, хоёр дахь бүлэглэлийн бичлэг нь Өмнөх(3)-г авах шаардлагатай), эхний бүлэглэлийн бичлэгийг авна. Бүлэглэлийн нийт дүнгийн өмнөх бичлэгийг хүлээн авахдаа эхний бичлэгийг авна.
    • "Дараачийн" Та дараагийн бүлгийн бичлэгийг авах хэрэгтэй. Хаалтанд байгаа үгийн дараа та илэрхийлэлийг зааж өгөх боломжтой бөгөөд үүний үр дүнг одоогийн бүлэглэлийн бичлэгээс офсет болгон ашиглах болно. Жишээлбэл, Next(2) – дараагийн бичлэгээс дараагийн бичлэгийг авах. Хэрэв дараагийн бичлэг нь бүлэглэлээс давсан бол бичлэг байхгүй гэж үзнэ. Жишээлбэл, хэрэв 3 оруулга байгаа бөгөөд гурав дахь оруулга нь Next-г хүлээн авбал оруулаагүй гэж үзнэ. Бүлэглэлийн нийлбэр дүнгээр дараагийн бичлэгийг хүлээн авах үед бүртгэл байхгүй гэж үзнэ.
    • "Одоогийн". Та одоогийн бичлэгийг авах хэрэгтэй. Бүлэглэлийн нийлбэрийг олж авахдаа эхний бичлэгийг авна.
    • "Хязгаарын үнэ цэнэ". Заасан утгаараа бичлэг авах хэрэгцээ. Хаалтанд байгаа LimitingValue гэсэн үгийн дараа та фрагментийг эхлүүлэхийг хүсч буй утга бүхий илэрхийлэл буюу эхний эрэмбийн талбарыг зааж өгөх хэрэгтэй. Захиалгын талбарын утга нь заасан утгаас их буюу тэнцүү байгаа эхний бичлэгийг бичлэг болгон буцаана. Жишээлбэл, Хугацааны талбарыг захиалгын талбар болгон ашиглаж байгаа бөгөөд энэ нь 2010-01-01, 2010-02-01, 2010-03-01 гэсэн утгатай бөгөөд та LimitingValue(DateTime(2010)) авахыг хүсвэл , 1, 15)), дараа нь 2010 оны 02/01 огноотой бичлэгийг авна.
  • Төгсгөл. Фрагментийг аль бичлэгт үргэлжлүүлэх, нэгтгэсэн илэрхийллийг тооцоолохыг заана. Дараахын аль нэгийг агуулсан мөр:
    • "Эхлээд"
    • "Сүүлчийн"
    • "Өмнөх"
    • "Дараачийн"
    • "Одоогийн".
    • "Хязгаарын үнэ цэнэ".
  • Эрэмбэлэх. Таслалаар тусгаарлагдсан илэрхийллүүдийг жагсаасан мөр, дарааллыг нь эрэмбэлэх ёстой. Хэрэв заагаагүй бол дарааллыг илэрхийллийг үнэлж буй бүлэгтэй ижил аргаар гүйцэтгэнэ. Илэрхийлэл бүрийн дараа та Өсөх, өсөх дарааллаар эрэмбэлэх, Буурах, буурах дарааллаар эрэмбэлэх, Автоматаар эрэмбэлэх, лавлагаа талбаруудыг иш татсан объектыг захиалах талбараар эрэмблэх түлхүүр үгийг зааж өгч болно. Auto Order гэдэг үгийг Өсөж буй үг болон Descending гэсэн үгтэй хамт хэрэглэж болно.
  • Шаталсан эрэмбэлэх. Ангилахтай төстэй. Шаталсан бүртгэлийг зохион байгуулахад ашигладаг. Хэрэв заагаагүй бол layout compositor нь Sort параметрт заасан дарааллын дагуу захиалга үүсгэдэг.
  • Захиалгын ижил утгыг боловсруулах. Дараахын аль нэгийг агуулсан мөр:
    • "Хамтдаа" гэдэг нь өмнөх болон дараагийн бүртгэлийг тодорхойлохдоо эрэмблэгдсэн бичлэгийн дарааллыг ашиглахыг;
    • "тус тусад нь" гэдэг нь өмнөх болон дараагийн бүртгэлийг эрэмбэлэх илэрхийллийн утгууд дээр үндэслэн тодорхойлно гэсэн үг;
    Жишээлбэл, үр дүнгийн дарааллыг огноогоор эрэмбэлсэн бол:
    1. 2001 оны 1-р сарын 01 Иванов М. 10
    2. 2001 оны 1-р сарын 02 Петров С. 20
    3. 2001 оны 1-р сарын 2-нд Сидоров Р.30
    4. 2001 оны 1-р сарын 03 Петров С. 40
    "Тус тусад нь" гэсэн захиалгын ижил утгыг боловсруулахдаа өмнөх 3-р бичлэгийн хувьд 2-р бичлэг, "Хамтдаа"-г ашиглах үед 1-р бичлэг байх болно. Мөн одоогийн бичлэгийн 2-р бичлэгийн фрагмент нь "Тус тусад нь" байх болно. 2, "Хамтдаа"-ын хувьд - 2, 3-р бичлэг байх болно. Тиймээс, "Тус тусад нь" гэсэн одоогийн бичлэгийн нийт дүн 20, "Хамтдаа" - 50 байх болно. Эхлэл болон "Хамтдаа" гэсэн хэсэгт заасан үед. Төгсгөлийн параметрүүдийн хувьд та "Эхний", "Сүүлийн", "Өмнөх", "Дараах" гэсэн байрлалд офсетийг зааж өгөх боломжгүй. Өгөгдмөл утга нь "Тусдаа" байна.
Жишээ:
Бүлэглэлийн бичлэгийн "Борлуулалтын хэмжээ" талбарын дүнгийн нийт бүдүүвч дэх ижил талбарын дүнтэй харьцуулсан харьцааг олж авах:
Нийлбэр(Борлуулалтын нийлбэр) / Тооцоолох илэрхийлэл("Нийт(Борлуулалтын нийлбэр)", "Нийт").

Энэ жишээ нь одоогийн шатлалын утгыг тооцоолно:
Сонголт
Level() > 0 үед
Дараа нь EvaluateExpression("Лавлагаа", "Шатлал")
Үгүй бол Null
Төгсгөл

Тэмдэглэл:
Энэ функц нь бүлгүүдийн сонголтыг харгалзан үздэг боловч шаталсан сонголтыг харгалздаггүй. Энэ функцийг тухайн бүлгийн бүлгийн сонголт дахь бүлэглэлд ашиглах боломжгүй. Жишээлбэл, Нэршлийн бүлгийг сонгохдоо та Тооцоолсон илэрхийлэл("Нийт (Нийтийн эргэлт)", "Нийт Нийт") > 1000 илэрхийллийг ашиглах боломжгүй. Гэхдээ ийм илэрхийллийг шаталсан сонголтод ашиглаж болно. Хэрэв төгсгөлийн бичлэг нь эхлэлийн бичлэгийн өмнө байгаа бол нарийвчилсан өгөгдлийг тооцоолох, нэгтгэсэн функцийг тооцоолох бүртгэл байхгүй гэж үзнэ. Нийт дүнгийн интервалын илэрхийллийг тооцоолохдоо (Бүлэглэх параметрийг "Нийт Нийт" гэж тохируулсан) нарийвчилсан өгөгдлийг тооцоолох, нэгтгэсэн функцийг тооцоолох бүртгэл байхгүй гэж үздэг. CalculateExpression функцийн илэрхийлэл үүсгэх үед layout compositor, хэрэв эрэмбэлэх илэрхийлэл нь бүлэглэлд ашиглах боломжгүй талбаруудыг агуулж байвал CalculateExpression функцийг NULL-ээр солино.

3. Бүлгийн массиваар илэрхийллийг үнэлэх (Бүлгийн массив бүхий үнэлгээ) - функц нь массивыг буцаадаг бөгөөд элемент бүр нь заасан талбараар бүлэглэх илэрхийлэлийг тооцоолох үр дүнг агуулсан байдаг.

Синтакс:
CalculateExpressionWithGroupArray (Илэрхийлэл, GroupFieldExpressions, SelectRecords, SelectGroups)

Сонголтууд:

  • Илэрхийлэл(Мөр) - үнэлэх илэрхийлэл. Жишээ нь, "Amount(AmountTurnover)";
  • Талбарын илэрхийллийн бүлгүүд
  • Бичлэгийн сонголт
  • Бүлгүүдийн сонголт- бүлгийн бүртгэлд сонгосон сонголт. Жишээ нь: "Amount(AmountTurnover) > &Parameter1".
Жишээ:
Дээд тал нь(CalculateExpressionWithGroupArray("Дүн ("Элгээлтийн дүн)", "Харилцагч тал"));


Байршлын бүтээгч нь зөвхөн CalculateArrayWithGroup функцийг агуулсан тусгай талбарыг харуулах илэрхийлэл үүсгэх үед дэлгэцийн илэрхийлэлийг үүсгэдэг бөгөөд ингэснээр харагдац болон өгөгдлөөр харуулсан өгөгдлийг эрэмбэлдэг.
Жишээлбэл, илэрхийлэл бүхий захиалгат талбарт:
ТооцоолохExpressionWithGroupArray("Дүн ("Хэрэгцээний дүн)", "Харилцагч тал")
Байршлын бүтээгч нь гаралтын хувьд дараах илэрхийллийг үүсгэнэ.
ХолбохМөрүүд(Масив(Захиалга(ИлэрхийлэлийгБүлэглэхҮнэт Хүснэгтээр тооцоолох("Харах(Нийлбэр(ӨгөгдлийнСэтгэл. Дүн Эргэлтийн))), Дүн(ӨгөгдлийнСэт. Дүн Эргэлтийн)", "ӨгөгдлийнСэт. Дансны"), "2")))

4. GroupValueTable-ээр илэрхийллийг тооцоолох (EvalExpressionWithGroupValueTable) - функц нь утгын хүснэгтийг буцаадаг бөгөөд элемент бүр нь заасан талбараар бүлэглэх илэрхийлэлийг тооцоолох үр дүнг агуулсан болно.

Синтакс:
CalculateExpressionWithGroupValueTable (Илэрхийлэл, GroupField илэрхийлэл, Бичлэгийн сонголт, Бүлгийн сонголт)

Сонголтууд:

  • Илэрхийлэл(Мөр) - үнэлэх илэрхийлэл. Нэг мөрөнд таслалаар тусгаарлагдсан олон илэрхийлэл байж болно. Илэрхийлэл бүрийн дараа AS гэсэн нэмэлт түлхүүр үг болон утгын хүснэгтийн баганын нэр байж болно. Жишээ нь: "Харилцагч тал, Дүн (Дэмжээ) Борлуулалтын хэмжээ."
  • Талбарын илэрхийллийн бүлгүүд- таслалаар тусгаарлагдсан бүлэглэх талбаруудын илэрхийлэл. Жишээ нь, "Counterparty, Party";
  • Бичлэгийн сонголт- дэлгэрэнгүй бүртгэлд хэрэглэсэн илэрхийлэл. Жишээлбэл, "Устгасан туг = худал". Хэрэв энэ параметр нь нэгтгэх функцийг ашигладаг бол өгөгдлийг бүрдүүлэхэд алдаа гарна;
  • Бүлгүүдийн сонголт- бүлгийн бүртгэлд сонгосон сонголт. Жишээ нь: "Amount(AmountTurnover) > &Parameter1".
Жишээ:
ТооцоолохExpressionWithGroupValueTable("Харилцагч тал АС, Дүн(Эргэлтийн дүн) ҮНБ-ын борлуулалтын хэмжээ", "Харилцагч тал")

Энэ функцын үр дүн нь эсрэг тал ба борлуулалтын хэмжээ багана бүхий утгын хүснэгт байх бөгөөд үүнд борлуулалтын хэмжээ бүхий эсрэг талууд багтах болно.
Байршлын бүрдүүлэгч нь бүдүүвчийг үүсгэх үед функцын параметрүүдийг өгөгдлийн бүтцийн байршлын талбар болгон хувиргадаг. Жишээлбэл, Account талбарыг DataSet.Account руу хөрвүүлнэ.
Жишээ нь: илэрхийлэлтэй захиалгат талбар:
ТооцоолохExpressionWithGroupValueTable("Данс, Дүн(Эргэлтийн дүн)", "Бүртгэл")
Байршлын бүтээгч нь гаралтын хувьд дараах илэрхийллийг үүсгэнэ.
ХолбохМөрүүд(GetPart(Захиалга(ИлэрхийлэлийгГруппҮнэт Хүснэгтээр тооцоолох("DataSet.Account, DataSet.AccountRepresentation, Sum(DataSet.AmountTurnover), Харах(DataSet.AmountTurnover), DataSet.OrderingField ",",","Тоолох","." ), "2, 4"))

5. Түвшин - функц нь одоогийн бичлэгийн түвшинг олж авахад зориулагдсан.

Синтакс:
Түвшин()

Жишээ:
Түвшин()

6. SequenceNumber - дараагийн серийн дугаарыг авна уу.

Синтакс:
NumberByOrder()

Жишээ:
NumberByOrder()

7. SequenceNumberInGrouping - одоогийн бүлэгт дараагийн дарааллын дугаарыг буцаана.

Жишээ:
NumberByOrderInGroup()

8. Формат - дамжуулсан утгын форматлагдсан мөрийг авах.

Синтакс:
Формат(утга, FormatString)

Сонголтууд:

  • Утга- форматлах шаардлагатай илэрхийлэл;
  • FormatString- форматын мөрийг 1C: Enterprise форматын мөрийн дагуу тохируулсан.
Жишээ:
Формат(Нэхэмжлэх. Баримт бичгийн дүн, "NPV=2")

9. BeginOf Period

Синтакс:
Эхлэх үе (огноо, хугацааны төрөл)

Сонголтууд:

  • огноо(огноо). Тодорхой огноо;
  • Үеийн төрөл
Жишээ:
Эхлэх үе(ОгнооЦаг(2002, 10, 12, 10, 15, 34), "Сар")
Үр дүн: 2002-01-10 00:00:00

10. Төгсгөлийн хугацаа - функц нь өгөгдсөн огнооноос тодорхой огноог сонгоход зориулагдсан.

Синтакс:
Төгсгөлийн үе (огноо, хугацааны төрөл)

Сонголтууд:

  • огноо(огноо). Тодорхой огноо;
  • Үеийн төрөл(шугам). Дараах утгуудын аль нэгийг агуулна: Минут; Цаг; өдөр; Долоо хоног; Сар; улирал; Жил; Арван жил; Хагас жил.
Жишээ:
Төгсгөлийн үе(ОгнооЦаг(2002, 10, 12, 10, 15, 34), "Долоо хоног")
Үр дүн: 10/13/2002 23:59:59

11. НэмэхKDate (ОгнооНэмэх) - функц нь огноонд тодорхой утгыг нэмэх зорилготой юм.

Синтакс:
AddToDate(Илэрхийлэл, Өсөлтийн төрөл, Хэмжээ)

Сонголтууд:

  • Илэрхийлэл(огноо). Анхны огноо;
  • Томруулах төрөл(шугам). Дараах утгуудын аль нэгийг агуулна: Минут; Цаг; өдөр; Долоо хоног; Сар; улирал; Жил; Арван жил; Хагас жил.
  • Хэмжээ(Тоо). Огноог хэр их хэмжээгээр нэмэгдүүлэх шаардлагатай бол бутархай хэсгийг үл тоомсорлодог.
Жишээ:
AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Сар", 1)
Үр дүн: 11/12/2002 10:15:34

12. Огнооны ялгаа - функц нь хоёр огнооны зөрүүг олж авах зориулалттай.

Синтакс:
ДифференцОгноо(Илэрхийлэл1, Илэрхийлэл2, ЯлгааТөрөл)

Сонголтууд:

  • Илэрхийлэл1(огноо). Хасах огноо;
  • Илэрхийлэл2(огноо). Анхны огноо;
  • Төрөл ялгаа(шугам). Нэг утгыг агуулна: Хоёрдугаарт; Минут; Цаг; өдөр; Сар; улирал; Жил.
Жишээ:
ОГНЫ ЯЛГА(DATETIME(2002, 10, 12, 10, 15, 34),
DATETIME(2002, 10, 14, 9, 18, 06), "ӨДӨР")
Үр дүн: 2

13. Дэд мөр - энэ функц нь мөрөөс дэд мөр гаргаж авахад зориулагдсан.

Синтакс:
Дэд мөр(мөр, байрлал, урт)

Сонголтууд:

  • Шугам(шугам). Дэд мөрийг гаргаж авсан мөр;
  • Байрлал(Тоо). Мөрөөс гаргаж авах дэд мөр эхлэх тэмдэгтийн байрлал;
  • Урт(Тоо). Хуваарилагдсан дэд мөрийн урт.
Жишээ:
SUBSTRING(Данс.Хаяг, 1, 4)

14. Утасны урт - функц нь мөрний уртыг тодорхойлох зориулалттай.

Синтакс:
StringLength(String)

Параметр:

  • Шугам(шугам). Урт нь тодорхойлогдсон мөр.
Жишээ:
Шугам(Харилцагч талууд.Хаяг)

15. жил- энэ функц нь Date төрлийн утгаас оныг гаргаж авахад зориулагдсан.

Синтакс:
Он (огноо)

Параметр:

  • огноо(огноо). Оныг тодорхойлсон огноо.
Жишээ:
ЖИЛ(зардал.Огноо)

16. улирал - энэ функц нь Date төрлийн утгаас улирлын тоог гаргаж авахад зориулагдсан. Улирлын тоо нь ихэвчлэн 1-ээс 4 хооронд хэлбэлздэг.

Синтакс:
Улирал(огноо)

Параметр:

  • огноо(огноо). Улирлыг тодорхойлсон огноо
Жишээ:
QUARTER(зардал.Огноо)

17. Сар - энэ функц нь Огноо төрлийн утгаас сарын дугаарыг гаргаж авахад зориулагдсан. Сарын тоо ихэвчлэн 1-ээс 12 хооронд хэлбэлздэг.

Синтакс:
Сар(огноо)

Параметр:

  • огноо(Огноо). Тухайн сарыг тодорхойлсон огноо.
Жишээ:
САР(Зардал.Огноо)

18. Жилийн өдөр (DayOfYear) - энэ функц нь Огноо төрлийн утгаас тухайн жилийн өдрийг олж авахад зориулагдсан. Жилийн өдөр ихэвчлэн 1-ээс 365 (366) хооронд хэлбэлздэг.

Синтакс:
Жилийн өдөр (огноо)

Параметр:

  • огноо(огноо). Жилийн өдрийг тогтоосон огноо.
Жишээ:
ӨДРИЙН ЖИЛ(Зардлын Данс. Огноо)

19. Өдөр- энэ функц нь Огноо төрлийн утгаас тухайн сарын өдрийг олж авахад зориулагдсан. Сарын өдөр ихэвчлэн 1-ээс 31 хүртэл байдаг.

Синтакс:
Өдөр(огноо)

Параметр:

  • огноо(огноо). Сарын өдрийг тогтоосон огноо.
Жишээ:
ӨДӨР(зардал.Огноо)

20. Долоо хоног - энэ функц нь Огноо төрлийн утгаас тухайн жилийн долоо хоногийн дугаарыг авахад зориулагдсан. Жилийн долоо хоногуудыг 1-ээс эхлэн дугаарлана.

Синтакс:
Долоо хоног(огноо)

Параметр:

  • огноо(огноо). Долоо хоногийн тоог тогтоосон огноо.
Жишээ:
ДОЛОО ХОНОГ(Зардал. Огноо)

21. Долоо хоногийн өдөр - энэ функц нь Огноо төрлийн утгаас долоо хоногийн өдрийг олж авахад зориулагдсан. Долоо хоногийн ердийн өдөр нь 1 (Даваа) -аас 7 (Ням гараг) хооронд хэлбэлздэг.

Синтакс:
Долоо хоногийн өдөр (огноо)

Параметр:

  • огноо(огноо). Долоо хоногийн өдрийг тогтоосон огноо.
Жишээ:
ДОЛОО ХОНОГИЙН ӨДӨР(Зардал.Огноо)

22. Цаг- энэ функц нь Date төрлийн утгаас өдрийн цагийг олж авахад зориулагдсан. Өдрийн цаг 0-ээс 23 цаг хүртэл байна.

Синтакс:
Цаг(огноо)

Параметр:

  • огноо(огноо). Өдрийн цагийг тодорхойлсон огноо.
Жишээ:
ЦАГ(зардал.Огноо)

23. Минут - энэ функц нь Огноо төрлийн утгаас цагийн минутыг олж авахад зориулагдсан. Цагийн минут 0-ээс 59 хооронд хэлбэлздэг.

Синтакс:
Минут(огноо)

Параметр:

  • огноо(огноо). Цагийн минутыг тогтоосон огноо.
Жишээ:
МИНУТ(зардал.Огноо)

24. Хоёрдугаарт - энэ функц нь Огноо төрлийн утгаас минутын секундийг авах зориулалттай. Нэг минутын секунд нь 0-ээс 59 хооронд хэлбэлздэг.

Синтакс:
Хоёр дахь (огноо)

Параметр:

  • огноо(огноо). Минутын секундийг тодорхойлсон огноо.
Жишээ:
SECOND(Хугацаа дуусах огноо)

25. Жүжигчин - энэ функц нь нийлмэл төрлийг агуулж болох илэрхийллээс төрлийг гаргаж авахад зориулагдсан. Хэрэв илэрхийлэл нь шаардлагатай төрлөөс өөр төрлийг агуулж байвал NULL утга буцаана.

Синтакс:
Экспресс(Илэрхийлэл, Төрөл заалт)

Сонголтууд:

  • Илэрхийлэл- хувиргах илэрхийлэл;
  • Төрөл заалт(шугам). Төрөл мөр агуулсан. Жишээлбэл, "Тоо", "Мөр" гэх мэт. Анхдагч төрлөөс гадна энэ мөрөнд хүснэгтийн нэрийг агуулж болно. Энэ тохиолдолд заасан хүснэгтийн лавлагааг илэрхийлэх оролдлого хийх болно.
Жишээ:
Экспресс(Data.Props1, "Тоо(10,3)")

26. IsNull (IsNull) - Энэ функц нь эхний параметрийн утга NULL байвал хоёр дахь параметрийн утгыг буцаана. Үгүй бол эхний параметрийн утгыг буцаана.

Синтакс:
IsNull(Илэрхийлэл1, Илэрхийлэл2)

Сонголтууд:

  • Илэрхийлэл1- шалгах үнэ цэнэ;
  • Илэрхийлэл2- Хэрэв илэрхийлэл1 нь NULL байвал утгыг буцаана.
Жишээ:
Тийм NULL(Дүн (Борлуулалтын дүн), 0)

27.ACos- радиан дахь нумын косинусыг тооцоолно.

Синтакс:
ACos(Илэрхийлэл)

Параметр:

  • Илэрхийлэл(Тоо). Өнцгийг тодорхойлох косинусын утга (-1 ... 1 мужид).
28.ASin- радиан дахь арксиныг тооцоолно.

Синтакс:
ASin(Илэрхийлэл)

Параметр:

  • Илэрхийлэл(Тоо). Өнцгийг тодорхойлох синусын утга (-1 ... 1 мужид).
29.АТан- радиан дахь артангенсыг тооцоолно.

Синтакс:
ATan(илэрхийлэл)

Параметр:

  • Илэрхийлэл(Тоо). Өнцгийг тодорхойлох шүргэгч утга.
30. Cos- косинусыг тооцоолно.

Синтакс:
Cos(Илэрхийлэл)

Параметр:

  • Илэрхийлэл
31. Exp- e тоог нэг зэрэгтэй болгох.

Синтакс:
Exp(Илэрхийлэл)

Параметр:

  • Илэрхийлэл(Тоо). Зэрэглэлийн утга учир.
32. Бүртгэл- натурал логарифмыг тооцоолно.

Синтакс:
Бүртгэл (Илэрхийлэл)

Параметр:

  • Илэрхийлэл
33. Лог10- 10 суурьтай X-ийн логарифмыг тооцоолно.

Синтакс:
Лог10(Илэрхийлэл)

Параметр:

  • Илэрхийлэл(Тоо). Анхны тоо 0-ээс их байна.
34. Пау- экспоненциал.

Синтакс:
Хүч (Үндсэн, Үзүүлэлт)

Сонголтууд:

  • Суурь(Тоо). Экспонентацийн үйлдлийн үндэс.
  • Индекс(Тоо). Экспонент.
35. Нүгэл- синусыг тооцоолно.

Синтакс:
Нүгэл(Илэрхийлэл)

Параметр:

  • Илэрхийлэл(Тоо). Радианаар тодорхойлсон.
36. Sqrt- квадрат язгуурыг тооцдог.

Синтакс:
Sqrt(Илэрхийлэл)

Параметр:

  • Илэрхийлэл(Тоо). Сөрөг бус тоо.
37. Тан- тангенсыг тооцоолно.

Синтакс:
Бор (Илэрхийлэл)

Параметр:

  • Илэрхийлэл(Тоо). Өнцгийг тодорхойлох синусын утга.
38. Дугуй- анхны дугаарыг шаардлагатай битийн гүн хүртэл дугуйруулна. Дугуйлах горим нь стандарт (1.5-аас 2).

Синтакс:
Env(Илэрхийлэл, Битийн гүн)

Сонголтууд:

  • Илэрхийлэл(Тоо). Жинхэнэ дугаар;
  • Битийн гүн(Тоо). Бөөрөнхийлөх аравтын орны тоо.
39. Int- тооны бутархай хэсгийг таслана.

Синтакс:
Объект (илэрхийлэл)

Параметр:

  • Илэрхийлэл(Тоо). Бутархай тоо.
40. Нийтлэг модулиудын функцууд

Өгөгдлийн бүтцийн хөдөлгүүрийн илэрхийлэл нь дэлхийн нийтлэг тохиргооны модулиудын функцүүдийн дуудлагыг агуулж болно. Ийм функцийг дуудахын тулд нэмэлт синтакс шаардлагагүй.

Жишээ:
Товчилсон нэр(Баримт бичиг.Холбоос, Баримт бичиг.Огноо, Баримт бичиг.Дугаар)

Энэ жишээнд "Товчилсон нэр" функцийг ерөнхий тохиргооны модулиас дуудах болно.
Нийтлэг модулийн функцуудыг ашиглахыг зөвхөн өгөгдлийн бүрэлдэхүүн процессорын тохирох параметрийг зааж өгсөн тохиолдолд л зөвшөөрнө гэдгийг анхаарна уу.
Нэмж дурдахад нийтлэг модулиудын функцийг тусгай талбарын илэрхийлэлд ашиглах боломжгүй.

41. Гомдол - энэ функц нь анхдагч бус төрлийн дамжуулсан утгын тэмдэгт мөрийг буцаана. Анхдагч төрлийн утгуудын хувьд утгыг өөрөө буцаана.

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

Жишээ:
Танилцуулга (Харилцагч тал)

42. Мөр - энэ функц нь дамжуулсан утгыг мөр болгон хувиргадаг.

Хэрэв массив эсвэл утгын хүснэгтийг параметр болгон ашигласан бол функц нь ";" тэмдэгтээр тусгаарлагдсан массивын бүх элементүүдийн тэмдэгт мөрийг агуулсан мөрийг буцаана. Хэрэв аль нэг элемент хоосон тэмдэгт тэмдэгттэй бол түүний дүрслэлийн оронд " тэмдэгт мөр гарч ирнэ.<Пустое значение>".

Жишээ:
Мөр(Борлуулалтын огноо)

43. ValueIsFilled

NULL утгуудын хувьд Undefined нь үргэлж Худал буцаана.
Булийн утгуудын хувьд энэ нь үргэлж Үнэнийг буцаана.
Бусад төрлүүдийн хувьд тухайн төрлийн өгөгдмөл утгаас утга нь өөр байвал Үнэнийг буцаана.

Жишээ:
ValueFilled(Хүргэх огноо)

44. LevelInGroup - энэ функц нь бүлэгт хамаарах одоогийн бичлэгийн түвшинг авдаг.

Шаталсан бүлэгт бичлэгийн үүрлэх түвшинг олж авахад ашиглаж болно.

Жишээ:
LevelInGroup()

45. ValueType

Синтакс:
ValueType(Илэрхийлэл)

Параметр:

  • Илэрхийлэл(шугам). Мөрийн утгын төрөл.
Функцийн параметрийн утгын төрлийг агуулсан Type төрлийн утгыг буцаана.

Сайн байцгаана уу, эрхэм уншигчид минь! Байршлын системийн үндсийг үргэлжлүүлэн авч үзье. Энэ цуврал нийтлэлээс та өгөгдлийн багц асуулга болон ердийн асуулга хоёрын ялгааг олж мэдсэн. Та мөн виртуал хүснэгтүүдийн параметрүүдийг үзэж, асуулгын хэлний өргөтгөлтэй танилцсан. Одоо эндээс юу сурахаа харахын тулд агуулгыг харна уу. Амжилт хүсье!

SKD илэрхийллийн хэлний функцууд.

Зохион байгуулалтад асуулга барих үед түүний дотор асуулгын хэлний стандарт функцуудыг ашигладаг. Гэхдээ хандалтын хяналтын систем нь нэмэлт функцийг тодорхойлох боломжийг олгодог. Зарим функцууд нь асуулгын хэл дээрх функцуудтай төстэй боловч өөр синтакс ашигладаг. Жишээлбэл, "Үеийн эхлэл" функц:

Эхлэх үе(ОгнооЦаг(2002, 10, 12, 10, 15, 34), "Сар")

Энэ функц нь хоёр дахь параметрийн асуулгын хэлний функцээс ялгаатай. Энд "Сар" тэмдэгт мөрийг ашигладаг бол асуулгын хэлний функцэд MONTH үсэг хэрэглэгддэг.

Тохируулагчийг нээх замаар функцүүдийн тайлбарыг олж болно. Тусламж -> Агуулга -> Өгөгдлийн бүрдлийн систем -> Өгөгдлийн бүрдлийн системийн илэрхийллийн хэл -> Өгөгдлийн бүрдлийн системийн илэрхийллийн хэлний функцууд.

SKD илэрхийллийн хэлний функцуудыг асуулгын хэлэнд ашиглах боломжгүй тохиолдолд хаана ашиглах вэ?

  • "Илэрхийлэл" баганын таб дээр.
  • "Илэрхийлэл" баганын "Параметрүүд" таб дээр.
  • "Захиалгат талбарууд" баганын "Тохиргоо" таб дээр. Хэрэглэгч өөрийн талбаруудыг үүсгэж, тэдгээрт зориулж илэрхийлэл бичих боломжтой.
  • "Өгөгдлийн багц" таб дээрх "Төлөөлөлийн илэрхийлэл" ба "Эхлэлийг эрэмбэлэх" баганад.
    Эдгээр нь өгөгдлийн найрлагын талбаруудыг тохируулах илэрхийллүүд юм.

ACS-ийн үйл ажиллагааны онцлог.

Датасетийн асуулга ашиглах үед хэд хэдэн функц гарч ирнэ
ACS-ийг оновчтой болгох үед.

  • Үүссэн асуулга нь тайлангийн сонголтын тохиргооны дагуу багассан.
    Учир нь үүссэн асуулгын зарим талбарыг устгасан.
  • Нэмж дурдахад хэрэв асуулгад түр зуурын хүснэгтүүдийг дүрсэлсэн бөгөөд өөр хаана ч ашиглагдаагүй бол хүснэгтүүдийг үр дүнгийн асуулгаас устгаж болно.
  • Өгөгдлийн багцад мөн адил хамаарна, хэрэв бид олон өгөгдлийн багцыг схемд дүрсэлсэн боловч тэдгээрийн зөвхөн заримыг нь ашиглавал систем зөвхөн ашигласан өгөгдлийн багцыг мэдээлэл олж авахын тулд ашиглах бөгөөд үлдсэн өгөгдлийн багцыг устгах болно. үүссэн өгөгдлийн байршлын зураглал.

Эдгээр шинж чанарууд нь сөрөг үр дагаварт хүргэж болох уу? Тийм ээ, учир нь зарим тохиолдолд бидний хүссэн хүсэлт гарахгүй. Тиймээс нарийн төвөгтэй асуулга үүсгэхдээ эдгээр шинж чанаруудыг анхаарч үзэх хэрэгтэй.

ACS талбаруудын үндсэн тохиргоо.

"Өгөгдлийн багц" таб дээр асуулгын төрлийн өгөгдлийн багц үүсгэх үед байршлын талбаруудыг автоматаар бөглөнө. Таны харж байгаагаар талбарууд нь олон тооны тохиргоог агуулдаг.

Багана "Талбар"мэдээллийн сангаас (IB) олж авсан талбарын нэрийг агуулдаг.
Хүсэлтэд хатуу кодлогдсон хувиршгүй утга. Энэ нь хүсэлтийн өөр нэртэй тохирч байна.

Гэхдээ нэг онцлог бий. Хэрэв бид "Талбарын нэр" баганын "Нэгдмэл/Алиас" таб дээрх Query Builder-ийн "Зүйл" гэх мэт өөр нэрийг "Бүтээгдэхүүн" болгон өөрчилвөл "Өгөгдөл" дээр "Бүтээгдэхүүн" гэсэн шинэ талбар гарч ирнэ. Байршлын "Багцууд" таб, гэхдээ нэгэн зэрэг "Нэршил" талбар хэвээр байна. Энэ нь Автоматаар гүйцээх тугийг тохируулсантай холбоотой юм. Энэхүү тохиргоог хийснээр систем нь "Бүтээгдэхүүн" талбар нь "Зүйл" талбартай ижил гэдгийг ойлгохгүй байгаа тул талбарыг хоёр удаа нэмнэ.

Энэ загвар нь хэрэглэгчийн туршлагад хор хөнөөл учруулж болох уу? Тиймээ. Эцсийн эцэст тайлангийн сонголтын тохиргоонд "Бүтээгдэхүүн" ба "Зүйл" гэсэн хоёр талбар гарч ирнэ. Эдгээр сонголтууд нь адилхан боловч тэдгээр нь хэрхэн ялгаатай байгаа нь хэрэглэгчдэд тодорхойгүй байх болно.

Хэдийгээр талбарын тохиргооны "Өгөгдлийн багц" таб дээрх "Талбарын хязгаарлалт" - "Нөхцөл" ба "Дэлгэрэнгүй мэдээллийг хязгаарлах" - "Нөхцөл" баганын нүдийг чагталснаар "Нэршил" талбарын харагдах байдлыг үгүйсгэж болно. Нэмж дурдахад та "Автоматаар бөглөх" гэсэн тэмдэглэгээг арилгаж, "Өгөгдлийн бүрдэл" таб дээрх Query Designer-ийн бүх талбарыг бөглөж болно.

Багана "Зам"Бид бүх өгөгдлийн байршлын таб дээрх талбарт хэрхэн хандахыг зааж өгдөг. Өөрийн үзэмжээр өөрчилж болох үнэ цэнэ. Замын нэрэнд зай үлдээхийг зөвшөөрдөг боловч нэрийг дөрвөлжин хаалтанд оруулсан болно. Гэхдээ энэ нь үйлчилгээний талбар учраас зам нь хоосон зайгүй байвал илүү дээр юм. "Гарчиг" баганыг шалгаж гарчгийг өөрчлөх нь дээр.

Нэр нь үргэлж ижил байдаг бол яагаад "Талбар" ба "Зам" гэсэн хоёр өөр талбар үүсгэх шаардлагатай болсон бэ? Учир нь олон тооны өгөгдлийн багц ашигладаг. Жишээлбэл, хэрэв хоёрдахь өгөгдлийн багц нь нэгдэл юм бол талбаруудыг тохируулахын тулд та ижил замтай байх хэрэгтэй. Бусад тохиолдолд, нэр нь тодорхой бол замуудыг өөрчлөхгүйгээр үлдээж болно.

"Зам" баганатай ажиллахын тулд та дараах аргыг ашиглаж болно. Замыг зааж өгснөөр элементийн виртуал шинж чанаруудыг үүсгэж болно. Жишээлбэл, "Бүтээгдэхүүн" шинж чанар дотор "Чанар" шинж чанарыг байрлуулъя. "Чанар" шинж чанарын "Зам" талбарыг "Бүтээгдэхүүн. Чанар" болгон өөрчилье. Одоо "Сонгосон талбарууд" таб дахь "Тохиргоо" таб дээр бид "Чанар" талбарыг олохгүй, гэхдээ энэ нь "Бүтээгдэхүүн" талбар дотор гарч ирнэ.

Хандалтын хязгаарлалтын тохиргоог нарийвчлан авч үзье. Таны харж байгаагаар баганад нэвтрэх боломжийг хязгаарлах хоёр мөр байна "Талбарын хязгаар"Тэгээд "Дэлгэрэнгүй мэдээллийг хязгаарлах".

ACS талбарын хязгаарлалтын багана

"Талбарын хязгаарлалт" багана нь хязгаарлалтыг талбай дээр өөрөө байрлуулна гэсэн үг юм. "Дэлгэрэнгүй мэдээллийг хязгаарлах" багана нь тухайн талбар нь лавлах эсвэл баримт бичиг гэх мэт нарийн төвөгтэй өгөгдлийн төрөлд хамаарах бол энэ талбарын үүрлэсэн дэлгэрэнгүй мэдээлэлд хязгаарлалт тавина гэсэн үг юм.

Мөр бүр өөр дөрвөн баганад хуваагдана. Хэрэв тугийг талбар эсвэл энэ талбарын дэлгэрэнгүй мэдээлэлд тохируулсан бол:

  • Талбай, дараа нь тэдгээрийг "Сонгосон талбарууд" таб дахь "Тохиргоо" таб дээрээс сонгох боломжгүй болно.
  • Нөхцөл байдал, дараа нь тэд "Сонголт" таб дахь "Тохиргоо" таб дээрх нөхцөл байдлаар боломжгүй болно.
  • Бүлэг, дараа нь "Тохиргоо" таб дээр шинэ бүлэг үүсгэх үед тэдгээрээр бүлэглэх боломжгүй болно.
  • Зохион байгуулж байна, дараа нь тэдгээрийг "Ангилах" таб дахь "Тохиргоо" таб дээр захиалах боломжгүй болно.

Багана "Төлөөллийн илэрхийлэл"тайлангийн үр дүнд талбарын танилцуулгыг өөрчлөх шаардлагатай болсон. Жишээлбэл, та зөвхөн бүтээгдэхүүний нэр төдийгүй түүний нийтлэлийн дугаарыг харуулах хэрэгтэй. Тиймээс, энэ баганад та дараах зүйлийг бичиж болно.

Бүтээгдэхүүн. Нийтлэл + "-" + Бүтээгдэхүүн. Нэр

Энэ талбарт бид SKD хэлний бүх боломжуудыг ашиглаж, нийтлэг модулиудын функцүүдэд хандах боломжтой.

Хэрэв тохиргоонд "For SKD" нэртэй ерөнхий модуль байгаа бөгөөд энэ модульд "Link" параметртэй "GetView" ерөнхий ("Экспорт" түлхүүр үгтэй) функцийг тодорхойлсон бол "Харах илэрхийлэл" талбарт бид бичих болно:

SKD-ийн хувьд. GetView(Бүтээгдэхүүн)

Гэхдээ та энэ боломжийг анхааралтай ашиглах хэрэгтэй, ялангуяа ерөнхий модулийн функц нь мэдээллийн санд хандахтай холбоотой бол энэ хандалт нь тайлангийн бүх өгөгдлийг хүлээн авсны дараа хийгддэг. Үнэн хэрэгтээ мөр бүрийн хувьд асуулга дахин хийгдэх болно.

Багана "Захиалгын илэрхийлэл"стандарт бус ангиллыг тодорхойлоход шаардлагатай. Энд та "Харах илэрхийлэл" талбартай ижил бүтцийг ашиглаж болно.

За би чамд амласан ёсоороо бүгдийг хэлсэн. Хэрэв танд асуулт байвал сэтгэгдэл дээр бичээрэй. Материал таны оюун санаанд үлдэхийн тулд би тест бэлдэх болно.

Бизнесийн програм хангамжийн хамгийн чухал чиглэлүүдийн нэг бол тайлан гаргах явдал юм. Бизнесийн хувь заяа нь одоо байгаа тайланг бизнесийн (болон хууль тогтоомжийн) өөрчлөгдөж буй хэрэгцээ шаардлагад нийцүүлэн өөрчлөх, татварын албаны тайлан ч бай шинийг бий болгох нь хэр хялбар байхаас шалтгаална. эсвэл улирлын болон бусад хүчин зүйлээс барааны эрэлтийн хамаарлын диаграмм . Хүчирхэг, уян хатан тайлангийн систем нь шаардлагатай өгөгдлийг системээс гаргаж авахад хялбар болгож, ойлгомжтой хэлбэрээр танилцуулж, эцсийн хэрэглэгчдэд өгөгдлийг шинэ нүдээр харахын тулд стандарт тайланг дахин тохируулах боломжийг олгодог. бизнесийн систем хичээх ёстой.

1C: Enterprise платформ дээр "Өгөгдлийн бүрдлийн систем" (DCS гэж товчилсон) гэж нэрлэгддэг механизм нь тайлан гаргах үүрэгтэй. Энэ нийтлэлд бид ACS механизмын санаа, архитектур, түүний боломжуудын талаар товч тайлбар өгөхийг хичээх болно.


ACS нь тайлангийн тунхаглалд суурилсан механизм юм. Хандалтын хяналтын систем нь тайлан гаргах, нарийн төвөгтэй бүтэцтэй мэдээллийг харуулах зориулалттай. Дашрамд дурдахад, тайлан боловсруулахаас гадна ACS механизмыг 1C: Enterprise-д динамик жагсаалтад ашигладаг бөгөөд жагсаалтын мэдээллийг баялаг функцээр харуулах хэрэгсэл (хавтгай ба шаталсан жагсаалтыг харуулах, мөрийн нөхцөлт дизайн, бүлэглэл гэх мэт). ).

Жаахан түүх

1C: Enterprise 8 платформын хамгийн анхны хувилбар болох 8.0 хувилбарт тайлангуудыг дараах байдлаар хийсэн.
  1. Нэг буюу хэд хэдэн асуулга нь 1С асуулгын хэлээр бичигдсэн (SQL-тэй төстэй хэл, энэ талаар доор дэлгэрэнгүй бичсэн).
  2. Гүйцэтгэсэн асуулгын үр дүнг хүснэгтийн баримт бичиг эсвэл диаграм руу шилжүүлэх кодыг бичсэн. Код нь асуулгад хийх боломжгүй ажлыг хийх боломжтой - жишээлбэл, суулгасан 1С хэлийг ашиглан утгыг тооцоолсон.
Арга нь энгийн, гэхдээ хамгийн тохиромжтой биш - хамгийн бага харааны тохиргоо байдаг, бүх зүйлийг "гараас" програмчлах ёстой. "1С: Аж ахуйн нэгж 8" цоо шинэ платформын тэр үеийн хамгийн том хөзөрүүдийн нэг бол хэрэглээний шийдэлд гараар бичих шаардлагатай кодын хэмжээг багасгах, ялангуяа харааны дизайн юм. Мэдээллийн механизмд ижил замаар явах нь логик юм. Үүнийг шинэ механизм болох "Өгөгдлийн бүрдлийн систем" боловсруулах замаар хийсэн.

Хандалтын хяналтын системийн үндэс суурийг бүрдүүлсэн санаануудын нэг нь тайлангийн уян хатан байдал, тохируулга байсан бөгөөд энэ нь хөгжүүлэгч болон эцсийн хэрэглэгчдэд хүртээмжтэй байв. Би эцсийн хэрэглэгчдэд хөгжүүлэгчтэй ижил тайлангийн загвар гаргах хэрэгсэлд хандах эрхийг олгохыг хүсч байна. Хүн бүр ашиглах боломжтой нэг багц хэрэгслийг бий болгох нь логик юм. Хэрэгслүүд нь эцсийн хэрэглэгчийн оролцоог шаарддаг тул тэдгээрийн програмчлалын хэрэглээг хамгийн бага хэмжээнд хүртэл бууруулж (үүнийг бүрмөсөн арилгах нь зүйтэй), харааны тохиргоог дээд зэргээр ашиглах ёстой гэсэн үг юм.

Асуудлын томъёолол

Хөгжлийн багийн өмнө хийх ажил бол алгоритм дээр (жишээ нь код бичих замаар) бус харин тайлан үүсгэх тунхаглалын аргад суурилсан тайлангийн системийг бий болгох явдал байв. Мөн бид асуудлыг амжилттай шийдвэрлэсэн гэж үзэж байна. Бидний туршлагаас харахад шаардлагатай тайлангийн 80 орчим хувийг ACS ашиглан нэг мөр кодгүйгээр (тооцоолсон талбарт томъёо бичихээс бусад) ихэвчлэн харааны тохиргоогоор дамжуулан хийж болно.
SDS-ийн анхны хувилбарыг боловсруулахад 5 орчим жил зарцуулсан.

Хоёр хэл

Тайлан үүсгэхэд хоёр хэл оролцдог. Нэг нь өгөгдөл сэргээхэд ашигладаг асуулгын хэл юм. Хоёр дахь нь системийн янз бүрийн хэсэгт, тухайлбал, өгөгдлийн найрлагын тохиргоонд хэрэглэгчийн талбаруудын илэрхийллийг тайлбарлах илэрхийлэл бичихэд зориулагдсан өгөгдлийн найрлагын илэрхийллийн хэл юм.

Асуулгын хэл

Асуулгын хэл нь SQL дээр суурилсан бөгөөд SQL-ийн мэдлэгтэй хүмүүст сурахад хялбар байдаг. Жишээ хүсэлт:

SQL асуулгын стандарт хэсгүүдийн аналогийг харахад хялбар байдаг - SELECT, FROM, GROUP BY, ORDER BY.

Үүний зэрэгцээ, асуулгын хэл нь санхүү, эдийн засгийн асуудлын онцлогийг тусгах, хэрэглээний шийдлүүдийг боловсруулах хүчин чармайлтыг нэмэгдүүлэхэд чиглэсэн олон тооны өргөтгөлүүдийг агуулдаг.

  • Цэг ашиглан талбарт хандах. Хэрэв хүснэгтийн талбарууд нь лавлагааны төрлийн (өөр хүснэгтийн объектуудын холбоосыг хадгалдаг) бол хөгжүүлэгч нь хүсэлтийн текстэнд "." -ээр дамжуулан тэдгээрт хандах боломжтой бөгөөд систем нь үүрлэх түвшний тоог хязгаарладаггүй. ийм холбоосуудын (жишээлбэл, Хэрэглэгчийн захиалга. Гэрээ. Байгууллага. Утас).
  • Олон хэмжээст ба олон түвшний үр дүнг бий болгох. Нийт ба дэд нийлбэрийг бүлэглэл, шатлалыг харгалзан бүрдүүлдэг бөгөөд нэгтгэн дүгнэх замаар түвшингүүдийг ямар ч дарааллаар дамжих боломжтой бөгөөд цаг хугацааны хэмжигдэхүүнүүдийн дагуу нийлбэрийн зөв бүтэцтэй байдлыг хангана.
  • Виртуал хүснэгтийг дэмжих. Системээс өгсөн виртуал хүснэгтүүд нь нарийн төвөгтэй асуулга үүсгэх шаардлагагүйгээр ихэнх хэрэглээний ажлуудад бараг бэлэн өгөгдлийг олж авах боломжийг олгодог. Тиймээс виртуал хүснэгт нь тодорхой хугацааны туршид бүтээгдэхүүний үлдэгдлийн талаархи мэдээллийг өгөх боломжтой. Үүний зэрэгцээ виртуал хүснэгтүүд нь хадгалагдсан мэдээллийг хамгийн их ашигладаг, жишээлбэл, урьд нь тооцоолсон нийт дүн гэх мэт.
  • Түр зуурын ширээ. Асуулгын хэл нь асуулгад түр зуурын хүснэгтүүдийг ашиглах боломжийг олгодог. Тэдгээрийн тусламжтайгаар та асуулгын гүйцэтгэлийг сайжруулж, зарим тохиолдолд блоклох тоог бууруулж, асуулгын текстийг уншихад хялбар болгох боломжтой.
  • Багц хүсэлт. Түр хүснэгтүүдтэй ажиллахад илүү тохиромжтой болгохын тулд асуулгын хэл нь багц асуулгатай ажиллахыг дэмждэг тул түр зуурын хүснэгт үүсгэх, түүний хэрэглээг нэг асуулгад байрлуулсан болно. Багц хүсэлт нь цэг таслалаар тусгаарлагдсан хүсэлтүүдийн дараалал юм (";"). Багц дахь хүсэлтүүд ар араасаа биелдэг. Ашигласан аргаас хамааран багцын хүсэлтийг гүйцэтгэх үр дүн нь багц дахь сүүлчийн хүсэлтээр буцаасан үр дүн эсвэл багц дахь асуулга дагаж буй дарааллаар багц дахь бүх асуулгын үр дүнгийн массив байх болно. .
  • Лавлагааны талбаруудын дүрслэлийг татаж байна. Объектын хүснэгт бүр (лавлах ном эсвэл баримт бичиг хадгалагддаг) "Харах" виртуал талбартай байдаг. Энэ талбар нь объектын текст дүрслэлийг агуулсан бөгөөд тайлан бүтээгчийн ажлыг хөнгөвчилдөг. Тиймээс, баримт бичгийн хувьд энэ талбар нь бүх гол мэдээллийг агуулдаг - баримт бичгийн төрлийн нэр, дугаар, огноо (жишээлбэл, "2017.07.06-ны 17:49:14-ээс худалдаа 000000003"), хөгжүүлэгчийг хадгалсан. тооцоолсон талбар бичих.
  • гэх мэт.
Хүсэлтийн механизм нь хүсэлтийг гүйцэтгэсэн хэрэглэгчийн үүрэг (жишээ нь, хэрэглэгч зөвхөн харах эрхтэй өгөгдлийг харах болно) болон функциональ сонголтуудыг (өөрөөр хэлбэл, хүсэлтийн дагуу) харгалзан хүсэлтийг автоматаар өөрчилдөг. програмын шийдлийн функцэд тохируулагдсан хүмүүстэй).

Мөн хандалтын хяналтын системд зориулсан тусгай асуулгын хэлний өргөтгөлүүд байдаг. Өргөтгөл нь буржгар хаалтанд хавсаргаж, хүсэлтийн хэсэгт шууд байрлуулсан тусгай синтаксийн зааврыг ашиглан хийгддэг. Өргөтгөлүүдийг ашигласнаар хөгжүүлэгч эцсийн хэрэглэгч тайланг өөрчлөхдөө ямар үйлдлүүдийг гүйцэтгэх боломжтой болохыг тодорхойлдог.

Жишээлбэл:

  • СОНГОХ. Энэ өгүүлбэр нь хэрэглэгчийн гаралтад зориулж сонгох боломжтой талбаруудыг тайлбарласан болно. Энэ түлхүүр үгийн дараа асуулгын үндсэн жагсаалтаас тохиргоо хийх боломжтой талбаруудын нэрс таслалаар тусгаарлагдана. Жишээ: (Сонгосон зүйл, агуулах)
  • ХААНА. Хэрэглэгч сонголт хийх боломжтой талбаруудыг тайлбарласан болно. Энэ санал нь хүснэгтийн талбаруудыг ашигладаг. Сонголтын жагсаалтын талбарын нэр ашиглахыг зөвшөөрөхгүй. Холбооны хэсэг бүр өөрийн WHERE элементийг агуулж болно. Жишээ нь: (ХАААН Зүйл.*, Агуулах), (ХААНА Баримт бичиг.Огноо >= &ЭхлэхОгноо, Баримт бичиг.Огноо.<= &ДатаКонца}
  • гэх мэт.
Өргөтгөлүүдийг ашиглах жишээ:

Өгөгдлийн найрлагыг илэрхийлэх хэл

Өгөгдлийн бүрдлийн илэрхийллийн хэл нь тусгайлсан талбарын илэрхийллийг тайлбарлахад хэрэглэгддэг илэрхийлэлүүдийг бичихэд зориулагдсан. SKD нь танд өөрийн илэрхийлэл эсвэл сонгох нөхцөл бүхий сонголтуудын багцыг ашиглан тайланд тусгай талбаруудыг тодорхойлох боломжийг олгодог (SQL дэх CASE-тэй адил). Захиалгат талбарууд нь тооцоолсон талбаруудтай төстэй. Тэдгээрийг тохируулагч болон 1С: Аж ахуйн нэгжийн горимд хоёуланг нь тохируулах боломжтой боловч нийтлэг модулиудын функцийг тусгай талбарын илэрхийлэлд ашиглах боломжгүй. Тиймээс өөрчлөн тохируулсан талбарууд нь хөгжүүлэгч биш харин хэрэглэгчдэд зориулагдсан болно.

Жишээ:

Хандалтын хяналтын системийн тайланг бий болгох үйл явц

Тайлан үүсгэх үед бид тайланд өгөгдлийг хэрхэн харуулахыг тодорхойлсон загвар зохион бүтээх хэрэгтэй. Та өгөгдлийн байршлын диаграмм дээр үндэслэн байршлыг үүсгэж болно. Өгөгдлийн байршлын диаграмм нь тайланд өгөгдсөн өгөгдлийн мөн чанарыг (өгөгдлийг хаанаас авах, түүний зохион байгуулалтыг хэрхэн хянах) тайлбарладаг. Мэдээллийн бүтцийн схем нь бүх төрлийн тайланг үүсгэх үндэс суурь юм. Өгөгдлийн бүтцийн схем нь дараахь зүйлийг агуулж болно.
  • өгөгдлийн бүтцийн системийн заавар бүхий текстийг хүсэх;
  • олон өгөгдлийн багцын тайлбар;
  • боломжтой талбаруудын нарийвчилсан тайлбар;
  • олон өгөгдлийн багц хоорондын харилцааг тайлбарлах;
  • өгөгдөл олж авах параметрүүдийн тодорхойлолт;
  • талбайн зохион байгуулалт, бүлэглэлийн тодорхойлолт;
  • гэх мэт.

Жишээлбэл, та асуулгыг өгөгдлийн бүтцийн схемд өгөгдлийн багц болгон нэмж, дурын нарийн төвөгтэй асуулга графикаар үүсгэх боломжийг олгодог асуулга үүсгэгчийг дуудаж болно.

Асуулга зохион бүтээгчийг ажиллуулсны үр дүн нь асуулгын текст (1C: Enterprise асуулгын хэлээр) байх болно. Шаардлагатай бол энэ текстийг гараар тохируулж болно:

Өгөгдлийн байршлын схемд хэд хэдэн өгөгдлийн багц байж болно, өгөгдлийн багцыг байршилд ямар нэгэн байдлаар холбож, тооцоолсон талбаруудыг нэмж, тайлангийн параметрүүдийг зааж өгч болно. 1C: Enterprise дахь асуулгын механизмын сонирхолтой шинж чанарыг дурдах нь зүйтэй. Асуулга нь эцсийн эцэст программ шууд ажилладаг DBMS-д зориулагдсан SQL хэлний аялгуу руу хөрвүүлэгддэг. Ерөнхийдөө бид DBMS серверүүдийн чадавхийг дээд зэргээр ашиглахыг хичээдэг (бид зөвхөн 1C: Enterprise платформ - MS SQL, Oracle, IBM DB2-ээр дэмжигдсэн бүх DBMS-д нэгэн зэрэг ашиглах боломжтой байдаг тул бид хязгаарлагддаг. , PostgreSQL). Тиймээс тооцоолсон талбарууд дахь асуулгын түвшинд бид зөвхөн SQL рүү хөрвүүлсэн функцуудыг ашиглах боломжтой.

Гэхдээ өгөгдлийн бүтцийн схемийн түвшинд бид захиалгат талбаруудыг нэмж, тэдгээрийн функцийг 1С хөгжүүлэлтийн хэл дээр (бидний бичсэнийг оруулаад) ашиглах боломжтой бөгөөд энэ нь тайлангийн чадварыг ихээхэн өргөжүүлдэг. Техникийн хувьд энэ нь иймэрхүү харагдаж байна - SQL рүү хөрвүүлж болох бүх зүйлийг SQL рүү хөрвүүлж, асуулга нь DBMS түвшинд хийгдэж, асуулгын үр дүнг 1С програмын серверийн санах ойд байрлуулж, SKD нь бичлэг бүрт утгыг тооцдог. Томьёо нь 1С хэл дээр бичигдсэн тооцоолсон талбаруудын.


Тусгай талбаруудыг нэмж байна

Та тайланд дурын тооны хүснэгт, диаграм нэмж болно:


Тайлангийн дизайнер


Ажиллах цагийн тайлан

SKD-ийг ашигласнаар хэрэглэгч тайланд нарийн төвөгтэй сонголтуудыг (хүсэлтэд тохирох газруудад нэмж оруулах), нөхцөлт дизайн (харуулсан талбаруудыг өөр өөр форматтай болгохыг зөвшөөрөх - фонт, өнгө гэх мэт утгуудаас хамааран) нэмж болно. ) болон бусад олон.

Тайланг бүтээх, гаргах үйл явцыг дараах байдлаар товч тайлбарлаж болно.

  • Дизайнерын тусламжтайгаар (эсвэл код ашиглан ажиллах үед) загвар зохион бүтээгч нь өгөгдлийн байршлын схемийг тодорхойлдог.
    • Хүсэлт/хүсэлтийн текст
    • Тооцоолсон талбаруудын тодорхойлолт
    • Хүсэлтүүдийн хоорондын хамаарал (хэрэв хэд хэдэн байгаа бол)
    • Тайлангийн сонголтууд
    • Өгөгдмөл тохиргоо
    • гэх мэт.
  • Дээрх тохиргоонууд нь байршилд хадгалагдана
  • Хэрэглэгч тайланг нээнэ
    • Нэмэлт тохиргоо хийх боломжтой (жишээлбэл, параметрийн утгыг өөрчлөх)
    • "Үйлдвэрлэх" товчийг дарна уу
  • Хэрэглэгчийн тохиргоог хөгжүүлэгчийн тодорхойлсон өгөгдлийн бүтцийн схемд хэрэглэнэ.
  • Мэдээллийг хаанаас хүлээн авах тухай зааврыг агуулсан завсрын өгөгдлийн найрлагын зохион байгуулалт үүсдэг. Ялангуяа байршилд заасан асуулгад тохируулагдсан болно. Тиймээс тайланд ашиглагдаагүй талбаруудыг хүсэлтээс хассан (хүлээн авсан мэдээллийн хэмжээг багасгахын тулд үүнийг хийдэг). Тооцоолсон талбарын томъёонд оролцож буй бүх талбаруудыг асуулгад нэмнэ.
  • Өгөгдлийн найрлагын процессор гарч ирнэ. Байршлын процессор нь асуулга гүйцэтгэж, өгөгдлийн багцыг холбож, тооцоолсон талбар, нөөцийн утгыг тооцоолж, бүлэглэнэ. Нэг үгээр бол DBMS түвшинд хийгээгүй бүх тооцоог хийдэг.
  • Өгөгдлийн гаралтын процессор нь гүйцэтгэх хүсэлтийг эхлүүлж, хүлээн авсан өгөгдлийг хүснэгтийн баримт бичиг, график гэх мэт хэлбэрээр харуулна.


ACS механизмыг ашиглан тайлан гаргах үйл явц

Бид серверээс клиент програм руу шилжүүлсэн тайлангийн өгөгдлийн хэмжээг багасгахыг хичээдэг. Хүснэгтийн баримт бичигт өгөгдлийг харуулахдаа хүснэгтийн баримтыг нээхдээ бид зөвхөн хэрэглэгчийн баримт бичгийн эхэнд хардаг мөрүүдийг серверээс шилжүүлдэг. Хэрэглэгч баримт бичгийн шугамын дагуу шилжих үед алга болсон өгөгдлийг серверээс үйлчлүүлэгч рүү татаж авдаг.

Тусгай тохиргоо

Бүх ACS хэрэгслүүд нь хөгжүүлэгч болон эцсийн хэрэглэгчдэд боломжтой. Гэвч практик нь эцсийн хэрэглэгчийг олон тооны багажийн чадвараас айдаг болохыг харуулж байна. Түүнээс гадна, ихэнх тохиолдолд эцсийн хэрэглэгч тохиргооны бүх хүч шаарддаггүй - түүнд нэг эсвэл хоёр тайлангийн параметрийг (жишээлбэл, хугацаа, эсрэг тал) тохируулахад хурдан хандахад хангалттай. Платформын тодорхой хувилбараас эхлэн тайлан боловсруулагч нь хэрэглэгчдэд аль тайлангийн тохиргоог ашиглах боломжтой болохыг тэмдэглэх боломжтой. Үүнийг "Хэрэглэгчийн тохиргоонд оруулах" нүдийг ашиглан хийнэ. Мөн тайлангийн тохиргоо нь "Дэлгэцийн горим" гэсэн тугтай болсон бөгөөд энэ нь гурван утгын аль нэгийг авдаг:
  • Хурдан нэвтрэх. Тохиргоог тайлангийн цонхны дээд хэсэгт шууд харуулах болно.
  • Энгийн. Тохиргоог "Тохиргоо" товчоор дамжуулан хийх боломжтой.
  • Боломжгүй. Энэ тохиргоог эцсийн хэрэглэгч ашиглах боломжгүй.


Загварын хугацаанд дэлгэцийн горимыг тохируулах


Ажиллаж байх үед тохиргоог Түргэн хандалтын горимд харуулах (Үйлдвэрлэх товчны доор)

Хөгжлийн төлөвлөгөө

Хандалтын хяналтын системийг хөгжүүлэх бидний тэргүүлэх чиглэлүүдийн нэг бол хэрэглэгчийн тохиргоог хялбарчлах явдал юм. Бидний туршлагаас харахад зарим эцсийн хэрэглэгчдийн хувьд хэрэглэгчийн тохиргоотой ажиллах нь томоохон ажил байсаар байна. Үүнийг анхаарч, энэ чиглэлээр ажиллаж байна. Үүний дагуу хөгжүүлэгчид хандалтын хяналтын системтэй ажиллахад хялбар болно, учир нь Бид өмнөх шигээ хөгжүүлэгчид болон эцсийн хэрэглэгчдэд тайлан гаргах нэг хэрэгслээр хангахыг хүсч байна.

Хаах