استودیو اودو ۲۰: فیلد، فرم، اتوماسیون و گزارش بدون کدنویسی

اودو ۲۰ · · ۱۷ دقیقه مطالعه · سطح متوسط

استودیو اودو جعبه‌ابزاری است برای وقتی که اودو تقریباً همان چیزی است که می‌خواهید، ولی نه کاملاً: سفارش فروش یک فیلد «شماره‌ی مجوز» کم دارد، فرم مشتری شلوغ است، تأیید سفارش‌های بزرگ باید با مدیر باشد و پیش‌فاکتور باید لوگو و جمله‌ی خودتان را داشته باشد. با استودیو این‌ها را بدون کدنویسی، با کشیدن و رها کردن، درست می‌کنید. در این آموزش از فیلد و نما شروع می‌کنیم و به اتوماسیون، گزارش PDF و قاعده‌ی تأیید می‌رسیم، با همان منوهای اودو ۲۰.

در این آموزش یاد می‌گیرید

  • به فرم و لیست هر اپ فیلد تازه اضافه کنید و ویجت و ویژگی‌هایش را درست انتخاب کنید
  • فرم، لیست، کانبان، تقویم و گزارش‌ها را بدون کد شخصی‌سازی کنید
  • با قاعده‌ی اتوماسیون کارهای تکراری را خودکار کنید و روی دکمه‌ها قاعده‌ی تأیید بگذارید
  • گزارش PDF تازه بسازید یا پیش‌فاکتور و فاکتور موجود را ویرایش کنید
  • بدانید تاریخ شمسی، چاپ فارسی و ارتقای نسخه با شخصی‌سازی‌های استودیو چه می‌کنند

پیش‌نیاز

اپ استودیو (Studio) نصب باشد و برای ساختن قاعده‌های اتوماسیون و دیدن نام فنی فیلدها، حالت توسعه‌دهنده را روشن کنید. طبق مستندات اودو، نصب استودیو روی پایگاه داده‌ای که پلن Standard دارد، اشتراک را به پلن Custom می‌برد؛ پس پیش از نصب، اثرش بر قرارداد خود را بسنجید. اینکه استودیو در کدام ویرایش اودو هست را در راهنمای اودو کامیونیتی یا اینترپرایز ببینید. اگر با نماها و فیلترهای اودو هنوز آشنا نیستید، اول جستجو و فیلتر در اودو را بخوانید.

تازه‌های اودو ۲۰ در استودیو

  • دکمه‌ها، دکمه‌های هوشمند و زبانه‌های نمای فرم را می‌شود با کشیدن و رها کردن جابه‌جا کرد.
  • مرحله‌های کانبان (نوار وضعیت) را می‌شود از خود نمای فرم با استودیو شخصی‌سازی کرد.
  • برای ستون‌های نمای لیست می‌شود کمترین و بیشترین عرض تعیین کرد.
  • قاعده‌های اتوماسیون حالا می‌توانند برنامه‌ی فعالیت (Activity Plan) را اجرا کنند.
  • فیلدهای Many2Many را می‌شود از انتخابگر فیلد ویرایشگر گزارش به گزارش PDF اضافه کرد.
  • ویرایشگر گزارش PDF رابط تازه دارد و اگر بخشی که ویرایش می‌کنید در گزارش‌های دیگر هم به کار رفته باشد، هشدار می‌دهد.
  • کد گزارش را می‌شود در یک بلوک، همراه با زمینه‌ی فنی آن، ترجمه کرد.
  • نام فنی فیلدهایی که با استودیو ساخته می‌شوند خواناتر شده است.
  • ویژگی «هشدار» برای فیلد تاریخ و تاریخ‌وزمان: اگر کاربر تاریخ گذشته یا آینده وارد کند، آیکن هشدار نشان داده می‌شود.
  • گزینه‌ی «زمان‌بندی» (Scheduling) نمای گانت از استودیو روشن می‌شود تا رکوردها بین گانت و پنل کناری کشیده و زمان‌بندی شوند.

از یادداشت‌های رسمی انتشار اودو ۲۰.

استودیو اودو چیست؛ مدل، فیلد، نما و ویجت

پیش از اولین کلیک، چهار کلمه را با هم یکی کنیم؛ همه‌ی کار استودیو روی این‌ها می‌چرخد:

مدل (Model)
یک جدول اطلاعات که مفهومی از کسب‌وکار را نگه می‌دارد، مثل سفارش فروش، مخاطب یا محصول.
فیلد (Field)
ستون‌های همان جدول؛ هر رکورد یک ردیف است. نوع فیلد می‌گوید چه داده‌ای در آن ذخیره می‌شود.
نما (View)
شکل نمایش داده‌های یک مدل: فرم، لیست، کانبان، تقویم، پیوت و بقیه. یک مدل چند نما دارد.
ویجت (Widget)
شکل نمایش یک فیلد در رابط کاربری؛ مثلاً همان فیلد انتخابی می‌تواند ستاره، دکمه‌ی رادیویی یا نوار وضعیت باشد.

