ایمپورت اکسل در اودو ۲۰: ورود اطلاعات، خروجی اکسل و به‌روزرسانی گروهی

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

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

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

  • از هر لیستی خروجی Excel یا CSV بگیرید و قالب خروجی بسازید
  • فایل را با قالب آماده‌ی اودو وارد کنید، ستون‌ها را تطبیق دهید و پیش از ورود آزمایش کنید
  • با شناسه‌ی خارجی، رابطه‌ها را درست بسازید و رکوردهای موجود را به‌روز کنید
  • خطاهای رایج تاریخ، عدد، جداکننده و کدگذاری را بشناسید
  • فایل‌های فارسی و تاریخ شمسی را پیش از ورود آماده کنید

پیش‌نیاز

باید به اپ و رکوردهایی که وارد یا خارج می‌کنید دسترسی ساختن و ویرایش داشته باشید. دو گزینه‌ی پیشرفته‌ی ورود به حالت توسعه‌دهنده نیاز دارند (تنظیمات ‣ تنظیمات عمومی ‣ ابزارهای توسعه‌دهنده Settings ‣ General Settings ‣ Developer Tools). ورود و خروج داده در هر دو ویرایش کامیونیتی و اینترپرایز هست. آشنایی با نمای لیست و فیلترها کمک می‌کند؛ آن را در آموزش «جستجو و فیلتر در اودو» ببینید.

تازه‌های اودو ۲۰ در ورود و خروج داده

  • ورود داده‌ی چندزبانه در فیلدهای متنی ترجمه‌پذیر با Excel یا CSV.
  • خروجی فیلدهای ترجمه‌پذیر به تفکیک زبان، همراه با کد ISO زبان.
  • در ورود کالاها، هر سطر می‌تواند یک گونه‌ی کالا با داده‌های خودش باشد: مقدار ویژگی‌ها، بهای تمام‌شده، موجودی و غیره (از نسخه‌ی ۱۹ هم در دسترس است).

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

خروجی اکسل از اودو

از هر فیلدِ هر رکوردی می‌شود خروجی گرفت. کار از نمای لیست شروع می‌شود:

  1. به نمای لیست بروید و رکوردهای لازم را با تیک کنار هر سطر انتخاب کنید.
  2. دکمه‌ی «اقدام‌ها» (Actions) را بزنید و «خروجی» (Export) را انتخاب کنید. پنجره‌ی «خروجی داده» باز می‌شود.
  3. یک طرف پنجره «فیلدهای موجود» است و طرف دیگر «فیلدهای خروجی»، یعنی ستون‌های فایل. فیلد را با دکمه‌ی انتخاب کنارش یا با دوبار کلیک اضافه کنید. با آیکن زیرفیلدها، فیلدهای رکورد مرتبط هم باز می‌شوند؛ مثلاً کشورِ مشتریِ سفارش.
  4. ترتیب ستون‌ها را با کشیدن عوض کنید و فیلد اضافه را حذف کنید. با نوار جست‌وجو فیلد را سریع پیدا کنید.
  5. قالب فایل را انتخاب کنید: Excel ‏(xlsx) یا متن ساده (CSV)، و «خروجی» را بزنید.
  • فقط فیلدهای قابل به‌روزرسانی (Updatable fields only): این کلید فهرست فیلدهای موجود را به فیلدهایی محدود می‌کند که دوباره وارد اودو می‌شوند. اگر قرار است فایل را ویرایش و دوباره وارد کنید، روشنش کنید؛ شناسه‌ی خارجی هم خودکار در خروجی می‌آید.
  • از کانبان: کلید Alt را نگه دارید و روی کارت بزنید تا انتخاب شود؛ با کلیک روی کارت‌های دیگر، یا با Shift برای یک بازه، انتخاب را بزرگ کنید. بعد «اقدام‌ها ‣ خروجی».
  • زبان‌ها: اگر چند زبان نصب است و فیلد ترجمه‌پذیری انتخاب کرده‌اید، فیلد «زبان‌ها» پیدا می‌شود. هر زبانی را انتخاب کنید، برایش یک ستون جدا با نام فیلد و کد زبان ساخته می‌شود (مثلاً Name@fr_FR در مثال خود اودو).

قالب خروجی

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

نکته

خروجی خیلی بزرگ ممکن است به خطای «time out» بخورد. خروجی را چند تکه بگیرید، مثلاً با فیلتر تاریخ یا دسته. برای گزارش‌گیری هم معمولاً گزارش خود اپ (پیوت و نمودار) از خروجی گرفتن بهتر است.

ورود اطلاعات به اودو با Excel یا CSV

