قوانین Automation

قوانین Automation اجازهٔ اجرای یک یا چند اقدام از پیش تعریف‌شده را در پاسخ به یک trigger خاص می‌دهد، مثلاً، ایجاد یک فعالیت هنگامی که یک فیلد به یک مقدار خاص تنظیم می‌شود، یا آرشیو یک رکورد 7 روز پس از آخرین به‌روزرسانی آن.

هنگام ایجاد یک قانون automation، می‌توان شرایطی را اضافه کرد که باید برآورده شوند تا قانون automation اجرا شود، مثلاً، فرصت باید به یک salesperson خاص اختصاص داده شود، یا حالت رکورد نباید پیش‌نویس باشد.

برای ایجاد یک قانون automation با Odoo Studio:

  1. Studio را باز کنید و روی Automations کلیک کنید، سپس جدید.

  2. به قانون automation یک نام واضح و معنادار بدهید که هدف آن را شناسایی کند.

  3. Trigger را انتخاب کنید و در صورت لزوم، فیلدهایی که روی صفحه بر اساس trigger انتخاب‌شده ظاهر می‌شوند را پر کنید.

  4. روی Add an action در زبانهٔ عملیات که باید انجام شود کلیک کنید.

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

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

Example

برای اطمینان از پیگیری روی مشتریان کمتر راضی، این قانون automation 3 ماه پس از ایجاد یک سفارش فروش برای مشتریان با درصد رضایت کمتر از 30٪، یک فعالیت ایجاد می‌کند.

نمونه‌ای از یک قانون automation روی مدل Subscription

نکته

  • از زبانهٔ یادداشت‌ها برای مستندسازی هدف و عملکرد قوانین automation استفاده کنید. این قوانین را آسان‌تر برای نگهداری می‌کند و همکاری بین کاربران را تسهیل می‌کند.

  • برای تغییر model هدف‌گذاری‌شده توسط قانون automation، قبل از کلیک روی Automations در Studio مدل‌ها را سوئیچ کنید، یا developer mode را فعال کنید، یک قانون automation ایجاد یا ویرایش کنید و مدل را در فرم عملیات خودکار انتخاب کنید.

  • قوانین Automation را می‌توان از هر مرحلهٔ kanban با کلیک روی آیکون (Settings) که هنگام نگه داشتن ماوس روی نام مرحلهٔ kanban ظاهر می‌شود و سپس انتخاب Automations ایجاد کرد. در این صورت، راه اندازی به‌صورت پیش‌فرض روی مرحله تنظیم شده است به تنظیم می‌شود، اما در صورت لزوم می‌تواند تغییر کند.

    ایجاد automations از یک مرحلهٔ kanban

محرک

راه اندازی برای تعریف اینکه چه نوع رویدادی باید رخ دهد تا قانون automation اجرا شود استفاده می‌شود. trigger‌های در دسترس به model بستگی دارند. پنج دستهٔ trigger به‌طور کلی در دسترس هستند:

افزودن شرایط

فیلترهای Domain به شما اجازه می‌دهند رکوردهایی که یک قانون automation باید هدف‌گذاری کند یا مستثنی کند را تعیین کنید. فیلتر کردن کارآمد عملکرد کلی را افزایش می‌دهد زیرا از پردازش غیرضروری روی رکوردهایی که توسط قانون تحت تأثیر قرار نمی‌گیرند جلوگیری می‌کند.

نکته

Developer mode را قبل از ایجاد یک قانون automation فعال کنید تا بیشترین انعطاف‌پذیری در افزودن فیلترهای domain را داشته باشید.

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

  • قبل از بروزرسانی دامنه شرایطی را تعریف می‌کند که یک رکورد باید قبل از وقوع رویداد trigger برآورده کند، مثلاً، رکورد باید Type = Customer Invoice و Status = Posted داشته باشد.

    با فعال بودن developer mode، روی Edit Domain کلیک کنید، در صورت در دسترس بودن، سپس New Rule.

  • domain اعمال بر شرایطی را تعریف می‌کند که یک رکورد باید پس از وقوع رویداد trigger برآورده کند، مثلاً، فاکتور مشتری باید Payment Status = Partially Paid داشته باشد.

    با فعال بودن developer mode، روی Edit Domain کلیک کنید سپس New Rule.

    نکته

    اگر developer mode فعال نباشد، برای تعریف یک domain اعمال بر، روی Add condition کلیک کنید. شرط پیشنهادی را کامل یا حذف کنید. برای افزودن یک شرط، روی New Rule کلیک کنید.

