Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 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 |


