unit U_TradeClothInEdit;

interface

uses
  Windows, Messages, strUtils, SysUtils, Variants, Classes, Graphics, Controls,
  Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
  cxDataStorage, cxEdit, DB, cxDBData, StdCtrls, ExtCtrls, ADODB, DBClient,
  cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, MMSystem,
  cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
  cxControls, cxGridCustomView, cxGrid, MovePanel, cxCheckBox, Menus, ComCtrls,
  cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, U_BaseList, dxSkinsCore,
  dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, RM_Common, RM_Class,
  RM_GridReport, RM_Dataset, Vcl.ToolWin, dxScrollbarAnnotations;

type
  TfrmTradeClothInEdit = class(TfrmBaseList)
    GPM_1: TcxGridPopupMenu;
    CDS_1: TClientDataSet;
    DS_1: TDataSource;
    ADOQueryTemp: TADOQuery;
    ADOQueryCmd: TADOQuery;
    ADOQueryMain: TADOQuery;
    Panel1: TPanel;
    CDS_2: TClientDataSet;
    DS_2: TDataSource;
    GPM_2: TcxGridPopupMenu;
    DS_3: TDataSource;
    CDS_3: TClientDataSet;
    GPM_3: TcxGridPopupMenu;
    cxGrid2: TcxGrid;
    Tv2: TcxGridDBTableView;
    v1OrderNo: TcxGridDBColumn;
    v2Column2: TcxGridDBColumn;
    cxGridDBColumn2: TcxGridDBColumn;
    v1Column10: TcxGridDBColumn;
    v1Column14: TcxGridDBColumn;
    cxGridDBColumn3: TcxGridDBColumn;
    v1PRTMF: TcxGridDBColumn;
    v1PRTKZ: TcxGridDBColumn;
    cxGrid2Level1: TcxGridLevel;
    Panel2: TPanel;
    Panel4: TPanel;
    cxGrid1: TcxGrid;
    Tv1: TcxGridDBTableView;
    v1Column6: TcxGridDBColumn;
    v1Column11: TcxGridDBColumn;
    v1Column5: TcxGridDBColumn;
    v1Column3: TcxGridDBColumn;
    Tv1Column1: TcxGridDBColumn;
    v1Column4: TcxGridDBColumn;
    v2Column6: TcxGridDBColumn;
    v2Column5: TcxGridDBColumn;
    cxGrid1Level1: TcxGridLevel;
    ToolBar1: TToolBar;
    ToolButton2: TToolButton;
    cxGrid3: TcxGrid;
    Tv3: TcxGridDBTableView;
    v3Column5: TcxGridDBColumn;
    cxGridDBColumn4: TcxGridDBColumn;
    v3MJID: TcxGridDBColumn;
    v3Column3: TcxGridDBColumn;
    Tv3Column1: TcxGridDBColumn;
    v3Column4: TcxGridDBColumn;
    cxGridDBColumn6: TcxGridDBColumn;
    v3Column1: TcxGridDBColumn;
    cxGridLevel1: TcxGridLevel;
    ToolBar2: TToolBar;
    ToolButton1: TToolButton;
    Panel3: TPanel;
    Label4: TLabel;
    Label5: TLabel;
    Label11: TLabel;
    CRTime: TDateTimePicker;
    InNo: TEdit;
    CRType: TComboBox;
    ToolBar3: TToolBar;
    ToolButton3: TToolButton;
    btnGetOutNo: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    edtScan: TEdit;
    Label6: TLabel;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    ToolButton12: TToolButton;
    Tv2Column2: TcxGridDBColumn;
    ToolButton4: TToolButton;
    Tv1Column2: TcxGridDBColumn;
    Tv3Column2: TcxGridDBColumn;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure btnGetOutNoClick(Sender: TObject);
    procedure ToolButton7Click(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure edtScanKeyPress(Sender: TObject; var Key: Char);
    procedure ToolButton9Click(Sender: TObject);
    procedure ToolButton10Click(Sender: TObject);
    procedure ToolButton11Click(Sender: TObject);
    procedure ToolButton12Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
  private
    { Private declarations }
    FScan, FSubIds: string;
    procedure PlayWav(MWav: string);
    procedure InitGrid1();
    procedure InitGrid2();
    procedure InitGrid3();
    procedure ScanSubID();
    procedure ScanCIID();
  public

    { Public declarations }
  end;

var
  frmTradeClothInEdit: TfrmTradeClothInEdit;

implementation

uses
  U_DataLink, U_RTFun, U_TradeClothWaitStorage, U_LabelPrint;

{$R *.dfm}
procedure TfrmTradeClothInEdit.PlayWav(MWav: string);
begin
  if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\' + MWav + '.wav')) then
    PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\' + MWav + '.wav'), 0, SND_ASYNC);
end;

procedure TfrmTradeClothInEdit.InitGrid2();
begin
  with ADOQueryTemp do
  begin
    Close;
    sql.Clear;
    sql.Add('select A.*,B.*  ');
    sql.Add(' from Trade_Plan_Main A inner join Trade_Plan_Sub B on A.MainId=B.Mainid');

    if TRIm(FSubIds) <> '' then
      sql.add('and SubId in (' + FSubIds + ')')
    else
      sql.add('and 1=2');
    Open;
  end;
  SCreateCDS(ADOQueryTemp, CDS_2);
  SInitCDSData(ADOQueryTemp, CDS_2);
end;

procedure TfrmTradeClothInEdit.InitGrid1();
begin

  with ADOQueryMain do
  begin
    Close;
    sql.Clear;
    sql.Add('select A.IOFlag,A.IONo,A.IOID,B.* from Trade_Cloth_IO A    ');
    sql.Add('right join Trade_Cloth_Stock B on A.StkId=B.StkId     ');
    sql.Add('where  B.StkExists=0 and  B.StkCycles=0 ');
    if TRIm(FSubIds) <> '' then
      sql.add('and SubID in (' + FSubIds + ')')
    else
      sql.add('and 1=2');
    Open;
  end;
  SCreateCDS(ADOQueryMain, CDS_1);
  SInitCDSData(ADOQueryMain, CDS_1);

end;

procedure TfrmTradeClothInEdit.InitGrid3();
begin

  with ADOQueryTemp do
  begin
    Close;
    sql.Clear;
    sql.Add('select A.IOFlag,A.IONo,A.IOID,B.* from Trade_Cloth_IO A    ');
    sql.Add('inner join Trade_Cloth_Stock B on A.StkId=B.StkId and A.IOCycles=B.StkCycles   ');
    sql.Add('where A.IOFlag=''���'' and B.StkExists=1 ');
    if TRIm(InNo.Text) <> '' then
      sql.add('and IONO =' + QuotedStr(TRIm(InNo.Text)))
    else
      sql.add('and 1=2');
    Open;
  end;
  SCreateCDS(ADOQueryTemp, CDS_3);
  SInitCDSData(ADOQueryTemp, CDS_3);

end;

procedure TfrmTradeClothInEdit.ScanSubID();
var
  MStkIds: string;
begin
  try
    if Trim(InNo.Text) = '' then
      raise Exception.Create('��ⵥ�Ų���Ϊ��!');
    if CDS_2.IsEmpty then
      raise Exception.Create('δѡ������ɨ�����!');

    if not CDS_1.Locate('IONo', Trim(FScan), []) then
      raise Exception.Create('����ⵥ�������ڴ����ľ�������');

    MStkIds := '';
    with CDS_1 do
    begin
      First;
      while CDS_1.Locate('IONo', Trim(FScan), []) = True do
      begin
        MStkIds := MStkIds + (Trim(CDS_1.FieldByName('StkId').AsString)) + ',';
        MoveCDS(CDS_1, CDS_3);
        CDS_1.Delete;
      end;
    end;

    MStkIds := copy(MStkIds, 1, Length(MStkIds) - 1);

    try
      ADOQueryCmd.Connection.BeginTrans;

      with ADOQueryCmd do
      begin
        Close;
        Sql.Clear;
        Sql.Add('exec P_Trade_Cloth_In ');
        Sql.Add('@StkIds=' + quotedstr(trim(MStkIds)));
        Sql.Add(',@IOTime=' + Quotedstr(FormatDateTime('yyyy-MM-dd', CRTime.DateTime)));
        Sql.Add(',@IOType=' + Quotedstr(crtype.Text));
        Sql.Add(',@IONO=' + Quotedstr(InNo.Text));
        Open;
      end;
      if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
      begin
        raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
      end;

      ADOQueryCmd.Connection.CommitTrans;
      PlayWav('��ȷ');
    except
      ADOQueryCmd.Connection.RollbackTrans;
      raise Exception.Create(PChar(Exception(ExceptObject).Message));
    end;

  except
    application.MessageBox(PChar(Exception(ExceptObject).Message), '��ʾ��Ϣ', 0);
//    PlayWav('��������');
  end;

end;

procedure TfrmTradeClothInEdit.ScanCIID();
var
  MStkIds: string;
begin
  try
    if Trim(InNo.Text) = '' then
      raise Exception.Create('��ⵥ�Ų���Ϊ��!');
    if CDS_2.IsEmpty then
      raise Exception.Create('δѡ������ɨ�����!');

    if not CDS_1.Locate('StkId', Trim(FScan), []) then
      raise Exception.Create('�����벻�����ڴ����ľ�������');
    MStkIds := (Trim(CDS_1.FieldByName('StkId').AsString));

    MoveCDS(CDS_1, CDS_3);
    CDS_1.Delete;

    try
      ADOQueryCmd.Connection.BeginTrans;

      with ADOQueryCmd do
      begin
        Close;
        Sql.Clear;
        Sql.Add('exec P_Trade_Cloth_In ');
        Sql.Add('@StkIds=' + quotedstr(trim(MStkIds)));
        Sql.Add(',@IOTime=' + Quotedstr(FormatDateTime('yyyy-MM-dd', CRTime.DateTime)));
        Sql.Add(',@IOType=' + Quotedstr(crtype.Text));
        Sql.Add(',@IONO=' + Quotedstr(InNo.Text));
        Open;
      end;
      if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
      begin
        raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
      end;
      ADOQueryCmd.Connection.CommitTrans;
      PlayWav('��ȷ');
    except
      ADOQueryCmd.Connection.RollbackTrans;
      raise Exception.Create(PChar(Exception(ExceptObject).Message));
    end;

  except
    application.MessageBox(PChar(Exception(ExceptObject).Message), '��ʾ��Ϣ', 0);
//    PlayWav('��������');
  end;

end;

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

procedure TfrmTradeClothInEdit.FormDestroy(Sender: TObject);
begin
  inherited;
  frmTradeClothInEdit := nil;
end;

procedure TfrmTradeClothInEdit.FormShow(Sender: TObject);
begin
  inherited;
  ReadCxGrid(self.caption + 'Tv1', Tv1, '��Ʒ�ֿ�');
  ReadCxGrid(self.caption + 'Tv2', Tv2, '��Ʒ�ֿ�');
  ReadCxGrid(self.caption + 'Tv3', Tv3, '��Ʒ�ֿ�');
  InitGrid2();
  InitGrid1();
  InitGrid3();
  CRTime.DateTime := SGetServerDate(ADOQueryTemp);
end;

procedure TfrmTradeClothInEdit.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
  if CDS_3.IsEmpty = False then
    Exit;
  if CDS_2.IsEmpty then
    Exit;
  if Application.MessageBox('ȷ��Ҫɾ��������', '��ʾ', 32 + 4) <> IDYES then
    Exit;
  CDS_1.DisableControls;
  with CDS_1 do
  begin
    First;
    while not Eof do
    begin
      if Trim(CDS_1.fieldbyname('SubId').AsString) = Trim(CDS_2.fieldbyname('SubId').AsString) then
      begin
        CDS_1.Delete;
      end
      else
        Next;
    end;
  end;
  CDS_1.EnableControls;
  CDS_2.Delete;
end;

procedure TfrmTradeClothInEdit.edtScanKeyPress(Sender: TObject; var Key: Char);
var
  maxno, SMFlag, KYCKFlag, FMainId, ff: string;
  FFQty: Integer;
begin
  if Key = #13 then
  begin
    FScan := TRIM(edtScan.Text);
    edtScan.Text := '';
    if Copy(FScan, 1, 2) = 'RK' then
    begin
      ScanSubID();
    end
    else
    begin
      ScanCIID();
      {if Trim(edtIsSMTH.Text) = '' then
      begin
        if Copy(FScan, 1, 2) = 'BI' then
        begin
          if not JudgeBao() then
            exit;
          SaveCKBao();
          PlaySound('wav/��ȷ.wav', 0, SND_FILENAME or SND_ASYNC);
        end
        else
        begin
          if not JudgeJTM() then
            exit;
          SaveCKJTM();
          PlaySound('wav/��ȷ.wav', 0, SND_FILENAME or SND_ASYNC);
        end;
      end
      else
      begin
        if JudgeJTMCX() then  //��������
          SaveCKJTMCX();
      end;            }
//      with ADOQueryCmd do
//      begin
//        Close;
//        sql.Clear;
//        sql.Add('exec P_FH_UP_FHQty ''' + Trim(CKNO.Text) + '''');
//        ExecSQL;
//      end;

    end;

  end;
end;

procedure TfrmTradeClothInEdit.ToolButton10Click(Sender: TObject);
begin
  SelOKNo(CDS_1, False);

end;

procedure TfrmTradeClothInEdit.ToolButton11Click(Sender: TObject);
begin
  SelOKNo(CDS_3, True);

end;

procedure TfrmTradeClothInEdit.ToolButton12Click(Sender: TObject);
begin
  SelOKNo(CDS_3, False);

end;

procedure TfrmTradeClothInEdit.ToolButton1Click(Sender: TObject);
var
  MStkIds, MIOIDS: string;
begin
  if CDS_3.IsEmpty then
    Exit;
  if Application.MessageBox('ȷ��Ҫִ�д˲�����', '��ʾ', 32 + 4) <> IDYES then
    Exit;

  try
    if not CDS_3.Locate('SSel', True, []) then
      raise Exception.Create('��ѡ������');

    MStkIds := '';
    MIOIDS := '';
    with CDS_3 do
    begin
      while CDS_3.Locate('SSel', True, []) do
      begin
        MStkIds := MStkIds + (Trim(CDS_3.FieldByName('StkId').AsString)) + ',';
        MIOIDS := MIOIDS + (Trim(CDS_3.FieldByName('IOID').AsString)) + ',';
        CDS_3.Delete;
      end;
    end;

    MStkIds := copy(MStkIds, 1, Length(MStkIds) - 1);
    MIOIDS := copy(MIOIDS, 1, Length(MIOIDS) - 1);

    try
      ADOQueryCmd.Connection.BeginTrans;

      with ADOQueryCmd do
      begin
        Close;
        Sql.Clear;
        Sql.Add('exec P_Trade_Cloth_ReIn ');
        Sql.Add('@StkIds=' + quotedstr(trim(MStkIds)));
        Sql.Add(',@IOIDS=' + quotedstr(trim(MIOIDS)));
        Sql.Add(',@FillId=' + Quotedstr(DCode));
        Sql.Add(',@Filler=' + Quotedstr(DName));
        Open;
      end;

      if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
      begin
        raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
      end;

      ADOQueryCmd.Connection.CommitTrans;
      PlayWav('��ȷ');
      InitGrid1();
    except
      ADOQueryCmd.Connection.RollbackTrans;
      raise Exception.Create(PChar(Exception(ExceptObject).Message));
    end;

  except
    InitGrid1();
    InitGrid3();
    application.MessageBox(PChar(Exception(ExceptObject).Message), '��ʾ��Ϣ', 0);
//    PlayWav('��������');
  end;

end;

procedure TfrmTradeClothInEdit.ToolButton2Click(Sender: TObject);
var
  MStkIds: string;
begin
  try
    if Trim(InNo.Text) = '' then
      raise Exception.Create('��ⵥ�Ų���Ϊ��!');
    if CDS_2.IsEmpty then
      raise Exception.Create('δѡ������ɨ�����!');

    if not CDS_1.Locate('SSel', True, []) then
      raise Exception.Create('��ѡ������');
    MStkIds := '';
    with CDS_1 do
    begin
      while CDS_1.Locate('SSel', True, []) = True do
      begin
        MStkIds := MStkIds + Trim(CDS_1.FieldByName('StkId').AsString) + ',';
        CDS_1.Delete;
      end;
    end;

    MStkIds := copy(MStkIds, 1, Length(MStkIds) - 1);

    try
      ADOQueryCmd.Connection.BeginTrans;

      with ADOQueryCmd do
      begin
        Close;
        Sql.Clear;
        Sql.Add('exec P_Trade_Cloth_In ');
        Sql.Add('@StkIds=' + quotedstr(trim(MStkIds)));
        Sql.Add(',@IOTime=' + Quotedstr(FormatDateTime('yyyy-MM-dd', CRTime.DateTime)));
        Sql.Add(',@IOType=' + Quotedstr(crtype.Text));
        Sql.Add(',@IONO=' + Quotedstr(InNo.Text));
        Sql.Add(',@StkPosition=' + Quotedstr(''));
        Sql.Add(',@FillId=' + Quotedstr(DCode));
        Sql.Add(',@Filler=' + Quotedstr(DName));

//        ShowMessage(SQL.Text);
        Open;
      end;
      if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
      begin
        raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
      end;
      ADOQueryCmd.Connection.CommitTrans;
      PlayWav('��ȷ');
      InitGrid3();
    except
      ADOQueryCmd.Connection.RollbackTrans;
      raise Exception.Create(PChar(Exception(ExceptObject).Message));
    end;

  except
    InitGrid1();
    InitGrid3();
    application.MessageBox(PChar(Exception(ExceptObject).Message), '��ʾ��Ϣ', 0);
//    PlayWav('��������');
  end;

end;

procedure TfrmTradeClothInEdit.ToolButton3Click(Sender: TObject);
begin
  if Trim(InNo.Text) = '' then
    Exit;

  try
    frmLabelPrint := TfrmLabelPrint.Create(Application);
    with frmLabelPrint do
    begin
      FLMType := 'TradeClothIn1';
      FFiltration1 := Trim(Self.InNo.Text);
      if ShowModal = 1 then
      begin

      end;
    end;
  finally
    frmLabelPrint.Free;
  end;

end;

procedure TfrmTradeClothInEdit.ToolButton4Click(Sender: TObject);
begin
  FSubIds := '';
  InitGrid2();
end;

procedure TfrmTradeClothInEdit.btnGetOutNoClick(Sender: TObject);
var
  maxNo: string;
begin
  if GetLSNo(ADOQueryCmd, maxNo, 'RK', 'Trade_Cloth_IO', 3, 1) = False then
  begin
    Application.MessageBox('ȡ��ⵥ��ʧ��!', '��ʾ', 0);
    Exit;
  end;
  InNo.Text := Trim(maxNo);
  CRTime.DateTime := SGetServerDate(ADOQueryTemp);
  InitGrid3();
end;

procedure TfrmTradeClothInEdit.ToolButton6Click(Sender: TObject);
var
  maxno, fsj: string;
begin

  try
    frmTradeClothWaitStorage := TfrmTradeClothWaitStorage.Create(Application);
    with frmTradeClothWaitStorage do
    begin
      if ShowModal = 1 then
      begin
        CDS_OrderSel.DisableControls;
        with CDS_OrderSel do
        begin
          First;
          while not Eof do
          begin
            if FieldByName('SSel').Value = True then
            begin
              if Self.CDS_2.Locate('SubID', Trim(CDS_OrderSel.fieldbyname('SubID').AsString), []) = False then
              begin
                with Self.CDS_2 do
                begin
                  Append;
                  FieldByName('MainId').Value := Trim(CDS_OrderSel.fieldbyname('MainId').AsString);
                  FieldByName('SubID').Value := Trim(CDS_OrderSel.fieldbyname('SubID').AsString);
                  FieldByName('CustNo').Value := Trim(CDS_OrderSel.fieldbyname('CustNo').AsString);
                  FieldByName('CustName').Value := Trim(CDS_OrderSel.fieldbyname('CustName').AsString);
                  FieldByName('C_Name').Value := Trim(CDS_OrderSel.fieldbyname('C_Name').AsString);
                  FieldByName('OrdPiece').Value := CDS_OrderSel.fieldbyname('OrdPiece').Value;
                  FieldByName('OrdQty').Value := CDS_OrderSel.fieldbyname('OrdQty').Value;
                  FieldByName('OrdUnit').Value := Trim(CDS_OrderSel.fieldbyname('OrdUnit').AsString);
                  FieldByName('C_Color').Value := Trim(CDS_OrderSel.fieldbyname('C_Color').AsString);
                  FieldByName('C_Width').Value := Trim(CDS_OrderSel.fieldbyname('C_Width').AsString);
                  FieldByName('orderno').Value := Trim(CDS_OrderSel.fieldbyname('orderno').AsString);
                  FieldByName('C_GramWeight').Value := Trim(CDS_OrderSel.fieldbyname('C_GramWeight').AsString);
                  Post;
                end;
              end;
            end;
            Next;
          end;
        end;
        CDS_OrderSel.EnableControls;
      end;
    end;
  finally
    frmTradeClothWaitStorage.Free;
  end;

  FSubIds := '';
  CDS_2.DisableControls;
  with CDS_2 do
  begin
    First;
    while not Eof do
    begin
      FSubIds := FSubIds + Quotedstr(Trim(CDS_2.FieldByName('SubID').AsString)) + ',';
      Next;
    end;
  end;
  FSubIds := copy(FSubIds, 1, Length(FSubIds) - 1);
  CDS_2.EnableControls;

  if Trim(InNo.Text) = '' then
    btnGetOutNo.Click;

  InitGrid1();
  InitGrid3();
end;

procedure TfrmTradeClothInEdit.ToolButton7Click(Sender: TObject);
begin
  tv1.Controller.EditingController.ShowEdit();
  tv3.Controller.EditingController.ShowEdit();
  Close;

end;

procedure TfrmTradeClothInEdit.ToolButton8Click(Sender: TObject);
begin
  WriteCxGrid(self.caption + 'Tv2', Tv2, '��Ʒ�ֿ�');
  WriteCxGrid(self.caption + 'Tv1', Tv1, '��Ʒ�ֿ�');
  WriteCxGrid(self.caption + 'Tv3', Tv3, '��Ʒ�ֿ�');
end;

procedure TfrmTradeClothInEdit.ToolButton9Click(Sender: TObject);
begin
  SelOKNo(CDS_1, True);

end;

end.