მოითხოვეთ პაკეტი 1s 8.3. პარტიული მოთხოვნები დუმებისთვის. მეთოდები Run() და RunBatch()

1C GOODWILL კომპანიის ბლოგი

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

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

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

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

1C ენაზე მოთხოვნების პაკეტის შექმნის მაგალითი

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

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

თვითმმართველობის მხარდამჭერი.მშობელი,

თვითმმართველობის დამხმარე კოდი,

თვითმმართველობის მხარდაჭერის სწრაფი შერჩევის კოდი,

თვითმმართველობის მხარდაჭერის სახელი,

თვითმმართველი. ტიპი,

თვითმმართველობის საბალანსო,

თვითდახმარება, რაოდენობრივი.

ანგარიშთა გეგმა თვითმმართველობის AS თვითმხარდაჭერით

////////////////////////////////////////////////////////////////////////////////

თვითმმართველი ტიპებიSubconto.Line Number AS Line Number,

თვითმხარდაჭერის ტიპები Subconto.ViewSubconto AS TypeSubconto,

Self-supportingTypesSubconto.TypeSubconto.Name AS სახელი,

Self-supportingTypesSubconto.TypeSubconto.ValueType ASValueType,

Self-supportingTypesSubconto.OnlyTurnover AS OnlyTurnover,

Self-supportingTypesSubconto.Summary AS Summative

თვითმმართველობის ანგარიშების სქემები

შეკვეთა

თვითმმართველი TypesSubconto.NumberLines

ჩემთვის ასე გამოიყურება:

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

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

დააწკაპუნეთ ღილაკზე „Ok“ და სცადეთ ნახოთ სერიის მოთხოვნის შედეგი.

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

მეთოდები Run() და RunBatch()

Execute() მეთოდის გარდა, რომელიც სათითაოდ შეასრულებს ყველა მოთხოვნას ჯგუფურად და დააბრუნებს ბოლო მოთხოვნის შედეგს, 1C-ში არის ExecuteBatch() მეთოდი. ის აბრუნებს პარტიაში თითოეული მოთხოვნის ნიმუშების მასივს. ზემოთ მოცემულ მაგალითში ეს მეთოდი შესრულებულია.

ArrayResults = Query.ExecuteBatch();

Selection1 = ArrayResults.Select();

თუ Select1.Next() მაშინ

//მოქმედებები შერჩევით 1

endIf;

SelectionViewsSubconto = ArrayResults.Select();

პოსტი 1C 8.3 და 8.2 სერიების მოთხოვნებთან მუშაობა პირველად გამოჩნდა 1C GOODWILL კომპანიის ბლოგზე.

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

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

შეკითხვის დიზაინერის აღწერა ოფიციალურ 1C 8 ვებსაიტზე: v8.1c.ru

ცხრილები და ველები; ; ; ; ; ; ჩადგმული მოთხოვნები (დამუშავების პროცესში).

იმისათვის, რომ გამოიძახოთ 1s 8 შეკითხვის დიზაინერი პროგრამის კოდში, საჭიროა:

  • შექმენით ახალი მოთხოვნა
მოთხოვნა = ახალი მოთხოვნა;
  • დააყენეთ მოთხოვნის ტექსტის ცარიელი ხაზი
Request.Text = "";
  • მოათავსეთ მაუსის კურსორი ციტატებს შორის და დააჭირეთ მაუსის მარჯვენა ღილაკს. კონტექსტური მენიუში, რომელიც იხსნება, აირჩიეთ ელემენტი შეკითხვის კონსტრუქტორიდა უპასუხე დიახკითხვაზე ახალი მოთხოვნის შექმნის შესახებ. თუ მოთხოვნის ტექსტი უკვე ჩაწერილია, მაშინ თქვენ უნდა დააჭიროთ მის შიგნით ნებისმიერ ადგილას და გამოიძახოთ კონსტრუქტორი ;

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

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

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

ახალი ჩანართები: ცხრილები და ველები.

ახალი მექანიზმები: მოთხოვნის ტექსტის ნახვა და რედაქტირება ღილაკის „მოთხოვნის“ გამოყენებით.

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

No1 გაკვეთილის თეორიული ნაწილი

ჩანართი ცხრილები და ველებიშედგება სამი განყოფილებისგან:

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

მაგიდები. ამ განყოფილებაში არჩეულია ამ მოთხოვნისთვის საჭირო ცხრილები. შემდეგ გადაიტანეთ ისინი განყოფილებიდან მონაცემთა ბაზასაჭიროა:

  • ან ორჯერ დააწკაპუნეთ მაგიდაზე;
  • ან გამოიყენეთ ">" ან ">>" ღილაკები.

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

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

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

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

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

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

No1 გაკვეთილის პრაქტიკული ნაწილი

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

