فیلدها و widget‌ها

فیلدها models یک پایگاه داده را ساختار می‌دهند. اگر یک مدل را به‌عنوان یک جدول یا spreadsheet در نظر بگیرید، فیلدها ستون‌ها هستند و رکوردها ردیف‌های فردی هستند. فیلدها همچنین نوع داده‌ای که در آنها ذخیره می‌شود را تعریف می‌کنند. روشی که در آن داده‌های یک فیلد روی UI ارائه و فرمت می‌شوند توسط widget آن کنترل می‌شود.

با استودیو، امکان موارد زیر وجود دارد:

فیلدهای استودیو در مقابل فیلدهای property

فیلدهای ایجادشده با استفاده از Studio به‌عنوان ستون‌ها در پایگاه دادهٔ Odoo شما ذخیره می‌شوند. Property fields، از سوی دیگر، به‌عنوان pseudo-fields عمل می‌کنند؛ آنها توسط همهٔ رکوردهایی که به همان رکورد parent پیوند داده شده‌اند (مثلاً، برای وظایف، پروژه، یا برای یک محصول، دستهٔ محصول) به اشتراک گذاشته می‌شوند، اما به‌عنوان ستون‌ها در پایگاه داده شما ذخیره نمی‌شوند.

Example

افزودن یک فیلد آخرین مهلت به نمای فرم یک کار با استفاده از استودیو آن فیلد را در هر کار در پایگاه دادهٔ شما قابل مشاهده می‌کند. افزودن یک فیلد ویژگی Special instructions به یک کار باعث می‌شود این فیلد در تمام کارهای درون همان پروژه (یعنی، والد آن) قابل مشاهده باشد در حالی که کارهای پروژه‌های دیگر بدون تغییر باقی می‌مانند.

انواع فیلد

فیلدها را می‌توان به‌طور کلی به دو دسته تقسیم کرد:

  • Simple fields، که شامل مقادیر اساسی هستند، مانند متن، اعداد، فایل‌ها و غیره.

  • Relational fields، که برای پیوند دادن و نمایش داده‌ها از رکوردها روی مدل دیگری استفاده می‌شوند.

فیلدهای هوش مصنوعی

AI fields اساساً فیلدهای استاندارد Odoo با قابلیت‌های AI اضافه‌شده هستند که اجازه می‌دهد مقادیر آنها به‌طور خودکار از طریق prompt‌ها تولید شوند.

فیلدهای ساده

توجه

widget‌های غیر پیش‌فرض، در صورت در دسترس بودن، به‌عنوان bullet‌ها یا sub-heading‌ها ارائه می‌شوند.

متن (char)

فیلد متن برای متن کوتاه شامل هر کاراکتر استفاده می‌شود. یک خط متن هنگام پر کردن فیلد نمایش داده می‌شود.

  • بج: مقدار را داخل یک شکل گرد، مشابه یک برچسب نمایش می‌دهد. مقدار را نمی‌توان روی UI ویرایش کرد، اما می‌توان یک مقدار پیش‌فرض تنظیم کرد.

  • Copy to Clipboard: کاربران می‌توانند مقدار را با کلیک روی یک دکمه کپی کنند.

  • E-mail: مقدار به یک پیوند قابل کلیک mailto تبدیل می‌شود.

  • تصویر: یک تصویر را با استفاده از یک URL نمایش می‌دهد. مقدار را نمی‌توان به‌صورت دستی ویرایش کرد، اما می‌توان یک مقدار پیش‌فرض تنظیم کرد.

    توجه

    این متفاوت از انتخاب Image field مستقیماً کار می‌کند، زیرا تصویر در Odoo ذخیره نمی‌شود هنگام استفاده از یک فیلد متن با widget تصویر. برای مثال، می‌تواند مفید باشد اگر می‌خواهید فضای دیسک ذخیره کنید.

  • تلفن: مقدار به یک پیوند قابل کلیک tel تبدیل می‌شود.

    نکته

    Enable SMS را تیک بزنید تا یک گزینه برای ارسال یک SMS به‌طور مستقیم از Odoo کنار فیلد اضافه شود.

  • آدرس اینترنتی: مقدار به یک URL قابل کلیک تبدیل می‌شود.

Example

نمونه‌هایی از فیلدهای Text با widget‌های مختلف

متن چندخطی (text)

فیلد متن چند خطی برای متن طولانی‌تر شامل هر نوع کاراکتر استفاده می‌شود. دو خط متن روی UI هنگام پر کردن فیلد نمایش داده می‌شوند.

  • Copy to Clipboard: کاربران می‌توانند مقدار را با کلیک روی یک دکمه کپی کنند.

Example

نمونه‌هایی از فیلدهای Multiline Text با widget‌های مختلف

عدد صحیح (integer)

