1C 8-ში დასაბეჭდი ფორმის შექმნა. მონაცემთა ბაზაში გარე დასაბეჭდი ფორმის დამატება. გარე საბეჭდი ფორმის დაკავშირება ბაზაზე

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

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


დასაბეჭდი განლაგების შესაცვლელად:




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

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

გისურვებთ სასიამოვნო მუშაობას!

როგორ ჩავსვათ კომპანიის ლოგო ნაბეჭდი ფორმის განლაგებაში?

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


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

გისურვებთ სასიამოვნო მუშაობას!

გარე დაბეჭდილი ფორმები ჩვეულებრივი აპლიკაციისთვის (კონფიგურაციისთვის Enterprise Accounting 2.0, ხელფასი და ადამიანური რესურსების მენეჯმენტი 2.5, Trade Management 10.3 და ა.შ.) იქმნება საკმაოდ მარტივად, მართული აპლიკაციის გარე დაბეჭდილ ფორმებთან შედარებით.

რატომ შევქმნათ გარე ბეჭდვის ფორმები?

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

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

როგორ შევქმნათ გარე ბეჭდვის ფორმა

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

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

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

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

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

  1. გარე დამუშავების შექმნა რეკვიზიტებით ობიექტის მითითება,მონაცემთა ტიპი - DocumentLink საქონლისა და მომსახურების გაყიდვები.
  2. ჩვენ ვპოულობთ სტანდარტული UPD დაბეჭდილი ფორმის განლაგებას (ის განლაგებულია ზოგად განლაგებაში) და კოპირება (გადაათრიეთ) გარე დამუშავების ფანჯარაში. სხვა ბეჭდური ფორმების განლაგება შეიძლება განთავსდეს თავად დოკუმენტებში ან საცნობარო წიგნებში.
  3. ჩვენ ვაკეთებთ აუცილებელ ცვლილებებს დაბეჭდილი ფორმის კოპირებულ განლაგებაში.
  4. ჩვენ ვპოულობთ ფუნქციას, რომელიც პასუხისმგებელია ნაბეჭდი ფორმის გენერირებაზე. ამ ფუნქციამ უნდა დააბრუნოს გენერირებული ცხრილის დოკუმენტი. დააკოპირეთ მისი შინაარსი ექსპორტის ფუნქციაში ბეჭედი ()გარე დამუშავების ობიექტის მოდულში.
    ჩვენს შემთხვევაში ეს არის ფუნქცია PrintUniversalTransferDocument() ექსპორტიდოკუმენტის ობიექტის მოდულიდან საქონლისა და მომსახურების გაყიდვები.
    თუ განლაგების ცვლილებები მნიშვნელოვანი იყო (არეები და/ან პარამეტრები შეიცვალა), მაშინ შესაბამისი კორექტირება უნდა მოხდეს ბეჭდვის ფუნქციაში.
  5. ჩვენ ვცდილობთ გადავარჩინოთ გარე დამუშავება. თუმცა, თქვენ მიიღებთ შეცდომის შეტყობინებებს, რომლებიც მიუთითებენ, რომ ბეჭდვის ფუნქციის მიერ გამოძახებული ზოგიერთი პროცედურა და ფუნქცია აკლია. ეს ფუნქციები და პროცედურები უნდა მოიძებნოს საწყის დოკუმენტში და ასევე დაკოპირდეს გარე დამუშავების ობიექტის მოდულში. ან შეცვალეთ ბმული, თუ ორიგინალური ფუნქცია ან პროცედურა ექსპორტირებულია.
  6. (არ არის საჭირო).გარე საბეჭდი ფორმის შესამოწმებლად მოსახერხებელია ფორმის დამზადება, რომელზედაც განთავსდება რეკვიზიტები ობიექტის მითითება. ღილაკი შეასრულეთპროცედურა უნდა გამოიძახოს ბეჭედი ()ობიექტის მოდულიდან. ამისათვის ღილაკზე დაწკაპუნების მოვლენას ეძლევა პროცედურა:

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

