خانه - بهبود
نمونه ای از خواندن xml 1c. تولید فایل XML

انتقال داده یک فرآیند بسیار مهم در هر سیستم حسابداری است، پلتفرم 1C 8.3 و 8.2 از این قاعده مستثنی نیست. در زیر به دستورالعمل‌هایی در مورد ساده‌ترین راه برای انتقال داده‌ها از یک سیستم به سیستم دیگر که دارای پیکربندی مشابه است نگاه می‌کنیم (برای پیکربندی‌های مختلف، می‌توانید از ابزاری برای برنامه‌نویسان استفاده کنید - یا).

قبل از اینکه هر اقدامی لازم باشد، تغییرات غیر قابل برگشت هستند!

ساده ترین و راحت ترین راه برای انتقال داده ها از 1C 8.3 به 1C 8.3 Accounting 3.0 استفاده از پردازش آپلود و بارگیری داده ها در قالب XML است (دانلود - برای 8.2 یا برای 1C 8.3 یا در ITS). درمان جهانی و مناسب برای هر پیکربندی است.

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

بارگذاری داده ها در XML

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

267 درس ویدیویی را در 1C به صورت رایگان دریافت کنید:

شما باید بلافاصله فیلد "نام فایل" را پر کنید - یک فایل داده جدید در این مسیر ایجاد می شود که ما آن را در پایگاه داده گیرنده آپلود می کنیم. درست در زیر، در بخش جدولی «داده‌ها برای آپلود»، باید داده‌هایی را که می‌خواهیم از پایگاه داده آپلود کنیم، انتخاب کنید.

پس از انتخاب یک شی از قسمت جدول سمت چپ، می توانید انتخاب را در قسمت جدول سمت راست اعمال کنید:


در مثال ما، من می خواهم همه محصولات با نام "Rake" را بارگیری کنم.

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


بارگیری داده ها از xml در 1s 8.3

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

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


این مثال فقط برای انتقال داده ها بین پیکربندی های یکسان در پلت فرم 1C مناسب است. برای درک مکانیسم تبادل برای برنامه نویسان، مقاله ای نوشتیم -.

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

ابزارهایی برای ایجاد آپلود

برای صادرات اطلاعات موجود در پایگاه های داده، فرمت xml عمدتا استفاده می شود. برای 1C، روش های پردازش بسیاری توسعه یافته است (به عنوان مثال، UploadLoadDataxml82 epf)، که با کمک آنها می توان داده ها را در یک فایل خروجی و بارگذاری کرد. در این حالت کاربر باید فایلی با ساختار خاصی دریافت کند که به اطلاعات ذخیره شده در آن اجازه می دهد تا در پایگاه داده بومی بارگذاری شوند یا به مکان دیگری منتقل شوند. هنگام ایجاد آپلود، قوانین زیر باید رعایت شود:

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

پردازش جهانی «آپلود و بارگذاری داده‌های XML» ارائه شده در برنامه پشتیبانی کاربر 1C، که می‌توان آن را در وب‌سایت یا دیسک‌های ITS یافت، ابزاری عالی برای صادرات و وارد کردن اطلاعات است. یک کاربر رایانه می‌تواند کل پایگاه داده و اشیاء منفرد آن را آپلود کند، و علاوه بر صادرات واقعی، عملیات مختلفی برای بررسی اطلاعات انجام می‌شود که به خلاص شدن از شر خطاهای مهم در داده‌ها کمک می‌کند. پردازش آپلود 1c در xml در دو حالت کار می‌کند:

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

پردازش به شما امکان می دهد اشیاء را برای کاراکترهای نامعتبر بررسی کنید، و همچنین شامل یک تابع برای صادرات اطلاعات با محدودیت است.

آپلود نه تنها هنگام تبادل اطلاعات بین پایگاه های داده 1C قابل استفاده است. با کمک آن می توانید از ادغام مجتمع های مختلف، به عنوان مثال، 1C و سیستم Parus اطمینان حاصل کنید. تطبیق پذیری فرمت XML به شما امکان می دهد برنامه هایی برای انتقال اطلاعات تقریباً برای هر بانک اطلاعاتی ایجاد کنید. پردازش، آپلود و دانلود داده های xml مهمترین ابزار برای تبادل اطلاعات است.