فیلد عدد صحیح برای همهٔ اعداد صحیح (positive, negative, or zero, without a decimal) استفاده می‌شود.

  • Percentage Pie: مقدار را داخل یک دایرهٔ درصد نمایش می‌دهد، معمولاً برای یک مقدار محاسبه‌شده. مقدار را نمی‌توان روی UI ویرایش کرد، اما می‌توان یک مقدار پیش‌فرض تنظیم کرد.

  • نوار پیشرفت: مقدار را کنار یک نوار درصد نمایش می‌دهد، معمولاً برای یک مقدار محاسبه‌شده. فیلد را نمی‌توان به‌صورت دستی ویرایش کرد، اما می‌توان یک مقدار پیش‌فرض تنظیم کرد.

  • Handle: یک آیکون drag handle نمایش می‌دهد تا رکوردها را به‌صورت دستی در List view مرتب کند.

Example

نمونه‌هایی از فیلدهای Integer با widget‌های مختلف

عدد اعشاری (float)

فیلد دسیمال برای همهٔ اعداد اعشاری (positive, negative, or zero, with a decimal) استفاده می‌شود.

توجه

اعداد decimal با دو decimal پس از نقطهٔ اعشار روی UI نمایش داده می‌شوند، اما در پایگاه داده با دقت بیشتری ذخیره می‌شوند.

  • پولی: مشابه استفاده از Monetary field است. توصیه می‌شود از دومی استفاده کنید زیرا قابلیت‌های بیشتری ارائه می‌دهد.

  • درصد: یک کاراکتر percent % پس از مقدار نمایش می‌دهد.

  • Percentage Pie: مقدار را داخل یک دایرهٔ درصد نمایش می‌دهد، معمولاً برای یک مقدار محاسبه‌شده. فیلد را نمی‌توان به‌صورت دستی ویرایش کرد، اما می‌توان یک مقدار پیش‌فرض تنظیم کرد.

  • نوار پیشرفت: مقدار را کنار یک نوار درصد نمایش می‌دهد، معمولاً برای یک مقدار محاسبه‌شده. فیلد را نمی‌توان به‌صورت دستی ویرایش کرد، اما می‌توان یک مقدار پیش‌فرض تنظیم کرد.

  • زمان: مقدار باید از فرمت hh:mm پیروی کند، با حداکثر 59 دقیقه.

Example

نمونه‌هایی از فیلدهای Decimal با widget‌های مختلف

پولی (monetary)

فیلد پولی برای همهٔ مقادیر پولی استفاده می‌شود.

توجه

هنگامی که برای اولین بار یک فیلد پولی اضافه می‌کنید، از شما خواسته می‌شود یک فیلد ارز اضافه کنید اگر هنوز روی مدل وجود ندارد. Odoo پیشنهاد می‌دهد فیلد ارز را برای شما اضافه کند. هنگامی که اضافه شد، فیلد پولی را دوباره اضافه کنید.

Example

نمونه‌ای از یک فیلد Monetary همراه با فیلد Currency آن

HTML یا اچ‌تی‌ام‌ال (html)

فیلد Html برای افزودن متنی که می‌توان با استفاده از ویرایشگر HTML Odoo ویرایش کرد استفاده می‌شود.

  • متن چند خطی: ویرایشگر HTML Odoo را غیرفعال می‌کند تا اجازه ویرایش HTML خام بدهد.

Example

نمونه‌هایی از فیلدهای Html با widget‌های مختلف

تاریخ (date)

فیلد تاریخ برای انتخاب یک تاریخ روی یک تقویم استفاده می‌شود.

  • روزهای باقی مانده: تعداد روزهای باقیمانده قبل از تاریخ انتخاب‌شده نمایش داده می‌شود (مثلاً، In 5 days)، بر اساس تاریخ فعلی. این فیلد باید روی Read only تنظیم شود.

Example

نمونه‌هایی از فیلدهای Date با widget‌های مختلف

تاریخ و ساعت (datetime)

فیلد Date & Time برای انتخاب یک تاریخ روی یک تقویم و یک زمان روی یک ساعت استفاده می‌شود. زمان فعلی کاربر به‌طور خودکار استفاده می‌شود اگر هیچ زمانی تنظیم نشده باشد.

نکته

علاوه بر general properties، برخی از specific properties برای فیلدهای Date & Time که widget Date & Time یا دامنه تاریخ تنظیم شده دارند در دسترس هستند.

بازهٔ تاریخ (daterange)

widget دامنه تاریخ برای نمایش یک دورهٔ زمانی تعریف‌شده توسط یک تاریخ شروع و یک تاریخ پایان در یک خط استفاده می‌شود. یک date range می‌تواند یک تاریخ شروع و پایان الزامی داشته باشد، مثلاً، برای یک رویداد چندروزه، یا اجازه دهد یک تاریخ شروع یا پایان اختیاری، مثلاً، برای یک مداخلهٔ خدمات میدانی یا یک وظیفهٔ پروژه.

