მონაცემთა განლაგების დიაგრამა (1C SKD). 1C მონაცემთა შემადგენლობის სისტემის მონაცემთა შემადგენლობის გამოთვლილი ველების გამოთქმის ენის ფუნქციები

18.08.2023

მონაცემთა შედგენის სისტემის გამოხატვის ენა

მონაცემთა შემადგენლობის სისტემის გამოხატვის ენა შექმნილია სისტემის სხვადასხვა ნაწილში გამოყენებული გამონათქვამების დასაწერად.

გამონათქვამები გამოიყენება შემდეგ ქვესისტემებში:

  • მონაცემთა განლაგების დიაგრამა - გამოთვლილი ველების, ჯამური ველების, კავშირის გამონათქვამების და ა.შ.
  • მონაცემთა განლაგების პარამეტრები - მორგებული ველის გამონათქვამების აღსაწერად;
  • მონაცემთა განლაგების განლაგება - მონაცემთა ნაკრების დამაკავშირებელი გამონათქვამების აღწერისთვის, განლაგების პარამეტრების აღწერისთვის და ა.შ.

ლიტერალები

გამოთქმა შეიძლება შეიცავდეს სიტყვასიტყვით. შესაძლებელია ლიტერალების შემდეგი ტიპები:

  • ხაზი;
  • ნომერი;
  • Თარიღი;
  • ლოგიკური.

ხაზი

სტრიქონი ლიტერალი იწერება "" სიმბოლოებით, მაგალითად:

"სტრიქონი სიტყვასიტყვით"

თუ თქვენ გჭირდებათ "" სიმბოლოს გამოყენება სტრიქონის სიტყვიერად, თქვენ უნდა გამოიყენოთ ორი ასეთი სიმბოლო.

Მაგალითად:

„სიტყვასიტყვით“ „ბრჭყალებში“““

ნომერი

რიცხვი იწერება შუალედების გარეშე, ათობითი ფორმატით. წილადი ნაწილი გამოყოფილია სიმბოლოს გამოყენებით. Მაგალითად:

10.5 200

თარიღი

თარიღი ლიტერალი იწერება გასაღების სიტყვასიტყვით DATETIME. ამის შემდეგ საკვანძო სიტყვა, ფრჩხილებში, მძიმეებით გამოყოფილი, ჩამოთვლილია წელი, თვე, დღე, საათი, წუთი, წამი. დროის დაზუსტება საჭირო არ არის.

Მაგალითად:

DATETIME(1975, 1, 06) – 1975 წლის 6 იანვარი DATETIME(2006, 12, 2, 23, 56, 57) – 2 დეკემბერი, 2006 წელი, 23 საათი 56 წუთი 57 წამი, 23 საათი 56 წუთი 57 წამი

ლოგიკური

ლოგიკური მნიშვნელობები შეიძლება დაიწეროს პირდაპირი მნიშვნელობების გამოყენებით True (True), False (False).

მნიშვნელობა

სხვა ტიპის ლიტერალების დასაზუსტებლად (სისტემის ჩამოთვლა, წინასწარ განსაზღვრული მონაცემები) გამოიყენება საკვანძო სიტყვა Value, რასაც მოჰყვება სიტყვასიტყვის სახელი ფრჩხილებში.

მნიშვნელობა (ანგარიშის ტიპი. აქტიური)

ოპერაციები რიცხვებზე

უნარი -

ეს ოპერაცია მიზნად ისახავს რიცხვის ნიშნის საპირისპირო ნიშნის შეცვლას. Მაგალითად:

გაყიდვები.რაოდენობა

უნარი +

ეს ოპერაცია არ ასრულებს არანაირ მოქმედებას ნომერზე. Მაგალითად:

გაყიდვები.რაოდენობა

ორობითი -

ეს ოპერაცია გამიზნულია ორი რიცხვის სხვაობის გამოსათვლელად. Მაგალითად:

ResidualsAndTurnovers.InitialRemaining – RemainingsAndTurnovers.FinalResidualsRemainingsAndTurnovers.InitialRemaining - 100 400 – 357

ორობითი +

ეს ოპერაცია შექმნილია ორი რიცხვის ჯამის გამოსათვლელად. Მაგალითად:

RemainingsAndTurnover.InitialRemaining + RemainingAndTurnover.Turnover ResiduesAndTurnover.InitialRemaining + 100 400 + 357

მუშაობა

ეს ოპერაცია შექმნილია ორი რიცხვის ნამრავლის გამოსათვლელად. Მაგალითად:

ნომენკლატურა.ფასი * 1.2 2 * 3.14

განყოფილება

ეს ოპერაცია შექმნილია ერთი ოპერანდის მეორეზე გაყოფის შედეგის მისაღებად. Მაგალითად:

ნომენკლატურა.ფასი / 1.2 2 / 3.14

განყოფილების დარჩენილი ნაწილი

ეს ოპერაცია შექმნილია ნარჩენების მისაღებად, როდესაც ერთი ოპერანდი იყოფა მეორეზე. Მაგალითად:

ნომენკლატურა ფასი % 1,2 2 % 3,14

სიმებიანი ოპერაციები

შეერთება (ორობითი +)

ეს ოპერაცია შექმნილია ორი სტრიქონის შესაერთებლად. Მაგალითად:

ნომენკლატურა.მუხლი + “: ”+ ნომენკლატურა.სახელწოდება

მოსწონს

ეს ოპერაცია ამოწმებს შეესაბამება თუ არა სტრიქონი გავლილ შაბლონს.

LIKE ოპერატორის მნიშვნელობა არის TRUE, თუ მნიშვნელობა<Выражения>აკმაყოფილებს შაბლონს, ხოლო FALSE სხვაგვარად.

შემდეგი პერსონაჟები<Строке_шаблона>აქვს მნიშვნელობა განსხვავებული ხაზის სხვა სიმბოლოსგან:

  • % - პროცენტი: ნულოვანი ან მეტი თვითნებური სიმბოლოების შემცველი თანმიმდევრობა;
  • _ - ხაზგასმა: ერთი თვითნებური სიმბოლო;
  • [...] - ერთი ან მეტი სიმბოლო კვადრატულ ფრჩხილებში: ერთი სიმბოლო, ნებისმიერი ჩამოთვლილი კვადრატულ ფრჩხილებში. ჩამოთვლა შეიძლება შეიცავდეს დიაპაზონებს, მაგალითად a-z, რაც ნიშნავს თვითნებურ სიმბოლოს, რომელიც შედის დიაპაზონში, დიაპაზონის ბოლოების ჩათვლით;
  • [^...] - კვადრატულ ფრჩხილებში უარყოფის ხატულა, რომელსაც მოჰყვება ერთი ან მეტი სიმბოლო: ნებისმიერი სიმბოლო, გარდა იმ სიმბოლოებისა, რომლებიც ჩამოთვლილია უარყოფის ხატის შემდეგ;

ნებისმიერი სხვა სიმბოლო ნიშნავს თავის თავს და არ ატარებს რაიმე დამატებით დატვირთვას. თუ ჩამოთვლილი სიმბოლოებიდან ერთ-ერთი უნდა დაიწეროს როგორც თავად, მაშინ მას წინ უნდა უძღოდეს<Спецсимвол>, მითითებულია SPECIAL CHARACTER საკვანძო სიტყვის (ESCAPE) შემდეგ.

მაგალითად, შაბლონი

"%ABV[abvg]\_abv%" სპეციალური სიმბოლო "\"

ნიშნავს ქვესტრიქონს, რომელიც შედგება სიმბოლოების თანმიმდევრობისგან: ასო A; ასოები B; ასოები B; ერთი ციფრი; ერთ-ერთი ასო a, b, c ან d; ხაზგასმა; ასო ა; ასო ბ; ასოები ვ. უფრო მეტიც, ეს თანმიმდევრობა შეიძლება განთავსდეს ხაზის თვითნებური პოზიციიდან დაწყებული.

შედარების ოპერაციები

უდრის

ეს ოპერაცია მიზნად ისახავს ტოლობის ორი ოპერანდის შედარებას. Მაგალითად:

Sales.Counterparty = Sales.NomenclatureMainSupplier

Არ უდრის

ეს ოპერაცია გამიზნულია ორი ოპერანდის უტოლობის შედარებისთვის. Მაგალითად:

გაყიდვები.კონტრაგენტი<>გაყიდვები.ნომენკლატურამთავარი მიმწოდებელი

Ნაკლები

ეს ოპერაცია შექმნილია იმის შესამოწმებლად, რომ პირველი ოპერანდი მეორეზე ნაკლებია. Მაგალითად:

გაყიდვები მიმდინარე. თანხა< ПродажиПрошлые.Сумма

მეტი

ეს ოპერაცია შექმნილია იმის შესამოწმებლად, რომ პირველი ოპერანდი მეორეზე მეტია. Მაგალითად:

SalesCurrent.Sum > SalesPast.Sum

ნაკლები თუ თანაბარი

ეს ოპერაცია შექმნილია იმის შესამოწმებლად, რომ პირველი ოპერანდი არის მეორეზე ნაკლები ან ტოლი. Მაგალითად:

გაყიდვები მიმდინარე. თანხა<= ПродажиПрошлые.Сумма

მეტი თუ თანაბარი

ეს ოპერაცია შექმნილია იმისთვის, რომ შეამოწმოს, არის თუ არა პირველი ოპერანდი მეორეზე დიდი ან ტოლი. Მაგალითად:

SalesCurrent.Amount >= SalesPast.Amount

ოპერაცია B

ეს ოპერაცია ამოწმებს მნიშვნელობის არსებობას მნიშვნელობების მიღებულ სიაში. ოპერაციის შედეგი იქნება True, თუ მნიშვნელობა მოიძებნება, ან False სხვაგვარად. Მაგალითად:

ერთეული B (&პროდუქტი1, &პროდუქტი2)

მონაცემთა ნაკრებში მნიშვნელობის არსებობის შემოწმების ოპერაცია

