亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lspurc.pas

?? this is sample for traders
?? PAS
字號:
unit lsPurc;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ImgList, DB, StdCtrls, Buttons, Mask, JvExMask,
  JvToolEdit, JvExControls, JvComponent, JvStaticText, Grids, DBGrids,
  JvExDBGrids, JvDBGrid, JvDBUltimGrid, frxClass, frxDBSet, DBCtrls,
  ComCtrls, JvExComCtrls, JvStatusBar, DynamicSkinForm;

type
  TlsPurcForm = class(TForm)
    GroupBox1: TGroupBox;
    DTPicker1: TJvDateEdit;
    DTPicker2: TJvDateEdit;
    JvStaticText5: TJvStaticText;
    JvStaticText1: TJvStaticText;
    JvStaticText6: TJvStaticText;
    GroupBox3: TGroupBox;
    ItemGrid: TJvDBUltimGrid;
    dsPurc: TDataSource;
    edFind: TEdit;
    PopupMenu1: TPopupMenu;
    PrintFaktur: TMenuItem;
    BatalFaktur: TMenuItem;
    N2: TMenuItem;
    cbimages: TImageList;
    N1: TMenuItem;
    HitungUlangFaktur1: TMenuItem;
    spDynamicSkinForm1: TspDynamicSkinForm;
    StBAR: TJvStatusBar;
    frxReport1: TfrxReport;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormActivate(Sender: TObject);
    procedure DTPicker1Change(Sender: TObject);
    procedure DTPicker2Change(Sender: TObject);
    procedure ItemGridCellClick(Column: TColumn);
    procedure PostingRecClick(Sender: TObject);
    procedure dsPurcDataChange(Sender: TObject; Field: TField);
    procedure BatalFakturClick(Sender: TObject);
    procedure btnUnpostedClick(Sender: TObject);
    procedure btnCancelPurcClick(Sender: TObject);
    procedure edFindChange(Sender: TObject);
    procedure btnduedateClick(Sender: TObject);
    procedure ItemGridDrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure PrintFakturClick(Sender: TObject);
    procedure frxReport1GetValue(const VarName: String;
      var Value: Variant);
    procedure HitungUlangFaktur1Click(Sender: TObject);
  private
    procedure ViewData(modus: integer);
    procedure PostingPurc(nNo: String);
    procedure CancelPurc(nNo: String);
  public
  end;

var
  lsPurcForm: TlsPurcForm;
  PrevRec: TBookMark;

implementation

{$R *.dfm}

uses DataMod1, FuncLib, RPreview;

procedure TlsPurcForm.ViewData(modus: integer);
var
  sqltext: String;
begin
  QueryPerformanceFrequency(Frequency);
  QueryPerformanceCounter(start);
  with DM1.qPurc do
  begin
    DisableControls;
    Close;
    SQL.Clear;
    if modus=0 then
    begin
    sqltext:=('SELECT * FROM PURC ')+
             ('WHERE TRDATE>=:N1 AND TRDATE<=:N2 ')+
             ('ORDER BY TRDATE,TRNO ASC');
    end else if modus=2 then
    begin
    sqltext:=('SELECT * FROM PURC ')+
             ('WHERE TRDATE>=:N1 AND TRDATE<=:N2 ')+
             ('AND STATUS="B" ')+
             ('ORDER BY TRDATE,TRNO ASC');
    end else if modus=1 then
    begin
    sqltext:=('SELECT * FROM PURC ')+
             ('WHERE TRDATE>=:N1 AND TRDATE<=:N2 ')+
             ('AND POSTED=0 ')+
             ('ORDER BY TRDATE,TRNO ASC');
    end else if modus=3 then
    begin
    sqltext:=('SELECT * FROM PURC ')+
             ('WHERE SJNO LIKE:nCari ')+
             ('ORDER BY TRDATE,TRNO ASC');
    end else if modus=4 then
    begin
    sqltext:=('SELECT * FROM PURC ')+
             ('WHERE DUEDATE=:Ndue ')+
             ('ORDER BY TRDATE,TRNO ASC');
    end;
    SQL.Add(sqltext);
    if (modus=0) or (modus=1) or (modus=2) then
    begin
      ParamByName('N1').AsDate:=DTPicker1.Date;
      ParamByName('N2').AsDate:=DTPicker2.Date;
    end;
    if modus=3 then ParamByName('nCari').Value:=edFind.Text+'%';
    //if modus=4 then
      //ParamByName('Ndue').AsDate:=JvDateEdit1.Date;
    Open;
    EnableControls;
  end;
  QueryPerformanceCounter(stop);
  stBAR.Panels[1].Text :=format('%.2f',[(stop-start)/frequency])+' Detik';
