อ่านไฟล์ Excel จาก 1s 8.3 ไหนดีกว่า - 1C หรือ Excel ตัวเลือกการประมวลผลการถ่ายโอน DIY

ใน 1C มี 2 วิธีในการทำงานกับไฟล์ 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 การแสดงชื่อแผ่นงานจะถูกปิดใช้งานตามค่าเริ่มต้น

ปัญหานี้สามารถแก้ไขได้ 2 วิธี 1 - ในสมุดงานเองเปิดใช้งานการแสดงแผ่นงานในการตั้งค่า (ผู้ใช้บางคนจะไม่เห็นด้วยที่จะทำเช่นนี้) 2 - ทำสิ่งนี้ผ่านวัตถุ COM (เราจำเป็นต้องติดตั้ง MS Excel อีกครั้ง ).

หลังจากการเพิ่มเติมเล็กน้อยนี้ ป้ายกำกับแผ่นงานจะปรากฏให้เห็นในไฟล์ MS Excel

การอ่าน MS Excel ไม่ใช่เรื่องง่าย เนื่องจากวิธีการอ่านมีเฉพาะบนเซิร์ฟเวอร์หรือไคลเอนต์แบบหนาเท่านั้น ในการดำเนินการนี้ เราจำเป็นต้องถ่ายโอนไฟล์ MS Excel ไปยังเซิร์ฟเวอร์

&บนไคลเอนต์

ขั้นตอนการสร้างเอกสาร()

ข้อยกเว้น

สิ้นสุดความพยายาม;

หนังสือ = 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");

หนังสือ.ปิด();

สิ้นสุดขั้นตอน

&บนเซิร์ฟเวอร์

ฟังก์ชั่น GetLayoutServer()

ส่งคืน FormAttributesValue("Object").GetLayout("TemplateForUpload"); //วิธีนี้ทำให้เราได้โครงร่างการประมวลผลภายนอก

EndFunction

&บนไคลเอนต์

ขั้นตอนการทำงาน()

Excel = COMObject ใหม่ ("Excel.Application");

ข้อยกเว้น

รายงาน ("ความพยายามในการเชื่อมต่อส่วนประกอบ Excel ไม่สำเร็จ Excel อาจไม่ได้รับการติดตั้งบนคอมพิวเตอร์เครื่องนี้!");

สิ้นสุดความพยายาม;

เค้าโครง = GetLayoutServer();

เค้าโครง เขียน (ชื่อไฟล์ชั่วคราว);

คุณมีคำถามหรือต้องการความช่วยเหลือจากที่ปรึกษาหรือไม่?

หนังสือ = Excel.WorkBooks.Open (TemporaryFileName);