هنگامی که یک trigger رخ می‌دهد، مثلاً، وضعیت پرداخت یک فاکتور مشتری ثبت‌شده به‌روزرسانی می‌شود، قانون automation شرایط تعریف‌شده را بررسی می‌کند و فقط action را اجرا می‌کند اگر رکورد با آن شرایط مطابقت داشته باشد.

Example

اگر اقدام خودکار باید زمانی اجرا شود که یک آدرس ایمیل برای اولین بار تنظیم می‌شود (در مقابل تغییر یک آدرس ایمیل) روی یک مخاطب موجود که یک شخص حقیقی است نه یک شرکت، از Email is not set و Is a Company is not set به‌عنوان قبل از بروزرسانی دامنه و Email is set به‌عنوان دامنهٔ اعمال بر استفاده کنید.

نمونه‌ای از یک محرک با یک دامنهٔ به‌روزرسانی پیشین

توجه

قبل از بروزرسانی دامنه هنگام ایجاد یک رکورد بررسی نمی‌شود.

به‌روزرسانی مقادیر

اقدامات خودکار را زمانی که تغییرات خاصی در پایگاه داده رخ می‌دهند راه‌اندازی کنید. محرک‌های در دسترس در این دسته به مدل بستگی دارند و بر اساس تغییرات رایج، مانند افزودن یک برچسب خاص (مثلاً، به یک کار) یا تنظیم مقدار یک فیلد (مثلاً، تنظیم فیلد کاربر) هستند.

trigger را انتخاب کنید، سپس در صورت لزوم یک مقدار انتخاب کنید.

رویدادهای ایمیل

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

شرایط زمان‌بندی

اقدامات خودکار را در یک نقطه از زمان نسبت به یک فیلد تاریخ یا به ایجاد یا به‌روزرسانی یک رکورد راه‌اندازی کنید. trigger‌های زیر در دسترس هستند:

  • بر اساس شرط زمانی: اقدام در یک دورهٔ زمانی تعریف‌شده قبل یا پس از تاریخ فیلد تاریخ انتخاب‌شده راه‌اندازی می‌شود، مثلاً، 30 روز قبل از تاریخ پایان قرارداد.

  • بعد از ایجاد: اقدام در یک دورهٔ زمانی تعریف‌شده پس از ایجاد و ذخیرهٔ یک رکورد راه‌اندازی می‌شود.

  • پس از آخرین بروزرسانی: اقدام در یک دورهٔ زمانی تعریف‌شده پس از ویرایش و ذخیرهٔ یک رکورد موجود راه‌اندازی می‌شود.

