// экспорт сумм по контрагентам (дисконтная программа)

const OutputDir = 'c:\mail_xprice\out\';
      Storage  = 0; // Склад, информация по которому передается.
      SaveAsStorage  = 1; // Номер данного склада в базе, если 0, то совпадает с Storage
      PeriodDays = 7; // Период в днях, за который снимается данный отчет

      withDialog =  true; // Запрашивать ли данные у пользователя.

var Form :TForm;
    Lab :TLabel;
    EditDate :TDateTimePicker;
    Bevel,Bevel1 :Tbevel;
    Button1 :Tbutton;
    Button2 :tButton;
begin


  Form := Tform.create(nil);
  try
    begin // создаем форму

      Form.Caption := 'Экспорт данных';
      Form.BorderStyle := bsDialog;
      Form.Width := 300;
      Form.Height := 200;
      Form.position := poScreenCenter;
      Form.Font.name := 'Tahoma';


      Bevel := tbevel.create(form);
      Bevel.Shape := bsTopLine;
      Bevel.Height := 4;
      Bevel.align := alTop;
      bevel.parent := Form;


      Lab := TLabel.create(form); // удалять не нужно, Form его owner, сам удалит
      Lab.caption := 'Укажите начальную дату:';
      Lab.font.size := 10;
      Lab.Top := 20;
      Lab.Left := (Form.clientWidth - Lab.Width) div 2;
      Lab.parent := Form;

      EditDate := TDateTimePicker.create(Form);
      EditDate.Top := Lab.Top +Lab.Height + 10;
      EditDate.width := 100;
      EditDate.Left := (Form.clientWidth - Editdate.width) div 2;
      Editdate.parent := Form;

      Bevel1 := TBevel.create(Form);
      Bevel1.shape := bsTopLine;
      Bevel1.Height := 4;
      Bevel1.Width := Form.clientWidth - 30;
      Bevel1.Left := (Form.ClientWidth - Bevel1.Width) div 2;
      Bevel1.Top := Editdate.Top + EditDate.Height + 20;
      Bevel1.parent := Form;

      Button1 := Tbutton.create(Form);
      Button1.Caption := 'Старт';
      Button1.Width := 70;
      Button1.ModalResult := mrOk;
      Button1.Top := Bevel1.Top + 13;
      button1.Default := true;
      Button1.Parent := Form;


      Button2 := Tbutton.create(Form);
      Button2.Caption := 'Отмена';
      Button2.Width := 70;
      Button2.ModalResult := mrCancel;
      Button2.Top := Button1.top;
      Button2.left := Form.ClientWidth - Button2.Width - 35;
      Button2.Cancel := true;
      Button2.Parent := Form;

      Button1.left := Button2.left - Button1.width - 5;


      Form.clientHeight := Button1.Top + Button1.height + 15;

    end;

    EditDate.date := date - PeriodDays;

    if not WithDialog or (Form.ShowModal = mrOk)
    then begin
      ExportDiscountPercentsSummary(OutputDir, EditDate.Date, Storage, SaveAsStorage)
    end;
  finally
    Form.free;
  end;


end.
