أجهزة الكمبيوتر شبابيك إنترنت

معلومات المحاسبة. معلومات المحاسبة 1S مستند جدول البيانات قراءة Excel 95

تستخدم معظم المؤسسات في ممارساتها اليومية منتج برنامج Excel من مجموعة Microsoft Office لتتبع المعاملات المحاسبية المختلفة بالطريقة القديمة. يحدث هذا عندما تحولت الشركة مؤخرًا إلى نظام 1C ولم يتم تصحيح أخطاء أقسام التقارير بشكل صحيح بعد، أو يفضل المورد إرسال قائمة الأسعار في شكل جدول ملخص بتنسيق .xls. ليس من المستغرب أن تكون هناك حاجة في كثير من الأحيان لاستبدال الإدخال اليدوي للصفقات بنظام آلي. سيؤدي ذلك إلى تقليل وقت ملء مستندات التسميات بشكل كبير وتقليل عدد الأخطاء، وهو أمر مهم يجب مراعاته عندما يتعلق الأمر بعشرات أو حتى مئات العناصر.


يمكن حل هذه المشكلة بطرق مختلفة: تفضل بعض المنظمات تكليف هذا العمل بقسم تكنولوجيا المعلومات الخاص بها، والبعض الآخر يستأجر مطورين يعملون في شركة صاحب الامتياز، ولكن هذا مكلف للغاية ويستغرق الكثير من الوقت.


تتمثل الطريقة الأكثر ربحية للخروج من هذا الموقف في استخدام تكوين 1C المناسب، والذي سيعالج البيانات مجانًا تمامًا ويصبح مساعدًا عالميًا في دمج مستندات 1C وجداول بيانات Excel.


سنساعدك في هذا القسم على معرفة كيفية تكوين تحميل البيانات من ملف .xls إلى أحد تكوينات البرامج من شركة 1C استنادًا إلى "1C:Enterprise 8"


كل مستخدم للإصدار الاحترافي من 1C:Enterprise 8 لديه بالفعل مثل هذه المعالجة! انها على القرص!

المعالجة النموذجية "تحميل البيانات من Tabular Document.epf"، الموجودة في القسم: "الدعم التكنولوجي" > "الدعم المنهجي 1C: Enterprise 8" > "التقارير العالمية والمعالجة" >

D:1CIts\EXE\EXTREPS\UNIREPS82\UploadFromTableDocument تنزيل


يرجى ملاحظة أنه بدءًا من فبراير 2010، على قرص ITS، توجد هذه المعالجة للتكوينات على النظام الأساسي 8.1 في قسم آخر: "الدعم التكنولوجي" > "الدعم المنهجي 1C:Enterprise 8" > "1C:Enterprise 8.1 النظام الأساسي" > "العالمي" التقارير والمعالجة" > "تحميل البيانات من مستند جدول بيانات".

D:1CIts\EXE\EXTREPS\UNIREPS81\UploadFromTableDocument تنزيل


بيانات المصدر المتاحة:

  • قائمة الأسعار في Excel "PriceOnlineKhimSnab.xls" - Microsoft Office Excel 97-2003 (.xls)
  • التكوين النموذجي Enterprise Accounting Edition 2.0، الإصدار 2.0.12.2، النظام الأساسي 8.2 (8.2.10.77)
  • من الضروري تحميل أسماء المنتجات وأسعارها في 1C من Excel


من قائمة الأسعار، تحتاج إلى تنزيل الكتاب المرجعي للعناصر إلى 1C: Accounting 8.

نطلق برنامج 1C. لبدء المعالجة، حدد عنصر القائمة "ملف"> "فتح".

في النافذة التي تفتح نجد ملف المعالجة

يقع على قرص ITS في الدليل \1CIts\EXE\EXTREPS\UNIREPS82\UploadFromTableDocument

إذا قمت مسبقًا بنسخ ملف المعالجة إلى جهاز الكمبيوتر الخاص بك، فيمكنك تحديده.


سيتم فتح نافذة


يرجى ملاحظة أن تحميل البيانات سيتم على مرحلتين: المرحلة 1 - تحميل الأسماء وتعيين قيم تفاصيل عناصر الدليل الجديدة اللازمة للبدء (وحدة القياس، معدل ضريبة القيمة المضافة، سمة المنتج/الخدمة). المرحلة الثانية - تحميل الأسعار.

جارٍ تحميل العناوين

اضبط "وضع التنزيل" - قم بالتحميل إلى الدليل "عرض الدليل" - التسمية

في علامة التبويب "مستند الجدول".

انقر فوق الزر ex1_b01.jpg "فتح ملف"، في نافذة التحديد التي تظهر، نجد الدليل الذي لدينا فيه قائمة أسعار في Excel والتي نخطط لتحميل البيانات منها إلى 1C.


قد لا يظهر الملف في البداية. اضبط نوع الملف على "ورقة Excel (*.xls)"


حدد ملفنا



يتم عرض تفاصيل بطاقة العنصر.

إعداد خيارات تحميل العنوان

نريد أن نلفت انتباهكم إلى جانب التعرف على الوحدات الهيكلية للكتب المرجعية للتسميات في 1C: برنامج المحاسبة الإصدار 8، لأن أحد النقاط الرئيسية في تحديد هذه العناصر هو الاسم. إذا لم يتم ملء مناصب قاعدة المعلومات في البداية، فستحتاج إلى تتبع المناصب المكررة وحذفها، إن وجدت.


