მონაცემთა ნაკრების დაკავშირება შენახვის სისტემაში. მონაცემთა განლაგების დიაგრამის კონსტრუქტორი - ჩანართის დამაკავშირებელი მონაცემთა ნაკრები 1s SKD მონაცემთა ნაკრების დაკავშირების პირობა


41
მე ცოტა ხნის წინ გავაკეთე ანგარიში სვეტების განუსაზღვრელი რაოდენობით. მე არ მინდოდა კოდის შეხება, ამიტომ გადავწყვიტე ამის გაკეთება წვდომის კონტროლის სისტემაზე. ამაში არანაირი პრობლემა არ ყოფილა, საჭირო იყო შედეგის თვითნებურ განლაგებაზე გადატანა (თქვენი სათაური +... 27
მიუხედავად იმისა, რომ CDS სტუდენტები ხვდებიან ამას პირველ ან მეორე დღეს, ის უნდა იყოს FAQ განყოფილებაში. განლაგების შესახებ ანგარიშის პროგრამულად გამოტანის მარტივი მაგალითი ნაგულისხმევი პარამეტრების გამოყენებით. //მიიღეთ დიაგრამა... 18
წვდომის კონტროლის სისტემაზე ანგარიშების გენერირებისას, ნაგულისხმევად, ყველა დაჯგუფება გაფართოებულია, მაგრამ ზოგჯერ საჭიროა თაობის შემდეგ დაუყოვნებლივ აჩვენოს ანგარიში ჩაშლილი დაჯგუფებებით! ანგარიშის მოდულის ეს კოდი საშუალებას გაძლევთ ჩაკეცოთ... 9
რა არის საჭირო ანგარიშების შემუშავებისას, რომ შეზღუდული უფლებების მქონე მომხმარებლისთვის ანგარიში გენერირდება მთლიანად უფლებების შემოწმების გარეშე! განსაკუთრებით თუ RLS არის კონფიგურირებული, ამის გაკეთების რამდენიმე გზა არსებობს: 1. დააინსტალირეთ...

ამ შემთხვევაში, Required ჩამრთველი განსაზღვრავს, ჩართულია თუ არა წყაროში გამოყენებული ველები (დაყენებულია FALSE) თუ დანიშნულების ადგილას (დაყენებულია TRUE) და ამის საფუძველზე ამატებს ურთიერთობას განლაგებაში.

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

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

1C გამოცდის 11.33 შეკითხვა: პლატფორმის პროფესიონალი. მისაღებია თუ არა მრავალი მონაცემთა ნაკრების გამოყენება?

  1. მხოლოდ მონაცემთა ნაკრების გამოყენებისას - ობიექტი
  2. მხოლოდ მონაცემთა ნაკრების გამოყენებისას - მოთხოვნა

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


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

  1. კავშირის ვარიანტს (მარცხნივ, სრული) ირჩევს დეველოპერი
  2. ყოველთვის გამოიყენება პირველი ნაკრების მარცხენა შეერთება მეორესთან
  3. მეორე ნაკრების მარცხენა შეერთება პირველთან ყოველთვის გამოიყენება
  4. გამოიყენება პირველი ნაკრების მარცხენა შეერთება მეორესთან, ზოგიერთ შემთხვევაში ხდება შიდა შეერთება

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

1C გამოცდის 11.13 კითხვა: პლატფორმის პროფესიონალი. რა შემთხვევებში არის საჭირო იერარქიის შემოწმების კონფიგურაცია "მონაცემთა ნაკრები" ჩანართზე განლაგების დიაგრამის დიზაინერის ფანჯარაში

  1. თუ თქვენ გჭირდებათ აკრძალოთ ჯამების მიღება თქვენივე იერარქიის მიხედვით, რომელიც განსხვავდება სტანდარტულისაგან
  2. თუ თქვენ უნდა დაუშვათ ჯამების მიღება თქვენი საკუთარი იერარქიის მიხედვით, სტანდარტულისაგან განსხვავებული
  3. თუ თქვენ გჭირდებათ აკრძალოთ შერჩევის ინსტალაცია თქვენი საკუთარი იერარქიის ჯგუფში შესასვლელად, სტანდარტულისაგან განსხვავებული
  4. თუ თქვენ უნდა დაუშვათ შერჩევა თქვენი იერარქიის ჯგუფში, რომელიც განსხვავდება სტანდარტულისაგან

სწორი პასუხი არის ნომერი მეოთხე, აღწერა პოსტში.

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

  1. ყველაფერი, როგორც შეკითხვის ენაში: "ყველა ყველასკენ", "მარცხნივ", "მარჯვნივ", "შინაგანი" და "სრული"
  2. მხოლოდ "ყველა ყველასთვის", "მარცხნივ", "მარჯვნივ" და "შინაგანი"
  3. მხოლოდ "მარცხენა" და "შინაგანი"
  4. მხოლოდ "ყველა ყველასთვის", "მარცხნივ" და "შინაგანი"
  5. მხოლოდ "მარცხნივ", "მარჯვნივ", "შინაგანი" და "სრული"

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

1C გამოცდის 11.17 კითხვა: პლატფორმის პროფესიონალი. მონაცემთა ორ ნაკრებს შორის ურთიერთობის დაყენებისას არჩეულია დროშა „საჭირო ურთიერთობა“. რა შემთხვევაში გამოიწვევს მომხმარებლის ქმედებები კავშირის ჩაშლას?

  1. ორივე ნაკრებიდან მონაცემების დაკავშირება განხორციელდება იმისდა მიუხედავად, თუ რა პარამეტრები გააკეთა მომხმარებელმა
  2. შერჩეული ველების სია აჩვენებს მხოლოდ მარცხენა ნაკრების ველებს
  3. არჩეული ველების სიაში მითითებულია მხოლოდ მარჯვენა ნაკრების ველები
  4. არჩეული ველების სიაში მითითებულია მხოლოდ მარცხენა ნაკრების ველები, არჩეულია მარჯვენა ნაკრების ველი.
  5. არჩეული ველების სიაში მითითებულია მხოლოდ მარჯვენა ნაკრების ველები, არჩეულია მარცხენა ნაკრების ველი.

სწორი პასუხი არის მეორე, თუ მხოლოდ ერთი ნაკრებია (და წყარო), მაშინ დასაკავშირებელი არაფერია.

1C გამოცდის 11.39 შეკითხვა: პლატფორმის პროფესიონალი. როგორ გადაეცემა გარე მონაცემები კომპლექტს - ობიექტს მონაცემთა შემადგენლობის სისტემაში?

  1. ჩაშენებული ენის საშუალებით მონაცემთა შემადგენლობის პროცესორის საშუალებით
  2. ჩაშენებული ენის გამოყენება განლაგების შემქმნელის მეშვეობით
  3. ჩაშენებული ენის საშუალებით მონაცემთა შემადგენლობის სისტემის გამომავალი პროცესორის მეშვეობით

სწორი პასუხი არის პირველი, პროცესორის მეშვეობით.

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

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

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

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


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

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


დაე იყოს ჩვენს დირექტორიაში საქონელიშეიცავს შემდეგ ჩანაწერებს

ჩვენ ვაწარმოებთ ანგარიშს და ვხედავთ შემდეგ სურათს

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

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

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

1C-ში განხორციელებული მონაცემთა განლაგების სქემა მხარს უჭერს მონაცემთა სამი ტიპის წყაროს (ნახ. 1)

Მონაცემთა წყაროები

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

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

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

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

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

როგორც საცდელი ადგილი, ჩვენ ვირჩევთ UPP-ის ბაზას, ვერსია 1.3.92.3, რომელიც მუშაობს ნორმალურ აპლიკაციის რეჟიმში.

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

ასე რომ, ჩვენ უნდა:

  1. აიღეთ ქვითრის დოკუმენტის ცხრილის ნაწილი;
  2. ატვირთეთ ფაილი "ობიექტის" მონაცემთა წყაროში;
  3. დააკავშირეთ ეს ორი წყარო გარკვეული პარამეტრით (ჩვენს შემთხვევაში ეს იქნება კოდი);
  4. აჩვენეთ მიღებული ცხრილი.

შესრულების პროცესი

მოდით გავიაროთ ყველა ჩამოთვლილი ნაბიჯი:

  • ჩვენ ვქმნით მოთხოვნას ქვითრის დოკუმენტის ტაბულური ნაწილისთვის (ნახ. 2)

ნახ.2

  • მონაცემთა ნაკრების ობიექტის შექმნა (ნახ. 3);

ნახ.3

აქ მნიშვნელოვანია ყურადღება მიაქციოთ „მონაცემების შემცველი ობიექტის სახელს“ ეს არის სახელი, რომელიც უნდა მივუთითოთ მოხსენების მოდულის კოდში.

  • მივდივართ ანგარიშის მოდულზე და იქ ვქმნით პროცედურას „შედეგის შედგენისას“ (სურ. 4);


ნახ.4

ჩვენ არ აღვწერთ გარე ფაილიდან მონაცემების მოპოვების პროცედურას, ჩვენ ყურადღებას მივაქცევთ კოდის იმ ნაწილს, რომელიც უნდა იყოს წარმოდგენილი განლაგებაში, რათა მივიღოთ მონაცემები „მონაცემთა ნაკრები 2“-ისთვის (ნახ. 5).

ნახ.5

Მნიშვნელოვანი! დაკავშირებისას პროცედურის კოდში „ობიექტის“ შექმნისას StandardProcessing პარამეტრის მნიშვნელობა უნდა იყოს False.

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

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

გადადით დიაგრამის შესაბამის ჩანართზე (სურ. 6).

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

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

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

  1. ბმულის წყარო არის მონაცემთა პირველი ნაკრები, საიდანაც იქნება აღებული ყველა ხელმისაწვდომი მნიშვნელობა;
  2. კომუნიკაციის მიმღები - მონაცემთა ნაკრები, საიდანაც შეირჩევა ჩვენი მდგომარეობის შესაბამისი მნიშვნელობები;
  3. წყაროს გამოხატულება – პირველი მონაცემთა ნაკრების ველი ან გამოხატულება, რომლის მიმართაც მოხდება შედარება;
  4. დანიშნულების გამოხატულება არის დამოკიდებული სიმრავლის ველი ან გამოხატულება;
  5. პარამეტრი – თუ ამ ველში მიუთითებთ პარამეტრის სახელს, მაშინ მიმღების კომპლექტთან კომუნიკაცია განხორციელდება მხოლოდ პარამეტრში მითითებული მნიშვნელობის მიხედვით;
  6. პარამეტრების სია - განსაზღვრავს მნიშვნელობების სიის პარამეტრად გამოყენების შესაძლებლობას;
  7. კავშირის პირობა – აქ წყაროს ველების გამოყენებით გამოხატვის მითითებით, შეგიძლიათ შექმნათ პირობა, რომლის შესრულებაც კავშირის დამყარების სიგნალად გამოდგება;
  8. საწყისი მნიშვნელობა – აჩვენებს კავშირის საწყის მნიშვნელობას;
  9. სავალდებულო ურთიერთობა - ადგენს, ჩართულია თუ არა წყაროში გამოყენებული ველები (დაყენებულია FALSE) ან დანიშნულება (დაყენებულია TRUE-ზე) და ამის საფუძველზე ამატებს ურთიერთობას განლაგებაში.

ამრიგად:

  • კომუნიკაციის წყარო იქნება ჩვენი მოთხოვნის შედეგი;
  • ობიექტი იმოქმედებს როგორც მიმღები;
  • წყაროს გამოთქმა იქნება „NomenclatureCode“;
  • მიმღების გამოთქმა „ნომენკლატურა“;
  • კომუნიკაცია სავალდებულო იქნება (ნახ. 7).

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

სურ.8

ფასების ფაილში ანგარიშის ბოლო ორი სტრიქონის შესატყვისი არ იყო.

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

მოდით გადავხედოთ მონაცემთა შედგენის სქემის (1C SKD) პირველ სამ ჩანართს - მონაცემთა ნაკრები, მონაცემთა ნაკრების კავშირები და გამოთვლილი ველები.

მონაცემთა ნაკრები 1C SKD-ში

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

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

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

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

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

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

ჯერ ჩვენ შევქმნით განლაგების დიაგრამას დოკუმენტის მონაცემთა განლაგებისთვის და ვუწოდებთ მას SKD (მაგალითად: 1C SKD), მასში ვქმნით მონაცემთა ნაკრების ობიექტს, შემდეგ ვავსებთ ველებს, მაგალითად, გვაქვს დოკუმენტი. საქონლის ტაბულური ნაწილით დეტალებით - ნომენკლატურა, რაოდენობა და ფასი.

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

მოდით შევქმნათ ღილაკი დოკუმენტის ფორმაზე და აღვწეროთ მოქმედების მექანიზმი კონტროლირებადი ფორმებით:

&OnClient

პროცედურის ბეჭდვა ()

OurReport = PrintOnServer(); //ფუნქციის გამოძახება სერვერზე

OurReport.Show(); //გენერირებული ანგარიშის ჩვენება

პროცედურის დასასრული

&სერვერზე

ფუნქცია PrintOnServer()

DocumentObject = FormAttributeValue („ობიექტი“);

//ჩვენ ვათავსებთ ტაბულურ ნაწილს Products სტრუქტურაში, სახელწოდებით ProductsSKD, ისევე, როგორც თავად SKD-ში მივუთითეთ მონაცემების შემცველი ობიექტის სახელი.

DataSet = ახალი სტრუქტურა;

DataSet.Insert(“ProductsSKD”, DocumentObject.Products);

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

OurLayout = DocumentObject.GetLayout(“SKD”);

პარამეტრები = OurLayout.DefaultSettings;

//შექმენით მონაცემთა განლაგების განლაგება ჩვენი პარამეტრებით

LayoutLinker = newDataLayoutLayoutLinker;

LayoutLayout = LayoutComposer.Execute(OurLayout, Settings);

//შეასრულეთ მონაცემთა შემადგენლობა ჩვენი მონაცემთა ნაკრებით

DataCompositionProcessor = newDataCompositionProcessor;

DataCompositionProcessor.Initialize(LayoutLayout, DataSet);

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

ReportDocument = New TabularDocument;

OutputProcessor = New OutputProcessorDataCompositionResultInTabularDocument;

OutputProcessor.SetDocument(ReportDocument);

OutputProcessor.Output(DataCompositionProcessor);

დაბრუნების დოკუმენტის ანგარიში;

საბოლოო ფუნქცია

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

შესახებ გაერთიანება

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

გვაქვს მაგიდები:

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

და როდესაც კომბინირებულია:

მოდით ახლა გადავხედოთ სვეტების შევსებას მონაცემთა ნაკრებებში (ჩვენ გამოვტოვებთ ზოგიერთს, რადგან ისინი დაკავშირებულია სხვა ჩანართებთან; ჩვენ დავუბრუნდებით მათ მომავალ სტატიებში):

- ველი, მიუთითეთ ატრიბუტის ზოგადი სახელი;

­­- გზა, მიუთითეთ დეტალების დასახელება, რომლითაც მას დავუკავშირდებით წვდომის კონტროლის სისტემაში, მაგალითად, in გამოთვლილი ველები;

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

- ველის შეზღუდვა, მიუთითეთ ამ რეკვიზიტის ხელმისაწვდომობა;

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

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

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

- ღირებულების ტიპი, მიუთითებს ატრიბუტის მნიშვნელობის ტიპზე, რომელიც უნდა იყოს შევსებული, თუ იყენებთ შემდეგ ველს;

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

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

მონაცემთა ნაკრების კავშირები 1C SKD-ში

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