Skip to Content

Odoo 19 Community: პროდუქტების კომპლექტები შეთავაზებაში სექციის სახით – ჩვენი Open Source მოდული Sale Product Set Layout

2026 წლის 2 ნოემბერი | Odoo 19 Community | საკუთარი დამუშავება
2 ნოემბერი, 2026 by
Odoo 19 Community: პროდუქტების კომპლექტები შეთავაზებაში სექციის სახით – ჩვენი Open Source მოდული Sale Product Set Layout

Odoo 19-ის მოდული Sale Product Set Layout: პროდუქტების კომპლექტები შეთავაზების სექციად ბეჭდვის რეჟიმით, დამალული სტრიქონებითა და ფიქსირებული ფასით

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

OCA-ს მოდული sale_product_set საშუალებას იძლევა პროდუქტების კომპლექტები (გაყიდვისთვის განკუთვნილი სპეციფიკაციები) ერთი დაწკაპუნებით ჩაემატოს შეთავაზებაში. ბეჭდვით სახეს ის არ განსაზღვრავს. ამიტომ შევქმენით მოდული Sale Product Set Layout (sale_product_set_layout). ის დაწერილია Odoo 19-ისთვის და უფასოდ ხელმისაწვდომია GitHub-ზე, როგორც თავისუფალი პროგრამული უზრუნველყოფა AGPL-3 ლიცენზიით:

github.com/Alex0176/odoo-sale-product-set-layout

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

პროდუქტების კომპლექტი Odoo-ში არის წინასწარ მომზადებული სია პროდუქტებისა და რაოდენობების მითითებით. ათი არტიკულის ცალ-ცალკე ძებნის ნაცვლად შეთავაზებაში არჩევთ კომპლექტის დამატებას და ყველა სტრიქონს ერთბაშად იღებთ. ეს დროს ზოგავს და გამორიცხავს დავიწყებულ პოზიციებს. მოდული sale_product_set რეპოზიტორიიდან OCA/sale-workflow სწორედ ამას აკეთებს; თვით კომპლექტები კი მოდის product_set-იდან რეპოზიტორიაში OCA/product-attribute.

პრაქტიკაში სამი ხარვეზი რჩება:

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

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

რას აკეთებს მოდული

  1. კომპლექტის ჩამატება სექციად. ასისტენტი კომპლექტის დამატება ქმნის სექციის სტრიქონს კომპლექტის სახელით, მაგალითად 2 × Messkit Standard, და კომპლექტის სტრიქონებს მის ქვემოთ ათავსებს. კომპლექტის შიგნით არსებული სექციები ქვესექციებად იქცევა.
  2. ბეჭდვის რეჟიმი თითოეული კომპლექტისთვის. კომპლექტში ერთხელ განისაზღვრება, როგორ იბეჭდება ის. ჩამატებისას რეჟიმის შეცვლა ასისტენტში ამ ერთი შემთხვევისთვის შეიძლება.
  3. სტრიქონების დამალვა. ცალკეული სტრიქონების მონიშვნა შეიძლება როგორც არ დაიბეჭდოს (კომპლექტში: დამალული). ისინი ჯამში ითვლება, მაგრამ არც იბეჭდება და არც მომხმარებლის პორტალში ნაჩვენებია. ეს ნიშანი შეთავაზებიდან ინვოისზე გადადის.
  4. ფიქსირებული ფასი კომპლექტის თითოეული სტრიქონისთვის. კომპლექტის სტრიქონს შეიძლება ჰქონდეს ფიქსირებული ერთეულის ფასი, რომელიც ფასების სიის ფასს ანაცვლებს, მაგალითად დამალული ფასის კორექტირებისთვის.
მოდულის გარეშე (მხოლოდ sale_product_set)sale_product_set_layout-ით
კომპლექტის სტრიქონები ცალკეულ პოზიციებადსექციის სტრიქონი კომპლექტის სახელით, რაოდენობა სახელში, სტრიქონები ქვემოთ
კომპლექტის სექციები სექციებად რჩება და სტრუქტურას არღვევსკომპლექტის სექციები ქვესექციებად იქცევა (line_subsection)
ბეჭდვითი სახე ყოველთვის ერთნაირიბეჭდვის რეჟიმი თითოეული კომპლექტისთვის, ჩამატებისას შეიძლება შეიცვალოს
ფასის კორექტირება ჩანს შეთავაზებასა და ინვოისზესტრიქონის დამალვა შეიძლება, მაგრამ ჯამში მაინც ითვლება
ფასი მხოლოდ ფასების სიიდანსურვილისამებრ ფიქსირებული ფასი კომპლექტის თითოეული სტრიქონისთვის
განლაგება მთავრდება შეთავაზებაზეგანლაგება და დამალვა მოქმედებს შეთავაზებაზე, შეკვეთაზე, ინვოისსა და მომხმარებლის პორტალზე