فرآیند آپلود داده ها درxml

بیایید نحوه آپلود از 1c به xml را در حالت عادی بررسی کنیم. پس از دانلود فایل پردازشی UploadLoadDataxml.epf و باز کردن آن، باید مراحل زیر را انجام دهید:

  • انتخاب اشیاء برای صادرات.
  • فیلترهای لازم را تنظیم کنید، به عنوان مثال، بر اساس دوره؛
  • محل فایل را با اطلاعات روی زیرسیستم دیسک تعیین کنید.
  • شروع به تخلیه اشیا کنید.


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

xml

xml در 1c در پایگاه داده دریافت کننده با پیکربندی یکسان با پایگاه داده منبع بارگذاری می شود. قبل از بارگیری xml 1c در 1c، باید پردازش را در پایگاه داده دریافت کننده باز کنید. سپس باید مسیر فایل آپلود شده قبلی را مشخص کنید و با کلیک بر روی دکمه "بارگیری داده ها" داده ها را دانلود کنید.

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


پس از این، باید پایگاه‌های داده را بررسی کنید و مطمئن شوید که همه عناصر به درستی بارگذاری شده‌اند تا از بین نرود، مثلاً اگر پس از بارگذاری یک شی، خطایی در مدیریت رویداد رخ داد.


این پردازش به شما امکان می دهد داده ها را بین پیکربندی های یکسان (یکسان) در پلت فرم 1C 8.2 - Bukh، ZUP، UT، UPP و دیگران تبادل کنید، نکته اصلی این است که تنظیمات یکسان است!

پردازش اسکرین شات ها

(عکس)

حالت های عملیاتی

پردازش 2 حالت عملیاتی را اجرا می کند: آپلود (ایجاد یک فایل آپلود از داده های مشخص شده توسط کاربر) و بارگذاری (خواندن یک فایل آپلود ایجاد شده توسط حالتی به همین نام و نوشتن داده های موجود در آن). حالت با انتخاب آن در قسمت Mode تنظیم می شود.

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

در حالت دانلود، امکان ویرایش استفاده از مجموع در هنگام نوشتن ثبات وجود دارد که ممکن است بر سرعت دانلود تأثیر بگذارد.

دکمه‌های «غیرفعال کردن مجموع‌ها» و «فعال کردن مجموع‌ها» زمانی در دسترس هستند که پرچم «فعال کردن قابلیت ویرایش استفاده از مجموع در حین بارگیری داده‌ها» تنظیم شده باشد و برای کنترل دستی حالت استفاده از مجموع در هنگام بارگیری داده‌ها استفاده می‌شود.

شرایط کاربرد پردازش

پردازش فقط در مواردی قابل استفاده است که پایگاه اطلاعاتی که در آن داده ها بارگذاری شده است و پایگاهی که داده در آن بارگذاری شده است همگن هستند (پیکربندی ها یکسان هستند، داده ها ممکن است متفاوت باشند) یا همه اشیاء بارگذاری شده تقریباً کاملاً یکسان هستند. ترکیب و انواع جزئیات و قطعات جدول، ویژگی‌های شی ابرداده "پیشرو" و غیره. لازم به ذکر است که با توجه به این محدودیت ها، پردازش عمدتاً برای تبادل بین IS همگن در نظر گرفته شده است.

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

تعیین ترکیب تخلیه

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

هنگام باز کردن یک فرم، پردازش علامت تخلیه را با ارجاع به همه اشیاء تنظیم می کند که یکپارچگی ارجاعی قطعه بارگیری نشده پایگاه اطلاعات را تضمین می کند.

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

برنامه های کاربردی ممکن

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

در یک سازمان، حسابداری را می توان نه تنها در راه حل های پلت فرم 1C: Enterprise، بلکه در سایر سیستم های نرم افزاری (Galaktika، Parus، SAP و غیره) حفظ کرد. این امر چالش یکپارچه سازی دو برنامه را ایجاد می کند.

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

تبادل با استفاده از این فرمت جهانی است زیرا اکثر برنامه ها می توانند با آن کار کنند. بیایید ببینیم چگونه می توانید لیستی از اسناد پیکربندی را در یک فایل XML از 1C: Enterprise آپلود کنید.