დავიწყოთ ნივთების მოთხოვნის შექმნა:

  • შევქმნათ ახალი მოთხოვნა და გავხსნათ კონსტრუქტორი გაკვეთილის დასაწყისში მითითებული მეთოდით;
  • განყოფილებაში მონაცემთა ბაზა, გავხსნათ თემა დირექტორიებიდა ჩვენ იქ ვიპოვით მეგზურს ნომენკლატურა;
  • აირჩიეთ ის და გამოიყენეთ ღილაკი „>“ განყოფილებაში გადასატანად მაგიდები;
  • განყოფილებაში მაგიდებიგახსენით ნომენკლატურის დირექტორია "+" ხატის გამოყენებით;
  • ველების სიაში, რომელიც იხსნება, იპოვეთ ველი ბმულიდა გადაიტანეთ განყოფილებაში ველები">" ღილაკის გამოყენებით
  • ნივთის მოთხოვნა მზად არის, დააწკაპუნეთ ღილაკზე „OK“ დიზაინერის ფანჯრის ბოლოში.

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

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

მოთხოვნის ტექსტში პაკეტის მოთხოვნები გამოყოფილია სიმბოლოთი ";" (წერტილი). არსებობს მხოლოდ ერთი სახელთა სივრცე ვირტუალური ცხრილებისთვის თითო სერიული მოთხოვნით. დროებითი ცხრილის მენეჯერის გამოყენება არ არის საჭირო, მაგრამ შესაძლებელია, თუ გსურთ დროებითი ცხრილების გადაცემა ერთი ჯგუფის მოთხოვნაზე მეორეზე.
კოდი 1C v 8.x დამუშავების პროცედურა (მარცხი, დამუშავების რეჟიმი)

მოთხოვნა = ახალი მოთხოვნა;
მოთხოვნა. ტექსტი = "
|არჩევა
| ნომენკლატურა, SUM(Quantity) AS რაოდენობა
|განთავსება DocTCH
|საიდან
|სად
| ბმული = &ბმული
|ჯგუფი ნომენკლატურის მიხედვით
|;
| აირჩიეთ სხვადასხვა
| ნომენკლატურა
|განთავსება პროდუქტების სია
|საიდან
| დოკუმენტი.სახარჯო მასალები.საქონელი
|სად
| ბმული = &ბმული
|;
|არჩევა
| დოკ.
| Doc.Quantity AS Doc_Quantity,
| ISNULL(რეგ.რაოდენობა დარჩენილი,0) AS Reg_Quantity
|საიდან
| DocTCH AS Doc
| მარცხენა კავშირი
| RegisterAcumulations.Remains of Goods.Remains(,
| ნომენკლატურა B(SELECT VARIOUS
| ნომენკლატურა
| FROM
| პროდუქციის სია AS პროდუქციის სია)) AS რეგ
| BY
| Doc.Nomenclature = Reg.Nomenclature";

ხოლო Select.Next() ციკლი
//უარყოფითი ნაშთების შემოწმება
//რეგისტრაციის გავლა
საბოლოო ციკლი;
პროცედურის დასასრული

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

ცვლადში შეკითხვის შესრულების შემდეგ ArrayResultsგვექნება 3 ელემენტი. პირველი ორი შეიცავს რიცხვს, რომელიც ახასიათებს დროებით ცხრილებში მოთავსებული ჩანაწერების რაოდენობას, DocTCH და ListProducts, ხოლო მესამე შეიცავს არჩევანს ნომენკლატურა, დოკუმენტის_რაოდენობა და Reg_Quantity ველებით.

ცვლადისკენ შეკითხვის შედეგიმხოლოდ ნიმუში შევა.

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

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

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

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

შედეგი ბრუნდება ბოლოდან. სხვათა შორის, სერიული მოთხოვნები მხარდაჭერილია ყველა ჩვეულებრივ კონსოლში. მისი შესრულების მაგალითი შეკითხვის კონსოლის საშუალებით:

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

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

1C დეველოპერებისგან პარტიული მოთხოვნების განცხადება
  • მთლიანობაში პროგრამის მნიშვნელოვანი ოპტიმიზაცია;
  • ცნობილი გადაწყვეტის მასშტაბურობის გაზრდა;
  • ეფექტური შესრულება პარტიული განთავსების შესაძლებლობების დანერგვის გამო;
  • მარტივი და მარტივი სისტემის ადმინისტრირება;
  • საუკეთესო შესაძლებლობები სხვა გადაწყვეტილებებთან ინტეგრაციისთვის.
რა არის შეკითხვის ფუნქცია 8.1.11-ში?

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

ალგორითმი სერიული მოთხოვნის კომპეტენტურად შესაქმნელად

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

მეთოდის ნაკლოვანებები

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

შედეგად, ჩვენ გვაქვს ცხრილი:

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

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

ახლა შევეცადოთ დავამატოთ სილამაზე და ოდნავ შევცვალოთ ტექსტი მე-3 მოთხოვნისთვის, ასე:

ახლა ჩვენ გვაქვს ეს:

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



რაიმე შეკითხვა?

შეატყობინეთ შეცდომას

ტექსტი, რომელიც გაეგზავნება ჩვენს რედაქტორებს: