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

วันนี้เลยจะมาเรียบเรียงใหม่ ดูสิว่าจะมีท่านไหนเข้าใจบ้างนะครับ  อะ…มาดูกันเลย
– อยากแรก เพิ่มข้อมูลในตารางนี้ก่อนเลย  drugitems_advice  ซึ่งเป็นตารางเก็บคำแนะนำ เพื่อที่จะเอาไปแสดงใน ใบสติกเกอร์ ฉลากยา นั้นเอง

โดยต้องสังเกตุที่ฟิวล์ icode  นั้นคือเลขรหัสยา ที่แต่ละ รพ.สต. จะมี (ซึ่งไม่เหมือนกัน) ดังนั้นท่านควรตรวจสอบตรงนี้ด้วย  โดยเวลาพิมพ์สติกเกอร์ icode นี้จะไปจับกับ icode ที่มีอยู่ในฐาน รพ.สต. นั้นๆ แล้วเวลาพิมพ์ออกมา ก็จะออกมาเฉพาะยาที่ได้เลือกไว้ นั้นเองครับ
ดาวโหลด ฐานตัวอย่างตาราง drugitems_advice  ตามนี้ครับ Link ดาวโหลด  drugitems_advice_ด่านซ้าย (65 downloads)

ซึ่งหากต้องการแก้ไข เพิ่มเติม ก็แก้ไขได้ที่ฟิวล์ advice_text  หรือ ฟิวล์ advice_eng_text

– ต่อมาก็ไป แก้ไขฟอร์มสติกเกอร์ยา กันครับ เข้าไปที่โฟรเดอ  C:\Program Files (x86)\HOSxP_PCU
แล้วกำหนด  Properties ให้ user ของเรามีสิทธิสูงสุด Full control ตามรูปนี้ครับ





เพื่อให้เวลาเราจะแก้ไขฟอร์ม  จะแก้ไขได้เลย ไม่เกิด error access denied  ครับ
หรืออีกวิธี ให้ท่านคลิกขวา แล้วเลือกเมนู run as administrator ก็ได้ เช่นกัน

พอเปิดโปรแกรม HOSxPStickerPrintServer.exe มาแล้วก็เข้าไปเมนู

ปุ่ม Design Detail OPD เพื่อจะเข้าไปออกแบบฟอร์มฉลากเสริม

เข้าไปแท็บ Calc เพื่อเข้าไปเขียนโค้ด สำหรับ สั่งให้ดึงข้อมูล drugitems_advice มาก่อน
สร้างตัวแปร ก่อนที่ Declarations –> Variables –> var ตามรูป

เสร็จแล้วก็ให้คลิกขวา ที่ช่อง  Module View จะมีเมนูให้เลือก คลิก Events  ก็จะมีเมนู สำหรับกำหนด  Report Objects  ให้ไปเลือก Report–>Detail  –> BeforePrint

เราก็จะใส่โค้ดนี้ไปใน events for Detail –> BeforePrint  วางโค้ดนี้ไปครับ
****************************

icode_count := GetSQLStringData(‘select count(icode)as cc ‘+
‘ from drugitems_advice where icode =”‘+DBPipeline1[‘icode’]+'” ‘);

if strtoint(icode_count) > 0 then
begin

Header.visible := false;
SubReport1.visible := true;
end
else
begin
if GetSQLStringData(‘select count(*)as cc from drugitems_advice where icode in(‘+DBPipeline1[‘icode’]+’) ‘)=’0’ then
Header.visible := false
else
Header.visible := true;
SubReport1.visible := false;
end;

******************************
วางเสร็จแล้วก็ให้คลิกขวา
แล้วดู error ข้างล่าง  หากพบว่า Compile Completed: 0 Errors แสดงว่าไม่พบ error เป็นอันผ่านนะครับ

ต่อมากลับไปที่แท็บ Design
ก็จะไปเอา SubReport มาวางไว้ด้านล่าง ตามรูป แล้ว
ต่อมาก็ไปคลิกเลือก SubReport1: DiPipeLine1
เอา Label มาวาง  ด้านบน หัวตามรูป
เอา RichText มาวาง ด้านล่าง หรือตรงกลาง ตามรูป
ใส่ข้อความตัวอย่าง ไว้ก็ได้เพื่อให้มองออก เพราะถ้ากำหนดขนาดตัวอักษรใหญ่เกินไป มันอาจจะตกขอบกระดาษได้ ตรงนี้เอาที่ความกว้าง x ยาว พอดีกับฟอร์มพอนะครับ

ยังไม่เสร็จ….ต่อมา
– ไปที่แท็บ  Calc เพื่อสั่งให้หน้านี้ทำงานตาม record ที่ตัวรายงานพิมพ์แต่ละหน้าๆ
เลือก SubReport1 –> OnPrint  –> ใส่โค้ดตามนี้เข้าไป
******************

icode_count := GetSQLStringData(‘select count(icode)as cc ‘+
‘ from drugitems_advice where icode =”‘+DBPipeline1[‘icode’]+'” ‘);

if strtoint(icode_count) > 0 then
begin

advice_text := GetSQLStringData(‘select advice_text ‘+
‘ from drugitems_advice where icode =”‘+DBPipeline1[‘icode’]+'” ‘);
advice_eng_text := GetSQLStringData(‘select advice_eng_text ‘+
‘ from drugitems_advice where icode =”‘+DBPipeline1[‘icode’]+'” ‘);
Label5.caption := advice_eng_text;
RichText1.richtext := advice_text;

Header.visible := false;
SubReport1.visible := true;
end
else
begin
if GetSQLStringData(‘select count(*)as cc from drugitems_advice where icode in(‘+DBPipeline1[‘icode’]+’) ‘)=’0’ then
Header.visible := false
else
Header.visible := true;
SubReport1.visible := false;
end;

******************
แล้วกดคลิกขวา
เลือกเมนู Compile ดูว่ามี errors ไหม ถ้าไม่มีจะแสดงเป็น  0 Errors ก็แสดงว่าผ่านไปต่อได้

ปิดหน้าจอนี้ได้เลย ระบบจะทำการบันทึกให้เอง
ก็จะกลับมาหน้าจอเมนูหลัก
แล้วลองพิมพ์รายงานใน HOSxP_PCU ดูครับ

ถ้าพิมพ์ออกมาได้รูปตามนี้ก็ถือว่า ใช้งานได้แล้วนะครับ

หากมี error ก็ให้กลับไปทบทวนใหม่ ตั้งแต่ต้นๆ นะครับ

ขอบคุณที่ติดตาม มีคำถามหรือข้อเสนอแนะ ก็แจ้งเข้ามาได้ที่
https://www.facebook.com/arm.youant

แล้วพบกันใหม่ในบทความต่อไป  ครับ

 5,829 total views,  2 views today

RDU ! ตอนทำฉลากยาเสริม เพิ่มหน้าใหม่ สำหรับ HOSxP_PCU
Tagged on:

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

This site uses Akismet to reduce spam. Learn how your comment data is processed.