به XML آپلود کنید

و بنابراین، بیایید به موضوع اصلی برویم. ما باید لیستی از ابرداده های سند را طی کنیم و لیست را در فایل XML ایجاد کنیم. تصویر زیر الگوریتم تولید یک فایل XML را نشان می دهد:

تابع ()CreateXML Export // نام فایل موقت را دریافت کنیدمسیر = GetTemporaryFileName(); // کلاس "XML Record" را راه اندازی کنید Entry = New EntryXML; // یک فایل موقت برای نوشتن باز کنید - 8 ") ; // اعلان فایل XML را بنویسیدرکورد. WriteDeclarationXML() ; // رکورد. WriteElementStart(" DocumentsConfigurations") ; // عنصر اول // ویژگی اولین عنصر با تاریخ ایجاد فایلرکورد. WriteAttribute(" generated ", Format(CurrentDate(), "DF = yyyy-MM- ddThh:mm:ss; DLF = DT")) ; // برای هر سند پیکربندی یک عنصر بنویسید. نام سند را در متن قرار می دهیم.برای هر سند از فراداده. ضبط چرخه اسناد. WriteElementStart ("سند")؛ رکورد. WriteText(Doc.Name) ; رکورد. WriteEndElement(); چرخه پایان // نوشتن اولین عنصر را تمام کنیدرکورد. WriteEndElement(); رکورد. بستن()؛ // فایل را ببندید // داده های باینری فایل را دریافت کرده و آن را در ذخیره سازی موقت قرار دهید BinaryData = BinaryData (مسیر) جدید ; آدرس = PlaceInTemporaryStorage (BinaryData، New UniqueIdentifier)؛ آدرس بازگشت؛ // آدرس فایل را به حافظه بازگردانید EndFunction

هر عنصر ایجاد شده باید به درستی تکمیل شود. پس از اجرای “WriteStartofElement()” باید متد “WriteEndElement()” اجرا شود، در غیر این صورت ساختار فایل XML نادرست خواهد بود.

الگوی کلی برای ایجاد فایل های XML به ترتیب زیر است:

// 1. کلاس "XML Record" را راه اندازی کنید Entry = New EntryXML; // 2. یک فایل موقت برای ضبط باز کنیدرکورد. OpenFile (مسیر، "UTF-8")؛ // 3. اعلان فایل XML را بنویسیدرکورد. WriteDeclarationXML() ; // // 4. ++ محتویات فایل XML را بنویسیدرکورد. WriteElementStart("XMLElement"); رکورد. WriteEndElement(); // -- محتویات فایل XML را بنویسید // 5. فایل را ببندیدرکورد. بستن()؛

این پنج مرحله تقریباً هر فایل XML را ایجاد می کند.

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

می توانید نمونه ای از فایل آپلود شده را در تصویر بالا مشاهده کنید.

برنامه شخص ثالث

به عنوان مثال، من یک برنامه در .NET Framework ایجاد کردم تا خواندن یک فایل XML را در یک برنامه شخص ثالث نشان دهم.

برنامه فایل ایجاد شده را می خواند و اسناد را در قالب یک لیست نمایش می دهد:

می توانید خودتان آن را امتحان کنید، برنامه برای دانلود با استفاده از لینک انتهای مقاله در دسترس است.

تطبیق پذیری

فرمت XML در اکثر پیکربندی ها برای تبادل داده بین راه حل های کاربردی در پلت فرم 1C: Enterprise استفاده می شود. یکی دیگر از روش های رایج ارتباطی از طریق اتصال COM است. XML به شما امکان می دهد تقریباً با هر برنامه ای مبادله کنید، به همین دلیل است که شایسته نام جهانی است.

فایل های جهت دانلود:

برنامه فایل خوان XML.

پردازش تولید فایل XML.

هنگامی که یک شرکت دائماً از نوعی بسته نرم افزاری در کار خود استفاده می کند، طبیعتاً همیشه سؤال پشتیبانی و مدیریت مداوم آن مطرح می شود. هیچ راهی برای اجتناب از وظایف مبادله، ذخیره و بازیابی داده ها وجود ندارد. بیایید به نحوه بارگیری یا بارگیری داده ها از 1C در قالب XML نگاه کنیم، زیرا این یک روش مهم برای این موضوع است.

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