هر نوع رکوردی را می‌شود با فایل xlsx یا csv وارد کرد: مخاطب، کالا، صورت‌حساب بانکی، سند حسابداری، سفارش. پیش از هر چیز این را بدانید:

هشدار

ورود داده برگشت ندارد. اگر اشتباه شد، فقط می‌توانید با فیلتر «ایجادشده در» یا «آخرین تغییر» رکوردهای واردشده را پیدا کنید و دستی درستشان کنید. فایل‌های بزرگ را هم چند تکه وارد کنید.

  1. نمای همان رکوردها را باز کنید (مثلاً مشتری‌ها)، آیکن اقدام (Action) را بزنید و «ورود رکوردها» (Import records) را انتخاب کنید.
  2. اگر کار تازه است، وسط صفحه قالب آماده را دانلود کنید (مثلاً «قالب ورود مشتری‌ها»). تطبیق ستون‌های این قالب از پیش تنظیم شده است.
  3. «بارگذاری فایل داده» (Upload Data File) را بزنید و فایل را انتخاب کنید.
  4. برای CSV، «گزینه‌های قالب‌بندی» (Formatting options) را بررسی کنید. برای xlsx این گزینه‌ها نمایش داده نمی‌شوند.
  5. مطمئن شوید هر «ستون فایل» به «فیلد اودو» درست وصل شده و خطایی نشان داده نمی‌شود.
  6. «آزمایش» (Test) را بزنید تا داده بدون ورود واقعی بررسی شود. خطاها را در فایل درست کنید و با «بارگذاری دوباره» (Load Data File) دوباره آزمایش کنید.
  7. وقتی آزمایش بی‌خطا بود، «ورود» (Import) را بزنید.

آماده کردن قالب

  • ستون‌ها را اضافه، حذف یا جابه‌جا کنید تا به داده‌تان بخورد.
  • ستون «شناسه‌ی خارجی» (External ID) را حذف نکنید و به هر سطر یک شناسه‌ی یکتا بدهید؛ در اکسل کافی است شماره‌گذاری را به پایین بکشید.
  • ستون تازه‌ای که نامش با هیچ فیلدی نخواند، خودکار وصل نمی‌شود. هنگام آزمایش، فیلدش را از فهرست کشویی پیدا کنید و همان نام را در فایل‌های بعدی به کار ببرید.
نکته

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

تطبیق ستون‌ها با فیلدهای اودو

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

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

شناسه‌ی خارجی و ورود رابطه‌ها

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

ستوننمونهکی به کار ببرید
CountryIran یا کد کشورساده‌ترین؛ برای فایل‌هایی که دستی ساخته شده‌اند
Country/Database IDشناسه‌ی عددی رکورد در پایگاه دادهبه‌ندرت؛ بیشتر برای برنامه‌نویس‌ها
Country/External IDbase.irبرای داده‌ای که از نرم‌افزار دیگری می‌آید
  • ترتیب ورود: رکوردهای مرتبط را اول از منوی خودشان وارد کنید؛ اول دسته‌های کالا، بعد کالاها. اول شرکت‌ها، بعد افراد.
  • نام تکراری: اگر دو رکورد مرتبط نام یکسان دارند (مثلاً دو دسته با نام «قابل فروش» زیر دو والد مختلف)، اودو همه را به اولی وصل می‌کند. یکی از نام‌ها را عوض کنید یا برای آن ستون از شناسه‌ی خارجی استفاده کنید (پسوند /ID در عنوان ستون).
  • چند برچسب (many2many): مقدارها را در یک خانه با ویرگول و بدون فاصله بنویسید؛ مثلاً Manufacturer,Retailer.
  • سطرهای فرزند (one2many): برای سفارش با چند سطر، سطر اول سفارش در همان ردیف اطلاعات سفارش می‌آید و هر سطر بعدی یک ردیف جدا دارد که ستون‌های مربوط به خود سفارش در آن خالی است.

آوردن داده از نرم‌افزار قبلی

شناسه‌ی یکتای هر رکورد در نرم‌افزار قبلی را در ستون شناسه‌ی خارجی بگذارید. شناسه‌ی خارجی در کل پایگاه داده باید یکتا باشد، پس جلویش نام جدول را بگذارید: company_1 و person_1، نه دو تا «1». بعد در فایل افراد، ستون Related Company/External ID را با company_1 پر کنید تا هر نفر به شرکت خودش وصل شود.

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

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

  1. در نمای لیست رکوردها را انتخاب کنید و «اقدام‌ها ‣ خروجی» را بزنید.
  2. «فقط فیلدهای قابل به‌روزرسانی» را روشن کنید تا شناسه‌ی خارجی هم در فایل بیاید، فیلدهای لازم را انتخاب کنید و خروجی بگیرید.
  3. فایل را ویرایش کنید و با همان روش ورود معمولی، آزمایش و وارد کنید.