افزودن یک date range نیاز به دو فیلد دارد: یک فیلد Date & Time با widget دامنه تاریخ تنظیم‌شده و فیلد دیگری که به‌عنوان تاریخ شروع یا تاریخ پایان انتخاب می‌شود. این فیلد زیربنایی می‌تواند یک Date یا فیلد Date & Time موجود باشد، یا یکی که به‌طور خاص برای این هدف ایجاد شده است.

برای اضافه کردن یک بازهٔ تاریخ:

  1. یک فیلد تاریخ یا Date & Time موجود را شناسایی کنید که می‌تواند به‌عنوان فیلد تاریخ شروع/پایان زیربنایی استفاده شود، یا یکی جدید اضافه کنید. اگر date range:

    • یک تاریخ شروع و پایان الزامی دارد، این فیلد می‌تواند یا تاریخ شروع یا تاریخ پایان باشد؛ نتیجه یکسان است.

    • اجازه دهد یک تاریخ شروع یا پایان اختیاری، این فیلد به‌ترتیب تاریخ شروع یا تاریخ پایان است.

    نکته

    برای جلوگیری از نمایش دو بار همان اطلاعات، فیلد تاریخ شروع/پایان زیربنایی را می‌توان با فعال‌سازی Invisible نامرئی کرد یا با کلیک روی Remove from view از نما حذف کرد.

  2. یک فیلد Date & Time اضافه کنید و فیلد ویجت را به دامنه تاریخ تنظیم کنید.

  3. یک بر چسب مناسب وارد کنید.

  4. فیلد تاریخ شروع/پایان زیربنایی را از منوی کشویی Start date field یا End date field، در صورت لزوم، انتخاب کنید.

  5. اگر date range باید یک تاریخ شروع و پایان الزامی داشته باشد، Always range را فعال کنید.

  6. هر general properties یا properties for Date & Time fields خاص دیگر را در صورت لزوم به‌روزرسانی کنید، سپس روی بستن در گوشهٔ بالا سمت راست صفحه کلیک کنید.

Example

نمونه‌هایی از فیلدهای Date & Time با widget‌های مختلف
روزهای باقی‌مانده (remaining_days)

widget روزهای باقی مانده تعداد روزهای باقیمانده قبل از تاریخ انتخاب‌شده را نمایش می‌دهد (مثلاً، In 5 days)، بر اساس تاریخ و زمان فعلی. این فیلد باید روی Read only تنظیم شود.

تیک (boolean)

فیلد چک باکس زمانی استفاده می‌شود که یک مقدار باید فقط درست یا غلط باشد، که با تیک زدن یا تیک نزدن یک چک‌باکس نشان داده می‌شود.

  • دکمه: یک دکمهٔ رادیویی نمایش می‌دهد. این widget بدون سوئیچ به حالت ویرایش کار می‌کند.

  • تغییر وضعیت: یک دکمهٔ کلید فعال‌سازی نمایش می‌دهد. این widget بدون سوئیچ به حالت ویرایش کار می‌کند.

Example

نمونه‌هایی از فیلدهای Checkbox با widget‌های مختلف

انتخاب (selection)

فیلد انتخاب زمانی استفاده می‌شود که کاربران باید یک مقدار واحد را از گروهی از مقادیر از پیش تعریف‌شده انتخاب کنند.

  • بج: مقدار را داخل یک شکل گرد، مشابه یک برچسب نمایش می‌دهد. مقدار را نمی‌توان روی UI ویرایش کرد، اما می‌توان یک مقدار پیش‌فرض تنظیم کرد.

  • بج‌ها: همهٔ مقادیر قابل انتخاب را به‌طور همزمان داخل شکل‌های مستطیلی، که به‌صورت افقی سازماندهی شده‌اند، نمایش می‌دهد.

  • اولویت: نمادهای ستاره به‌جای مقادیر نمایش می‌دهد، که می‌توان از آن برای نشان دادن یک سطح اهمیت یا رضایت استفاده کرد، برای مثال. این همان اثر انتخاب Priority field را دارد، اگرچه، برای دومی، چهار مقدار priority از قبل از پیش تعریف‌شده‌اند.

  • رادیو: همهٔ مقادیر قابل انتخاب را به‌صورت همزمان به‌عنوان دکمه‌های رادیویی نمایش می‌دهد.

    نکته

    به‌صورت پیش‌فرض، دکمه‌های رادیویی به‌صورت عمودی سازماندهی شده‌اند. Display horizontally را فعال کنید تا روش نمایش آن‌ها را تغییر دهید.

  • Status Bar: همهٔ مقادیر قابل انتخاب را به‌طور همزمان به‌عنوان یک نوار پیشرفت فلش نمایش می‌دهد.

    نکته

    به‌صورت پیش‌فرض، مقادیر روی status bar قابل انتخاب هستند. Clickable را غیرفعال کنید تا از ویرایش مقدار روی UI جلوگیری شود.

