خروجی و ورودی گرفتن از داده‌ها

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

مهم

گاهی کاربران با یک خطای 'time out' مواجه می‌شوند، یا یک رکورد به دلیل اندازهٔ آن پردازش نمی‌شود. این می‌تواند با خروجی‌های بزرگ یا در مواردی که فایل وارد کردن خیلی بزرگ است رخ دهد. برای دور زدن این محدودیت پیرامون اندازهٔ رکوردها، خروجی‌ها یا وارد کردن‌ها را در دسته‌های کوچک‌تر پردازش کنید.

خروجی گرفتن از داده‌های Odoo

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

با Odoo، مقادیر را می‌توان از هر فیلدی در هر رکوردی خروجی کرد. برای این کار، آیکون نمای فهرست (List) را روی مواردی که باید خروجی شوند فعال کنید، سپس رکوردهایی که باید خروجی شوند را انتخاب کنید. برای انتخاب یک رکورد، checkbox کنار رکورد متناظر را تیک بزنید. در نهایت، روی دکمهٔ عملیات کلیک کنید و خروجی را انتخاب کنید.

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

هنگام کلیک روی خروجی، یک پنجرهٔ pop-over Export Data با چندین گزینه برای داده‌های قابل خروجی ظاهر می‌شود:

نمای کلی از گزینه‌هایی که هنگام خروجی گرفتن داده‌ها در Odoo باید در نظر گرفته شوند.
  1. با علامت زدن گزینه I want to update data (import-compatable export)، سیستم فقط فیلدهایی را نمایش می‌دهد که می‌توانند وارد شوند. این در مواردی مفید است که رکوردهای موجود نیاز به به‌روزرسانی دارند. این مانند یک فیلتر عمل می‌کند. علامت‌نزدن کادر، گزینه‌های فیلد بسیار بیشتری ارائه می‌دهد زیرا همه فیلدها را نشان می‌دهد، نه فقط آن‌هایی که می‌توانند وارد شوند.

  2. هنگام خروجی، گزینهٔ خروجی در دو قالب وجود دارد: .csv و .xls. با .csv، موارد با کاما جدا می‌شوند، در حالی که .xls اطلاعات مربوط به همهٔ worksheetها را نگه می‌دارد.

  3. این‌ها مواردی هستند که می‌توانند خروجی شوند. از آیکون (Show sub-fields) برای نمایش گزینه‌های زیرفیلد بیشتر استفاده کنید. از نوار جستجو برای یافتن فیلدهای خاص استفاده کنید. برای استفادهٔ کارآمدتر از گزینهٔ جستجو، روی همهٔ آیکون‌های (Show sub-fields) کلیک کنید تا همهٔ فیلدها نمایش داده شوند.

  4. دکمهٔ آیکون (Select field) برای افزودن فیلدها به فهرست Fields to export وجود دارد.

  5. آیکون (Sort) در سمت چپ فیلدهای انتخاب‌شده می‌تواند برای انتقال فیلدها به بالا و پایین، برای تغییر ترتیبی که در خروجی نمایش داده می‌شوند استفاده شود. با استفاده از آیکون (Sort) بکشید و رها کنید.

  6. آیکون (Remove field) برای حذف فیلدها استفاده می‌شود. روی آیکون (Remove field) کلیک کنید تا فیلد حذف شود.

  7. برای گزارش‌های تکرارشونده، ذخیرهٔ خروجی preset‌ها مفید است. تمام فیلدهای موردنیاز را انتخاب کنید و روی منوی کشویی قالب کلیک کنید. در آنجا، روی New template کلیک کنید و یک نام منحصربه‌فرد به قالب صادراتی بدهید. روی آیکون (floppy drive) کلیک کنید تا پیکربندی ذخیره شود. دفعهٔ بعد که همان فهرست باید خروجی شود، قالب مرتبط را که قبلاً ذخیره شده از منوی کشویی انتخاب کنید.

نکته

دانستن شناسهٔ خارجی فیلد مفید است. برای مثال، شرکت مرتبط در رابط کاربری خروجی برابر با parent_id (شناسهٔ خارجی) است. این مفید است.

وارد کردن داده‌ها به Odoo

