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

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

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

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

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

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

საქმე No1: ფუნქციური ვარიანტი, როგორც შეფუთვა სხვა ობიექტებზე

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

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

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

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

საქმე No2. აბსტრაქციის დამატებითი დონე

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

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

Constants.Ability toSaveData.Get();

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

GetFunctionalOption ("DataSavingAbility");

მიზანი

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

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

განვითარების დროს წარმოიქმნება სიტუაციები, როდესაც ფუნქციური ოფციონის ღირებულება გარკვეულ პარამეტრებზე უნდა იყოს დამოკიდებული, მაგალითად, ყველა ორგანიზაცია არ აწარმოებს ვალუტის აღრიცხვას. ასეთი დამოკიდებულების განსახორციელებლად გამოიყენეთ Functional Options Parameters - ობიექტი, რომელიც ახდენს ფუნქციური პარამეტრების პარამეტრიზაციას. რა გავლენას ახდენს ფუნქციური პარამეტრები?

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

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

გლობალური ბრძანების ინტერფეისი

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

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

ფორმა

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

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

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

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

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

მუშაობის ზოგადი სქემა

ფუნქციური ოფციონის მექანიზმი მოიცავს მეტამონაცემების ორ ტიპს: ფუნქციური ვარიანტი და ფუნქციური პარამეტრების პარამეტრი.

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

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

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

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

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

  • ორგანიზაცია (შესაბამისი ტიპის);
  • განყოფილება (შესაბამისი ტიპის).

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

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

  • ინფორმაციის რეესტრი რაოდენობრივი აღრიცხვა:
    • განზომილების ორგანიზაცია,
    • განზომილების განყოფილება,
    • ლოგიკური ტიპის რაოდენობრივი აღრიცხვის რესურსი.
  • ფუნქციური პარამეტრები პარამეტრი ორგანიზაცია. გამოყენების თვისება მიუთითებს საინფორმაციო რეესტრის ორგანიზაციის განზომილებაში Quantitative Accounting.
  • ფუნქციური პარამეტრების პარამეტრი დეპარტამენტი. გამოყენების თვისება მიუთითებს რაოდენობრივი აღრიცხვის ინფორმაციის რეესტრის დაყოფის განზომილებაში.
  • QuantitativeAccounting ფუნქციური ვარიანტი, Storage თვისება, მიუთითებს QuantitativeAccounting საინფორმაციო რეესტრის Quantitative Accounting რესურსზე.

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

ურთიერთქმედება სხვა ობიექტებთან

ფუნქციური პარამეტრები შეიძლება მიენიჭოს შემდეგ კონფიგურაციის ობიექტებს:

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

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

შემოქმედება

ფუნქციის ოფციის შექმნა

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

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

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

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

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

ფუნქციური პარამეტრების პარამეტრის შექმნა

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

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

გამოყენება

მეტამონაცემების მინიჭება ობიექტებზე

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

დავალება ფორმირების დეტალები და ბრძანებები

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

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

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

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

გამოყენება მონაცემთა წვდომის შეზღუდვის მექანიზმში

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

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

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

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

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

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

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

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

ჩაშენებულ ენაზე ფუნქციონალურ ვარიანტებთან მუშაობა

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

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

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

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

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

ფუნქციური პარამეტრების პარამეტრებთან მუშაობა

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

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

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

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

მექანიზმის მოქმედება ემყარება ორ კონფიგურაციის ობიექტს:

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

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

ფუნქციური პარამეტრების მექანიზმი მოიცავს ორ მეტამონაცემთა ობიექტს:

  1. ფუნქციური ვარიანტი;
  2. ფუნქციური პარამეტრების პარამეტრები.

Უფრო ვრცლად

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

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

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

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

[ჩამოშლა]

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

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

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

ფუნქციური ოფციების თვისებები 1C

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

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

1C ფუნქციური ოფციების გამოყენების მახასიათებლები:

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

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

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

  1. მართული ფორმის ტიპი<Вид>Საგანი ( DirectoryObject, DocumentObject და ა.შ.) გაითიშება, თუ შესაბამისი ობიექტი გამორთულია ფუნქციური ოფციით. გაანალიზებულია მხოლოდ ის ფუნქციური პარამეტრები, რომლებსაც არ აქვთ პარამეტრები.
  2. მართული ფორმის ტიპის ძირითადი ატრიბუტები დინამიური სიაგაითიშება, თუ ფუნქციური ოფცია გამორთავს კონფიგურაციის ობიექტს, რომელიც მითითებულია დინამიური სიის მთავარ ცხრილად. გაანალიზებულია მხოლოდ ის ფუნქციური პარამეტრები, რომლებსაც არ აქვთ პარამეტრები.
  3. მიმართვის ტიპის ფორმის ატრიბუტი გამორთულია, თუ კონფიგურაციის ობიექტი, რომელიც ქმნის ამ ტიპს, გამორთულია ფუნქციური ოფციით. კომპოზიტური ტიპის ფორმის ატრიბუტი გამორთულია, თუ ფუნქციური ოფციები გამორთავს ყველა შემადგენელ ტიპს.
  4. ფორმის ცხრილი გამორთული იქნება, თუ ის აჩვენებს ფორმის ატრიბუტის მონაცემებს, რომლებიც გამორთულია ფუნქციური ოფციით.
  5. ტიპის შერჩევის დიალოგში არ არის ტიპები (მაგალითად, რთული ტიპის ატრიბუტებთან დაკავშირებული შეყვანის ველებისთვის), თუ კონფიგურაციის ობიექტები, რომლებიც ქმნიან ამ ტიპებს, გამორთულია ფუნქციური ოფციით. ინფორმაცია ფუნქციონალური ოფციების მიერ გამორთული ტიპების შესახებ ქეშირებულია კლიენტის მხარეს და წაიშლება 20 წუთის შემდეგ ან მეთოდის ზარის დროს. განახლების ინტერფეისი ().

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

ფუნქციური პარამეტრების პარამეტრის შექმნა

ფუნქციური ოფციონის პარამეტრი იქმნება 1C კონფიგურაციის ობიექტის "ფუნქციური პარამეტრების პარამეტრების" გამოყენებით.

[ჩამოშლა]

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

ფუნქციური პარამეტრების პარამეტრის თვისებები:

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

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

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

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

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

&კლიენტის პროცედურაზე AfterRecord(RecordParameters) UpdateInterface(); პროცედურის დასასრული

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

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


ბრინჯი. 7.23.

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


ბრინჯი. 7.24.

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

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

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

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

დათვალიერება