Example

نمونه‌هایی از فیلدهای Selection با widget‌های مختلف

اولویت (selection)

فیلد اولویت برای نمایش یک سیستم رتبه‌بندی سه‌ستاره‌ای استفاده می‌شود، که می‌توان از آن برای نشان دادن اهمیت یا سطح رضایت استفاده کرد. این نوع فیلد یک Selection field با widget اولویت که به‌صورت پیش‌فرض انتخاب شده و چهار مقدار priority از پیش تعریف‌شده است. در نتیجه، widget‌های بج، بج‌ها، رادیو و انتخاب همان اثرات شرح داده‌شده زیر Selection را دارند.

نکته

برای تغییر تعداد ستاره‌های در دسترس با افزودن یا حذف مقادیر، روی Edit Values کلیک کنید. توجه داشته باشید که اولین مقدار برابر با 0 ستاره است (یعنی، هنگامی که هیچ انتخابی انجام نشده)، بنابراین داشتن چهار مقدار منجر به یک سیستم رتبه‌بندی سه‌ستاره‌ای می‌شود، برای مثال.

Example

نمونه‌ای از یک فیلد Priority

فایل (binary)

فیلد پرونده برای آپلود هر نوع فایل، یا امضای یک فرم (widget امضا) استفاده می‌شود.

  • تصویر: کاربران می‌توانند یک فایل تصویر آپلود کنند، که سپس در Form view نمایش داده می‌شود. این همان اثر استفاده از Image field را دارد.

  • PDF Viewer: کاربران می‌توانند یک فایل PDF آپلود کنند، که سپس می‌توان از Form view آن را مرور کرد.

  • امضا: کاربران می‌توانند فرم را به‌صورت الکترونیکی امضا کنند. این همان اثر انتخاب Sign field را دارد.

Example

نمونه‌هایی از فیلدهای File با widget‌های مختلف

تصویر (binary)

فیلد تصویر برای آپلود یک تصویر و نمایش آن در Form view استفاده می‌شود. این نوع فیلد یک File field با widget تصویر که به‌صورت پیش‌فرض انتخاب شده است. در نتیجه، widget‌های پرونده، PDF Viewer و امضا همان اثرات شرح داده‌شده زیر File را دارند.

نکته

برای تغییر اندازهٔ نمایش تصاویر آپلودشده، کوچک، متوسط یا بزرگ را زیر گزینهٔ اندازه انتخاب کنید.

امضا (binary)

فیلد امضا برای امضای الکترونیکی فرم استفاده می‌شود. این نوع فیلد یک File field با widget امضا که به‌صورت پیش‌فرض انتخاب شده است. در نتیجه، widget‌های پرونده، تصویر و PDF Viewer همان اثرات شرح داده‌شده زیر File را دارند.

نکته

برای دادن گزینهٔ خودکار به کاربران هنگام مجبور بودن به کشیدن امضای خود، یکی از فیلدهای در دسترس Auto-complete with (Text، Many2One و Related Field فقط روی مدل) را انتخاب کنید. امضا به‌طور خودکار با استفاده از داده‌های فیلد انتخاب‌شده تولید می‌شود.

فیلدهای رابطه‌ای

توجه

widget‌های غیر پیش‌فرض، در صورت در دسترس بودن، به‌عنوان bullet‌ها یا sub-heading‌ها ارائه می‌شوند.

چندبه‌یک (many2one)

فیلد Many2One برای پیوند دادن یک رکورد دیگر (از یک مدل دیگر) به رکورد در حال ویرایش استفاده می‌شود. نام رکورد از مدل دیگر سپس روی رکورد در حال ویرایش نمایش داده می‌شود.

Example

روی مدل سفارش فروش، فیلد مشتری یک فیلد Many2One است که به مدل مخاطب اشاره می‌کند. این اجازه می‌دهد بسیاری از سفارش‌های فروش به یک مخاطب (مشتری) پیوند داده شوند.

دیاگرام نشان‌دهندهٔ یک رابطهٔ many2one