برای باز کردن استودیو، به اپ و صفحه‌ای که می‌خواهید تغییرش دهید بروید و آیکن استودیو (Toggle Studio) را در گوشه‌ی بالا بزنید. می‌توانید اول استودیو را باز کنید و بعد به اپ موردنظر بروید. برای بستنش، «بستن» (Close) را در گوشه‌ی بالا بزنید.

با استودیو در هر اپی می‌شود فیلد، نما، مدل، قاعده‌ی اتوماسیون، وب‌هوک، گزارش PDF و قاعده‌ی تأیید اضافه یا ویرایش کرد. همه‌ی این تغییرها در ماژولی به نام studio_customization جمع می‌شوند؛ بعداً در بخش «ساختن مدل و اپ» می‌بینید این ماژول چرا مهم است.

افزودن فیلد تازه با استودیو

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

  1. حالت توسعه‌دهنده را روشن کنید؛ این‌طور نام فنی فیلد را هنگام ساختن می‌بینید و می‌توانید عوضش کنید.
  2. به فرم یا لیست موردنظر بروید، مثلاً فرم سفارش فروش، و استودیو را باز کنید.
  3. در زبانه‌ی «افزودن» (Add)، از بخش «فیلدهای تازه» (New Fields) نوع فیلد را بکشید و جای موردنظر رها کنید. اگر فیلد رابطه‌ای است، در پنجره‌ی باز شده مدل یا فیلد مرتبط را انتخاب کنید.
  4. در زبانه‌ی «ویژگی‌ها» (Properties) برچسب (Label) را بنویسید؛ همین برچسب نام فیلد در رابط است و نام فنی پیش‌فرض از روی آن ساخته می‌شود.
  5. بیرون از کادر برچسب کلیک کنید تا نام فنی (Technical Name) به‌روز شود. نام فنی فیلدهای استودیو به‌طور پیش‌فرض با x_studio_ شروع می‌شود.
  6. اگر لازم است ویجت دیگری انتخاب کنید و بقیه‌ی ویژگی‌ها را تنظیم کنید، بعد «بستن» را بزنید.

فیلدی که روی فرم یا لیست ساخته شود، در مدل ذخیره می‌شود و در بقیه‌ی نماهای همان مدل در فهرست «فیلدهای موجود» (Existing Fields) پیدا می‌شود. هر فیلدی که روی مدل هست ولی در نمای فعلی نیست را از همان فهرست بکشید و رها کنید.

نوع‌های رایج فیلد

نوع فیلدبرای چهچند ویجت دیگر
متن (Text)متن کوتاه یک‌خطیایمیل، تلفن، نشانی وب، نشان (Badge)، کپی در کلیپ‌بورد
متن چندخطی (Multiline Text)توضیح بلندکپی در کلیپ‌بورد
عدد صحیح و اعشاریتعداد، درصد، مقداردرصد، نوار پیشرفت، دایره‌ی درصد، زمان
پولی (Monetary)مبلغ؛ اگر مدل فیلد واحد پول ندارد، اودو پیشنهاد می‌دهد آن را هم بسازد—
تاریخ و تاریخ‌وزمانانتخاب تاریخ و ساعتتاریخ نسبی («دیروز»، «۳ روز دیگر»)، بازه‌ی تاریخ
چک‌باکس (Checkbox)بله یا نهدکمه، کلید روشن و خاموش (Toggle)
انتخابی (Selection)یک گزینه از چند مقدار ثابترادیو، نشان‌ها، ستاره (Priority)، نوار وضعیت
فایل، تصویر و امضابارگذاری فایل، نمایش تصویر، امضای الکترونیکی فرمنمایشگر PDF
Many2Oneوصل کردن رکورد به یک رکورد از مدل دیگر، مثل مشتری سفارشنشان، رادیو
Many2Many و برچسب‌هاچند رکورد به چند رکورد، مثل مسئول‌های یک کارچک‌باکس‌ها، برچسب
سطرها (Lines)جدول سطر و ستون، مثل سطرهای سفارش—
فیلد مرتبط (Related Field)نمایش یک مقدار از رکورد دیگر از راه رابطه‌ای که هست، مثل ایمیل مشتری روی سفارش—

One2Many به‌تنهایی وجود ندارد: باید دو مدل از قبل با یک Many2One به هم وصل باشند تا One2Many رابطه‌ی برعکس را نشان دهد.

فیلد استودیو یا فیلد ویژگی؟

فیلدی که با استودیو بسازید ستونی در پایگاه داده است و روی همه‌ی رکوردهای آن مدل دیده می‌شود. فیلد ویژگی (Property Field) فقط برای رکوردهای زیر یک والد دیده می‌شود؛ مثلاً فیلد «دستور ویژه» روی کارهای یک پروژه، نه همه‌ی پروژه‌ها. اگر فیلد فقط مال یک پروژه یا یک دسته‌ی محصول است، فیلد ویژگی کافی است.