برای پیکربندی یک trigger Timing Conditions، با فعال بودن developer mode:

  1. راه اندازی مناسب را از دستهٔ Timing Conditions انتخاب کنید. اگر بر اساس شرط زمانی trigger را انتخاب می‌کنید، فیلد تاریخ مربوطه را انتخاب کنید.

  2. وقفه را پیکربندی کنید تا execution date time اقدام(ها) را تعیین کنید. برای انجام این کار، تعداد دقیقه‌، ساعت‌، روز یا ماه پس از آن اقدام باید راه‌اندازی شود را وارد کنید. اگر بر اساس شرط زمانی trigger را انتخاب کرده باشید، اقدام می‌تواند بعد یا قبل فیلد تاریخ انتخاب‌شده راه‌اندازی شود.

  3. به‌صورت اختیاری، شرایطی اضافه کنید که رکورد باید قبل و/یا پس از راه‌اندازی قانون برآورده کند.

  4. روی Save manually کلیک کنید.

  5. روی عمل زمان‌بندی شده کلیک کنید تا اقدام برنامه‌ریزی‌شدهٔ قانون عمل پایه: بررسی و اجرا باز شود.

    توجه

    این اقدام برنامه‌ریزی‌شده برای زمان‌های اجرای رسیده از زمان اجرای قبلی آن بررسی می‌کند و اقدام(های) مربوطه را در صورت لزوم اجرا می‌کند. به‌صورت پیش‌فرض، اقدام برنامه‌ریزی‌شده روی هر کدام را اجرا کن 4 ساعت تنظیم می‌شود، که عموماً برای تأخیرهایی مانند 3 ماه پس از تاریخ سفارش یا 7 روز پس از آخرین به‌روزرسانی کافی است.

    اگر هر قانون automation یک trigger مبتنی بر زمان با یک تأخیر کمتر از معادل 40 ساعت داشته باشد، مثلاً، 3 ساعت قبل از زمان شروع رویداد، فرکانس اقدام برنامه‌ریزی‌شده به‌طور خودکار افزایش می‌یابد، مثلاً، به هر کدام را اجرا کن 18 دقیقه. این اجازه می‌دهد اقدام نزدیک‌تر به زمان اجرای برنامه‌ریزی‌شده‌اش اجرا شود.

  6. روی اجرای دستی در بالا سمت چپ کلیک کنید.

    هشدار

    این مرحله برای جلوگیری از اجرای قانون به‌صورت بازگشتی روی رکوردهای تاریخی حیاتی است. اجرای دستی اقدام برنامه‌ریزی‌شده timestamp last run آن را در قانون automation اولیه می‌کند، که عنصر کلیدی از منطق اجرای قانون است.

  7. روی نام قانون automation در مسیر راهبری کلیک کنید تا به راه‌اندازی قانون automation بازگردید.

  8. اقدام(های) برای اجرا را اضافه کنید سپس، هنگامی که همهٔ اقدامات تعریف شده‌اند، روی Save manually کلیک کنید.

اقدام اولین بار که اقدام برنامه‌ریزی‌شدهٔ قانون عمل پایه: بررسی و اجرا پس از رسیدن زمان اجرا اجرا می‌شود، و هنگامی که شرایط برآورده شده‌اند، اجرا می‌شود.

منطق اجرا

هنگام استفاده از یک trigger مبتنی بر زمان، یک اقدام فقط زمانی اجرا می‌شود که زمان اجرا بین آخرین اجرای اقدام برنامه‌ریزی‌شده و اجرای فعلی (چه برنامه‌ریزی‌شده یا اجرا شده به‌صورت دستی) قرار گیرد، یعنی:

last run --> execution date and time --> current run

توجه

اجرای دستی اقدام برنامه‌ریزی‌شدهٔ قانون عمل پایه: بررسی و اجرا لزوماً منجر به اجرای یک اقدام قانون نمی‌شود. هنگام تست یک قانون automation با یک trigger مبتنی بر زمان، اطمینان حاصل کنید که این توالی درست است، سپس بررسی کنید آیا اقدام اجرا شده است.

Example

صبح 15 اکتبر، شما یک قانون automation ایجاد می‌کنید که ارسال یک ایمیل 30 روز قبل از تاریخ پایان قرارداد را راه‌اندازی می‌کند؛ قراردادها در ساعت 11:59 بعدازظهر در تاریخ پایان قرارداد آنها به پایان می‌رسند. در طول ایجاد قانون، اقدام برنامه‌ریزی‌شدهٔ قانون عمل پایه: بررسی و اجرا به‌صورت دستی در ساعت 11:00 صبح اجرا شد و قرار است هر چهار ساعت پس از آن اجرا شود.

این قانون automation جدید برای قراردادهایی اعمال خواهد شد که تاریخ پایان آنها حداقل 30 روز پس از ایجاد قانون باشد، یعنی، یک تاریخ پایان 14 نوامبر یا بعد.