ოპერაცია ამოწმებს მნიშვნელობის არსებობას მითითებულ მონაცემთა ნაკრებში. ვალიდაციის მონაცემთა ნაკრები უნდა შეიცავდეს ერთ ველს. Მაგალითად:

გაყიდვები კონტრაგენტებთან

NULL მნიშვნელობის შემოწმების ოპერაცია

ეს ოპერაცია აბრუნებს True-ს, თუ მნიშვნელობა არის NULL. Მაგალითად:

გაყიდვები. კონტრაგენტი არის NULL

NULL უტოლობის მნიშვნელობის შემოწმების ოპერაცია

ეს ოპერაცია აბრუნებს True-ს, თუ მნიშვნელობა არ არის NULL. Მაგალითად:

გაყიდვები არ არის NULL

ლოგიკური ოპერაციები

ლოგიკური ოპერაციები იღებს ლოგიკური ტიპის გამონათქვამებს ოპერანდებად.

ოპერაცია NOT

ოპერაცია NOT აბრუნებს True-ს, თუ მისი ოპერანდი არის False და False, თუ მისი ოპერანდი არის True. Მაგალითად:

NOT Document.consignee = Document.Consignor

ოპერაცია I

AND ოპერაცია აბრუნებს True-ს, თუ ორივე ოპერანდი არის True, და False-ს, თუ ერთ-ერთი ოპერანდი არის False. Მაგალითად:

Document.Consignee = Document.Consignor AND Document.Consignee = &Counterparty

ან ოპერაცია

OR ოპერაცია აბრუნებს True-ს, თუ მისი ერთ-ერთი ოპერანდი არის True, და False, თუ ორივე ოპერანდი არის False. Მაგალითად:

Document.Consignee = Document.Consignor OR Document.Consignee = &კონტრაგენტი

აგრეგატული ფუნქციები

აგრეგატული ფუნქციები ასრულებენ გარკვეულ მოქმედებას მონაცემთა ნაკრებზე.

ჯამი

Sum aggregate ფუნქცია ითვლის მასზე გადაცემული გამონათქვამების მნიშვნელობების ჯამს, როგორც არგუმენტი ყველა დეტალური ჩანაწერისთვის. Მაგალითად:

თანხა (გაყიდვები. ოდენობა ბრუნვა)

რაოდენობა

Count ფუნქცია ითვლის NULL-ის გარდა სხვა მნიშვნელობების რაოდენობას. Მაგალითად:

რაოდენობა (გაყიდვები. კონტრაგენტი)

რაოდენობა სხვადასხვა

ეს ფუნქცია ითვლის განსხვავებული მნიშვნელობების რაოდენობას. Მაგალითად:

რაოდენობა (სხვადასხვა გაყიდვები. კონტრაგენტი)

მაქსიმალური

ფუნქცია იღებს მაქსიმალურ მნიშვნელობას. Მაგალითად:

მაქსიმალური (დარჩენილი. რაოდენობა)

Მინიმალური

ფუნქცია იღებს მინიმალურ მნიშვნელობას. Მაგალითად:

მინიმალური (დარჩენილი. რაოდენობა)

საშუალო

ფუნქცია იღებს არა NULL მნიშვნელობების საშუალოს. Მაგალითად:

საშუალო (დარჩენილი. რაოდენობა)

სხვა ოპერაციები

ოპერაცია SELECT

Select ოპერაცია გამიზნულია რამდენიმე მნიშვნელობიდან ერთ-ერთის ასარჩევად, როდესაც გარკვეული პირობები დაკმაყოფილებულია. Მაგალითად:

აირჩიეთ როდესაც თანხა > 1000, შემდეგ თანხა სხვაგვარად 0 დასასრული

ორი მნიშვნელობის შედარების წესები

თუ შედარებული მნიშვნელობების ტიპები განსხვავდება ერთმანეთისგან, მაშინ მნიშვნელობებს შორის ურთიერთობები განისაზღვრება ტიპების პრიორიტეტის საფუძველზე:

  • NULL (ყველაზე დაბალი);
  • ლოგიკური;
  • ნომერი;
  • Თარიღი;
  • ხაზი;
  • მითითების ტიპები

სხვადასხვა მიმართვის ტიპებს შორის ურთიერთობები განისაზღვრება ცხრილების მითითების ნომრების საფუძველზე, რომლებიც შეესაბამება კონკრეტულ ტიპს.

თუ მონაცემთა ტიპები იგივეა, მაშინ მნიშვნელობები შედარებულია შემდეგი წესების მიხედვით:

  • ლოგიკური ტიპისთვის მნიშვნელობა TRUE მეტია მნიშვნელობა FALSE;
  • რიცხვის ტიპს აქვს რიცხვების შედარების ჩვეულებრივი წესები;
  • თარიღის ტიპისთვის, ადრინდელი თარიღები უფრო მცირეა, ვიდრე გვიან;
  • String ტიპისთვის - სტრიქონების შედარება მონაცემთა ბაზის დადგენილი ეროვნული მახასიათებლების შესაბამისად;
  • საცნობარო ტიპები შედარებულია მათი მნიშვნელობების მიხედვით (ჩანაწერის ნომერი და ა.შ.).

მუშაობა NULL მნიშვნელობით

ნებისმიერი ოპერაცია, რომელშიც ერთ-ერთი ოპერანდი არის NULL, გამოიღებს NULL შედეგს.

არის გამონაკლისები:

  • AND ოპერაცია დააბრუნებს NULL-ს მხოლოდ იმ შემთხვევაში, თუ არცერთი ოპერანდი არ არის False;
  • OR ოპერაცია დააბრუნებს NULL-ს მხოლოდ იმ შემთხვევაში, თუ მისი არცერთი ოპერანდი არ არის True.

ოპერაციის პრიორიტეტები

ოპერაციებს აქვთ შემდეგი პრიორიტეტები (პირველ ხაზს აქვს ყველაზე დაბალი პრიორიტეტი):

  • B, IS NULL, IS NOT NULL;
  • =, <>, <=, <, >=, >;
  • ორობითი +, ორობითი – ;
  • *, /, %;
  • Unary +, Unary -.

მონაცემთა შედგენის სისტემის გამოხატვის ენის ფუნქციები

გამოთვალეთ

Calculate ფუნქცია შექმნილია გამოხატვის გამოსათვლელად გარკვეული ჯგუფის კონტექსტში. ფუნქციას აქვს შემდეგი პარამეტრები:

  • გამოხატულება. აკრიფეთ String. შეიცავს გამოთვლილ გამონათქვამს;
  • დაჯგუფება. აკრიფეთ String. შეიცავს იმ ჯგუფის სახელს, რომლის კონტექსტშიც უნდა შეფასდეს გამოთქმა. თუ ცარიელი სტრიქონი გამოიყენება დაჯგუფების სახელად, გაანგარიშება განხორციელდება მიმდინარე დაჯგუფების კონტექსტში. თუ ჯგუფის სახელად გამოყენებულია GrandTotal სტრიქონი, გამოთვლა განხორციელდება გრანდიოზული ჯამის კონტექსტში. წინააღმდეგ შემთხვევაში, გაანგარიშება განხორციელდება ამავე სახელწოდების მშობელი ჯგუფის კონტექსტში. Მაგალითად:
ჯამი (Sales.SumTurnover) / გამოთვლა ("Sum(Sales.SumTurnover)", "Total")

IN ამ მაგალითშიშედეგი იქნება დაჯგუფების ჩანაწერის "Sales.SumTurnover" ველის თანხის თანაფარდობა იმავე ველის რაოდენობასთან მთელ განლაგებაში.

დონე

ფუნქცია შექმნილია ჩაწერის მიმდინარე დონის მისაღებად.

დონე ()

NumberInOrder

მიიღეთ შემდეგი რიგითი ნომერი.

NumberByOrder()

NumberInOrderInGrouping

აბრუნებს მომდევნო რიგით რიცხვს მიმდინარე ჯგუფში.

NumberByOrderInGroup()

ფორმატი

მიიღეთ მიღებული მნიშვნელობის ფორმატირებული სტრიქონი.

ფორმატის სტრიქონი დაყენებულია მიხედვით ფორმატის სტრიქონი 1C: საწარმო.

Პარამეტრები:

  • მნიშვნელობა;
  • სტრიქონის ფორმატირება.

