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

15.12.2023

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

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

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

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

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

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

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

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

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

&სერვერის პროცედურაზე შეასრულეთ ბრძანება (ბრძანება, მინიჭების ობიექტები) თითოეული კლიენტის შეკვეთისთვის მინიჭების ობიექტებიდან ციკლის კლიენტის შეკვეთის ობიექტი = კლიენტის შეკვეთისთვის. GetObject();

თითოეული TK ხაზისთვის კლიენტის შეკვეთის ობიექტიდან. პროდუქტები Cycle LineTZ. ManualDiscountPercent = 5;

LineTZ. ManualDiscount Amount = TK ხაზი. თანხა * 0 . 05 ;

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

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

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

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

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

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

პროგრამაში გარე დამუშავების მექანიზმის ჩართვა

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

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

ახალი გარე დამუშავების შექმნა 1C 8.3-ში მაგალითის გამოყენებით

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

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

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

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

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

დეტალების თანმიმდევრობა შეიძლება შეიცვალოს "ზემო" - "ქვემო" ისრებით:

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

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

&OnClient

დღგ-ის განაკვეთის დაყენების პროცედურა (ბრძანება)

SetVATRAteOnServer();

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

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

&სერვერზე

პროცედურა SetVATRAteOnServer()

მოთხოვნა = ახალი მოთხოვნა;

მოთხოვნა.ტექსტი =

| დირექტორია.Nomenclature AS Nomenclature

| და არა ნომენკლატურა.MarkDeletion

| და არა ნომენკლატურა ეს არის ჯგუფი“;

Request.SetParameter("Item Group", Item Group);

ResRequest = Request.Execute();

SelectRecordDet = ResRequest.Select();

ხოლო SelectRecordDet.Next() ციკლი

SprNomObject.VATRate = SelectVATRate;

SprNomObject.Write();

გამონაკლისი