برای یک قرارداد با تاریخ پایان 14 نوامبر، زمان اجرای اقدام 11:59 بعدازظهر در 15 اکتبر است. بنابراین اقدام اولین بار که اقدام برنامه‌ریزی‌شدهٔ قانون عمل پایه: بررسی و اجرا پس از گذشت آن تاریخ و زمان اجرا می‌شود، یعنی:

  • آخرین اجرای اقدام برنامه‌ریزی‌شده: 11:00 بعدازظهر در 15 اکتبر

  • زمان اجرا: 11:59 بعدازظهر در 15 اکتبر

  • اجرای فعلی اقدام برنامه‌ریزی‌شده: 3:00 صبح در 16 اکتبر

سفارشی

اقدامات خودکار را راه‌اندازی کنید:

  • On create: هنگامی که یک رکورد برای اولین بار ذخیره می‌شود.

  • On create and edit: هنگامی که یک رکورد برای اولین بار و هر بار بعدی ذخیره می‌شود.

  • هنگام پاک کردن: هنگامی که یک رکورد حذف می‌شود.

  • بر اساس تغییرات فرم: هنگامی که مقدار یک فیلد روی Form view تغییر می‌کند، حتی قبل از ذخیرهٔ رکورد.

برای trigger‌های On create and edit و بر اساس تغییرات فرم، شما باید فیلد(هایی) که برای راه‌اندازی قانون automation استفاده می‌شوند را در فیلد هنگام بروزرسانی انتخاب کنید.

هشدار

اگر هیچ فیلدی در فیلد هنگام بروزرسانی انتخاب نشود، اقدام خودکار ممکن است چندین بار در هر رکورد اجرا شود.

به‌صورت اختیاری، می‌توانید همچنین شرایط اضافی برای راه‌اندازی قانون automation را در فیلد اعمال بر تعریف کنید.

توجه

trigger بر اساس تغییرات فرم فقط می‌تواند با اقدام Execute Code استفاده شود و فقط زمانی کار می‌کند که یک تغییر به‌صورت دستی انجام شود. اقدام اجرا نمی‌شود اگر فیلد از طریق یک قانون automation دیگر تغییر کند.

خارجی

اقدامات خودکار را بر اساس یک رویداد خاص در یک سامانه یا اپلیکیشن خارجی با استفاده از یک webhook راه‌اندازی کنید.

پس از پیکربندی webhook در Odoo، که در آن URL webhook تولید می‌شود و رکورد هدف تعریف می‌شود، باید در سامانهٔ خارجی پیاده‌سازی شود.

هشدار

به‌شدت توصیه می‌شود با یک توسعه‌دهنده، solution architect یا یک نقش فنی دیگر هنگام تصمیم به استفاده از webhook‌ها و در سراسر فرآیند پیاده‌سازی مشورت کنید. اگر به‌درستی پیکربندی نشود، webhook‌ها ممکن است پایگاه دادهٔ Odoo را مختل کنند و می‌توانند زمان زیادی برای برگرداندن نیاز داشته باشند.

نمونه‌ای از یک محرک «بر اساس فیلد تاریخ»

توجه

همچنین امکان راه‌اندازی یک اقدام خودکار وجود دارد که داده را به یک webhook سامانهٔ خارجی ارسال می‌کند هنگامی که یک رویداد در پایگاه دادهٔ Odoo شما رخ می‌دهد.

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

Webhook documentation

اعمال

هنگامی که trigger قانون automation را تعریف کردید، روی اقدامی را اضافه کنید در زبانهٔ عملیات که باید انجام شود کلیک کنید تا اقدام(های) برای اجرا را تعریف کنید.

