ข้อผิดพลาด 1C ที่พบบ่อยที่สุดและวิธีการแก้ไข ข้อผิดพลาด 1C ที่พบบ่อยที่สุดและวิธีการแก้ไขข้อผิดพลาด Subdb ส่วนประกอบข้อผิดพลาดภายใน dbeng8

อาจมีสาเหตุหลายประการสำหรับข้อผิดพลาดดังกล่าว สิ่งแรกที่สมเหตุสมผลหากเกิดข้อผิดพลาดดังกล่าวคือการระบุแหล่งที่มาของปัญหา

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

    ตรวจสอบการทำงานของโปรแกรมจากคอมพิวเตอร์เครื่องอื่นและจากเครื่องอื่น บัญชีผู้ใช้

    ตรวจสอบการเผยแพร่แพลตฟอร์มและการกำหนดค่า: เวอร์ชันปัจจุบันตรงกับเวอร์ชันอย่างเป็นทางการล่าสุดหรือไม่

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

มีข้อผิดพลาดจำนวนหนึ่งที่เกิดขึ้นเมื่อใช้งานโดยไม่มีใบอนุญาต ซอฟต์แวร์(ทั้งผลิตภัณฑ์ “1 °C” และตัวอย่างเช่น ระบบปฏิบัติการ Windows) ตัวอย่างทั่วไปในกรณีของแพลตฟอร์ม 1C ที่ "เสียหาย": แพตช์ที่ทำลายเวอร์ชันเฉพาะของแพลตฟอร์มจะหยุดทำงานหลังการติดตั้ง เวอร์ชันใหม่แพลตฟอร์ม การเข้าสู่ระบบฐานข้อมูลในกรณีนี้จะส่งผลให้มีข้อความ “ไม่พบใบอนุญาตฟรี”

สำคัญ!อย่าลืมทำนะครับ สำเนาสำรองฐานข้อมูลของคุณก่อนที่จะเปลี่ยนแปลงสิ่งใดในการกำหนดค่า หากไม่สามารถเปิดฐานข้อมูลโดยใช้ตัวกำหนดค่า คุณควรคัดลอกโฟลเดอร์ด้วยฐานข้อมูลโดยใช้ระบบปฏิบัติการ จากนั้นดำเนินการทั้งหมดด้วยสำเนานี้

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

ข้อผิดพลาด วิธีการแก้ไข

ฐานข้อมูลไม่เปิด

    อัพเดตแพลตฟอร์ม

    การล้างไฟล์ชั่วคราว (เงินสด): ลบฐานข้อมูลออกจากรายการและเชื่อมต่ออีกครั้ง

    เข้าสู่ระบบฐานข้อมูลโดยใช้บัญชีอื่น

ไม่มีอะไรทำงานโดยไม่มีเหตุผลที่ชัดเจน

    อัพเดตแพลตฟอร์ม

    ค้นหาสาเหตุของความล้มเหลวในบันทึก

ดัมพ์ฐานข้อมูลเมื่อเริ่มต้น

    ปิดการใช้งานการเร่งด้วยฮาร์ดแวร์การ์ดแสดงผล ใช้วินโดวส์, รีบูตระบบ

ฐานข้อมูลเปิดในตัวกำหนดค่า แต่ไม่ใช่ในโหมดผู้ใช้

    อัพเดตแพลตฟอร์ม

    การล้างไฟล์ชั่วคราว (เงินสด)

    เข้าสู่ระบบฐานข้อมูลจากบัญชีอื่น (และ/หรือจากบัญชีผู้ดูแลระบบ)

    เข้าสู่ระบบฐานข้อมูลจากคอมพิวเตอร์เครื่องอื่น (เพื่อขจัดความผิดปกติทั่วไปของคอมพิวเตอร์เครื่องปัจจุบัน)

    การทดสอบความสมบูรณ์ทางกายภาพของฐานข้อมูลโดยใช้ยูทิลิตี้ “chdbfl” (โฟลเดอร์ C:\Program Files (x86)\1cv8\8.x.x.xxx\bin\chdbfl.exe) หรือในกรณีของฐานข้อมูล SQL ให้ทดสอบโดยใช้ SQL เครื่องมือ

    การทดสอบและแก้ไขความปลอดภัยของข้อมูลโดยใช้ตัวกำหนดค่า