اشتباه رایج

نام فنی فقط هنگام ساختن فیلد در استودیو عوض می‌شود. بعد از آن باید فیلد را از همه‌ی نماها بردارید، از تنظیمات ‣ فنی ‣ فیلدها Settings ‣ Technical ‣ Fields نامش را عوض کنید (پیشوند x_studio_ را نگه دارید) و دوباره به نماها برگردانید. پس از اول حالت توسعه‌دهنده را روشن کنید و نام فنی خوانا و انگلیسی بگذارید.

ویژگی‌های فیلد: اجباری، فقط‌خواندنی، شرطی و دسترسی گروه‌ها

روی هر فیلد در استودیو کلیک کنید تا زبانه‌ی ویژگی‌ها باز شود. مهم‌ترین‌ها:

  • نامرئی (Invisible)، اجباری (Required) و فقط‌خواندنی (Readonly): با «شرطی» (Conditional) هر کدام را فقط برای رکوردهایی که شرطی دارند روشن کنید؛ مثلاً فیلد «عنوان» مخاطب فقط وقتی دیده شود که مخاطب شخص است، نه شرکت.
  • راهنما (Help Tooltip): توضیحی که با نگه داشتن نشانگر روی علامت سؤال کنار برچسب دیده می‌شود.
  • مقدار پیش‌فرض (Default value) و متن نمونه (Placeholder): مقدار اولیه‌ی رکورد تازه، و متن کم‌رنگی که نشان می‌دهد فیلد چطور پر شود.
  • اجازه یا منع دیدن برای گروه‌ها: فیلد را فقط برای گروه‌های دسترسی مشخص نشان دهید یا از گروه‌هایی پنهان کنید.

ویژگی‌هایی مثل برچسب، ویجت، نامرئی، اجباری و فقط‌خواندنی را می‌شود برای هر نما جدا تنظیم کرد. فیلدهای نامرئی در خود استودیو هم دیده نمی‌شوند؛ برای دیدنشان در زبانه‌ی «نما» (View) گزینه‌ی «نمایش عناصر نامرئی» (Show Invisible Elements) را بزنید.

ویژگی‌های فیلد تاریخ‌وزمان

فیلد تاریخ‌وزمان با ویجت تاریخ‌وزمان یا بازه‌ی تاریخ، چند ویژگی خودش را دارد:

  • کمترین و بیشترین دقت: اینکه کاربر حتماً روز را انتخاب کند یا ماه و سال کافی است.
  • هشدار برای تاریخ آینده: اگر تاریخی در آینده انتخاب شود، آیکن هشدار دیده می‌شود.
  • نمایش تاریخ، ساعت و ثانیه و فاصله‌ی زمانی انتخابگر ساعت؛ مثلاً ۱۵ برای ربع‌ساعت.
  • زودترین و دیرترین تاریخ قابل قبول: به قالب YYYY-MM-DD یا کلمه‌ی today؛ تاریخ‌های بیرون از این بازه خاکستری می‌شوند.

برای بازه‌ی تاریخ (مثلاً شروع و پایان یک مأموریت در یک خط) دو فیلد لازم است: یک فیلد تاریخ یا تاریخ‌وزمان که شروع یا پایان را نگه دارد، و یک فیلد تاریخ‌وزمان با ویجت «بازه‌ی تاریخ» (Date Range) که در «فیلد تاریخ شروع» یا «فیلد تاریخ پایان» به اولی اشاره کند. اگر شروع و پایان هر دو اجباری‌اند، «همیشه بازه» (Always range) را بزنید و فیلد اول را نامرئی کنید تا تاریخ دو بار دیده نشود.

شخصی‌سازی نماها: فرم، لیست، کانبان و بقیه

استودیو نماها را در چهار گروه می‌چیند: عمومی (فرم، فعالیت، جست‌وجو)، چندرکوردی (کانبان، لیست، نقشه)، زمانی (تقویم، کوهورت، گانت) و گزارشی (پیوت، نمودار). تنظیم‌های هر نما در زبانه‌ی «نما» (View) است. برای عوض کردن نمای پیش‌فرض یک مدل، در استودیو به «نماها» (Views) بروید، از سه‌نقطه‌ی کنار نما «تنظیم به‌عنوان پیش‌فرض» (Set As Default) را بزنید.

فرم

  • با کشیدن «زبانه‌ها» (Tabs) و «ستون‌ها» (Columns) از زبانه‌ی افزودن، فرم را مرتب کنید.
  • با برداشتن تیک «می‌تواند بسازد / ویرایش کند / حذف کند / تکثیر کند»، جلوی آن کارها را روی این فرم بگیرید.
  • دکمه‌ی تازه را با «افزودن دکمه» بالای فرم بسازید و بگویید «اجرای اقدام سرور» (Run a Server Action) کند یا یک متد موجود را صدا بزند. برای دکمه‌ی اصلی کلاس btn-primary و برای دکمه‌ی فرعی btn-secondary بگذارید.
  • دکمه‌ی هوشمند را با «افزودن دکمه» کنار دکمه‌های هوشمند فعلی بسازید: یک فیلد مرتبط، برچسب و آیکن انتخاب کنید.
  • تازه‌ی اودو ۲۰: دکمه‌ها، دکمه‌های هوشمند و زبانه‌ها را بکشید و جابه‌جا کنید؛ مستطیل آبی نشان می‌دهد تا کجا می‌شود برد.