بنابراین، بارگذاری در یک فایل XML (وارد کردن رکوردها) از یک پایگاه اطلاعاتی و بارگذاری بعدی از XML به دیگری نشان دهنده تبادل داده ها در قالب XML بین پایگاه های داده است.

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

Import (فایل به دست آمده) همچنین می تواند به عنوان یک بایگانی برای بازیابی در شرایط غیرمنتظره (در صورت گم شدن یا آسیب دیدن) استفاده شود.

بسیاری از چنین ابزارهای پردازشی توسعه یافته اند و در اینترنت در دسترس هستند. مسئولیت استفاده از آنها بر دوش (و سر) مشتری است.

اما برای کاربران رسمی Odeneski، توسعه دهندگان یک پردازنده جهانی "آپلود/بارگذاری داده های XML" ایجاد کرده اند.

مهم. صادرات به XML در 1C و بارگذاری بیشتر در XML از 1C برای پیکربندی های یکسان قابل قبول است - در غیر این صورت آسیب می بیند.

کنترل کننده جهانی

نکات کلیدی برای استفاده از توسعه دهنده جهانی:

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

عملکرد آن دو حالت دارد: ایجاد فایل هنگام ذخیره اطلاعات و خواندن/نوشتن آن هنگام وارد کردن.

علاوه بر این، کاربر می تواند محدودیت های اضافی را هم هنگام صادرات و هم در بارگذاری داده ها تعیین کند.

استخراج رکوردها

شما می توانید داده ها را هم در کل پایگاه داده و هم به صورت انتخابی - شی به شی آپلود کنید.

پس از دانلود، نصب و باز کردن کنترلر، موارد زیر رخ می دهد:

انتخاب آنها در کادر محاوره ای که پس از راه اندازی باز می شود انجام می شود. برای انجام این کار، کادرهای موجود در لیست را علامت بزنید که اشیاء فراداده ای را که باید بازیابی شوند را نشان می دهد.

  1. فیلترهای لازم پیکربندی شده اند (به عنوان مثال، بر اساس تاریخ).
  2. فضای دیسک انتخاب شده است.
  3. خود عملیات شروع می شود.

بارگذاری سوابق روی گیرنده

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

پس از مشخص شدن مسیر فایل منبع و فعال شدن پرچم‌های تنظیمات رویه (در صورت لزوم)، می‌توانید فرآیند را با دکمه «بارگذاری داده» شروع کنید.


اکنون می دانید که چگونه داده ها را از 1C در قالب XML بارگیری یا تخلیه کنید تا داده ها را ذخیره کرده و بین پایگاه های داده تبادل کنید.

تجربه خود را در این زمینه در نظرات بنویسید.

2018-11-15T19:32:35+00:00

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

پردازش فقط در مواردی قابل استفاده است که پایگاه اطلاعاتی که در آن داده ها بارگذاری شده است و پایگاهی که داده در آن بارگذاری شده است همگن هستند (پیکربندی ها یکسان هستند، داده ها ممکن است متفاوت باشند) یا همه اشیاء بارگذاری شده تقریباً کاملاً یکسان هستند. ترکیب و انواع جزئیات و قطعات جدول، ویژگی‌های شی ابرداده "پیشرو" و غیره.

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

پردازش از آپلود داده ها با قابلیت تعیین انتخاب بر اساس دوره پشتیبانی می کند. همچنین بررسی اشیاء برای وجود کاراکترهای نامعتبر هنگام تبادل از طریق XML اجرا شده است.

با احترام، (معلم و توسعه دهنده).

در یک سازمان، حسابداری را می توان نه تنها در راه حل های پلت فرم 1C: Enterprise، بلکه در سایر سیستم های نرم افزاری (Galaktika، Parus، SAP و غیره) حفظ کرد. این امر چالش یکپارچه سازی دو برنامه را ایجاد می کند.

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

تبادل با استفاده از این فرمت جهانی است زیرا اکثر برنامه ها می توانند با آن کار کنند. بیایید ببینیم چگونه می توانید لیستی از اسناد پیکربندی را در یک فایل XML از 1C: Enterprise آپلود کنید.

به XML آپلود کنید