end;

procedure TlsPurcForm.FormCreate(Sender: TObject);
begin
  DateSeparator := '-'; ShortDateFormat := 'dd/mm/yyyy';
  Top:=1; Left:=1; Width := 785; Height := 490;
end;

procedure TlsPurcForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Action:=caFree;
end;

procedure TlsPurcForm.FormActivate(Sender: TObject);
begin
  ViewData(0);
end;

procedure TlsPurcForm.DTPicker1Change(Sender: TObject);
begin
  ViewData(0)
end;

procedure TlsPurcForm.DTPicker2Change(Sender: TObject);
begin
  ViewData(0);
end;

procedure TlsPurcForm.ItemGridCellClick(Column: TColumn);
begin
  //ShowMessage(dsSales.DataSet.FieldValues['TRNO']);
end;

procedure TlsPurcForm.PostingRecClick(Sender: TObject);
begin
  PrevRec := dsPURC.DataSet.GetBookmark;
  PostingPURC(dsPURC.DataSet.FieldValues['TRNO']);
  dsPURC.DataSet.Refresh;
  dsPURC.DataSet.GotoBookmark(PrevRec);
end;

procedure TlsPurcForm.PostingPURC(nNo: String);
var
  PrevRecord: TBookMark;
begin
  try
  DM1.dtaCon.StartTransaction;
//Posting Item kepada Inventory
  PrevRecord := DM1.qPURCLINE.GetBookmark;
  try
    DM1.qPURCLINE.DisableControls;
    DM1.qPURCLINE.First;
    while not DM1.qPURCLINE.Eof do
    begin
      with qSQL do
      begin
        Close;
        SQL.clear;
        SQL.Add('UPDATE ITEM,PURCLINE SET ITEM.ONHAND = '+
                'ITEM.ONHAND - :nQTY,PURCLINE.POSTED=1 '+
                'WHERE ITEM.ITEMCODE=:nCode AND PURCLINE.TRNO=:nTRNO AND PURCLINE.POSTED=0');
        ParamByName('nCode').Value :=DM1.qPURCLineITEMCODE.Value;
        ParamByName('nQTY').Value :=DM1.qPURCLineQTY.Value;
        ParamByName('nTRNO').Value := nNO;
        ExecSQL;
      end;
      DM1.qPURCLINE.Next;
    end;
  finally
    DM1.qPURCLINE.EnableControls;
    if PrevRecord <> nil then
    begin
      DM1.qPURCLINE.GotoBookmark(PrevRecord);
      DM1.qPURCLINE.FreeBookmark(PrevRecord);
    end;
  end;
//Posting Piutang Langganan dari table PURC
  try
    DM1.qPURC.DisableControls;
      with qSQL do
      begin
        Close;
        SQL.clear;
        SQL.Add('UPDATE SPL,PURC SET SPL.CURBAL = '+
                'SPL.CURBAL + :nBAL,PURC.POSTED=1 '+
                'WHERE SPL.SPLCODE=:nCode AND PURC.TRNO=:nTRNO AND PURC.POSTED=0');
        ParamByName('nCode').Value :=DM1.qPURCSPLCODE.Value;
        ParamByName('nBal').Value :=DM1.qPURCTRDUE.Value;
        ParamByName('nTRNO').Value := nNO;
        ExecSQL;
      end;
  finally
    DM1.qPURC.EnableControls;
  end;
  DM1.dtaCon.Commit;
  except
    DM1.dtaCon.Rollback;
  end;
end;

procedure TlsPurcForm.dsPurcDataChange(Sender: TObject; Field: TField);
begin
  stBAR.Panels[0].Text := ' >> Jumlah Record : ' + FormatFloat('#,##0',DM1.qPURC.RecordCount)+' Rec.';
  if dsPURC.DataSet.FieldByName('STATUS').Value='B' then
  BatalFaktur.Enabled:=False else BatalFaktur.Enabled:=True;
end;

procedure TlsPurcForm.CancelPURC(nNo: String);
var
  PrevRecord: TBookMark;