نکته

  • اگر هیچ نام صریحی وارد نشود، نام اقدام به‌طور خودکار بر اساس اقدامی که تعریف می‌کنید تولید می‌شود؛ نام را می‌توان در هر زمان به‌روزرسانی کرد.

  • می‌توانید چندین اقدام را برای همان قانون automation تعریف کنید. به‌صورت پیش‌فرض، اقدامات به ترتیبی که تعریف شده‌اند اجرا می‌شوند.

    این بدان معنی است، برای مثال، اگر یک اقدام بروزرسانی رکورد تعریف کنید و سپس یک اقدام ارسال ایمیل که در آن ایمیل به فیلدی که به‌روزرسانی شده ارجاع می‌دهد، ایمیل از مقادیر به‌روزرسانی‌شده استفاده می‌کند. با این حال، اگر اقدام ارسال ایمیل قبل از اقدام بروزرسانی رکورد تعریف شود، ایمیل از مقادیر تنظیم‌شده قبل از به‌روزرسانی رکورد استفاده می‌کند.

    برای تغییر ترتیب اقدامات تعریف‌شده، روی آیکون (drag handle) کنار یک اقدام کلیک کنید و آن را به موقعیت مورد نظر بکشید.

به‌روزرسانی رکورد

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

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

  • Update with AI: فیلد انتخاب‌شده را به‌صورت پویا بر اساس prompt AI ارائه‌شده به‌روزرسانی می‌کند. این گزینه نیاز دارد اپ Odoo AI نصب شده باشد.

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

  • محاسبه: فیلد انتخاب‌شده را به‌صورت پویا با استفاده از کد Python به‌روزرسانی می‌کند.

برای تعریف اقدام:

  1. با انتخاب گزینهٔ بروزرسانی، Update with AI، ترتیب یا محاسبه، در صورت لزوم، فیلدی که باید به‌روزرسانی یا محاسبه شود را انتخاب یا جستجو کنید. در صورت لزوم، روی (right arrow) کنار نام فیلد کلیک کنید تا به فهرست فیلدهای مرتبط دسترسی پیدا کنید.

  2. اطلاعات مربوطه را بر اساس گزینهٔ انتخاب‌شده ارائه دهید.

به‌روزرسانی

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

اگر یک many2many field در حال به‌روزرسانی است، انتخاب کنید آیا فیلد باید با اضافه کردن، حذف کردن یا تنظیم آن به مقدار انتخاب‌شده یا با Clearing it به‌روزرسانی شود.

Example

اگر می‌خواهید اقدام خودکار یک برچسب را از رکورد مشتری حذف کند، فیلد بروزرسانی را به Customer > Tags تنظیم کنید، by Removing را انتخاب کنید، سپس برچسب مورد نظر برای حذف را انتخاب کنید.

نمونه‌ای از یک اقدام به‌روزرسانی رکورد

به‌روزرسانی با هوش مصنوعی

یک prompt برای دستور دادن به Odoo AI نحوهٔ به‌روزرسانی فیلد وارد کنید. / را تایپ کنید تا AI prompt tools باز شود؛ از Field Selector استفاده کنید تا به Odoo AI بگویید کدام فیلدهای مرتبط را برای context بررسی کند، و Records Selector برای ارائهٔ مقادیر ممکن برای فیلد به‌روزرسانی‌شده.

Example

اگر می‌خواهید قانون automation فیلد محول شده به یک وظیفهٔ تازه ایجاد‌شده را بر اساس تخصص کارمندان به‌روزرسانی کند، می‌توانید یک prompt بنویسید تا به Odoo AI دستور دهید فیلد نام نمایشی وظیفه را برای context بررسی کند، سپس مناسب‌ترین کارمند را اختصاص دهد.

نمونه‌ای از به‌روزرسانی یک رکورد با استفاده از AI

توالی