من الصعب تجنب الأسماء المكررة، خاصة بالنسبة للموظفين الذين سيستخدمون هذا النوع من التحميل ليس لإدخال البيانات لمرة واحدة في القائمة، ولكن لتحميل المعلومات بشكل منهجي تلقائيا.


الأمر معقد بسبب حقيقة أن الموظف يتعين عليه التعامل مع الاختصارات المختلفة والاختصارات الأخرى والتهجئة المزدوجة للاسم واستخدام علامات الترقيم المختلفة.


مع الاستخدام المتكرر وكمية كبيرة من المعلومات التي تم تنزيلها، نوصي باستخدام برامج أخرى من سلسلة "1C: Enterprise 8"، على سبيل المثال "1C: Trade Management 8" أو "1C: Small Firm Management 8" أو "1C: Integrated Automation 8"، والتي تحتوي على معلمة "Article"، والتي تضمن التعرف الموثوق على البيانات المحملة في أدلة التسميات وتزيل إمكانية تكرار الأسماء.


سطر "وحدة القياس الأساسية" - في عمود "وضع التحميل" حدد "تثبيت"، في عمود "القيمة الافتراضية" حدد وحدة القياس (في حالتنا - أجهزة الكمبيوتر.)


سطر "معدل ضريبة القيمة المضافة" - في حالتنا، بالنسبة لجميع العناصر التي تم تنزيلها، قمنا بتعيين ضريبة القيمة المضافة على 18%، ولهذا في عمود "وضع التحميل" نختار "تعيين"، وفي عمود "القيمة الافتراضية" نختار "18%".


إذا كانت البضاعة تأتي بضريبة قيمة مضافة مختلفة، وهو ما يشار إليه في عمود منفصل من قائمة الأسعار التي تم تنزيلها، ففي عمود "وضع التحميل"، قم بتعيين "بحث" ورقم عمود قائمة الأسعار المقابل في "رقم العمود من وثيقة جدول البيانات ".

سطر "الخدمة" - في عمود "وضع التحميل"، حدد "تثبيت"، في عمود "القيمة الافتراضية"، حدد "لا" (في حالتنا، جميع المناصب هي منتجات).


لقد قمنا بتعيين الحد الأدنى من القيم للعناصر الجديدة في دليل التسميات، مما سيسمح لك ببدء العمل. لإغلاق الشهر، وتوزيع التكاليف، وإنشاء التقارير المحاسبية والضريبية، ستحتاج إلى تعيين قيم "مجموعة الأصناف" و"بند التكلفة"، وبالنسبة للسلع المستوردة، قم بتعيين "بلد المنشأ" و"رقم البيان الجمركي" ولكن يمكن القيام بذلك لاحقًا باستخدام المعالجة الجماعية.


إذا كنت على استعداد لتعيين قيم هذه التفاصيل الآن، فقم بالإشارة. انقر فوق "تنزيل" في الزاوية اليمنى السفلية، وانقر فوق "نعم" عندما يُطلب منك ذلك



نتحقق من وجود عناصر جديدة في المجموعة المقابلة من الكتاب المرجعي للعناصر

افتح بطاقة المنتج وتأكد من تحميل التفاصيل بشكل صحيح


إذا كان كل شيء صحيحا، فيمكنك الانتقال إلى المرحلة الثانية - تحميل الأسعار من قائمة الأسعار إلى Excel.


إذا كنت تخطط لاستخدام إجراء تحميل البيانات هذا في المستقبل مع نفس إعدادات معلمات التحميل، فنوصيك بحفظ الإعدادات الحالية. للقيام بذلك، انقر فوق الزر ex1_b03.jpg "حفظ الإعدادات" وقم بتسمية الإعداد الحالي بوضوح، على سبيل المثال، "تحميل أسماء المنتجات من قائمة أسعار Excel".


في المرة القادمة يمكنك تحميل الإعدادات المحفوظة من خلال النقر على زر "استعادة الإعدادات" واختيار الإعداد المطلوب من القائمة.

جارٍ تحميل الأسعار

في "محاسبة المؤسسات" الإصدار 2.0، يتم تحديد الأسعار باستخدام مستند "تحديد أسعار العناصر".

اضبط "وضع التحميل" - "قسم التحميل إلى الجدول".

في حقل "الرابط"، حدد "تحديد أسعار العناصر".


هنا يمكنك تحديد مستند موجود نريد إضافة عناصر جديدة إليه، أو إنشاء مستند جديد (مستحسن)، في المستند نشير إلى "نوع السعر" الذي سنقوم بتحميله (في مثالنا، "البيع بالتجزئة").


انقر فوق "موافق" واحفظ المستند الفارغ في الوقت الحالي. الآن حدد هذا المستند المحفوظ الجديد من المجلة في سطر "الرابط". في حقل "القسم الجدولي"، حدد "المنتجات"

أنت الآن بحاجة للذهاب إلى علامة التبويب "مستند الجدول".

مرة أخرى، حدد قائمة الأسعار الخاصة بنا في برنامج Excel والتي قمنا بتنزيل العناصر منها، والآن سنقوم بتنزيل الأسعار (انظر النقطة 5).

توجد في 1C طريقتان للعمل مع ملفات MS Excel: من خلال كائن COM وأدوات 1C المضمنة باستخدام كائن مستند جدول البيانات. دعونا نلقي نظرة على كلتا الطريقتين بمزيد من التفصيل.

