up แล้ว p_d-ban ยังไม่เปลี่ยน พิมพ์ termal ดวงที่2 ยังขาด..

up แล้ว p_d-ban ยังไม่เปลี่ยน พิมพ์ termal ดวงที่2 ยังขาด..

โพสต์โดย sutthipongr เมื่อ อังคาร ธ.ค. 22, 2009 9:58 am

up utility ใหม่แล้วแต่ p_d-ban.* ยังไม่ปรับครับ ไม่แน่ใจว่าจะปรับ manual ได้หรือไม่ครับ
โค้ด: เลือกทั้งหมด
******************************************************************
*  ส่งข้อมูล พิมพ์ STICKER ยา   ให้ Mit Utility           แบบไม่สร้าง CURSOR               *
******************************************************************
*  ตัวแปร temno = เลขที่ใบสั่งยา   
*        banref= ลำดับยา         
*       _lang .f.=ไทย .t.=english
*  หมายเหตุ  ถ้าเป็น thai  จะใช้ข้อมูลจำเพราะของยา ที่ ; ตัวที่ 1 และ 2
*            ถ้าเป็น english จะใช้ข้อมูลจำเพราะของยา ที่ ; ตัวที่ 3 และ 4
* 1.ใช้ Esp2 code          : chr(27)+chr(67)+chr(0)+chr(X) X = ความยาวกระดาษเป็นนิ้ว(จำนวนเต็มบวกเท่านั้น)
* 2.ใช้ function ใน mit-net : p_long(X,Y,D)                X = ความยาวกระดาษเป็นนิ้ว เช่น 2.5 
*                                             Y = ความละเอียด ถ้าไม่กำหนดให้จะใช้ค่า 360          
*                                             D = ไว้ใช้กรณีต้องการกำหนดเป็นเศษส่วน เช่น ยาว 4/3 นิ้ว(หนึ่งเศษหนึ่งส่วนสาม)
*                                                 กำหนดเป็น p_long(4,360,3)
******************************************************************
PARAMETERS  C_date,C_name,C_DIRECTION,C_DOSE,N_AMOUNT,C_UNIT,C_LANGUE  &&&sattahip 23/11/2002
PRIVATE HAVE,DATA1,DATA2,DATA3,DATA4,COMMENT1,COMMENT2,LLEN,NLINE,FSPACE,NLEN,a1,a2,b1,b2,NRET
STORE '' TO DATA1,DATA2,DATA3,DATA4,DATA5,DATA6,COMMENT1,COMMENT2
STORE 0 TO A1,A2,B1,B2
DATA1 = ALLTRIM(SUBTHAI(C_DIRECTION,1,34))
NLEN=LENTHAI(C_DIRECTION)
IF NLEN > 34
   DATA2    = ALLTRIM(SUBTHAI(C_DIRECTION,35,34))
   NLEN   = NLEN-40
   NLINE   = 2
ELSE
   DATA2    = ''
   NLINE   = 1
ENDIF
C_DOSE = ALLTRIM(C_DOSE)
HAVE = .F.
DO WHILE !EMPTY(C_DOSE)
   FSPACE = AT(" ",C_DOSE)
   IF FSPACE = 0
      SUBDAT = C_DOSE+' '
      C_DOSE =''
   ELSE
      SUBDAT = LEFT(C_DOSE,FSPACE)
      C_DOSE=ALLTRIM(SUBSTR(C_DOSE,FSPACE+1))
   ENDIF
   SUBDESC = D_SIG(SUBDAT,C_LANGUE)      &&เพิ่ม parameter C_LANGUE พิมพ์ภาษา E,T
   IF INLIST(SUBDAT,"M ","N ","E ","B ","HS ","NN ").AND.!HAVE
      NLINE   = NLINE+1
      C_VAR   = 'DATA'+STR(NLINE,1,0)
      &C_VAR= SUBDESC
         NLEN        = LENTHAI(SUBDESC)
       HAVE    =  .T.   
   ELSE
      IF  NLEN+LENTHAI(SUBDESC) > 34
         NLINE   =NLINE+1
         C_VAR   ='DATA'+STR(NLINE,1,0)
         &C_VAR= SUBDESC
            NLEN   =LENTHAI(SUBDESC)   
      ELSE
         C_VAR   ='DATA'+STR(NLINE,1,0)
         &C_VAR= &C_VAR+SUBDESC
         NLEN   =NLEN+LENTHAI(SUBDESC)
      ENDIF    
    ENDIF