یک sequence موجود را انتخاب کنید یا، برای ایجاد یک sequence جدید:

  1. روی Search more کلیک کنید، سپس روی جدید کلیک کنید.

  2. در پنجره‌ای که باز می‌شود، نام sequence را وارد کنید.

  3. در زبانهٔ ترتیب، sequence را پیکربندی کنید:

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

    • پسوند: کاراکترهایی که پس از عدد بعدی در sequence اضافه می‌شوند.

    • اندازه فهرست: تعداد ارقام در هر عدد در sequence را تعیین می‌کند. در صورت لزوم، صفرهای پیشرو قبل از عدد اضافه می‌شوند تا اندازهٔ sequence نشان‌داده‌شده حاصل شود، مثلاً، برای یک اندازهٔ sequence 5، اولین عدد در sequence 00001 است.

    • گام: افزایش‌های بین اعداد در sequence را تعیین می‌کند.

    • شماره بعدی: عدد بعدی که در sequence استفاده خواهد شد، بدون صفرهای پیشرو.

    نکته

    • از placeholder‌های پویا مانند %(year)s یا %(month)s به‌عنوان یک پیشوند و/یا پسوند برای ایجاد sequence‌ها با عناصری مانند سال جاری، ماه و غیره استفاده کنید. Placeholder‌های ممکن در پایین پنجره نشان داده می‌شوند.

    • برای استفاده از sub-sequence‌ها، مثلاً، برای داشتن sequence که هر سال یا هر ماه راه‌اندازی مجدد می‌شود، از دنباله‌های بعدی در date_range استفاده کنید را فعال کنید، سپس برای هر date range افزودن یک سطر و شماره بعدی برای range را نشان دهید.

  4. روی ذخیره کلیک کنید.

Example

اگر می‌خواهید اقدام خودکار یک مرجع مشتری ترتیبی هر بار که یک مشتری جدید ایجاد می‌شود ایجاد کند، فیلد ترتیب را به مرجع‌ تنظیم کنید، سپس، در dropdown، روی Search more کلیک کنید. روی جدید کلیک کنید تا یک sequence جدید ایجاد شود.

در مثال، هر مشتری جدید یک مرجع ترتیبی با پیشوند #-REF-%(year)s- دریافت می‌کند، که در آن %(year)s سال جاری شامل قرن است، و پسوند /CL، مثلاً، #-REF-2025-00001/CL، #-REF-2025-00002/CL و غیره.

نمونه‌ای از یک اقدام به‌روزرسانی رکورد با استفاده از یک sequence

محاسبه

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

Example

اگر می‌خواهید قانون automation یک datetime field سفارشی Escalated on را زمانی که اولویت یک وظیفه به Very high (سه ستاره) تنظیم می‌شود محاسبه کند، می‌توانید trigger اولویت تنظیم شده است به را به Very High تعریف کنید و اقدام بروزرسانی رکورد را به‌صورت زیر تعریف کنید:

محاسبهٔ یک فیلد datetime سفارشی با استفاده از یک عبارت Python

ایجاد رکورد و تکثیر رکورد

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

برای تعریف اقدام:

  1. با انتخاب ایجاد رکورد جدید یا Duplicate Record به‌عنوان نوع اقدام، در صورت لزوم، مدل مورد نیاز را در فیلد مدل هدف انتخاب کنید؛ فیلد به‌صورت پیش‌فرض شامل مدل فعلی است.

  2. یک نام برای رکورد مشخص کنید، یا، اگر اقدام یک رکورد را تکثیر می‌کند، رکورد در حال تکثیر را در فیلد Duplicate from نشان دهید.

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

نکته

منوی کشویی فیلد لینک فقط شامل one2many fields موجود روی مدل فعلی است که به یک many2one field روی مدل هدف پیوند داده شده‌اند.

Example

اگر می‌خواهید قانون automation یک پروژه را تکثیر کند، مثلاً یک قالب پروژه با کارهای از پیش تعریف‌شده، هنگامی که یک فرصت روی Won تنظیم می‌شود، یک فیلد سفارشی Related opportunity many2one field روی مدل پروژه و یک فیلد سفارشی Related project one2many field روی مدل سرنخ اضافه کنید، سپس جزئیات زیر را دربارهٔ رکورد در حال تکثیر ارائه دهید:

تکثیر یک رکورد در یک مدل متفاوت

نکته

می‌توانید یک قانون automation دیگر با اقدامات به‌روزرسانی رکورد ایجاد کنید تا فیلدهای رکورد جدید یا تکثیرشده را در صورت لزوم به‌روزرسانی کنید. برای مثال، می‌توانید از یک اقدام ایجاد رکورد جدید برای ایجاد یک وظیفهٔ پروژهٔ جدید و سپس آن را به یک کاربر خاص با استفاده از یک اقدام بروزرسانی رکورد اختصاص دهید.

