توسعه Odoo

Welcome!

This community is for professionals and enthusiasts of our products and services.
Share and discuss the best content and new marketing ideas, build your professional profile and become a better marketer together.

7

چگونه فیلدهای فقط خواندنی را در اودوو 17 false کنیم؟

آواتار
علی عبداللهی

چگونه این فیلدهای فقط خواندنی را false کنیم



من اینو امتحان کردم ولی جواب نمیده؟


آواتار
انصراف
2 پاسخ ها
2
آواتار
فردین مردانی
بهترین پاسخ
برای خارج کردن فیلدهای فقط خواندنی در اودوو 17 نسخه ویراوب ۱۲۳، میتوانید از یکی از روشهای زیر استفاده کنید:
  • روش اول: از طریق ویرایش کد XML، میتوانید ویژگی readonly را از تگ field حذف کنید. برای این کار، باید به بخش Settings > Technical > User Interface > Views بروید و نمای مورد نظر را پیدا کنید. سپس روی دکمه Edit کلیک کنید و کد XML را ویرایش کنید. برای مثال، اگر میخواهید فیلد name را قابل ویرایش کنید، باید خط زیر را پیدا و حذف کنید:
  • روش دوم: از طریق ویرایش کد پایتون، میتوانید مقدار readonly را برای فیلد مورد نظر تغییر دهید. برای این کار، باید به بخش Settings > Technical > Database Structure > Models بروید و مدل مورد نظر را پیدا کنید. سپس روی دکمه Edit کلیک کنید و کد پایتون را ویرایش کنید. برای مثال، اگر میخواهید فیلد name را قابل ویرایش کنید، باید خط زیر را پیدا و تغییر دهید:

    name = fields.Char(readonly=True)
    به این صورت:
    name = fields.Char(readonly=False)
  • روش سوم: از طریق ویرایش نمای فرم، میتوانید ویژگی readonly را برای فیلد مورد نظر غیرفعال کنید. برای این کار، باید به بخش Settings > Technical > User Interface > Views بروید و نمای مورد نظر را پیدا کنید. سپس روی دکمه Edit کلیک کنید و گزینه Debug View را انتخاب کنید. در پنجره باز شده، روی فیلد مورد نظر کلیک راست کنید و گزینه Edit را انتخاب کنید. در قسمت Properties، تیک کنار گزینه Readonly را بردارید و روی Save کلیک کنید.
حالا اگر بخوایم در نمای یک مدل یک فیلد که فقط خواندنی هست رو از این حالت در بیاریم با xpath این چطوری انجام میشه؟ 


با استفاده از xpath میتوانید یک فیلد فقط خواندنی را در نمای یک مدل قابل ویرایش کنید. برای این کار، باید یک نمای جدید از نوع inherit بسازید و با استفاده از xpath عنصر مورد نظر را پیدا و ویژگی readonly را برای آن تغییر دهید. برای مثال، اگر میخواهید فیلد name را قابل ویرایش کنید، میتوانید کد زیر را بنویسید:



در کد بالا، ابتدا یک رکورد از مدل ir.ui.view ایجاد کردهایم و نام، مدل و شناسه نمای مبنا را مشخص کردهایم. سپس در فیلد arch، با استفاده از xpath عنصری را که نام آن name است جستجو کردهایم و مقدار ویژگی readonly آن را به 0 تغییر دادهایم. این کار باعث میشود که فیلد name در نمای فرم قابل ویرایش شود.

آواتار
انصراف
3
آواتار
علی عبداللهی
بهترین پاسخ



این جواب درست است

آواتار
انصراف