نحوه ایمپورت داده ها داخل اودوو


طریقه شروع

شما می توانید داده ها را با استفاده از فرمت (Excel (.xlsx و یا (CSV (.csv ایمپورت کنید: مخاطبان، محصولات، صورت حسابهای بانکی، داده های دفتر روزنامه و حتی سفارش ها!

نمای شیئی را که می خواهید تکمیل کنید، باز نموده و بر روی ایمپورت کلیک کنید. 

Odoo CMS - یک تصویر بزرگ

در اینجا، قالب هایی در اختیار شما گذاشته می شود که می توانید به راحتی با داده های خود پر کنید. چنین قالب هایی را می توان با یک کلیک ایمپورت کرد. داده ها به طور خودکار جایگذاری می شود. 


نحوه تطبیق قالب

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

  • توصیه می شود ستون شناسه را حذف نکنید (علت را در بخش بعدی مشاهده کنید)

  • با درگ ترتیب بندی شناسه به پایین، یک شناسه منحصر به فرد برای هر رکورد تنظیم کنید.

Odoo CMS - یک تصویر بزرگ
  • هنگامی که شما یک ستون جدید اضافه می کنید، در صورت عدم تناسب برچسب ستون با فیلدهای سیستم، اودوو نمی تواند آن را به طور خودکار جایگذاری کند. شما می توانید هنگام تست کردن ایمپورت، ستون های جدید را دستی اضافه نمایید. لیست فیلد مربوطه را جستجو کنید.

Odoo CMS - یک تصویر بزرگ

سپس از برچسب فیلد موجود در فایل استفاده کنید تا دفعه بعد، فوراً عمل کند.

چگونه می توان از برنامه دیگر ایمپورت کرد؟

به منظور ایجاد دوباره ارتباط بین رکوردهای مختلف، باید از شناسه منحصر به فرد برنامه اصلی استفاده نموده و آن را در ستون شناسه (External ID) در اودوو جایگذاری کنید. هنگام ایمپورت یک رکورد دیگر که به رکورد اول مربوط می شود، از (XXX / ID  (XXX/External ID  استفاده کنید. همچنین شما می توانید این رکورد را با استفاده از نام پیدا کنید اما اگر حداقل دو رکورد دارای نام یکسان باشند، با مشکل مواجه خواهید شد. 

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


نمی توانم فیلد مورد نظر برای نگاشت ستون ها را پیدا کنم

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

در صورتی که چنین اتفاقی بیفتد، فقط باید گزینه نمایش فیلدهای ارتباطی (پیشرفته) ** را فعال کنید، پس از آن می توانید از لیست کامل فیلدها برای هر ستون انتخاب کنید.

Odoo CMS - یک تصویر بزرگ

از کجا می توان فرمت تاریخ ایمپورت را تغییر داد؟

اودوو می تواند به صورت خودکار تشخیص دهد که یک ستون، تاریخ است و سعی خواهد کرد فرمت تاریخ را از مجموعه ای از فرمت های پرکاربرد، حدس بزند. در حالی که این فرآیند در بسیاری از فرمت های ساده تاریخ عمل می کند، برخی از فرمت های عجیب را شناسایی نخواهد کرد و ممکن است باعث سردرگمی هایی شود (به عنوان مثال، روز و ماه معکوس شده باشد) همانطور که حدس صحیح در مورد اینکه کدام بخش روز است و کدام یک ماه در تاریخی مانند '01 -03-2016 ' مشکل است.

برای اینکه بدانید که اودوو کدام فرمت تاریخ را از فایل شما پیدا کرده، می توانید Date Format را که در هنگام کلیک بر روی Options در زیر انتخابگر فایل نمایش داده می شود، فعال کنید. اگر این فرمت نادرست باشد، می توانید آن را به دلخواه خود، با استفاده از ISO 8601 برای تعریف فرمت تغییر دهید.  

توجه:  اگر شما فایل اکسل (.xls، .xlsx) را ایمپورت می کنید، می توانید از خانه های تاریخ برای ذخیره تاریخ استفاده کنید زیرا نمایش تاریخ در اکسل متفاوت از نحوه ذخیره آن است. به این ترتیب مطمئن شوید که هر فرمت تاریخی که لوکال شما داشته باشد، فرمت تاریخ در اودوو صحیح نشان خواهد داد. 


آیا می توان اعدادی با علامت واحد پول را ایمپورت کرد (مثال: $32.00)؟

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

نمونه هایی از اعداد پشتیبانی شده (به عنوان مثال، عدد سی و دو هزار):

  • 32.000,00

  • 32000,00

  • 32,000.00

  • -32000.00

  • (32000.00)

  • $ 32.000,00

  • (32000.00 €)

مثالی که عمل نخواهد کرد:

  • ABC 32.000,00

  • $ (32.000,00)


وقتی جدول پیش نمایش ایمپورت شده به درستی نمایش داده نمی شود، چه کاری باید انجام داد؟

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

توجه داشته باشید که اگر فایل CSV دارای جدول بندی به صورت جدا کننده باشد، اودوو این تفکیک و جدایی را شناسایی نخواهد کرد. شما باید گزینه های فرمت فایل را در برنامه صفحه گسترده خود تغییر دهید. به سؤال زیر رجوع کنید. 


چگونه می توان گزینه های فرمت فایل CSV را هنگام ذخیره در برنامه صفحه گسترده تغییر داد؟

اگر فایل های CSV را در برنامه های صفحه گسترده، ویرایش و ذخیره کنید، تنظیمات منطقه ای کامپیوتر شما برای جداسازی اعمال خواهد شد. پیشنهاد می شود از OpenOffice و یا LibreOffice Calc استفاده کنید زیرا به شما امکان می دهد هر سه گزینه را تغییر دهید (در باکس 'Save As' » باکس 'Edit filter settings'  را تیک بزنید » و بعد  Save کنید). 

اکسل به شما این امکان را می دهد تا هنگام ذخیره، فقط کدگذاری را تغییر دهید (در باکس 'Save As'   بر روی » لیست کشویی 'Tools' » تب Encoding کلیک کنید). 


تفاوت بین شناسه پایگاه داده و شناسه خارجی چیست؟

برخی از فیلدها ارتباط با یک شی دیگر را تعریف می کنند. به عنوان مثال، کشور مخاطب، لینکی به رکورد شیء 'Country'  است. هنگامی که شما می خواهید چنین فیلدهایی را ایمپورت کنید، اودوو مجبور خواهد شد لینک های بین رکوردهای مختلف را دوباره ایجاد کند. برای کمک به ایمپورت چنین فیلدهایی، اودوو، سه مکانیسم  در اختیار می گذارد. شما باید فقط از یک مکانیسم در فیلد مورد نظر برای ایمپورت استفاده کنید.

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

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

  • کشور/شناسه پایگاه داده: شناسه منحصر به فرد اودوو برای یک رکورد که با ستون ID postgresql تعریف می شود

  • کشور/ شناسه خارجی: شناسه این رکورد که در برنامه دیگر (یا فایل .XML که آن را ایمپورت کرده) اشاره شده است

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

  • کشور: بلژیک

  • کشور/شناسه پایگاه داده:21

  • کشور/شناسه خارجی: base.be


با توجه به نیاز خود، باید از یکی از 3 روش زیر استفاده کنید:

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

  • از کشور / شناسه پایگاه داده استفاده کنید: شما باید به ندرت از این علائم استفاده کنید. این گزینه بیشتر توسط برنامه نویسان مورد استفاده قرار می گیرد، زیرا مزیت اصلی آن، نداشتن ناسازگاری است (شما ممکن است چندین رکورد با همین نام داشته باشید، اما آنها همیشه یک شناسه پایگاه داده منحصر به فرد دارند).

  • استفاده از کشور/ شناسه خارجی: هنگام وارد کردن داده ها از یک برنامه دیگر از شناسه خارجی استفاده کنید.

هنگام استفاده از شناسه های خارجی، می توانید فایل های CSV را با ستون "External ID" ایمپورت کنید تا شناسه خارجی هر رکورد ایمپورت شده را تعریف کنید. پس از آن، شما قادر خواهید بود به آن رکورد با ستون هایی مانند "Field / External ID" اشاره کنید. دو فایل CSV زیر، مثالی برای محصولات و دسته بندی های آنها ارائه می کند.


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

اگر به عنوان مثال، دارای دو دسته بندی محصول با نام زیردسته "قابل فروش" (یعنی "متفرقه محصولات / قابل فروش" و "سایر محصولات / قابل فروش") هستید، اعتبارسنجی شما متوقف شده است، اما هنوز هم می توانید داده های خود را ایمپورت کنید. با این حال، توصیه می شود که داده ها را ایمپورت نکنید، زیرا همه آنها به اولین دسته بندی "قابل فروش" که در لیست دسته بندی محصولات است، لینک می شوند. 

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


چگونه می توان فیلد many2many  را ایمپورت کرد؟ (مثلا مشتری که دارای چندین برچسب است)

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


چگونه می توان رابطه one2many (به عنوان مثال چند خط سفارش فروش) را ایمپورت کرد؟

اگر می خواهید سفارش فروشی را که دارای چند خط سفارش هستند، ایمپورت کنید، برای هر خط سفارش، شما باید یک ردیف مشخصی را در فایل CSV ذخیره کنید. خط اول سفارش در همان ردیف به عنوان اطلاعات مربوط به سفارش ایمپورت خواهد شد. هر خط اضافی به یک ردیف اضافی نیاز دارد که اطلاعاتی در فیلدهای مربوط به سفارش ندارد. به عنوان مثال، در اینجا فایل purchase.order_functional_error_line_cant_adpat.CSV پیش فاکتورهایی که می توانید بر اساس داده های نسخه نمایشی ایمپورت کنید، وجود دارد.

نمونه فایل

فایل CSV زیر نشان می دهد که چگونه می توان سفارشات خرید را از طریق خط سفارش خرید مربوطه ایمپورت کرد:

نمونه فایل

فایل CSV زیر نشان می دهد که چگونه می توان مشتریان و مخاطب های مربوط به آنها را ایمپورت کرد:

نمونه فایل


آیا می توان یک رکورد را چندین بار ایمپورت کرد؟

اگر فایلی را ایمپورت کنید که حاوی یکی از ستون های " External ID" و یا "ID Database" است، رکورد هایی که ایمپورت شده اند به جای اینکه ایجاد شوند، تغییر خواهند کرد. این کار بسیار خوب است زیرا امکان می دهد چندین بار فایل مشابه CSV را ایمپورت کنید در حالی که برخی تغییرات بین دو ایمپورت انجام شده است. اودوو از ایجاد و یا تغییر هر رکورد، مراقبت خواهد کرد.

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


اگر مقدار یک فیلد وارد نشود، چه اتفاقی می افتد؟

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


چگونه می توان جداول مختلف را از برنامه SQL  به اودوو ایمپورت و یا اکسپورت کرد؟

اگر می خواهید داده ها را از جداول مختلف ایمپورت کنید، باید روابط بین رکوردهای جداول مختلف را دوباره ایجاد کنید. (به عنوان مثال، اگر شرکت ها و افراد را ایمپورت می کنید، باید لینک بین هر فرد و شرکتی را که برای آن کار می کنند، مجددا ایجاد کنید).

برای مدیریت روابط بین جداول، می توانید از امکانات " External ID" اودوو استفاده کنید. " External ID " یک رکورد، شناسه منحصر به فرد این رکورد در برنامه دیگر است. این " External ID " باید در رکوردهای تمامی اشیا منحصر به فرد باشد، بنابراین آوردن پیشوند " External ID" برای نام برنامه و یا جدول، کار خوبی است. (مانند "company_1"، "person_1" به جای "1")

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

نخست، همه شرکت ها و " 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_3,Boum,True
company_2,Organi,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_3,Eric,False,company_2 
person_2,Laurence,False,company_1 
person_4,Ramsy,False,company_3 

همانطور که در این فایل مشاهده می کنید،Fabien  و Laurence  برای شرکت Bigees (company_1) کار می کنند و Eric  برای شرکت Organi کار می کند. ارتباط بین افراد و شرکت ها با استفاده از شناسه خارجی شرکت ها انجام می شود. برای جلوگیری از ناسازگاری شناسه بین اشخاص و شرکت ها (person_1 و company_1 که دارای ID 1 یکسان در پایگاه داده اصلی هستند)، باید"External ID"  را به عنوان پیشوند برای نام جدول اضافه کنید.

دو فایل ایجاد شده آماده ایمپورت شدن در اودوو بدون هیچ گونه ویرایشی می باشند. پس از ایمپورت این دو فایل CSV، شما 4 مخاطب و 3 شرکت خواهید داشت (دو مخاطب اول به شرکت اول لینک می شوند). ابتدا باید شرکت ها و سپس افراد را ایمپورت کنید.