1c დაამატეთ ფორმის დეტალები. მართული ფორმის დეტალები (1Cv8). ღირებულების ხესთან მუშაობის თავისებურებები

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

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

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

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

ფორმის გაფართოება– ეს არის ManagedForm ობიექტის დამატებითი თვისებები, მეთოდები და ფორმის პარამეტრები, დამახასიათებელი ობიექტისთვის, რომელიც არის ფორმის მთავარი ელემენტი.

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

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

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

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

  • ტიპები, რომლებიც პირდაპირ გამოიყენება ფორმაში, არის ის ტიპები, რომლებიც არსებობს თხელი და ვებ კლიენტის მხარეს (მაგალითად, Number, DirectoryLink.Products, GraphicScheme, TabularDocument);
  • ტიპები, რომლებიც გარდაიქმნება მონაცემთა სპეციალურ ტიპებად - მართული ფორმის მონაცემთა ტიპებად. ასეთი ტიპები ნაჩვენებია ფორმის დეტალების სიაში ფრჩხილებში, მაგალითად (DirectoryObject.Products);
  • დინამიური სია (დამატებითი ინფორმაციისთვის იხილეთ ამ თავის განყოფილება „დინამიური სია“).

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

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

გამოიყენება მონაცემთა შემდეგი ტიპები:

  • Form DataStructure – შეიცავს თვითნებური ტიპის თვისებების ერთობლიობას. თვისებები შეიძლება იყოს სხვა სტრუქტურები, კოლექციები ან სტრუქტურები კოლექციებით. ეს ტიპი წარმოდგენილია, მაგალითად, DirectoryObject სახით.
  • FormDataCollection არის აკრეფილი მნიშვნელობების სია, მასივის მსგავსი. კოლექციის ელემენტზე წვდომა ხდება ინდექსით ან იდენტიფიკატორით. ID-ით წვდომა შეიძლება ზოგიერთ შემთხვევაში არ იყოს ხელმისაწვდომი. ეს განპირობებულია აპლიკაციის ობიექტის ტიპით, რომელიც წარმოდგენილია ამ კოლექციაში. იდენტიფიკატორი შეიძლება იყოს ნებისმიერი მთელი რიცხვი. ეს ტიპი წარმოდგენილია, მაგალითად, ცხრილის ნაწილის სახით.
  • ფორმა DataStructureWithCollection არის ობიექტი, რომელიც წარმოდგენილია როგორც სტრუქტურა და კოლექცია ერთდროულად. ის შეიძლება განიხილებოდეს, როგორც რომელიმე ამ ერთეულს. ეს ტიპი წარმოადგენს, მაგალითად, ჩანაწერების ერთობლიობას ფორმაში.
  • Form DataTree – ობიექტი, რომელიც შექმნილია იერარქიული მონაცემების შესანახად.

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

მაგალითად, დოკუმენტი, რომელიც შეიცავს ტაბულურ ნაწილს, წარმოდგენილი იქნება FormDataStructure ტიპის ობიექტით (თავად დოკუმენტი), რომელსაც დაქვემდებარებულია FormDataCollection ტიპის ობიექტი (დოკუმენტის ტაბულური ნაწილი).

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

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

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

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

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

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

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

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

  • ValueInFormData(),
  • FormDataInValue(),
  • CopyFormData().

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

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

  • ValueInFormData() – გარდაქმნის აპლიკაციის ტიპის ობიექტს ფორმის მონაცემებად;
  • FormDataInValue() – გარდაქმნის ფორმის მონაცემებს აპლიკაციის ტიპის ობიექტად;
  • CopyFormData() – აკოპირებს იმ მონაცემებს, რომლებსაც აქვთ თავსებადი სტრუქტურა. აბრუნებს True-ს, თუ ასლი წარმატებული იყო, ან False-ს, თუ ობიექტის სტრუქტურა შეუთავსებელია.

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

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

