صادرات و واردات دادهها¶
در اودو، گاهی لازم است دادهها برای اجرای گزارشها یا اصلاح دادهها صادر یا وارد شوند. این سند به صادرات و واردات دادهها به داخل و خارج از اودو میپردازد.
مهم
گاهی اوقات، کاربران با خطای «اتمام زمان» مواجه میشوند یا یک رکورد به دلیل اندازهاش پردازش نمیشود. این مشکل ممکن است در صادراتهای بزرگ یا در مواردی که فایل وارداتی بسیار بزرگ است رخ دهد. برای دور زدن این محدودیت مربوط به اندازه رکوردها، صادرات یا واردات را در دستههای کوچکتر پردازش کنید.
صدور دادهها از اودو¶
هنگام کار با یک پایگاه داده، گاهی لازم است دادهها را در یک فایل جداگانه صادر کنید. انجام این کار میتواند در گزارشدهی فعالیتها کمک کند، اگرچه اودو با هر برنامه موجود یک ابزار گزارشدهی دقیق و آسان ارائه میدهد.
با اودو، مقادیر میتوانند از هر فیلد در هر رکورد صادر شوند. برای انجام این کار، نمای لیست ( (list) icon) را فعال کنید، روی آیتمهایی که نیاز به صادر شدن دارند، سپس رکوردهایی را که باید صادر شوند انتخاب کنید. برای انتخاب یک رکورد، کادر کنار رکورد مربوطه را علامت بزنید. در نهایت، روی Actions کلیک کنید، سپس Export.

با کلیک بر روی صادرات، یک پنجره پاپآپ صادرات داده ظاهر میشود که شامل چندین گزینه برای دادههای صادراتی است:

با انتخاب گزینه میخواهم دادهها را بهروزرسانی کنم (صادرات سازگار با واردات)، سیستم فقط فیلدهایی را نشان میدهد که قابل وارد کردن هستند. این گزینه در مواردی که نیاز به بهروزرسانی رکوردهای موجود وجود دارد، مفید است. این عملکرد مانند یک فیلتر عمل میکند. اگر این گزینه انتخاب نشده باشد، گزینههای فیلد بیشتری نمایش داده میشود زیرا تمام فیلدها را نشان میدهد، نه فقط آنهایی که قابل وارد کردن هستند.
هنگام صادرات، گزینهای برای صادرات در دو فرمت وجود دارد:
.csv
و.xls
. در فرمت.csv
، آیتمها با کاما جدا میشوند، در حالی که.xls
اطلاعات مربوط به تمام برگههای کاری در یک فایل را شامل میشود، از جمله محتوا و قالببندی.اینها مواردی هستند که میتوان صادر کرد. از آیکون > (فلش راست) برای نمایش گزینههای بیشتر زیرفیلد استفاده کنید. از نوار جستجو برای یافتن فیلدهای خاص استفاده کنید. برای استفاده مؤثرتر از گزینه جستجو، روی تمام آیکونهای > (فلشهای راست) کلیک کنید تا همه فیلدها نمایش داده شوند.
دکمه آیکون + (علامت جمع) برای افزودن فیلدها به لیست فیلدهای قابل صادرات موجود است.
↕️ (پیکان بالا-پایین) در سمت چپ فیلدهای انتخابشده میتواند برای جابجایی فیلدها به بالا و پایین استفاده شود تا ترتیب نمایش آنها در فایل صادرشده تغییر کند. از قابلیت کشیدن و رها کردن با استفاده از آیکون ↕️ (پیکان بالا-پایین) استفاده کنید.
نماد 🗑️ (سطل زباله) برای حذف فیلدها استفاده میشود. برای حذف فیلد، روی نماد 🗑️ (سطل زباله) کلیک کنید.
برای گزارشهای دورهای، ذخیره تنظیمات پیشفرض صادرات مفید است. تمام فیلدهای مورد نیاز را انتخاب کنید و روی منوی کشویی قالب کلیک کنید. سپس روی گزینه قالب جدید کلیک کرده و یک نام منحصر به فرد برای صادرات ایجاد شده اختصاص دهید. روی آیکون 💾 (دیسک فلاپی) کلیک کنید تا تنظیمات ذخیره شود. دفعه بعد که نیاز به صادرات همان لیست باشد، قالب مرتبط که قبلاً ذخیره شده است را از منوی کشویی انتخاب کنید.
نکته
دانستن شناسه خارجی فیلد مفید است. برای مثال، شرکت مرتبط در رابط کاربری صادرات برابر با parent_id (شناسه خارجی) است. این موضوع مفید است زیرا تنها دادههایی که باید تغییر داده شوند و دوباره وارد شوند، صادر میشوند.
وارد کردن دادهها به اودو¶
وارد کردن دادهها به اودو در زمان پیادهسازی یا مواقعی که نیاز به بهروزرسانی دادهها به صورت انبوه وجود دارد، بسیار مفید است. مستندات زیر نحوه وارد کردن دادهها به پایگاه داده اودو را پوشش میدهد.
هشدار
واردات دائمی هستند و قابل بازگشت نیستند. با این حال، میتوان از فیلترها (ایجاد شده در
یا آخرین تغییر
) برای شناسایی رکوردهایی که توسط واردات تغییر کرده یا ایجاد شدهاند، استفاده کرد.
نکته
فعالسازی حالت توسعهدهنده تنظیمات واردات قابل مشاهده در منوی سمت چپ را تغییر میدهد. با این کار، یک منوی نمایش داده میشود. در این منوی پیشرفته دو گزینه وجود دارد: ردیابی تاریخچه در حین واردات و اجازه تطبیق با زیرفیلدها.