لیست

  • فیلد تازه یا موجود را مثل فرم بکشید و رها کنید.
  • در «هنگام ساختن رکورد» انتخاب کنید رکورد تازه پایین لیست اضافه شود، بالای لیست، یا فرم باز شود. دو حالت اول جلوی باز شدن فرم از لیست را می‌گیرند.
  • «ویرایش گروهی» (Enable Mass Editing)، ترتیب پیش‌فرض (Sort By) و گروه‌بندی پیش‌فرض (Default Group By) را از همین‌جا تنظیم کنید.
  • عرض ستون را در «عرض ستون (px)» بنویسید: 250 برای عرض ثابت، [200] برای کمترین عرض و [200,250] برای بازه.
  • برای جابه‌جا کردن دستی ردیف‌ها، یک فیلد عدد صحیح با ویجت «دستگیره» (Handle) اضافه کنید.

کانبان، تقویم، گانت و گزارش‌ها

  • کانبان: «ساخت سریع» (Quick Create) و گروه‌بندی پیش‌فرض. اگر کانبان باشد، در موبایل به‌جای لیست نشان داده می‌شود.
  • تقویم و گانت: با اولین فعال کردن، باید بگویید کدام فیلد تاریخ شروع و کدام پایان است. در گانت گروه‌بندی ردیف‌ها، مقیاس پیش‌فرض، رنگ و ردیف جمع را تنظیم کنید؛ گزینه‌ی «زمان‌بندی» (Scheduling) کشیدن رکورد بین گانت و پنل کناری را ممکن می‌کند.
  • جست‌وجو: فیلترهای آماده و جداکننده‌ها را زیر «فیلترها» بکشید، و فیلدهایی را که باید در جست‌وجو پیشنهاد شوند زیر «فیلدهای تکمیل خودکار».
  • پیوت و نمودار: گروه‌بندی سطر و ستون، معیار (Measure)، نوع نمودار (میله‌ای، خطی، دایره‌ای) و مرتب‌سازی پیش‌فرض.
اشتباه رایج

ویرایشگر XML استودیو (در حالت توسعه‌دهنده، زبانه‌ی نما، دکمه‌ی </> XML) وسوسه‌انگیز است. نمای استاندارد یا ارث‌بری‌شده‌ی اودو را مستقیم ویرایش نکنید؛ این تغییرها در به‌روزرسانی و ارتقای ماژول از بین می‌روند. همیشه نمای ارث‌بری‌شده‌ی خود استودیو را انتخاب کنید.

ساختن مدل و اپ تازه، و انتقال شخصی‌سازی‌ها

وقتی کاری در هیچ اپی جا نمی‌شود، مثلاً ثبت قراردادهای اجاره‌ی انبار یا درخواست‌های داخلی یک واحد، با استودیو مدل یا اپ تازه بسازید. هنگام ساختن، تا ۱۴ ویژگی پیشنهادی را می‌شود انتخاب کرد که فیلدها و نماهای معمول را یک‌جا اضافه می‌کنند:

ویژگیچه اضافه می‌کند
اطلاعات تماسفیلد مخاطب با تلفن و ایمیلش، و نمای نقشه
تعیین مسئولفیلد کاربر مسئول، فقط از کاربران داخلی، با آواتار
تاریخ و تقویم / بازه‌ی تاریخ و گانتفیلد تاریخ با نمای تقویم، یا دو تاریخ شروع و پایان با نمای گانت
مرحله‌های قیف (Pipeline stages)نمای کانبان با سه مرحله‌ی «جدید»، «در جریان» و «انجام‌شده»، اولویت و نوار وضعیت
برچسب‌ها، تصویر، سطرها، یادداشتفیلد برچسب با مدل برچسب، تصویر بالای فرم، جدول سطرها و یک فیلد متنی تمام‌عرض
مقدار پولیفیلد پولی و نمای پیوت و نمودار
گفت‌وگوی رکورد (چتر) و بایگانیپیام، یادداشت و فعالیت روی فرم؛ و امکان بایگانی رکوردها

بیشتر این ویژگی‌ها را بعداً هم می‌شود اضافه کرد، ولی انتخابشان از اول کار را ساده‌تر می‌کند و بعضی با هم بهتر کار می‌کنند؛ مثلاً تصویر در کارت کانبان.