و بنابراین، بیایید به موضوع اصلی برویم. ما باید لیستی از ابرداده های سند را طی کنیم و لیست را در فایل XML ایجاد کنیم. تصویر زیر الگوریتم تولید یک فایل XML را نشان می دهد:

تابع ()CreateXML Export // نام فایل موقت را دریافت کنیدمسیر = GetTemporaryFileName(); // کلاس "XML Record" را راه اندازی کنید Entry = New EntryXML; // یک فایل موقت برای نوشتن باز کنید- 8 " ) ; // اعلان فایل XML را بنویسیدرکورد. WriteDeclarationXML() ; // رکورد. WriteElementStart(" DocumentsConfigurations" ) ; // عنصر اول // ویژگی اولین عنصر با تاریخ ایجاد فایلرکورد. WriteAttribute(" generated ", Format(CurrentDate(), "DF = yyyy-MM- ddThh:mm:ss; DLF = DT" ) ) ; // برای هر سند پیکربندی یک عنصر بنویسید. نام سند را در متن قرار می دهیم.برای هر سند از فراداده. ضبط چرخه اسناد. WriteElementStart ("سند")؛ رکورد. WriteText(Doc.Name) ; رکورد. WriteEndElement(); چرخه پایان ; // نوشتن اولین عنصر را تمام کنیدرکورد. WriteEndElement(); رکورد. بستن()؛ // فایل را ببندید // داده های باینری فایل را دریافت کرده و آن را در ذخیره سازی موقت قرار دهید BinaryData = BinaryData (مسیر) جدید ; آدرس = PlaceInTemporaryStorage (BinaryData، New UniqueIdentifier)؛ آدرس بازگشت؛ // آدرس فایل را به حافظه بازگردانید EndFunction

هر عنصر ایجاد شده باید به درستی تکمیل شود. پس از اجرای “WriteStartofElement()” باید متد “WriteEndElement()” اجرا شود، در غیر این صورت ساختار فایل XML نادرست خواهد بود.

الگوی کلی برای ایجاد فایل های XML به ترتیب زیر است:

// 1. کلاس "XML Record" را راه اندازی کنید Entry = New EntryXML; // 2. یک فایل موقت برای ضبط باز کنیدرکورد. OpenFile(Path، "UTF - 8 " ) ; // 3. اعلان فایل XML را بنویسیدرکورد. WriteDeclarationXML() ; // // 4. ++ محتویات فایل XML را بنویسیدرکورد. WriteElementStart("XMLElement"); رکورد. WriteEndElement(); // -- محتویات فایل XML را بنویسید // 5. فایل را ببندیدرکورد. بستن()؛

این پنج مرحله تقریباً هر فایل XML را ایجاد می کند.

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

می توانید نمونه ای از فایل آپلود شده را در تصویر بالا مشاهده کنید.

برنامه شخص ثالث

به عنوان مثال، من یک برنامه در .NET Framework ایجاد کردم تا خواندن یک فایل XML را در یک برنامه شخص ثالث نشان دهم.

برنامه فایل ایجاد شده را می خواند و اسناد را در قالب یک لیست نمایش می دهد:

می توانید خودتان آن را امتحان کنید، برنامه برای دانلود با استفاده از لینک انتهای مقاله در دسترس است.

تطبیق پذیری

فرمت XML در اکثر پیکربندی ها برای تبادل داده بین راه حل های کاربردی در پلت فرم 1C: Enterprise استفاده می شود. یکی دیگر از روش های رایج ارتباطی از طریق اتصال COM است. XML به شما امکان می دهد تقریباً با هر برنامه ای مبادله کنید، به همین دلیل است که شایسته نام جهانی است.

فایل های جهت دانلود:

برنامه فایل خوان XML.

پردازش تولید فایل XML.

چگونه داده های بارگیری شده از تجارت یا حقوق را در 1C بارگیری کنیم: حسابداری 8.3 (نسخه 3.0)؟

2016-12-01T12:52:06+00:00

اغلب، داده های تجارت یا حقوق و دستمزد به حسابداری منتقل می شود.