اگر مدل از OpenChatter استفاده کند، گزینه ردیابی تاریخچه در هنگام وارد کردن اشتراکها را تنظیم کرده و در هنگام وارد کردن اعلانها ارسال میکند، اما باعث کندتر شدن فرآیند وارد کردن میشود.
در صورتی که گزینه اجازه تطبیق با زیرفیلدها انتخاب شود، تمام زیرفیلدهای یک فیلد برای تطبیق تحت فیلد اودو هنگام وارد کردن استفاده میشوند.
شروع کنید¶
دادهها را میتوان بر روی هر شیء تجاری در Odoo با استفاده از فرمتهای اکسل (.xlsx
) یا CSV (.csv
) وارد کرد. این شامل: مخاطبین، محصولات، صورتحسابهای بانکی، ثبتهای دفتر روزنامه و سفارشها میشود.
نمایش شیئی که دادهها باید به آن وارد/پر شود را باز کنید، روی آیکون (چرخدنده) کلیک کنید و گزینه وارد کردن رکوردها را انتخاب کنید.

برای دانلود یک الگو و پر کردن آن با دادههای شرکت، روی وارد کردن الگوی مشتریان در مرکز صفحه کلیک کنید. چنین الگوهایی را میتوان با یک کلیک وارد کرد زیرا نگاشت دادهها از پیش پیکربندی شده است.
برای بارگذاری قالب دانلود شده یا فایل خودتان، مراحل زیر را دنبال کنید:
روی بارگذاری فایل داده کلیک کنید و فایل مورد نظر را انتخاب کنید.
گزینههای قالببندی را در صورت نیاز تنظیم کنید (فقط برای فایلهای CSV).
اطمینان حاصل کنید که تمام دادهها در ستون فایل به درستی به فیلد اودو مناسب نگاشت شده و عاری از خطا باشند.
(اختیاری) روی بارگذاری فایل داده کلیک کنید تا همان فایل را دوباره بارگذاری کنید یا فایل دیگری را بارگذاری کنید.
روی تست کلیک کنید تا صحت دادهها بررسی شود.
کلیک کنید وارد کردن.
توجه
گزینههای قالببندی هنگام وارد کردن نوع فایل اختصاصی اکسل (یعنی .xls
یا .xlsx
) ظاهر نمیشوند.
تطبیق یک الگو¶
قالبهای واردات در ابزار واردات برای رایجترین دادهها جهت وارد کردن (مخاطبین، محصولات، صورتحسابهای بانکی، و غیره) ارائه شدهاند. آنها را با هر نرمافزار صفحهگسترده (Microsoft Office، OpenOffice، Google Drive، و غیره) باز کنید.
پس از دانلود قالب، مراحل زیر را دنبال کنید:
اضافه کردن، حذف کردن و مرتبسازی ستونها برای بهترین تطابق با ساختار داده.
اکیداً توصیه میشود که ستون شناسه خارجی (ID) را حذف نکنید (دلیل آن را در بخش بعدی ببینید).
برای هر رکورد یک شناسهی یکتا تنظیم کنید با کشیدن پایین توالی شناسه در ستون شناسه خارجی (ID).

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