بردن شخصی‌سازی‌ها به پایگاه داده‌ی دیگر

  1. در صفحه‌ی اصلی اودو استودیو را باز کنید و «خروجی» (Export) را بزنید.
  2. برای خروجی فقط شخصی‌سازی‌ها، تیک‌ها را خالی بگذارید و «خروجی» را بزنید. با «شامل داده» داده‌های مدل‌های فهرست‌شده هم در فایل ZIP می‌آیند.
  3. در پایگاه داده‌ی مقصد، استودیو را باز کنید، «ورود» (Import) را بزنید، فایل ZIP را بارگذاری و «نصب» (Install) را بزنید.
نکته

پایگاه داده‌ی مقصد باید همان نسخه‌ی اودو و همان اپ‌ها و ماژول‌ها را داشته باشد؛ استودیو ماژول‌های زیرین را وابستگی ماژول خروجی نمی‌کند. این راه برای ساختن نسخه‌ی آزمایشی و آموزش کاربران عالی است.

قاعده‌ی اتوماسیون: کار تکراری را به اودو بسپارید

قاعده‌ی اتوماسیون (Automation Rule) در جواب یک رویداد، یک یا چند اقدام را اجرا می‌کند؛ مثلاً وقتی فرصت فروش برنده شد، پروژه بسازد، یا هفت روز بعد از آخرین ویرایش رکورد، آن را بایگانی کند.

  1. در مدل موردنظر استودیو را باز کنید و استودیو ‣ اتوماسیون‌ها ‣ جدید Studio ‣ Automations ‣ New را بزنید.
  2. یک نام روشن بگذارید که کار قاعده را بگوید.
  3. محرک (Trigger) را انتخاب کنید و فیلدهایی را که بر اساس آن پیدا می‌شوند پر کنید.
  4. اگر قاعده فقط برای بعضی رکوردهاست، شرط بگذارید (پایین‌تر).
  5. در زبانه‌ی «اقدام‌ها» (Actions To Do) با «افزودن اقدام» یک یا چند اقدام تعریف کنید، یا یک ایجنت هوش مصنوعی انتخاب کنید و دستورش را بنویسید.

محرک‌ها

  • به‌روزرسانی مقدار: وقتی برچسب خاصی اضافه شد یا فیلدی مقدار گرفت؛ مثلاً «مرحله برابر شد با».
  • رویدادهای ایمیل: با رسیدن یا فرستادن ایمیل.
  • شرط زمانی: مدتی پیش یا پس از یک فیلد تاریخ (مثلاً ۳۰ روز پیش از پایان قرارداد)، پس از ساختن رکورد، یا پس از آخرین ویرایش.
  • سفارشی: هنگام ساختن، ساختن و ویرایش، حذف، یا تغییر در فرم پیش از ذخیره. برای «ساختن و ویرایش» حتماً در «هنگام به‌روزرسانی» (When updating) فیلدهای محرک را انتخاب کنید، وگرنه ممکن است اقدام چند بار برای یک رکورد اجرا شود.
  • بیرونی: با وب‌هوک، از رویدادی در یک سیستم دیگر. مستندات اودو توصیه می‌کند برای وب‌هوک حتماً با یک برنامه‌نویس یا مشاور فنی کار کنید؛ تنظیم نادرستش پایگاه داده را به هم می‌ریزد.

شرط‌ها دو جا دارند: «دامنه‌ی پیش از به‌روزرسانی» (Before Update Domain) وضعیت رکورد را پیش از رویداد می‌سنجد و «اعمال روی» (Apply on) وضعیتش را پس از آن. مثلاً برای وقتی که ایمیل مخاطب برای اولین بار پر می‌شود: پیش از رویداد «ایمیل خالی است» و پس از آن «ایمیل پر است». دامنه‌ی پیش از به‌روزرسانی هنگام ساختن رکورد بررسی نمی‌شود.

اقدام‌ها

به‌روزرسانی رکورد (با مقدار ثابت، دنباله‌ی شماره، کد پایتون یا هوش مصنوعی)، ساختن یا تکثیر رکورد، ساختن فعالیت یا برنامه‌ی فعالیت، فرستادن پیام یا ایمیل، یادداشت در چتر، پیامک، واتس‌اپ، افزودن و برداشتن دنبال‌کننده، اجرای کد، اعلان وب‌هوک، چند اقدام با هم و درخواست امضا. اقدام‌ها به ترتیب تعریف اجرا می‌شوند؛ اگر پیامی به فیلدی اشاره می‌کند که اقدام دیگری عوضش می‌کند، اقدام به‌روزرسانی را جلوتر بگذارید.

اشتباه رایج

قاعده‌ی شرط زمانی را بدون اجرای دستی اقدام زمان‌بندی‌شده ذخیره نکنید. پس از «ذخیره»، پیوند «اقدام زمان‌بندی‌شده» (Scheduled action) را باز کنید و «اجرای دستی» (Run manually) را بزنید. این کار زمان آخرین اجرا را ثبت می‌کند و جلوی اجرای قاعده روی رکوردهای قدیمی را می‌گیرد. این اقدام به‌طور پیش‌فرض هر چهار ساعت اجرا می‌شود؛ اگر تأخیر قاعده‌ای کمتر از حدود ۴۰ ساعت باشد، اودو خودش آن را تندتر می‌کند.