მაგალითი 1C 8.3-ისთვის (მართული ფორმები)

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

დავალება

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

წადი!

პირველი რაც უნდა გააკეთოთ არის გარე დამუშავების ფაილის შექმნა. დამუშავება უნდა შეიცავდეს სამ ძირითად პუნქტს:
  1. „Object Link“ ატრიბუტი ტიპით „DocumentLink.Invoice for გადახდის მყიდველი“
  2. განლაგება, რომელიც დაიბეჭდება
  3. ექსპორტის ფუნქცია "Print()", რომელიც აბრუნებს ელცხრილის დოკუმენტს
ეს მოქმედებები ჩანს სურათზე 1

"განლაგების დახატვა"

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

ფუნქცია "Print()"

ფორმა თითქმის მზად არის. რჩება მხოლოდ ცხრილების დოკუმენტის ველების პროგრამული შევსების დაწერა. ეს მოქმედებები შესრულებულია დამუშავების ობიექტის მოდულში, ფუნქციით, სახელწოდებით "Print", რომელიც უნდა იყოს ექსპორტირებადი.
ეტაპი No1. სათაურის მონაცემების მიღება, სათაურის პარამეტრების შევსება და ელცხრილის დოკუმენტში გადატანა TabularDocument = ახალი TabularDocument; Layout = GetLayout ("OurLayout"); მონაცემთა მოთხოვნა = ახალი მოთხოვნა ("არჩევა | წარმომადგენლობა (ინვოისი მყიდველთან გადახდისთვის. კონტრაგენტი) როგორც კონტრაგენტი, | REPRESENTATION (ინვოისი მყიდველთან გადახდისთვის. ორგანიზაცია) როგორც ორგანიზაცია | FROM | დოკუმენტი. ინვოისი მყიდველთან გადახდისთვის AS ინვოისი მყიდველთან გადახდისთვის | WHERE | ინვოისი მყიდველთან გადახდისთვის. ბმული = &ბმული"); Data Request.SetParameter("Link", ObjectLink); Header = DataRequest.Execute().Select(); Cap.Next(); Area = Layout.GetArea ("Header"); Area.Options.Fill(Header); TabularDocument.Output(Area); ეტაპი No2. ტაბულური მონაცემების მიღება და პროდუქციის სტრიქონში გამომავალი
Data Request.Text = "SELECT | _Products.Line Number, | REPRESENTATION(_Products.Nomenclature) AS Nomenclature, | _Products.Quantity, | _Products.Price, | _Products.Mount |FROM | Document.Invoice for მყიდველისთვის AS _პროდუქტები |WHERE | _პროდუქტები. ბმული = &ბმული"; Fetch = DataRequest.Execute().Select(); Area = Layout.GetArea ("მონაცემები"); ხოლო Selection.Next() Loop Area.Parameters.Fill(Selection); TabularDocument.Output(Area); საბოლოო ციკლი; ეტაპი No3. ელცხრილის დოკუმენტის დაბრუნება და ბეჭდვის ფუნქციადაბრუნება TabularDocument;

ჩვენი გარე ბეჭდვის ფორმის დამატება 1C-ზე

გადადით მენიუში "სერვისი - გარე ბეჭდვის ფორმები და დამუშავება - გარე ბეჭდვის ფორმები"

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

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

მოდით დავბეჭდოთ!

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


ყურადღება!განვითარების ეს ალგორითმი განკუთვნილია მხოლოდ "რეგულარული აპლიკაციისთვის". დასაბეჭდი ფორმები კონფიგურაციისთვის "რეჟიმში" მართული აპლიკაცია"განსხვავებული!

მაგალითში ნაჩვენები ნაბეჭდი ფორმის ფაილი შეიძლება იყოს

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

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


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


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


შემოგთავაზებთ დამატებით ორ პირობას:

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

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


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