سپس، برچسب این فیلد را در فایل واردات استفاده کنید تا اطمینان حاصل شود که وارداتهای آینده موفقیتآمیز خواهند بود.
نکته
راه مفید دیگر برای یافتن نامهای صحیح ستونها برای وارد کردن، صادر کردن یک فایل نمونه با استفاده از فیلدهایی است که باید وارد شوند. به این ترتیب، اگر قالب نمونه وارد کردن وجود نداشته باشد، نامها دقیق خواهند بود.
وارد کردن از یک برنامه دیگر¶
شناسه خارجی (ID) یک شناسه منحصربهفرد برای آیتم خطی است. میتوانید از شناسهای که در نرمافزار قبلی استفاده میکردید، برای تسهیل انتقال به Odoo استفاده کنید.
تنظیم شناسه هنگام وارد کردن الزامی نیست، اما در بسیاری از موارد مفید است:
بهروزرسانی واردات: یک فایل را چندین بار وارد کنید بدون اینکه موارد تکراری ایجاد شود.
برای بازسازی روابط بین رکوردهای مختلف، شناسهی یکتا از برنامه اصلی باید برای نگاشت به ستون شناسه خارجی (ID) در اودو استفاده شود.
هنگامی که رکورد دیگری وارد شود که به رکورد اول مرتبط باشد، از XXX/ID (XXX/شناسه خارجی) برای شناسه منحصر به فرد اصلی استفاده کنید. این رکورد همچنین میتواند با استفاده از نام آن پیدا شود.
هشدار
باید توجه داشت که در صورت داشتن شناسه خارجی یکسان توسط دو (یا بیشتر) رکورد، تضاد رخ میدهد.
فیلد برای تطبیق ستون وجود ندارد¶
اودو به صورت تجربی تلاش میکند نوع فیلد هر ستون در فایل وارد شده را بر اساس ده خط اول فایل پیدا کند.
به عنوان مثال، اگر ستونی وجود داشته باشد که فقط شامل اعداد باشد، تنها فیلدهایی با نوع عدد صحیح به عنوان گزینهها ارائه میشوند.
در حالی که این رفتار ممکن است در اکثر موارد مفید باشد، همچنین ممکن است که شکست بخورد یا ستون به یک فیلدی که به طور پیشفرض پیشنهاد نشده است، نگاشت شود.
اگر این اتفاق بیفتد، گزینه نمایش فیلدهای فیلدهای رابطه (پیشرفته) را بررسی کنید، سپس لیست کاملی از فیلدها برای هر ستون در دسترس خواهد بود.