نکته

  • برای جلوگیری از ایجاد یک رکورد جدید در مدل پیوندخورده توسط کاربران، Disable creation را تیک بزنید.

  • برای جلوگیری از باز کردن رکوردها در یک پنجرهٔ پاپ‌آپ توسط کاربران، Disable opening را تیک بزنید.

  • برای کمک به کاربران در انتخاب فقط رکورد صحیح، روی دامنه کلیک کنید تا یک فیلتر ایجاد کنید.

  • برای راه‌اندازی جستجو برای یک رکورد پیوندخورده فقط پس از وارد شدن حداقل تعداد کاراکتر، عدد مورد نظر را در فیلد Typeahead search وارد کنید. در شرایطی که مجموعهٔ داده بزرگ است، این می‌تواند هم ارتباط جستجو و هم عملکرد را افزایش دهد.

  • بج: مقدار را داخل یک شکل گرد، مشابه یک برچسب نمایش می‌دهد. مقدار را نمی‌توان روی UI ویرایش کرد.

  • رادیو: همهٔ مقادیر قابل انتخاب را به‌صورت همزمان به‌عنوان دکمه‌های رادیویی نمایش می‌دهد.

یک‌به‌چند (one2many)

فیلد One2Many برای نمایش روابط موجود بین یک رکورد روی مدل فعلی و چندین رکورد از یک مدل دیگر استفاده می‌شود.

Example

می‌توانید یک فیلد One2Many به مدل مخاطب اضافه کنید تا به بسیاری از سفارش‌های فروش یک مشتری نگاه کنید.

دیاگرام نشان‌دهندهٔ یک رابطهٔ one2many

توجه

برای استفاده از یک فیلد One2Many، دو مدل باید قبلاً با استفاده از یک Many2One field پیوند داده شده باشند. روابط One2Many مستقل وجود ندارند: یک reverse-search روابط Many2One موجود انجام می‌شود.

خطوط (one2many)

فیلد سطرها برای ایجاد یک جدول با ردیف‌ها و ستون‌ها استفاده می‌شود (مثلاً، خطوط محصولات روی یک سفارش فروش).

نکته

برای تغییر ستون‌ها، روی فیلد سطرها و سپس Edit List View کلیک کنید. برای ویرایش فرمی که هنگام کلیک کاربر روی افزودن یک سطر ظاهر می‌شود، به‌جای آن روی Edit Form View کلیک کنید.

Example

نمونه‌ای از یک فیلد Lines

چندبه‌چند (many2many)

فیلد Many2Many برای پیوند دادن چندین رکورد از یک مدل دیگر به چندین رکورد روی مدل فعلی استفاده می‌شود. فیلدهای Many2Many می‌توانند از Disable creation، Disable opening، دامنه استفاده کنند، درست مانند Many2One fields.

Example

روی مدل کار، فیلد محول شده به یک فیلد Many2Many است که به مدل مخاطب اشاره می‌کند. این اجازه می‌دهد یک کاربر واحد به بسیاری از کارها اختصاص داده شود و بسیاری از کاربران به یک کار واحد اختصاص داده شوند.

دیاگرام نشان‌دهندهٔ روابط many2many

نکته

برای راه‌اندازی جستجو برای رکورد پیوندخورده فقط پس از وارد شدن حداقل تعداد کاراکتر، عدد مورد نظر را در فیلد Typeahead search وارد کنید. در شرایطی که مجموعهٔ داده بزرگ است، این می‌تواند هم ارتباط جستجو و هم عملکرد را افزایش دهد.

  • Checkboxes: کاربران می‌توانند چندین مقدار را با استفاده از چک‌باکس‌ها انتخاب کنند.

  • برچسب‌ها: کاربران می‌توانند چندین مقدار را که در شکل‌های گرد ظاهر می‌شوند انتخاب کنند، که همچنین به‌عنوان tags شناخته می‌شوند. این همان اثر انتخاب Tags field را دارد.

برچسب‌ها (many2many)

فیلد برچسب‌ها برای نمایش چندین مقدار از یک مدل دیگر که در شکل‌های گرد ظاهر می‌شوند استفاده می‌شود، که همچنین به‌عنوان tags شناخته می‌شوند. این نوع فیلد یک Many2Many field با widget برچسب‌ها که به‌صورت پیش‌فرض انتخاب شده است. در نتیجه، widget‌های Checkboxes و Many2Many همان اثرات شرح داده‌شده زیر Many2Many را دارند.

نکته

برای نمایش برچسب‌ها با رنگ‌های پس‌زمینهٔ مختلف، Use colors

Example

نمونه‌ای از یک فیلد برچسب‌ها

اضافه کردن یک فیلد به یک نما

با Studio، امکان افزودن وجود دارد:

نکته

یک فیلد جدید را به یک نمای فرم یا فهرست اضافه کنید تا در مدل ذخیره شود و به‌عنوان یک فیلد موجود در نماهای دیگر همان مدل در دسترس قرار گیرد.

اضافه کردن یک فیلد جدید

نکته