โปรแกรมเปิดรหัสตัวกำหนดค่าโดยไม่มีการเตือน

    อัพเดตแพลตฟอร์ม

    การล้างไฟล์ชั่วคราว (เงินสด)

    ตรวจสอบรหัสในตัวดีบักเกอร์

ตามกฎแล้ว สถานการณ์นี้เกิดขึ้นเนื่องจากข้อผิดพลาดในโค้ดที่แก้ไข ซึ่งส่วนใหญ่มักเกิดขึ้นในกรณีของการกำหนดค่าที่ไม่ได้มาตรฐาน

โปรแกรมทำงานแตกต่างกันสำหรับผู้ใช้ที่แตกต่างกัน

    อัพเดตแพลตฟอร์ม

    การล้างไฟล์ชั่วคราว (เงินสด)

    การตั้งค่าสิทธิ์ของกลุ่ม

    การตั้งค่าสิทธิ์ของผู้ใช้

บล็อกแบบฟอร์มแสดงไม่ถูกต้อง

    อัพเดตแพลตฟอร์ม

    การล้างไฟล์ชั่วคราว (เงินสด)

    เข้าสู่ระบบฐานข้อมูลจากบัญชีอื่น (และ/หรือจากบัญชีผู้ดูแลระบบ)

    เข้าสู่ระบบฐานข้อมูลจากคอมพิวเตอร์เครื่องอื่น (เพื่อขจัดความผิดปกติทั่วไปของคอมพิวเตอร์เครื่องปัจจุบัน)

โปรแกรมไม่ทำงานบนคอมพิวเตอร์บางเครื่องบนเครือข่ายที่ใช้งานได้ แต่ใช้งานได้กับเครื่องอื่น

    กำลังตรวจสอบสิทธิ์เครือข่าย ของคอมพิวเตอร์เครื่องนี้(โดยใช้เครื่องมือ Windows)

    อัพเดตแพลตฟอร์ม โดยเฉพาะอย่างยิ่ง คุณควรตรวจสอบความสอดคล้องของการเผยแพร่การกำหนดค่าและแพลตฟอร์มภายในเครือข่าย

    การล้างไฟล์ชั่วคราว (เงินสด)

    เข้าสู่ระบบฐานข้อมูลจากบัญชีอื่น (และ/หรือจากบัญชีผู้ดูแลระบบ)

หน่วยความจำไม่เพียงพอ

    อัพเดตแพลตฟอร์ม

    การล้างไฟล์ชั่วคราว (เงินสด)

    เข้าสู่ระบบฐานข้อมูลจากบัญชีอื่น (และ/หรือจากบัญชีผู้ดูแลระบบ)

    เข้าสู่ระบบฐานข้อมูลจากคอมพิวเตอร์เครื่องอื่น (เพื่อขจัดความผิดปกติทั่วไปของคอมพิวเตอร์เครื่องปัจจุบัน)

    การเพิ่มประสิทธิภาพของแบบสอบถามที่มีปัญหา

    การขยายหน่วยความจำฮาร์ดแวร์

    การเพิ่มขนาดของไฟล์เพจจิ้ง

    การจัดการหน่วยความจำที่จัดสรรผ่าน บรรทัดคำสั่งหน้าต่าง บรรทัด: “bcdedit /set adduserva 3072” โดยที่ 3072 คือขนาดของหน่วยความจำที่อยู่ที่ต้องการ

ข้อผิดพลาด DBMS ข้อผิดพลาดส่วนประกอบ dbeng8 ภายใน

    การอัพเดตแพลตฟอร์มบนคอมพิวเตอร์ทุกเครื่องบนเครือข่าย

    การทดสอบความสมบูรณ์ทางกายภาพของฐานข้อมูลโดยใช้ยูทิลิตี้ "chdbfl"yu

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

ปัญหาดังกล่าว ข้อผิดพลาดของรูปแบบสตรีม เกิดขึ้นค่อนข้างบ่อยใน 1C 8.3 มาดูวิธีแก้ไขข้อผิดพลาดนี้กัน

ข้อผิดพลาดของรูปแบบสตรีมใน 1s 8.3 คืออะไร

สิ่งนี้เกิดขึ้นในสถานการณ์ต่อไปนี้:

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