&OnServerProcedure CreateOnServer-ის შექმნისას (მარცხი, სტანდარტული დამუშავება)

ObjectProduct = Directories.Products.FindByName("Coffeepot").GetObject(); ValueInFormData(ObjectItem, Object);

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

&OnClient პროცედურა ჩაწერა()

WriteOnServer();

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

&OnServer პროცედურა WriteOnServer()

ObjectProduct = FormDataValue(Object, Type("DirectoryObject.Products")); ObjectItem.Write();

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

ManagedForm ობიექტს ასევე აქვს სერვერზე ხელმისაწვდომი მეთოდები:

  • ValueВFormAttribute() – გარდაქმნის აპლიკაციის ტიპის ობიექტს მითითებულ ფორმის ატრიბუტად.
  • FormAttributeVValue() – გარდაქმნის ფორმის მონაცემების ატრიბუტს აპლიკაციის ტიპის ობიექტად.

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

მოდით მოვიყვანოთ ამ მეთოდების გამოყენების მაგალითი.

&OnServer პროცედურა RecalculateOnServer()

// გარდაქმნის Object ატრიბუტს აპლიკაციის ობიექტად. Document = Form AttributesValue("ობიექტი"); // ახორციელებს ხელახალი გამოთვლას დოკუმენტის მოდულში განსაზღვრული მეთოდის გამოყენებით. Document.Recalculate(); // გარდაქმნის აპლიკაციის ობიექტს საყრდენად. ValueВFormAttributes (დოკუმენტი, „ობიექტი“);

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

პროგრამული ინტერფეისი

FormDataTree

  • FindById
  • GetItems

აღწერა:

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

ამ ობიექტის სერიალიზაცია შესაძლებელია/XDTO-დან. ამ ობიექტის შესაბამისი XDTO ტიპი განისაზღვრება სახელთა სივრცეში. XDTO ტიპის სახელი:

GetItems

Სინტაქსი:

GetItems ()

დაბრუნების ღირებულება:

ტიპი: Form DataCollection of Tree Elements.

აღწერა:

იღებს ზედა დონის ხის ელემენტების კოლექციას.

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

FindById

Სინტაქსი:

FindById(<Идентификатор>)

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

<Идентификатор>(აუცილებელია)

ტიპი: ნომერი. ხის ელემენტის იდენტიფიკატორი.

დაბრუნების ღირებულება:

ტიპი:FormDataTreeElement.

აღწერა:

იღებს კოლექციის ელემენტს ID-ით.

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

FormDataTreeItem

Თვისებები:

<Имя свойства> (<Имя свойства>)

  • GetId (GetId)
  • GetParent
  • GetItems
  • საკუთრება

აღწერა:

მონაცემთა ხის ელემენტის ფორმა.

FormDataTreeItemCollection

კოლექციის ელემენტები: DataFormTreeElement

ობიექტისთვის შესაძლებელია კოლექციის გავლა ოპერატორის გამოყენებით For each... From... Loop. ტრავერსი ირჩევს კოლექციის ელემენტებს. შესაძლებელია შეგროვების ელემენტზე წვდომა [...] ოპერატორის გამოყენებით. ელემენტის ინდექსი გადაეცემა არგუმენტად.

  • ჩასმა
  • დამატება
  • ინდექსი (IndexOf)
  • დათვალეთ
  • წმინდა
  • მიიღეთ
  • გადაადგილება
  • წაშლა

აღწერა:

ხის ელემენტების კოლექცია.

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

Იხილეთ ასევე:

  • FormDataTreeElement, GetElements მეთოდი
  • DataFormTree, მეთოდი GetItems

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

ხე განახლება

Პრობლემაა ეცემაპლატფორმები ხის განახლებისას.

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

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

Მაგალითად:

&სერვერის პროცედურაზე ClearTree(elements) ელემენტებიდან თითოეული ელემენტისთვის Loop ClearTree(element.GetElements()); საბოლოო ციკლი; ელემენტები.Clear(); პროცედურის დასასრული