قاعده را از چرخ‌دنده‌ی بالای هر ستون کانبان هم می‌شود ساخت؛ آن‌وقت محرک به‌طور پیش‌فرض «مرحله برابر شد با» است. هدف هر قاعده را در زبانه‌ی «یادداشت‌ها» بنویسید تا شش ماه بعد کسی نپرسد این ایمیل از کجا می‌آید.

گزارش PDF: چیدمان سند، ساختن و ویرایش گزارش

چیدمان پیش‌فرض همه‌ی گزارش‌ها

چیدمان (لوگو، رنگ، فونت، سربرگ و پانویس) بیرون از استودیو تنظیم می‌شود: تنظیمات ‣ شرکت‌ها ‣ پیکربندی چیدمان سند Settings ‣ Companies ‣ Configure Document Layout. این تنظیم برای هر شرکت جداست ولی روی همه‌ی گزارش‌هایش اثر می‌گذارد. هفت چیدمان، پس‌زمینه، هشت فونت آماده، لوگو، دو رنگ اصلی، نشانی، شعار، پانویس و اندازه‌ی کاغذ (A4 یا US Letter) دارد.

ساختن گزارش تازه

  1. به مدل موردنظر بروید، مثلاً سفارش فروش، استودیو را باز کنید و «گزارش‌ها» (Reports) را بزنید.
  2. «جدید» را بزنید و نوع گزارش را انتخاب کنید: «بیرونی» (سربرگ با لوگو و نشانی، پانویس با شماره‌ی صفحه)، «داخلی» (تاریخ و ساعت، نام شرکت و شماره‌ی صفحه، بی‌پانویس) یا «خالی».
  3. در ویرایشگر، متن ثابت را مستقیم بنویسید. برای افزودن فیلد، جدول، ستون یا تصویر / را بزنید و فرمان را انتخاب کنید.
  4. برای سطرهای سفارش از «جدول پویا» (Dynamic Table) استفاده کنید؛ فقط رابطه‌های One2Many و Many2Many این‌طور نمایش داده می‌شوند و هر سطر سفارش یک ردیف می‌شود.
  5. با «پیش‌نمایش چاپ» (Print preview) نتیجه را ببینید.

ویرایش گزارش موجود

در همان «گزارش‌ها»، گزارش موجود را باز کنید. در ستون کناری می‌شود نام گزارش، اندازه‌ی کاغذ، نمایش در منوی چاپ، محدود کردن به گروه‌های کاربری و «بارگذاری دوباره از پیوست» (Reload from attachment) را تنظیم کرد؛ این گزینه آخری اولین نسخه‌ی چاپ‌شده را پیوست رکورد می‌کند و همان را دوباره نشان می‌دهد، و مستندات اودو آن را برای فاکتور لازم می‌داند. متن آبی، فیلد پویاست؛ مستطیل‌های خط‌چین، بلوک‌های شرطی‌اند که شرطشان فقط در XML عوض می‌شود.

اشتباه رایج

گزارش استاندارد را مستقیم ویرایش نکنید؛ از سه‌نقطه‌ی گوشه‌ی گزارش «تکثیر» (Duplicate) را بزنید و روی نسخه‌ی تکثیرشده کار کنید. یادتان باشد ویرایش سربرگ و پانویس روی همه‌ی گزارش‌ها، استاندارد و سفارشی، اثر می‌گذارد. ویرایش مستقیم XML هم ممکن است در ارتقای نسخه مشکل بسازد.

قاعده‌ی تأیید روی دکمه‌ها

قاعده‌ی تأیید (Approval Rule) می‌گوید پیش از اینکه کسی دکمه‌ای را بزند، مثلاً «تأیید» سفارش فروش، چه کسی باید موافقت کند.

  1. استودیو را باز کنید، به نمای فرم بروید و روی دکمه‌ی موردنظر کلیک کنید.
  2. در زبانه‌ی ویژگی‌ها «افزودن مرحله‌ی تأیید» (Add an approval step) را بزنید.
  3. تأییدکننده‌ها را در «تأییدکنندگان» (Approvers، یک یا چند کاربر) یا «گروه تأییدکننده» (Approver Group، یک گروه کاربری) یا هر دو بگذارید. برای هر تأییدکننده یک فعالیت ساخته می‌شود.
  4. با آیکن فیلتر کنار تأییدکنندگان شرط بگذارید؛ مثلاً فقط سفارش‌های بالای یک مبلغ.
  5. اگر بخواهید، «کاربران برای اطلاع» و توضیحی که روی دکمه دیده شود را هم بگذارید.

برای چند مرحله، «ترتیب تأیید» (Approval Order) را با شماره بچینید. کسی که مسئول مرحله‌ی بالاتر است می‌تواند مرحله‌های پایین‌تر را هم تأیید یا رد کند، مگر اینکه «تأیید انحصاری» (Exclusive Approval) را روشن کرده باشید.