รับบทเรียนวิดีโอ 267 บทเรียนบน 1C ฟรี:

การแก้ไข

  1. ตามกฎแล้ว ในการแก้ปัญหานี้ก็เพียงพอแล้วที่จะล้างไฟล์ชั่วคราวในระบบ -
  2. หากไม่ได้ผล แต่คุณสามารถเข้าสู่ตัวกำหนดค่าได้ ให้เรียกใช้ .
  3. หากคุณไม่มีสิทธิ์เข้าถึงตัวกำหนดค่าและฐานข้อมูลกำลังทดสอบ ให้ใช้ฐานข้อมูลนั้นซึ่งอยู่ในโฟลเดอร์โปรแกรม
  4. หากวิธีการข้างต้นไม่ช่วย แต่โหมด 1C Enterprise เริ่มทำงานให้อัปโหลดข้อมูลไปยังฐานข้อมูลใหม่โดยใช้การประมวลผล " " อย่างไรก็ตาม อาจส่งผลให้ข้อมูลสูญหายได้
  5. อัปเดต- อีกเหตุผลหนึ่งคือการมีเซสชันผู้ใช้ที่ใช้งานอยู่ในเวอร์ชันที่แตกต่างกันของส่วนไคลเอ็นต์ของแพลตฟอร์ม 1C ตัวอย่างเช่นนั่นคือผู้ใช้ที่มีแพลตฟอร์ม 1C 8.3.5.1517 ทำงานในฐานข้อมูลและอีกคนหนึ่งพยายามเชื่อมต่อด้วยเวอร์ชัน 8.3.5.1444

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

บทความนี้จะอธิบายสาเหตุ ประเภท และวิธีแก้ไข
“ข้อผิดพลาดของรูปแบบสตรีม” 1C

ทุกคนที่ทำงานกับ 1C:Enterprise ในการกำหนดค่าใด ๆ ได้เห็นหน้าต่างที่มีข้อผิดพลาด “ข้อผิดพลาดรูปแบบสตรีม” อย่างน้อยหนึ่งครั้ง

หน้าต่างนี้รวมอยู่ในข้อผิดพลาด 1C:Enterprise ที่พบบ่อยที่สุด 3 อันดับแรก ไม่เป็นที่พอใจเพราะไม่มีข้อมูล ไม่ชัดเจน: ที่ไหนและข้อผิดพลาดคืออะไร? ปฏิกิริยาตามธรรมชาติคือการคลิกปุ่ม "รีสตาร์ท" แต่มีความเป็นไปได้สูงว่าการรีสตาร์ทปัญหาจะไม่สามารถแก้ไขปัญหาได้ และผู้ใช้จะเห็นหน้าต่างนี้อีกครั้ง

บทความนี้จะอธิบายสาเหตุ ประเภท และวิธีการกำจัด “ข้อผิดพลาดรูปแบบสตรีม” 1C

เหตุใด 1C 8 จึงเขียน "ข้อผิดพลาดของรูปแบบสตรีม"

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

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

นอกจากแคชที่เขียนไม่ถูกต้อง เอกสาร (หรือไดเรกทอรี หรือวัตถุอื่น ๆ) อาจถูกเขียนไปยังฐานข้อมูลอย่างไม่ถูกต้อง และอาจทำให้เกิดข้อผิดพลาดที่กล่าวถึงในบทความนี้ได้

ประเภทของข้อผิดพลาดรูปแบบสตรีม

ตามอัตภาพ ข้อผิดพลาดของรูปแบบสตรีม 1C สามารถแบ่งออกเป็น 2 ประเภท:

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

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

จะแก้ไข “ข้อผิดพลาดของรูปแบบสตรีม” ได้อย่างไร?

พิจารณาโซลูชันยอดนิยม:

1. ล้างแคช 1C