داده های دانلود شده یک فایل با پسوند " xmlچگونه آن را در برنامه بارگذاری کنیم؟

  1. بیا شروع کنیم با ایجاد یک نسخه پشتیبانبخش حسابداری، تا اگر دانلود دیتابیس را خراب کرد، بتوانیم به حالت اولیه برگردیم. در مورد ایجاد نسخه های پشتیبان نوشته شده است.
  2. حالا منو را باز کنید " همه توابع" (درباره آن).
  3. در پنجره ای که باز می شود، مورد را پیدا کنید " درمان هاو آن را با علامت مثبت باز کنید.
  4. ما در میان موارد پردازش آن را پیدا کرده و باز می کنیم " تبادل جهانی داده در قالب XML".
  5. ".
  6. نشان می دهیم مسیر فایلکه از آن داده ها را بارگیری خواهیم کرد.
  7. دکمه را فشار دهید " دانلود داده ها".

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

با احترام، (معلم و توسعه دهنده).

- صفحات وب معروف، که آنالوگ XML با چک های ضعیف نیز هستند.

اشیاء XML Reader/Writer، FastInfoset، HTML قابلیت های خواندن فایل متنی را با پردازش داخلی تگ های نشانه گذاری گسترش می دهند.

آنها همچنین برای اشیاء DOMBuilder/DOMRecord (به زیر مراجعه کنید) به عنوان منابع داده استفاده می شوند.

فایل‌های XML 1C حاوی اطلاعات متنی هستند، یعنی فایل‌های متنی هستند. اشیاء 1C XML Reader و 1C Write XML «افزونه‌ای» هستند که کار با برچسب‌های XML را در یک فایل 1C آسان‌تر می‌کنند.

اشیاء ReadingFastInfoset 1C و WritingFastInfoset 1C، ReadingHTML 1C و WritingHTML 1C کاملاً شبیه ReadingXML 1C و WritingXML 1C هستند و به همان شیوه با فرمت‌های دیگر کار می‌کنند.

فایل XML 1C مورد استفاده در مثال ها

دایرکتوری>

دایرکتوری>

Text valueProps>
دایرکتوری>
پیکربندی>

مثال 1. خواندن یک فایل XML 1C در درخت ارزش با استفاده از خواندن XML 1C

//فایل XML 1C را برای خواندن با استفاده از ReadingXML 1C باز کنید
File = New ReadXML();
File.OpenFile("D:\ConfigurationStructure.xml");

// درخت ارزش را آماده کنید
//هر شاخه XML می تواند یک نام، ویژگی و مقدار داشته باشد
dzXML = NewValueTree();
dzXML.Columns.Add("Name");
dzXML.Columns.Add("Value");
dzXML.Columns.Add("ویژگی ها");

//از آنجایی که یک رشته XML می تواند چندین ویژگی داشته باشد، آنها را در جدول مقادیر می نویسیم
//هر ویژگی یک نام و یک مقدار دارد
tAttributes = New ValueTable();
tAttributes.Columns.Add("Name");
tAttributes.Columns.Add("Value");

//سطح تودرتو به ما کمک می کند بفهمیم چه زمانی باید یک شاخه تودرتو اضافه کنیم و چه زمانی باید به یک سطح برگردیم.
سطح تودرتو = 0;
//خط فعلی یک خط درخت است، با افزایش تودرتو تغییر خواهد کرد
CurrentRow = Undefined;
//خواندن فایل XML 1C خط به خط انجام نمی شود، بلکه بر اساس ساختار انجام می شود؛ وقتی فایل به پایان می رسد، خواندن FALSE برمی گردد.
در حالی که File.Read() حلقه بزنید

//ما به سه نوع گره علاقه مندیم - ابتدای عنصر، متن (مقدار عنصر) و انتهای عنصر (برای بازگشت به سطح بالا)
اگر File.NodeType = XMLNodeType.ElementStart سپس

سطح تودرتو = سطح تودرتو + 1;

//اگر این اولین خط است، آن را به بالای درخت اضافه کنید و فقط نام را ذخیره کنید
اگر CurrentRow = Undefined then
CurrentRow = dXML.Rows.Add();
CurrentLine.Name = File.Name;
ادامه هید؛
در غیر این صورت
//خطوط تودرتو
CurrentRow = CurrentRow.Rows.Add();
CurrentLine.Name = File.Name; //نام را ذخیره کنید

