コンテンツへスキップ
Odoo メニュー
  • サインイン
  • 無料で15日試す
  • アプリ
    財務
    • 会計
    • 請求
    • 経費
    • スプレッドシート(BI)
    • ドキュメント管理
    • 署名
    販売
    • CRM
    • 販売
    • POS店舗
    • POSレストラン
    • サブスクリプション
    • レンタル
    ウェブサイト
    • ウェブサイトビルダー
    • eコマース
    • ブログ
    • フォーラム
    • ライブチャット
    • eラーニング
    サプライチェーン
    • 在庫
    • 製造
    • 製品ライフサイクル管理 (PLM)
    • 購買
    • 整備
    • 品質
    人事業務
    • 従業員管理
    • 採用
    • 休暇管理
    • 人事評価
    • リファラル
    • フリート
    マーケティング
    • ソーシャルマーケティング
    • メールマーケティング
    • SMSマーケティング
    • イベント
    • マーケティングオートメーション
    • アンケート調査
    サービス
    • プロジェクト管理
    • タイムシート
    • フィールドサービス
    • ヘルプデスク
    • 計画
    • アポイントメント
    生産性向上ツール
    • ディスカッション
    • 承認
    • IoT
    • VoIP
    • ナレッジ
    • WhatsApp
    サードパーティアプリ Odooスタジオ Odooクラウドプラットホーム
  • インダストリー(業種別ソリューション)
    小売
    • 書店
    • アパレルショップ
    • 家具専門店
    • 食料品店
    • 金物店
    • 玩具店
    飲食・ホスピタリティ業界
    • バー・パブ
    • レストラン
    • ファストフード
    • ゲストハウス
    • 飲料販売代理店
    • ホテル
    不動産
    • 不動産会社
    • 建築事務所
    • 建設
    • 不動産管理
    • 造園
    • 住宅所有者組合
    コンサルティング
    • 会計事務所
    • Odooパートナー
    • マーケティングエージェンシー
    • 法律事務所
    • 人材派遣
    • 監査・認証
    製造
    • テキスタイル
    • 金属
    • 家具
    • 飲食
    • 醸造所
    • コーポレートギフト
    ヘルス & フィットネス
    • スポーツクラブ
    • 眼鏡店
    • フィットネスセンター
    • ウェルネス専門家
    • 薬局
    • ヘアサロン
    業種
    • 便利屋
    • IT ハードウェア・サポート
    • 太陽エネルギーシステム
    • 靴メーカー
    • クリーニングサービス
    • 空調設備サービス
    その他
    • 非営利団体
    • 環境機関
    • ビルボードレンタル
    • 写真
    • 自転車リース
    • ソフトウェアリセラー
    すべての業種を見る
  • コミュニティ
    学ぶ
    • チュートリアル
    • ドキュメンテーション
    • 認定
    • トレーニング
    • ブログ
    • ポッドキャスト
    教育サポート
    • 教育プログラム
    • Scale Up! ビジネスゲーム
    • Odooオフィス訪問
    ソフトを入手
    • ダウンロード
    • エディションを比較
    • リリース
    コラボレーション
    • Github
    • フォーラム
    • イベント
    • 翻訳
    • パートナーになる
    • パートナー様向けサービス
    • 会計事務所を登録
    サービス利用
    • パートナー一覧
    • 会計事務所一覧
    • 今すぐ相談する
    • 導入支援サービス
    • お客様一覧
    • サポート
    • アップグレード
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    製品デモを利用する
  • 料金
  • ヘルプ

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • 会計
  • 在庫
  • PoS
  • プロジェクト
  • MRP
All apps
コミュニティで交流するには登録する必要があります。
全てのポスト 人々 バッジ
タグ (全て表示)
odoo accounting v14 pos v15
このフォーラムについて
コミュニティで交流するには登録する必要があります。
全てのポスト 人々 バッジ
タグ (全て表示)
odoo accounting v14 pos v15
このフォーラムについて
ヘルプ

how to put fields under a single condition in form view (odoo version 17)

購読

この投稿に活動があった際に通知を受け取ります

この質問にフラグが付けられました
developmentaccountingdebugattrs
2 返信
3488 ビュー
アバター
odoo dev

I have a scenario where I've added numerous custom fields to the account.move inherited view, and most of these fields share the same visibility condition. The challenge is that I need to write multiple conditions to control their visibility. Whenever a requirement changes, I must update the condition for multiple fields individually. Additionally, if I want to display a field for multiple move_types , I end up writing lengthy conditions for each field.

Over time, the account.move form view has become very large due to these customizations and conditions, making it increasingly difficult to implement changes without risking disruptions to other flows, such as vendor bills, customer invoices, and journal entries. Is there a more efficient way to manage this, where I can define a single condition that applies to multiple fields, simplifying maintenance and ensuring stability across the views? basically an if block where i can check the move type and define all the fields for a certain move_type, similarly another if condition to deal with another move_type