1. العمل من خلال كائن COM.

تتطلب هذه الطريقة تثبيت MS Excel، وإذا كنت تعمل مع ملف على الخادم، فيجب تثبيت MS Excel على الخادم، وإذا كان على العميل، فإن MS Excel مطلوب أيضًا من جانب العميل.

مثال (يمكنك رؤيته على شكل نص في نهاية المقال):

تجدر الإشارة إلى أن جميع الكائنات والأساليب والخصائص التي يوفرها كائن COM "Excel.Application" هي كائنات وأساليب وخصائص VBA، لغة برمجة MS Office.

ملحوظة:

في بعض الأحيان تحتاج إلى العمل باستخدام قالب موجود. ثم نحتاج إلى تخزين هذا القالب في مكان ما حتى يتمكن جميع المستخدمين الضروريين من الوصول إليه. ومع ذلك، هناك حل أبسط، وهو حفظ القالب كتخطيط ثنائي.

2. العمل من خلال الوثيقة الجدولية 1C.

يدعم مستند جدول البيانات 1C تنسيق MS Excel للتسجيل بدءًا من النظام الأساسي 8، ولكن للفتح فقط بدءًا من النظام الأساسي 8.3.6. علاوة على ذلك، عند فتحه، يتم تحميل جميع الأوراق في مستند جدول بيانات واحد. منذ الإصدار 8.3.10، عند التحميل، يتم تحميل أوراق مختلفة كمساحات مختلفة.

مثال الإدخال بسيط جدًا ولا يتطلب اهتمامًا خاصًا:

ومع ذلك، هنا لدينا مشكلة. عند التسجيل من 1C في مصنف Excel، يتم تعطيل عرض أسماء الأوراق بشكل افتراضي.

يمكن حل هذه المشكلة بطريقتين، 1 - في الكتاب نفسه، قم بتمكين عرض الأوراق في الإعدادات (لن يوافق جميع المستخدمين على القيام بذلك)، 2 - قم بذلك من خلال كائن COM (نحتاج مرة أخرى إلى تثبيت MS Excel ).

بعد هذه الإضافة الصغيرة، ستكون تسميات الأوراق مرئية في ملف MS Excel.

قراءة MS Excel ليست مهمة سهلة، حيث أن طريقة القراءة متاحة فقط على الخادم أو العميل الكثيف. للقيام بذلك، نحتاج إلى نقل ملف MS Excel إلى الخادم.

&OnClient

الإجراء إنشاء مستند ()

استثناء

this.EndAttempt;

Book = Excel.WorkBooks.Add(); // أنشئ مصنف MS Excel جديد

ورقة = Book.WorkSheets.Add(); // أضف ورقة

Sheet.Name = "مثال من 1C"; // قم بتعيين اسم الورقة

Sheet.Cells(1,1).Value = " لنقم بإنشاء صيغة";!}

Sheet.Cells(2,1).Value = 1;

Sheet.Cells(2,2).Value = 2;

Sheet.Cells(2,3).Formula = "=A2+B2";

Sheet.Cells(3,1).Value = CurrentDate();

Book.SaveAs("C:\1\Test.xlsx");

Book.Close();

نهاية الإجراء

&على الخادم

الدالة GetLayoutServer()

إرجاع FormAttributesValue("Object").GetLayout("TemplateForUpload"); // بهذه الطريقة نحصل على تخطيط المعالجة الخارجية؛

وظيفة النهاية

&OnClient

عمل الإجراء()

Excel = جديد COMObject("Excel.Application");

استثناء

تقرير("لم تنجح محاولة توصيل مكون Excel. ربما لم يتم تثبيت Excel على هذا الكمبيوتر!");

this.EndAttempt;

Layout = GetLayoutServer();

Layout.Write(TemporaryFileName);

هل لديك سؤال أو تحتاج إلى مساعدة من مستشار؟

Book = Excel.WorkBooks.Open(TemporaryFileName);

SheetTemplate = Book.WorkSheets(1);

SheetTemplate.Cells(6,1).Value = "التاريخ:";!}

SheetTemplate.Cells(6,2).Value = CurrentDate();

SheetTemplate.NumberFormat = "dd/mm/yy;@"; // أعط تنسيق التاريخ، تم الحصول على هذا التنسيق عن طريق تسجيل ماكرو في MS Excel

SheetTemplate.Columns("B:B").EntireColumn.AutoFit; // قم بتمديد العمود بحيث يتناسب التاريخ تمامًا

Book.SaveAs(FileName);

Book.Close();

نهاية الإجراء

&OnClient

نهاية الإجراء

&OnClient

الإجراء WriteTabularDocument()

TabularDocument = New TabularDocument();

TabularDocument.Area("R1C1").Text = "مثال لسجل في MS Excel من 1C";

TabularDocument.Write("C:\1\Test2.xls",TabularDocumentFileType.XLSX);

Excel = جديد COMObject("Excel.Application");

Excel.WorkBooks.Open("C:\1\Test2.xls");

Excel.Visible = 0؛

Excel.ActiveWindow.DisplayWorkbookTabs = 1;

Excel.ActiveWindow.TabRatio = 0.6;

Excel.ActiveWorkbook.Save();

Excel.Application.Quit()

نهاية الإجراء

