BMS-HOSxP Community
HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: navyNP ที่ กันยายน 16, 2006, 23:00:25 PM
-
เหตุผลคือ การปรับค่าบริการใหม่หน่วยเหนือมีนโยบายให้คิดราคาเป็น 2 อัตรา คือ ผู้ที่มีสิทธิ์เบิกได้ให้คิดในอัตราของ กค. ส่วนผู้ที่ไม่มีสิทธิ์เบิกให้คิดอีกอัตราหนึ่ง และผมก็ได้ดำเนินการดังนี้
1.เพิ่มสิทธิ์ "ชำระเงินสดเบิกไม่ได้" ขึ้นมาอีกสิทธิ์ และกำหนดให้เอาอัตราค่าบริการในส่วน ราคาพิเศษ 1 มาคิด
2.ในส่วนค่าบริการที่มีอัตราแตกต่างกัน(บางรายการราคาไม่เท่ากัน)จะมี 2 ราคา คือ ราคาปกติและราคาพิเศษ 1 (ไม่ได้มีครบทุกรายการ รายการที่ราคาเท่ากันทั้ง 2 อัตรา ก็ไม่ได้ใส่ราคาพิเศษ 1 ไว้)
3.จากการทดสอบ เมื่อลองคิดราคาในรายการที่ไม่ได้ใส่ราคาพิเศษ 1 ไว้(เพราะราคาเท่ากัน) ราคาที่แสดงคือ 0 บาท ส่วนในรายการที่มีราคาพิเศษ 1 ก็จะเอาราคาพิเศษ 1 มาคิดได้ถูกต้อง
ดังนั้นจึงมีคำถามว่า
1.ถ้าจะให้มีการคิดราคา 2 อัตราตามที่ผมได้กล่าวมาแล้ว จะต้องทำอย่างไรถึงจะถูกต้อง
2.ในรายการที่ไม่ได้ลงราคาพิเศษ 1 ไว้ ทำอย่างไรจึงจะให้เอาราคาปกติมาคิดเลย
3.ถ้าหากจำเป็นต้องเพิ่มราคาพิเศษ 1 ทุกรายการ พอจะมีคำสั่งที่จะให้ copy ราคาปกติ มาใส่ในช่อง ราคาพิเศษ 1 เลยหรือไม่(แล้วค่อยแก้ไขราคาพิเศษ 1 ที่มีราคาแตกต่างกันภายหลัง จะง่ายกว่าที่ต้องมาพิมพ์ใส่เองทีและรายการ)
ขอความกระจ่างและแนวทางด้วยครับ เนื่องจากจะเริ่มใช้เต็มทนแล้วจะได้มีเวลาทดสอบครับ
-
update nondrugitems set price1=price where price1 is null and price1=" "
ลองดูครับ
-
ไม่สำเร็จครับ ไม่ทราบว่าทำถูกขั้นตอนหรือเปล่า แจ้ง error ตามรูปที่แนบ ขอคำชี้แนะด้วยครับ ข้าน้อยด้อยปัญญาจึงพึ่งพาผู้อื่นอยู่เรื่อยๆ(กำลังศึกษาภาษา SQL อย่างขมักเขม้นอยู่ครับ) ขอบคุณอีกครั้ง(ที่รบกวนบ่อยๆ)
-
เท่าที่สังเกตในตาราง nondrugitems ไม่มี fileld ชื่อ price1 แต่ราคาพิเศษ1 จะเป็น Price2(ในตาราง nondrugitems)พอลองเปลี่ยนในคำสั่งเป็น price2 ทั้งหมดก็ไม่ได้แจ้ง error ว่า "Invalid data packet" ครับ
-
ขอโทษครับ พอดีตอนที่ตอบ ผมอยู่ที่บ้าน(ไม่มี hosxp) คิดว่า ราคาพิเศษ 1 น่าจะเท่ากับ price1
-
update nondrugitems set price2=price
update nondrugitems set price1=price where price1 is null or price1=" "
-
ได้แล้วครับ อ.อ๊อด เอ้อ แค่คำสั่งง่ายๆ ผมยังคลำหาตั้งนานกว่าจะได้ ขอบคุณมากครับ