تغییر قالب وارد کردن دادهها¶
توجه
اودو میتواند بهطور خودکار تشخیص دهد که آیا یک ستون تاریخ است یا خیر، و تلاش میکند تا قالب تاریخ را از میان مجموعهای از قالبهای تاریخ پرکاربرد حدس بزند. اگرچه این فرآیند میتواند برای بسیاری از قالبهای تاریخ کار کند، برخی از قالبهای تاریخ قابل شناسایی نیستند. این موضوع میتواند به دلیل جابجایی روز و ماه باعث سردرگمی شود؛ تشخیص اینکه کدام بخش از قالب تاریخ روز است و کدام بخش ماه، در تاریخی مانند 01-03-2016
دشوار است.
هنگام وارد کردن فایل CSV، اودو گزینههای فرمتبندی را ارائه میدهد.
برای مشاهده اینکه اودو چه قالب تاریخی را از فایل تشخیص داده است، قالب تاریخ را بررسی کنید که با کلیک بر روی گزینهها زیر انتخابگر فایل نمایش داده میشود. اگر این قالب نادرست است، آن را به قالب مورد نظر با استفاده از ISO 8601 برای تعریف قالب تغییر دهید.
مهم
استاندارد ISO 8601 یک استاندارد بینالمللی است که تبادل جهانی و ارتباط دادههای مرتبط با تاریخ و زمان را پوشش میدهد. به عنوان مثال، قالب تاریخ باید به صورت YYYY-MM-DD
باشد. بنابراین، در مورد ۲۴ جولای ۱۹۸۱، باید به صورت 1981-07-24
نوشته شود.
نکته
هنگام وارد کردن فایلهای اکسل (.xls
, .xlsx
)، استفاده از سلولهای تاریخ برای ذخیره تاریخها را در نظر بگیرید. این کار فرمتهای تاریخ محلی را برای نمایش حفظ میکند، صرفنظر از اینکه تاریخ در اودو چگونه قالببندی شده است. هنگام وارد کردن فایل CSV، از بخش قالببندی اودو برای انتخاب ستونهای فرمت تاریخ جهت وارد کردن استفاده کنید.
وارد کردن اعداد با علائم ارزی¶
اودو به طور کامل از اعداد با پرانتز برای نمایش علامت منفی و همچنین اعداد با علائم ارزی پشتیبانی میکند. اودو به صورت خودکار تشخیص میدهد که از کدام جداکننده هزارگان/اعشاری استفاده شده است. اگر از نماد ارزی که برای اودو ناشناخته است استفاده شود، ممکن است به عنوان عدد شناسایی نشود و واردات با خطا مواجه شود.
توجه
هنگام وارد کردن فایل CSV، منوی قالببندی در ستون سمت چپ ظاهر میشود. تحت این گزینهها، جداکننده هزارگان قابل تغییر است.
نمونههایی از اعداد پشتیبانیشده (با استفاده از 'سی و دو هزار' به عنوان عدد):
۳۲٬۰۰۰٫۰۰
۳۲۰۰۰,۰۰
۳۲,۰۰۰.۰۰
-۳۲۰۰۰.۰۰
(۳۲۰۰۰.۰۰)
۳۲٬۰۰۰٫۰۰ $
(۳۲۰۰۰.۰۰ €)
مثالی که کار نخواهد کرد:
ایبیسی ۳۲,۰۰۰.۰۰
$(۳۲٬۰۰۰٫۰۰)
مهم
A () (پرانتز) دور عدد نشاندهنده این است که عدد یک مقدار منفی است. نماد ارز باید داخل پرانتز قرار گیرد تا اودو آن را بهعنوان یک مقدار ارز منفی تشخیص دهد.
جدول پیشنمایش واردات بهدرستی نمایش داده نمیشود¶
بهصورت پیشفرض، پیشنمایش واردسازی بر اساس کاما بهعنوان جداکننده فیلدها و علامت نقلقول بهعنوان محدودکننده متن تنظیم شده است. اگر فایل CSV این تنظیمات را ندارد، گزینههای Formatting را (که پس از انتخاب فایل CSV در زیر نوار Import نمایش داده میشود) تغییر دهید.
مهم
اگر فایل CSV دارای تب به عنوان جداکننده باشد، اودو جداکنندهها را تشخیص نمیدهد. گزینههای فرمت فایل باید در برنامه صفحهگسترده تغییر داده شوند. بخش زیر را ببینید: تغییر فرمت فایل CSV.
تغییر فرمت فایل CSV در برنامه صفحهگسترده¶
هنگام ویرایش و ذخیره فایلهای CSV در برنامههای صفحهگسترده، تنظیمات منطقهای رایانه برای جداکننده و تفکیککننده اعمال میشود. اودو پیشنهاد میکند از OpenOffice یا LibreOffice استفاده کنید، زیرا هر دو برنامه امکان تغییر هر سه گزینه را فراهم میکنند (در برنامه LibreOffice به
بروید).مایکروسافت اکسل میتواند هنگام ذخیرهسازی کدگذاری را تغییر دهد (
).تفاوت بین شناسه پایگاه داده و شناسه خارجی¶
برخی از فیلدها یک رابطه با یک شیء دیگر تعریف میکنند. به عنوان مثال، کشور یک مخاطب یک لینک به یک رکورد از شیء 'کشور' است. هنگامی که چنین فیلدهایی وارد میشوند، اودوو باید لینکها بین رکوردهای مختلف را بازسازی کند. برای کمک به وارد کردن چنین فیلدهایی، اودوو سه مکانیزم ارائه میدهد.
مهم
تنها یک مکانیزم باید برای هر فیلدی که وارد میشود استفاده شود.
به عنوان مثال، برای ارجاع به کشور یک مخاطب، اودو سه فیلد مختلف برای وارد کردن پیشنهاد میدهد:
کشور: نام یا کد کشور
کشور/شناسه پایگاه داده: شناسه منحصر به فرد Odoo برای یک رکورد، که توسط ستون شناسه PostgreSQL تعریف شده است
کشور/شناسه خارجی: شناسه این رکورد که در یک برنامه دیگر (یا فایل
.XML
که آن را وارد کرده است) ارجاع داده شده است
برای کشور بلژیک، به عنوان مثال، از یکی از این سه روش برای واردات استفاده کنید:
کشور:
بلژیک
کشور/شناسه پایگاه داده:
21
کشور/شناسه خارجی:
base.be
با توجه به نیاز شرکت، از یکی از این سه روش برای ارجاع به رکوردها در روابط استفاده کنید. در اینجا مثالی آورده شده است که نشان میدهد کدام یک باید بر اساس نیاز استفاده شود:
استفاده از کشور: این سادهترین روش است زمانی که دادهها از CSV که به صورت دستی ایجاد شدهاند، میآیند.
استفاده کنید از کشور/شناسه پایگاه داده: این مورد باید به ندرت استفاده شود. عمدتاً توسط توسعهدهندگان استفاده میشود، زیرا مزیت اصلی آن این است که هرگز تضادی وجود ندارد (ممکن است چندین رکورد با نام مشابه وجود داشته باشد، اما همیشه یک شناسه پایگاه داده منحصر به فرد دارند).
استفاده از کشور/شناسه خارجی: هنگام وارد کردن دادهها از یک برنامه شخص ثالث از شناسه خارجی استفاده کنید.
هنگامی که شناسههای خارجی استفاده میشوند، فایلهای CSV را با ستون شناسه خارجی (ID) که شناسه خارجی هر رکورد وارد شده را تعریف میکند، وارد کنید. سپس میتوان به آن رکورد با ستونهایی مانند Field/External ID
ارجاع داد. دو فایل CSV زیر نمونهای برای محصولات و دستهبندیهای آنها ارائه میدهند.
وارد کردن فیلدهای ارتباطی¶
یک شیء در Odoo همیشه به بسیاری از اشیاء دیگر مرتبط است (مثلاً یک محصول به دستهبندیهای محصول، ویژگیها، فروشندگان و غیره مرتبط است). برای وارد کردن این روابط، ابتدا باید رکوردهای شیء مرتبط از منوی لیست خودشان وارد شوند.
این کار میتواند با استفاده از نام رکورد مرتبط یا شناسه آن، بسته به شرایط، انجام شود. زمانی که دو رکورد نام یکسانی دارند، شناسه مورد انتظار است. در چنین مواردی، / شناسه
را در انتهای عنوان ستون اضافه کنید (برای مثال برای ویژگیهای محصول: ویژگیهای محصول / ویژگی / شناسه
).
گزینهها برای تطابقهای متعدد در فیلدها¶
به عنوان مثال، اگر دو دستهبندی محصول با نام فرزند «قابل فروش» وجود داشته باشد (مانند «محصولات متفرقه/قابل فروش» و «محصولات دیگر/قابل فروش»)، اعتبارسنجی متوقف میشود، اما دادهها ممکن است همچنان وارد شوند. با این حال، Odoo توصیه میکند که دادهها وارد نشوند زیرا همه آنها به اولین دستهبندی «قابل فروش» که در لیست دستهبندی محصول یافت میشود («محصولات متفرقه/قابل فروش») مرتبط خواهند شد. Odoo به جای آن توصیه میکند یکی از مقادیر تکراری یا سلسلهمراتب دستهبندی محصول را اصلاح کنید.
با این حال، اگر شرکت تمایل نداشته باشد تنظیمات دستهبندی محصولات را تغییر دهد، اودو توصیه میکند از شناسه خارجی برای این فیلد، 'دستهبندی' استفاده کند.
وارد کردن فیلدهای رابطه چند به چند¶
برچسبها باید با کاما جدا شوند، بدون هیچ فاصلهای. به عنوان مثال، اگر یک مشتری نیاز داشته باشد که به هر دو برچسب «تولیدکننده» و «خردهفروش» مرتبط شود، باید «تولیدکننده،خردهفروش» در همان ستون فایل CSV کدگذاری شود.
وارد کردن روابط یک به چند¶
اگر یک شرکت بخواهد یک سفارش فروش با چندین خط سفارش را وارد کند، یک ردیف مشخص باید در فایل CSV برای هر خط سفارش رزرو شود. خط سفارش اول در همان ردیفی که اطلاعات مربوط به سفارش قرار دارد وارد میشود. هر خط اضافی نیاز به یک ردیف اضافی دارد که در آن هیچ اطلاعاتی در فیلدهای مربوط به سفارش وجود نداشته باشد.
به عنوان مثال، این یک فایل CSV از برخی نقلقولها است که میتوان بر اساس دادههای نمایشی وارد کرد:
فایل CSV زیر نشان میدهد که چگونه سفارشهای خرید را همراه با خطوط مربوط به سفارش خرید وارد کنید:
فایل CSV زیر نشان میدهد که چگونه مشتریان و مخاطبین مربوطه آنها را وارد کنید:
وارد کردن فایلهای تصویر¶
برای وارد کردن فایلهای تصویری همراه با فایل آپلود شده CSV یا Excel، مراحل زیر را دنبال کنید:
نام فایلهای تصویر را به ستون مربوطه تصویر در فایل داده اضافه کنید.
فایل داده را بارگذاری کنید یا با کلیک روی بارگذاری فایل داده آن را مجدداً بارگذاری کنید.
روی فایلهای خود را بارگذاری کنید در بخش فایلهای واردکردنی کلیک کنید.
فایلهای تصویری مرتبط را انتخاب کنید. تعداد فایلهای انتخابشده در کنار دکمه نمایش داده میشود.
برای تأیید صحت تمام دادهها، روی Test کلیک کنید.
کلیک کنید روی وارد کردن. در طول فرآیند وارد کردن، اودو یک بررسی فایل انجام میدهد تا بهصورت خودکار تصاویر بارگذاریشده را به فایل داده واردشده متصل کند. اگر تطابقی وجود نداشته باشد، فایل داده بدون هیچ تصویری وارد میشود.
توجه
بخش فایلهای وارداتی فعال میشود اگر قالب محصول شما دارای ستون تصویر باشد که تمام فیلدهای آن پر شده باشند.
نامهای فایل تصویر در فایل داده باید با فایلهای تصویر بارگذاریشده مطابقت داشته باشند.
هنگام وارد کردن تعداد زیادی تصویر، میتوانید حداکثر اندازه دسته را بر حسب مگابایت مشخص کنید و یک تأخیر تنظیم کنید تا از بارگذاری بیش از حد سیستم جلوگیری شود. برای انجام این کار، حالت توسعهدهنده را فعال کنید و فیلدهای حداکثر اندازه هر دسته و تأخیر پس از هر دسته را در بخش فایلهای واردشونده پر کنید. به طور پیشفرض، تأخیر با محدودیت تماسهای RPC/API که در سیاست استفاده قابل قبول اودوو کلود تعریف شده است، مطابقت دارد.
وارد کردن رکوردها چندین بار¶
اگر یک فایل وارد شده شامل یکی از ستونها باشد: شناسه خارجی یا شناسه پایگاه داده، رکوردهایی که قبلاً وارد شدهاند اصلاح میشوند، به جای اینکه ایجاد شوند. این ویژگی بسیار مفید است زیرا به کاربران اجازه میدهد همان فایل CSV را چندین بار وارد کنند، در حالی که بین دو وارد کردن تغییراتی ایجاد کردهاند.
اودو مسئولیت ایجاد یا اصلاح هر رکورد را بر عهده دارد، بسته به اینکه جدید باشد یا نه.
این ویژگی به یک شرکت اجازه میدهد تا از ابزار واردات/صادرات در Odoo برای ویرایش یک دسته از رکوردها در یک برنامه صفحهگسترده استفاده کند.
مقدار برای یک فیلد خاص ارائه نشده است¶
اگر تمام فیلدها در فایل CSV تنظیم نشده باشند، اودو مقدار پیشفرض را برای هر فیلد تعریفنشده اختصاص میدهد. اما اگر فیلدها با مقادیر خالی در فایل CSV تنظیم شده باشند، اودو مقدار خالی را در فیلد قرار میدهد، بهجای اینکه مقدار پیشفرض را اختصاص دهد.
صادرات/واردات جداول مختلف از یک برنامه SQL به اودو¶
اگر دادهها نیاز به وارد شدن از جداول مختلف داشته باشند، باید ارتباطات بین رکوردهای متعلق به جداول مختلف بازسازی شوند. به عنوان مثال، اگر شرکتها و افراد وارد شوند، ارتباط بین هر فرد و شرکتی که برای آن کار میکند باید بازسازی شود.
برای مدیریت روابط بین جداول، از امکانات «شناسه خارجی» در Odoo استفاده کنید. «شناسه خارجی» یک رکورد، شناسه منحصربهفرد این رکورد در یک برنامه دیگر است. «شناسه خارجی» باید در میان تمام رکوردهای همه اشیاء منحصربهفرد باشد. یک روش خوب این است که این «شناسه خارجی» را با نام برنامه یا جدول پیشوند کنید. (مانند 'company_1'، 'person_1' - به جای '1')
به عنوان مثال، فرض کنید یک پایگاه داده SQL با دو جدول وجود دارد که باید وارد شوند: شرکتها و افراد. هر فرد متعلق به یک شرکت است، بنابراین ارتباط بین فرد و شرکتی که در آن کار میکند باید بازسازی شود.
این مثال را با نمونهای از پایگاه داده PostgreSQL
آزمایش کنید.
ابتدا، تمام شرکتها و شناسه خارجی آنها را صادر کنید. در 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
در این فایل، فابین و لورنس برای شرکت بیجیز (company_1
) کار میکنند و اریک برای شرکت اورگانی کار میکند. ارتباط بین افراد و شرکتها با استفاده از شناسه خارجی شرکتها انجام میشود. شناسه خارجی با نام جدول پیشوندگذاری شده است تا از تداخل شناسه بین افراد و شرکتها جلوگیری شود (person_1
و company_1
که در پایگاه داده اصلی شناسه ۱ مشترک داشتند).
دو فایل تولید شده آماده وارد شدن به اودو بدون هیچ تغییری هستند. پس از وارد کردن این دو فایل CSV، چهار مخاطب و سه شرکت وجود خواهند داشت (دو مخاطب اول به شرکت اول مرتبط هستند). به خاطر داشته باشید که ابتدا شرکتها و سپس افراد را وارد کنید.
بهروزرسانی دادهها در اودو¶
دادههای موجود میتوانند به صورت انبوه از طریق وارد کردن داده بهروزرسانی شوند، به شرطی که شناسه خارجی ثابت بماند.
آمادهسازی صادرات دادهها¶
برای بهروزرسانی دادهها از طریق وارد کردن، ابتدا به دادههایی که باید بهروزرسانی شوند بروید و نمای |لیست| را فعال کنید. در سمت چپ لیست، کادر انتخاب مربوط به هر رکوردی که باید بهروزرسانی شود را علامت بزنید. سپس روی |اقدامات| کلیک کنید و صادر کردن را از منوی کشویی انتخاب کنید.
در پنجره بازشوی صادرات دادهها که ظاهر میشود، کادر انتخابی با برچسب میخواهم دادهها را بهروزرسانی کنم (صادرات سازگار با واردات) را علامت بزنید. این کار بهطور خودکار شناسه خارجی را در صادرات درج میکند. علاوه بر این، لیست فیلدهای قابل صادرات را به تنها فیلدهایی که قابل وارد کردن هستند محدود میکند.
توجه
فیلد شناسه خارجی (External ID) در لیست فیلدهای قابل صادرات (Fields to export) ظاهر نمیشود مگر اینکه به صورت دستی اضافه شود، اما همچنان در صادرات گنجانده میشود. با این حال، اگر چکباکس میخواهم دادهها را بهروزرسانی کنم (صادرات سازگار با واردات) علامتگذاری شده باشد، این فیلد در صادرات گنجانده میشود.
فیلدهای مورد نیاز را برای گنجاندن در صادرات با استفاده از گزینهها در پنجره پاپآپ انتخاب کنید، سپس روی صادرات کلیک کنید.
وارد کردن دادههای بهروزرسانیشده¶
پس از صادر کردن، هرگونه تغییر لازم را در فایل داده انجام دهید. هنگامی که فایل آماده شد، میتوان آن را با دنبال کردن همان فرآیند وارد کردن دادههای معمولی وارد کرد.
خطر
هنگام بهروزرسانی دادهها، بسیار مهم است که شناسه خارجی ثابت بماند، زیرا سیستم از این طریق یک رکورد را شناسایی میکند. اگر یک شناسه تغییر کند یا حذف شود، ممکن است سیستم به جای بهروزرسانی رکورد موجود، یک رکورد تکراری اضافه کند.