BMS-HOSxP Community

HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: yossak ที่ พฤษภาคม 19, 2011, 11:45:15 AM

หัวข้อ: สอนทำ scrip เตือนยานอกบัญชี หน่อยครับ
เริ่มหัวข้อโดย: yossak ที่ พฤษภาคม 19, 2011, 11:45:15 AM
ท่านพี่ครับ  :D :D จะ ทำscrip เตือนยานอกบัญชี ทำยังไงครับ คือพี่นาจเคยสอนแต่ไม่ได้ใช้ลืมไปแล้วครับ อิอิ สอนน้องหน่อยครับน้องลืมไปแล้ว พอดีเข้าให้โจทย์มา แล้วลืมวิธีการทำ สอนน้องหน่อย ขอบคุณครับ ??? ??? ;D
หัวข้อ: Re: สอนทำ scrip เตือนยานอกบัญชี หน่อยครับ
เริ่มหัวข้อโดย: naj ที่ พฤษภาคม 19, 2011, 14:09:31 PM
จริงใช้ Notify ผมว่าง่ายกว่านะครับ
แต่ถ้าต้องการใช้ ผมมีตัวอย่าง Code
var fonlineid,fvn,fcomputername,fdepcode:string;
begin
  fonlineid:=get_onlineid;
  fvn:= GetGlobalValue('VN');
  fcomputername := getsqldata('select servername from onlineuser where onlineid="'+fonlineid+'"');
  fdepcode := getsqldata('select depcode from onlineuser o '+
  'left outer join kskdepartment b on o.department=b.department '+
  'where onlineid="'+fonlineid+'" '+
  'and b.depcode in("019","020","021")');

  //showmessage('OnlineID = '+fonlineid+' , Current VN = '+fvn+'  , ComputerName = '+fcomputername+' ,   Department  = '+fdepcode);
   if fdepcode='' then  exit;
   if Getsqldata('select count(d.drugaccount)as cd from opitemrece o '+
      ' left outer join drugitems d on d.icode=o.icode'+
      ' where o.vn="'+fvn+'" and o.icode like "1%" and d.drugaccount="" '+
      'and o.pttype in("20","21")  and o.paidst in("01","02")')>0   then
      begin
      showmessage('¼Ùé»èÇÂÁÕÃÒ¡ÒÃÂҹ͡ºÑ­ªÕÂÒËÅÑ¡áËè§ªÒµÔ ¨Óà»ç¹µéͧ¾ÔÁ¾ìãºÃѺÃͧÂҹ͡ºÑ­ªÕ'+#13
      +'à¾×èÍãËé¼Ùé»èǹÓä»»ÃСͺ¡ÒÃàºÔ¡¤èÒÃÑ¡ÉÒ´éǹФÐ'+#13+'***** ¢Íº¤Ø³¤Ð *****');
     PrintReportToPrinterWithParam('CUSTOM-˹ѧÊ×ÍÃѺÃͧÂҹ͡ ¼Ùé»èǹ͡',fvn,'','','','','','','','','','Printing....')
      end;
   end;
หัวข้อ: Re: สอนทำ scrip เตือนยานอกบัญชี หน่อยครับ
เริ่มหัวข้อโดย: Khuad ที่ พฤษภาคม 19, 2011, 14:23:11 PM

... เห็นด้วยกับ อ.นาจ ครับ ที่ว่าใช้ Notify จะดีกว่า 
    HOSxP จะได้ไม่ต้องไปประมวลผลคำสั่งเพิ่มอีกครับ ...  :D ...
หัวข้อ: Re: สอนทำ scrip เตือนยานอกบัญชี หน่อยครับ
เริ่มหัวข้อโดย: naj ที่ พฤษภาคม 19, 2011, 14:39:39 PM
ถ้าต้องการจะลองเขียน ผมแนบตัวอย่างมาให้แล้วครับ ลองทดสอบดู
โค๊ด: Delphi
  1. var fonlineid,fvn,fcomputername,fdepcode:string;
  2. begin
  3.   fonlineid:=get_onlineid;
  4.   fvn:= GetGlobalValue('VN');
  5.   //ShowMessage(fvn);
  6.   fcomputername := getsqldata('select servername from onlineuser where onlineid="'+fonlineid+'"');
  7.   fdepcode := getsqldata('select depcode from onlineuser o '+
  8.   'left outer join kskdepartment b on o.department=b.department '+
  9.   'where onlineid="'+fonlineid+'" '+
  10.   'and b.depcode in("019","020","021")');//กำหนดหน่วยงานหรือแผนกให้แสดงข้อความเตือน
  11.  
  12.   //showmessage('OnlineID = '+fonlineid+' , Current VN = '+fvn+'  , ComputerName = '+fcomputername+' ,   Department  = '+fdepcode);
  13.    if fdepcode='' then  exit;
  14.    if Getsqldata('select count(d.drugaccount)as cd from opitemrece o '+
  15.       ' left outer join drugitems d on d.icode=o.icode'+
  16.       ' where o.vn="'+fvn+'" and o.icode like "1%" and d.drugaccount="" ')>0   then
  17.       begin
  18.       showmessage('¼Ùé»èÇÂÁÕÃÒ¡ÒÃÂҹ͡ºÑ­ªÕÂÒËÅÑ¡áËè§ªÒµÔ ¨Óà»ç¹µéͧ¾ÔÁ¾ìãºÃѺÃͧÂҹ͡ºÑ­ªÕ'+#13
  19.       +'à¾×èÍãËé¼Ùé»èǹÓä»»ÃСͺ¡ÒÃàºÔ¡¤èÒÃÑ¡ÉÒ´éǹФÐ'+#13+'***** ¢Íº¤Ø³¤Ð *****');
  20.       end;
  21.    end;
เอา code นี้ไปวางตามรูปที่ 4 แล้ว save เป็นชื่อ SYS_VN_SCRIPT ครับ จากนั้นให้ไปกำหนดใน system setting ตามรูปที่ 2