اشتباه رایج

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

خطاهای رایج ورود و راه‌حلشان

مشکلعلتراه‌حل
روز و ماه جابه‌جا شدهتاریخی مثل 01-03-2016 هر دو جور خوانده می‌شودتاریخ را به شکل ISO 8601 یعنی YYYY-MM-DD بنویسید؛ در xlsx از خانه‌ی نوع تاریخ استفاده کنید؛ در CSV قالب تاریخ را در گزینه‌های قالب‌بندی درست کنید
عدد خوانده نمی‌شودنماد پولی ناشناخته کنار عدد، یا شکلی مثل $ (32.000,00)نماد را بردارید؛ عدد منفی را در پرانتز بنویسید و نماد پول را داخل پرانتز بگذارید. جداکننده‌ی هزارگان در CSV از گزینه‌های قالب‌بندی عوض می‌شود
پیش‌نمایش به هم ریختهجداکننده‌ی CSV ویرگول نیست یا علامت متن گیومه نیستگزینه‌های قالب‌بندی را با فایل هماهنگ کنید. جداکننده‌ی Tab شناخته نمی‌شود؛ فایل را در نرم‌افزار صفحه‌گسترده با ویرگول ذخیره کنید
رکورد تکراریشناسه‌ی خارجی تکراری یا عوض‌شدههر شناسه یکتا باشد و در به‌روزرسانی دست نخورد
time outفایل خیلی بزرگفایل را چند تکه کنید

نرم‌افزار صفحه‌گسترده هنگام ذخیره‌ی CSV، جداکننده و علامت متن را از تنظیمات منطقه‌ای رایانه برمی‌دارد. اودو LibreOffice یا OpenOffice را پیشنهاد می‌کند که هر سه گزینه را در پنجره‌ی «ذخیره به‌عنوان» با تیک «ویرایش تنظیمات فیلتر» می‌دهند. در Microsoft Excel کدگذاری را از پنجره‌ی «ذخیره به‌عنوان»، منوی Tools، زبانه‌ی Encoding عوض کنید.

برای تصویر کالا: نام فایل‌های تصویر را در ستون تصویر بنویسید، فایل داده را بارگذاری کنید، در بخش «فایل‌های ورودی» تصویرها را انتخاب کنید و بعد آزمایش و ورود. نام‌ها باید دقیقاً با فایل‌ها یکی باشند.

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

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

  • تاریخ شمسی: ابزار ورود اودوی خام تاریخ را میلادی می‌خواند. تاریخی مثل 1405/08/09 ممکن است خطا بدهد یا بدتر، سال ۱۴۰۵ میلادی خوانده شود. پیش از ورود، ستون‌های تاریخ را در اکسل یا با یک اسکریپت به میلادی و شکل YYYY-MM-DD تبدیل کنید، یا از ابزار ورودی استفاده کنید که تاریخ شمسی را می‌شناسد. منطقش این است که پایگاه داده میلادی نگه می‌دارد و فقط نمایش شمسی است (تقویم شمسی در اودو).
  • خروجی هم میلادی است: در اودوی خام تاریخ‌های فایل خروجی میلادی‌اند. برای گزارش فارسی، پس از خروجی در اکسل تبدیلشان کنید. در اودوی بومی‌شده‌ی وستا تقویم شمسی در همه‌ی ماژول‌ها هست.
  • رقم فارسی: همه‌ی نمونه‌های عدد پشتیبانی‌شده در مستندات اودو با رقم لاتین‌اند. نکته: پیش از ورود، رقم‌های ۰ تا ۹ فارسی و عربی را در ستون‌های عدد، مبلغ، تاریخ، کد و شناسه به 0 تا 9 تبدیل کنید.
  • جداکننده‌ی عدد: جداکننده‌ی هزارگان و اعشار فارسی (٬ و ٫) در نمونه‌های اودو نیستند. نکته: عدد را در xlsx به‌صورت خانه‌ی عددی نگه دارید، یا در CSV با جداکننده‌ی لاتین بنویسید و آن را در گزینه‌های قالب‌بندی تنظیم کنید. ریال یا تومان بودن ستون مبلغ را هم پیش از ورود یکی کنید.
  • ی و ک عربی و نیم‌فاصله: فیلدهای رابطه‌ای با نام پیدا می‌شوند. اگر دسته‌ی کالا در اودو «لوازم یدکی» با ی فارسی است و در فایل با «ي» عربی آمده، با هم نمی‌خوانند. نکته: با «جایگزینی» اکسل، «ي» را به «ی» و «ك» را به «ک» تبدیل کنید و نیم‌فاصله‌ها را یکدست کنید؛ برای رابطه‌های مهم شناسه‌ی خارجی امن‌تر از نام است.
  • کدگذاری CSV: اگر متن فارسی پس از ورود به شکل نویسه‌های نامفهوم درآمد، مشکل از کدگذاری فایل است. نکته: CSV را با کدگذاری UTF-8 ذخیره کنید (در اکسل‌های تازه گزینه‌ی «CSV UTF-8»)، یا از xlsx استفاده کنید که تنظیم کدگذاری و جداکننده نمی‌خواهد.
  • انتقال از نرم‌افزار قبلی: اگر داده از نرم‌افزار حسابداری یا انبار فعلی می‌آید، اودوی وستا به نرم‌افزارهای موجود مشتری وصل می‌شود؛ ورود فایل برای انتقال اولیه است، نه برای هم‌گام‌سازی همیشگی.

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