სამი ბეჭდვის რეჟიმი დეტალურად

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

# Druckmodus -> (collapse_prices, collapse_composition) der Abschnittszeile
PRINT_MODE_FLAGS = {
    "detailed":   (False, False),
    "total_only": (True,  False),
    "summary":    (False, True),
}

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

რეჟიმი (print_mode)ჩვენება კომპლექტშისტანდარტული პარამეტრი Odoo-შიბეჭდვითი სახე
detailedთითოეული სტრიქონი ფასითარცერთისექცია, ყველა სტრიქონი თანხით
total_onlyსტრიქონები ფასების გარეშე, მხოლოდ კომპლექტის ჯამიcollapse_prices (ფასების დამალვა)სექცია ჯამით, სტრიქონები მხოლოდ დასახელებითა და რაოდენობით
summaryმხოლოდ ერთი სტრიქონი კომპლექტის ჯამითcollapse_composition (შემადგენლობის დამალვა)მხოლოდ სექციის სტრიქონი ჯამით

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

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

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

ფასის კორექტირება ბექენდში ჩანს და მონიშნულია, შეთავაზების, PDF-ის, ინვოისისა და პორტალის ამობეჭდილ ვერსიაში არ ჩანს, ჯამი იდენტურია

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

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

ტექნიკური რეალიზაცია

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

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

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

მოდელიდამატება
product.setველები insert_as_section (Boolean, ნაგულისხმევად ჩართული) და print_mode (არჩევანი, სავალდებულო ველი, ნაგულისხმევად detailed)
product.set.lineველები hide_in_report, fixed_price, price_unit; prepare_sale_order_line_values() გადასცემს მათ შეთავაზების სტრიქონს
sale.product.set.wizardველები insert_as_section, section_name, print_mode; _prepare_order_lines() აგებს სექციის სტრიქონს
sale.order / sale.order.lineველი hide_in_report (copy=True-ით); _get_order_lines_to_report() გამოტოვებს დამალულ სტრიქონებს; _prepare_invoice_line() გადასცემს ნიშანს
account.move / account.move.lineველი hide_in_report; _get_move_lines_to_report(), _get_detailed_lines() და _get_subsection_lines() ფილტრავენ დამალულ სტრიქონებს; _get_aml_vals() ნიშანს ანგარიშის მონაცემებში გადააქვს

დამალვა შეთავაზებაში

Odoo 19 დასაბეჭდ შეთავაზების სტრიქონებს _get_order_lines_to_report()-ში განსაზღვრავს. მოდული იქ ფილტრს ამატებს. ანგარიშის შაბლონში ჩარევა საჭირო არ არის: შეთავაზების ანგარიშის შაბლონიც (sale/report/ir_actions_report_templates.xml) და პორტალის შაბლონიც (sale/views/sale_portal_templates.xml) ამ მეთოდს იძახებს:

class SaleOrder(models.Model):
    _inherit = "sale.order"

    def _get_order_lines_to_report(self):
        return super()._get_order_lines_to_report().filtered(
            lambda line: not line.hide_in_report
        )

გადაცემა ინვოისზე

შეთავაზების სტრიქონიდან ინვოისის სტრიქონის შექმნისას (_prepare_invoice_line()) ნიშანი კოპირდება. ინვოისის მხარეს Odoo 19-ში რამდენიმე გზა არსებობს, რომლითაც სტრიქონები ანგარიშში ხვდება: მთავარი სია, სექციის სტრიქონები და ქვესექციის სტრიქონები. ამიტომ მოდული ფილტრავს რამდენიმე ადგილას (_get_move_lines_to_report() დოკუმენტზე, _get_detailed_lines() და _get_subsection_lines() სტრიქონზე), წინააღმდეგ შემთხვევაში დამალული სტრიქონი სხვა გზით ისევ შეიძლება გამოჩნდეს:

class AccountMoveLine(models.Model):
    _inherit = "account.move.line"

    hide_in_report = fields.Boolean(string="Hidden in report")

    def _get_aml_vals(self, hide_taxes):
        res = super()._get_aml_vals(hide_taxes)
        res["hide_in_report"] = self.hide_in_report
        return res

    def _get_detailed_lines(self, children_lines, direct_children_lines, subsection_lines):
        res = super()._get_detailed_lines(children_lines, direct_children_lines, subsection_lines)
        return [vals for vals in res if not vals.get("hide_in_report")]

    def _get_subsection_lines(self, subsection_line, children_lines):
        res = super()._get_subsection_lines(subsection_line, children_lines)
        return [vals for vals in res if not vals.get("hide_in_report")]

ასისტენტი: სექცია ცალკეული სტრიქონების ნაცვლად

ასისტენტი sale.product.set.wizard მოდულიდან sale_product_set ქმნის შეთავაზების სტრიქონებს _prepare_order_lines()-ში. მოდული ამ მეთოდს გადაფარავს. თუ სექციად ჩამატება გამორთულია, ის უბრალოდ თავდაპირველ მეთოდს იძახებს და ქცევა იგივე რჩება, რაც OCA-ს მოდულში. წინააღმდეგ შემთხვევაში ჯერ იქმნება სექციის სტრიქონი ორი სტანდარტული გადამრთველით, შემდეგ კი კომპლექტის სტრიქონები მოჰყვება. კომპლექტის შიგნით არსებული სექციები ქვესექციებად იქცევა, რათა მთავარი სტრუქტურა არ დაარღვიონ:

def _prepare_order_lines(self):
    if not self.insert_as_section:
        return super()._prepare_order_lines()
    sequence = self._get_max_sequence() + 1
    collapse_prices, collapse_composition = PRINT_MODE_FLAGS[self.print_mode or "detailed"]
    order_lines = [Command.create({
        "display_type": "line_section",
        "name": self.section_name or self.product_set_id.name,
        "sequence": sequence,
        "collapse_prices": collapse_prices,
        "collapse_composition": collapse_composition,
    })]
    for set_line in self._get_lines():
        sequence += 1
        values = set_line.prepare_sale_order_line_values(self.order_id, self.quantity, sequence)
        if values.get("display_type") == "line_section":
            values["display_type"] = "line_subsection"
        order_lines.append(Command.create(values))
    return order_lines

გადაწყვეტილებები, რომლებიც არ ჩანს

  • ასისტენტში გაანგარიშების ცალკე მეთოდები. სექციის სახელს, ბეჭდვის რეჟიმსა და სექციად ჩამატებას თითოეულს ცალკე compute-მეთოდი აქვს (store=True, readonly=False). სამივეს ერთი და იგივე მეთოდი რომ ჰქონოდა, ერთი ველისთვის აშკარად გადაცემული მნიშვნელობა დანარჩენებს გადააყენებდა. ეს განსაკუთრებით შესამჩნევია, როცა ასისტენტი კოდიდან ან ტესტებიდან მნიშვნელობებით იქმნება.
  • სექციის სახელი რაოდენობით. როცა რაოდენობა 1-ის ტოლი არ არის, ის სახელშია (2 × Messkit Standard, ათწილადის გამყოფად მძიმით), რათა ამობეჭდილ ვერსიაში ჩანდეს, რომ ეს ორი კომპლექტია და არა ერთი ორმაგი რაოდენობის კომპლექტი.
  • ფიქსირებული ფასი მხოლოდ პროდუქტის სტრიქონებზე. prepare_sale_order_line_values() ადგენს hide_in_report-სა და price_unit-ს მხოლოდ მაშინ, თუ კომპლექტის სტრიქონი არ არის სექციის ან შენიშვნის სტრიქონი.
  • სტანდარტული Odoo საკუთარი გადაწყვეტის ნაცვლად. ბეჭდვის რეჟიმი და დამალვა იყენებს Odoo 19-ის არსებულ hook-ებსა და ველებს. ეს განახლებებს მართვადს ხდის: თუ Odoo ანგარიშის შაბლონს შეცვლის, მოდული მანამ რჩება მოქმედი, სანამ მეთოდები არსებობს.

ინსტალაცია არასასურველი გვერდითი ეფექტების გარეშე

წინაპირობები: Odoo 19.0, sale_product_set (OCA/sale-workflow, ბრენჩი 19.0) და product_set (OCA/product-attribute, ბრენჩი 19.0). თვით მოდული sale_management-ზე, sale_product_set-სა და account-ზეა დამოკიდებული.