developer mode را قبل از افزودن یک فیلد جدید فعال کنید تا نام فنی فیلد در طول پیکربندی را ببینید و بتوانید ویرایش کنید.

برای افزودن یک فیلد جدید، این مراحل را دنبال کنید:

  1. به فرم یا نمای فهرست مربوطه بروید، سپس روی آیکون (Toggle Studio) در گوشهٔ بالا سمت راست کلیک کنید. یا، با باز بودن هر اپ، روی آیکون (Toggle Studio) کلیک کنید، سپس به فرم یا نمای فهرست مربوطه بروید.

  2. در زبانهٔ افزودن، field type مربوطه را از بخش New Fields بکشید و در موقعیت مورد نظر رها کنید. اگر فیلد جدید یک relational field

  3. در زبانهٔ مشخصات، properties فیلد را پیکربندی کنید:

    • بر چسب که به‌عنوان نام فیلد روی UI نمایش داده می‌شود را وارد کنید؛ این همچنین برای تولید نام فنی پیش‌فرض فیلد استفاده می‌شود.

    • روی هر جایی خارج از فیلد بر چسب کلیک کنید تا نام فنی با نام فنی پیش‌فرض به‌روزرسانی شود.

      توجه

      • نام فنی یک فیلد جدید را می‌توان در Studio در طول فرآیند پیکربندی ویرایش کرد. در هر زمان دیگر، نام فنی یک فیلد را می‌توان فقط از طریق تنظیمات فنی پایگاه داده تغییر داد.

      • نام فنی یک فیلد جدید اضافه‌شده با استفاده از Studio به‌صورت پیش‌فرض با x_studio_ پیشوند می‌شود.

    • به‌صورت اختیاری، یک ویجت متفاوت را از طریق dropdown انتخاب کنید؛ widget پیش‌فرض برای field type به‌صورت پیش‌فرض انتخاب می‌شود.

    • به‌صورت اختیاری، هر field properties دیگر را پیکربندی کنید.

  4. روی بستن در گوشهٔ بالا سمت راست کلیک کنید تا Studio بسته شود.

همچنین ببینید

افزودن یک فیلد AI جدید

اضافه کردن یک فیلد موجود

برای افزودن یک فیلد که روی مدل وجود دارد اما در نمای فعلی حاضر نیست، این مراحل را دنبال کنید:

  1. به نمای مربوطه بروید، سپس روی آیکون (Toggle Studio) در گوشهٔ بالا سمت راست کلیک کنید. یا، با باز بودن هر اپ، روی آیکون (Toggle Studio) کلیک کنید، سپس به نمای مربوطه بروید.

  2. در زبانهٔ افزودن، در پنل چپ، روی Existing Fields کلیک کنید تا یک فهرست از همهٔ فیلدهای مدل که در حال حاضر در نما حاضر نیستند نمایان شود.

  3. فیلد مربوطه را بکشید و در موقعیت مورد نظر رها کنید.

  4. در زبانهٔ مشخصات، properties مربوطه را برای فیلد در نمای فعلی پیکربندی کنید.

    توجه

    ویژگی‌های مختلف را می‌توان به‌صورت مستقل برای نماهای مختلف پیکربندی کرد، در صورت لزوم، مانند بر چسب، ویجت، visibility فیلد برای گروه‌های کاربری خاص، و همچنین اینکه آیا فیلد Invisible، اجباری یا فقط خواندنی است.

  5. روی بستن در گوشهٔ بالا سمت راست کلیک کنید تا Studio بسته شود.

ویژگی‌های فیلد

یک مجموعه از general properties را می‌توان برای بیشتر ترکیب‌های field type and widget پیکربندی کرد. ویژگی‌های اضافی بسته به نوع فیلد و widget خاص انتخاب‌شده در دسترس هستند. برای مثال، فیلدهای Date & Time که از widget Date & Time یا دامنه تاریخ استفاده می‌کنند specific properties مختلفی دارند که می‌توانند پیکربندی شوند.

ویژگی‌های عمومی

  • کلاس: از Bootstrap یا سایر کلاس‌های سفارشی تعریف‌شده در Odoo استفاده کنید تا نحوهٔ style و نمایش فیلد روی UI را سفارشی کنید.

  • Invisible: این ویژگی را فعال کنید زمانی که برای کاربران ضروری نیست یک فیلد را روی UI ببینند. این کمک می‌کند UI با نشان دادن فقط فیلدهای ضروری بسته به یک موقعیت خاص شلوغ‌زدایی شود.

  • اجباری: این ویژگی را فعال کنید اگر یک فیلد همیشه باید توسط کاربر قبل از اینکه بتواند ادامه دهد تکمیل شود.

  • فقط خواندنی: این ویژگی را فعال کنید اگر کاربران نباید بتوانند یک فیلد را تغییر دهند.

