Skip to Content

Odoo 19 Community: کۆمەڵە بەرهەمەکان وەک بەش لە پێشنیاری نرخدا – مۆدیولی سەرچاوەکراوەی ئێمە Sale Product Set Layout

2ی تشرینی دووەمی 2026 | Odoo 19 Community | بەرهەمی خۆمان
2ی تشرینی دووەمی 2026 by
Odoo 19 Community: کۆمەڵە بەرهەمەکان وەک بەش لە پێشنیاری نرخدا – مۆدیولی سەرچاوەکراوەی ئێمە Sale Product Set Layout

مۆدیولی Sale Product Set Layout بۆ Odoo 19: کۆمەڵەی بەرهەم وەک بەش لە پێشنیاری نرخدا، لەگەڵ دۆخی چاپکردن، ڕیزی شاردراوە و نرخی جێگیر

ئەوانەی لە Odoo پاکێج دەفرۆشن، بۆ نموونە ئامێرێکی پێوانەکردن لەگەڵ کەرەستەی لاوەکی و دامەزراندن، شوێنێکی کار لەگەڵ ڕەقەکاڵا و ئامادەکردن، یان پاکێجێکی چاککردنەوە و چاودێری پێکهاتوو لە چەند خزمەتگوزارییەک، لە پێشنیاری نرخدا هاوکات پێویستیان بە دوو شت هەیە: دەبێت پێکهاتەکە لە داواکارییەکەدا تۆمار بکرێت، تا کۆگا، بەشی تەکنیکی و بەشی پسووڵەکردن بزانن چی دابین دەکرێت. بەڵام لە وەشانی چاپکراو بۆ کڕیاردا نابێت هەموو جارێک هەر بڕگەیەک بە نرخە تاکەکەیەوە دەرکەوێت.

مۆدیولی OCA بە ناوی sale_product_set ڕێگە دەدات کۆمەڵەی بەرهەم (لیستی پێکهاتەکان بۆ فرۆشتن) بە یەک کرتە بخرێتە ناو پێشنیارێکی نرخەوە. بەڵام شێوازی دەرکەوتنیان لە چاپدا دیاری ناکات. بۆ ئەمە مۆدیولی Sale Product Set Layout (sale_product_set_layout)مان گەشە پێ داوە. بۆ Odoo 19 نووسراوە و وەک نەرمەکاڵای ئازاد بە مۆڵەتنامەی AGPL-3 بەخۆڕایی لە GitHub بەردەستە:

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 × کۆمەڵەی پێوانەکردنی ستاندارد، و ڕیزەکانی کۆمەڵەکە لە ژێری دادەنێت. بەشەکانی ناو کۆمەڵەکە دەبنە ژێربەش.
  2. دۆخی چاپکردن بۆ هەر کۆمەڵەیەک. شێوازی چاپکردنی کۆمەڵەکە یەک جار لە خودی کۆمەڵەکەدا دیاری دەکرێت. لە کاتی زیادکردندا دەتوانرێت لە یاریدەدەرەکەدا دۆخەکە تەنها بۆ ئەو جارە بگۆڕدرێت.
  3. شاردنەوەی ڕیزەکان. دەتوانرێت ڕیزە تاکەکان بە چاپ مەکە (لە کۆمەڵەکەدا: شاردراوە) نیشان بکرێن. لە کۆی گشتیدا هەژمار دەکرێن، بەڵام نە چاپ دەکرێن و نە لە پۆرتاڵی کڕیاردا نیشان دەدرێن. نیشانەکە لە پێشنیاری نرخەوە بۆ پسووڵە دەگوازرێتەوە.
  4. نرخی جێگیر بۆ هەر ڕیزێکی کۆمەڵە. ڕیزێکی کۆمەڵە دەتوانێت نرخی تاکی جێگیری هەبێت کە جێگەی نرخی لیستی نرخ بگرێتەوە، بۆ نموونە بۆ ڕاستکردنەوەیەکی شاردراوەی نرخ.