0
アバター
破棄
odoo dev
著作者

I don’t have enough karma to post, so I’m commenting here. As Andre mentioned, I’d prefer using the second option, but the challenge I’m facing is how to create separate workflow views while inheriting the original account.move form view. I want to avoid copying the entire XML from the original form view into my custom view. Instead, I’d like to inherit the form view for each workflow, allowing me to manage fields based on the specific workflow.

アバター
Cybrosys Techno Solutions Pvt.Ltd
最善の回答

Hi,


You can simplify your process as follows.


1- Add a boolean field in the 'account.move'. It should be a computed field and made invisible in the form view. Add the compute function and add all your conditions in the function.

This field will encapsulate your condition logic (e.g., move_type == 'out_invoice'). It will be used to control field visibility in the view.

     class AccountMove(models.Model):

    """Inherited model 'account.move'."""
_inherit = 'account.move'

is_check_condition = fields.Boolean(string="Check Condition",
help="Compute field for check the field conditions",
compute="_compute_conditions")
# Add your custom fields


def _compute_conditions(self):
"""Compute field for checking the field visibility of the custom fields"""
for rec in self:
if rec.move_type == 'out_invoice': #Add all the condition that make the boolean field True
rec.is_check_condition = True
else:
rec.is_check_condition = False


2- Add the computed boolean field as the invisible attribute of the custom fields.


<record id="view_move_form" model="ir.ui.view">
<field name="name">account.move.form.inherit</field>
<field name="model">account.move</field>
<field name="inherit_id" ref="account.view_move_form"/>
<field name="arch" type="xml">
#Add the compute field and make it invisible
<xpath expr="//group[@id='header_right_group']" position="inside">
<field name="is_check_condition" invisible="1"/>
</xpath>
# Add the boolean field as the condition for the custom field
<xpath expr="//#" position="inside">
<field name="custom_field" invisible="is_check_condition"/>
</xpath>
</field>
</record>



If you have multiple distinct conditions, you can create multiple computed booleans.This way, different sets of fields can reference different visibility flags.


Hope it helps.


0
アバター
破棄
アバター
André Canilho
最善の回答

Hi.
Managing large views is always hard especially when the conditions start to increase exponentially. 

Someway you can make the process easier:

Option 1: Define a new selection field that tracks each workflow, and have a computed action for changing the visibility of the other fields, or set any rules you might have (domains, fields values, etc
).
This lets you define each process with a single user action, and every aspect of that workflow is embedded into a single function.

Option 2: Create one view per workflow type.
As before, this gives you more control over each workflow. The negative part is that you increase maintenance difficulty, as your fields are replicated through more locations, but for some cases this works well.

-1
アバター
破棄
ディスカッションを楽しんでいますか?読むだけでなく、参加しましょう!

今すぐアカウントを作成して、限定機能を利用したり、素晴らしいコミュニティと交流しましょう!

登録
関連投稿 返信 ビュー 活動
How to hide Analytic Plans in Budget forum based on analytic plans chose in a field(chosen_plans)
development accounting attrs
アバター
0
6月 25
898
Hide invoice header and footer in odoo v17 Enterprise
development configuration accounting debug
アバター
アバター
1
6月 25
1571
How to archive records in a model ? 解決済
development setup accounting debug
アバター
1
1月 25
2618
($$$@@@AyudaLATAMTelefono@@##$$)¿Cómo hablar directamente con un agente de LATAM?
contribution attach accounting debug attrs
アバター
0
11月 25
4
Testing of computed field in Odoo 18 extension dev
development debug
アバター
1
11月 25
404
コミュニティ
  • チュートリアル
  • ドキュメンテーション
  • フォーラム
オープンソース
  • ダウンロード
  • Github
  • Runbot
  • 翻訳
サービス
  • Odoo.shホスティング
  • サポート
  • アップグレード
  • カスタム開発
  • 教育プログラム
  • 会計事務所一覧
  • パートナー一覧
  • パートナーになる
企業情報
  • 会社概要
  • ブランドアセット
  • お問い合わせ
  • 採用情報
  • イベント
  • ポッドキャスト
  • ブログ
  • お客様一覧
  • リーガル情報 • プライバシーポリシー
  • セキュリティ
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo(オドゥー)は、CRM、eコマース、会計、在庫管理、POS、プロジェクト管理など、企業のさまざまな業務を一つのシステムで管理できる、ベルギー発のオープンソースのERPソフトウェアです。

高機能で使いやすく、完全に統合されたERPとして、ユニークな価値を提供しています。

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now