Მნიშვნელოვანი! დამუშავების სახელი არ უნდა შეიცავდეს სივრცეებს, ისევე როგორც ცვლადების სახელებს.


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


ახლა ორჯერ დააწკაპუნეთ განლაგების გასახსნელად.

რა არის "განლაგება"

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

განლაგება- შენახვა "სამშენებლო ბლოკები", უბნები, საიდანაც აგურის მსგავსად აგებულია ტაბულური დოკუმენტი, რომელსაც ჩვენ მიჩვეულები ვართ დაბეჭდილ ფორმას ვუწოდებთ. ტერიტორიები განისაზღვრება ჰორიზონტალური და ვერტიკალური მონაკვეთების ან მათი კვეთების გამოყენებით. ჩვენს განლაგებას აქვს მხოლოდ ჰორიზონტალური სექციები: „სათაური“, „მიმწოდებელი“, „მყიდველი“, „მაგიდის სათაური“, „სტრიქონი“ (იხ. სურ. 2). ტერიტორია არის უჯრედების ერთობლიობა. როგორც MS Excel-ში, შესაძლებელია უჯრედების გაერთიანება, ტექსტისა და ფონის ფერები, შრიფტები და ა.შ. უჯრედის ყველა პარამეტრის ნახვა და შეცვლა შესაძლებელია უჯრედის თვისებების ფანჯარაში. თქვენ შეგიძლიათ დარეკოთ პარამეტრების ფანჯარა უჯრედზე მაუსის მარჯვენა ღილაკით და კონტექსტური მენიუს პუნქტის არჩევით "Თვისებები"(იგივე შედეგს მიიღწევა კლავიატურის მალსახმობით Alt+Enter).


უჯრედი შეიძლება შეიცავდეს სამი ტიპის მნიშვნელობიდან ერთ-ერთს:

  1. ტექსტი– ამ ტიპის მნიშვნელობა დაიბეჭდება იმავე ფორმით;
  2. პარამეტრი– ამ ტიპის უჯრედი შეიცავს ცვლადის სახელს, რომლის მნიშვნელობაც დაიბეჭდება.
  3. ნიმუში– ამ ტიპის უჯრედები პირველი და მეორე ვარიანტების კომბინაციაა. უჯრედი შეიძლება შეიცავდეს ტექსტს და ცვლადებს. იმისათვის, რომ პროგრამამ განასხვავოს ტექსტი ცვლადისგან, ცვლადები უნდა იყოს ჩასმული კვადრატულ ფრჩხილებში: "დღეს არის [თარიღი]".

Მნიშვნელოვანი!ცხრილის რედაქტორი აჩვენებს მეორე და მესამე ტიპის უჯრედების მნიშვნელობებს სამკუთხა ფრჩხილებში. სურათზე 2 არის უჯრედი ტექსტით "მყიდველი"- ტექსტს ჰგავს და უჯრედის მარჯვნივ "მყიდველის პრეზენტაცია"- პარამეტრი.

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

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

რა შედის დასაბეჭდად განლაგებაში

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

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

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

განლაგების რედაქტირება

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

  1. მოდით, ყურადღებით დავაკოპიროთ გაერთიანებული უჯრედის შინაარსი "სათაურის ტექსტი"(ამისთვის, თქვენ უნდა აირჩიოთ უჯრედი და გამოიყენოთ ბრძანება „რედაქტირება > კოპირება“ ან კლავიატურის მალსახმობი CTRL+C)
  2. ამ უჯრედის არჩევის შემდეგ, აირჩიეთ ელემენტი მთავარ მენიუში "მაგიდა - შერწყმა", რაც გამოიწვევს საპირისპირო ეფექტს - გაერთიანებული უჯრედი დაიყოფა ბევრ ორიგინალურ უჯრედად
  3. ახლა მოდით ავირჩიოთ უჯრედების უფრო მცირე რაოდენობა - სვეტის მე-2 უჯრედის ნაცვლად, დავიწყებთ შერწყმას მე-6 სვეტიდან, დავასრულებთ მას 32-ე სვეტზე - და კვლავ დააჭირეთ ღილაკს. "შერწყმა"
  4. გუნდი "რედაქტირება > ჩასმა" (CTRL+V)ჩადეთ წინა გაერთიანებული უჯრედის შიგთავსი ახალ გაერთიანებულ უჯრედში
  5. ჩვენ უბრალოდ ვასუფთავებთ გათავისუფლებულ უჯრედებს 2-5 სვეტებში (აირჩიეთ ისინი და დააჭირეთ წაშლის ღილაკს)

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