BinaryData = New BinaryData("C:\1\test2.xlsx");

Address=PlaceInTemporaryStorage(BinaryData,ThisForm.UniqueIdentifier) ​​​​;

TabularDocument = UploadOnServer(Address);

TabularDocument.Show();

نهاية الإجراء

&على الخادم

وظيفة UploadOnServer (العنوان)

TemporaryFileName = GetTemporaryFileName("xlsx");

FileData = GetFromTemporaryStorage(Address);

FileData.Write(TemporaryFileName);

TabularDocument = New TabularDocument();

إرجاع مستند جدولي؛

هذه الطريقة بسيطة. جوهرها هو أن الكائن TabularDocumentلديه طرق:

  • اكتب (< ИмяФайла>, < ТипФайлаТаблицы >) لتحميل البيانات إلى ملف؛
  • يقرأ (< ИмяФайла>, < СпособЧтенияЗначений >) لتحميل البيانات من ملف.

انتباه!

تتوفر طريقة Write() على كل من العميل والخادم. طريقة القراءة () متاحة فقط على جانب الخادم. بحاجة إلى تذكر هذا
عند التخطيط للتفاعل بين العميل والخادم.

دعونا نلقي نظرة على مثال لحفظ مستند جدول بيانات في ملف. من الضروري إنشاء وملء كائن TabularDocument بأي شكل من الأشكال التفريغيتم تنفيذ الملف بسطر واحد فقط:

TabDoc . Write(FilePath, TabularDocumentFileType.XLSX);

هنا TabDoc- وثيقة جدول البيانات التي تم إنشاؤها، المسار إلى الملف- اسم الملف للتحميل، TabularDocumentFileType.XLSX- تنسيق الملف الذي تم إنشاؤه. يتم دعم تنسيقات Excel التالية:

  • XLS95 - تنسيق Excel 95؛
  • XLS97 - تنسيق Excel 97؛
  • XLSX هو تنسيق Excel 2007.

TabDoc = مستند جدولي جديد؛
TabDoc . قراءة (PathToFile، طريقة ReadingTabularDocumentValues.Value);

هنا المسار إلى الملف- المسار إلى ملف Excel الذي تم تنزيله. طريقة قراءة قيم الوثيقة الجدولية.القيمةيحدد كيفية تفسير البيانات المقروءة من المستند المصدر. الخيارات المتاحة:

  • معنى؛
  • نص.

التبادل عبر OLE

ربما يكون التبادل عبر تقنية أتمتة OLE هو الخيار الأكثر شيوعًا للعمل برمجيًا مع ملفات Excel. فهو يسمح لك باستخدام كافة الوظائف التي يوفرها برنامج Excel، ولكنه أبطأ مقارنة بالطرق الأخرى. للتبادل عبر OLE، يلزم تثبيت MS Excel:

  • على كمبيوتر المستخدم النهائي، إذا حدث التبادل من جانب العميل؛
  • على كمبيوتر خادم 1C:Enterprise، إذا حدث التبادل من جانب الخادم.

مثال التفريغ:

// إنشاء كائن COM
Excel = جديد COMObject("Excel.Application");
// تعطيل التحذيرات والأسئلة
اكسل . DisplayAlerts = خطأ؛
// إنشاء كتاب جديد
كتاب = اكسل. المصنفات. يضيف()؛
// الموضع على الورقة الأولى
ملزمة = كتاب. أوراق العمل (1)؛

// اكتب قيمة في الخلية
ملزمة . الخلايا (رقم الصف، رقم العمود). القيمة = قيمة الخلية؛

// حفظ الملف
كتاب . SaveAs(FileName);


اكسل . يترك()؛
اكسل = 0؛

أمثلة قراءة:

// -- الخيار 1 --

// إنشاء كائن COM
Excel = جديد COMObject("Excel.Application");
// افتح كتابًا
كتاب = اكسل. المصنفات. يفتح( المسار إلى الملف );

ملزمة = كتاب. أوراق العمل (1)؛

// إغلاق الكتاب
كتاب . إغلاق(0);

// أغلق Excel وقم بتحرير الذاكرة
اكسل . يترك()؛
اكسل = 0؛

// -- الخيار 2 --

// افتح كتابًا
كتاب = جيتكوموبجيكت ( المسار إلى الملف );
// تحديد الموضع على الورقة المطلوبة
ملزمة = كتاب. أوراق العمل (1)؛

// اقرأ قيمة الخلية، وعادةً ما توجد حلقة اجتياز الخلية هنا
قيمة الخلية = ورقة. الخلايا (رقم الصف، رقم العمود). قيمة؛

// إغلاق الكتاب
كتاب . طلب. كوير ()؛

ل تجاوزبالنسبة لجميع الصفوف المكتملة في ورقة عمل Excel، يمكنك استخدام الأساليب التالية:

// -- الخيار 1 --
عدد الصفوف = الورقة. الخلايا(1، 1). خلايا خاصة(11). صف؛
بالنسبة لرقم الصف = 1 حسب عدد دورات الصفوف
قيمة الخلية = ورقة. الخلايا (رقم الصف، رقم العمود). قيمة;
EndCycle;

// -- الخيار 2 --
رقم الصف = 0 ;
بينما دورة الحقيقة
رقم الصف = رقم الصف + 1 ;
قيمة الخلية = ورقة. الخلايا (رقم الصف، رقم العمود). قيمة؛
إذا لم تكن القيمة ممتلئة (CellValue) ثم
إحباط؛
إنهاء إذا؛
EndCycle;