وارد کردن داده‌ها به Odoo در طول پیاده‌سازی یا در زمان‌هایی که داده‌ها نیاز به به‌روزرسانی دسته‌ای دارند بسیار مفید است. مستندات زیر این را توضیح می‌دهد.

هشدار

وارد کردن‌ها دائمی هستند و نمی‌توان آن‌ها را undo کرد. با این حال، می‌توان از فیلترها (created on یا last modified) برای شناسایی رکوردهای تغییرکرده یا ایجادشده توسط فرایند وارد کردن استفاده کرد.

نکته

فعال‌سازی حالت توسعه‌دهنده تنظیمات وارد کردن قابل مشاهده در منوی چپ را تغییر می‌دهد. این کار یک منوی پیشرفته را نمایان می‌کند. در این منوی پیشرفته دو گزینه گنجانده شده است: Track history during import و Allow matching with subfields.

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

اگر مدل از openchatter استفاده می‌کند، گزینهٔ Track history during import اشتراک‌ها را تنظیم می‌کند و اعلان‌ها را در طول وارد کردن ارسال می‌کند، اما منجر به یک وارد کردن کندتر می‌شود.

اگر گزینهٔ Allow matching with subfields انتخاب شده باشد، تمام زیرفیلدها در یک فیلد برای مطابقت تحت Odoo Field در حین وارد کردن استفاده می‌شوند.

شروع کنید

داده‌ها را می‌توان روی هر business object Odoo با استفاده از قالب‌های Excel (.xlsx) یا CSV (.csv) وارد کردن کرد. این شامل: مخاطبین، محصولات، صورتحساب‌های بانکی، اسناد ژورنال و سفارش‌ها می‌شود.

نمای object‌ای که داده‌ها باید به آن وارد کردن/populate شوند را باز کنید، روی آیکون (Action) کلیک کنید و در منوی کشویی (Import records) را انتخاب کنید.

منوی Action با گزینهٔ وارد کردن records برجسته‌شده نمایان می‌شود.

روی Import Template for Customers در مرکز صفحه کلیک کنید تا یک template دانلود و populate کنید.

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

  1. روی Upload Data File کلیک کنید و فایل موردنظر را انتخاب کنید.

  2. گزینه‌های Formatting را در صورت نیاز تنظیم کنید (فقط برای فایل‌های CSV).

  3. اطمینان حاصل کنید تمام داده‌ها در File Column به‌درستی به Odoo Field مناسب نگاشت شده و عاری از خطا هستند.

  4. (اختیاری) روی Load Data File کلیک کنید تا همان فایل را دوباره بارگذاری کنید یا فایل دیگری را آپلود کنید.

  5. روی تست کلیک کنید تا تأیید کنید داده‌ها معتبر هستند.

  6. روی ایمپورت کلیک کنید.

توجه

گزینه‌های Formatting هنگام وارد کردن نوع فایل اختصاصی Excel (مانند .xls یا .xlsx) ظاهر نمی‌شوند.

تطبیق یک قالب

قالب‌های وارد کردن در ابزار وارد کردن رایج‌ترین داده‌ها (مخاطبین، محصولات، صورتحساب‌های بانکی و غیره) ارائه می‌شوند. آن‌ها را با هر نرم‌افزار صفحه‌گسترده‌ای (Microsoft Office، OpenOffice، Google Drive، و غیره) باز کنید.

پس از دانلود قالب، این گام‌ها را دنبال کنید:

  • ستون‌ها را اضافه، حذف و مرتب کنید تا بهترین تطابق را با ساختار داده داشته باشند.

  • اکیداً توصیه می‌شود ستون آیدی خارجی (ID) را حذف نکنید (دلیل آن در بخش بعدی توضیح داده شده است).

  • با drag کردن توالی ID در ستون آیدی خارجی (ID)، یک ID یکتا برای هر رکورد تنظیم کنید.

انیمیشنی از drag کردن ماوس روی ستون ID، تا هر رکورد یک ID یکتا داشته باشد.

توجه