&სერვერის პროცედურაზე Fill Concept Tree() dConcepts = srProperties.Build Concept Tree(OnDate, Meta.CurrentIB()); ClearTree(ConceptTree.GetItems()); ValueInFormData(dConcepts, ConceptTree); პროცედურის დასასრული

&OnClient პროცედურა OnDateOnChange(Element) Fill ConceptTree(); პროცედურის დასასრული

როგორ დავამატოთ დამატებითი დეტალები დირექტორიაში ელემენტს 1C Accounting 8.3 (რევიზია 3.0)

2016-12-07T18:20:33+00:00

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

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

1. გადადით "ადმინისტრაციის" განყოფილებაში და აირჩიეთ "ზოგადი პარამეტრები" ():

2. იპოვეთ და შეამოწმეთ „დამატებითი დეტალები და ინფორმაცია“ ჩამრთველი, თუ ის უკვე არ არის მონიშნული. დააჭირეთ ბმულს "დამატებითი დეტალები":

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

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

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

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

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

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

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

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

ზოგადი დეტალები თავდაპირველად განხორციელდა 1C 7.7 ვერსიაში, მაგრამ დეველოპერებმა იგი მაშინვე არ შეიტანეს პლატფორმის მე-8 ვერსიაში. ზოგადი დეტალების მექანიზმი შემოიღეს 1C დეველოპერებმა მხოლოდ 8.2.14 გამოშვებაში.

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

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

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

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

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

მიიღეთ 267 ვიდეო გაკვეთილი 1C-ზე უფასოდ:

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

მონაცემთა გამიჯვნა— ამ პარამეტრს ცალკე განვიხილავთ.

მონაცემთა გამოყოფა 1C-ში საერთო დეტალების გამოყენებით

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

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

მონაცემთა გამიჯვნის დაყენება ზოგადი 1C დეტალების გამოყენებით

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

ამ შემთხვევაში, სისტემის გაშვებისას საჭირო იქნება სესიის პარამეტრების მითითება; როგორ გავაკეთოთ ეს აღწერილი იყო სტატიაში მაგალითით.

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

საერთო რეკვიზიტების გამოყენების მაგალითი

მოდით შევხედოთ ზოგადი საყრდენების დაყენებას 1C 8.3-ში ჩარჩოს კონფიგურაციისა და საყრდენის მაგალითის გამოყენებით ორგანიზაცია:

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

დაყენება მარტივია:

  1. ჩვენ ვქმნით ახალ გენერალურ ატრიბუტს, მიუთითეთ ტიპი - DirectoryLink.Organization.
  2. შემადგენლობაში ჩვენ ვაწყობთ ჩვენს დოკუმენტებს - გამოყენება.

ესე იგი, დაყენება დასრულებულია!

ვნახოთ შედეგი:

სისტემა აჩვენებს ზოგად დეტალებს „თითქოს ისინი შენია“: მოთხოვნებში, ფორმის დეტალებში და სხვა ადგილებში. ეს ისეთი მაგიაა! 🙂

ზოგადი რეკვიზიტები 1C 8.3 არ არის დამატებული

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

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

  1. განსაზღვრავს მონაცემთა წყაროს მთლიანი ფორმისთვის
  2. განსაზღვრავს პლატფორმის სტანდარტულ შესაძლებლობებს ფორმასთან მუშაობისთვის ძირითად ატრიბუტში მითითებული ტიპის მონაცემებით
  3. ობიექტის დეტალებზე პროგრამულად წვდომის შესაძლებლობა ლოკალური ფორმის კონტექსტიდან
  4. უზრუნველყოფს ობიექტის დეტალების ვიზუალიზაციას ფორმის დიალოგზე
  5. 2 და 3 სწორია
  6. 1 და 2 სწორია