SheetTemplate = หนังสือแผ่นงาน (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; // ยืดคอลัมน์เพื่อให้วันที่พอดี

หนังสือ SaveAs (ชื่อไฟล์);

หนังสือ.ปิด();

สิ้นสุดขั้นตอน

&บนไคลเอนต์

สิ้นสุดขั้นตอน

&บนไคลเอนต์

ขั้นตอนการเขียนTabularDocument()

TabularDocument = 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.มองเห็นได้ = 0;

Excel.ActiveWindow.DisplayWorkbookTabs = 1;

Excel.ActiveWindow.TabRatio = 0.6;

Excel.ActiveWorkbook.Save();

Excel.Application.Quit()

สิ้นสุดขั้นตอน

BinaryData = BinaryData ใหม่ ("C:\1\test2.xlsx");

ที่อยู่=PlaceInTemporaryStorage(BinaryData,ThisForm.UniqueIdentifier);

TabularDocument = UploadOnServer (ที่อยู่);

TabularDocument.Show();

สิ้นสุดขั้นตอน

&บนเซิร์ฟเวอร์

ฟังก์ชั่น UploadOnServer (ที่อยู่)

TemporaryFileName = GetTemporaryFileName("xlsx");

FileData = GetFromTemporaryStorage (ที่อยู่);

FileData.Write (ชื่อไฟล์ชั่วคราว);

TabularDocument = TabularDocument ใหม่();

กลับ TabularDocument;

มีหลายวิธีในการเปิดไฟล์ Excel ใน 1C และในทางกลับกัน ผู้ใช้ระดับเริ่มต้นจะชอบการทำงานที่ง่ายกว่าโดยการบันทึกเอกสารในรูปแบบอื่นหรือใช้โปรแกรมพิเศษ แต่ก็คุ้มค่าที่จะใช้เวลาเพียงเล็กน้อยและเรียนรู้วิธีการทำงานกับเครื่องมือซอฟต์แวร์เพื่อดูและประมวลผลข้อมูลจากโปรแกรมหนึ่งไปยังอีกโปรแกรมหนึ่ง ทักษะการเขียนโปรแกรมขั้นพื้นฐานเหล่านี้จะช่วยให้คุณหลีกเลี่ยงงานประจำในอนาคตได้

วิธีเปิดเอกสาร Excel ใน 1C และในทางกลับกัน

โปรแกรมแก้ไขสเปรดชีต Microsoft Excel มีฟังก์ชันการทำงานที่เหนือกว่าผลิตภัณฑ์ซอฟต์แวร์บัญชี 1C ดังนั้นผู้ใช้ 1C ต้องการดำเนินการบางอย่างในตัวแก้ไขสเปรดชีตแล้วส่งคืนข้อมูลไปยังโปรแกรมบัญชี และนี่ก็ไม่น่าแปลกใจเพราะก่อนหน้านี้การบัญชีของหลาย ๆ บริษัท ดำเนินการโดยใช้โปรแกรม Microsoft โดยเฉพาะ แต่ด้วยระบบอัตโนมัติของกระบวนการทางธุรกิจขององค์กรในปัจจุบันจึงเป็นไปไม่ได้ที่จะละทิ้งโปรแกรมพิเศษ หากต้องการสร้างการโต้ตอบระหว่างแอปพลิเคชันต่างๆ มีวิธีง่ายๆ ดังต่อไปนี้:

    เมื่อคุณต้องจัดการกับไฟล์ของผลิตภัณฑ์ซอฟต์แวร์ที่ไม่ได้ติดตั้งบนคอมพิวเตอร์ปัจจุบันของคุณ วิธีที่ง่ายที่สุดคือการใช้แอปพลิเคชันพิเศษสำหรับการแปลงตาราง Excel เป็นรูปแบบ 1C และในทางกลับกัน สามารถพบได้บนเว็บไซต์ผลิตภัณฑ์ 1C

    หากคอมพิวเตอร์ของคุณมีทั้ง 1C และ Excel คุณสามารถเปิดไฟล์ในแอปพลิเคชัน "เนทิฟ" ได้ด้วยตนเอง จากนั้นจึงบันทึกในรูปแบบโปรแกรมอื่น โดยปกติตัวเลือกนี้จะใช้ได้เมื่อบันทึกแบบฟอร์มหรือเค้าโครงที่พิมพ์ได้

    ผู้ใช้ 1C 7.7 สามารถอัปเกรดเป็นเวอร์ชัน 1C 8 ซึ่งมีตัวแก้ไขตารางที่ได้รับการปรับปรุง

1C และ Excel สามารถโต้ตอบโดยทางโปรแกรมได้อย่างไร

การโต้ตอบระหว่าง 1C และ Excel สามารถดำเนินการได้ในระดับโปรแกรมโดยใช้เทคโนโลยี OLE Automation ที่พัฒนาโดย Microsoft ช่วยให้คุณเข้าถึงวัตถุ COM ได้โดยตรงจากล่ามสคริปต์ของโปรแกรมต่างๆ พูดง่ายๆ ก็คือ OLE ช่วยให้คุณสามารถถ่ายโอนชิ้นงานจากโปรแกรมหนึ่งไปยังอีกโปรแกรมหนึ่ง จากนั้นจึงคืนงานไปยังแอปพลิเคชันดั้งเดิม นี่คือสิ่งที่นักบัญชีต้องการจากโปรแกรมแก้ไขสเปรดชีตของ Microsoft

คุณไม่จำเป็นต้องเป็นโปรแกรมเมอร์เพื่อใช้เครื่องมือ OLE แม้ว่าการรู้จักบรรทัดโค้ดครั้งแรกจะมาพร้อมกับข้อผิดพลาด แต่การตรวจสอบจะช่วยระบุข้อผิดพลาดได้ และประสบการณ์ที่ได้รับจะช่วยหลีกเลี่ยงข้อผิดพลาดเหล่านี้ในอนาคต ด้านล่างนี้เป็นคำสั่งยอดนิยม (เรียกว่ารายการ) สำหรับการทำงานกับข้อมูล Excel ในโปรแกรมบัญชีและในทางกลับกัน

วิธีเปิดไฟล์ Excel ใน 1C โดยทางโปรแกรม

ดังนั้น หากมีการติดตั้งทั้งสองโปรแกรมบนคอมพิวเตอร์ของคุณ ซึ่งคุณต้องการแลกเปลี่ยนข้อมูลระหว่างนั้น คุณสามารถจัดระเบียบการโต้ตอบโดยทางโปรแกรมได้ ในการดำเนินการนี้ คุณต้องเปิดทั้งสองแอปพลิเคชัน จากนั้นใช้ OLE เพื่อสร้างการเข้าถึงจาก 1C ไปยัง Excel:

  • ข้อยกเว้น

    รายงาน (ErrorDescription() + "ไม่ได้ติดตั้ง Excel บนคอมพิวเตอร์เครื่องนี้!");

  • สิ้นสุดความพยายาม.

มีการติดตั้งการเข้าถึงตัวแก้ไขตารางแล้ว ตอนนี้ใช้คำสั่งต่อไปนี้ที่คุณต้องการเพื่อเข้าถึง:

    เอกสารเฉพาะ:

    • หนังสือ = Excel.WorkBooks.Open(FilePath)

    • แผ่นงาน = Book.WorkSheets (SheetNumber);

  • รวมถึงหมายเลขแผ่นงานเฉพาะ:

    รวมถึงชื่อชีตเฉพาะ:

    • แผ่นงาน = Book.WorkSheets (ชื่อแผ่นงาน);

    • Value = Sheet.Cells(RowNumber, ColumnNumber).Value;

หากต้องการอ่านข้อมูลจากหน้าแรกของไฟล์ ให้ใช้รายการต่อไปนี้:

    Excel = CreateObject("Excel.Application");

    หนังสือ = Excel.WorkBooks.Open(FilePath);

    แผ่นงาน = หนังสือแผ่นงาน (1);

    TotalColumns = Sheet.Cells(1,1).SpecialCells(11).Column;

    TotalRows = Sheet.Cells(1,1).SpecialCells(11).Row;

    สำหรับแถว = 1 โดย TotalRows Loop

    • สำหรับคอลัมน์ = 1 ตามรอบ TotalColumns

      Value = Abbr(Sheet.Cells(Row,Column).Value);

      สิ้นสุดรอบ;

    สิ้นสุดรอบ;

โปรดจำไว้ว่าต้องระบุเส้นทางไปยังไฟล์ให้ครบถ้วน เมื่อบันทึกชื่อเอกสาร คุณจะไม่สามารถใส่อักขระ เช่น \, /, :, *, ?, ", >,< и |.

วิธีเปิดไฟล์ 1C ผ่าน Excel โดยทางโปรแกรม

ในการบันทึกข้อมูลใน Excel คุณต้อง:

    หรือเปิดเอกสารที่มีอยู่:

    • Book = Excel.WorkBooks.Open(Path to File) - โดยการเปรียบเทียบกับการอ่านไฟล์ Excel จาก 1C

    หรือเพิ่มอันใหม่:

    • สมุดงาน = Excel.WorkBooks.Add();

    คุณสามารถสร้างแผ่นงานใหม่ในเอกสารใหม่ได้:

    • แผ่นงาน = Book.Sheets.Add();

    และเพิ่มค่าใหม่ให้กับเซลล์:

    • Sheet.Cells(RowNumber, ColumnNumber).Value = ค่า; (วิธีการเขียนค่าโดยใช้ OLE มีการอธิบายโดยละเอียดบนอินเทอร์เน็ต)

  • หนังสือ SaveAs(FilePath);

    ข้อยกเว้น

    รายงาน(ErrorDescription()+"ไฟล์ไม่ถูกบันทึก!");

    สิ้นสุดความพยายาม.

เมื่อคุณทำงานกับโปรแกรมแก้ไขสเปรดชีตเสร็จแล้ว ให้ออกโดยใช้คำสั่งพิเศษ (Excel.Application.Quit();) วิธีนี้จะช่วยประหยัดทรัพยากรคอมพิวเตอร์ระหว่างการทำงานต่อไป

อันตรายเมื่อแลกเปลี่ยนข้อมูลระหว่าง 1C และ Excel

1C และ Excel ได้รับการพัฒนาโดยบริษัทต่างๆ และใช้วิธีการจัดการข้อมูลที่แตกต่างกัน ดังนั้นเมื่อทำการโอนตารางจากโปรแกรมหนึ่งไปยังอีกโปรแกรมหนึ่ง ให้จำข้อผิดพลาดต่อไปนี้:

    ตัวคั่นต่างๆ ในจำนวนเศษส่วน Microsoft แบ่งเลขทศนิยมโดยใช้ลูกน้ำ ดังนั้นเมื่อโอนตารางจากโปรแกรมบัญชีอย่าแปลกใจกับวันที่ที่มีอยู่มากมายและความสับสนอื่น ๆ เพียงแต่ว่าในโปรแกรมบัญชี อาจใช้จุดในการเขียนเศษส่วนได้ ซึ่งโปรแกรมแก้ไขสเปรดชีตของ Microsoft จะตีความว่าเป็นตัวคั่นวันที่ และ 15.5 จะกลายเป็นวันที่ 15 พฤษภาคม ในการประมวลผลข้อมูลการบัญชีในตัวแก้ไขสเปรดชีต จะต้องแทนที่ตัวคั่นด้วยเครื่องหมายจุลภาค

    เมื่อถ่ายโอนข้อมูลจาก Excel ไปยัง 1C ค่าคงที่ของ Excel ที่ไม่ได้อยู่ในโปรแกรมบัญชีอาจแสดงไม่ถูกต้อง หากต้องการถอดรหัสคุณต้องไปที่วิธีใช้ตัวแก้ไขสเปรดชีตหรือเข้าสู่โหมดแก้ไขข้อบกพร่องและตรวจสอบนิพจน์ตัวเลขของค่าคงที่ต่างๆ

หากคุณต้องการแลกเปลี่ยนข้อมูลจำนวนมากหรือไม่สามารถกำจัดข้อผิดพลาดได้ โปรดติดต่อผู้เชี่ยวชาญของบริษัท Setby เพื่อขอความช่วยเหลือ เราจะช่วยคุณแก้ปัญหาในระดับโปรแกรมและเข้าใจคำสั่งที่จำเป็นสำหรับงานของคุณ

วิธีนี้ง่าย สาระสำคัญของมันคือวัตถุ เอกสารแบบตารางมีวิธีการ:

  • เขียนลงไป (< ИмяФайла>, < ТипФайлаТаблицы >) เพื่ออัปโหลดข้อมูลไปยังไฟล์
  • อ่าน (< ИмяФайла>, < СпособЧтенияЗначений >) เพื่อโหลดข้อมูลจากไฟล์

ความสนใจ!

วิธีการ Write() สามารถใช้ได้ทั้งบนไคลเอนต์และเซิร์ฟเวอร์ วิธีการ Read() ใช้ได้เฉพาะบนฝั่งเซิร์ฟเวอร์เท่านั้น จำเป็นต้องจำสิ่งนี้
เมื่อวางแผนการโต้ตอบระหว่างไคลเอนต์และเซิร์ฟเวอร์

ลองดูตัวอย่างการบันทึกเอกสารสเปรดชีตเป็นไฟล์ จำเป็นต้องสร้างและเติมวัตถุ TabularDocument แต่อย่างใดและ ขนถ่ายไปยังไฟล์ทำได้เพียงบรรทัดเดียว:

แท็บด็อก - เขียน (FilePath, TabularDocumentFileType. XLSX);

ที่นี่ แท็บด็อก- สร้างเอกสารสเปรดชีต เส้นทางไปยังไฟล์— ชื่อไฟล์ที่จะอัพโหลด TabularDocumentFileType.XLSX— รูปแบบของไฟล์ที่สร้างขึ้น รองรับรูปแบบ Excel ต่อไปนี้:

  • XLS95 - รูปแบบ Excel 95;
  • XLS97 - รูปแบบ Excel 97;
  • XLSX เป็นรูปแบบ Excel 2007

TabDoc = TabularDocument ใหม่;
แท็บด็อก - อ่าน (PathToFile วิธีการ ReadingTabularDocumentValues.Value);

ที่นี่ เส้นทางไปยังไฟล์— เส้นทางไปยังไฟล์ Excel ที่ดาวน์โหลด วิธีการอ่านค่าเอกสารตารางค่ากำหนดวิธีการตีความข้อมูลที่อ่านจากเอกสารต้นฉบับ ตัวเลือกที่มี:

  • ความหมาย;
  • ข้อความ.

แลกเปลี่ยนผ่าน OLE

การแลกเปลี่ยนผ่านเทคโนโลยีอัตโนมัติ OLE อาจเป็นตัวเลือกที่พบบ่อยที่สุดสำหรับการทำงานกับไฟล์ Excel โดยทางโปรแกรม ช่วยให้คุณสามารถใช้ฟังก์ชันการทำงานทั้งหมดของ Excel ได้ แต่จะช้ากว่าเมื่อเปรียบเทียบกับวิธีอื่น หากต้องการแลกเปลี่ยนผ่าน OLE จำเป็นต้องมีการติดตั้ง MS Excel:

  • บนคอมพิวเตอร์ของผู้ใช้ หากมีการแลกเปลี่ยนเกิดขึ้นในฝั่งไคลเอ็นต์
  • บนคอมพิวเตอร์เซิร์ฟเวอร์ 1C:Enterprise หากมีการแลกเปลี่ยนเกิดขึ้นทางฝั่งเซิร์ฟเวอร์

ตัวอย่าง ขนถ่าย:

// สร้างวัตถุ COM
Excel = COMObject ใหม่ ("Excel.Application");
// ปิดการใช้งานคำเตือนและคำถาม
เอ็กเซล - DisplayAlerts = เท็จ;
// สร้างหนังสือเล่มใหม่
หนังสือ = เอ็กเซล หนังสืองาน. เพิ่ม();
// ตำแหน่งบนแผ่นงานแรก
แผ่น = หนังสือ ใบงาน(1);

// เขียนค่าลงในเซลล์
แผ่น - เซลล์ (RowNumber, ColumnNumber) ค่า = ค่าเซลล์;

//บันทึกไฟล์
หนังสือ - บันทึกเป็น(ชื่อไฟล์);


เอ็กเซล - ล้มเลิก();
เอ็กเซล = 0;

ตัวอย่าง การอ่าน:

// -- ตัวเลือกที่ 1 --

// สร้างวัตถุ COM
Excel = COMObject ใหม่ ("Excel.Application");
//เปิดหนังสือ
หนังสือ = เอ็กเซล สมุดงาน เปิด( เส้นทางไปยังไฟล์ );

แผ่น = หนังสือ ใบงาน(1);

//ปิดหนังสือ.
หนังสือ - ปิด(0);

// ปิด Excel และเพิ่มหน่วยความจำ
เอ็กเซล - ล้มเลิก();
เอ็กเซล = 0;

// —— ตัวเลือก 2 ——

//เปิดหนังสือ
หนังสือ = GetCOMObject( เส้นทางไปยังไฟล์ );
// วางตำแหน่งบนแผ่นงานที่ต้องการ
แผ่น = หนังสือ ใบงาน(1);

// อ่านค่าของเซลล์ โดยปกติแล้วลูปการข้ามเซลล์จะอยู่ที่นี่
CellValue = แผ่นงาน เซลล์ (RowNumber, ColumnNumber) ค่า;

//ปิดหนังสือ.
หนังสือ - แอปพลิเคชัน. ควิเสื้อ();

สำหรับ บายพาสสำหรับแถวที่เสร็จสมบูรณ์ทั้งหมดของแผ่นงาน Excel คุณสามารถใช้เทคนิคต่อไปนี้:

// -- ตัวเลือกที่ 1 --
จำนวนแถว = แผ่นงาน เซลล์(1 , 1 ) เซลล์พิเศษ(11) แถว;
สำหรับ RowNumber = 1 ตามจำนวนแถว
CellValue = แผ่นงาน เซลล์ (RowNumber, ColumnNumber) ค่า;
สิ้นสุดรอบ;

// —— ตัวเลือก 2 ——
หมายเลขแถว = 0 ;
ในขณะที่วงจรความจริง
RowNumber = RowNumber + 1 ;
CellValue = แผ่นงาน เซลล์ (RowNumber, ColumnNumber) ค่า;
ถ้าไม่ใช่ ValueFilled(CellValue) แล้ว
ยกเลิก;
สิ้นสุดถ้า;
สิ้นสุดรอบ;

แทนที่จะข้ามผ่านแถวทั้งหมดของเวิร์กชีตตามลำดับ คุณสามารถทำได้ ดัมพ์ข้อมูลทั้งหมดลงในอาร์เรย์และทำงานร่วมกับเขา วิธีนี้จะเร็วขึ้นเมื่ออ่านข้อมูลจำนวนมาก:

TotalColumns = แผ่นงาน เซลล์(1 , 1 ) เซลล์พิเศษ(11) คอลัมน์;
TotalRows = ใบไม้ เซลล์(1 , 1 ) เซลล์พิเศษ(11) แถว;

ภูมิภาค = ใบไม้ ช่วง (Sheet. Cells (1, 1), Sheet. Cells (TotalRows, TotalColumns));
ข้อมูล = ภูมิภาค ค่า. ยกเลิกการโหลด();

ตารางด้านล่างแสดงคุณสมบัติและวิธีการทำงานกับ Excel ผ่าน OLE ที่ได้รับความนิยมสูงสุด:

การกระทำ รหัส ความคิดเห็น
ทำงานกับแอปพลิเคชัน
การตั้งค่าการมองเห็นหน้าต่างแอปพลิเคชัน เอ็กเซล - มองเห็นได้= เท็จ;
การตั้งค่าโหมดเอาท์พุตการเตือน (แสดง/ไม่แสดง) เอ็กเซล - การแจ้งเตือนแบบดิสเพลย์= เท็จ;
ปิดรับสมัคร เอ็กเซล - ล้มเลิก();
ทำงานกับหนังสือ
การสร้างหนังสือเล่มใหม่ หนังสือ = เอ็กเซล หนังสืองาน. เพิ่ม();
การเปิดสมุดงานที่มีอยู่ หนังสือ = เอ็กเซล หนังสืองาน. เปิด(ชื่อไฟล์);
กำลังบันทึกหนังสือ หนังสือ - บันทึกเป็น(FileName);
ปิดหนังสือ หนังสือ - ปิด(0);
ทำงานกับแผ่นงาน
การตั้งค่าแผ่นงานปัจจุบัน แผ่น = หนังสือ แผ่นงาน(SheetNumber);
การตั้งชื่อ แผ่น - ชื่อ=ชื่อ;
การตั้งค่าการป้องกัน แผ่น - ปกป้อง();
การถอดการป้องกัน แผ่น - ยกเลิกการป้องกัน();
การตั้งค่าการวางแนวหน้า แผ่น - การตั้งค่าเพจ การวางแนว = 2; 1 - แนวตั้ง, 2 - แนวนอน
การตั้งค่าขอบด้านซ้าย แผ่น - การตั้งค่าหน้า ขอบซ้าย = Excel เซนติเมตรถึงจุด(Centimeters);
การตั้งค่าขีดจำกัดบน แผ่น - การตั้งค่าเพจ อัตรากำไรขั้นต้น = Excel เซนติเมตรถึงจุด(Centimeters);
การตั้งค่าเส้นขอบด้านขวา แผ่น - การตั้งค่าเพจ ขอบขวา = Excel เซนติเมตรถึงจุด(Centimeters);
การตั้งค่าขีดจำกัดล่าง แผ่น - การตั้งค่าหน้า ขอบล่าง = Excel เซนติเมตรถึงจุด(Centimeters);
การทำงานกับแถว คอลัมน์ เซลล์
การตั้งค่าความกว้างของคอลัมน์ แผ่น - คอลัมน์(ColumnNumber) ความกว้างของคอลัมน์ = ความกว้าง;
ลบบรรทัด แผ่น - แถว(RowNumber) ลบ();
การลบคอลัมน์ แผ่น - คอลัมน์(ColumnNumber) ลบ();
ลบเซลล์ แผ่น - เซลล์ (RowNumber, ColumnNumber) ลบ();
การตั้งค่า แผ่น - เซลล์ (RowNumber, ColumnNumber) ความคุ้มค่า = ความคุ้มค่า;
การรวมเซลล์ แผ่น - ช่วง(Sheet. Cells(RowNumber, ColumnNumber), Sheet.Cells(RowNumber1, ColumnNumber1)) ผสาน();
การตั้งค่าแบบอักษร แผ่น - เซลล์ (RowNumber, ColumnNumber) แบบอักษร ชื่อ = ชื่อแบบอักษร;
การตั้งค่าขนาดตัวอักษร แผ่น - เซลล์ (RowNumber, ColumnNumber) แบบอักษร ขนาด = ขนาดตัวอักษร;
การตั้งค่าตัวอักษรตัวหนา แผ่น - เซลล์ (RowNumber, ColumnNumber) แบบอักษร ตัวหนา = 1 ; 1 - ตัวหนา 0 - ปกติ
การตั้งค่าตัวเอียง แผ่น - เซลล์ (RowNumber, ColumnNumber) แบบอักษร ตัวเอียง = 1 ; 1 - ตัวเอียง 0 - ปกติ
การตั้งค่าแบบอักษรที่ขีดเส้นใต้ แผ่น - เซลล์ (RowNumber, ColumnNumber) แบบอักษร ขีดเส้นใต้ = 2 ; 2 - ขีดเส้นใต้, 1 - ไม่ใช่

คุณสามารถใช้เพื่อค้นหาว่าคุณสมบัติใดจำเป็นต้องเปลี่ยนหรือวิธีใดที่จะเรียก มาโครเอ็กเซล หากคุณบันทึกแมโครด้วยการดำเนินการที่จำเป็น คุณจะสามารถดูโค้ด VBA ของมาโครที่บันทึกไว้ได้

การใช้ COMSafeArray

เมื่อดาวน์โหลดข้อมูลจำนวนมากจาก 1C ไปยัง Excel คุณสามารถใช้วัตถุเพื่อเพิ่มความเร็วได้ COMSafeArray- ตามคำจำกัดความจากผู้ช่วยไวยากรณ์ COMSafeArray เป็นตัวตัดอ็อบเจ็กต์บนอาร์เรย์หลายมิติ SafeArrayจากคอม. ช่วยให้คุณสร้างและใช้ SafeArray เพื่อแลกเปลี่ยนข้อมูลระหว่างออบเจ็กต์ COM พูดง่ายๆ ก็คืออาร์เรย์ของค่าที่สามารถใช้เพื่อแลกเปลี่ยนระหว่างแอปพลิเคชันที่ใช้เทคโนโลยี OLE

// สร้าง COMSafeArray
ArrayCom = COMSafeArray ใหม่ ("VT_Variant" , TotalColumns, TotalRows);
// กำลังกรอก COMSafeArray
สำหรับ หน้า = 0 โดย TotalLines - 1 รอบ
สำหรับ จำนวน = 0 คอลัมน์ทั้งหมด - 1 รอบ
อาร์เรย์คอม - SetValue(นับ หน้า ค่า);
สิ้นสุดรอบ;
สิ้นสุดรอบ;
// การกำหนดพื้นที่แผ่นงาน Excel ให้กับค่าจาก COMSafeArray
แผ่น - ช่วง(Sheet. Cells(1, 1), Sheet. Cells(TotalRows,TotalColumns)) ค่า = ArrayCom;

แลกเปลี่ยนผ่าน ADO

ไฟล์ Excel เมื่อแลกเปลี่ยนผ่าน ADO จะเป็นฐานข้อมูลที่สามารถเข้าถึงได้โดยใช้คำสั่ง SQL ไม่จำเป็นต้องติดตั้ง MS Excel แต่คุณต้องมีไดรเวอร์ ODBC ที่จะให้สิทธิ์ในการเข้าถึง โปรแกรมควบคุม ODBC ที่ใช้ถูกกำหนดโดยการระบุสตริงการเชื่อมต่อกับไฟล์ โดยทั่วไปแล้ว ไดรเวอร์ที่จำเป็นได้รับการติดตั้งบนคอมพิวเตอร์แล้ว

การแลกเปลี่ยนผ่าน ADO นั้นเร็วกว่าการแลกเปลี่ยนผ่าน OLE อย่างเห็นได้ชัด แต่เมื่ออัปโหลด คุณจะไม่สามารถใช้ฟังก์ชัน Excel สำหรับการออกแบบเซลล์ การจัดวางหน้า การตั้งค่าสูตร ฯลฯ

ตัวอย่าง ขนถ่าย:


การเชื่อมต่อ = COMObject ใหม่ ("ADODB.Connection");


สารประกอบ - สตริงการเชื่อมต่อ = "

|แหล่งข้อมูล=" + ชื่อไฟล์ + ";
;
สารประกอบ - เปิด(); // เปิดการเชื่อมต่อ

// สร้างวัตถุ COM สำหรับคำสั่ง
Command = COMObject ใหม่ ("ADODB.Command");
ทีม

// การกำหนดข้อความคำสั่งเพื่อสร้างตาราง
ทีม - ข้อความคำสั่ง = "สร้างตาราง [Sheet1] (Column1 char (255), วันที่ Column2, Column3 int, Column4 float)";
ทีม - ดำเนินการ(); //ดำเนินการคำสั่ง

// กำหนดข้อความคำสั่งเพื่อเพิ่มแถวของตาราง
ทีม - ข้อความคำสั่ง = "INSERT INTO [Sheet1] (Column1, Column2, Column3, Column4) ค่า ('abvwhere', '8/11/2017', '12345', '12345,6789')";
Command.ดำเนินการ(); //ดำเนินการคำสั่ง

// ลบคำสั่งและปิดการเชื่อมต่อ
คำสั่ง = ไม่ได้กำหนด;
สารประกอบ - ปิด();
การเชื่อมต่อ = ไม่ได้กำหนด;

หากต้องการสร้างแผ่นงานใหม่และสร้างโครงสร้างคุณสามารถใช้วัตถุได้ ADOX.แค็ตตาล็อกและ ADOX.ตาราง- ในกรณีนี้โค้ดจะมีลักษณะดังนี้:

// การสร้างวัตถุ COM เพื่อทำงานกับหนังสือ
หนังสือ = COMObject ใหม่ ("ADOX.Catalog");
หนังสือ - ActiveConnection = การเชื่อมต่อ;

// สร้างวัตถุ COM เพื่อทำงานกับโครงสร้างข้อมูลบนแผ่นงาน
ตาราง = COMObject ใหม่ ("ADOX.Table");
โต๊ะ - ชื่อ = "แผ่นงาน1" ;
โต๊ะ - คอลัมน์ ผนวก("Column1", 202);
โต๊ะ - คอลัมน์ ผนวก("Column2", 7);
โต๊ะ - คอลัมน์ ผนวก("Column3", 5);
โต๊ะ - คอลัมน์ ผนวก("Column4" , 5 );

// สร้างแผ่นงานในสมุดงานด้วยโครงสร้างที่อธิบายไว้
หนังสือ - ตาราง ผนวก(ตาราง);
ตาราง = ไม่ได้กำหนด;
หนังสือ = ไม่ได้กำหนด;

ในตัวอย่างข้างต้นในวิธีการ

โต๊ะ - คอลัมน์ ผนวก(“คอลัมน์ 1”, 202);

พารามิเตอร์ตัวที่สองระบุประเภทคอลัมน์ พารามิเตอร์นี้เป็นทางเลือก ต่อไปนี้เป็นค่าประเภทคอลัมน์บางส่วน:

  • 5 - adDouble;
  • 6 - สกุลเงินโฆษณา;
  • 7 - วันที่โฆษณา;
  • 11 - แอดบูลีน;
  • 202 - adVarWChar;
  • 203 - adLongVarWChar.

ตัวอย่าง การอ่าน:

// สร้างวัตถุ COM สำหรับการเชื่อมต่อ
การเชื่อมต่อ = COMObject ใหม่ ("ADODB.Connection");

// ตั้งค่าสตริงการเชื่อมต่อ
สารประกอบ - สตริงการเชื่อมต่อ = "
|ผู้ให้บริการ=Microsoft.ACE.OLEDB.12.0;
|แหล่งข้อมูล=" + ชื่อไฟล์ + ";
|คุณสมบัติขยาย=""Excel 12.0 XML;HDR=YES"";";
สารประกอบ - เปิด(); // เปิดการเชื่อมต่อ

// สร้างวัตถุ COM เพื่อรับการเลือก
เลือก = COMObject ใหม่ ("ADODB.Recordset");
ข้อความขอ = "เลือก * จาก [Sheet1$]";

// ดำเนินการตามคำขอ
ตัวอย่าง - เปิด (ข้อความค้นหา, การเชื่อมต่อ);

// ข้ามผลลัพธ์ตัวอย่าง
ยังไม่ได้เลือกเลย EOF() วนซ้ำ
ค่า Column1 = การเลือก เขตข้อมูล รายการ("คอลัมน์1"). ค่า ; // เข้าถึงด้วยชื่อคอลัมน์
Column2Value = การเลือก เขตข้อมูล รายการ(0) ค่า; // เข้าถึงโดยดัชนีคอลัมน์
ตัวอย่าง - ย้ายถัดไป();
สิ้นสุดรอบ;

ตัวอย่าง - ปิด();
ตัวอย่าง = ไม่ได้กำหนด;
สารประกอบ - ปิด();
การเชื่อมต่อ = ไม่ได้กำหนด;

ในสตริงการเชื่อมต่อพารามิเตอร์ เอชดีอาร์กำหนดว่าบรรทัดแรกบนแผ่นงานจะถูกรับรู้อย่างไร ตัวเลือกที่เป็นไปได้:

  • ใช่ - บรรทัดแรกจะถือเป็นชื่อคอลัมน์ สามารถเข้าถึงค่าได้ด้วยชื่อและดัชนีคอลัมน์
  • NO - บรรทัดแรกถือเป็นข้อมูล สามารถเข้าถึงค่าได้โดยดัชนีคอลัมน์เท่านั้น

ตัวอย่างเหล่านี้ครอบคลุมเฉพาะวัตถุ ADO บางส่วนเท่านั้น รูปแบบวัตถุ ADO ประกอบด้วยวัตถุต่อไปนี้:

  • การเชื่อมต่อ;
  • สั่งการ;
  • ชุดบันทึก;
  • บันทึก;
  • ทุ่งนา;
  • ลำธาร;
  • ข้อผิดพลาด;
  • พารามิเตอร์;
  • คุณสมบัติ.

อัปโหลดโดยไม่ต้องเขียนโปรแกรม

หากต้องการบันทึกข้อมูลจาก 1C ไปยัง Excel ไม่แนะนำให้ใช้การเขียนโปรแกรมเสมอไป หากในโหมดองค์กร ผู้ใช้สามารถแสดงข้อมูลที่จำเป็นสำหรับการดาวน์โหลด ก็สามารถบันทึกลงใน Excel ได้โดยไม่ต้องเขียนโปรแกรม

หากต้องการบันทึกเอกสารสเปรดชีต (เช่น ผลลัพธ์ของรายงาน) คุณสามารถเรียกใช้คำสั่งได้ บันทึกหรือ บันทึกเป็น…เมนูหลัก.

ในหน้าต่างที่เปิดขึ้นมา คุณจะต้องเลือกไดเร็กทอรี ชื่อ และรูปแบบของไฟล์ที่บันทึกไว้

หากต้องการบันทึกข้อมูลจากรายการแบบไดนามิก (เช่น รายการ) คุณต้อง:

  1. ส่งออกข้อมูลลงในเอกสารสเปรดชีตโดยใช้คำสั่ง เพิ่มเติม ⇒ รายการ...;
  2. บันทึกเอกสารสเปรดชีตในรูปแบบที่ต้องการ

บ่อยครั้งเมื่อสื่อสารกับผู้มีโอกาสเป็นลูกค้า ฉันได้ยินมาว่าฟังก์ชันตารางจากแพ็คเกจ office นั้นเพียงพอสำหรับพวกเขา และพวกเขาไม่เห็นประเด็นในโปรแกรม 1C เนื่องจากบางคนยังคงเชื่อมโยงโซลูชันนี้กับโปรแกรมสำหรับนักบัญชีเท่านั้น ซึ่งไม่เป็นความจริง

Excel เป็นผลิตภัณฑ์ที่เป็นสากลและมีการผลิตจำนวนมาก คุณไม่สามารถโต้แย้งได้ เกือบทุกคนสามารถใช้โปรแกรมนี้ได้ ต่างจากการพัฒนา 1C ซึ่งมุ่งเป้าไปที่ผู้เชี่ยวชาญเฉพาะด้าน เมื่อใช้ตาราง "สีเขียว" คุณสามารถใช้ฟังก์ชันที่จำเป็นได้อย่างอิสระซึ่งจะสะดวก: นี่คือรูปแบบทางการเงินขององค์กรที่มีการตั้งถิ่นฐานร่วมกันทั้งหมด การบัญชีการจัดการ แม้แต่การควบคุม การสร้างภาพข้อมูลที่มีให้เลือกมากมาย ความสามารถในการเป็นอิสระ ขยายขีดความสามารถของโปรแกรมโดยใช้ส่วนเสริมต่างๆ - ทุกอย่างอยู่ในมือคุณ ทุกอย่างตั้งแต่เริ่มต้น...

เป็นการดีถ้าคุณเพิ่งเริ่มต้นธุรกิจ โดยค่อยๆ คำนึงถึงข้อมูลที่จำเป็นในตารางเกี่ยวกับความสัมพันธ์กับลูกค้า ซัพพลายเออร์ หน่วยงานกำกับดูแล การสร้างโครงสร้างตามอำเภอใจของคุณเอง แต่จะทำอย่างไรต่อไปเมื่อฐานข้อมูลมีขนาดใหญ่และพนักงาน ตัวเลขเป็นสิบ? ยังนับตามพารามิเตอร์ของคุณเองเหรอ? ฉันไม่สับสนกับความสะดวกสบายกับนิสัยซึ่งมักจะรบกวนการจัดระบบของธุรกิจและผลที่ตามมาคือการปรับให้เหมาะสม

เพื่อความชัดเจน ลองจินตนาการถึงความต้องการที่อาจเกิดขึ้นสำหรับระบบบัญชีอัตโนมัติ เช่น เพื่อการค้า:

1.วิเคราะห์ยอดขายภายในช่วงระยะเวลาหนึ่ง

หัวหน้าฝ่ายขายสามารถวิเคราะห์ข้อมูลการขายได้ เป็นสิ่งสำคัญสำหรับเขาที่จะต้องเข้าใจว่ากำลังนำแผนไปใช้หรือไม่ กลยุทธ์ของเขามีประสิทธิผลเพียงใด เพื่อที่ว่าในกรณีที่ไม่ได้ประสิทธิผล เขาจึงสามารถปรับเปลี่ยนงานได้ทันท่วงที

2. การบัญชีคลังสินค้า
ฉันต้องอธิบายหรือไม่ว่าสำหรับการขาย สิ่งสำคัญคือต้องเข้าใจถึงความพร้อมของสินค้าในสต็อก สินค้าใดบ้างที่สามารถจองได้ และสินค้าใดหมด และต้องสั่งซื้ออะไรบ้าง ฉันคิดว่าทุกอย่างชัดเจนที่นี่

3.การรักษาฐานข้อมูลของคู่สัญญา
แม้ว่าเจ้าของจะขายเฉพาะสิ่งที่สามารถซื้อได้ที่นี่และตอนนี้ซึ่งเป็นเรื่องปกติสำหรับภาค B2C แต่เขามีความสัมพันธ์ที่แตกต่างกันเล็กน้อยกับฐานซัพพลายเออร์ - สัญญา หลัก... ลองนึกภาพว่าจะสะดวกแค่ไหนเมื่อทุกสิ่งเชื่อมต่อกับ ซัพพลายเออร์โดยอัตโนมัติ จะแสดงทันทีในฐานข้อมูลเดียวหรือไม่ ผู้จัดการที่ดูแลคลังสินค้าจะมองเห็นความพร้อมของสินค้าในคลังสินค้าทันที พนักงานอีกคนที่รับผิดชอบด้านเอกสารจะตรวจสอบข้อมูลเกี่ยวกับความพร้อมของพวกเขา ไม่ว่าจะปฏิบัติตามภาระผูกพันทั้งหมดภายใต้ความสัมพันธ์ตามสัญญาหรือไม่ ใครเป็นหนี้ใครและจำนวนเงินเท่าใด และในกรณีที่เกิดความคลาดเคลื่อน คุณสามารถปรับข้อมูลในช่วงเวลาหนึ่งได้ โดยสร้างผลลัพธ์ได้ภายในเวลาไม่ถึงนาที

4. ผลกำไรขององค์กร
การสร้างรายงานผลกำไรไม่ใช่เรื่องยาก เนื่องจากข้อมูลค่าใช้จ่ายและรายได้ทั้งหมดมีอยู่ในฐานข้อมูลแล้ว โดยมีเงื่อนไขว่าจะต้องป้อนข้อมูลภายในเวลาที่กำหนดอย่างน้อยภายในวันที่กำหนด ปัจจัยพื้นฐานที่นี่คือความรับผิดชอบส่วนบุคคลของผู้ใช้

หากคุณไม่มีลูกค้าและซัพพลายเออร์จำนวนมาก Excel จะเหมาะกับคุณจริงๆ เนื่องจากมีเวลาเหลือเฟือในการออกแบบไดอะแกรมของคุณเองในตารางและกรอกข้อมูลตามด้วยการแจกจ่ายเอกสารไปยังโฟลเดอร์ต่าง ๆ บนคอมพิวเตอร์: สัญญา, ซัพพลายเออร์, ลูกค้า, ลูกค้าในละแวกใกล้เคียง, ลูกค้าอยู่ระหว่างการพัฒนา, ลูกค้าที่จะถูกลบ - กระบวนการสร้างโฟลเดอร์ภายในโฟลเดอร์ที่น่าทึ่งและไม่มีที่สิ้นสุด และหากมีข้อมูลจำนวนมากจะสะดวกในการติดตามฐานข้อมูลของคุณหรือไม่? แน่นอนว่ามีข้อยกเว้นอยู่เสมอ บางครั้งมีองค์กรที่มีการหมุนเวียนจำนวนมากซึ่งข้อมูลทางการเงินจะถูกเก็บรักษาไว้ใน Excel เท่านั้น การแลกเปลี่ยนและรวมข้อมูลระหว่างแผนกใช้เวลานานแค่ไหน? ฉันจะตอบ: มาก

ฉันจินตนาการไม่ออกว่าจะค้นหาสิ่งที่คุณต้องการอย่างรวดเร็วในเอกสาร Excel จำนวนมากที่จัดในระบบที่กำหนดเองได้อย่างไร เช่นในการจัดเตรียมเอกสารข้อกำหนดจากกรมสรรพากร นักบัญชีจะส่งรายงานไปยังหน่วยงานกำกับดูแลอย่างไรเมื่อข้อมูลกระจัดกระจาย? แน่นอนว่าการบัญชีสามารถจ้างจากภายนอกได้ และน่าเสียดายที่เจ้าของธุรกิจบางรายอาจไม่สนใจว่าผู้เชี่ยวชาญรายใดจะมีกระบวนการใดตราบใดที่เขารักษาสมดุล แต่ถึงจะเป็นเช่นนั้น กระบวนการแลกเปลี่ยนเอกสารจะเป็นอย่างไร? พนักงานภายนอกจะเข้าใจโครงสร้างข้อมูลที่ได้รับการปรับปรุงได้เร็วแค่ไหน?

ฉันไม่สามารถพูดแบบเดียวกันเกี่ยวกับ 1C ได้เนื่องจากข้อมูลทั้งหมดมีโครงสร้างและเชื่อมโยงถึงกัน:

    ฐานข้อมูลเดียวสำหรับทั้งพนักงานระยะไกลและเต็มเวลา ซึ่งคุณสามารถทำงานกับเอกสารที่เป็นมาตรฐานและกำหนดเองทั้งหมดได้
    การรายงานไปยังหน่วยงานกำกับดูแลนั้นสร้างขึ้นบนพื้นฐานของข้อมูลที่มีอยู่ในโปรแกรมแล้ว ไม่จำเป็นต้องเปิดไฟล์จำนวนมาก รวมค่าหลายค่าไว้ในตารางเดียวเพื่อให้ได้ผลลัพธ์สุดท้าย
ในทางที่ดี “1C” คือระบบมัลติทาสกิ้งที่มุ่งเป้าไปที่งานบัญชีทั่วไปและทำให้กระบวนการขององค์กรทั้งหมดเป็นแบบอัตโนมัติ ขึ้นอยู่กับสาขาของกิจกรรม คำหลักที่นี่คือระบบ ไม่มีใครหยุดคุณจากการจัดระเบียบระบบธุรกิจของคุณใน Excel แต่เหตุใดจึงต้องสร้างวงล้อขึ้นมาใหม่เมื่อมีโซลูชันที่ครอบคลุมความต้องการเกือบทั้งหมดในการปรับเวลาและต้นทุนทางการเงินให้เหมาะสม และช่วยจัดระบบงานของคุณ

ในการป้องกัน Excel

สำหรับคุณแล้วดูเหมือนว่าฉันไม่เห็นด้วยกับการสร้างข้อมูลในตาราง "สีเขียว" ไม่เลย. อันที่จริงตัวฉันเองมักจะทำธุรกิจบางอย่างใน Excel: หากฉันต้องการการคำนวณโดยพลการ หากฉันต้องแบ่งกลุ่มข้อมูลตามไคลเอนต์ ทำการวิเคราะห์ตามพารามิเตอร์ที่ไม่ได้อยู่ใน 1C - ใช่ สิ่งนี้จะเกิดขึ้น - ฉันไปที่ " Excel" พูดง่ายๆ ก็คือ ในตาราง ฉันทำการคำนวณและการวิเคราะห์ที่ไม่ได้มาตรฐาน แต่แล้วฉันก็จัดระบบทุกอย่างใน 1C อยู่ดี

จากนั้นในการดูไฟล์ที่ดาวน์โหลดจาก 1C คุณยังคงต้องใช้ Excel เนื่องจากข้อมูลใน 1C จะถูกจัดเก็บไว้ในสเปรดชีต คุณรู้สึกว่านี่เป็นวงจรอุบาทว์หรือไม่? ฉันจะพูดแตกต่างออกไป: "1C" และ "Excel" อยู่เคียงข้างกันเหมือนคู่ค้าสองคน แต่แต่ละคนก็มีจุดประสงค์ของตัวเอง พวกเขาเสริมซึ่งกันและกันอย่างดี แต่ไม่ได้แทนที่กัน

หากคุณต้องการจัดระบบกิจการของคุณโดยคำนึงถึงระบบกฎหมายของรัฐของเรา โดยคำนึงถึงลักษณะเฉพาะและจุดเน้นของธุรกิจ โดยเฉพาะอย่างยิ่งเมื่อพูดถึงข้อมูลปริมาณมาก คุณต้องมี 1C หากคุณต้องการการคำนวณตามอำเภอใจ การสร้างกลยุทธ์ตั้งแต่เริ่มต้น การแสดงภาพข้อมูลการวิเคราะห์ที่ไม่ได้มาตรฐาน Excel ก็พร้อมให้บริการคุณ แต่การทำงานกับโซลูชันเหล่านี้พร้อมกันจะสะดวกกว่ามาก


ผลลัพธ์สุดท้ายคืออะไร – “1C” หรือ “Excel”?

ในตอนแรก หากคำถามเกี่ยวกับการเงินสำหรับระบบอัตโนมัติ แม้ว่าโปรแกรม 1C พื้นฐานจะไม่ต้องใช้เงินมากขนาดนั้น แต่ฉันก็คงใช้ Excel ข้อดีอย่างมากคือสามารถโหลดข้อมูลจากตาราง "สีเขียว" ลงใน 1C ได้โดยไม่สูญเสีย แต่เมื่อคุณขยายขนาด ฉันขอแนะนำให้คุณใส่ใจกับโปรแกรมเพื่อทำให้กระบวนการทางธุรกิจเป็นแบบอัตโนมัติ มีมากมายและอาจไม่จำเป็นต้องเป็น 1C...

การเปลี่ยนไปใช้ "1C" สามารถทำได้เมื่อคุณเข้าใจว่าคุณจำเป็นต้องเพิ่มประสิทธิภาพทรัพยากรของคุณ รวมถึงการจัดการปัญหาอัตโนมัติที่เกี่ยวข้องกับความสัมพันธ์กับลูกค้าและซัพพลายเออร์ และกับหน่วยงานกำกับดูแล โดยทั่วไป ให้ปรับกระบวนการทำงานของคุณเพื่อเพิ่มประสิทธิภาพทางธุรกิจเมื่อการประมวลผลข้อมูลใช้เวลานาน และไฟล์ Excel จะไม่สามารถรับมือกับปริมาณข้อมูลที่ป้อนเข้าได้อีกต่อไป

อย่างไรก็ตาม ไม่ใช่ทุก “1C” ที่อาจเหมาะกับคุณ คุณต้องคำนึงถึงปัจจัยต่างๆ เช่น ลักษณะเฉพาะและขอบเขตของธุรกิจ ขนาด ความจำเป็นในการทำงานประจำวัน กิจวัตรที่ต้องย่อให้เล็กสุด ทุกอย่างเป็นรายบุคคล ความจริงอย่างที่ฉันพูดไปแล้วนั้นอยู่ระหว่าง "1C" และ "Excel" - มันเติมเต็มซึ่งกันและกัน

นั่นอาจเป็นทั้งหมด แต่ถ้าคุณมีคำถามใด ๆ โปรดติดต่อเรา เราจะพยายามช่วยเหลือคุณ กระบวนการทางธุรกิจที่ประสบความสำเร็จเพื่อนร่วมงาน!

แอปพลิเคชัน 1C เป็นโปรแกรมที่ได้รับความนิยมมากที่สุดในหมู่นักบัญชี นักวางแผน นักเศรษฐศาสตร์ และผู้จัดการมายาวนาน ไม่เพียงแต่มีการกำหนดค่าที่หลากหลายสำหรับกิจกรรมประเภทต่างๆ เท่านั้น แต่ยังรวมถึงการแปลตามมาตรฐานการบัญชีในหลายประเทศทั่วโลกด้วย องค์กรจำนวนมากขึ้นเรื่อยๆ กำลังเปลี่ยนมาใช้การบัญชีในโปรแกรมนี้ แต่ขั้นตอนการถ่ายโอนข้อมูลจากโปรแกรมบัญชีอื่นไปยัง 1C ด้วยตนเองนั้นเป็นงานที่ค่อนข้างยาวและน่าเบื่อซึ่งใช้เวลานาน หากองค์กรเก็บบันทึกโดยใช้ Excel กระบวนการถ่ายโอนจะเป็นอัตโนมัติและเร่งความเร็วได้อย่างมาก

การถ่ายโอนข้อมูลจาก Excel ไปยัง 1C จำเป็นไม่เพียงแต่ในช่วงเริ่มต้นของการทำงานกับโปรแกรมนี้เท่านั้น บางครั้งจำเป็นต้องทำสิ่งนี้เมื่อคุณต้องป้อนรายการบางรายการที่จัดเก็บไว้ในสมุดสเปรดชีตในระหว่างทำกิจกรรม ตัวอย่างเช่น หากคุณต้องการโอนรายการราคาหรือคำสั่งซื้อจากร้านค้าออนไลน์ หากรายการมีขนาดเล็ก คุณสามารถป้อนด้วยตนเองได้ แต่จะเกิดอะไรขึ้นหากรายการเหล่านั้นมีรายการหลายร้อยรายการ เพื่อเร่งขั้นตอนให้เร็วขึ้นคุณสามารถใช้ตัวเลือกเพิ่มเติมได้

เอกสารเกือบทุกประเภทเหมาะสำหรับการดาวน์โหลดอัตโนมัติ:

  • รายการระบบการตั้งชื่อ;
  • รายชื่อคู่สัญญา
  • รายการราคา;
  • รายการคำสั่ง;
  • ข้อมูลเกี่ยวกับการซื้อหรือการขาย ฯลฯ

ควรสังเกตทันทีว่า 1C ไม่มีเครื่องมือในตัวที่จะช่วยให้คุณสามารถถ่ายโอนข้อมูลจาก Excel เพื่อวัตถุประสงค์เหล่านี้ คุณจะต้องเชื่อมต่อโปรแกรมโหลดบูตภายนอกซึ่งเป็นไฟล์ในรูปแบบ อีพีเอฟ.

การเตรียมข้อมูล

เราจะต้องเตรียมข้อมูลในตาราง Excel เอง


นอกเหนือจากการดำเนินการที่เป็นสากลเหล่านี้ในการเตรียมข้อมูลในหนังสือ Excel คุณจะต้องนำเอกสารให้สอดคล้องกับข้อกำหนดของตัวโหลดเฉพาะที่เราจะใช้ แต่เราจะพูดถึงเรื่องนี้ด้านล่างเล็กน้อย

การเชื่อมต่อบูตโหลดเดอร์ภายนอก

เชื่อมต่อ bootloader ภายนอกพร้อมส่วนขยาย อีพีเอฟแอปพลิเคชัน 1C สามารถทำได้ทั้งก่อนและหลังการเตรียมไฟล์ Excel สิ่งสำคัญคือปัญหาการเตรียมการทั้งสองนี้ได้รับการแก้ไขก่อนเริ่มกระบวนการโหลด

มีตัวโหลดตาราง Excel ภายนอกหลายตัวสำหรับ 1C ซึ่งสร้างโดยนักพัฒนาหลายคน เราจะพิจารณาตัวอย่างโดยใช้เครื่องมือในการประมวลผลข้อมูล “กำลังโหลดข้อมูลจากเอกสารสเปรดชีต”สำหรับเวอร์ชัน 1C 8.3


หนึ่งในฐานข้อมูลหลักที่ 1C ทำงานด้วยคือรายการผลิตภัณฑ์และบริการ ดังนั้นเพื่ออธิบายขั้นตอนการโหลดจาก Excel เราจะเน้นที่ตัวอย่างการถ่ายโอนข้อมูลประเภทนี้

  1. เรากลับไปที่หน้าต่างการประมวลผล เนื่องจากเราจะโหลดกลุ่มผลิตภัณฑ์ สวิตช์ในพารามิเตอร์จึงควรอยู่ในตำแหน่ง "ไดเรกทอรี"- อย่างไรก็ตาม มีการติดตั้งด้วยวิธีนี้ตามค่าเริ่มต้น คุณควรเปลี่ยนเฉพาะเมื่อคุณกำลังจะถ่ายโอนข้อมูลประเภทอื่น: ส่วนแบบตารางหรือการลงทะเบียนข้อมูล ต่อไปในสนาม "มุมมองไดเรกทอรี"คลิกที่ปุ่มที่มีจุดไข่ปลาอยู่ รายการแบบเลื่อนลงจะเปิดขึ้น ในนั้นเราควรเลือกรายการ "ระบบการตั้งชื่อ".
  2. หลังจากนี้ ตัวจัดการจะวางฟิลด์ที่โปรแกรมใช้ในสมุดอ้างอิงประเภทนี้โดยอัตโนมัติ ควรสังเกตทันทีว่าไม่จำเป็นต้องกรอกข้อมูลทุกช่องเลย
  3. ตอนนี้เปิดเอกสาร Excel แบบพกพาอีกครั้ง หากชื่อของคอลัมน์แตกต่างจากชื่อของฟิลด์ไดเร็กทอรี 1C ที่มีคอลัมน์ที่เกี่ยวข้องคุณจะต้องเปลี่ยนชื่อคอลัมน์เหล่านี้ใน Excel เพื่อให้ชื่อตรงกันโดยสมบูรณ์ หากตารางมีคอลัมน์ที่ไม่มีแอนะล็อกในไดเร็กทอรี ก็ควรลบคอลัมน์เหล่านั้นออก ในกรณีของเรา คอลัมน์เหล่านี้คือ "ปริมาณ"และ "ราคา"- ควรเพิ่มด้วยว่าลำดับของคอลัมน์ในเอกสารจะต้องตรงกับลำดับที่แสดงในการประมวลผลอย่างเคร่งครัด หากคุณไม่มีข้อมูลสำหรับบางคอลัมน์ที่แสดงในตัวโหลด คอลัมน์เหล่านี้สามารถเว้นว่างไว้ได้ แต่หมายเลขของคอลัมน์ที่มีข้อมูลจะต้องตรงกัน เพื่อความสะดวกและรวดเร็วในการแก้ไข คุณสามารถใช้คุณลักษณะพิเศษของ Excel เพื่อย้ายคอลัมน์ไปยังตำแหน่งต่างๆ ได้อย่างรวดเร็ว

    หลังจากทำตามขั้นตอนเหล่านี้เสร็จสิ้นแล้ว ให้คลิกที่ไอคอน "บันทึก"ซึ่งแสดงด้วยไอคอนรูปฟล็อปปี้ดิสก์ที่มุมซ้ายบนของหน้าต่าง จากนั้นปิดไฟล์โดยคลิกที่ปุ่มปิดมาตรฐาน

  4. เรากลับไปที่หน้าต่างการประมวลผล 1C คลิกที่ปุ่ม "เปิด"ซึ่งแสดงเป็นโฟลเดอร์สีเหลือง
  5. หน้าต่างเปิดไฟล์จะเปิดขึ้น ไปที่ไดเร็กทอรีที่มีเอกสาร Excel ที่เราต้องการอยู่ สวิตช์แสดงไฟล์เริ่มต้นถูกตั้งค่าเป็นนามสกุล เอ็มเอ็กซ์แอล- เพื่อที่จะแสดงไฟล์ที่เราต้องการ เราต้องย้ายมันไปยังตำแหน่งนั้น "แผ่นงาน Excel"- หลังจากนั้นให้เลือกเอกสารที่จะถ่ายโอนแล้วคลิกที่ปุ่ม "เปิด".
  6. จากนั้นเนื้อหาจะถูกเปิดในตัวจัดการ หากต้องการตรวจสอบว่ากรอกข้อมูลถูกต้องให้คลิกที่ปุ่ม "การควบคุมการเติม".
  7. ดังที่เราเห็น เครื่องมือควบคุมการเติมแจ้งให้เราทราบว่าไม่พบข้อผิดพลาด
  8. ตอนนี้เรามาดูแท็บกัน "การตั้งค่า"- ใน "ช่องค้นหา"เราใส่เครื่องหมายถูกในบรรทัดซึ่งจะไม่ซ้ำกันสำหรับชื่อทั้งหมดที่ป้อนในไดเร็กทอรีระบบการตั้งชื่อ ฟิลด์ที่ใช้บ่อยที่สุดสำหรับสิ่งนี้คือ "รหัสผู้ขาย"หรือ "ชื่อ"- จะต้องดำเนินการนี้เพื่อที่ว่าเมื่อเพิ่มรายการใหม่ลงในรายการ ข้อมูลจะไม่ซ้ำกัน
  9. หลังจากป้อนข้อมูลทั้งหมดและตั้งค่าเรียบร้อยแล้ว คุณสามารถดำเนินการโหลดข้อมูลลงในไดเร็กทอรีได้โดยตรง โดยคลิกที่คำจารึก “โหลดข้อมูล”.
  10. กระบวนการดาวน์โหลดอยู่ในระหว่างดำเนินการ หลังจากเสร็จสิ้น คุณสามารถไปที่สมุดอ้างอิงรายการและตรวจสอบให้แน่ใจว่าได้เพิ่มข้อมูลที่จำเป็นทั้งหมดแล้ว

เราทำตามขั้นตอนในการเพิ่มข้อมูลลงในไดเร็กทอรีระบบการตั้งชื่อในโปรแกรม 1C 8.3 สำหรับไดเร็กทอรีและเอกสารอื่น ๆ การดาวน์โหลดจะดำเนินการตามหลักการเดียวกัน แต่มีความแตกต่างบางประการที่ผู้ใช้สามารถทราบได้ด้วยตนเอง ควรสังเกตว่าขั้นตอนอาจแตกต่างกันสำหรับตัวโหลดบุคคลที่สามที่แตกต่างกัน แต่วิธีการทั่วไปยังคงเหมือนเดิมสำหรับทุกคน: ขั้นแรกโปรเซสเซอร์จะโหลดข้อมูลจากไฟล์ลงในหน้าต่างที่แก้ไข จากนั้นจึงเพิ่มเท่านั้น โดยตรงไปยังฐานข้อมูล 1C