هنگامی که یک ستون جدید اضافه می‌شود، Odoo ممکن است نتواند آن را به‌صورت خودکار نگاشت کند، اگر label آن با هیچ فیلدی در Odoo مطابقت نداشته باشد. با این حال، ستون‌های جدید را می‌توان به‌صورت دستی هنگام وارد کردن نگاشت کرد.

منوی کشویی گسترده‌شده در صفحهٔ وارد کردن اولیه در Odoo.

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

نکته

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

وارد کردن از یک اپلیکیشن دیگر

آیدی خارجی (ID) یک شناسهٔ یکتا برای یک line item است. می‌توان از یک آیدی خارجی (ID) از نرم‌افزار قبلی برای تسهیل انتقال به Odoo استفاده کرد.

تعیین یک ID هنگام وارد کردن الزامی نیست، اما در بسیاری از موارد کمک می‌کند:

برای بازسازی روابط بین رکوردهای مختلف، شناسهٔ یکتای اپلیکیشن اصلی باید برای نگاشت آن به ستون آیدی خارجی (ID) در Odoo استفاده شود.

هنگامی که رکورد دیگری وارد کردن می‌شود که به اولی متصل است، از XXX/ID (XXX/External ID) برای شناسهٔ یکتای اصلی استفاده کنید. این رکورد را همچنین می‌توان با استفاده از نام آن یافت.

هشدار

باید توجه داشت که اگر دو (یا چند) رکورد یک External ID یکسان داشته باشند، تعارض رخ می‌دهد.

فیلد گم‌شده برای نگاشت ستون

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

برای مثال، اگر یک ستون فقط شامل اعداد باشد، تنها فیلدهای با نوع integer به‌عنوان گزینه ارائه می‌شوند.

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

اگر این اتفاق بیفتد، Show fields of relation fields (advanced) option را بررسی کنید، سپس یک فهرست کامل از فیلدها برای هر ستون در دسترس می‌شود.

جستجو برای فیلد منطبق با ستون مالیات.

تغییر قالب وارد کردن داده

توجه

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

هنگام وارد کردن یک فایل CSV، Odoo گزینه‌های Formatting را ارائه می‌دهد.

برای دیدن کدام قالب تاریخ را Odoo از فایل یافته، فرمت تاریخ که هنگام کلیک روی گزینه‌ها تحت file selector نمایش داده می‌شود را بررسی کنید. اگر این قالب نادرست است، آن را با استفاده از ISO 8601 به قالب موردنظر تغییر دهید.

مهم

ISO 8601 یک استاندارد بین‌المللی است که تبادل جهانی به همراه ارتباط داده‌های مرتبط با تاریخ و زمان را پوشش می‌دهد. برای مثال، قالب تاریخ باید YYYY-MM-DD باشد.

نکته

هنگام وارد کردن فایل‌های Excel (.xls, .xlsx)، استفاده از date cells برای ذخیرهٔ تاریخ‌ها را در نظر بگیرید. این قالب‌های تاریخ locale را برای نمایش حفظ می‌کند، فارغ از اینکه تاریخ چگونه در Odoo قالب‌بندی شده است. هنگام وارد کردن یک فایل CSV، از بخش Formatting در Odoo برای انتخاب ستون‌های قالب تاریخ برای وارد کردن استفاده کنید.

وارد کردن اعداد همراه با علائم ارز

Odoo کاملاً از اعداد با parenthesis برای نمایش علائم منفی، و همچنین اعداد با علائم ارز متصل به آن‌ها پشتیبانی می‌کند. Odoo همچنین به‌صورت خودکار تشخیص می‌دهد کدام هزار/اعشار جداکننده است.

توجه

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

نمونه‌هایی از اعداد پشتیبانی‌شده (با استفاده از «سی‌ودو هزار» به‌عنوان مقدار):

  • 32.000,00

  • 32000,00

  • 32,000.00

  • -32000.00

  • (32000.00)

  • $ 32.000,00

  • (32000.00 €)

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

  • ABC 32.000,00

  • $ (32.000,00)

مهم

یک () (parenthesis) در اطراف عدد نشان می‌دهد که عدد یک مقدار منفی است. علامت ارز باید درون parenthesis قرار گیرد تا Odoo آن را تشخیص دهد.

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