วิธีการนี้ได้อธิบายโดยละเอียดในบทความของเรา "" เรามารำลึกความหลังกันสักนิด หากต้องการลบไฟล์แคชด้วยตนเอง คุณต้องค้นหาโฟลเดอร์ที่เก็บแคชไว้ สำหรับระบบปฏิบัติการ Win7 ขึ้นไป ไฟล์ชั่วคราวจะถูกเก็บไว้ที่ C:\Users\ชื่อผู้ใช้\AppData\Roaming\1Cและ C:\Users\ชื่อผู้ใช้\AppData\Local\1Cในโฟลเดอร์ที่ขึ้นต้นด้วย "1cv8" ใน Windows XP ในโฟลเดอร์ของผู้ใช้ที่ Local Settings\Application Data\1C\ หากมองไม่เห็นโฟลเดอร์ AppData ให้ปรับการมองเห็น โฟลเดอร์ที่ซ่อนอยู่- รูปด้านล่างแสดงลักษณะของไฟล์แคช - โฟลเดอร์ที่มีชื่อยาวและไม่ชัดเจน (ในกรณีของเรามีเพียงไฟล์เดียว) หากต้องการล้างแคช คุณต้องลบโฟลเดอร์เหล่านี้

สำคัญ!คุณสามารถลบโฟลเดอร์ได้เมื่อกระบวนการทำงานกับ 1C:Enterprise เสร็จสิ้นเท่านั้น

2. เริ่มการทดสอบและแก้ไข 1C

ในโหมดตัวกำหนดค่าคุณต้องคลิกที่รายการเมนู "การดูแลระบบ" จากนั้นเลือก "การทดสอบและการแก้ไข"

ควรตรวจสอบสองจุดแรก "การจัดทำดัชนีตารางฐานข้อมูลใหม่" และ "การตรวจสอบความสมบูรณ์ทางลอจิคัลของฐานข้อมูล" คลิกปุ่ม "เรียกใช้" ระบบจะตรวจสอบฐานข้อมูล ค้นหาข้อผิดพลาด แก้ไข และจัดทำรายงานเกี่ยวกับงานที่ทำให้กับคุณ หากจำเป็น ให้ตรวจสอบรายการที่สาม “การตรวจสอบความสมบูรณ์ในการอ้างอิงของฐานข้อมูล”

3. เรียกใช้ “chdbfl.exe”

หากไม่สามารถเข้าสู่ตัวกำหนดค่าได้ให้เรียกใช้โปรแกรม "chdbfl.exe" ซึ่งอยู่: “ไฟล์ C:\Program (x86)\1cv8\8.3……\bin”- เลือกไฟล์ฐานข้อมูล ทำเครื่องหมายในช่อง “แก้ไขข้อผิดพลาดที่ตรวจพบ” แล้วคลิกปุ่ม “เรียกใช้” จากนั้นระบบจะทำทุกอย่างให้คุณ ระบบจะตรวจสอบฐานข้อมูล ค้นหาข้อผิดพลาด และแก้ไขเอง ในขณะที่โปรแกรม "chdbfl.exe" กำลังทำงานอยู่ ไม่ควรมีเซสชันใดที่ใช้งานกับ 1C

4. อัปโหลดและโหลดฐานข้อมูลลงใน .dt

ในโหมดตัวกำหนดค่า เลือกรายการเมนู "การดูแลระบบ" และคลิก "ดาวน์โหลดฐานข้อมูล" หลังจากนั้น เลือกตำแหน่งที่คุณต้องการบันทึกไฟล์ฐานข้อมูล (.dt) ตั้งชื่อไฟล์แล้วคลิก “บันทึก”

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


5. อัปโหลดและโหลดข้อมูล XML

วิธีนี้อาจส่งผลให้ข้อมูลสูญหายได้ ดังนั้นจึงแนะนำให้ใช้โดยผู้ใช้ที่มีประสบการณ์เท่านั้น วิธีการนี้คล้ายกับวิธีก่อนหน้าและประกอบด้วยความจริงที่ว่าฐานข้อมูลแรกถูกยกเลิกการโหลด (ไม่ใช่ in.dt เช่นเดียวกับใน วิธีการก่อนหน้าแต่อยู่ในรูปแบบพิเศษ XML) จากนั้นฐานข้อมูลจะถูกโหลดกลับ ทำได้โดยใช้การประมวลผลในตัว "การอัปโหลดและการโหลดข้อมูล XML"


6.อัปเดต 1C

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


7. วิธีการอื่นๆ

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

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

ใน ฐานข้อมูลข้อผิดพลาดต่าง ๆ มากมายสามารถเกิดขึ้นได้บนแพลตฟอร์ม 1C:

การละเมิดความสมบูรณ์ทางลอจิคัล/ทางกายภาพของฐานข้อมูล ข้อผิดพลาดของผู้ใช้ รหัสนักพัฒนาที่ "คดเคี้ยว" และอื่นๆ อีกมากมาย

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

ขั้นแรก คุณควรถามคำถามเพื่อชี้แจงผู้ใช้สองสามข้อ:

1) การเผยแพร่แพลตฟอร์ม/การกำหนดค่า

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

3) เกิดขึ้นนานเท่าใดและปรากฏภายใต้สถานการณ์ใด เราไม่น่าจะสามารถแก้ไขข้อผิดพลาดที่ไม่สามารถทำซ้ำได้ซึ่งเราไม่เคยพบมาก่อน

4) สิ่งนี้จะเกิดขึ้นหรือไม่หากฉันเรียกใช้ 1c จากคอมพิวเตอร์เครื่องอื่น/จากผู้ใช้รายอื่น สิ่งนี้จะทำให้เรามีความคิด ไม่ว่าจะเป็นการล้างแคช การตั้งค่าสิทธิ์ หรือการล้างการตั้งค่าผู้ใช้สามารถช่วยได้

ตอนนี้เล็กน้อยเกี่ยวกับข้อผิดพลาดและวิธีแก้ไข

ทั่วไป:
ข้อผิดพลาดบางอย่างเกิดขึ้นเมื่อใช้ซอฟต์แวร์ที่ไม่มีลิขสิทธิ์ (Windows, 1C ฯลฯ)

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

หากคุณพบข้อผิดพลาดเป็นครั้งแรก - อาจมีคนอื่นพบข้อผิดพลาดแล้ว -

ค้นหาใน Google อาจมีบางคนพบสิ่งนี้แล้วและแก้ไขปัญหาได้ และคุณจะไม่เสียเวลาเพิ่มอีกสองสามชั่วโมง

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

การเปิดตัวแพลตฟอร์มปัจจุบัน - สำหรับการกำหนดค่าแต่ละรายการจะมีการเขียนว่าแนะนำให้ใช้แพลตฟอร์มใดสำหรับการทำงานกับการกำหนดค่านี้

บันทึกทางเทคโนโลยีช่วยให้คุณบันทึกเหตุการณ์ 1C:Enterprise ทั้งหมด (หรือบางส่วนโดยใช้ตัวกรอง)
คุณสามารถอ่านเกี่ยวกับเขาได้

!!!สำคัญ

ก่อนดำเนินการใดๆ กับฐานข้อมูล ให้ทำสำเนาเก็บถาวร!

หากฐานข้อมูลไม่เปิดในตัวปรับแต่ง ให้คัดลอกโฟลเดอร์ด้วยฐานข้อมูลและดำเนินการทั้งหมดกับการคัดลอก!

1) ฐานข้อมูลไม่เปิดเลย ไม่ว่าจะในโหมดผู้ใช้หรือในตัวกำหนดค่า

  • วิธีที่เร็วที่สุดที่คุณสามารถทำได้คือล้างไฟล์ชั่วคราว (ลบฐานข้อมูลออกจากรายการฐานข้อมูลแล้วเชื่อมต่ออีกครั้ง)

    การดำเนินการนี้จะไม่ลบไฟล์ชั่วคราว (แคช) แต่จะสร้างโฟลเดอร์ใหม่สำหรับไฟล์ฐานข้อมูลชั่วคราว คุณสามารถลบไฟล์ได้:
    บน Windows 7 ใน C:\Users\Username\AppData\Roaming\1C\1Cv8x
    ใน Windows XP C:\Documents and Settings\User_Name\Application Data\1C\1Cv8x

  • คุณยังสามารถลองเข้าสู่ระบบฐานข้อมูลจากผู้ใช้รายอื่นได้
  • หากฐานข้อมูลเป็นแบบไฟล์ ก็คุ้มค่าที่จะรันยูทิลิตีเพื่อทดสอบความสมบูรณ์ทางกายภาพของฐานข้อมูล chdbfl มันอยู่ในโฟลเดอร์:
    C:\ไฟล์โปรแกรม (x86)\1cv8\8.x.x.xxx\bin\chdbfl.exe
  • หากฐานข้อมูลเป็น sql ให้ทดสอบโดยใช้ sql
  • หากไม่มีอย่างใดอย่างหนึ่งช่วยได้ คุณสามารถอัปเดตแพลตฟอร์มได้ (ดูว่าแพลตฟอร์มใดที่วางจำหน่ายใช้งานได้)
  • หากวิธีข้างต้นไม่ได้ผล คุณสามารถใช้โปรแกรม Tool_1CD

