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

ขอบคุณครับ
กรกฎ วิริยะ 01 พ.ค. 2564 06:07
มีหลายโปรเจ็คเลยที่สามารถพิมพ์ได้ ลองศึกษาดูก่อนครับ การออกแบบหน้าสำหรับพิมพ์ก็ไม่ต่างอะไรกับการสร้างหน้าเพจธรรมดา
ผมไม่ทราบว่าจะแนะนำอะไรดีเพราะมีตัวอย่างอยู่แล้ว เช่น oas และไม่รู้ว่าติดอะไร
Naphat Sang 01 พ.ค. 2564 13:19
ตอนนี้ผมเพิ่ม field ใส่ชื่อของศูนย์ส่งซ่อมให้เก็บข้อมูลใน db แล้วดึงออกมาแสดงผลแล้วครับ และได้สร้างไฟล์ต่างๆที่ผม copy จาก print.html, print.css, print.php ให้ออกมาแยกอีกอันนึงสร้างปุ่มพิมพ์แยกออกมาแล้วครับ
Naphat Sang 01 พ.ค. 2564 13:20
แยกออกมาให้เป็น s_center_print แต่พอกดสั่งพิมพ์ ลิ้งที่ขึ้นมาก็ดูจะไปในทางที่ถูก แต่ว่าไฟล์ print ที่พรีวิวขึ้นมาเป็นเหมือนกัน print.html เลยครับ
Naphat Sang 01 พ.ค. 2564 13:21
อันนี้เป็นไฟล์ s_center_print.html ที่ผมแก้ให้แสดงข้อมูลที่ต่างกันครับ
Naphat Sang 01 พ.ค. 2564 13:24
อันนี้คือไฟล์ s_center_print.php ผม copy มาจาก print.php เพราะว่าผมไม่เข้าใจ function ของไฟล์นี้ครับ เหมือนจะเรียกให้ ตัว app ของ kotchasan ทำงาน ผมก็เลย copy มาแล้วเปลี่ยนชื่อครับ
Naphat Sang 01 พ.ค. 2564 13:25
อันนี้ใน javascript ผมเห็นว่าน่าจะเป็นคำสั่ง action ของ button หรืออะไรสักอย่างผมก็เลยเพิ่มคำสั่ง save_s_center_print เข้าไปเลยครับ
Naphat Sang 01 พ.ค. 2564 13:27
อันนี้ผม copy ไฟล์จาก export.php เป็น s_center_export.php และเปลี่ยน ROOT_PAHT ใหม่ให้ไปที่ไฟล์ s_center_print.html ครับ
Naphat Sang 01 พ.ค. 2564 13:28
เพิ่มปุ่มบันทึกและพิมพ์ใบส่งศูนย์ในหน้า receive
Naphat Sang 01 พ.ค. 2564 13:29
และสุดท้ายก็ใส่คำสั่งให้เปิดหน้า s_center_print ขึ้นมาครับ
Naphat Sang 01 พ.ค. 2564 13:32
ตอนนี้ปัญหาคือบางครั้ง มันเซฟเสร็จแล้วกลับมาหน้า main ไม่เข้าหน้า s_center_print ให้ครับ แต่ข้อมูลถูกบันทึกไว้ใน db และเรียกกลับมาแสดงผลได้ครับ คิดว่าไม่น่าจะมีปัญหาในส่วนของ field ที่กรอกข้อมูล ปัญหาน่าจะอยู่ที่ function print ที่ผมสร้างขึ้นมาใหม่ พอดีผมไม่ค่อยรู้เรื่อง PHP ได้แต่ลองศึกษา code ที่อยู่ในระบบดูว่าอันนี้น่าจะทำอะไร อันนั้นเอาไว้ทำอะไร ส่วนพวก parameter กับค่าต่างๆนี่ยังไม่เข้าใจเลยครับ ยังไงผมรบกวนด้วยนะครับ
Naphat Sang 01 พ.ค. 2564 13:35
พอดีผมเป็น General Manager ด้วย ไม่เคยเขียนโปรแกรมมาก่อนเลยครับ 5555 หาโปรแกรมรับซ่อมที่ใช้ให้เหมาะกับบริษัทไม่ได้เลย ก็เลยต้องมานั่งเขียนเองครับ ถูกใจ kotchasan มากๆ เพราะใส่ comment ได้ละเอียดทำให้เข้าใจตัวไฟล์มากขึ้นครับ จริงๆอยากให้อาจารญ์ กรกฎ ช่วยร่วมพัฒนา function ของแอพรับซ่อมบริษัท หรือเป็นที่ปรึกษาให้ครับ ยังไงถ้าอาจารญ์สนใจ ผมจะติดต่อไปนะครับ
กรกฎ วิริยะ 01 พ.ค. 2564 16:45
ตามความเข้าใจผมนะ สิ่งที่ทำก็ดูถูกต้องแล้ว ถ้าปัญหาคือรูป preview ที่ดูไม่ค่อยสวยงาม อันนี้ปัญหาอยู่ที่การจัดหน้าและ CSS มากกว่า ให้ทำการแก้ไขที่ CSS และหน้า HTML สำหรับพิมพ์เอา

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

ความเห็นส่วนตัว
1. ผมไม่มั่นใจว่าลักษณะงานเป็นอย่างไร แต่โดยส่วนตัวผมมองว่า เราสามารถกดพิมพ์ครั้งเดียว ได้หน้าเว็บทั้ง 2 ใบมาเลยก็ได้ หรือ
2. ถ้าต้องการพิมพ์ทีละใบ ก็ใช้วิธีส่ง Query เพิ่มเอาก็ได้ เช่น type=0 สำหรับ user และ type=1 สำหรับส่งบริษัท
ทั้ง 2 วิธีสิ่งที่ต้องทำคือแก้ไข HTML และ CSS ในส่วนของหน้าพิมพ์ให้เป็นไปตามเงื่อนไขเท่านั้น โดยไม่จำเป็นต้องไปสร้างหน้าใหม่เลย ผมแนะนำให้ศึกษา CSS ที่เกี่ยวกับการพิมพ์เพิ่ม
Naphat Sang 01 พ.ค. 2564 20:16
ขอบคุณมากครับ เดี๋ยวผมจะลองทำดูแล้วมารายงานผลให้ฟังนะครับ
สุชาติ คําเพ็ชร์ 25 ก.พ. 2565 18:30
Naphat Sang ขอปรึกษา ด้วยได้ไหมครับ
สุชาติ คําเพ็ชร์ 25 ก.พ. 2565 18:35
Quotations by หมายเหตุ #3แยกออกมาให้เป็น s_center_print แต่พอกดสั่งพิมพ์ ลิ้งที่ขึ้นมาก็ดูจะไปในทางที่ถูก แต่ว่าไฟล์ print ที่พรีวิวขึ้นมาเป็นเหมือนกัน print.html เลยครับ


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

โพสต์ตอบกลับ

กรุณาตรวจสอบให้ถูกต้องก่อนส่ง สามารถใช้ BBCode ได้
ประเภท jpg, jpeg, png, webp อัปโหลดรูปภาพหรือไม่ก็ได้