به‌صورت پیش‌فرض، پیش‌نمایش وارد کردن روی کاما به‌عنوان جداکنندهٔ فیلد و علامت نقل‌قول به‌عنوان جداکنندهٔ متن تنظیم شده است. اگر فایل CSV این تنظیمات را نداشته باشد، گزینه‌های Formatting (که زیر نوار ایمپورت فایل CSV پس از انتخاب فایل CSV نمایش داده می‌شوند) را تغییر دهید.

مهم

اگر فایل CSV به‌عنوان جداکننده tabulation داشته باشد، Odoo جداکننده‌ها را تشخیص نمی‌دهد. گزینه‌های فرمت فایل باید در برنامه spreadsheet تغییر کنند. به بخش Change CSV file format زیر مراجعه کنید.

تغییر قالب فایل CSV در اپلیکیشن صفحه‌گستردهٔ خود

هنگام ویرایش و ذخیرهٔ فایل‌های CSV در اپلیکیشن‌های spreadsheet، تنظیمات منطقه‌ای رایانه برای جداکننده و delimiter اعمال می‌شوند. Odoo استفاده از OpenOffice یا LibreOffice را پیشنهاد می‌کند، زیرا هر دو اپلیکیشن اجازهٔ اصلاح هر سه گزینه را می‌دهند (از اپلیکیشن LibreOffice، به 'Save As' dialog box ↤ Check the box 'Edit filter settings' ↤ ذخیره بروید).

Microsoft Excel می‌تواند هنگام ذخیره، encoding را تغییر دهد ('Save As' dialog box ↤ 'Tools' drop-down menu ↤ Encoding tab).

تفاوت بین Database ID و External ID

برخی فیلدها رابطه‌ای را با یک object دیگر تعریف می‌کنند. برای مثال، کشور یک مخاطب یک لینک به یک رکورد از object 'Country' است. هنگامی که چنین فیلدهایی وارد کردن می‌شوند، Odoo باید آن‌ها را تفسیر کند.

مهم

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

برای مثال، برای ارجاع به کشور یک مخاطب، Odoo سه فیلد مختلف برای وارد کردن پیشنهاد می‌دهد:

  • کشور: نام یا کد کشور

  • Country/Database ID: شناسهٔ یکتای Odoo برای یک رکورد، که توسط ستون ID در PostgreSQL تعریف می‌شود

  • Country/External ID: شناسهٔ این رکورد که در یک اپلیکیشن دیگر (یا فایل .XMLی که آن را وارد کردن کرده) ارجاع داده شده است

برای کشور بلژیک، برای مثال، از یکی از این سه روش برای وارد کردن استفاده کنید:

  • کشور: Belgium

  • Country/Database ID: 21

  • کشور/آیدی خارجی: base.be

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

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

  • از Country/Database ID استفاده کنید: این به‌ندرت استفاده می‌شود. عمدتاً توسط توسعه‌دهندگان استفاده می‌شود زیرا مزیت اصلی این است که هرگز تعارضی وجود ندارد (ممکن است چندین رکورد با نام مشابه وجود داشته باشد).

  • از Country/External ID استفاده کنید: هنگام وارد کردن داده از یک اپلیکیشن شخص ثالث از External ID استفاده کنید.

هنگامی که External IDs استفاده می‌شود، فایل‌های CSV را با ستون آیدی خارجی (ID) که External ID هر رکورد واردشده را تعریف می‌کند وارد کردن کنید.

وارد کردن فیلدهای relation

یک object Odoo همیشه به بسیاری از objectهای دیگر مرتبط است (مثلاً یک محصول به دسته‌های محصول، attributes، فروشندگان و غیره متصل است). برای وارد کردن آن روابط، رکوردهای مرتبط هم باید وارد کردن شوند.

این کار را می‌توان با استفاده از نام رکورد مرتبط یا ID آن، بسته به شرایط، انجام داد. ID زمانی انتظار می‌رود که دو رکورد نام یکسانی داشته باشند. در چنین حالتی، باید از ID استفاده شود.

گزینه‌ها برای تطبیق چندگانه روی فیلدها