2) หากฐานข้อมูลถูกทิ้งเมื่อเริ่มต้นระบบ

  • ปิดใช้งานการเร่งด้วยฮาร์ดแวร์การ์ดแสดงผล:
  1. เปิดคุณสมบัติหน้าจอ ซึ่งสามารถทำได้ผ่านแผงควบคุมหรือเพียงแค่คลิก คลิกขวาเลื่อนเมาส์ไปที่ใดก็ได้บนเดสก์ท็อป โดยไม่มีหน้าต่างและไอคอน และเลือกรายการเมนูบริบท "คุณสมบัติ"
  2. ในหน้าต่างการตั้งค่าการแสดงผลที่เปิดขึ้น ให้ไปที่แท็บ "การตั้งค่า" แล้วคลิกปุ่ม "ขั้นสูง"
  3. ในหน้าต่างคุณสมบัติการ์ดแสดงผลที่เปิดขึ้น ให้ไปที่แท็บ "การวินิจฉัย"
  4. เลื่อนแถบเลื่อน "การเร่งความเร็ว" ไปที่ตำแหน่งซ้ายสุด ("ไม่") แล้วคลิก "ใช้" หรือ "ตกลง" การเร่งด้วยฮาร์ดแวร์ถูกปิดใช้งาน การเปลี่ยนแปลงจะมีผลหลังจากรีบูตระบบ
  1. เปิดแผงควบคุม (เริ่ม - แผงควบคุม)
  2. ค้นหาและเปิดองค์ประกอบหน้าจอ
  3. ในส่วนด้านซ้ายของหน้าต่างที่เปิดขึ้น ให้คลิกลิงก์ "กำหนดการตั้งค่าหน้าจอ"
  4. ในหน้าต่างที่เปิดขึ้นให้คลิกลิงก์ "การตั้งค่าขั้นสูง"
  5. ไปที่แท็บการวินิจฉัยแล้วคลิกปุ่มเปลี่ยนการตั้งค่า
  6. ในหน้าต่างที่เปิดขึ้น ให้เลื่อนแถบเลื่อนไปที่ตำแหน่งซ้ายสุด (“ไม่”) แล้วคลิก “ตกลง” หากเปิดใช้งาน UAC คุณจะต้องยืนยันว่าการเปลี่ยนแปลงได้รับอนุญาตจากผู้ใช้ การเร่งด้วยฮาร์ดแวร์ถูกปิดใช้งาน การเปลี่ยนแปลงจะมีผลหลังจากรีบูตระบบ

ใน Windows 7 ในบางกรณี ปุ่ม "เปลี่ยนการตั้งค่า" จะเป็นสีเทา ในกรณีนี้ เป็นไปไม่ได้ที่จะปิดใช้งานการเร่งด้วยฮาร์ดแวร์ เนื่องจากการ์ดแสดงผลและไดรเวอร์ไม่รองรับการเร่งด้วยฮาร์ดแวร์

  • หากคุณมีโปรแกรมป้องกันไวรัส Kaspersky คุณสามารถลองปิดการใช้งานการป้องกันตัวเองและเปลี่ยนชื่อไฟล์ kloehk.dll และ mzvkbd3.dll ในโฟลเดอร์ Kaspersky (ข้อผิดพลาดเกิดขึ้นในเวอร์ชันเก่าตั้งแต่ปี 2554 แต่ก็ยังเกิดขึ้นในบางครั้ง)
  • ตรวจสอบว่าแพลตฟอร์ม/การกำหนดค่าการเผยแพร่ตรงกัน
  • ลองเข้าสู่ระบบฐานข้อมูลจากแพลตฟอร์มอื่น