ENDDO
***** COMMENT 2 lines *********************
A1=AT(";",J.TEXT)
B1=AT(";",J.TEXT,2)
IF A1 > 0
   IF !EMPTY(C_LANGUE)
      A2=AT(";",J.TEXT,3)
      B2=AT(";",J.TEXT,4)
      IF A2 > 0
         A1=A2
         A2=B1+1
         B1=B2
         B2=A1-A2-1
      ELSE
         A2=1
         B2=A1-1   
      ENDIF
   ELSE
      A2=1
      B2=A1-1   
   ENDIF
   COMMENT1 = SUBSTR(J.TEXT,A2,B2)
   NRET=RAT(CHR(13),COMMENT1)
   IF NRET>0
      COMMENT1=SUBSTR(COMMENT1,NRET+2,A1-3-NRET)
   ENDIF
   *******************
   *NLINE   =NLINE+1
   NLINE   = 5
   *******************
   C_VAR   ='DATA'+STR(NLINE,1,0)
   &C_VAR   = ALLTRIM(COMMENT1)
   IF B1>0
      COMMENT2=SUBSTR(J.TEXT,A1+1,B1-A1-1)
      NRET=RAT(CHR(13),COMMENT2)
      IF NRET>0
         COMMENT2=SUBSTR(COMMENT2,NRET+2,A1-3-NRET)
      ENDIF   
      *********************
      *NLINE   =NLINE+1
      NLINE   = 6
      *********************
      C_VAR   ='DATA'+STR(NLINE,1,0)
      &C_VAR   = ALLTRIM(COMMENT2)
   ENDIF
ENDIF
*** ส่งข้อมูลออกไปพิมพ์ ทาง Utility *********************
?? "EXC DRUGBANNER1.LBX"  &&สั่งให้ โปรแกรม Utility run procedure นี้
? "DATE"+CHR(1)+C_date
? "NAME"+chr(1)+C_name
? 'AMOUNT'+CHR(1)+str(N_AMOUNT,6,0)
? 'UNIT'+CHR(1)+C_UNIT
? 'ITEM'+CHR(1)+alltrim(banref)
? 'HN'+CHR(1)+b_hn
? 'NO'+CHR(1)+temno
? 'DRUG'+CHR(1)+j.ban_name
FOR NLEN = 1 TO 6
   C_VAR = 'DATA'+STR(NLEN,1,0)
   ? 'DATA'+STR(NLEN,1,0)+CHR(1)+&C_VAR
NEXT
EJECT PAGE
RETURN      
***เราพิสูจน์ได้ด้วย ผลงานของเรา***

พอเพียง และ เพียงพอ ตามรอยพ่อของแผ่นดิน
sutthipongr
 
โพสต์: 788
ลงทะเบียนเมื่อ: พุธ ต.ค. 29, 2008 5:07 pm
ที่อยู่: โรงพยาบาลบางแก้ว จ.พัทลุง

โพสต์โดย mit เมื่อ อังคาร ธ.ค. 22, 2009 12:02 pm

ตาม code เป็นตัวเก่านะครับ หมอทดลอง d/l แล้วก็ได้ใหม่แล้วนะครับลอง d/l ใหม่อีกครั้งนะครับ บรรทัดที่สร้างปัญหาคือ C_DOSE = ALLTRIM(C_DOSE) เพราะหลังจากนั้นจะตัดคำจนหมดครับ เลยแก้ parameter ตัวที่ 4 เป็นชื่ออื่นแทน(TDOSEMAN) และที่ C_DOSE = ALLTRIM(C_DOSE) แก้เป็น C_DOSE = ALLTRIM(TDOSEMAN) ครับ อย่างอื่นเหมือนเดิม
mit
 
โพสต์: 314
ลงทะเบียนเมื่อ: จันทร์ ต.ค. 27, 2008 11:47 pm

..