ახლა მოდით გამოვყოთ მნიშვნელობები უჯრედებში თამამად "პროვაიდერი"და "მყიდველი"(ნახ. 4). ამისათვის იპოვეთ პარამეტრი უჯრედის თვისებებში "შრიფტი"და დააყენეთ სტილი თამამად.



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



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

როგორ უზრუნველვყოთ ბეჭდვა

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

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

  1. თქვენ უნდა შექმნათ რეკვიზიტები დამუშავებისას "ობიექტის ბმული"ტიპით "AnyLink"
  2. თქვენ უნდა შექმნათ პროცედურა დამუშავების მოდულში "Print() Export"არ არის პარამეტრები და უნდა იყოს მითითებული საკვანძო სიტყვა "ექსპორტი"

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

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



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



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

იხილეთ სურათზე 9, ჩვენ გამოვყავით სათაური და ხაზი მის ქვემოთ. ამის შემდეგ დააკოპირეთ იგი ბუფერში. Მთავარი მენიუ "რედაქტირება > კოპირება" (ან CTRL+C).



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



ჩასვით კოპირებული ტექსტი: "რედაქტირება > ჩასმა" (ან CTRL+V).

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

  1. ფუნქციის გადარქმევა "ბეჭდვით"
  2. ჩანაცვლება "ეს ობიექტი" on "ობიექტის ბმული"
  3. ჩანაცვლება "ეს ობიექტი" on "ობიექტის ბმული"
  4. ჩანაცვლება "ორგანიზაციის საბანკო ანგარიში" on „ბმული Object.Organization-ის საბანკო ანგარიშზე“
  5. ჩანაცვლება "პროდუქტები. რეზიუმე" on "LinkToObject.Products.Total"

ამ მოქმედებებისთვის შეგიძლიათ გამოიყენოთ მთავარი მენიუს ელემენტი "რედაქტირება > ჩანაცვლება".

ამის შემდეგ, თქვენ უნდა შეამოწმოთ სინტაქსი. ამისათვის არსებობს ჯადოსნური კომბინაცია: CTRL+F7. შედეგად, შემდეგი შეტყობინება უნდა გამოჩნდეს: "სინტაქსური შეცდომები ვერ მოიძებნა!"

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

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

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

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



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



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

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

მოდით უფრო ახლოს მივხედოთ პირველ ჩანართს.

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

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



მაგრამ ჩვენს ამოცანაში არჩევანი არ არის საჭირო.

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

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

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

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

ის უნდა გამოიყურებოდეს, როგორც ნაჩვენებია სურათზე 14.



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

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

როგორ შევქმნათ გარე ბეჭდვის ფორმა მზაზე დაყრდნობით? 1C 8.0/8.1
_______________________________________________________

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

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

დამუშავების შექმნა შედგება ორი ეტაპისგან:
1 - ორიგინალური ბეჭდვის ფორმის სრული ანალოგის შექმნა
2 - მოდიფიკაცია, რომელიც შეესაბამება თქვენს საჭიროებებს

ეტაპი პირველი

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

და ჩვენ ვწერთ ამ კოდს:

ფუნქცია Print() Export //... აქ ჩვენ დავწერთ რაღაც მოგვიანებით End of Function

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

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