//آیا این عنصر XML دارای ویژگی هایی است؟
اگر File.NumberAttributes() > 0 سپس
//اگر بله، جدول خالی آماده شده را برای ذخیره ویژگی ها کپی کنید
tAttributesNode = tAttributes.Copy();
//تعداد ویژگی های این عنصر را طی می کند
برای حساب = 0 توسط File.Number of Attributes() -1 Cycle
//برای هر ویژگی، نام و مقدار را به خاطر بسپارید
ردیف = tNodeAttributes.Add();
Line.Name = File.AttributeName(Sch);
Row.Value = File.AttributeValue(Ac);
چرخه پایان
// جدول ویژگی عنصر را در خط جاری ذخیره کنید
CurrentRow.Attributes = tNodeAttributes;
endIf;
endIf;

ElseIf File.NodeType = XMLNodeType.EndElement سپس
//در ابتدای عنصر، سطح تودرتو را افزایش می دهیم، در انتهای عنصر آن را کاهش می دهیم
Nesting Level = Nesting Level - 1;
//خط فعلی را یک سطح به بالا برگردانید
CurrentRow = CurrentRow.Parent;

ElseIf File.NodeType = XMLNodeType.Text سپس
//اگر عنصر دارای مقدار است، فقط آن را ذخیره کنید
CurrentRow.Value = File.Value;

endIf;

چرخه پایان

File.Close();

مثال 2. ضبط یک فایل XML 1C با استفاده از شیء 1C Record XML

//ایجاد یک فایل XML 1C را ضبط کنید
فایل = NewWriteXML();
File.OpenFile("D:\ConfigurationStructure.xml"، "UTF-8");
File.WriteElementStart("پیکربندی");

//استفاده از ابرداده برای عبور از همه دایرکتوری ها (برای جزئیات بیشتر، به "کار با ابرداده" مراجعه کنید)
برای هر دایرکتوری از چرخه Metadata.Directories

//WriteStartofElement - یک شاخه [فرعی] جدید باز می کند
File.WriteElementStart("Directory");
//WriteAttribute - یک ویژگی را به شاخه ای که قبلا باز شده می نویسد
File.WriteAttribute("Name", Directory.Name);
File.WriteAttribute("مترادف"، Directory.Synonym);

//با استفاده از ابرداده تمام جزئیات دایرکتوری را مرور می کنیم
برای هر Props از چرخه Directory.Props




چرخه پایان

//استفاده از ابرداده برای عبور از تمام بخش های جدولی دایرکتوری
برای هر PM از دایرکتوری. بخش های جدولی چرخه
File.WriteElementStart("TabularPart");
File.WriteAttribute("Name", PM.Name);
File.WriteAttribute("مترادف"، PM.Synonym);

برای هر Props از چرخه PM.Props
File.WriteElementStart("Props");
File.WriteAttribute("Name", Attributes.Name);
File.WriteAttribute("Synonym", Attributes.Synonym);
File.WriteEndElement();
چرخه پایان

File.WriteEndElement();
چرخه پایان

//WriteEndElement - شعبه ای را که قبلاً با استفاده از WriteBeginElement باز شده است، "بسته".
File.WriteEndElement();
چرخه پایان

File.WriteEndElement();
File.Close();



 


خواندن:



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

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

رم بر اساس سیگنال های کنترلی از کنترلر حافظه که در پل شمالی چیپست (اینتل) قرار دارد یا مستقیماً ...

نصب Navitel بر روی ناوبر و کامپیوتر

نصب Navitel بر روی ناوبر و کامپیوتر

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

رمز عبور سرور Minecraft را از طریق حساب شخصی خود و در مشتری تغییر دهید

رمز عبور سرور Minecraft را از طریق حساب شخصی خود و در مشتری تغییر دهید

بازی Minecraft می تواند کاملاً هر بازیکنی را مورد علاقه خود قرار دهد، زیرا در آن می توانید افسانه شخصی خود را بسازید و ...

کابل اسپیکر چیست

کابل اسپیکر چیست

در کار حرفه ای با صدا، درک اصول اولیه تعویض انواع تجهیزات بسیار مهم است، این امر باعث سهولت و سرعت بیشتر...

فید-تصویر RSS