کنار برچسب دکمه برای هر مرحله یک آواتار دیده می‌شود. کاربر مجاز با کلیک روی آن تأیید یا رد می‌کند و تصمیمش را تا وقتی لازم است پس می‌گیرد. اگر کاربر غیرمجاز دکمه را بزند، خطا می‌بیند و برای تأییدکننده‌ها فعالیت ساخته می‌شود. تأییدکننده‌ای که مرخصی می‌رود، از نمای کانبان با «واگذاری» (Delegate) حق تأییدش را تا تاریخی مشخص به کس دیگری می‌دهد. سابقه‌ی تأییدها در چتر رکورد و در تنظیمات ‣ فنی ‣ ورودی‌های تأیید استودیو Settings ‣ Technical ‣ Studio Approval Entries (حالت توسعه‌دهنده) می‌ماند.

نکته

برای تأییدها یک گروه کاربری جدا بسازید، مثلاً «تأیید سفارش‌های بزرگ»؛ وقتی مدیر عوض شد، فقط عضو گروه را عوض می‌کنید، نه قاعده را. روش ساختن گروه در سطح دسترسی در اودو آمده است.

بومی‌سازی استودیو اودو برای ایران

استودیو خودش فارسی و راست‌به‌چپ کار می‌کند، اما هر چیزی که با آن می‌سازید باید با بومی‌سازی‌ای که دارید جور باشد. فهرست کامل بومی‌سازی همه‌ی ماژول‌ها در راهنمای بومی‌سازی اودو آمده است؛ این‌ها مخصوص استودیوست:

  • فیلد تاریخ شمسی: فیلد تاریخ یا تاریخ‌وزمانی که با استودیو می‌سازید با ویجت تاریخ استاندارد اودو اضافه می‌شود. برای اینکه شمسی دیده و وارد شود، ویجت تاریخ بومی‌شده باید روی همین فیلد تازه هم کار کند؛ بسته به ماژول بومی‌سازی، این خودکار است یا باید ویجت را دستی انتخاب کنید. هر فیلد تازه را در فرم، لیست، فیلتر و گروه‌بندی آزمایش کنید (سطح‌های پوشش در تقویم شمسی در اودو). در اودوی بومی‌شده‌ی وستا تقویم شمسی در همه‌ی ماژول‌ها هست.
  • جاهای پنهان تاریخ میلادی: «زودترین و دیرترین تاریخ قابل قبول» به قالب ISO و میلادی نوشته می‌شود، تأخیر «ماه» در قاعده‌ی شرط زمانی ماه میلادی است، و جای‌نگهدار %(year)s در دنباله‌ی شماره سال میلادی را می‌گذارد. اگر شماره‌ها باید با سال شمسی شروع شوند، دنباله را با ماژول بومی‌سازی هماهنگ کنید.
  • گزارش PDF فارسی: از هشت فونت آماده‌ی چیدمان سند، فقط Tajawal خط عربی را پشتیبانی می‌کند. برای PDF فارسی درست، یک فونت فارسی باید روی سرور نصب و در قالب معرفی شود، و ترتیب ستون‌ها و جای جمع‌ها در قالب راست‌به‌چپ بازبینی شود. تاریخ‌های داخل PDF هم بدون بومی‌سازی میلادی چاپ می‌شوند (توضیح در چاپ فارسی در اودو).
  • برچسب فارسی، نام فنی انگلیسی: برچسب فیلدها را فارسی بنویسید، اما پیش از ساختن فیلد حالت توسعه‌دهنده را روشن کنید و نام فنی را انگلیسی و خوانا بگذارید؛ نام فنی بعداً به سختی عوض می‌شود و در خروجی‌ها، اتصال‌ها و گزارش‌ها همان دیده می‌شود.
  • ارتقای نسخه: شخصی‌سازی‌های استودیو در ماژول studio_customization جمع می‌شوند و باید همراه بقیه‌ی پایگاه داده ارتقا پیدا کنند. ویرایش مستقیم XML نما و گزارش بیشترین خطر را دارد. اگر با استودیو نما یا گزارشی را تغییر داده‌اید که ماژول بومی‌سازی هم تغییرش داده، بعد از هر ارتقا هر دو را با هم آزمایش کنید (مراحل در ارتقای نسخه‌ی اودو). برای بردن شخصی‌سازی‌ها به پایگاه داده‌ی دیگر هم، ماژول‌های بومی‌سازی باید در مقصد نصب باشند.
  • پیامک، واتس‌اپ و هوش مصنوعی در اتوماسیون: اقدام پیامک با اعتبار سرویس‌های اودو (IAP) کار می‌کند و خرید این اعتبار از ایران محدودیت دارد؛ پیش از ساختن قاعده بررسی کنید. دسترسی به واتس‌اپ تجاری و سرویس‌های هوش مصنوعی را هم از ایران اول بررسی کنید (توضیح هوش مصنوعی در هوش مصنوعی در اودو). برای پیامک به شماره‌های ایرانی، معمولاً یک پنل پیامک داخلی با ماژول اتصال جایگزین می‌شود.

