Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Screen.Cursor := crHourGlass;


try

  try

    Excel.Application.EnableEvents := False;

    Excel.Workbooks.Add;

    for i:=0 to NumCol-1 do

    begin

      //Вывод в шапку таблицы названий полей из DBGrid'а:

      Excel.Cells[5,i+1] := ADBGrid.Columns[i].Title.Caption;

      //Форматирование заголовка:

      Width := Min(50, Trunc(ADBGrid.Columns[i].Width * 0.2));

      Excel.Cells[5,i+1].ColumnWidth := Width;

      Excel.Cells[5,i+1].Font.Bold := True;

      Excel.Cells[5,i+1].Borders[7].LineStyle := 1;

      Excel.Cells[5,i+1].Borders[8].LineStyle := 1;

      Excel.Cells[5,i+1].Borders[9].LineStyle := 1;

      Excel.Cells[5,i+1].Borders[10].LineStyle := 1;

    end;


    Excel.Cells[1,1] := Date;

    Excel.Cells[3,1] := ACaption;

    Excel.Cells[3,1].Font.Bold := True;

    Excel.Cells[3,1].Font.Size := 12;

    i := 5;

    //Экспорт данных из таблиц БД:

    with ADBGrid.DataSource.DataSet do

    begin

      DisableControls; //Отключаем сетку на время формирования отчета

      First;

      while not Eof do

      begin

        Inc(i);

        //Выводятся NumCol первых полей таблицы, отображенных в DBGrid'е:

        for j:=0 to NumCol-1 do

        begin

Excel.Cells[i,j+1].NumberFormat := '@'; //Формат "текст"

//Текст выводится так, как он отображен в DBGrid'e:

Excel.Cells[i,j+1] := FieldByName(ADBGrid.Columns[j].FieldName).DisplayText;

Excel.Cells[i,j+1].Borders[7].LineStyle := 1;

Excel.Cells[i,j+1].Borders[8].LineStyle := 1;

Excel.Cells[i,j+1].Borders[9].LineStyle := 1;

Excel.Cells[i,j+1].Borders[10].LineStyle := 1;

//Если ширина текущего столбца >0, то задается опция переноса текста в ячейке:

if Excel.Cells[i,j+1].ColumnWidth >0 then

  Excel.Cells[i,j+1].WrapText := True;


if ADBGrid.Columns[j].Alignment = taLeftJustify then

  Excel.Cells[i,j+1].HorizontalAlignment := 2 //Выравнивание влево

else

  Excel.Cells[i,j+1].HorizontalAlignment := 4;//Выравнивание вправо

        end; //for j

        Next;

      end; //while

    end; //with


    Excel.Application.EnableEvents := True;

    Excel.Visible := True;

  except

    Excel.Quit;

  end;

finally

  ADBGrid.DataSource.DataSet.EnableControls;

  Screen.Cursor := crDefault;

  ADBGrid.Enabled := True;

end;

end;


//Формирование карточки объекта недвижимости:

procedure DocCardRealty;

var

Excel: Variant;

i: Integer;

begin

Excel := CreateOleObject('Excel.Application');

Screen.Cursor := crHourGlass;


try

  try

    Excel.Application.EnableEvents := False;

    Excel.Workbooks.Add;

    Excel.Cells[1,1] := Date;

    Excel.Cells[3,1] := 'Карточка объекта недвижимости';

    Excel.Cells[3,1].Font.Bold := True;


    //Таблица Недвижимость содержит 12 полей для вывода в отчет:

    for i:=0 to 11 do

    begin

      Excel.Cells[i+5,1] := DM.dstRealty.Fields[i].DisplayLabel;

      Excel.Cells[i+5,1].Font.Bold := True; //Полужирный шрифт

      Excel.Cells[i+5,2] := DM.dstRealty.Fields[i].DisplayText;

      Excel.Cells[i+5,2].HorizontalAlignment := 2 //Выравнивание влево

    end;


    Inc(i);

    DM.dstRealtySpecific.First;

    //Цикл по характеристикам выбранного недвижимости:

    while not DM.dstRealtySpecific.Eof do

    begin

      Excel.Cells[i+5,1] := DM.dstRealtySpecific.FieldByName('Характеристика').AsString;

      Excel.Cells[i+5,1].Font.Bold := True;

      Excel.Cells[i+5,2] := DM.dstRealtySpecific.FieldByName('Значение').AsString;

      Excel.Cells[i+5,2].HorizontalAlignment := 2;


      Inc(i);

      DM.dstRealtySpecific.Next;

    end;


    //Автоподбор ширины колонок:

    Excel.Columns[1].AutoFit;

    Excel.Columns[2].AutoFit;


    Excel.Application.EnableEvents := True;

    Excel.Visible := True;

  except

    Excel.Quit;

  end;