اگر برای مثال، دو دستهٔ محصول با نام فرزند Sellable وجود داشته باشد (مثلاً Misc. Products/Sellable و Other Products/Sellable)، اعتبارسنجی متوقف می‌شود، اما داده‌ها همچنان قابل وارد کردن هستند. با این حال، Odoo توصیه می‌کند داده‌ها وارد نشوند زیرا همگی به اولین دستهٔ Sellable که در فهرست دستهٔ محصول یافت شود (Misc. Products/Sellable) متصل می‌شوند. Odoo به‌جای آن توصیه می‌کند یکی از مقادیر تکراری یا سلسله‌مراتب دستهٔ محصول را اصلاح کنید.

با این حال، اگر شرکت نمی‌خواهد پیکربندی دسته‌های محصول را تغییر دهد، Odoo توصیه می‌کند از External ID برای این فیلد، 'Category' استفاده کنید.

وارد کردن فیلدهای رابطهٔ many2many

برچسب‌ها باید با کاما، بدون هیچ فاصله‌ای، جدا شوند. برای مثال، اگر یک مشتری باید به هر دو برچسب Manufacturer و Retailer متصل شود، آنگاه 'Manufacturer,Retailer' باید در همان ستون فایل CSV کدگذاری شود.

وارد کردن روابط one2many

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

Example

یک شرکت با استفاده از یک فایل CSV و بر اساس داده‌های دموی، پیش‌فاکتورها را وارد کردن می‌کند:

یک شرکت با استفاده از یک فایل CSV، سفارش‌های خرید را به همراه خطوط سفارش خرید مربوطه وارد کردن می‌کند:

یک شرکت با استفاده از یک فایل CSV، مشتریان و مخاطبین مربوطه را وارد کردن می‌کند:

وارد کردن فایل‌های تصویر

برای وارد کردن فایل‌های تصویر همراه با فایل CSV یا Excel آپلودشده، گام‌های بعدی را دنبال کنید:

  1. نام فایل‌های تصویر را به ستون تصویر مرتبط در فایل داده اضافه کنید.

  2. فایل داده را آپلود کنید یا با کلیک روی Load Data File آن را دوباره بارگذاری کنید.

  3. در زیر بخش Files to import روی Upload your files کلیک کنید.

  4. فایل‌های تصویر مرتبط را انتخاب کنید. تعداد فایل‌های انتخاب‌شده در کنار دکمه ظاهر می‌شود.

  5. روی تست کلیک کنید تا تأیید کنید تمام داده‌ها معتبر هستند.

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

توجه

  • بخش Files to import در صورتی فعال است که قالب محصول دارای یک ستون تصویر با تمام فیلدهای پرشده باشد.

  • نام فایل‌های تصویر در فایل داده باید با فایل‌های تصویر آپلودشده مطابقت داشته باشد.

  • هنگام وارد کردن تعداد زیادی تصویر، حداکثر اندازه دسته را به مگابایت مشخص کنید و یک تأخیر تنظیم کنید تا از overload شدن سیستم جلوگیری شود. برای انجام این کار، developer mode را فعال کنید و فیلدهای Max size per batch و Delay after each batch را در بخش Files to import پر کنید. به‌طور پیش‌فرض، تأخیر با محدودیت تماس RPC/API تعریف‌شده در Odoo Cloud - Acceptable Use Policy مطابقت دارد.

وارد کردن چندبارهٔ رکوردها

اگر فایل واردشده شامل یکی از ستون‌ها باشد: آیدی خارجی یا Database ID، رکوردهایی که قبلاً واردشده‌اند، به جای ایجاد، اصلاح می‌شوند. این بسیار مفید است زیرا به کاربران اجازه می‌دهد همان فایل CSV را چندین بار وارد کردن کنند، در حالی که بین دو وارد کردن تغییراتی انجام داده‌اند.

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

این ویژگی به یک شرکت اجازه می‌دهد از ابزار وارد کردن/خروجی گرفتن در Odoo برای اصلاح یک دستهٔ رکورد در یک اپلیکیشن صفحه‌گسترده استفاده کند.

مقداری برای یک فیلد خاص ارائه نشده است

اگر تمام فیلدها در فایل CSV تنظیم نشده باشند، Odoo مقدار پیش‌فرض را برای هر فیلد تعریف‌نشده اختصاص می‌دهد. با این حال، اگر فیلدها با مقادیر خالی در فایل CSV تنظیم شوند.