بدلاً من اجتياز كافة صفوف الورقة بالتسلسل، يمكنك ذلك تفريغ كافة البيانات في مجموعةوالعمل معه. سيكون هذا الأسلوب أسرع عند قراءة كمية كبيرة من البيانات:

TotalColumns = Sheet. الخلايا(1، 1). خلايا خاصة(11). عمود؛
TotalRows = ورقة. الخلايا(1، 1). خلايا خاصة(11). صف؛

منطقة = ورقة. Range(Sheet. Cells(1, 1), Sheet. Cells(TotalRows,TotalColumns));
بيانات = المنطقة. قيمة. تفريغ();

يوضح الجدول أدناه الخصائص والأساليب الأكثر شيوعًا للعمل مع Excel عبر OLE:

فعل شفرة تعليق
العمل مع التطبيق
ضبط رؤية نافذة التطبيق اكسل . مرئي= خطأ؛
ضبط وضع إخراج التحذير (عرض/عدم عرض) اكسل . تنبيهات العرض= خطأ؛
إغلاق التطبيق اكسل . يترك()؛
العمل مع كتاب
إنشاء كتاب جديد كتاب = اكسل. المصنفات. يضيف();
فتح مصنف موجود كتاب = اكسل. المصنفات. فتح (اسم الملف);
حفظ كتاب كتاب . حفظ باسم (اسم الملف);
إغلاق الكتاب كتاب . إغلاق(0);
العمل مع ورقة
إعداد الورقة الحالية ملزمة = كتاب. أوراق العمل (رقم الورقة);
تحديد الاسم ملزمة . الاسم = الاسم;
إعداد الحماية ملزمة . يحمي();
إزالة الحماية ملزمة . غير حماية();
تحديد اتجاه الصفحة ملزمة . اعداد الصفحة. التوجه = 2; 1 - صورة، 2 - منظر طبيعي
تحديد الحد الأيسر ملزمة . اعداد الصفحة. الهامش الأيسر = Excel. CentimetersToPoints(Centimeters);
تحديد الحد الأعلى ملزمة . اعداد الصفحة. TopMargin = Excel. CentimetersToPoints(Centimeters);
تحديد الحدود الصحيحة ملزمة . اعداد الصفحة. الهامش الأيمن = Excel. CentimetersToPoints(Centimeters);
تحديد الحد الأدنى ملزمة . اعداد الصفحة. الهامش السفلي = Excel. CentimetersToPoints(Centimeters);
العمل مع الصفوف والأعمدة والخلايا
تحديد عرض العمود ملزمة . الأعمدة (رقم العمود). عرض العمود = العرض;
حذف سطر ملزمة . الصفوف (رقم الصف). يمسح();
إزالة عمود ملزمة . الأعمدة (رقم العمود). يمسح()؛
حذف خلية ملزمة . الخلايا (رقم الصف، رقم العمود). يمسح();
تحديد القيمة ملزمة . الخلايا (رقم الصف، رقم العمود). القيمة = القيمة;
دمج الخلايا ملزمة . النطاق (ورقة. خلايا (رقم الصف، رقم العمود)، ورقة. خلايا (رقم الصف 1، رقم العمود 1)). دمج();
تحديد الخط ملزمة . الخلايا (رقم الصف، رقم العمود). الخط. الاسم = اسم الخط;
ضبط حجم الخط ملزمة . الخلايا (رقم الصف، رقم العمود). الخط. الحجم = حجم الخط;
تحديد الخط الغامق ملزمة . الخلايا (رقم الصف، رقم العمود). الخط. عريض = 1 ; 1 - جريء، 0 - عادي
تحديد الخط المائل ملزمة . الخلايا (رقم الصف، رقم العمود). الخط. مائل = 1 ; 1 - مائل، 0 - عادي
ضبط الخط الذي تحته خط ملزمة . الخلايا (رقم الصف، رقم العمود). الخط. تسطير = 2 ; 2 - تحته خط، 1 - لا

من أجل معرفة الخاصية التي تحتاج إلى تغيير أو طريقة الاتصال، يمكنك استخدامها وحدات الماكرواكسل. إذا قمت بتسجيل ماكرو مع الإجراءات المطلوبة، فيمكنك بعد ذلك إلقاء نظرة على كود VBA الخاص بالماكرو المسجل.

باستخدام COMSafeArray

عند تنزيل كميات كبيرة من البيانات من 1C إلى Excel، يمكنك استخدام الكائن للتسريع COMSafeArray. طبقاً للتعريف من مساعد بناء الجملة، COMSafeArray عبارة عن مجمّع كائن فوق صفيف متعدد الأبعاد SafeArrayمن كوم. يسمح لك بإنشاء واستخدام SafeArray لتبادل البيانات بين كائنات COM. ببساطة، إنها عبارة عن مجموعة من القيم التي يمكن استخدامها للتبادل بين التطبيقات باستخدام تقنية OLE.