بەبێ مۆدیولەکە (تەنها sale_product_set)لەگەڵ sale_product_set_layout
ڕیزەکانی کۆمەڵە وەک بڕگەی پەرشڕیزی بەش بە ناوی کۆمەڵەکە، بڕەکە لە ناو ناوەکەدا و ڕیزەکان لە ژێری
بەشەکانی ناو کۆمەڵەکە هەر بە بەش دەمێننەوە و پێکهاتەکە تێک دەدەنبەشەکانی ناو کۆمەڵەکە دەبنە ژێربەش (line_subsection)
شێوازی چاپ هەمیشە وەک یەکەدۆخی چاپکردن بۆ هەر کۆمەڵەیەک، لە کاتی زیادکردندا دەتوانرێت بگۆڕدرێت
ڕاستکردنەوەی نرخ لە پێشنیاری نرخ و پسووڵەدا دیارەدەتوانرێت ڕیزەکە بشاردرێتەوە، بەڵام لە کۆی گشتیدا هەژمار دەکرێت
نرخ تەنها لە لیستی نرخەوە وەردەگیرێتهەڵبژاردەی نرخی جێگیر بۆ هەر ڕیزێکی کۆمەڵە
ڕێکخستنی دەرکەوتن تەنها تا پێشنیاری نرخەڕێکخستنی دەرکەوتن و شاردنەوە بۆ پێشنیاری نرخ، داواکاری، پسووڵە و پۆرتاڵی کڕیار جێبەجێ دەبن

سێ دۆخی چاپکردن بە وردی

دۆخی چاپکردن خانەیەکی هەڵبژاردنە بە ناوی print_mode لەسەر کۆمەڵەی بەرهەم. لە کاتی زیادکردندا دەگۆڕدرێت بۆ ڕێکخستنی دوو دوگمەی بنەڕەتیی ڕیزی بەشەکە. بۆ ئەمە لە مۆدیولەکەدا تەنها یەک نەخشاندنی ئاسانخوێن هەیە:

# شێوازی چاپکردن -> (collapse_prices, collapse_composition) بۆ ڕیزی بەشەکە
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 (بەهای ڕاست/هەڵە، بە شێوەی بنەڕەتی چالاکە) و 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 وەردەگرن. ئەمە نوێکردنەوەکان ئاسانتر دەکات: ئەگەر 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. لە بوخچەیەکی تایبەتدا تەنها ئەو دوو مۆدیولە پێویستە بە بەستەری هێمایی ببەستنەوە و ئەم بوخچەیە بخەنە ناو addons_path، نەک تەواوی کۆگاکان.
  3. لەسەر بنکەدراوەیەکی تاقیکردنەوە دایبمەزرێنن و بپشکنن کام مۆدیول لەم پرۆسەیەدا دۆخی دامەزراو وەردەگرن.
  4. تەنها پاش ئەوە لە ژینگەی کارکردنی ڕاستەقینەدا دایبمەزرێنن، بە --workers=0، تاکو فرمانەکە لەگەڵ خزمەتگوزاریی چالاکدا بۆ پۆرتی HTTP ناکۆکی دروست نەکات.
odoo-bin -c /etc/odoo/odoo.conf -d <datenbank> -i sale_product_set_layout --stop-after-init

دوای دامەزراندن، خانە و ڕووکارە نوێکان لە بنکەدراوەدا دەبن. ئەگەر خزمەتگوزارییەکە بە چەند پرۆسە کار بکات، پرۆسە کارکەرەکان لە ڕێگەی ئاماژەی بنکەدراوەوە تۆماری ناوخۆیی گۆڕاو دووبارە بار دەکەنەوە. گۆڕانکاری لە فایلەکانی 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) ڕیزەکان بە تەواوی دەشارێتەوە و کڕیار تەنها بەشەکە لەگەڵ کۆی گشتی دەبینێت.

ئایا ڕیزی شاردراوە لە کۆی گشتیی پسووڵەدا هەژمار دەکرێت؟