نکته

  • ویژگی Invisible همچنین در داخل Studio اعمال می‌شود. برای مشاهدهٔ فیلدهای پنهان در Studio، روی زبانهٔ نمایش یک نما کلیک کنید و Show Invisible Elements را فعال کنید.

  • ویژگی‌های Invisible، اجباری و فقط خواندنی را می‌توان برای رکوردهای خاص فقط فعال کرد با کلیک روی Conditional و ایجاد یک فیلتر.

    Example

    روی نمای فرم مدل مخاطب، فیلد عنوان فقط زمانی ظاهر می‌شود که فرد انتخاب شده باشد، زیرا آن فیلد برای یک مخاطب شرکت مفید نیست.

  • بر چسب: این نام فیلد روی UI است؛ label برای تولید نام فنی فیلد استفاده می‌شود.

  • Help Tooltip: برای توضیح هدف یک فیلد، یک توضیح اضافه کنید. متن داخل یک tooltip box نمایش داده می‌شود هنگامی که با ماوس روی علامت سؤال کنار label فیلد نگه دارید.

  • نام فنی: برای مشاهدهٔ نام فنی یک فیلد در Studio (و، در طول پیکربندی یک فیلد جدید، ویرایش آن در صورت تمایل)، developer mode را فعال کنید.

    نکته

    اگر این فیلد نیاز به به‌روزرسانی دارد اما دیگر قابل ویرایش از طریق Studio نیست، نام فنی می‌تواند از طریق تنظیمات فنی پایگاه داده تغییر کند.

  • ویجت: برای تغییر ظاهر یا عملکرد پیش‌فرض یک فیلد، یکی از widget‌های در دسترس را انتخاب کنید.

  • متن جایگزین: برای ارائهٔ یک مثال از نحوهٔ تکمیل یک فیلد، یک متن placeholder ثابت اضافه کنید. متن به رنگ خاکستری روشن ظاهر می‌شود تا زمانی که یک مقدار وارد شود.

  • Dynamic Placeholder: برای ارائهٔ مقدار فیلد انتخاب‌شده به‌عنوان یک مثال از نحوهٔ تکمیل یک فیلد. متن به رنگ خاکستری روشن ظاهر می‌شود تا زمانی که یک مقدار وارد شود.

  • مقدار پیش‌فرض: برای نمایش یک مقدار پیش‌فرض در یک فیلد هنگامی که یک رکورد ایجاد می‌شود، یک مقدار اضافه کنید.

  • Allow visibility to groups: برای محدود کردن کاربرانی که می‌توانند فیلد را ببینند، یک یا چند groups دسترسی کاربر را انتخاب کنید.

  • Forbid visibility to groups: برای جلوگیری از دیدن فیلد توسط برخی از کاربران، یک یا چند groups دسترسی کاربر را انتخاب کنید.

ویژگی‌های فیلدهای Date & Time

برای فیلدهای Date & Time که از widget Date & Time یا دامنه تاریخ استفاده می‌کنند، برخی از ویژگی‌های خاص در دسترس هستند:

  • Minimal precision: کوچک‌ترین واحد تاریخ که باید در انتخابگر تاریخ انتخاب شود را تعیین کنید. مقادیر ممکن Day، Month، Year یا Decade هستند. اگر هیچ مقداری انتخاب نشود، کاربر باید یک روز را در انتخابگر تاریخ انتخاب کند.

  • Maximal precision: بزرگ‌ترین واحد تاریخ که می‌توان از آن برای navigate در انتخابگر تاریخ استفاده کرد را تعیین کنید. مقادیر ممکن Day، Month، Year یا Decade هستند. اگر هیچ مقداری انتخاب نشود، کاربر می‌تواند انتخابگر تاریخ را با decade پیمایش کند.

  • Warning for future dates: این ویژگی را فعال کنید تا یک آیکون هشدار نمایش داده شود اگر یک تاریخ آینده انتخاب شود.

  • فرمت تاریخ: به‌صورت پیش‌فرض تاریخ به‌عنوان Apr 2, 2025, 08:05 AM نشان داده می‌شود. این ویژگی را فعال کنید تا تاریخ به فرمت 4/2/2025 08:05:00 نشان داده شود. حالت عددی فرمت تنظیم‌شده روی زبان فعلی است. در این حالت ثانیه‌ها همیشه نشان داده می‌شوند.

  • Show date: این ویژگی به‌صورت پیش‌فرض برای فیلدهای Date & Time فعال است. این ویژگی را غیرفعال کنید تا فقط زمان نشان داده شود.

  • نمایش زمان: این ویژگی به‌صورت پیش‌فرض برای فیلدهای Date & Time فعال است. روی یک فیلد فقط‌خواندنی، ویژگی را غیرفعال کنید تا فقط تاریخ نمایش داده شود. این می‌تواند برای مثال، یک نمای فهرست را کمتر شلوغ نگه دارد.

  • Show seconds: این ویژگی به‌صورت پیش‌فرض برای فیلدهای Date & Time غیرفعال است. ویژگی را فعال کنید تا ثانیه‌ها نشان داده شوند.

  • Time interval: یک مقدار وارد کنید تا فواصل دقیقه نشان‌داده‌شده در انتخابگر زمان را تعیین کنید. برای مثال، 15 وارد کنید تا فواصل ربع ساعت اجازه داده شود. مقدار پیش‌فرض روی 5 دقیقه تنظیم شده است.

  • Earliest accepted date: زودترین تاریخی که می‌توان در انتخابگر تاریخ به فرمت ISO، یعنی، YYYY-MM-DD انتخاب کرد را وارد کنید. اگر تاریخ فعلی همیشه زودترین تاریخ پذیرفته‌شده است، today را وارد کنید. روی انتخابگر تاریخ، تاریخ‌های قبل از زودترین تاریخ پذیرفته‌شده خاکستری می‌شوند.

  • Latest accepted date: آخرین تاریخی که می‌توان در انتخابگر تاریخ به فرمت ISO، یعنی، YYYY-MM-DD انتخاب کرد را وارد کنید. اگر تاریخ فعلی همیشه آخرین تاریخ پذیرفته‌شده است، today را وارد کنید. روی انتخابگر تاریخ، تاریخ‌های بعد از آخرین تاریخ پذیرفته‌شده خاکستری می‌شوند.