begin
  try
  DM1.dtaCon.StartTransaction;
//Posting Item kepada Inventory
  PrevRecord := DM1.qPURCLINE.GetBookmark;
  try
    DM1.qPURCLINE.DisableControls;
    DM1.qPURCLINE.First;
    while not DM1.qPURCLINE.Eof do
    begin
      with qSQL do
      begin
        Close;
        SQL.clear;
        SQL.Add('UPDATE ITEM_QTY,PURCLINE SET ITEM_QTY.ONHAND = '+
                'ITEM_QTY.ONHAND - :nQTY, ITEM_QTY.QTYPURC=ITEM_QTY.QTYPURC-:nQTY,PURCLINE.POSTED=1 '+
                'WHERE ITEM_QTY.ITEMCODE=:nCode AND ITEM_QTY.GDGCODE=:nGudang AND PURCLINE.TRNO=:nTRNO AND PURCLINE.POSTED=1 ');
        ParamByName('nCode').Value :=DM1.qPURCLineITEMCODE.Value;
        ParamByName('nGudang').Value :=DM1.qPURCLineGDGCODE.Value;
        ParamByName('nQTY').Value :=DM1.qPURCLineQTY.Value;
        ParamByName('nTRNO').Value := nNO;
        ExecSQL;
      end;
      DM1.qPURCLINE.Next;
    end;
  finally
    DM1.qPURCLINE.EnableControls;
    if PrevRecord <> nil then
    begin
      DM1.qPURCLINE.GotoBookmark(PrevRecord);
      DM1.qPURCLINE.FreeBookmark(PrevRecord);
    end;
  end;
//Posting Hutang Supplier dari table PURC
  try
    DM1.qPURC.DisableControls;
      with qSQL do
      begin
        Close;
        SQL.clear;
        SQL.Add('UPDATE SPL,PURC SET SPL.CURBAL = '+
                'SPL.CURBAL - :nBAL,PURC.POSTED=1,PURC.STATUS="B" '+
                'WHERE SPL.SPLCODE=:nCode AND PURC.TRNO=:nTRNO AND PURC.POSTED=1 AND PURC.STATUS="D" ');
        ParamByName('nCode').Value :=DM1.qPURCSPLCODE.Value;
        ParamByName('nBal').Value :=DM1.qPURCTRDUE.Value;
        ParamByName('nTRNO').Value := nNO;
        ExecSQL;
      end;
  finally
    DM1.qPURC.EnableControls;
  end;
  DM1.dtaCon.Commit;
  except
    DM1.dtaCon.Rollback;
  end;
end;

procedure TlsPurcForm.BatalFakturClick(Sender: TObject);
begin
  PrevRec := dsPURC.DataSet.GetBookmark;
  CancelPURC(dsPURC.DataSet.FieldValues['TRNO']);
  dsPURC.DataSet.Refresh;
  dsPURC.DataSet.GotoBookmark(PrevRec);
end;

procedure TlsPurcForm.btnUnpostedClick(Sender: TObject);
begin
  ViewData(1);
end;

procedure TlsPurcForm.btnCancelPURCClick(Sender: TObject);
begin
  ViewData(2);
end;

procedure TlsPurcForm.edFindChange(Sender: TObject);
begin
  ViewData(3);
end;

procedure TlsPurcForm.btnduedateClick(Sender: TObject);
begin
  ViewData(4);
end;

procedure TlsPurcForm.ItemGridDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  if Column.Field=DM1.qpurc.FieldByName('STATUS') then
  begin
    ItemGrid.Canvas.FillRect(Rect);
    cbimages.Draw(ItemGrid.Canvas,Rect.Left+15,Rect.Top+1,0);
    if DM1.qpurc.RecordCount <> 0 then begin
      if DM1.qpurc.FieldByName('STATUS').Value='D' then
      begin
        cbimages.Draw(ItemGrid.Canvas,Rect.Left+15,Rect.Top+1,1);
      end else
      begin
        cbimages.Draw(ItemGrid.Canvas,Rect.Left+15,Rect.Top+1,3);
      end;
    end;
  end;
end;