بەڵێ. ڕیزە شاراوەکان لە کۆی گشتی، باج و تۆماری ژمێریاریدا دەمێننەوە. نیشانەکە تەنها کاریگەری لەسەر شێوازی پیشاندان لە چاپکراوە و پۆرتاڵی کڕیاردا هەیە.

ئایا لە کاتی زیادکردندا هێشتا دەتوانم شێوازی چاپ بگۆڕم؟

بەڵێ. شێوازەکە بە بنەڕەت لە کۆمەڵەکەوە وەردەگیرێت، بەڵام لە یاریدەدەرەکەدا بۆ هەر جارێکی زیادکردن دەتوانرێت بگۆڕدرێت. خودی کۆمەڵەکە وەک خۆی دەمێنێتەوە.

ئەگەر وەک بەش زیاد بکە ناچالاک بکەم، چی ڕوودەدات؟

ئەوسا یاریدەدەرەکە وەک مۆدیولی sale_product_setی OCA کار دەکات: ڕیزەکانی کۆمەڵەکە بەبێ بەش زیاد دەکرێن.

ئایا مۆدیولەکە بەبێ چاوەڕوانی مۆدیولی دیکەش دادەمەزرێنێت؟

خودی مۆدیولەکە نەخێر. بەڵام لە کۆگاکانی OCAدا، ئەگەر تەواوی کۆگاکان بخەنە ناو addons_path، لەوانەیە مۆدیولەکانی auto_install دابمەزرێن. بۆیە تەنها بەستەر بۆ هەردوو مۆدیولە پێویستەکە دروست بکەن (سەیری بەشی دامەزراندن بکەن).

ئایا مۆدیولەکە لەگەڵ Odoo Enterprise کار دەکات؟

مۆدیولەکە تەنها پشت بە مۆدیولەکانی Community (sale_management، account) و هەردوو مۆدیولی OCA دەبەستێت. ئێمە لە Odoo 19 Community بەکاری دەهێنین. لە Enterprise تاقیمان نەکردووەتەوە.

مۆدیولەکە بە چ مۆڵەتێک بڵاو کراوەتەوە؟

بە مۆڵەتی AGPL-3. دەتوانن بەکاری بهێنن، دەستکاری بکەن و بڵاوی بکەنەوە، بە مەرجێک گۆڕانکارییەکان هەر بە هەمان مۆڵەت بمێننەوە. ڕاپۆرتی هەڵە و پێشنیاری باشترکردن وەک Issue لە کۆگای GitHub بەخێرهاتنن.

پشتگیری لەلایەن Biricon IT Services

ئێمە چاودێریی سیستەمەکانی Odoo بۆ کۆمپانیا بچووک و مامناوەندەکان دەکەین: لە دەستپێکردنی بەکارهێنانەوە تا گونجاندن، گواستنەوە و بەڕێوەبردنی بەردەوام. ئەگەر دەتانەوێت کۆمەڵە بەرهەمەکان، قاڵبەکانی پێشنیاری نرخ یان ڕاپۆرتەکانی Odoo 19 لەگەڵ شێوازی کارەکەتان بگونجێنن، یان مۆدیولێکی وەک ئەمە بپشکنن و بە شێوەیەکی دڵنیابەخش بیخەنە ناو سیستەمی کارکردنی ڕاستەقینەتان، بە خۆشحاڵییەوە پشتگیریتان دەکەین. لە بلۆگەکەماندا دەتوانن بەرهەمەکانی دیکەی خۆمان ببینن، بۆ نموونە یەکخستنی ڕەشنووسی پسووڵەکان و بەستنەوەی خۆکاری پارەدانە بانکییەکان بە پسووڵەکانەوە.

ئێستا پەیوەندی بکەن

دۆخی: 2ی نۆڤەمبەری 2026. وەشانی مۆدیول 19.0.1.0.0. داتای نموونەی ناو وێنەکان بە ئازادی هەڵبژێردراون، بڕەکان خاوێن (بێ باج).