โพสต์โดย sutthipongr เมื่อ อังคาร ธ.ค. 22, 2009 2:42 pm

ขอบคุณครับ ผมก็เข้าใจผิดไปกันใหญ่ คิดว่า utility จะทำให้

ก็คือ download p_utility ใหม่นั่นเองครับ

ตัว p_d-ban.* ไปทับตัวเก่า ก็จบครับ
ถ้าจะให้ banref (ยาตัวที่/ยาทั้งหมด) เช่น (1/9) ติดกันสวยงาม ให้ใส่ alltrim(banref) ด้วยครับ
เช่น
...
"NAME"+chr(1)+C_name
? 'AMOUNT'+CHR(1)+str(N_AMOUNT,6,0)
? 'UNIT'+CHR(1)+C_UNIT
? 'ITEM'+CHR(1)+alltrim(banref)
? 'HN'+CHR(1)+b_hn
...
***เราพิสูจน์ได้ด้วย ผลงานของเรา***

พอเพียง และ เพียงพอ ตามรอยพ่อของแผ่นดิน
sutthipongr
 
โพสต์: 788
ลงทะเบียนเมื่อ: พุธ ต.ค. 29, 2008 5:07 pm
ที่อยู่: โรงพยาบาลบางแก้ว จ.พัทลุง

โพสต์โดย raknim เมื่อ อังคาร ธ.ค. 22, 2009 11:30 pm

ลอง d/l P_D-BAN จาก P_utility ใหม่มาใช้ ปรากฏว่ารายการยาทั้งหมดตั้งแต่ 10 itemsขึ้นไป เลขออกมาแค่ 1 หลักครับ(เช่น 12/12 ออกแค่ 12/1 ครับ)
น้ำใจทำให้สังคมน่าอยู่
raknim
 
โพสต์: 140
ลงทะเบียนเมื่อ: อังคาร ธ.ค. 16, 2008 12:24 am
ที่อยู่: รพ.หนองจิก อ.หนองจิก จ.ปัตตานี

..

โพสต์โดย sutthipongr เมื่อ พุธ ธ.ค. 23, 2009 9:42 am

ทำตามที่บอกข้างบนครับ
alltrim(banref) แล้ว compile ใหม่
***เราพิสูจน์ได้ด้วย ผลงานของเรา***

พอเพียง และ เพียงพอ ตามรอยพ่อของแผ่นดิน
sutthipongr
 
โพสต์: 788
ลงทะเบียนเมื่อ: พุธ ต.ค. 29, 2008 5:07 pm
ที่อยู่: โรงพยาบาลบางแก้ว จ.พัทลุง

โพสต์โดย raknim เมื่อ พฤหัสฯ. ธ.ค. 24, 2009 12:32 am

เรียบร้อยแล้วครับ ลืมใส่ alltrim(banref) จากไฟล์ p_d-ban ที่ d/l ใหม่จาก p_utility จริงๆด้วย ขอบคุณครับ
น้ำใจทำให้สังคมน่าอยู่
raknim
 
โพสต์: 140
ลงทะเบียนเมื่อ: อังคาร ธ.ค. 16, 2008 12:24 am
ที่อยู่: รพ.หนองจิก อ.หนองจิก จ.ปัตตานี

..

โพสต์โดย sutthipongr เมื่อ พุธ ก.ค. 21, 2010 11:54 am

ตอนนี้พิมพ์ sticker ยาผ่าน port UTL ติดปัญหานี้ด้วยครับ
**ไม่ออกทุกดวงเช่นยาน้ำ 3 ขวด แต่ออก 1 ดวง
รบกวนคุณหมอปรับแก้ใน utility ด้วยครับ
***เราพิสูจน์ได้ด้วย ผลงานของเรา***

พอเพียง และ เพียงพอ ตามรอยพ่อของแผ่นดิน
sutthipongr
 
โพสต์: 788
ลงทะเบียนเมื่อ: พุธ ต.ค. 29, 2008 5:07 pm
ที่อยู่: โรงพยาบาลบางแก้ว จ.พัทลุง


ย้อนกลับไปยัง ถาม-ตอบ ปัญหาต่างๆ เกี่ยวกับโปรแกรม MIT-NET

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 45 ท่าน