ایجاد فعالیت

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

برای تعریف اقدام:

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

  2. یک عنوان وارد کنید.

  3. با مشخص کردن تعداد روز، هفته یا ماه در فیلد تاریخ سررسید در نشان دهید فعالیت باید تا چه زمانی تکمیل شود.

  4. یک نوع کاربر انتخاب کنید:

    • برای همیشه اختصاص فعالیت به همان کاربر، کاربر بخصوص را انتخاب کنید، سپس کاربر را در فیلد پاسخگو اضافه کنید.

    • برای هدف‌گذاری کاربر پیوندخورده به رکورد به‌صورت پویا، کاربر پویا (بر اساس رکورد) را انتخاب کنید. در صورت لزوم، فیلد کاربر را با کلیک روی نام فیلد placeholder و سپس انتخاب یا جستجوی فیلد کاربر در فهرستی که ظاهر می‌شود تغییر دهید. کلیک روی (right arrow) کنار نام فیلد به شما اجازه می‌دهد در صورت لزوم به فیلدهای مرتبط دسترسی پیدا کنید.

  5. به‌صورت اختیاری، یک یادداشت برای ارائهٔ اطلاعات بیشتر دربارهٔ فعالیت اضافه کنید.

Example

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

برای انجام این کار، نوع فعالیت را به تماس و نوع کاربر را به کاربر پویا (بر اساس رکورد) تنظیم کنید. روی فیلد placeholder کلیک کنید و تیم فروش را انتخاب کنید، سپس روی (right arrow) کلیک کنید و رهبر تیم را انتخاب کنید.

نمونه‌ای از یک اقدام ایجاد فعالیت

ارسال ایمیل و ارسال SMS

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

برای تعریف اقدام:

  1. با انتخاب ارسال ایمیل یا ارسال پیامک به‌عنوان نوع اقدام، در صورت لزوم، یک قالب ایمیل یا قالب پیامک انتخاب یا ایجاد کنید.

  2. در فیلد ارسال ایمیل به عنوان یا ارسال به شکل (پیامک)، انتخاب کنید چگونه می‌خواهید ایمیل یا پیام متنی را ارسال کنید.

    برای یک ایمیل، انتخاب کنید:

    • ایمیل: برای ارسال پیام به‌عنوان یک ایمیل به گیرندگان قالب ایمیل.

    • پیام: برای ارسال پیام روی رکورد و اطلاع‌رسانی به دنبال‌کنندگان رکورد.

    • یادداشت: برای ارسال پیام به‌عنوان یک یادداشت داخلی قابل مشاهده برای کاربران داخلی در چتر.

    برای یک پیام متنی، انتخاب کنید:

    • پیامک (بدون یادداشت): برای ارسال پیام به‌عنوان یک پیام متنی به گیرندگان قالب پیامک.

    • ارسال به شکل پیام: برای ارسال پیام به‌عنوان یک پیام متنی به گیرندگان قالب پیامک و ارسال آن به‌عنوان یک یادداشت داخلی در چتر.

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

ارسال واتس‌اپ

مهم

برای خودکارسازی ارسال پیام‌های WhatsApp، یک یا چند WhatsApp templates باید ایجاد شوند.

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

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

اضافه کردن دنبال‌کنندگان و حذف دنبال‌کنندگان

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

با انتخاب افزودن دنبال‌کنندگان یا حذف دنبال‌کنندگان به‌عنوان نوع اقدام، در صورت لزوم، یک Followers Type انتخاب کنید:

  • برای همیشه اضافه/حذف کردن همان مخاطب(ها)، Specific Followers را انتخاب کنید سپس مخاطب(ها) را از منوی کشویی انتخاب کنید. می‌توان چندین مخاطب را اضافه/حذف کرد.

  • برای افزودن/حذف یک مخاطب پیوندخورده به رکورد به‌صورت پویا، Dynamic Followers را انتخاب کنید. در صورت لزوم، Followers Field را با کلیک روی نام فیلد placeholder و سپس انتخاب یا جستجوی فیلد شریک در فهرستی که ظاهر می‌شود تغییر دهید. کلیک روی (right arrow) کنار نام فیلد به شما اجازه می‌دهد در صورت لزوم به فیلدهای مرتبط دسترسی پیدا کنید.