// إنشاء COSAFEArray
ArrayCom = New COMSafeArray("VT_Variant" ، TotalColumns، TotalRows);
// املأ COSafeArray
ل الصفحة = 0 بواسطة TotalLines - دورة واحدة
ل الرقم = 0 إجمالي الأعمدة - دورة واحدة
ArrayCom . SetValue(العدد، الصفحة، القيمة);
EndCycle;
EndCycle;
// تعيين منطقة ورقة عمل Excel للقيم من COMSafeArray
ملزمة . النطاق (ورقة. خلايا (1، 1)، ورقة. خلايا (إجمالي الصفوف، إجمالي الأعمدة)). القيمة = ArrayCom;

التبادل عبر ADO

يعد ملف Excel، عند تبادله عبر ADO، بمثابة قاعدة بيانات يمكن الوصول إليها باستخدام استعلامات SQL. لا يلزم تثبيت MS Excel، ولكن يلزم وجود برنامج تشغيل ODBC، والذي سيتم من خلاله تنفيذ الوصول. يتم تحديد برنامج تشغيل ODBC المستخدم عن طريق تحديد سلسلة الاتصال بالملف. عادةً ما يكون برنامج التشغيل المطلوب مثبتًا بالفعل على الكمبيوتر.

يعد التبادل عبر ADO أسرع بشكل ملحوظ من التبادل عبر OLE، ولكن عند التحميل، لا يمكن استخدام وظيفة Excel لتصميم الخلايا، وتخطيط الصفحات، وإعداد الصيغ، وما إلى ذلك.

مثال التفريغ:


Connection = New COMObject("ADODB.Connection");


مُجَمَّع . سلسلة الاتصال = "

|مصدر البيانات =" + اسم الملف + "؛
;
مُجَمَّع . يفتح()؛ // فتح اتصال

// قم بإنشاء كائن COM للأمر
Command = New COMObject("ADODB.Command");
فريق

// تعيين نص الأمر لإنشاء جدول
فريق . نص الأوامر = "إنشاء جدول [الورقة1] (Column1 char(255)، تاريخ Column2، Column3 int، Column4 float)";
فريق . ينفذ()؛ // تنفيذ الأمر

// تعيين نص الأمر لإضافة صف الجدول
فريق . نص الأوامر = "أدخل في قيم [الورقة1] (العمود 1، العمود 2، العمود 3، العمود 4) ​​('abvwhere'، '11/8/2017'، '12345'، '12345,6789')";
Command.Execute(); // تنفيذ الأمر

// قم بإزالة الأمر وإغلاق الاتصال
الأمر = غير محدد؛
مُجَمَّع . يغلق();
الاتصال = غير محدد;

لإنشاء ورقة جديدة وتشكيل بنيتها، يمكنك استخدام الكائنات ADOX.Catalogو ADOX.Table. في هذه الحالة سيكون الكود كالتالي:

// قم بإنشاء كائن COM للعمل مع الكتاب
كتاب = COMObject جديد("ADOX.Catalog");
كتاب . ActiveConnection = Connection;

// قم بإنشاء كائن COM للعمل مع بنية البيانات الموجودة على الورقة
Table = New COMObject("ADOX.Table");
طاولة . الاسم = "الورقة1"؛
طاولة . أعمدة. إلحاق ("Column1"، 202)؛
طاولة . أعمدة. إلحاق ("Column2"، 7)؛
طاولة . أعمدة. إلحاق ("Column3"، 5)؛
طاولة . أعمدة. إلحاق ("عمود 4"، 5)؛

// قم بإنشاء ورقة بالبنية الموصوفة في المصنف
كتاب . الجداول. إلحاق(جدول);
الجدول = غير محدد؛
كتاب = غير محدد؛

في المثال أعلاه، في الطريقة

طاولة . أعمدة. ألحق("العمود 1"، 202)؛

تحدد المعلمة الثانية نوع العمود. المعلمة اختيارية، فيما يلي بعض قيم أنواع الأعمدة:

  • 5 - أددوبل؛
  • 6 - العملة الإعلانية؛
  • 7 - تاريخ الإعلان؛
  • 11 - أدبوليان؛
  • 202 - أدفاروشار;
  • 203 - أدلونجفاروشار.

مثال قراءة:

// قم بإنشاء كائن COM للاتصال
Connection = New COMObject("ADODB.Connection");

// قم بتعيين سلسلة الاتصال
مُجَمَّع . سلسلة الاتصال = "
|Provider=Microsoft.ACE.OLEDB.12.0;
|مصدر البيانات =" + اسم الملف + "؛
|خصائص موسعة = ""Excel 12.0 XML;HDR=YES"";";
مُجَمَّع . يفتح()؛ // فتح اتصال

// قم بإنشاء كائن COM لتلقي التحديد
Select = New COMObject("ADODB.Recordset");
طلب النص = "اختر * من [الورقة1$]";

// تنفيذ الطلب
عينة . Open(QueryText, Connection);

// تجاوز نتيجة العينة
ليس الاختيار بعد. حلقة EOF()
قيمة العمود 1 = التحديد. مجالات. العنصر ("العمود 1"). قيمة ; // الوصول عن طريق اسم العمود
Column2Value = التحديد. مجالات. العنصر(0). قيمة؛ // الوصول عن طريق فهرس العمود
عينة . MoveNext();
EndCycle;

عينة . يغلق()؛
العينة = غير محددة؛
مُجَمَّع . يغلق()؛
الاتصال = غير محدد؛

