ᲖᲐᲠᲘ

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

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

ნებისმიერი ფორმის დეველოპერის მთავარი ამოცანაა (მართული თუ რეგულარული) მომხმარებელს მიაწოდოს პროგრამასთან ურთიერთობის მოსახერხებელი მექანიზმი.

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

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

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

  1. რთული ტექნიკური ტერმინების გარეშე;
  2. 600-ზე მეტი გვერდის პრაქტიკული მასალა;
  3. თითოეულ მაგალითს ახლავს ნახატი (სკრინშოტი);

პრომო კოდი 15% ფასდაკლებით - 48PVXHeYu

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

ისწავლეთ პროგრამირება 1C-ში ჩემი წიგნის „პროგრამირება 1C-ში 11 ნაბიჯში“ დახმარებით

  1. არ არის რთული ტექნიკური პირობები.
  2. 700-ზე მეტი გვერდის პრაქტიკული მასალა.
  3. თითოეულ დავალებას ახლავს ნახატი (სკრინშოტი).
  4. საშინაო დავალების პრობლემების კრებული.
  5. წიგნი დაწერილია გასაგები და მარტივი ენით - დამწყებთათვის.
  6. წიგნი იგზავნება ელექტრონული ფოსტით PDF ფორმატში. იხსნება ნებისმიერ მოწყობილობაზე!


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

შეგიძლიათ გადაიხადოთ ხელით:

Yandex.Money - 410012882996301
ვებ ფული - R955262494655

შემოუერთდი ჩემს ჯგუფებს.

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

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

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

ძირითადი ფორმები

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

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

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

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

ავტომატურად გენერირებული ფორმები

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

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

ფორმის დაკავშირება მონაცემებთან

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

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

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

ფორმის სტრუქტურა

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

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

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

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

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

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

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

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

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

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

მართული ფორმები 1C 8.2

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

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

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

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

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

შესაბამისად, ამ ელემენტების პარამეტრები არ არის ველების თვისებებში, არამედ ამ პარამეტრების ელემენტების თვისებებში (მარჯვენა დაწკაპუნებით მენიუ, თვისებათა პუნქტი).

როგორ მუშაობს მართული ფორმები 1C 8.2

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

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

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

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

მენიუს თვითნებური ელემენტები 1C ყველა მოქმედება

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

პუნქტი მენიუს სიის მორგება 1C ყველა მოქმედება

თუ 1C 8.2 ფორმაზე არის სია, მაშინ მენიუს აქვს ბრძანება Configure list და Display list.
თუ Output list ბრძანება უკვე ნაცნობია - ის საშუალებას გაძლევთ შეინახოთ ნებისმიერი სია 1C-ში Excel-ში / ამობეჭდოთ, მაშინ მეორე ბრძანება ახალია.

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

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

პუნქტი მენიუს ფორმის შეცვლა 1C ყველა მოქმედება

ფორმის შეცვლა საშუალებას გაძლევთ ანალოგიურად შეცვალოთ არა მხოლოდ სია 1C 8.2 ფორმაში, არამედ თავად 1C 8.2 ფორმაშიც.

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

მართული ფორმების 1C 8.2 და რეგულარული ფორმების 1C გამოყენებით

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

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

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

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

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

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

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

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

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

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

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

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

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

თქვენ შეგიძლიათ არა მხოლოდ გადაათრიოთ და ჩააგდოთ ობიექტის/ფორმის ატრიბუტები ფორმის ელემენტების სიაში (ველები), არამედ უბრალოდ დაამატოთ ისინი (დამატება ან ღილაკი Ins). კერძოდ, შეგიძლიათ შექმნათ ახალი ფორმის ობიექტი – ჯგუფი.

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

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

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

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

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

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

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

კლიუევი ვ.ვ.

http://prof1c.kklab.ru

მუშაობა გადამრთველებთან

გთხოვთ გაითვალისწინოთ საიტის სერვისის ყველა მომხმარებელი - მე ვაქვეყნებ მასალებს დამწყებთათვის განყოფილებაში!!!

8.2 მართული ფორმები

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

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

მოდით შევქმნათ ახალი დირექტორია და დავამატოთ ატრიბუტი "Property1", ტიპით "Boolean"

ახლა მოდით გადავიდეთ Forms ჩანართზე და დავამატოთ ახალი ფორმა.

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

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

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

ახლა მოდით დავუბრუნდეთ კონტროლის თვისებებს და შევამოწმოთ, დაემატა თუ არა კონტროლის View მის თვისებებს - - - და ჰრაჰ, ჩვენ ვხედავთ ხედს იქ - Switch Field.

ახლა გადახედეთ ფორმას, რასაც ვხედავთ:

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

2-ისთვის - დააყენეთ სვეტების რაოდენობა - 2.

ამან შეიძლება ცოტათი შეაჩეროს დაღლილი პროგრამისტი)), მაგრამ ახლა მანაც და ჩვენმაც ეს ვიცით!

8.2 რეგულარული ფორმები.

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

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

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


Advanced ჩანართზე გვინდა კიდევ ორი ​​რადიო ღილაკის განთავსება. ასე რომ, პირველი ნაბიჯი არის თამამად დავამატოთ ახალი საკონტროლო ელემენტი ჩვენთვის საჭირო ადგილას და ჩავდოთ იგი.

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