Report("შეცდომა ობიექტის დაწერისას """ + SprNomObject + """!

|» + აღწერაError());

ბოლო მცდელობა;

საბოლოო ციკლი;

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

ჩვენ ვუბრუნდებით "ფორმის" ჩანართს, დავამატებთ ღილაკს ფორმაში და ვუკავშირებთ მას ბრძანებას:

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

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

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

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

ფუნქციის აღწერა „ინფორმაცია გარე დამუშავების შესახებ“

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

ფუნქცია InformationOnExternalProcessing() ექსპორტი

DataForReg = ახალი სტრუქტურა();

DataForReg.Insert("სახელი", "დღგ-ს განაკვეთის დაწესება");

DataForReg.Insert("SafeMode", True);

DataForReg.Insert("Version", "ver.: 1.001");

DataForReg.Insert("ინფორმაცია", "ნომენკლატურის დირექტორიაში დღგ-ის განაკვეთის დადგენის პროცესი");

DataForReg.Insert("View", "AdditionalProcessing");

CommandTable = NewValueTable;

TabZnCommands.Columns.Add("იდენტიფიკატორი");

TabZnCommands.Columns.Add("გამოყენება");

TabZnCommands.Columns.Add("View");

NewRow = TabZnCommands.Add();

NewString.Identifier = "OpenProcessing";

NewRow.Use = "OpenForm";

NewRow.View = "დამუშავების გახსნა";

DataForReg.Insert("ბრძანებები", TabZnCommands);

დაბრუნების DataForReg;

EndFunction

იმისათვის, რომ უკეთ გავიგოთ სარეგისტრაციო მონაცემთა სტრუქტურის რომელი ველებია საჭირო, გადავხედოთ დირექტორია „დამატებითი ანგარიშები და დამუშავება“ დეტალებს:

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

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

გარე დამუშავების დაკავშირება 1C-ში 8.3

მოდით გადავიდეთ "1C Enterprise" რეჟიმში და დავამატოთ გარე დამუშავება:

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

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

კონფიგურაციის განყოფილება: აპლიკაციის ობიექტები

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

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

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

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

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

ფუნქცია InformationOnExternalProcessing() ექსპორტი
// გამოვაცხადოთ ცვლადი, რომელშიც შევინახავთ და დავაბრუნებთ საჭირო მონაცემებს "გარეთ"
რეგისტრაციის პარამეტრები = ახალი სტრუქტურა;

// გამოვაცხადოთ კიდევ ერთი ცვლადი, რომელიც დაგვჭირდება ქვემოთ
ArrayDestinations = ახალი მასივი;

// პირველი პარამეტრი, რომელიც უნდა განვსაზღვროთ არის ის, თუ რა ტიპის დამუშავება უნდა დაარეგისტრიროს სისტემამ.
// მოქმედი ტიპები: AdditionalProcessing, AdditionalReport, FillingObject, Report, PrintForm, CreatingLinkedObjects
რეგისტრაციის პარამეტრები.Insert("View", "AdditionalProcessing");

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

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

// დააყენეთ გამოყენების დამუშავების უფლება უსაფრთხო რეჟიმი. დამატებითი დეტალები შეგიძლიათ იხილოთ პლატფორმის დახმარებაში (SetSafeMode მეთოდი)
Registration Parameters.Insert("SafeMode", True);

// შემდეგი ორი პარამეტრი უფრო მეტს თამაშობს საინფორმაციო როლი, ე.ი. ეს არის ის, რასაც მომხმარებელი დაინახავს დამუშავების ინფორმაციას
რეგისტრაციის პარამეტრები.Insert("Version", "1.0");
სარეგისტრაციო პარამეტრები.Insert("ინფორმაცია", "უარყოფითი ნაშთების ანალიზი რეგისტრების მიხედვით");

// შექმენით ბრძანებების ცხრილი (იხილეთ დეტალები ქვემოთ)
CommandTable = GetCommandTable();

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

// ბრძანებების ცხრილის შენახვა დამუშავების რეგისტრაციის პარამეტრებში
Registration Parameters.Insert("Commands", CommandTable);

// ახლა დავაბრუნოთ ჩვენი პარამეტრები სისტემაში
ReturnRegistrationParameters;
EndFunction

ფუნქცია GetTableCommand()

// შექმენით ცარიელი ბრძანების ცხრილი და მასში სვეტები
ბრძანებები = New ValueTable;

// როგორი იქნება მომხმარებლისთვის ნაბეჭდი ფორმის აღწერა
Commands.Columns.Add("View", NewTypeDescription("Row"));

// ჩვენი განლაგების დასახელება, რათა გამოვარჩიოთ გამოძახებული ბრძანება ბეჭდვის დამუშავებისას
Commands.Columns.Add("Identifier", New TypeDescription("String"));

// ეს ადგენს, თუ როგორ უნდა გამოიძახოს დამუშავების ბრძანება
// შესაძლო ვარიანტები:
// - OpeningForm - ამ შემთხვევაში იდენტიფიკატორის სვეტში უნდა მიეთითოს იმ ფორმის სახელი, რომელსაც სისტემა გახსნის
// - CallClientMethod - კლიენტის ექსპორტის პროცედურის გამოძახება დამუშავების ფორმის მოდულიდან
// - Call ServerMethod - სერვერის ექსპორტის პროცედურის გამოძახება დამუშავების ობიექტის მოდულიდან
Commands.Columns.Add("Usage", New TypeDescription("Row"));

// შემდეგი პარამეტრი განსაზღვრავს, უნდა იყოს თუ არა შეტყობინება დამუშავების სამუშაოს დაწყების და დასრულებისას. ფორმის გახსნისას აზრი არ აქვს
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));

// დაბეჭდილი ფორმისთვის ის უნდა შეიცავდეს სტრიქონს PrintMXL
Commands.Columns.Add("Modifier", New TypeDescription("Row"));
დაბრუნების გუნდი;
EndFunction

პროცედურა AddCommand(CommandTable, View, Identifier, Usage, ShowAlert = False, Modifier = "")
// დაამატე ბრძანება ბრძანების ცხრილში მიღებული აღწერილობის მიხედვით.
// პარამეტრები და მათი მნიშვნელობები შეგიძლიათ ნახოთ GetCommandTable ფუნქციაში
NewCommand = CommandTable.Add();
NewCommand.View = View;
NewCommand.Identifier = იდენტიფიკატორი;
NewCommand.Use = გამოყენება;
NewCommand.ShowAlert = ShowAlert;
NewCommand.Modifier = მოდიფიკატორი;

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

ჩვენ ვქმნით გარე დამუშავებას 1C 8.3-ში

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

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

  • ატრიბუტები – ველი ნომენკლატურის დასაყენებლად;
  • ღილაკი, რომელიც გამოიძახებს კოდს.

დაამატეთ ატრიბუტი "Nomenclature" მონაცემთა ტიპის "DirectoryLink.Nomenclature" შესაბამის განყოფილებაში და ღილაკი "Show" მენიუში "Commands" -> "Form Commands".

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


ფრაგმენტი 1

&OnClient Procedure Show(Command) ShowOnServer(); პროცედურის დასასრული &OnServer Procedure ShowOnServer() //დააყენეთ დამმუშავებლის შიგთავსი. პროცედურის დასასრული

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


ფრაგმენტი 2

&OnClient Procedure Show(Command) ShowOnServer(ნომენკლატურა); EndProcedure &OnServer Procedure ShowOnServer(ნომენკლატურა) მოთხოვნა = ახალი მოთხოვნა;

Query.Text = "აირჩიეთ სხვადასხვა | კლიენტის შეკვეთაკომპოზიცია.ლინკი როგორც ბმული | FROM | Document.Customer Order.Composition როგორც კლიენტის შეკვეთაკომპოზიცია | WHERE | კლიენტის შეკვეთაComposition.Nomenclature = &Nomenclature";

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

ფუნქცია InformationOnExternalProcessing() Export DataForReg = New Structure();

DataForReg.Insert("სახელი","ახალი გარე დამუშავება");

DataForReg.Insert("SafeMode", True);

DataForReg.Insert("Version", "ver.: 1.001"); DataForReg.Insert("View", "AdditionalProcessing"); CommandTable = NewValueTable;


TabZnCommands.Columns.Add("იდენტიფიკატორი"); TabZnCommands.Columns.Add("გამოყენება"); TabZnCommands.Columns.Add("View");

  • NewRow = TabZnCommands.Add();
  • NewString.Identifier = "NewExternalProcessing"; NewRow.Use = "OpenForm"; NewRow.View = "ახალი გარე დამუშავება"; DataForReg.Insert("ბრძანებები", TabZnCommands);დაბრუნების DataForReg; EndFunction
  • ფრაგმენტი 3 გარე დამუშავების დაკავშირება 1C-შიგარე დამუშავების სტანდარტულ კონფიგურაციასთან დაკავშირებამდე, თქვენ უნდა ჩართოთ ამ ხელსაწყოს გამოყენება. ქვეთავში "ადმინისტრაცია"
  • "დამატებითი დამუშავების" მენიუში არჩეულ განყოფილებაში ღილაკზე "ჩაწერა" დაჭერის შემდეგ მომხმარებლები იპოვიან ჩვენს ბრძანებას და შეძლებენ მის გამოყენებას.

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

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


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

გადადით ზედა მენიუში სერვისი->->.

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

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

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

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

BP 3.0, ZUP 3.0, UT 11, ERP 2.0-სთვის.

1C: Enterprise 8-ის გარე დამუშავება რამდენიმე ტიპისაა. ამ ინსტრუქციაში მე გაჩვენებთ, თუ როგორ უნდა დაურთოთ დამუშავება ჯგუფური მოდიფიკაციისთვის და დამუშავება კონკრეტული ობიექტების შევსებისთვის.

პირველ შემთხვევაში ჩვენ დავამატებთ დამუშავებას Excel-დან ნომენკლატურის დირექტორიას შევსებისთვის.

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


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

სიაში დააწკაპუნეთ შექმნა:


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


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


აირჩიეთ თვითნებური განყოფილება (ან რამდენიმე) განთავსებისთვის:


ჩაწერეთ და დახურეთ გარე ობიექტის ბარათი:


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


სია ცარიელია, დააწკაპუნეთ სიის მორგება:


აირჩიეთ ჩვენი დამუშავება:


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


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


თუ სასურველია, განთავსების სიის კორექტირება შესაძლებელია ( არ დაამატოთ დამატებითი განთავსება, მაგრამ ამოიღეთ არასაჭირო):


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

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