სწორი პასუხი არის ნომერი ექვსი, იხილეთ ზემოთ.


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

სწორი პასუხი არის მესამე - ორივე.

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

  1. ფორმის ატრიბუტების თვისებებში უნდა მონიშნოთ ჩამრთველი „ძირითადი დეტალები“.
  2. თქვენ უნდა შეავსოთ ფორმის „მონაცემების“ თვისება საჭირო ფორმის ატრიბუტის არჩევით

სწორი პასუხი მეორეა:

1C გამოცდის 10.08 კითხვა: პლატფორმის პროფესიონალი. ძირითადი დეტალების მინიჭება თვითნებურ რეგულარულ ფორმაზე...
  1. ფორმა უნდა გახდეს მთავარი, ძირითადი დეტალები განისაზღვრება ავტომატურად
  2. ფორმის ატრიბუტების თვისებებში უნდა მონიშნოთ ჩამრთველი „ძირითადი დეტალები“.
  3. თქვენ უნდა გადახვიდეთ მენიუში "რედაქტირება", "ძირითადი დეტალები" და აირჩიოთ სასურველი მნიშვნელობა
  4. თქვენ უნდა შეავსოთ ფორმის „მონაცემების“ თვისება საჭირო ფორმის ატრიბუტის არჩევით

მეოთხე სწორი პასუხია:

ძირითადი დეტალები ხაზგასმულია თამამად:

1C გამოცდის 10.09 კითხვა: პლატფორმის პროფესიონალი. თუ არსებობს ერთი ძირითადი ფორმის ატრიბუტი, შესაძლებელია თუ არა სხვა ძირითადი ატრიბუტის დამატება?
  1. Ეს შეუძლებელია
  2. ეს შესაძლებელია ფორმის ატრიბუტის თვისებისთვის შესაბამისი მნიშვნელობის მინიჭებით
  3. ეს შესაძლებელია მხოლოდ პროგრამულად, "ფორმის" ობიექტზე წვდომისას
  4. ეს შესაძლებელია შესაბამისი ფორმის თვისების სხვა მნიშვნელობის დამატებით

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

1C გამოცდის 10.113 შეკითხვა: პლატფორმის პროფესიონალი. ნახატზე წარმოდგენილი ფორმის რომელი დეტალია მთავარი?

  1. ვალუტის განაკვეთების სია
  2. DirectoryObject
  3. დირექტორიის ფორმებს არ აქვთ ძირითადი დეტალები
  4. დირექტორია ფორმებს აქვს ყველა ძირითადი დეტალი
მეორე სწორი პასუხი არის თამამად.

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

ეს ფორმა

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

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

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

ThisForm.Elements.VersionNumber.Header = "v."+ProgramVersion;

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

ThisForm.Advertisement Text="გამარჯობა, ამხანაგებო!";

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

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

// ფორმის ელემენტი

Elements.VersionNumber.Title = "v."+ProgramVersion;

// ფორმის დეტალები

Advertisement Text="გამარჯობა, ამხანაგებო!";

ფორმის დეტალების მოპოვების მახასიათებლები (მნიშვნელოვანია!)

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

ტექსტი=პროდუქტის სახელი; // პროდუქტის სახელი არის ფორმის ატრიბუტი

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

„კომპლექსური“ ტიპის ატრიბუტის მნიშვნელობის მისაღებად, თქვენ უნდა გამოიყენოთ ფუნქციაFormAttributesValue():

CurrentTable=FormAttributesValue("SelectedConstructionObjects");

„კომპლექსური“ ატრიბუტის მნიშვნელობის დასაყენებლად, შეგიძლიათ გამოიყენოთ ფუნქციაValueInFormAttributes(<Значение>, <ИмяРеквизита>) , ორივე პარამეტრია საჭირო.

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

Საგანი

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

ან უფრო სრული აღნიშვნა:

ეს ობიექტი

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

გამოყენება: მხოლოდ წაკითხვა.

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