یک فروشگاه زنجیره‌ای لوازم خانگی در تبریز با سه شعبه به اودو می‌آید. از نرم‌افزار قبلی سه فایل اکسل گرفته: ۴۰ دسته‌ی کالا، ۲٬۸۰۰ کالا و ۱٬۵۰۰ مشتری با تاریخ عضویت شمسی. اول با جایگزینی اکسل «ي» و «ك» را یکدست می‌کند، رقم‌های فارسی کد کالا را لاتین می‌کند و ستون تاریخ را به میلادی برمی‌گرداند. به هر ردیف شناسه‌ی خارجی با پیشوند می‌دهد: categ_12، product_1040، customer_77. دسته‌ها را اول وارد می‌کند، بعد کالاها را با ستون Product Category/External ID. فایل کالا را در دو تکه وارد می‌کند و هر بار اول «آزمایش» را می‌زند. یک ماه بعد که قیمت‌ها عوض شد، از کالاها با «فقط فیلدهای قابل به‌روزرسانی» خروجی می‌گیرد، ستون قیمت را در اکسل عوض می‌کند و دوباره وارد می‌کند؛ بی‌آنکه یک کالای تکراری ساخته شود.

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

چطور فایل اکسل را در اودو ایمپورت کنم؟

نمای لیست همان رکوردها را باز کنید، از آیکن اقدام «ورود رکوردها» را بزنید، قالب آماده را دانلود و پر کنید یا فایل خودتان را بارگذاری کنید، ستون‌ها را با فیلدها تطبیق دهید، «آزمایش» و بعد «ورود» را بزنید.

چطور از اودو خروجی اکسل بگیرم؟

در نمای لیست رکوردها را انتخاب کنید، «اقدام‌ها ‣ خروجی» را بزنید، فیلدها را انتخاب و مرتب کنید، قالب Excel ‏(xlsx) را بردارید و «خروجی» را بزنید. برای خروجی‌های تکراری، قالب خروجی ذخیره کنید.

چطور رکوردهای موجود اودو را با اکسل به‌روز کنم بدون اینکه تکراری شوند؟

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

تاریخ شمسی را چطور در اودو ایمپورت کنم؟

اودوی خام تاریخ را میلادی می‌خواند. ستون تاریخ را پیش از ورود به میلادی و شکل YYYY-MM-DD تبدیل کنید، یا از ابزار ورودی استفاده کنید که تاریخ شمسی را می‌شناسد. در اودوی بومی‌شده‌ی وستا تقویم شمسی در همه‌ی ماژول‌ها هست.

چرا متن فارسی در ایمپورت CSV اودو به هم ریخته می‌شود؟

معمولاً کدگذاری فایل UTF-8 نیست. فایل را با کدگذاری UTF-8 ذخیره کنید (در اکسل گزینه‌ی CSV UTF-8) یا به‌جای CSV از xlsx استفاده کنید.

آیا ورود داده در اودو برگشت‌پذیر است؟

نه. ورود داده دائمی است و دکمه‌ی برگشت ندارد. همیشه اول «آزمایش» را بزنید و فایل‌های بزرگ را چند تکه وارد کنید. برای پیدا کردن رکوردهای واردشده از فیلتر «ایجادشده در» یا «آخرین تغییر» استفاده کنید.

منبع و مجوز

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

  1. Odoo 20: Export and import data
  2. Odoo 20 release notes