Example

برای اطلاع‌رسانی به مشتریان از پیشرفت روی یک پروژه، این اقدام خودکار مشتری مربوطه را به‌عنوان یک دنبال‌کننده اضافه می‌کند هنگامی که یک وظیفهٔ پروژه روی In progress تنظیم می‌شود.

افزودن مشتری به‌عنوان یک دنبال‌کننده هنگام تنظیم وظیفهٔ پروژه روی in progress

اجرای کد

مهم

برای قوانین automation که نیاز به اجرای custom code دارند، توجه داشته باشید که نگهداری کد سفارشی در طرح‌های قیمت Standard یا Custom گنجانده نشده است و هزینه‌های اضافی را تحمیل می‌کند.

این اقدام برای اجرای کد Python استفاده می‌شود. می‌توانید کد خود را در زبانهٔ کد با استفاده از متغیرهای زیر بنویسید:

  • env: محیطی که اقدام روی آن راه‌اندازی می‌شود

  • model: مدل رکوردی که اقدام روی آن راه‌اندازی می‌شود؛ یک recordset خالی است

  • record: رکوردی که اقدام روی آن راه‌اندازی می‌شود؛ ممکن است خالی باشد

  • records: recordset همهٔ رکوردهایی که اقدام روی آنها در حالت چندگانه راه‌اندازی می‌شود؛ این ممکن است خالی رها شود

  • time، datetime، dateutil، timezone: کتابخانه‌های مفید Python

  • float_compare: تابع utility برای مقایسهٔ float‌ها بر اساس دقت خاص

  • log(message, level='info'): تابع logging برای ثبت اطلاعات debug در جدول ir.logging

  • _logger.info(message): logger برای انتشار پیام‌ها در log‌های سرور

  • UserError: کلاس exception برای ایجاد پیام‌های هشدار رو به کاربر

  • Command: فضای نام دستورات x2many

  • action = {...}: برای بازگرداندن یک اقدام

نکته

متغیرهای در دسترس هم در زبانهٔ کد و هم راهنما توصیف شده‌اند.

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

قابلیت‌های ORM Odoo

ارسال اعلان وب‌هوک

این اقدام برای ارسال یک درخواست API POST با مقادیر فیلدها انتخاب‌شده به URL webhook مشخص‌شده در فیلد آدرس اینترنتی استفاده می‌شود.

بار نمونه یک پیش‌نمایش از داده‌های گنجانده‌شده در درخواست با استفاده از داده‌های یک رکورد تصادفی یا داده‌های ساختگی ارائه می‌دهد اگر هیچ رکوردی در دسترس نباشد.

توجه

همچنین امکان راه‌اندازی یک اقدام خودکار وجود دارد که از یک webhook برای دریافت داده از یک سامانهٔ خارجی استفاده می‌کند هنگامی که یک رویداد از پیش تعریف‌شده در آن سامانه رخ می‌دهد.

اقدامات چندگانه

این اقدام برای راه‌اندازی چندین اقدام (پیوندخورده به مدل فعلی) به‌طور همزمان استفاده می‌شود.

برای تعریف اقدامات:

  1. با انتخاب Multi Actions به‌عنوان نوع اقدام، روی اقدامی را اضافه کنید کلیک کنید.

  2. در پنجرهٔ بازشوی Add: Child Actions:

    • یک یا چند اقدام موجود را انتخاب کنید و روی انتخاب کلیک کنید؛ یا

    • روی جدید کلیک کنید، اقدام برای اجرا را تعریف کنید، سپس روی ذخیره و بستن کلیک کنید یا، برای ایجاد اقدامات اضافی، ذخیره و جدید.

  3. به تعداد دفعات مورد نیاز تکرار کنید.

تعریف چندین اقدام برای اجرا