یک مثال ایرانی

یک شرکت پخش دارو در تبریز را در نظر بگیرید. روی فرم سفارش فروش با استودیو دو فیلد می‌سازد: «شماره‌ی مجوز داروخانه» (متن) و «تاریخ اعتبار مجوز» (تاریخ، با ویجت شمسی). روی دکمه‌ی «تأیید» یک قاعده‌ی تأیید می‌گذارد: سفارش‌های بالای ۵۰۰ میلیون تومان باید از گروه «تأیید سفارش‌های بزرگ» بگذرند. یک قاعده‌ی اتوماسیون با شرط زمانی، ۳۰ روز پیش از «تاریخ اعتبار مجوز» برای فروشنده‌ی همان مشتری فعالیت «پیگیری تمدید مجوز» می‌سازد. پیش‌فاکتور استاندارد را تکثیر می‌کند، شماره‌ی مجوز را با فرمان فیلد به آن اضافه می‌کند و فونت فارسی سرور را در قالب می‌گذارد. همه‌ی این‌ها را اول در یک نسخه‌ی آزمایشی می‌سازد و با خروجی استودیو به پایگاه داده‌ی اصلی می‌برد.

پرسش‌های رایج درباره‌ی استودیو اودو

استودیو اودو چیست و چه کارهایی می‌کند؟

استودیو جعبه‌ابزار شخصی‌سازی اودو بدون کدنویسی است. با آن در هر اپ فیلد، نما، مدل و اپ تازه، قاعده‌ی اتوماسیون، وب‌هوک، گزارش PDF و قاعده‌ی تأیید می‌سازید یا ویرایش می‌کنید.

استودیو اودو هزینه دارد؟

طبق مستندات اودو، نصب استودیو روی پایگاه داده‌ای که پلن Standard دارد، اشتراک را به پلن Custom می‌برد. اینکه استودیو در کدام ویرایش اودو هست را در راهنمای «اودو کامیونیتی یا اینترپرایز» ببینید.

شخصی سازی های استودیو در ارتقای نسخه اودو از بین می روند؟

شخصی‌سازی‌های استودیو در ماژول studio_customization ذخیره می‌شوند و همراه پایگاه داده ارتقا پیدا می‌کنند. بیشترین خطر از ویرایش مستقیم XML نماهای استاندارد و گزارش‌هاست؛ مستندات اودو توصیه می‌کند همیشه روی نمای ارث‌بری‌شده‌ی استودیو و نسخه‌ی تکثیرشده‌ی گزارش کار کنید و بعد از ارتقا همه را آزمایش کنید.

چطور با استودیو فیلد تاریخ شمسی بسازم؟

فیلد تاریخ را مثل هر فیلد دیگر با استودیو بسازید. شمسی بودنش به ماژول بومی‌سازی بستگی دارد: ویجت تاریخ بومی‌شده باید روی فیلد تازه هم کار کند. فیلد را در فرم، لیست، فیلتر و گروه‌بندی آزمایش کنید، چون گروه‌بندی ماهانه جدا از تاریخ‌نما بومی می‌شود.

با استودیو اودو می شود پیش فاکتور فارسی طراحی کرد؟

بله؛ گزارش استاندارد را تکثیر کنید و در ویرایشگر گزارش متن، فیلد، جدول و تصویر اضافه کنید. برای PDF فارسی درست، فونت فارسی باید روی سرور نصب و در قالب معرفی شود و قالب راست‌به‌چپ بازبینی شود؛ از فونت‌های آماده فقط Tajawal خط عربی دارد.

قاعده تأیید در اودو چطور کار می کند؟

در استودیو روی یک دکمه مرحله‌ی تأیید می‌گذارید و تأییدکننده‌ها (کاربر یا گروه) و شرطش را تعیین می‌کنید. تا تأیید نشده، کاربر غیرمجاز نمی‌تواند دکمه را بزند و برای تأییدکننده‌ها فعالیت ساخته می‌شود. چند مرحله، ترتیب، تأیید انحصاری و واگذاری هم ممکن است.

منبع و مجوز

ترجمه، ویرایش و بومی‌سازی غیررسمی وستا از مستندات Odoo 20؛ تغییرات: ترجمه‌ی فارسی، مثال‌ها و بخش بومی‌سازی برای ایران. این صفحه مانند منبع با مجوز CC BY-SA 4.0 منتشر می‌شود. Odoo نشان تجاری Odoo S.A. است و این صفحه وابسته به آن نیست. صفحه‌ی اصلی: استودیو در مستندات Odoo 20 · متن مجوز

  1. Odoo 20 documentation: Studio
  2. Odoo 20: Fields and widgets
  3. Odoo 20: Views
  4. Odoo 20: Models, modules, and apps
  5. Odoo 20: Automation rules
  6. Odoo 20: PDF reports
  7. Odoo 20: Approval rules
  8. Odoo 20 release notes