ფორმატი (სახარჯავი ინვოისები. დოკუმენტის თანხა, "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. შეიცავს ერთ-ერთ მნიშვნელობას:
    • მეორე;
    • წუთი;
    • Დღეს;
    • თვე;
    • კვარტალი;

DATEDIFFERENCE(DATETIME(2002, 10, 12, 10, 15, 34), DATETIME(2002, 10, 14, 9, 18, 06), „DAY“)

შედეგი:

ქვესტრიქონი

ეს ფუნქცია შექმნილია სტრიქონიდან ქვესტრიქონის ამოსაღებად.

Პარამეტრები:

  • ხაზი. აკრიფეთ String. სტრიქონი, საიდანაც ქვესტრიქონი ამოღებულია;
  • თანამდებობა. აკრიფეთ ნომერი. სიმბოლოს პოზიცია, საიდანაც იწყება სტრიქონიდან გამოსატანი ქვესტრიქონი;
  • სიგრძე. აკრიფეთ ნომერი. გამოყოფილი ქვესტრიქონის სიგრძე.

SUBSTRING(Accounts.Address, 1, 4)

ხაზის სიგრძე

ფუნქცია შექმნილია სტრიქონის სიგრძის დასადგენად.

Პარამეტრი:

  • ხაზი. აკრიფეთ String. სტრიქონი, რომლის სიგრძე განისაზღვრება.

ხაზი (კონტრაგენტები. მისამართი)

წელიწადი

ეს ფუნქცია შექმნილია წლის ამოსაღებად თარიღის ტიპის მნიშვნელობიდან.

Პარამეტრი:

  • Თარიღი. აკრიფეთ თარიღი. თარიღი, რომლითაც წელი განისაზღვრება.

YEAR (ხარჯი.თარიღი)

კვარტალი

ეს ფუნქცია შექმნილია კვარტლის ნომრის ამოსაღებად თარიღის ტიპის მნიშვნელობიდან. კვარტლის რიცხვი ჩვეულებრივ მერყეობს 1-დან 4-მდე.

Პარამეტრი

  • Თარიღი. აკრიფეთ თარიღი. თარიღი, რომლითაც განისაზღვრება კვარტალი
QUARTER (ხარჯი.თარიღი)

თვე

ეს ფუნქცია შექმნილია თვის ნომრის ამოსაღებად თარიღის ტიპის მნიშვნელობიდან. თვის რიცხვი ჩვეულებრივ მერყეობს 1-დან 12-მდე.

  • Თარიღი. აკრიფეთ თარიღი. თარიღი, რომლითაც თვე განისაზღვრება.
MONTH (ხარჯი.თარიღი)

წლის დღე

ეს ფუნქცია შექმნილია წლის დღის მისაღებად თარიღის ტიპის მნიშვნელობიდან. წელიწადის დღე ჩვეულებრივ მერყეობს 1-დან 365-მდე (366).

  • Თარიღი. აკრიფეთ თარიღი. თარიღი, რომლითაც განისაზღვრება წელიწადის დღე.
DAYYEAR (ExpenseAccount.Date)

Დღეს

ეს ფუნქცია შექმნილია თარიღის ტიპის მნიშვნელობიდან თვის დღის მისაღებად. თვის დღე ჩვეულებრივ მერყეობს 1-დან 31-მდე.

  • Თარიღი. აკრიფეთ თარიღი. თარიღი, რომლითაც განისაზღვრება თვის დღე.
DAY (ხარჯი.თარიღი)

Კვირა

ეს ფუნქცია შექმნილია თარიღის ტიპის მნიშვნელობიდან წლის კვირის რიცხვის მისაღებად. წელიწადის კვირები დათვლილია 1-დან.

  • Თარიღი. აკრიფეთ თარიღი. თარიღი, რომლითაც განისაზღვრება კვირის ნომრები.
WEEK (ხარჯი.თარიღი)

კვირის დღე

ეს ფუნქცია შექმნილია კვირის დღის მისაღებად თარიღის ტიპის მნიშვნელობიდან. კვირის ნორმალური დღე მერყეობს 1-დან (ორშაბათი) 7-მდე (კვირა).

  • Თარიღი. აკრიფეთ თარიღი. თარიღი, რომლითაც განისაზღვრება კვირის დღე.
კვირის დღე (ხარჯის ინვოისის თარიღი)

საათი

ეს ფუნქცია შექმნილია თარიღის ტიპის მნიშვნელობიდან დღის საათის მისაღებად. დღის საათი 0-დან 23-მდე მერყეობს.

  • Თარიღი. აკრიფეთ თარიღი. თარიღი, რომლითაც განისაზღვრება დღის საათი.
HOUR (ხარჯი.თარიღი)

წუთი

ეს ფუნქცია შექმნილია თარიღის ტიპის მნიშვნელობიდან საათის წუთების მისაღებად. საათის წუთი 0-დან 59-მდე მერყეობს.

  • Თარიღი. აკრიფეთ თარიღი. თარიღი, რომლითაც განისაზღვრება საათის წუთი.
MINUTE (ხარჯი.თარიღი)

მეორე

ეს ფუნქცია შექმნილია თარიღის ტიპის მნიშვნელობიდან წუთის წამის მისაღებად. წამის წამი მერყეობს 0-დან 59-მდე.

  • Თარიღი. აკრიფეთ თარიღი. თარიღი, რომლითაც განისაზღვრება წუთის წამები.
SECOND (ხარჯი.თარიღი)

ექსპრესი

ეს ფუნქცია შექმნილია გამოსახულებიდან ტიპის ამოსაღებად, რომელიც შეიძლება შეიცავდეს ნაერთ ტიპს. თუ გამონათქვამი შეიცავს საჭირო ტიპის გარდა სხვა ტიპს, NULL დაბრუნდება.

Პარამეტრები:

  • კონვერტაციის გამოხატულება;
  • ტიპის მითითება. აკრიფეთ String. შეიცავს ტიპის სტრიქონს. მაგალითად, "ნომერი", "სტრიქონი" და ა.შ. გარდა პრიმიტიული ტიპებისა მოცემული ხაზიშეიძლება შეიცავდეს ცხრილის სახელს. ამ შემთხვევაში, მცდელობა იქნება მითითებულ ცხრილზე მითითების გამოხატვა.

Express(Data.Props1, "Number(10,3)")

ნულოვანია

ეს ფუნქცია აბრუნებს მეორე პარამეტრის მნიშვნელობას, თუ პირველი პარამეტრის მნიშვნელობა არის NULL.

წინააღმდეგ შემთხვევაში, პირველი პარამეტრის მნიშვნელობა დაბრუნდება.

YesNULL (თანხა (გაყიდვები. ოდენობა ბრუნვა), 0)

საერთო მოდულების ფუნქციები

მონაცემთა კომპოზიციის ძრავის გამოხატულება შეიძლება შეიცავდეს ზარებს გლობალური საერთო კონფიგურაციის მოდულების ფუნქციებზე. ასეთი ფუნქციების გამოსაძახებლად დამატებითი სინტაქსი არ არის საჭირო.

ამ მაგალითში, "AbbreviatedName" ფუნქცია გამოიძახება ზოგადი კონფიგურაციის მოდულიდან.

გაითვალისწინეთ, რომ მოდულის საერთო ფუნქციების გამოყენება დასაშვებია მხოლოდ იმ შემთხვევაში, თუ მითითებულია მონაცემთა შემადგენლობის შესაბამისი პროცესორის პარამეტრი.

გარდა ამისა, ჩვეულებრივი მოდულების ფუნქციები არ შეიძლება გამოყენებულ იქნას მორგებული ველის გამონათქვამებში.

8.2.14-ის მომავალი გამოშვების ფონზე, შევეცდები აღვწერო მონაცემთა შემადგენლობის სისტემის რამდენიმე ახალი ფუნქცია.

გახსენით მონაცემთა განლაგების დიაგრამა, სასურველია გარე მოხსენებაში, რედაქტირების გასაადვილებლად.

ჩვენ ვამატებთ შეკითხვის ტიპის მონაცემთა ნაკრებს და ვწერთ, ხელით ან შეკითხვის დიზაინერის გამოყენებით, მარტივ შეკითხვას:

1. დააყენეთ მოთხოვნა წვდომის კონტროლის სისტემაში.

2. დააყენეთ გამოთვლილი ველები წვდომის კონტროლის სისტემაში

3. მონაცემთა განლაგების კონფიგურაცია პარამეტრების ჩანართზე

4. გაუშვით 1C Enterprise 8.2.14. გახსენით ანგარიში. ვქმნით, ვიღებთ.

თავად ახალი ფუნქციების აღწერა:

1. მიმდინარე თარიღი ()

აბრუნებს სისტემის თარიღს. განლაგების განლაგების შედგენისას, ყველა გამონათქვამში, რომელიც წარმოდგენილია განლაგებაში, CurrentDate() ფუნქცია იცვლება მიმდინარე თარიღის მნიშვნელობით.

2. COMPUTEEXPRESSION()

Სინტაქსი:

CalculateExpression(,)

აღწერა:

ფუნქცია შექმნილია გარკვეული დაჯგუფების კონტექსტში გამოხატვის შესაფასებლად.

ფუნქცია ითვალისწინებს დაჯგუფების შერჩევას, მაგრამ არ ითვალისწინებს იერარქიულ არჩევანს.

ფუნქციის გამოყენება შეუძლებელია ამ ჯგუფის ჯგუფურ არჩევანში. მაგალითად, ნომენკლატურის დაჯგუფების არჩევისას, თქვენ არ შეგიძლიათ გამოიყენოთ გამოხატულება CalculateExpression("Sum(SumTurnover)", "TotalTotal") > 1000. მაგრამ ასეთი გამოთქმა შეიძლება გამოყენებულ იქნას იერარქიულ შერჩევაში.

თუ დასასრული ჩანაწერი წინ უსწრებს საწყის ჩანაწერს, მაშინ დეტალური მონაცემების გამოთვლისა და გაანგარიშების ჩანაწერები ითვლება. აგრეგატული ფუნქციებიდაკარგულები არიან.

გრანდიოზული ჯამისთვის ინტერვალის გამონათქვამების გაანგარიშებისას (Grouping პარამეტრი დაყენებულია GrandTotal-ზე), ვარაუდობენ, რომ არ არსებობს ჩანაწერები დეტალური მონაცემების გამოსათვლელად და აგრეგატული ფუნქციების გამოსათვლელად.

განლაგების დამაკავშირებელი ფუნქციის გამოხატვის გენერირებისას CalculateExpression, თუ შეკვეთის გამოხატულება შეიცავს ველებს, რომელთა გამოყენება შეუძლებელია დაჯგუფებაში, ცვლის ფუნქციას CalculateExpression on NULL.

Პარამეტრები

ტიპი: ხაზი. შესაფასებელი გამოთქმა.

ტიპი: ხაზი. შეიცავს იმ ჯგუფის სახელს, რომლის კონტექსტშიც უნდა შეფასდეს გამოთქმა. თუ ცარიელი სტრიქონი გამოიყენება დაჯგუფების სახელად, გაანგარიშება განხორციელდება მიმდინარე დაჯგუფების კონტექსტში. თუ ჯგუფის სახელად გამოიყენება GeneralTotal სტრიქონი, გამოთვლა განხორციელდება გრანდიოზული ჯამის კონტექსტში. წინააღმდეგ შემთხვევაში, გაანგარიშება განხორციელდება ამავე სახელწოდების მშობელი ჯგუფის კონტექსტში.

Მაგალითად:

Sum(Sales.SumTurnover)/Calculate("Sum(Sales.SumTurnover)", "Total")

ამ მაგალითში შედეგი იქნება ჯამის თანაფარდობა ველების მიხედვით გაყიდვები.რაოდენობა ბრუნვაჩანაწერების დაჯგუფება იმავე ველის ჯამზე მთელ განლაგებაში;

ტიპი: ხაზი. პარამეტრს შეუძლია მიიღოს შემდეგი მნიშვნელობები:

· გრანდიოზული სულ- გამოთქმა გამოითვლება ყველა დაჯგუფების ჩანაწერისთვის.

· იერარქია— გამონათქვამი შეფასდება მშობლის იერარქიული ჩანაწერისთვის, თუ არსებობს და მთელი ჯგუფისთვის, თუ არ არის მშობლის იერარქიული ჩანაწერი.

· დაჯგუფება— გამონათქვამი შეფასდება ჯგუფის მიმდინარე ჩანაწერისთვის.

· GroupingNonResource— რესურსების მიხედვით ჯგუფის ჩანაწერისთვის ფუნქციის გაანგარიშებისას, გამონათქვამი გამოითვლება ორიგინალური დაჯგუფების პირველი ჯგუფის ჩანაწერისთვის.

ფუნქციის გამოთვლისას CalculateExpression() მნიშვნელობით GroupingNonResourceჯგუფური ჩანაწერებისთვის, რომლებიც არ არის დაჯგუფებული რესურსების მიხედვით, ფუნქცია გამოითვლება ისევე, როგორც გამოითვლება, თუ პარამეტრის მნიშვნელობა ტოლი იქნება მნიშვნელობასთან დაჯგუფება.

მონაცემთა კომპოზიციის განლაგების შემქმნელი, მონაცემთა კომპოზიციის განლაგების გენერირებისას რესურსის ველის გამოტანისას, რომლითაც ხდება დაჯგუფება განლაგებაში, განათავსებს გამოხატვას განლაგებაში, რომელიც გამოითვლება ფუნქციის გამოყენებით. CalculateExpression() , პარამეტრის მითითებით GroupingNonResource. სხვა რესურსებისთვის, რესურსების ჩვეულებრივი გამონათქვამები მოთავსებულია რესურსების დაჯგუფებაში.

ტიპი: ხაზი. მიუთითებს, თუ რომელი ჩანაწერიდან უნდა დაიწყოს ფრაგმენტი, რომელშიც უნდა გამოითვალოს აგრეგატის გამოხატვის ფუნქციები და რომელი ჩანაწერიდან მიიღოთ ველის მნიშვნელობები აგრეგატის ფუნქციების გარეთ. ღირებულება შეიძლება იყოს ერთ-ერთი შემდეგი:

· Პირველი

· ბოლო (ბოლო)

· წინა

· შემდეგი (შემდეგი)

· მიმდინარე

· LimitingValue(BoundaryValue) LimitingValue

ტიპი: ხაზი. მიუთითებს, რომელ ჩანაწერზე უნდა გაგრძელდეს ფრაგმენტი, რომელშიც უნდა გამოითვალოს აგრეგატული გამოხატვის ფუნქციები. ღირებულება შეიძლება იყოს ერთ-ერთი შემდეგი:

· Პირველი. აუცილებელია პირველი დაჯგუფების ჩანაწერის მოპოვება. ფრჩხილებში მოცემული სიტყვის შემდეგ შეგიძლიათ მიუთითოთ გამონათქვამი, რომლის შედეგი გამოყენებული იქნება ოფსეტად დაჯგუფების დასაწყისიდან. მიღებული მნიშვნელობა უნდა იყოს ნულზე მეტი მთელი რიცხვი. მაგალითად, First(3) - მესამე ჩანაწერის მიღება დაჯგუფების დასაწყისიდან.

თუ პირველი ჩანაწერი არის დაჯგუფების გარეთ, მაშინ ითვლება, რომ არ არსებობს ჩანაწერები. მაგალითად, თუ არის 3 ჩანაწერი და გსურთ მიიღოთ First(4), მაშინ ითვლება, რომ ჩანაწერები არ არის.

· ბოლო (ბოლო). თქვენ უნდა მიიღოთ ბოლო დაჯგუფების ჩანაწერი. ფრჩხილებში მოცემული სიტყვის შემდეგ შეგიძლიათ მიუთითოთ გამონათქვამი, რომლის შედეგი გამოყენებული იქნება როგორც ოფსეტური დაჯგუფების ბოლოდან. მიღებული მნიშვნელობა უნდა იყოს ნულზე მეტი მთელი რიცხვი. მაგალითად, Last(3) - ჯგუფის ბოლოდან მესამე ჩანაწერის მიღება.

თუ ბოლო ჩანაწერისცილდება დაჯგუფებას, ითვლება, რომ არ არსებობს ჩანაწერები. მაგალითად, თუ არის 3 ჩანაწერი და გსურთ მიიღოთ Last(4), მაშინ ითვლება, რომ ჩანაწერები არ არის.

· წინა. თქვენ უნდა მიიღოთ წინა დაჯგუფების ჩანაწერი. ფრჩხილებში მოცემული სიტყვის შემდეგ შეგიძლიათ მიუთითოთ გამონათქვამი, რომლის შედეგი გამოყენებული იქნება ოფსეტური სახით მიმდინარე დაჯგუფების ჩანაწერიდან. მაგალითად, წინა (2) - წინა ჩანაწერიდან წინას მიღება.

თუ წინა ჩანაწერი სცილდება დაჯგუფებას (მაგალითად, მეორე დაჯგუფების ჩანაწერისთვის თქვენ უნდა მიიღოთ Previous(3)), მაშინ მიიღება პირველი დაჯგუფების ჩანაწერი.

დაჯგუფების ჯამისთვის წინა ჩანაწერის აღებისას ითვლება, რომ მიღებულია პირველი ჩანაწერი.

· შემდეგი (შემდეგი). თქვენ უნდა მიიღოთ შემდეგი დაჯგუფების ჩანაწერი. ფრჩხილებში მოცემული სიტყვის შემდეგ შეგიძლიათ მიუთითოთ გამონათქვამი, რომლის შედეგი გამოყენებული იქნება ჯგუფის მიმდინარე ჩანაწერიდან გადასატანად. მაგალითად, Next(2) - მიღების შემდეგი შემდეგი ჩანაწერიდან.

თუ შემდეგი ჩანაწერი სცილდება დაჯგუფებას, მაშინ ითვლება, რომ არ არსებობს ჩანაწერები. მაგალითად, თუ არის 3 ჩანაწერი და მესამე ჩანაწერი მიიღებს Next() , მაშინ ითვლება, რომ არ არის ჩანაწერი.

როდესაც მიიღება შემდეგი ჩანაწერი დაჯგუფების ჯამზე, ითვლება, რომ ჩანაწერი არ არის.

· მიმდინარე. თქვენ უნდა მიიღოთ მიმდინარე ჩანაწერი.

დაჯგუფების ჯამისთვის ამოღებისას მიიღება პირველი ჩანაწერი.

· LimitingValue(BoundaryValue). ჩანაწერის მოპოვების საჭიროება მითითებული მნიშვნელობით. სიტყვის შემდეგ LimitingValueფრჩხილებში უნდა მიუთითოთ გამონათქვამი, რომლის მნიშვნელობითაც გსურთ ფრაგმენტის დაწყება, პირველი შეკვეთის ველი.

პირველი ჩანაწერი, რომლის შეკვეთის ველის მნიშვნელობა აღემატება ან ტოლია მითითებულ მნიშვნელობას, დაბრუნდება ჩანაწერად. მაგალითად, თუ პერიოდის ველი გამოიყენება შეკვეთის ველად და აქვს მნიშვნელობები 01/01/2010, 02/01/2010, 03/01/2010 და გსურთ მიიღოთ LimitingValue(DateTime(2010, 1, 15)), შემდეგ მიიღება ჩანაწერი 02/01/2010 თარიღით.

ტიპი: ხაზი. ჩამოთვლის გამონათქვამებს, გამოყოფილი მძიმეებით, რომლებიც აღწერს შეკვეთის წესებს. თუ არ არის მითითებული, მაშინ შეკვეთა შესრულებულია ისევე, როგორც იმ დაჯგუფებისთვის, რომლისთვისაც ფასდება გამოთქმა. ყოველი გამოხატვის შემდეგ შეგიძლიათ მიუთითოთ საკვანძო სიტყვა ასაკი(აღმავალი თანმიმდევრობით შეკვეთისთვის), Დაღმავალი(კლებადობით შეკვეთისთვის) და ავტომატური შეკვეთა(საცნობარო ველების დალაგება იმ ველების მიხედვით, რომლითაც გსურთ მითითებული ობიექტის შეკვეთა). სიტყვა ავტომატური შეკვეთაშეიძლება გამოყენებულ იქნას როგორც სიტყვასთან ერთად ასაკი, ასე სიტყვით Დაღმავალი.

ტიპი: ხაზი. იგივეა რაც პარამეტრი დახარისხება. გამოიყენება იერარქიული ჩანაწერების ორგანიზებისთვის. თუ არ არის მითითებული, განლაგების შემქმნელი წარმოქმნის შეკვეთას პარამეტრში მითითებული შეკვეთის მიხედვით დახარისხება.

ტიპი: ხაზი. განსაზღვრავს წინა ან შემდეგი ჩანაწერის განსაზღვრის წესს იმ შემთხვევაში, თუ არსებობს რამდენიმე ჩანაწერი იგივე შეკვეთის მნიშვნელობით:

· ცალ-ცალკემიუთითებს, რომ შეკვეთილი ჩანაწერების თანმიმდევრობა გამოიყენება წინა და შემდეგი ჩანაწერების დასადგენად. ნაგულისხმევი მნიშვნელობა.

· ერთადმიუთითებს, რომ წინა და შემდეგი ჩანაწერები განისაზღვრება შეკვეთის გამონათქვამების მნიშვნელობების საფუძველზე.

მაგალითად, თუ მიღებული თანმიმდევრობა დალაგებულია თარიღის მიხედვით:

თარიღი Სრული სახელი მნიშვნელობა
1 2001 წლის 01 იანვარი

ივანოვი მ.

10
2 2001 წლის 02 იანვარი პეტროვი ს. 20
3 2001 წლის 03 იანვარი სიდოროვი რ. 30
4 2001 წლის 4 იანვარი პეტროვი ს. 40

ცალ-ცალკე, ეს:

§ წინა ჩანაწერი 3-ში იქნება ჩანაწერი 2.

მიმდინარე, მიმდინარე(შესაბამისად, პარამეტრები დაწყებადა Დასასრული), მაშინ მე-2 ჩანაწერისთვის ეს ფრაგმენტი შედგება ერთი ჩანაწერი 2-ისგან. გამოხატულება იქნება 20-ის ტოლი.

თუ პარამეტრის მნიშვნელობა არის ერთად, ეს:

§ წინა ჩანაწერი 3-ში იქნება ჩანაწერი 1.

§ თუ საანგარიშო ფრაგმენტი განისაზღვრება როგორც მიმდინარე, მიმდინარე(შესაბამისად, პარამეტრები დაწყებადა Დასასრული), მაშინ მე-2 ჩანაწერისთვის ეს ფრაგმენტი შედგება 2 და 3 ჩანაწერებისგან. გამოხატულება CalculateExpression("ჯამ (მნიშვნელობა)", მიმდინარე, მიმდინარე)იქნება 50-ის ტოლი.

პარამეტრის ტოლი მნიშვნელობის მითითებისას ერთად, პარამეტრებში დაწყებადა Დასასრულითქვენ არ შეგიძლიათ მიუთითოთ ოფსეტი პოზიციებისთვის პირველი, ბოლო, წინა, შემდეგი.

CalculateExpression("Sum(SumTurnover)", "First", "Current")

თუ გსურთ მიიღოთ დაჯგუფების მნიშვნელობა წინა სტრიქონში, შეგიძლიათ გამოიყენოთ შემდეგი გამოხატულება:

CalculateExpression ("შეფასება", "წინა")

სია ახალიფუნქციები:

CalculateExpressionWithGroupArray(,) -

ფუნქცია აბრუნებს მასივს, რომლის თითოეული ელემენტი შეიცავს განსაზღვრული ველის მიხედვით დაჯგუფების გამოხატვის შეფასების შედეგს.

CalculateExpressionWithGroupValueTable(,) -

ფუნქცია აბრუნებს მნიშვნელობების ცხრილს, რომლის თითოეული მწკრივი შეიცავს მითითებული ველის მიხედვით დაჯგუფებისთვის გამონათქვამების შეფასების შედეგს.

ValueFilled() - აბრუნებს True-ს, თუ მნიშვნელობა განსხვავდება მნიშვნელობისგან ამ ტიპისნაგულისხმევი, გარდა NULL, გარდა ცარიელი მითითებისა, გარდა Undefined. ლოგიკური მნიშვნელობები მოწმდება NULL მნიშვნელობებისთვის. სტრიქონები მოწმდება უფსკრული სიმბოლოების არარსებობისთვის

ფორმატი(, ) - მიიღეთ მიღებული მნიშვნელობის ფორმატირებული სტრიქონი. ფორმატის სტრიქონი დაყენებულია 1C: Enterprise სისტემის ფორმატის სტრიქონის შესაბამისად.

ქვესტრიქონი(, , ) - ეს ფუნქცია შექმნილია სტრიქონიდან ქვესტრიქონის ამოსაღებად.

ხაზის სიგრძე() - ფუნქცია შექმნილია სტრიქონის სიგრძის დასადგენად. პარამეტრი არის სიმებიანი გამოხატულება

ხაზი() - თუ მასივი გადაეცემა პარამეტრად, ფუნქცია აბრუნებს სტრიქონს, რომელიც შეიცავს მასივის ყველა ელემენტის სტრიქონებს, გამოყოფილი ";" სიმბოლოებით. თუ მნიშვნელობების ცხრილი გადაეცემა პარამეტრად, ფუნქცია აბრუნებს სტრიქონს, რომელიც შეიცავს მნიშვნელობების ცხრილის ყველა სტრიქონის სტრიქონებს, თითოეული მწკრივის უჯრედის გამოსახულებით გამოყოფილი ";"-ით, ხოლო რიგები ახალი ხაზით პერსონაჟი. თუ ელემენტის სტრიქონის გამოსახულება ცარიელია, მაშინ სტრიქონი გამოჩნდება მისი წარმოდგენის ნაცვლად.

ამ მოკლე ჩანაწერში მინდა გაჩვენოთ, თუ როგორ შეგიძლიათ შეაჯამოთ მნიშვნელობები დაჯგუფების სხვადასხვა დონეზე ანგარიშში მონაცემთა შემადგენლობის სისტემის გამოყენებით.
როგორც სურათზეა ნაჩვენები, მხოლოდ „საქონელი ჯგუფების“ დაჯგუფების დონეზე გამოითვლება „შეკვეთის“ რესურსი, ის აჩვენებს რამდენის შეკვეთას საჭიროებს მიმდინარე საქონლის ჯგუფისთვის გარკვეული პირობების საფუძველზე:


ამ მნიშვნელობის გამოთვლა შესაძლებელია მხოლოდ ამ დონესდაჯგუფებები, რადგან ზემოთ ან ქვემოთ არ არის გამოსათვლელი მნიშვნელობები. მაგალითად, დეტალური ჩანაწერების დონეზე, არ არსებობს მონაცემები ჯგუფში მაქსიმალური რაოდენობის შესახებ, რადგან ეს მონაცემები მოქმედებს მხოლოდ მთლიან ჯგუფზე და არა მის ცალკეულ კომპონენტებზე.

შესაბამისად, ახლა აუცილებელია ზემოაღნიშნული დაჯგუფებების („საწყობები“, „საწყობის ტიპები“) და საერთო ჯამების გამოთვლა.
ამისათვის გამოიყენეთ ფუნქცია CalculateExpressionWithGroupArray:
გამოთქმის შეფასება GROUPARRAY-ით (EVALEXPRESSIONWITHGROUPARRAY)
Სინტაქსი:
EvaluateExpressionWithGroupArray(,)
აღწერა:
ფუნქცია აბრუნებს მასივს, რომლის თითოეული ელემენტი შეიცავს განსაზღვრული ველის მიხედვით დაჯგუფების გამოხატვის შეფასების შედეგს.
განლაგების კომპოზიტორი, განლაგების გენერირებისას, გარდაქმნის ფუნქციის პარამეტრებს მონაცემთა კომპოზიციის განლაგების ველებად. მაგალითად, ანგარიშის ველი გარდაიქმნება DataSet.Account-ად.
განლაგების შემქმნელი, როდესაც გამოიმუშავებს გამონათქვამებს მორგებული ველის გამოსავალზე, რომლის გამოხატულება შეიცავს მხოლოდ CalculateArrayWithGroupArray() ფუნქციას, აგენერირებს გამომავალ გამოსახულებას ისე, რომ გამომავალი ინფორმაცია მოწესრიგდეს. მაგალითად, მორგებული ველისთვის გამოხატულებით:

CalculateExpressionWithGroupArray ("Amount(AmountTurnover)", "Counterparty")
განლაგების შემქმნელი გამოიმუშავებს შემდეგ გამონათქვამს გამოსავალისთვის:

ConnectRows(Array(Order(CalculateExpressionWithGroupingValueTable("View(Sum(DataSet.AmountTurnover)),Sum(DataSet.AmountTurnover)",,"DataSet.Account"),"2")))

Პარამეტრები:

ტიპი: სიმებიანი. შესაფასებელი გამოთქმა. სიმებიანი, მაგალითად, Amount (AmountTurnover).

ტიპი: სიმებიანი. ველების დაჯგუფება – დაჯგუფების ველების გამონათქვამები, გამოყოფილი მძიმეებით. მაგალითად, კონტრაქტორი, მხარე.

ტიპი: სიმებიანი. გამოხატულება, რომელიც აღწერს შერჩევას, რომელიც გამოიყენება დეტალურ ჩანაწერებზე. გამოთქმა არ უჭერს მხარს აგრეგატული ფუნქციების გამოყენებას. მაგალითად, DeletionFlag = False.

ტიპი: სიმებიანი. გამონათქვამი, რომელიც აღწერს შერჩევას, რომელიც გამოიყენება ჯგუფურ ჩანაწერებზე. მაგალითად, Amount(AmountTurnover) > &Parameter1.
მაგალითი:

Maximum(CalculateExpressionWithGroupArray("Amount(AmountTurnover)", "Counterparty"));

ფუნქციის სინტაქსის დეტალური აღწერა შეგიძლიათ იხილოთ http://its.1c.ru/db/v837doc#bookmark:dev:TI000000582
ახლა, გაანგარიშებისთვის, ჩვენ ვამეორებთ ველს "შეკვეთა", სხვადასხვა მნიშვნელობებით "გამოთვალეთ ...", შემდეგი გამონათქვამების გამოყენებით, გაითვალისწინეთ, რომ თითოეულ მაღალ დონეზე გამოიყენება დაჯგუფების ქვემოთ მოცემული დონეების მნიშვნელობები. .

შედეგად, ჩვენ ვიღებთ შემდეგ კონსტრუქციას:

გამარჯობა, ძვირფასო მკითხველო! გვაქვს კიდევ ერთი გაკვეთილი განლაგების სისტემის საფუძვლებზე. თქვენ გაეცანით ენის ფუნქციებს SKD გამონათქვამები, დაინახა განლაგების სისტემის მახასიათებლები და ასევე გაიგო განლაგების ველების ძირითადი პარამეტრები. ახლა ჩვენ გადავხედავთ ახალი მასალა. წადი!

დამატებითი პარამეტრები ACS ველებისთვის.

სვეტი "ღირებულების ტიპი"გაძლევთ საშუალებას მიუთითოთ მონაცემთა ტიპი განლაგების ველისთვის. რატომ უნდა მიუთითოთ ტიპი, მაგალითად, "ნომენკლატურის" ველისთვის, თუ უკვე იცით რა ტიპისაა? ეს აუცილებელია, თუ განლაგების ველი კომპოზიტური ტიპისაა. შეგიძლიათ აირჩიოთ კონკრეტული ტიპი, შემდეგ ამ ველის არჩევისას შეირჩევა ამ ტიპის მნიშვნელობები.

სვეტი "ხელმისაწვდომი მნიშვნელობები"საშუალებას გაძლევთ მიუთითოთ შერჩევისთვის ხელმისაწვდომი მნიშვნელობები და შეზღუდოთ მომხმარებლის არჩევანი გარკვეულ ლიმიტებზე.

სვეტი "დეკორი"საშუალებას გაძლევთ მიუთითოთ განლაგების ველის დიზაინი განლაგების გამოყენების გარეშე. თქვენ შეგიძლიათ მიუთითოთ შრიფტის ფერი, ჩარჩოს ფერი, ტექსტის ორიენტაცია და ა.შ.

სვეტი "რედაქტირების პარამეტრები"საშუალებას გაძლევთ მიუთითოთ, თუ როგორ უნდა შეცვალოთ განლაგების ველი. მაგალითად, შერჩევისას შეგიძლიათ მიუთითოთ ელემენტების სწრაფი შერჩევა სიიდან. ნაგულისხმევად, განლაგების ველი მემკვიდრეობით იღებს ყველა რედაქტირების ვარიანტს მეტამონაცემების ობიექტიდან.

გამოთვლილი ველები

მონაცემთა შემადგენლობის "გამოთვლილი ველები" ჩანართზე შეგიძლიათ შექმნათ თქვენი საკუთარი გამოთვლილი ველები.

რატომ გჭირდებათ გამოთვლილი ველები, როდესაც შეგიძლიათ შექმნათ ისინი შეკითხვის დონეზე? ყველა ველის აღწერა შეუძლებელია შეკითხვის გამოყენებით. თუ თქვენ გჭირდებათ რთული ველის შექმნა სხვადასხვა მონაცემთა ნაკრებიდან, მაგალითად, მოთხოვნა და ობიექტი, მაშინ არ შეგიძლიათ გაანგარიშებული ველების გარეშე. თქვენ არ შეგიძლიათ დაამატოთ მონაცემთა შემადგენლობის ველი, თუ მონაცემთა წყარო არის მოთხოვნა და ჩართულია ავტომატური შევსება, მაგრამ გამოთვლილი ველების გამოყენებით შეგიძლიათ დაამატოთ იმდენი ველი, რამდენიც გსურთ.

გამოთვლილი ველის "გამოხატვა" სვეტში, თქვენ უნდა დაწეროთ თვითნებური გამოხატულება, რომელიც იყენებს მონაცემთა შემადგენლობის ველებს, მათ გზაზე წვდომას (სვეტი "გზა" ჩანართზე "მონაცემთა ნაკრები"). ან შეგიძლიათ გამოიყენოთ მათემატიკური ტრანსფორმაციის ფუნქციები ან შეხვიდეთ საერთო მოდულების ფუნქციებზე. მაგალითად, სვეტში "მონაცემთა გზა" ჩავწეროთ გამოთვლილი ველის სახელი "გადახრა", ხოლო "გამოხატვა" ველში შემდეგი.

  • 1C-ბიტრიქსი
  • ბიზნეს პროგრამული უზრუნველყოფის ერთ-ერთი ყველაზე მნიშვნელოვანი სფეროა ანგარიშგება. ბიზნესის ბედი შეიძლება იყოს დამოკიდებული (და არა გადატანითი მნიშვნელობით!) იმაზე, თუ რამდენად ადვილია არსებული ანგარიშის მორგება ბიზნესის (და კანონმდებლობის) ცვალებად საჭიროებებზე ან ახლის შექმნა, იქნება ეს ანგარიში საგადასახადო ოფისისთვის. ან სეზონზე და სხვა ფაქტორებზე საქონელზე მოთხოვნის დამოკიდებულების დიაგრამა. მძლავრი და მოქნილი ანგარიშგების სისტემა, რომელიც აადვილებს სისტემიდან საჭირო მონაცემების ამოღებას, მის გასაგებ ფორმაში წარდგენას, რაც საშუალებას აძლევს საბოლოო მომხმარებელს ხელახლა დააკონფიგურიროს სტანდარტული ანგარიში, რათა ნახოს მონაცემები ახლებურად - ეს არის იდეალი, რომელიც ყველა ბიზნეს სისტემა უნდა იბრძოლოს.

    1C:Enterprise პლატფორმაზე, მექანიზმი სახელწოდებით "მონაცემთა შედგენის სისტემა" (შემოკლებით DCS) პასუხისმგებელია ანგარიშების გენერირებაზე. ამ სტატიაში ჩვენ შევეცდებით მოგცეთ მოკლე აღწერა ACS მექანიზმის იდეები და არქიტექტურა და მისი შესაძლებლობები.


    ACS არის მექანიზმი, რომელიც ეფუძნება ანგარიშების დეკლარაციულ აღწერას. დაშვების კონტროლის სისტემა შექმნილია ანგარიშების გენერირებისთვის და რთული სტრუქტურის მქონე ინფორმაციის ჩვენებისთვის. სხვათა შორის, ანგარიშების შემუშავების გარდა, ACS მექანიზმი ასევე გამოიყენება 1C: Enterprise-ში დინამიურ სიაში, სიის ინფორმაციის ჩვენების საშუალება. მდიდარი ფუნქციონირება(ბრტყელი და იერარქიული სიების ჩვენება, რიგების პირობითი დიზაინი, დაჯგუფება და ა.შ.).

    ცოტა ისტორია

    1C:Enterprise 8 პლატფორმის პირველივე ვერსიაში, ვერსია 8.0, მოხსენებები გაკეთდა ასე:
    1. ერთი ან მეტი მოთხოვნა დაიწერა 1C შეკითხვის ენაზე (SQL-ის მსგავსი ენა, მეტი ამის შესახებ ქვემოთ).
    2. დაიწერა კოდი, რომელიც გადასცემდა დასრულებული მოთხოვნების შედეგებს ცხრილების დოკუმენტიან დიაგრამაში. კოდს ასევე შეუძლია შეასრულოს სამუშაო, რომელიც შეუძლებელი იყო შეკითხვისას - მაგალითად, მან გამოითვალა მნიშვნელობები ჩაშენებული 1C ენის გამოყენებით.
    მიდგომა არის პირდაპირი, მაგრამ არა ყველაზე მოსახერხებელი - ვიზუალური პარამეტრებიმინიმუმ, ყველაფერი უნდა იყოს დაპროგრამებული "ხელით". და სრულიად ახალი პლატფორმის "1C:Enterprise 8" იმ დროს ერთ-ერთი კოზირი იყო მინიმიზაცია აპლიკაციის გადაწყვეტაში იმ კოდის ოდენობის, რომელიც უნდა დაეწერა ხელით, კერძოდ, ვიზუალური დიზაინის საშუალებით. ლოგიკური იქნებოდა, რომ იგივე გზა გაიაროს ანგარიშგების მექანიზმში. ეს გაკეთდა ახალი მექანიზმის - მონაცემთა შედგენის სისტემის შემუშავებით.

    ერთ-ერთი იდეა, რომელიც საფუძვლად დაედო წვდომის კონტროლის სისტემას, იყო ანგარიშების მოქნილობა და მორგება, რაც ხელმისაწვდომი იყო როგორც დეველოპერისთვის, ასევე საბოლოო მომხმარებლისთვის. იდეალურ შემთხვევაში, მსურს საბოლოო მომხმარებლისთვის წვდომა მივცე ანგარიშის დიზაინის ინსტრუმენტების იმავე კომპლექტზე, როგორც დეველოპერს. ლოგიკური იქნებოდა ყველასთვის ხელმისაწვდომი ინსტრუმენტების ერთი ნაკრების შექმნა. ისე, რადგან ხელსაწყოები მოითხოვს საბოლოო მომხმარებლის მონაწილეობას, ეს ნიშნავს, რომ მათში პროგრამირების გამოყენება მინიმუმამდე უნდა შემცირდეს (საუკეთესოა მისი სრულად აღმოფხვრა), ხოლო ვიზუალური პარამეტრები მაქსიმალურად უნდა იქნას გამოყენებული.

    პრობლემის ფორმულირება

    დეველოპერების ჯგუფის ამოცანა იყო ანგარიშგების სისტემის შექმნა, რომელიც დაფუძნებული იყო არა ალგორითმზე (ანუ კოდის დაწერის გზით), არამედ ანგარიშების შექმნის დეკლარაციულ მიდგომაზე. და ჩვენ გვჯერა, რომ პრობლემა წარმატებით მოგვარდა. ჩვენი გამოცდილებით, საჭირო მოხსენების დაახლოებით 80% შეიძლება განხორციელდეს ACS-ის გამოყენებით კოდის ერთი ხაზის გარეშე (გარდა გამოთვლილი ველებისთვის ფორმულების ჩაწერისა), ძირითადად ვიზუალური პარამეტრების მეშვეობით.
    SDS-ის პირველი ვერსიის შემუშავებას დაახლოებით 5 ადამიანი-წელი დასჭირდა.

    ორი ენა

    ანგარიშების შექმნისას ორი ენაა ჩართული. ერთი არის შეკითხვის ენა, რომელიც გამოიყენება მონაცემების მოსაპოვებლად. მეორე არის მონაცემთა კომპოზიციის გამოხატვის ენა, რომელიც განკუთვნილია სისტემის სხვადასხვა ნაწილში გამოყენებული გამონათქვამების დასაწერად, მაგალითად, მონაცემთა კომპოზიციის პარამეტრებში, მომხმარებლის ველების გამონათქვამების აღსაწერად.

    შეკითხვის ენა

    შეკითხვის ენა დაფუძნებულია SQL-ზე და ადვილი შესასწავლია SQL-ის მცოდნეთათვის. მოთხოვნის მაგალითი:

    მარტივია SQL მოთხოვნებისთვის სტანდარტული სექციების ანალოგების ნახვა - SELECT, FROM, GROUP BY, ORDER BY.

    ამავდროულად, შეკითხვის ენა შეიცავს გაფართოებების მნიშვნელოვან რაოდენობას, რომლებიც მიზნად ისახავს ფინანსური და ეკონომიკური პრობლემების სპეციფიკის ასახვას და აპლიკაციის გადაწყვეტილებების შემუშავებისთვის საჭირო ძალისხმევის მინიმუმამდე შემცირებას:

    • ველებზე წვდომა წერტილის გამოყენებით. თუ ცხრილის ველები არის საცნობარო ტიპის (ისინი ინახავს ბმულებს სხვა ცხრილის ობიექტებთან), დეველოპერს შეუძლია მიმართოს მათ მოთხოვნის ტექსტში „.“-ის საშუალებით და სისტემა არ ზღუდავს ბუდობრივი დონეების რაოდენობას. ასეთი ბმულების (მაგალითად, მომხმარებლის შეკვეთა. შეთანხმება. ორგანიზაცია. ტელეფონი).
    • შედეგების მრავალგანზომილებიანი და მრავალდონიანი ფორმირება. ჯამები და ქვეჯამობები ყალიბდება დაჯგუფებისა და იერარქიის გათვალისწინებით, დონეების გავლა შესაძლებელია შეჯამებით ნებისმიერი თანმიმდევრობით და უზრუნველყოფილია ჯამების სწორი აგება დროის განზომილებების მიხედვით.
    • ვირტუალური ცხრილების მხარდაჭერა. სისტემის მიერ მოწოდებული ვირტუალური ცხრილები საშუალებას გაძლევთ მიიღოთ თითქმის მზა მონაცემები აპლიკაციის ამოცანების უმეტესობისთვის, შედგენის საჭიროების გარეშე. რთული კითხვები. ამრიგად, ვირტუალურ ცხრილს შეუძლია მიაწოდოს მონაცემები პროდუქტის ნაშთების შესახებ პერიოდების მიხედვით დროის გარკვეულ მომენტში. ამავდროულად, ვირტუალური ცხრილები მაქსიმალურად იყენებენ შენახულ ინფორმაციას, მაგალითად, ადრე გამოთვლილ ჯამებს და ა.შ.
    • დროებითი მაგიდები. შეკითხვის ენა საშუალებას გაძლევთ გამოიყენოთ დროებითი ცხრილები შეკითხვებში. მათი დახმარებით შეგიძლიათ გააუმჯობესოთ შეკითხვის შესრულება, ზოგიერთ შემთხვევაში შეამციროთ დაბლოკვის რაოდენობა და გააადვილოთ მოთხოვნის ტექსტის წაკითხვა.
    • პარტიული მოთხოვნები. დროებით ცხრილებთან მუშაობა უფრო მოსახერხებელი რომ გახდეს, შეკითხვის ენა მხარს უჭერს ჯგუფური მოთხოვნების მუშაობას - ამრიგად, დროებითი ცხრილის შექმნა და მისი გამოყენება მოთავსებულია ერთ შეკითხვაში. Batch მოთხოვნა არის მოთხოვნების თანმიმდევრობა, რომლებიც გამოყოფილია მძიმით (";"). პარტიაში მოთხოვნები სრულდება ერთმანეთის მიყოლებით. სერიული მოთხოვნის შესრულების შედეგი, გამოყენებული მეთოდიდან გამომდინარე, იქნება ან შედეგი, რომელიც დაბრუნდა ჯგუფში ბოლო მოთხოვნით, ან შედეგების მასივი სერიის ყველა მოთხოვნიდან იმ თანმიმდევრობით, რომლითაც მიჰყვება მოთხოვნები ჯგუფში. .
    • საცნობარო ველების წარმოდგენების მოძიება. თითოეულ ობიექტის ცხრილს (რომელშიც ინახება დირექტორია ან დოკუმენტი) აქვს ვირტუალური ველი - "ნახვა". ეს ველი შეიცავს ობიექტის ტექსტურ წარმოდგენას და ამარტივებს ანგარიშის შემქმნელს. ასე რომ, დოკუმენტისთვის, ეს ველი შეიცავს ყველა ძირითად ინფორმაციას - დოკუმენტის ტიპის სახელს, მის ნომერს და თარიღს (მაგალითად, „გაყიდვა 000000003 07/06/2017 17:49:14“), დეველოპერის შენახვა გათვლილი ველის დაწერა.
    • და ა.შ.
    მოთხოვნის მექანიზმი ავტომატურად ცვლის მოთხოვნას იმ როლების გათვალისწინებით, რომელსაც ეკუთვნის მომხმარებელი, რომლის სახელითაც შესრულებულია მოთხოვნა (ანუ მომხმარებელი დაინახავს მხოლოდ იმ მონაცემებს, რომელთა ნახვის უფლება აქვს) და ფუნქციონალურ ვარიანტებს (ანუ შესაბამისად აპლიკაციის გადაწყვეტის ფუნქციონალობაში კონფიგურირებულით).

    ასევე არსებობს სპეციალური შეკითხვის ენის გაფართოებები წვდომის კონტროლის სისტემებისთვის. გაფართოება ხორციელდება სპეციალური სინტაქსური ინსტრუქციების გამოყენებით, რომლებიც ჩასმულია ხვეული ბრეკეტებში და მოთავსებულია უშუალოდ მოთხოვნის სხეულში. გაფართოებების გამოყენებით დეველოპერი განსაზღვრავს რა ოპერაციებს შეძლებს საბოლოო მომხმარებელი ანგარიშის მორგებისას.

    Მაგალითად:

    • არჩევა. ეს წინადადება აღწერს ველებს, რომელთა არჩევასაც მომხმარებელი შეძლებს გამოსაყვანად. ამ საკვანძო სიტყვის შემდეგ ჩამოთვლილია ველების მეტსახელები ძირითადი შეკითხვის შერჩევის სიიდან, რომლებიც ხელმისაწვდომი იქნება კონფიგურაციისთვის, გამოყოფილი მძიმეებით. მაგალითი: (აირჩიეთ საქონელი, საწყობი)
    • სად. აღწერილია ველები, რომლებზეც მომხმარებელს შეუძლია გამოიყენოს არჩევანი. ეს წინადადება იყენებს ცხრილის ველებს. შერჩევის სიის ველის მეტსახელების გამოყენება დაუშვებელია. კავშირის თითოეული ნაწილი შეიძლება შეიცავდეს საკუთარ WHERE ელემენტს. მაგალითები: (WHERE Item.*, Warehouse), (WHERE Document.Date >= &StartDate, Document.Date<= &ДатаКонца}
    • და ა.შ.
    გაფართოებების გამოყენების მაგალითი:

    მონაცემთა შემადგენლობის გამოხატვის ენა

    მონაცემთა კომპოზიციის გამოხატვის ენა შექმნილია გამონათქვამების დასაწერად, რომლებიც გამოიყენება, კერძოდ, ველების მორგებული გამონათქვამების აღსაწერად. SKD საშუალებას გაძლევთ განსაზღვროთ მორგებული ველები ანგარიშში თქვენი საკუთარი გამონათქვამების ან ოფციების კომპლექტების გამოყენებით მათი შერჩევის პირობებით (ანალოგური CASE SQL-ში). მორგებული ველები გათვლილი ველების მსგავსია. მათი დაყენება შესაძლებელია როგორც კონფიგურატორში, ასევე 1C: Enterprise რეჟიმში, მაგრამ ჩვეულებრივი მოდულების ფუნქციები არ შეიძლება გამოყენებულ იქნას მორგებული ველის გამონათქვამებში. ამიტომ, მორგებული ველები განკუთვნილია მომხმარებლისთვის და არა დეველოპერისთვის.

    მაგალითი:

    დაშვების კონტროლის სისტემაზე ანგარიშის შექმნის პროცესი

    ანგარიშის შექმნისას უნდა შევქმნათ განლაგება, რომელიც განსაზღვრავს, თუ როგორ იქნება ნაჩვენები მონაცემები ანგარიშში. თქვენ შეგიძლიათ შექმნათ განლაგება მონაცემთა განლაგების დიაგრამის საფუძველზე. მონაცემთა განლაგების დიაგრამა აღწერს იმ მონაცემების არსს, რომელიც მოწოდებულია ანგარიშში (საიდან მივიღოთ მონაცემები და როგორ შეიძლება მისი განლაგების კონტროლი). მონაცემთა შემადგენლობის სქემა არის საფუძველი, რომელზედაც შესაძლებელია ყველა სახის მოხსენების გენერირება. მონაცემთა შემადგენლობის სქემა შეიძლება შეიცავდეს:
    • მოითხოვეთ ტექსტი მონაცემთა შედგენის სისტემის ინსტრუქციებით;
    • მრავალი მონაცემთა ნაკრების აღწერა;
    • ხელმისაწვდომი ველების დეტალური აღწერა;
    • მრავალრიცხოვან მონაცემთა ერთობლიობას შორის ურთიერთობის აღწერა;
    • მონაცემთა შეძენის პარამეტრების აღწერა;
    • ველების განლაგებისა და დაჯგუფებების აღწერა;
    • და ა.შ.

    მაგალითად, შეგიძლიათ დაამატოთ მოთხოვნა მონაცემთა კომპოზიციის სქემაში, როგორც მონაცემთა ნაკრები და გამოიძახოთ შეკითხვის კონსტრუქტორი, რომელიც საშუალებას გაძლევთ გრაფიკულად შექმნათ თვითნებური სირთულის მოთხოვნა:

    შეკითხვის დიზაინერის გაშვების შედეგი იქნება მოთხოვნის ტექსტი (1C: Enterprise შეკითხვის ენაზე). საჭიროების შემთხვევაში, ტექსტის რეგულირება შესაძლებელია ხელით:

    მონაცემთა განლაგების სქემაში შეიძლება იყოს რამდენიმე მონაცემთა ნაკრები, მონაცემთა ნაკრები შეიძლება იყოს დაკავშირებული განლაგებაში ნებისმიერი გზით, შეიძლება დაემატოს გამოთვლილი ველები, შეიძლება დაზუსტდეს ანგარიშის პარამეტრები და ა.შ. აღსანიშნავია შეკითხვის მექანიზმის საინტერესო მახასიათებელი 1C:Enterprise-ში. მოთხოვნები საბოლოოდ ითარგმნება SQL-ის დიალექტზე, რომელიც სპეციფიკურია DBMS-ისთვის, რომლითაც აპლიკაცია პირდაპირ მუშაობს. ზოგადად, ჩვენ ვცდილობთ მაქსიმალურად გამოვიყენოთ DBMS სერვერების შესაძლებლობები (ჩვენ შეზღუდული ვართ იმით, რომ ვიყენებთ მხოლოდ იმ შესაძლებლობებს, რომლებიც ერთდროულად ხელმისაწვდომია ყველა DBMS-ში, რომელსაც მხარს უჭერს 1C: Enterprise პლატფორმა - MS SQL, Oracle, IBM DB2. , PostgreSQL). ამრიგად, შეკითხვის დონეზე გამოთვლილ ველებში, ჩვენ შეგვიძლია გამოვიყენოთ მხოლოდ ის ფუნქციები, რომლებიც ითარგმნება SQL-ში.

    მაგრამ მონაცემთა შემადგენლობის სქემის დონეზე, ჩვენ უკვე შეგვიძლია დავამატოთ მორგებული ველები და გამოვიყენოთ ფუნქციები მათში ჩაშენებულ 1C განვითარების ენაზე (მათ შორის ჩვენს მიერ დაწერილი), რაც მნიშვნელოვნად აფართოებს მოხსენებების შესაძლებლობებს. ტექნიკურად ასე გამოიყურება - ყველაფერი, რისი თარგმნაც შესაძლებელია SQL-ში, ითარგმნება SQL-ში, მოთხოვნა შესრულებულია DBMS დონეზე, შეკითხვის შედეგები მოთავსებულია 1C აპლიკაციის სერვერის მეხსიერებაში და SKD ითვლის მნიშვნელობებს თითოეული ჩანაწერისთვის. გამოთვლილი ველებიდან, რომელთა ფორმულები დაწერილია 1C ენაზე.


    პერსონალური ველების დამატება

    ანგარიშს შეგიძლიათ დაამატოთ ცხრილებისა და დიაგრამების თვითნებური რაოდენობა:


    ანგარიშის დიზაინერი


    გაშვების ანგარიში

    SKD-ს გამოყენებით მომხმარებელს შეუძლია დაამატოს კომპლექსური არჩევანი ანგარიშში (რომელიც დაემატება მოთხოვნას საჭირო ადგილას), პირობითი დიზაინი (გამოსახული ველების განსხვავებულად ფორმატირების საშუალებას - შრიფტით, ფერით და ა.შ., მათი მნიშვნელობიდან გამომდინარე. ) და უფრო მეტი. .

    ანგარიშის შექმნისა და გენერირების პროცესი შეიძლება მოკლედ აღწერილი იყოს შემდეგნაირად:

    • დეველოპერი დიზაინის დროს დიზაინერის დახმარებით (ან გაშვების დროს კოდის გამოყენებით) განსაზღვრავს მონაცემთა განლაგების სქემას:
      • მოთხოვნის/მოთხოვნის ტექსტი
      • გამოთვლილი ველების აღწერა
      • თხოვნებს შორის ურთიერთობა (თუ რამდენიმე მათგანია)
      • მოხსენების პარამეტრები
      • ნაგულისხმევი პარამეტრები
      • და ა.შ.
    • ზემოაღნიშნული პარამეტრები შენახულია განლაგებაში
    • მომხმარებელი ხსნის ანგარიშს
      • შესაძლოა აკეთებს დამატებით პარამეტრებს (მაგალითად, ცვლის პარამეტრების მნიშვნელობებს)
      • დააჭირეთ ღილაკს "გენერაცია".
    • მომხმარებლის პარამეტრები გამოიყენება დეველოპერის მიერ განსაზღვრულ მონაცემთა შემადგენლობის სქემაზე.
    • იქმნება შუალედური მონაცემთა კომპოზიციის განლაგება, რომელიც შეიცავს ინსტრუქციას, საიდან უნდა მიიღოთ მონაცემები. კერძოდ, მორგებულია განლაგებაში მითითებული მოთხოვნები. ამრიგად, მოთხოვნიდან ამოღებულია ველები, რომლებიც არ არის გამოყენებული ანგარიშში (ეს კეთდება იმისთვის, რომ მინიმუმამდე დაიყვანოს მიღებული მონაცემების რაოდენობა). ყველა ველი, რომელიც მონაწილეობს გამოთვლილ ველების ფორმულებში, ემატება მოთხოვნას.
    • თამაშში შედის მონაცემთა შემადგენლობის პროცესორი. განლაგების პროცესორი ახორციელებს შეკითხვებს, აკავშირებს მონაცემთა ნაკრებებს, ითვლის მნიშვნელობებს გამოთვლილი ველებისა და რესურსებისთვის და ახორციელებს დაჯგუფებას. ერთი სიტყვით, აკეთებს ყველა იმ გამოთვლას, რომელიც არ შესრულებულა DBMS დონეზე.
    • მონაცემთა გამომავალი პროცესორი იწყებს მოთხოვნას შესრულების შესახებ და აჩვენებს მიღებულ მონაცემებს ცხრილების დოკუმენტში, სქემაში და ა.შ.


    ანგარიშის გენერირების პროცესი ACS მექანიზმის გამოყენებით

    ჩვენ ვცდილობთ მინიმუმამდე დავიყვანოთ სერვერიდან კლიენტის აპლიკაციაში გადაცემული მოხსენების მონაცემების რაოდენობა. ცხრილების დოკუმენტში მონაცემების ჩვენებისას, ცხრილების დოკუმენტის გახსნისას სერვერიდან გადავიტანთ მხოლოდ იმ ხაზებს, რომლებსაც მომხმარებელი ხედავს დოკუმენტის დასაწყისში. როდესაც მომხმარებელი მოძრაობს დოკუმენტის ხაზების გასწვრივ, დაკარგული მონაცემები იტვირთება სერვერიდან კლიენტზე.

    მორგებული პარამეტრები

    ყველა ACS ინსტრუმენტი ხელმისაწვდომია როგორც დეველოპერისთვის, ასევე საბოლოო მომხმარებლისთვის. მაგრამ პრაქტიკამ აჩვენა, რომ საბოლოო მომხმარებელს ხშირად აშინებს ხელსაწყოების შესაძლებლობების სიმრავლე. უფრო მეტიც, უმეტეს შემთხვევაში, საბოლოო მომხმარებელს არ სჭირდება პარამეტრების მთელი ძალა - საკმარისია მას ჰქონდეს სწრაფი წვდომა ერთი ან ორი მოხსენების პარამეტრის დაყენებაზე (მაგალითად, პერიოდი და კონტრაგენტი). პლატფორმის გარკვეული ვერსიიდან დაწყებული, ანგარიშის შემქმნელს აქვს შესაძლებლობა, მონიშნოს, რომელი ანგარიშის პარამეტრებია ხელმისაწვდომი მომხმარებლისთვის. ეს კეთდება "მომხმარებლის პარამეტრებში ჩართვა" ჩამრთველის გამოყენებით. ასევე, მოხსენების პარამეტრებს ახლა აქვს დროშა „ჩვენების რეჟიმი“, რომელიც იღებს სამ მნიშვნელობიდან ერთს:
    • სწრაფი წვდომა. პარამეტრი გამოჩნდება უშუალოდ მოხსენების ფანჯრის ზედა ნაწილში.
    • ჩვეულებრივი. პარამეტრი ხელმისაწვდომი იქნება "პარამეტრების" ღილაკის მეშვეობით.
    • Მიუწვდომელია. პარამეტრი არ იქნება ხელმისაწვდომი საბოლოო მომხმარებლისთვის.


    ჩვენების რეჟიმის დაყენება დიზაინის დროს


    პარამეტრის ჩვენება სწრაფი წვდომის რეჟიმში მუშაობის დროს (ღილაკის გენერირება)

    განვითარების გეგმები

    წვდომის კონტროლის სისტემების შემუშავებაში ჩვენი ერთ-ერთი პრიორიტეტული სფეროა მომხმარებლის პარამეტრების გამარტივება. ჩვენი გამოცდილება გვიჩვენებს, რომ ზოგიერთი საბოლოო მომხმარებლისთვის მომხმარებლის პარამეტრებთან მუშაობა ჯერ კიდევ მთავარი ამოცანაა. ჩვენ ამას გავითვალისწინებთ და ვმუშაობთ ამ მიმართულებით. შესაბამისად, დეველოპერებსაც გაუადვილდებათ წვდომის კონტროლის სისტემებთან მუშაობა, რადგან ჩვენ, როგორც ადრე, გვსურს მოგაწოდოთ ერთი ინსტრუმენტი ანგარიშების დასაყენებლად როგორც დეველოპერისთვის, ასევე საბოლოო მომხმარებლისთვის.