3) ฐานข้อมูลเปิดในตัวกำหนดค่า แต่ไม่ต้องการเข้าสู่โหมดผู้ใช้

  • การล้างไฟล์ชั่วคราว
  • กำลังพยายามเข้าสู่ระบบในฐานะผู้ใช้รายอื่น
  • chdbfl / การทดสอบโดยใช้ sql
  • การทดสอบและแก้ไขความปลอดภัยของข้อมูล:
    ในตัวกำหนดค่าการดูแลระบบ - การทดสอบและการแก้ไข - ช่องทำเครื่องหมายขึ้นอยู่กับสถานการณ์
  • ลองสร้างผู้ใช้รายอื่นที่มีสิทธิ์เต็มและเข้าสู่ระบบในฐานะผู้ใช้รายนั้น
  • ลองถ่ายโอนไปยังพีซีเครื่องอื่นแล้วเปิดที่นั่น อาจมีบางอย่างจากพีซี

4) เมื่อมีการกระทำบางอย่างเกิดขึ้น มันจะส่งโค้ดไปยังตัวกำหนดค่า

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

หากการกำหนดค่าไม่ปกติ แสดงว่าการอัปเดตไม่ถูกต้องหรือนักพัฒนาที่สรุปการกำหนดค่าไม่ได้ระบุความเป็นไปได้ทั้งหมดที่จะเกิดข้อผิดพลาดของผู้ใช้ - ไม่สามารถเข้าใจผิดได้ (ถ้าเป็นไปได้!)

หากเป็นเรื่องปกติ อาจมีข้อบกพร่องในการเผยแพร่

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

5) ภายใต้ผู้ใช้รายหนึ่งจะอนุญาตให้คุณทำบางสิ่งบางอย่างได้ภายใต้ผู้ใช้รายอื่นไม่ได้ทำ

  • การตั้งค่าสิทธิ์ของผู้ใช้
  • การตั้งค่าผู้ใช้
  • การล้างแคช

6) มันเข้าสู่ระบบจากพีซีเครื่องหนึ่ง แต่ไม่ใช่จากอีกเครื่องหนึ่ง

  • ตรวจสอบใน Explorer เพื่อดูว่าฐานข้อมูลมองเห็นได้หรือไม่ - บางทีโฟลเดอร์ที่มีฐานข้อมูลอาจไม่ได้แชร์
  • การล้างแคช
  • เข้าสู่ระบบเป็นผู้ใช้อื่น

7) ฉันไม่ได้ทำ/ทำอะไรเลย แต่ทุกอย่างพังสำหรับฉัน

  • หากพวกเขาสามารถบอกคุณได้ว่าพวกเขา “ไม่ได้ทำ” อะไรและเมื่อใด คุณก็สามารถใช้ได้
  • เข้าสู่ระบบด้วยการเลือกและอาจค้นหาว่าปัญหาคืออะไร
  • สมุดบันทึกสามารถพบได้ในตัวกำหนดค่า:
  • การบริหาร - สมุดบันทึก

    หรือในโหมดผู้ใช้ - ตำแหน่งขึ้นอยู่กับการกำหนดค่า

8) หน่วยความจำไม่เพียงพอ

มีกรณีลูกค้ามาบอกว่าพอปิดเดือนขึ้น error “Insufficient memory” ขึ้นมา ฉันแก้ไขปัญหานี้แล้ว ฉันคิดว่ามันง่าย ขั้นแรกฉันเพิ่ม RAM ซึ่งเป็นความผิดพลาด มันคือ 2 กิกะไบต์ ตอนนี้เป็น 4 แต่ 1 วินาทียังไม่เพียงพอ ฉันเปลี่ยนขนาดของไฟล์เพจจิ้ง - ข้อผิดพลาดการติดตั้งระบบใหม่ (ติดตั้ง Windows 7) ให้ผลลัพธ์ชั่วคราวเท่านั้นเป็นเวลาประมาณหนึ่งสัปดาห์ ฉันพยายามทุกอย่าง หลังจากนั้นสักพักก็พบวิธีแก้ไข

สารละลาย

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