finally

  Screen.Cursor := crDefault;

end;

end;


//Формирование карточки заявки:

procedure DocCardRequest;

var

Excel: Variant;

i: Integer;

begin

Excel := CreateOleObject('Excel.Application');

Screen.Cursor := crHourGlass;


try

  try

    Excel.Application.EnableEvents := False;

    Excel.Workbooks.Add;

    Excel.Cells[1,1] := Date;

    Excel.Cells[3,1] := 'Карточка заявки';

    Excel.Cells[3,1].Font.Bold := True;


    //Таблица Недвижимость содержит 12 полей для вывода в отчет:

    for i:=0 to 9 do

    begin

      Excel.Cells[i+5,1] := DM.dstRequest.Fields[i].DisplayLabel;

      Excel.Cells[i+5,1].Font.Bold := True; //Полужирный шрифт

      Excel.Cells[i+5,2] := DM.dstRequest.Fields[i].DisplayText;

      Excel.Cells[i+5,2].HorizontalAlignment := 2 //Выравнивание влево

    end;


    Inc(i);

    DM.dstReqSpecific.First;

    //Цикл по характеристикам выбранного недвижимости:

    while not DM.dstReqSpecific.Eof do

    begin

      Excel.Cells[i+5,1] := DM.dstReqSpecific.FieldByName('Характеристика').AsString;

      Excel.Cells[i+5,1].Font.Bold := True;

      if not DM.dstReqSpecific.FieldByName('Значение').IsNull then

        Excel.Cells[i+5,2] := DM.dstReqSpecific.FieldByName('Значение').AsString

      else

      begin

        if not DM.dstReqSpecific.FieldByName('ЗначениеОт').IsNull then

Excel.Cells[i+5,2] := 'от ' + DM.dstReqSpecific.FieldByName('ЗначениеОт').AsString;

        if not DM.dstReqSpecific.FieldByName('ЗначениеДо').IsNull then

Excel.Cells[i+5,2] := string(Excel.Cells[i+5,2]) + ' до ' +

  DM.dstReqSpecific.FieldByName('ЗначениеДо').AsString;

      end; 

      Excel.Cells[i+5,2].HorizontalAlignment := 2;


      Inc(i);

      DM.dstReqSpecific.Next;

    end;


    //Автоподбор ширины колонок:

    Excel.Columns[1].AutoFit;

    Excel.Columns[2].AutoFit;


    Excel.Application.EnableEvents := True;

    Excel.Visible := True;

  except

    Excel.Quit;

  end;

finally

  Screen.Cursor := crDefault;

end;

end;


//Формирование договора купли-продажи:

procedure DocContract;

var

ObjWord: Variant;

Seller, SellerFull, Buyer, BuyerFull: string;


//Из таблицы контрагентов берутся все внесенные данные о продавце или покупателе:

function GetInfo: string;

begin

Result := DM.dstContrag.FieldByName('ФИО_Наименование').AsString;

if not DM.dstContrag.FieldByName('Паспорт').IsNull then

  Result := Result + ', паспорт ' + DM.dstContrag.FieldByName('Паспорт').AsString;

if not DM.dstContrag.FieldByName('Адрес').IsNull then

  Result := Result + ', адрес: ' + DM.dstContrag.FieldByName('Адрес').AsString;

if not DM.dstContrag.FieldByName('Реквизиты').IsNull then

  Result := Result + ', банк. реквизиты: ' + DM.dstContrag.FieldByName('Реквизиты').AsString;

if not DM.dstContrag.FieldByName('ИНН').IsNull then

  Result := Result + ', ИНН: ' + DM.dstContrag.FieldByName('ИНН').AsString;

if not DM.dstContrag.FieldByName('КПП').IsNull then

  Result := Result + ', КПП: ' + DM.dstContrag.FieldByName('КПП').AsString;

end;


begin

ObjWord := CreateOleObject('Word.Application');

Screen.Cursor := crHourGlass;

try

  try

    ObjWord.Documents.Open(GetCurrentDir + '\Шаблоны\Договор купли-продажи.dot');


    Seller := ''; //Продавец кратко

    Buyer := ''; //Покупатель кратко

    SellerFull := ''; //Продавец с реквизитами

    BuyerFull := ''; //Покупатель с реквизитами


    //В таблице сторон сделки определяются покупатели и продавцы (их может быть несколько):

    DM.dstDealPart.First;

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22