xml-ში მონაცემების ატვირთვის პროცესი. XML ფაილის გენერირება

XML დოკუმენტებთან მუშაობა ხელმისაწვდომია პირდაპირ 1C: Enterprise 8 სისტემის ჩაშენებული ენიდან.

არის შესაძლებლობა:

  • თანმიმდევრულად წაიკითხეთ და ჩაწერეთ xml დოკუმენტები:
    • ელემენტის ტექსტიდან ან XML ატრიბუტის მნიშვნელობიდან მიღებული სტრიქონიდან გადაყვანა მნიშვნელობად მითითებული ტიპის მიხედვით;
    • მიიღეთ ელემენტის ტექსტში ჩასაწერი მნიშვნელობის სიმებიანი წარმოდგენა ან XML ატრიბუტის მნიშვნელობა;
    • მიიღეთ XML მონაცემთა ტიპი, რომელიც შეესაბამება პარამეტრად გადაცემულ ტიპს;
    • შეამოწმეთ არის თუ არა მითითებული ტიპის მნიშვნელობის წაკითხვა XML-დან;
    • შეამოწმეთ XML სქემის შესაბამისობა XML-ის კითხვისას
    • ჩაწერეთ მნიშვნელობა XML ფორმატში;
    • დააბრუნეთ ტიპი, რომელიც შეესაბამება XML მონაცემთა ტიპს.
  • გამოიყენეთ ობიექტის წვდომის მოდელი xml დოკუმენტის მონაცემებისთვის (DocumentDOM), რომელიც შეესაბამება შემდეგ სტანდარტებს:
    • DOM დონე 2;
    • XPath (DOM დონე 3);
    • DOM ჩატვირთვა და შენახვა (DOM დონე 3).
  • გამოიყენეთ XML Schema ობიექტის მოდელი (XML Schema);
  • გამოიყენეთ Canonical XML 1.1 სტანდარტი.

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

სწრაფი ინფორმაცია

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

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

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

ამრიგად, XML ფაილში ატვირთვა (ჩანაწერების იმპორტი) ერთი საინფორმაციო ბაზიდან და შემდგომი ჩატვირთვა XML-დან მეორეში წარმოადგენს მონაცემთა XML ფორმატში მონაცემთა გაცვლას მონაცემთა ბაზებს შორის.

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

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

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

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

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

უნივერსალური დამმუშავებელი

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

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

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

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

ჩანაწერების ამოღება

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

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


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

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

ჩანაწერების ატვირთვა მიმღებზე

მიმღებ მონაცემთა ბაზაში მონაცემების მიღების პირველი ნაბიჯი არის მასში პროცესორის პროგრამის გახსნა.

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

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

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

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

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

ატვირთეთ XML-ზე

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

ფუნქცია CreateXML() Export // მიიღეთ დროებითი ფაილის სახელიგზა = GetTemporaryFileName() ; // „XML Record“ კლასის ინიცირება Entry = New EntryXML; // გახსენით დროებითი ფაილი ჩასაწერად- 8 " ) ; // ჩაწერეთ XML ფაილის დეკლარაციაჩანაწერი. WriteDeclarationXML() ; // ჩანაწერი. WriteElementStart("" ) ; DocumentsConfigurations // პირველი ელემენტი// პირველი ელემენტის ატრიბუტი ფაილის შექმნის თარიღით ჩანაწერი. WriteAttribute(" გენერირებული ", Format(CurrentDate(), "DF" ) ) ; = წწ-თმ- დდწთ:მთ:წს; DLF= DT // დაწერეთ ელემენტი თითოეული კონფიგურაციის დოკუმენტისთვის. ტექსტში ვათავსებთ დოკუმენტის სახელს.თითოეული დოკუმენტისთვის მეტამონაცემებიდან. დოკუმენტების ციკლის ჩაწერა. WriteElementStart ("დოკუმენტი"); ჩანაწერი. WriteText(Doc.Name) ; ჩანაწერი. WriteEndElement() ;ბოლო ციკლი ; // დაასრულეთ პირველი ელემენტის ჩაწერაჩანაწერი. WriteEndElement() ;

ჩანაწერი. Close();

// დახურეთ ფაილი

// // მიიღეთ ფაილის ორობითი მონაცემები და განათავსეთ იგი დროებით საცავში BinaryData = ახალი BinaryData(გზა); მისამართი = PlaceInTemporaryStorage(BinaryData, New UniqueIdentifier);დაბრუნების მისამართი; - 8 " ) ; // // დააბრუნეთ ფაილის მისამართი საცავშისაბოლოო ფუნქცია თითოეული შექმნილი ელემენტი სწორად უნდა დასრულდეს. “WriteStartofElement()”-ის შესრულების შემდეგ უნდა შესრულდეს “WriteEndElement()” მეთოდი, წინააღმდეგ შემთხვევაში XML ფაილის სტრუქტურა არასწორი იქნება.ჩანაწერი. WriteElementStart("XMLElement"); ჩანაწერი. WriteEndElement() ; // // -- ჩაწერეთ XML ფაილის შინაარსი 5. დახურეთ ფაილი

ჩანაწერი. Close();

ეს ხუთი ნაბიჯი ქმნის თითქმის ნებისმიერ XML ფაილს.

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

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

მესამე მხარის განაცხადი

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

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

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

მრავალმხრივობა

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

ფაილები ჩამოსატვირთად:

XML ფაილის წამკითხველის აპლიკაცია.

XML ფაილის გენერირების დამუშავება.

ოპერაციული რეჟიმები

UploadLoadDataXML82 დამუშავება ახორციელებს 2 ოპერაციულ რეჟიმს: Upload (მომხმარებლის მიერ მითითებული მონაცემების ატვირთვის ფაილის შექმნა) და Load (ამავე სახელის რეჟიმით შექმნილი ატვირთვის ფაილის წაკითხვა და მასში შემავალი მონაცემების ჩაწერა). რეჟიმი დაყენებულია რეჟიმის ველში მისი არჩევით.

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

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

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

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

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

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

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

შესაძლო აპლიკაციები

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