تغییر ویژگی‌های یک فیلد

برای تغییر ویژگی‌های یک فیلد، این مراحل را دنبال کنید:

  1. به نمای مربوطه بروید، سپس روی آیکون (Toggle Studio) در گوشهٔ بالا سمت راست کلیک کنید. یا، با باز بودن هر اپ، روی آیکون (Toggle Studio) کلیک کنید، سپس به نمای مربوطه بروید.

  2. روی فیلد مربوطه کلیک کنید.

  3. در زبانهٔ مشخصات، هر تغییر مورد نظر را به field properties اعمال کنید.

    نکته

    ویژگی‌های مختلف را می‌توان به‌صورت مستقل برای نماهای مختلف پیکربندی کرد، مانند بر چسب، ویجت، visibility فیلد برای گروه‌های کاربری خاص، و همچنین اینکه آیا فیلد Invisible، اجباری یا فقط خواندنی است.

  4. روی بستن در گوشهٔ بالا سمت راست کلیک کنید تا Studio بسته شود.

توجه

نام فنی یک فیلد (در Studio با فعال بودن developer mode قابل مشاهده) نمی‌تواند در Studio تغییر کند؛ این را می‌توان از طریق تنظیمات فنی پایگاه داده انجام داد.

تغییر نام فنی یک فیلد

برای تغییر نام فنی یک فیلد، developer mode را فعال کنید، سپس این مراحل را دنبال کنید:

  1. با باز بودن فیلد در Studio، نام فنی فیلد را کپی کنید.

  2. فیلد را حذف کنید از همهٔ نماها در Studio، سپس روی بستن کلیک کنید تا Studio بسته شود.

  3. به تنظیمات ↤ فنی ↤ فیلدها بروید.

  4. نام فنی کپی‌شده را در نوار جستجو پیست کنید، سپس فیلد مربوطه را باز کنید.

  5. نام فیلد را در صورت لزوم تغییر دهید.

هنگامی که نام فنی فیلد به‌روزرسانی شد، فیلد سپس می‌تواند (دوباره) به نما(های) مربوطه اضافه شود از فهرست فیلدهای موجود.

مهم

هنگام به‌روزرسانی نام فنی یک فیلد، اطمینان حاصل کنید که حداقل پیشوند x_ را حفظ کنید، که برای هر فیلد سفارشی الزامی است؛ برای فیلدهای ایجادشده با استفاده از Studio، پیشوند x_studio_ را حفظ کنید تا چنین فیلدهایی به‌راحتی قابل شناسایی باشند.

حذف یک فیلد از یک نما

برای حذف یک فیلد از یک نما، این مراحل را دنبال کنید:

  1. به نمای مربوطه بروید، سپس روی آیکون (Toggle Studio) در گوشهٔ بالا سمت راست کلیک کنید. یا، با باز بودن هر اپ، روی آیکون (Toggle Studio) کلیک کنید، سپس به نمای مربوطه بروید.

  2. روی فیلد مربوطه کلیک کنید.

  3. به پایین زبانهٔ مشخصات اسکرول کنید، سپس روی Remove from view کلیک کنید.

  4. روی تأیید کلیک کنید تا اقدام تأیید شود.

نکته