BCDEdit /set เพิ่มผู้ใช้ xxxx- แทนที่จะเป็น xxxx ให้เขียนจำนวนพื้นที่ที่อยู่เสมือนเป็นเมกะไบต์ เช่น ต้องใช้หน่วยความจำเท่าใดในการรันแอปพลิเคชัน ค่าเริ่มต้นคือ 2 กิ๊ก โดยทั่วไปเป็นแบบ 32 บิต ระบบปฏิบัติการจัดสรร 4 กิกะไบต์: 2 สำหรับแอปพลิเคชันและ 2 สำหรับความต้องการของระบบปฏิบัติการเอง ฉันเลือก 3000 (เช่น CDEdit /set adduserva 3000 ). อย่างไรก็ตามระบบอาจจะมีปัญหา โดยเฉพาะถ้าคุณมี RAM 2 กิ๊กเหมือนฉัน นี่สำหรับตระกูล OS วินโดวส์วิสต้า, 7, วินโดวส์ 2008

สำหรับ Windows XP\Windows 2003 เราเขียน
/3GB /userva=xxxx (xxxxเป็น MB ในช่วง 2048 - 3072) ในไฟล์ boot.ini ค่าสูงสุดที่แนะนำ ผู้ใช้ 2900-3030.

9) องค์ประกอบของฟอร์มซ้อนทับกันและอยู่ในตำแหน่งที่ไม่ถูกต้อง

  • การล้างแคช

10) ข้อผิดพลาด DBMS ข้อผิดพลาดภายในในองค์ประกอบ dbeng8

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

วิธีแก้ไข: อัปเดตเป็นรุ่นล่าสุดบนเวิร์กสเตชันทั้งหมด

หากไม่ได้ผลให้ทำดังต่อไปนี้:

  • การทดสอบและการแก้ไข

11) ข้อผิดพลาดในแพลตฟอร์ม 8.3.4.428

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

12) ล็อคข้อขัดแย้งระหว่างการทำธุรกรรม:


ผู้ให้บริการ Microsoft OLE DB เซิร์ฟเวอร์ SQL: ไม่สามารถสแกนต่อด้วย NOLOCK ได้เนื่องจากการเคลื่อนย้ายข้อมูล
HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, สถานะ=3, ความรุนแรง=C, ดั้งเดิม=601, บรรทัด=1

“วิธีตรวจสอบ (กู้คืน) ฐานข้อมูลบน MS SQL Server โดยใช้เครื่องมือเซิร์ฟเวอร์
การตรวจสอบความสมบูรณ์ทางลอจิคัลจะต้องดำเนินการโดยใช้เครื่องมือมาตรฐาน 1C:Enterprise (การทดสอบและการแก้ไข IS) หากไม่สามารถดำเนินการตรวจสอบดังกล่าวได้ คุณควรตรวจสอบความสมบูรณ์ทางกายภาพของฐานข้อมูลโดยใช้ MS SQL ในการตรวจสอบความสมบูรณ์โดยใช้ MS SQL คุณต้องรันคำสั่งต่อไปนี้:
รหัส:
DBCC CHECKDB ("",ซ่อมแซม_สร้างใหม่)
ก่อนที่จะดำเนินการคำสั่งนี้ คุณต้องเปลี่ยนฐานข้อมูลเป็นโหมด "ผู้ใช้คนเดียว":
รหัส:
sp_dboption ""ผู้ใช้คนเดียว"จริง
ในระหว่างการทำงานของ DBCC CHECKDB อาจตรวจพบข้อผิดพลาดและบางส่วนอาจได้รับการแก้ไขทันที หากยังมีข้อผิดพลาดอยู่ แสดงว่าไม่สามารถกู้คืนได้โดยไม่สูญเสียข้อมูลบางส่วน ในกรณีนี้ คุณต้องรัน DBCC CHECKDB ด้วยพารามิเตอร์ REPAIR_ALLOW_DATA_LOSS (ขอแนะนำให้ทำสำเนาของไฟล์ฐานข้อมูลก่อนที่จะรัน)
รหัส:
DBCC CHECKDB ("", REPAIR_ALLOW_DATA_LOSS)
หลังจากดำเนินการ DBCC CHECKDB คุณต้องจำไว้ว่าให้กลับสู่โหมดปกติ (ออกจากโหมด "ผู้ใช้คนเดียว"):
รหัส:
sp_dboption ""ผู้ใช้คนเดียว",เท็จ" (นำมาจากไซต์)

แน่นอนว่ารายชื่อยังไม่สมบูรณ์ ดังนั้นฉันจะดีใจถ้ามีการเสริมในความคิดเห็น