// პროცედურა ბეჭდავს დოკუმენტს. შეგიძლიათ ბეჭდვა გადააგზავნოთ // ეკრანზე ან პრინტერზე და დაბეჭდოთ საჭირო რაოდენობის ასლები. // // ბეჭდვის განლაგების სახელი გადაეცემა პარამეტრად, // მიღებული სახელის გამოყენებით ვპოულობთ განლაგების სახელს შესაბამისად. // // პარამეტრები: // LayoutName - სტრიქონი, განლაგების სახელი. // Procedure Print(LayoutName, Number of Instances = 1, OnPrinter = False, DirectPrint = False) Export // მიიღეთ დოკუმენტის ასლი დასაბეჭდად If LayoutName = "Invoice" then TabDocument = PrintOrderInvoice(LayoutName); დაასრულე თუ; Universal Mechanisms.PrintDocument(TabDocument, ინსტანციების რაოდენობა, OnPrinter, WorkWithDialogs.GenerateDocumentTitle(ThisObject, ""), DirectPrint); დასრულების პროცედურა // ბეჭდვა

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

// ფუნქცია ქმნის ცხრილის დოკუმენტს შეკვეთის ან ინვოისის დაბეჭდილი ფორმით, // მეთოდოლოგების მიერ შემუშავებული // // დაბრუნების მნიშვნელობა: // ცხრილების დოკუმენტი- გენერირებული ნაბეჭდი ფორმა // ფუნქცია PrintOrderInvoice(Type) Request = New Request; Request.SetParameter("CurrentDocument", ThisObject.Link); // ...პროგრამის კოდი...Layout Area.Parameters.Fill(Header); TabDocument.Output(LayoutArea); TabDocument-ის დაბრუნება; EndFunction // PrintOrderInvoice()

როგორც ვხედავთ, ამ ფუნქციის ბოლოს, გენერირებული ცხრილის დოკუმენტი ბრუნდება - ყველაფერი რაც უნდა გავაკეთოთ არის ტექსტის სრულად კოპირება.
ეს ფუნქცია (დაწყებული სტრიქონით "Request = New Query;" და მთავრდება სტრიქონით "Return TabDocument;") და ჩადეთ იგი მომზადებული ფუნქციის სხეულში.
ბეჭედიჩვენს დამუშავების მოდულში.

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

(ExternalProcessing.ExternalProcessing1(102,7)): ცვლადი არ არის განსაზღვრული (ტიპი) თუ<>Type = "Account" then (ExternalProcessing.ExternalProcessing1(224,7)): ცვლადი არ არის განსაზღვრული (ტიპი) თუ<>Type = "Account" then (ExternalProcessing.ExternalProcessing1(107,15)): ცვლადი არ არის განსაზღვრული (StructuralUnit) IfValueType(<>StructuralUnit) = Type("DirectoryLink.BankAccounts") შემდეგ (ExternalProcessing.ExternalProcessing1(108,40)): ცვლადი არ არის განსაზღვრული (StructuralUnit) Bank = ?(NOT ValueFilled(<>StructuralUnit.BankForSettlements), StructuralUnit.Bank, StructuralUnit.BankForSettlements); (ExternalProcessing.ExternalProcessing1(108,77)): ცვლადი არ არის განსაზღვრული (StructuralUnit) Bank = ?(NOT ValueFilled(StructuralUnit.BankForSettlements),<>StructuralUnit.Bank, StructuralUnit.BankForSettlements); (ExternalProcessing.ExternalProcessing1(108,102)): ცვლადი არ არის განსაზღვრული (StructuralUnit) Bank = ?(NOT ValueFilled(StructuralUnit.BankForSettlements), StructuralUnit.Bank,<>StructuralUnit.BankForSettlements); (ExternalProcessing.ExternalProcessing1(112,38)): ცვლადი არ არის განსაზღვრული (StructuralUnit)AccountNumber = ReturnAccount(<>სტრუქტურული ერთეული); (ExternalProcessing.ExternalProcessing1(123,21)): ცვლადი არ არის განსაზღვრული (StructuralUnit) თუ EmptyString(<>StructuralUnit.CorrespondentText) შემდეგ (ExternalProcessing.ExternalProcessing1(125,27)): ცვლადი არ არის განსაზღვრული (StructuralUnit) თუ ValueFilled(<>StructuralUnit.BankForSettlements) შემდეგ (ExternalProcessing.ExternalProcessing1(126,59)): ცვლადი არ არის განსაზღვრული (StructuralUnit)CorrespondentText =CorrespondentText + "r/s" +<>StructuralUnit.AccountNumber (ExternalProcessing.ExternalProcessing1(127,15)): ცვლადი არ არის განსაზღვრული (StructuralUnit) + " in " +<>StructuralUnit.Bank + " " + StructuralUnit.Bank.City; (ExternalProcessing.ExternalProcessing1(127,47)): ცვლადი არ არის განსაზღვრული (StructuralUnit) + " in " + StructuralUnit.Bank + " " +<>სტრუქტურული ერთეული.ბანკი.ქალაქი; (ExternalProcessing.ExternalProcessing1(130,26)): ცვლადი არ არის განსაზღვრული (StructuralUnit) შესაბამისი ტექსტი =<>StructuralUnit.TextCorrespondent; (ExternalProcessing.ExternalProcessing1(112,17)): პროცედურა ან ფუნქცია მითითებული სახელით არ არის განსაზღვრული (Return Account) ანგარიშის ნომერი =<>ReturnAccount(StructuralUnit);

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