في سلسلة الاتصال المعلمة تقرير التنمية البشريةيحدد كيف سيتم النظر إلى السطر الأول على الورقة. الخيارات الممكنة:

  • نعم - يتم التعامل مع السطر الأول كأسماء أعمدة. يمكن الوصول إلى القيم عن طريق الاسم وفهرس العمود.
  • لا - يتم التعامل مع السطر الأول كبيانات. لا يمكن الوصول إلى القيم إلا عن طريق فهرس العمود.

تغطي هذه الأمثلة بعض كائنات ADO فقط. يتكون نموذج كائن ADO من الكائنات التالية:

  • اتصال؛
  • يأمر؛
  • مجموعة السجلات؛
  • سِجِلّ؛
  • مجالات؛
  • تدفق؛
  • أخطاء؛
  • حدود؛
  • ملكيات.

تحميل بدون برمجة

لحفظ البيانات من 1C إلى Excel، ليس من المستحسن دائمًا اللجوء إلى البرمجة. إذا كان المستخدم في وضع المؤسسة يمكنه عرض البيانات المطلوبة للتنزيل، فيمكن حفظها في Excel بدون برمجة.

لحفظ مستند جدول بيانات (على سبيل المثال، نتيجة تقرير)، يمكنك استدعاء الأمر يحفظأو حفظ باسم...القائمة الرئيسية.

في النافذة التي تفتح، تحتاج إلى تحديد الدليل واسم وتنسيق الملف المحفوظ.

لحفظ البيانات من القوائم الديناميكية (على سبيل المثال، قائمة العناصر)، يجب عليك:

  1. إخراج البيانات إلى مستند جدول بيانات باستخدام الأمر المزيد ⇒ قائمة...;
  2. احفظ مستند جدول البيانات بالتنسيق المطلوب.

إعدادات: 1 ج المحاسبة

نسخة التكوين: 3.0.44.177

تاريخ النشر: 20.01.2017

يوفر برنامج 1C: Accounting الآن القدرة على تحميل البيانات وتنزيلها بشكل روتيني من مستندات جداول بيانات Excel، دون استخدام معالجة خارجية أو تغييرات في التكوين. يعد التحميل والتفريغ أمرًا سهلاً للغاية بحيث يقع المستخدمون ذوو الخبرة في حب هذه الآلية المريحة بسرعة، وسيتقنها المستخدمون الجدد بسرعة.

تنزيل من Excel 1C: المحاسبة 8.3 إد. 3.0

على سبيل المثال، لدينا مستند جدول بيانات Excel هذا لتحميل قائمة العناصر والأسعار (البيع بالتجزئة والشراء).

تعال إلى .

في الأعلى انقر التسميات والأسعار - تنزيل. هذا هو المكان الذي يتم فيه إخفاء التحميل والتفريغ من مستندات جداول البيانات.

يدعم التنزيل xls (تنسيق Excel 97-2003 القديم) وxlsx (التنسيق الجديد)، بالإضافة إلى تنسيقات mxl وods. الآن نختار ملفنا بالمصطلحات وننتظر حتى يتم تحميله.

لقد تم تحميل مستند جدول البيانات بالشكل الذي رأيناه به في Excel، والآن سنقوم بتعيين الأعمدة وحذف الأعمدة غير الضرورية.

انقر فوق يرجى تقديم تفاصيلوحدد العنصر المطلوب من القائمة.

حدد الصف الذي يحتوي على إدخالات غير ضرورية، أي رأس الجدول، ثم انقر فوق حذف السطر.

الآن نحذف العمود الذي يحتوي على سعر الشراء، لاحظ ذلك يمكن للمعالجة ملء نوع واحد فقط من السعر في المرة الواحدة!!!ثم يمكنك القيام بهذه العملية مرة أخرى وتحميل النوع الثاني من السعر، للتحميل الأول للبيع بالتجزئة لعملية الشراء الثانية.

املأ البيانات الفارغة، نوع السعر، تحديد الأسعار. الأزرار الكل، الموجود، الجديد، التكرارات ستسهل البحث بشكل كبير وتساعد في مقارنة العناصر. املأ وانقر تحميلوبعد ذلك سيتم تحميل البيانات في 1C: المحاسبة.

ظهرت عناصر جديدة في قائمة المنتجات، مملوءة وأسعار مخصصة. إذا كنت بحاجة إلى تحميل نوع آخر من الأسعار، فقم بتنفيذ جميع الخطوات مرة أخرى، ولكن حدد عمودًا بسعر مختلف، وستجد 1C نفسها المواقف التي تم إنشاؤها بالفعل ولن تحاول تكرارها، ولكنها ستضيف ببساطة نوعًا جديدًا من السعر.

كما ترى، أنشأ التنزيل مستندين لتحديد أسعار العناصر، وسعر الشراء، وسعر التجزئة. الفرق بين هذا العلاج هو التحميل من Excel إلى 1C: المحاسبة 8.3،الحقيقة هي أن هذه معالجة قياسية وتعمل دون أعطال وتأخذ في الاعتبار جميع ميزات ملء المستند.

التحميل إلى Excel من 1C: المحاسبة 8.3 إد. 3.0

هناك وظيفة مفيدة جدًا في الإصدار 3.0.44.177 والإصدارات الأحدث وهي التحميل إلى Excel من 1C: المحاسبة 8.3؛ ستساعدك هذه المعالجة على إنشاء قائمة أسعار الشركة أو نقل قائمة العناصر الخاصة بك إلى الموردين أو المشترين على الفور مع الأسعار.