procedure TlsPurcForm.PrintFakturClick(Sender: TObject);
begin
  RPreviewForm:=TRPreviewForm.Create(self);
  frxreport1.Preview := RPreviewForm.frxPreview1;
  frxreport1.LoadFromFile(ExtractFilePath(ParamStr(0)) + '..\Reports\' + 'NotaBeli.fr3');
  frxreport1.PrepareReport;
  frxreport1.ShowReport;
  RPreviewForm.ShowModal;
end;

procedure TlsPurcForm.frxReport1GetValue(const VarName: String;
  var Value: Variant);
begin
  if dsPurc.DataSet.FieldByName('STATUS').Value='B' then
  begin
    if CompareText(VarName, 'status') = 0 then Value := '= = B A T A L = =';
  end else
  begin
    if CompareText(VarName, 'status') = 0 then Value := '';
  end;
end;

procedure TlsPurcForm.HitungUlangFaktur1Click(Sender: TObject);
var
  FakNo: String; SQLtxt: String;
  mcTotal: Double;
begin
  Fakno:=DM1.qPurc.FieldValues['TRNO'];
  with qSQL do
  begin
    Close;
    SQL.Clear;
    SQLtxt:='SELECT ROUND(SUM(QTY*(PRICE - (DISC_1 / 100 * PRICE))),2) as ctotal '+
            'FROM purcline where trno=:nFakno ';
    SQL.Text:=SQLtxt;
    ParamByName('nFakno').Value:=Fakno;
    Open;
  end;
  mcTotal:=qSQL.FieldValues['ctotal'];

  try
  DM1.dtaCon.StartTransaction;
  with SQLp do
  begin
    Script.Clear;
    Script.Add('UPDATE PURC SET TRTOTAL=:ncTotal, TRPPN=(TRTOTAL*0), TRDUE=(TRTOTAL+TRPPN) WHERE TRNO=:nFakno ;');
    ParamByName('ncTotal').Value:=mcTotal;
    ParamByName('nFakno').Value:=Fakno;
    Execute;
  end;
  DM1.dtaCon.Commit;
  except
    on E : Exception do
    begin
    ShowMessage(E.Message);
    DM1.dtaCon.Rollback;
    end;
  end;

  RefreshRec(DM1.qPurc);
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
悠悠色在线精品| 国产剧情一区二区三区| 美女脱光内衣内裤视频久久网站| 91在线视频网址| 91精品免费观看| 亚洲男帅同性gay1069| 精品制服美女久久| www.久久久久久久久| 精品少妇一区二区三区免费观看| 欧美性受xxxx黑人xyx| 久久精品一区二区三区四区| 天天爽夜夜爽夜夜爽精品视频| 亚洲精品福利视频网站| 国产成人av电影在线| 精品久久久久久久一区二区蜜臀| 久久日一线二线三线suv| 亚洲午夜精品在线| av成人免费在线| 欧美高清在线视频| 国产专区欧美精品| 日韩午夜在线播放| 久久精品99久久久| 欧美一级二级三级蜜桃| 亚洲国产精品久久人人爱蜜臀| 午夜私人影院久久久久| 色综合色狠狠天天综合色| 久久精品男人天堂av| 国产麻豆精品视频| 久久久综合激的五月天| 国产精品伊人色| 久久久国产午夜精品 | 丁香亚洲综合激情啪啪综合| 欧美狂野另类xxxxoooo| 亚洲一区二区三区中文字幕| 在线观看日韩一区| 亚洲成人自拍网| 欧美精品少妇一区二区三区| 亚洲va欧美va人人爽午夜| 欧美另类videos死尸| 水野朝阳av一区二区三区| 欧美久久久久免费| 久久精品国产久精国产| 精品国产污污免费网站入口| 国产精品原创巨作av| 亚洲欧美自拍偷拍| 欧美亚洲尤物久久| 奇米色一区二区| 久久久久久久电影| 色综合久久天天| 日韩综合小视频| 久久夜色精品一区| 色综合色狠狠综合色| 日韩高清在线观看| 欧美国产乱子伦| 色94色欧美sute亚洲线路一ni| 国产欧美一区二区精品忘忧草| 肉色丝袜一区二区| 精品国产一二三区| eeuss鲁片一区二区三区| 亚洲一区二区欧美日韩| 日韩免费观看高清完整版| 丁香亚洲综合激情啪啪综合| 亚洲一卡二卡三卡四卡五卡| 欧美电影精品一区二区| 91香蕉视频黄| 捆绑调教一区二区三区| 国产精品全国免费观看高清| 欧美亚洲另类激情小说| 激情综合一区二区三区| 亚洲另类春色校园小说| 欧美大尺度电影在线| av成人动漫在线观看| 免费日本视频一区| 亚洲日本在线天堂| 精品日产卡一卡二卡麻豆| 91麻豆精品秘密| 激情久久五月天| 亚洲精选免费视频| 久久久久久久久久久黄色| 欧美日韩高清一区| 99精品欧美一区二区三区小说| 久久久久久久一区| 欧美日本高清视频在线观看| hitomi一区二区三区精品| 久久国产乱子精品免费女| 亚洲自拍偷拍图区| 中文字幕亚洲一区二区av在线 | 亚洲一区二区在线播放相泽| 26uuu久久综合| 欧美理论片在线| 成人精品电影在线观看| 免费成人在线观看视频| 亚洲一区二区三区四区在线 | 久久久av毛片精品| 日韩午夜小视频| 欧美性欧美巨大黑白大战| 91网站最新地址| 成人黄色小视频在线观看| 国产一区视频导航| 免费观看在线综合色| 午夜激情久久久| 亚洲一区二区欧美| 亚洲免费在线电影| 中文字幕免费不卡在线| 国产欧美一区二区三区网站| 337p日本欧洲亚洲大胆色噜噜| 国产成人高清在线| 国产福利一区二区三区视频在线| 国产精品美女久久久久久久网站| 一本一道久久a久久精品综合蜜臀| 夜夜亚洲天天久久| 亚洲欧美另类小说| 亚洲同性同志一二三专区| 国产精品久久久久久久久免费桃花 | 岛国av在线一区| 国产一区二区视频在线播放| 黄页网站大全一区二区| 韩国欧美国产1区| 国产激情视频一区二区在线观看| 亚洲已满18点击进入久久| 夜夜精品视频一区二区 | 91福利在线看| 在线观看一区不卡| 精品视频一区 二区 三区| 欧美日韩在线播放三区| 7777精品久久久大香线蕉| 欧美一区二区三区在线看| 日韩欧美在线综合网| 久久久亚洲精品石原莉奈| 国产精品乱码一区二区三区软件| 7777精品伊人久久久大香线蕉| 国产99精品国产| heyzo一本久久综合| 欧美午夜免费电影| 欧美电影影音先锋| 日韩精品一区二区三区视频| 久久女同性恋中文字幕| 国产精品久久久久7777按摩| 艳妇臀荡乳欲伦亚洲一区| 日本欧美在线观看| 成人免费观看视频| 欧美日韩一级二级| 久久久影视传媒| 亚洲国产人成综合网站| 狠狠色丁香婷婷综合| 99久久综合精品| 日韩免费看网站| 一区二区在线看| 极品少妇一区二区| 欧美伊人久久久久久久久影院 | 久久www免费人成看片高清| 国产成人欧美日韩在线电影| 91视频.com| 2021国产精品久久精品| 国产精品每日更新| 奇米影视一区二区三区| 不卡av在线网| 日韩精品一区在线| 一区二区三区免费看视频| 国产一区二区三区在线观看免费 | 欧美成人精品福利| 亚洲视频中文字幕| 韩国av一区二区| 7777精品伊人久久久大香线蕉超级流畅| 色综合久久66| 26uuu欧美日本| 日本不卡中文字幕| 白白色 亚洲乱淫| 久久久久亚洲蜜桃| 日韩影院精彩在线| 日本高清无吗v一区| 久久亚洲私人国产精品va媚药| 久久综合九色欧美综合狠狠| 亚洲精品乱码久久久久| 激情欧美日韩一区二区| 在线播放一区二区三区| 亚洲精品一卡二卡| 99久久精品免费看| 国产亚洲欧美激情| 九色综合狠狠综合久久| 欧美疯狂性受xxxxx喷水图片| 欧美一级高清片在线观看| 亚洲综合激情网| 91在线观看视频| 国产精品免费av| av在线一区二区| 国产精品三级视频| 成人精品视频.| 国产三级三级三级精品8ⅰ区| 国产精品久久毛片a| 韩国欧美国产1区| 日韩精品自拍偷拍| 久久99精品久久久久| 欧美大片免费久久精品三p| 麻豆久久一区二区| 日韩一区和二区| 久久av资源网| 2024国产精品| 国产白丝网站精品污在线入口| 日本久久精品电影|