auto_install-ის ხაფანგი OCA-ს მოდულებში. OCA-ს ბევრი რეპოზიტორია შეიცავს მოდულებს auto_install-ით. როგორც კი მათი დამოკიდებულებები არსებობს, Odoo მათ მომდევნო ინსტალაციის ან განახლებისას უკითხავად ამატებს. ვინც ამიტომ მთელ OCA-ს რეპოზიტორიას სამუშაო ინსტანციის addons_path-ში ათავსებს, შესაძლოა მიიღოს მოდულები, რომლებიც არავის უნდოდა. OCA/product-attribute-ის შემთხვევაში ეს ეხება, მაგალითად, purchase_product_template_tags-ს. ჩვენი მიდგომა:

  1. ორივე OCA რეპოზიტორია ზედაპირულად დავაკლონოთ (git clone --depth 1 --branch 19.0).
  2. ცალკე დირექტორიაში symlink-ით დავაკავშიროთ მხოლოდ ორი საჭირო მოდული და ეს დირექტორია ჩავრთოთ addons_path-ში და არა მთელი რეპოზიტორიები.
  3. ტესტურ მონაცემთა ბაზაზე დავაინსტალიროთ და შევამოწმოთ, რომელ მოდულებს მიენიჭა სტატუსი დაინსტალირებული.
  4. მხოლოდ ამის შემდეგ დავაინსტალიროთ სამუშაო სისტემაში --workers=0-ით, რათა გამოძახება მოქმედ სერვისთან HTTP პორტისთვის არ დაკონკურირდეს.
odoo-bin -c /etc/odoo/odoo.conf -d <datenbank> -i sale_product_set_layout --stop-after-init

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

მუშაობა ეტაპობრივად

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

ტესტები

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

  • ჩამატება სექციად, ბეჭდვის რეჟიმისა და ქვესექციის ჩათვლით
  • დამალული სტრიქონი არ არის დასაბეჭდ სტრიქონებში
  • რეჟიმი ერთი სტრიქონი (summary)
  • ჩამატება სექციის გარეშე, თავდაპირველი ქცევა
  • ინვოისი იღებს ნიშანს hide_in_report, სტრიქონი აკლია _get_move_lines_to_report()-ში, სექციის ჯამი მას კვლავ შეიცავს
  • ინვოისი რეჟიმში მხოლოდ საერთო ფასი არ აჩვენებს დამალულ სტრიქონს სექციის სტრიქონებში, სექციის ჯამი სრული რჩება
odoo-bin -d <testdatenbank> -i sale_product_set_layout \
         --test-enable --test-tags=/sale_product_set_layout --stop-after-init

გერმანული თარგმანი მდებარეობს i18n/de.po-ში.

შეზღუდვები და იურიდიული შენიშვნა

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

ხშირი კითხვები

რისთვის მჭირდება მოდული, თუ Odoo 19-ს უკვე შეუძლია სექციები?

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

რით განსხვავდება „ფასების დამალვა“ და „შემადგენლობის დამალვა“?

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

ითვლება თუ არა დამალული სტრიქონი ინვოისის ჯამში?

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

შემიძლია თუ არა ბეჭდვის რეჟიმის შეცვლა ჩამატებისას?

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

რა მოხდება, თუ გამოვრთავ სექციად ჩამატებას?

მაშინ ასისტენტი იქცევა ისე, როგორც OCA-ს მოდულში sale_product_set: კომპლექტის სტრიქონები სექციის გარეშე ჩაემატება.

აინსტალირებს თუ არა მოდული მოულოდნელად სხვა მოდულებს?

თვით მოდული — არა. OCA-ს რეპოზიტორიებში კი შეიძლება მოხვდეს auto_install-მოდულები, თუ მთელ რეპოზიტორიებს addons_path-ში ათავსებთ. ამიტომ დააკავშირეთ symlink-ით მხოლოდ ორი საჭირო მოდული (იხ. ინსტალაციის განყოფილება).

მუშაობს თუ არა მოდული Odoo Enterprise-თან?

მოდული დამოკიდებულია მხოლოდ Community-მოდულებზე (sale_management, account) და ორ OCA-მოდულზე. ჩვენ მას Odoo 19 Community-ზე ვიყენებთ. Enterprise-ზე ჩვენ ის არ გამოგვიცდია.

რა ლიცენზიით ვრცელდება მოდული?

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

მხარდაჭერა Biricon IT Services-ისგან

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

დაგვიკავშირდით ახლავე

მდგომარეობა: 2026 წლის 2 ნოემბერი. მოდულის ვერსია 19.0.1.0.0. ილუსტრაციებში მაგალითის მონაცემები თავისუფლადაა შერჩეული, თანხები ნეტო.