كل شيء هناك في الدليل التسميات - التسميات والأسعار - التفريغ.

في نقطة أعمدة، حدد الأعمدة التي يجب إنشاؤها في مستند Excel. اختياريعمل على تحديد العناصر حسب المجموعات والخصائص والأسماء ... إلخ.

للتحميل إلى Excel، سنضيف عمودًا جديدًا، وهو معدل ضريبة القيمة المضافة، لا يبدو ضروريًا للغاية، لكننا نتدرب.

كيفية تحميل مستند جدول بيانات في برنامج المحاسبة 1C 8.3؟

في 1C 8.3، من الممكن تنزيل قائمة العناصر بشكل مجمّع من مستند جدول بيانات، على سبيل المثال من ملف Excel.

للتحميل، نستخدم المعالجة الخارجية LoadDataFromTabularDocument.epf للنماذج المُدارة (8.2 و8.3). إنه عالمي ويجب أن يكون مناسبًا لأي تكوين مكتوب لتطبيق مُدار.

لبدء المعالجة الخارجية، عليك الذهاب إلى قائمة "ملف"، ثم "فتح" واختيار هذه المعالجة من الدليل الذي تم حفظها فيه:

معالجة تحميل البيانات من مستند جدول بيانات 1C 8.3 (النماذج المُدارة)

بعد فتح المعالجة في 1C، يمكنك البدء في العمل معها. أولاً، علينا أن نقرر أين وماذا سنقوم بتنزيله:

دعونا نعطي مثالا في الكتاب المرجعي "التسميات". نقوم بإنشاء ملف يحتوي على بيانات بتنسيق xls.

يمكن للمعالجة أيضًا تحميل الملفات بالتنسيق التالي:

  • أي تنسيق آخر يمكنك نسخ البيانات منه

وهذا هو شكل ملف Excel مع البيانات المصدرية، والذي سنقوم بتحميله إلى كتاب "التسميات" المرجعي:

لم نكتب جميع الحقول في الدليل، لأن هذا سيكون كافيا لفهم مبدأ التحميل. بالإضافة إلى ذلك، هذه البيانات كافية لبدء العمل مع هذه المواقف.

هذه الوظائف غير موجودة حاليًا في قاعدة بيانات معلومات 1C، وسنقوم الآن بتحميلها هناك.

انقر على أيقونة "فتح" (المشار إليها في الشكل باسم "تحديد المصدر") وحدد الملف الذي يحتوي على البيانات. يمكنك استخدام نسخ بسيط من المعلومات. سيتم تحميل البيانات للمعالجة تلقائيًا. الآن دعونا نتحقق مما إذا كنا قد ملأنا بياناتنا بشكل صحيح. للقيام بذلك، انقر فوق الزر "التحكم في التعبئة".

كما ترون، لدينا بعض الأخطاء! سوف نقوم بالقضاء عليه. انتقل إلى علامة التبويب "الإعدادات":

قبل تصحيح الأخطاء، دعونا ننتبه إلى تفاصيل مهمة واحدة. لا يعرف البرنامج في البداية في أي حقل يجب البحث عن عنصر الدليل في حالة وجوده بالفعل. لذلك، عليها أن تشير إلى ذلك. على سبيل المثال، نحن نبحث عن طريق الكود، لأنه عادةً ما يكون فريدًا. في عمود "حقل البحث" في سطر "الرمز"، ضع علامة اختيار. الآن، إذا تم العثور على سجل بهذا الرمز، فسيتم استبداله، وإلا فسيتم إنشاؤه.

مهم! إذا لم تحدد حقل بحث، فقد تظهر عناصر مكررة. خاصة بعد التنزيل الثاني لملف مماثل!

الآن دعونا نرى لماذا تؤدي "الوحدة" اليمين في الملعب. الحقيقة هي أن وحدات القياس في 1C 8.3 يتم تخزينها في دليل منفصل وتبحث المعالجة افتراضيًا عن هذه الوحدة بالاسم. ولكن في الواقع، يتم كتابة وحدة الكلمة في حقل "الاسم الكامل".

لسوء الحظ، لا يمكن البحث إلا عن طريق "الاسم" و"الرمز" (بالنسبة للمبرمج، فالاحتمالات أوسع). إذا انتبهت إلى الصور أعلاه، سترى أن هناك رمزًا في عمود "الوحدة". وأثناء المعالجة، عليك الإشارة إلى أن البحث يجب أن يتم عن طريق الكود. انقر نقرًا مزدوجًا فوق عمود "حالة الاتصال" المقابل لـ "الوحدات" وقم بتغييره إلى "الرمز".

الآن دعونا نرى ما يقولونه لنا عن "الخدمة" في قائمة الأخطاء. ملاحظة مهمة أخرى. يجب أن يتم تحديد موقع الأعمدة الموجودة في الملف بدقة بنفس ترتيب أسطر حقول الدليل. وبالنسبة لنا، يوجد "نوع العنصر" في الأسفل، وفي الملف بعد عمود "التعليق".

من أجل نقل سطر "نوع العنصر" إلى أعلى، توجد أسهم زرقاء في أعلى النموذج. باستخدام السهم "لأعلى"، ارفع السطر المطلوب وضعه تحت "تعليق".

انقر فوق "تحميل البيانات" وهذه المرة يسير كل شيء بدون أخطاء:

بناءً على مواد من: Programmist1s.ru