ფუნქცია ბეჭდვა (ტიპი = "ანგარიში")

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

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

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

ახლა დამუშავების მოდული ასე გამოიყურება:

ფუნქცია ReturnCurrentAccount(CounterpartyAccount) BankForSettlements = CounterpartyAccount.BankForSettlements; შედეგი = ?(BankForSettlements.Empty(), Counterparty Account.AccountNumber, Counterparty Account.Bank.CorrespondentAccount); დაბრუნების შედეგი; ფუნქციის დასასრული // Return Current Account() // ფუნქცია ქმნის ტაბულურ დოკუმენტს შეკვეთის ან ინვოისის დაბეჭდილი ფორმით, // მეთოდოლოგების მიერ შემუშავებული // // დაბრუნების მნიშვნელობა: // Tabular document - გენერირებული ნაბეჭდი ფორმა // ფუნქცია Print(Type = "Invoice") Export StructuralUnit = ObjectLink.StructuralUnit; მოთხოვნა = ახალი მოთხოვნა; Request.SetParameter("CurrentDocument", ThisObject.Link); // ...პროგრამის ტექსტი...Layout Area.Parameters.Fill(Header); TabDocument.Output(LayoutArea); TabDocument-ის დაბრუნება; EndFunction // PrintOrderInvoice()

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

ეტაპი მეორე

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

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

თუ EmptyString(StructuralUnit.CorrespondentText) thenCorrespondentText = SupplierInformation.FullName; თუ მნიშვნელობა ივსება (StructuralUnit.BankForSettlements) მაშინ CorrespondentText = CorrespondentText + "account" + StructuralUnit.AccountNumber + " in " + StructuralUnit.Bank + " " + StructuralUnit.Bank.City; დაასრულე თუ; წინააღმდეგ შემთხვევაში CorrespondentText = StructuralUnit.CorrespondentText; დაასრულე თუ; LayoutArea.Parameters.ProviderView = CorrespondentText;

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

განლაგება Area.Parameters.SupplierView = LinkToObject.Organization.Payer-ის სახელი გადასახადების გადარიცხვისას;

სულ ეს არის - განლაგება მზად არის გამოსაყენებლად და შეიძლება დაკავშირებული იყოს კონფიგურაციასთან!

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

PS. დისკუსიები, კითხვები, წინადადებები - ყველაფერი თემაშია.