დაამატეთ ახალი საკონტროლო ელემენტი - Switch, დაამატეთ Switch2 ცხრილში გადამრთველების ნომრით და აღწერით, დააყენეთ Switch1 ჯგუფში პირველ რიგში და დააჭირეთ OK. მოათავსეთ შექმნილი კონტროლი ფორმაზე. ჩვენ ვაახლებთ მონაცემთა ბაზის კონფიგურაციას (F7) და ვაწარმოებთ მას გამართვისთვის.

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


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

ᲙᲐᲠᲒᲘ. განაახლეთ კონფიგურაცია და სცადეთ მისი გაშვება.
დიდი. ყველაფერი მუშაობდა.

დამატებით - ვიდეო (ხმის გარეშე, ასე რომ ყველაფერი ნათელია)


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

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

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

მართულ ფორმაში შეგიძლიათ პროგრამულად დაამატოთ, შეცვალოთ და წაშალოთ:

  • რეკვიზიტები;
  • ადგილობრივი გუნდები;
  • ელემენტები.

ყველა ეს ოპერაცია შესაძლებელია მხოლოდ სერვერზე.

პროგრამულ გადაფორმებას აქვს შეზღუდვები:

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

ფორმის ბრძანებების შეცვლა

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

    დამატება (< ИмяКоманды >)

    რაოდენობა ()

    იპოვე (< ИмяКоманды >)

    წაშლა (< Команда >)

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

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

&სერვერზე
Პროცედურა WhenCreatingOnServer (მარცხი, სტანდარტული დამუშავება)
გუნდი = გუნდები. დამატება( "ცვლილებების ისტორია");
გუნდი . მოქმედება = ;
გუნდი . სათაური = "ცვლილებების ისტორია...";
პროცედურის დასასრული
&OnClient
Პროცედურა Connectable_DisplayHistory (ბრძანება)
// ბრძანების მოქმედებები
პროცედურის დასასრული

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

ფორმის დეტალების შეცვლა

ფორმის დეტალების შემადგენლობის წაკითხვა ხორციელდება ფუნქციით მიიღეთ დეტალები(< Путь >) აბრუნებს FormAttributes ტიპის მასივს. ფუნქციის პარამეტრი განსაზღვრავს გზას მშობელი ატრიბუტისკენ (სტრიქონის სახით). თუ პარამეტრი გამოტოვებულია ან ცარიელი სტრიქონი არის მითითებული, ზედა დონის დეტალები დაბრუნდება.

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

ყურადღება!

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

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


AddedDetails = ახალი მასივი;
დამატებულია დეტალები. დამატება (ახალი ფორმის ატრიბუტები(„მყიდველი“, ახალი ტიპის აღწერა („DirectoryLink. Counterparties“), „კლიენტი“));

// ცვლილებები დეტალების შემადგენლობაში
);

ფორმის ელემენტების შეცვლა

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

    ჩასმა (< Имя>, < ТипЭлемента>, < Родитель>, < Элемент >)

    დამატება (< Имя>, < ТипЭлемента>, < Родитель >)

    რაოდენობა ()

    იპოვე (< Имя >)

    გადაადგილება (< Элемент>, < Родитель>, < МестоРасположения >)

    წაშლა (< Элемент >)

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

  • FormGroup;
  • FormTable;
  • FormField;
  • ფორმის ღილაკი.

თქვენ შეგიძლიათ პროგრამულად მიანიშნოთ მოვლენის დამმუშავებლები ელემენტების ფორმირებისთვის. მეთოდი განკუთვნილია ამ მიზნებისათვის SetAction (< ИмяСобытия>, < Действие >) .

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

ბრძანების და მასთან დაკავშირებული ღილაკის დამატება:

// შექმენით ბრძანება
გუნდი = გუნდები. დამატება( "ცვლილებების ისტორია");
გუნდი . მოქმედება = "Plug-in_Display History"; // ფორმა უნდა შეიცავდეს პროცედურას მითითებული სახელით
გუნდი . სათაური = "ცვლილებების ისტორია...";
// შექმენით ღილაკი და დააკავშირეთ იგი ბრძანებასთან
ელემენტი = ნივთები. დამატება( "ცვლილებების ისტორია", Type("FormButton" ));
ელემენტი.CommandName = "ცვლილებების ისტორია";

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

// დამატებული დეტალების აღწერა
AddedDetails = ახალი მასივი;
დამატებულია დეტალები. დამატება(New Form Props ("მყიდველი", ახალი ტიპის აღწერა ( "DirectoryLink. კონტრაგენტები"), "კლიენტი" ));
// დეტალების შემადგენლობის შეცვლა
დეტალების შეცვლა (დამატებულია დეტალები);
// შეყვანის ველის შექმნა და ატრიბუტებთან დაკავშირება
ელემენტი = ნივთები. Add("Buyer" , Type("FormField" ));
ელემენტი . ხედი = FormFieldView. შესვლის ველი;
ელემენტი . PathToData= "მყიდველი" ;

მოვლენის დამმუშავებლის მინიჭება ფორმის ელემენტზე:

საქონელი კლიენტი. SetAction("როდესაც იცვლება" , "Connected_BuyerOnChange");

&OnClient
Პროცედურა Connected_BuyerOnChange(ელემენტი)
// ღონისძიების მოქმედებები
პროცედურის დასასრული

ყურადღება!

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

ყურადღება!

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

ᲖᲐᲠᲘ

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