خروجی/ورودی گرفتن از جداول مختلف از یک اپلیکیشن SQL به Odoo

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

برای مدیریت روابط بین جداول، از امکانات External ID Odoo استفاده کنید. External ID یک رکورد، شناسهٔ یکتای این رکورد در یک اپلیکیشن دیگر است. External ID باید برای هر رکورد در جداول مختلف یکتا باشد.

به‌عنوان یک مثال، فرض کنید یک پایگاه دادهٔ SQL با دو جدول وجود دارد که باید وارد کردن شوند: شرکت‌ها و افراد. هر شخص به یک شرکت تعلق دارد، بنابراین لینک بین یک شخص و یک شرکت باید بازسازی شود.

این مثال را با یک نمونهٔ پایگاه دادهٔ PostgreSQL آزمایش کنید.

ابتدا تمام شرکت‌ها و External ID آن‌ها را خروجی بگیرید. در PSQL، دستور زیر را بنویسید:

> copy (select 'company_'||id as "External ID",company_name as "Name",'True' as "Is a Company" from companies) TO '/tmp/company.csv' with CSV HEADER;

این دستور SQL فایل CSV زیر را ایجاد می‌کند:

External ID,Name,Is a Company
company_1,Bigees,True
company_2,Organi,True
company_3,Boum,True

برای ایجاد فایل CSV برای افراد مرتبط با شرکت‌ها، از دستور SQL زیر در PSQL استفاده کنید:

> copy (select 'person_'||id as "External ID",person_name as "Name",'False' as "Is a Company",'company_'||company_id as "Related Company/External ID" from persons) TO '/tmp/person.csv' with CSV

این فایل CSV را تولید می‌کند:

External ID,Name,Is a Company,Related Company/External ID
person_1,Fabien,False,company_1
person_2,Laurence,False,company_1
person_3,Eric,False,company_2
person_4,Ramsy,False,company_3

در این فایل، Fabien و Laurence برای شرکت Bigees (company_1) کار می‌کنند، و Eric برای شرکت Organi کار می‌کند. رابطه بین افراد و شرکت‌ها با استفاده از External ID شرکت‌ها انجام می‌شود.

دو فایل تولیدشده آمادهٔ وارد کردن در Odoo بدون هیچ اصلاحی هستند. پس از وارد کردن این دو فایل CSV، چهار مخاطب وجود دارد.

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

داده‌های موجود را می‌توان به‌صورت دسته‌ای از طریق وارد کردن داده به‌روز کرد، تا زمانی که External ID ثابت بماند.

آماده‌سازی خروجی داده

برای به‌روزرسانی داده‌ها از طریق یک وارد کردن، ابتدا به داده‌های موردنظر برای به‌روزرسانی بروید و آیکون (List) را برای فعال‌سازی نمای فهرست انتخاب کنید. در سمت چپ فهرست، checkbox هر رکوردی را که باید به‌روزرسانی شود تیک بزنید. سپس روی دکمهٔ عملیات کلیک کنید و خروجی را از منوی کشویی انتخاب کنید.

در پنجرهٔ پاپ‌آپ حاصل Export Data، checkbox با برچسب I want to update data (import-compatible export) را تیک بزنید. این به‌صورت خودکار External ID را در خروجی شامل می‌کند. علاوه بر این، فهرست Fields to export را فقط به فیلدهایی محدود می‌کند که قابل وارد کردن هستند.

توجه

فیلد آیدی خارجی در فهرست Fields to export ظاهر نمی‌شود مگر اینکه به‌صورت دستی اضافه شود، اما همچنان در خروجی گنجانده می‌شود. با این حال، اگر checkbox I want to update data (import-compatible export) تیک خورده باشد، در خروجی گنجانده می‌شود.

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

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

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

خطر

هنگام به‌روزرسانی داده‌ها، بسیار مهم است که External ID ثابت بماند، زیرا این روشی است که سیستم یک رکورد را شناسایی می‌کند. اگر یک ID تغییر کند یا حذف شود، سیستم ممکن است نتواند آن را تشخیص دهد.