Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
dstContragDSDesigner6: TWideStringField;
dstContragDSDesigner7: TWideStringField;
dstRealtyField2: TStringField;
dstPhoto: TADODataSet;
dsPhoto: TDataSource;
dstSpecific: TADODataSet;
dsSpecific: TDataSource;
dstRealtySpecific: TADODataSet;
dsRealtySpecific: TDataSource;
dstRealtySpecificID: TIntegerField;
dstRealtySpecificID2: TIntegerField;
dstRealtySpecificDSDesigner: TWideStringField;
dstRealtySpecificField: TStringField;
dstDeal: TADODataSet;
dsDeal: TDataSource;
dstDealID: TAutoIncField;
dstDealID2: TIntegerField;
dstDealID3: TIntegerField;
dstDealDSDesigner: TDateTimeField;
dstDealDSDesigner4: TBCDField;
dstDealDSDesigner5: TWideStringField;
dstDealField: TStringField;
dstDealPart: TADODataSet;
dsDealPart: TDataSource;
dstDealPartID: TIntegerField;
dstDealPartID2: TIntegerField;
dstDealPartID3: TIntegerField;
dstPartType: TADODataSet;
dsPartType: TDataSource;
dstDealPartStringField: TStringField;
dstDealPartField: TStringField;
dstRequest: TADODataSet;
dsRequest: TDataSource;
dstReqSpecific: TADODataSet;
dsReqSpecific: TDataSource;
dstReqSpecificID: TIntegerField;
dstReqSpecificID2: TIntegerField;
dstReqSpecificDSDesigner: TWideStringField;
dstReqSpecificDSDesigner2: TIntegerField;
dstReqSpecificDSDesigner3: TIntegerField;
dstReqSpecificStringField: TStringField;
dstRealtyDSDesigner5: TDateTimeField;
dstPhotoID: TAutoIncField;
dstPhotoID2: TIntegerField;
dstPhotoDSDesigner: TBlobField;
dstContragField: TStringField;
dstRealtyDSDesigner6: TBCDField;
dstRealtyField4: TStringField;
dstRealtyField3: TStringField;
dstTypicalSpecific: TADODataSet;
dsTypicalSpecific: TDataSource;
dstTypicalSpecificID: TIntegerField;
dstTypicalSpecificID2: TIntegerField;
dstTypicalSpecificField: TStringField;
dstRequestID: TAutoIncField;
dstRequestStringField: TStringField;
dstRequestWideStringField: TWideStringField;
dstRequestStringField2: TStringField;
dstRequestStringField3: TStringField;
dstRequestDateTimeField: TDateTimeField;
dstRequestBooleanField: TBooleanField;
dstRequestID5: TIntegerField;
dstRequestID4: TIntegerField;
dstRequestID3: TIntegerField;
dstRequestID2: TIntegerField;
dstRequestStringField5: TStringField;
dstRequestField: TStringField;
dstRealtyID6: TIntegerField;
dstRequestID6: TIntegerField;
dstRequestDSDesigner2: TBCDField;
dstDealField2: TStringField;
dstDealDSDesigner2: TBCDField;
dstDealID4: TIntegerField;
dstDealStringField: TStringField;
dstStatQuantity: TADODataSet;
dstStatQuantityDSDesigner2: TIntegerField;
dstStatQuantityField: TStringField;
dstStatReq: TADODataSet;
IntegerField1: TIntegerField;
StringField1: TStringField;
dstStatDealQuant: TADODataSet;
IntegerField2: TIntegerField;
StringField2: TStringField;
dstStatDealSum: TADODataSet;
StringField3: TStringField;
dstStatDealSumDSDesigner: TBCDField;
dstStatDealRealtor: TADODataSet;
dstStatDealRealtorDSDesigner2: TBCDField;
dstStatDealRealtorField: TStringField;
dstStatComis: TADODataSet;
StringField4: TStringField;
BCDField1: TBCDField;
procedure dstRealtyBeforePost(DataSet: TDataSet);
procedure dstRealtyAfterInsert(DataSet: TDataSet);
procedure dstRequestAfterInsert(DataSet: TDataSet);
procedure dstReqSpecificBeforeInsert(DataSet: TDataSet);
procedure dstRequestBeforePost(DataSet: TDataSet);
procedure dstRealtyBeforeEdit(DataSet: TDataSet);
procedure dstRealtyBeforeDelete(DataSet: TDataSet);
procedure dstRealtySpecificBeforeEdit(DataSet: TDataSet);
procedure dstRealtySpecificBeforeDelete(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DM: TDM;
implementation
uses Forms, Windows, uCard, uReqCard, uLogin;
{$R *.dfm}
procedure TDM.dstRealtyBeforePost(DataSet: TDataSet);
begin
if DataSet.FieldByName('ТипНедвижID').IsNull then
begin
Application.MessageBox('Не указан тип недвижимости!', 'Ошибка', MB_OK + MB_ICONERROR);
Abort;
end;
if DataSet.FieldByName('Цена').IsNull then
begin
Application.MessageBox('Не указан цена недвижимости!', 'Ошибка', MB_OK + MB_ICONERROR);
Abort;
end;
if DataSet.FieldByName('ТипСделкиID').IsNull then
begin
Application.MessageBox('Не указан тип сделки!', 'Ошибка', MB_OK + MB_ICONERROR);
Abort;
end;
end;
procedure TDM.dstRealtyAfterInsert(DataSet: TDataSet);
begin
//Признак актуальности для нового предложения объекта недвижимости по умолчанию равен True:
DataSet.FieldByName('Актуально').AsBoolean := True;
//Задается ID работающего с БД риэлтора:
if fmLogin.UserID <> 0 then
DataSet.FieldByName('РиэлторID').AsInteger := fmLogin.UserID;
//При заведении нового предложения открывается карточка объекта недвижимости:
fmCard.ShowModal;
end;
procedure TDM.dstRequestAfterInsert(DataSet: TDataSet);
begin
//Признак актуальности для новой заявки по умолчанию равен True:
DataSet.FieldByName('Актуально').AsBoolean := True;
//При заведении новой заявки открывается карточка заявки:
fmReqCard.ShowModal;
end;
procedure TDM.dstReqSpecificBeforeInsert(DataSet: TDataSet);
begin
//Перед добавлением характеристик заявки новая запись о заявке сохраняется:
if DM.dstRequest.State = dsInsert then
DM.dstRequest.Post;
end;
procedure TDM.dstRequestBeforePost(DataSet: TDataSet);
begin
if DataSet.FieldByName('ТипНедвижID').IsNull then
begin
Application.MessageBox('Не указан тип недвижимости!', 'Ошибка', MB_OK + MB_ICONERROR);
Abort;
end;
if DataSet.FieldByName('ЦенаДо').IsNull then
begin
Application.MessageBox('Не указана предельная цена недвижимости!', 'Ошибка', MB_OK + MB_ICONERROR);
Abort;
end;
if DataSet.FieldByName('ТипСделкиID').IsNull then
begin
Application.MessageBox('Не указан тип сделки!', 'Ошибка', MB_OK + MB_ICONERROR);
Abort;
end;
end;
//Определение прав доступа для редактирования записи об объекте недвижимости, заявке или сделке:
procedure TDM.dstRealtyBeforeEdit(DataSet: TDataSet);
begin
if (fmLogin.UserID <> 0) and (DataSet.FieldByName('РиэлторID').AsInteger <> fmLogin.UserID) then
begin
Application.MessageBox(PChar('Редактирование записи доступно только для пользователя ' +
DataSet.FieldByName('Риэлтор').AsString + ' и руководителя!'), 'Доступ запрещен', MB_OK + MB_ICONWARNING);
Abort;
end;
end;
//Определение прав доступа для удаления записи об объекте недвижимости, заявке или сделке:
procedure TDM.dstRealtyBeforeDelete(DataSet: TDataSet);
begin
if (fmLogin.UserID <> 0) and (not DataSet.FieldByName('РиэлторID').IsNull) and
(DataSet.FieldByName('РиэлторID').AsInteger <> fmLogin.UserID) then
begin
Application.MessageBox(PChar('Удаление записи доступно только для пользователя ' +
DataSet.FieldByName('Риэлтор').AsString + ' и руководителя!'), 'Доступ запрещен', MB_OK + MB_ICONWARNING);
Abort;
end;
end;
//Определение прав доступа для редактирования записи о характеристике объекте недвижимости или заявки:
procedure TDM.dstRealtySpecificBeforeEdit(DataSet: TDataSet);
begin
if (fmLogin.UserID <> 0) and (DataSet.DataSource.DataSet.FieldByName('РиэлторID').AsInteger <> fmLogin.UserID) then
begin
Application.MessageBox(PChar('Редактирование записи доступно только для пользователя ' +
DataSet.DataSource.DataSet.FieldByName('Риэлтор').AsString + ' и руководителя!'), 'Доступ запрещен', MB_OK + MB_ICONWARNING);
Abort;
end;
end;
//Определение прав доступа для удаления записи о характеристике объекте недвижимости или заявки:
procedure TDM.dstRealtySpecificBeforeDelete(DataSet: TDataSet);
begin
if (fmLogin.UserID <> 0) and (DataSet.DataSource.DataSet.FieldByName('РиэлторID').AsInteger <> fmLogin.UserID) then
begin
Application.MessageBox(PChar('Редактирование записи доступно только для пользователя ' +
DataSet.DataSource.DataSet.FieldByName('Риэлтор').AsString + ' и руководителя!'), 'Доступ запрещен', MB_OK + MB_ICONWARNING);
Abort;
end;
end;
end.
Программный модуль uDocs.pas
unit uDocs;
//Формирование отчетов и выходных документов
interface
uses
Windows, SysUtils, Classes, ComObj, DB, Controls, Forms, ADODB, Math, DBGrids;
procedure DocAuto (ADBGrid: TDBGrid; NumCol: Integer; ACaption: string);
procedure DocCardRealty;
procedure DocCardRequest;
procedure DocContract;
procedure DocRent;
procedure DocAd;
implementation
uses
uDM, DateUtils, Dialogs, uSumToStr, uCard;
//Формирование отчета для любого набора данных, к которому привязан DBGrid.
//В отчет выводится NumCol первых столбцов DBGrid:
procedure DocAuto (ADBGrid: TDBGrid; NumCol: Integer; ACaption: string);
var
Excel: Variant;
i, j, Width: Integer;
begin
Excel := CreateOleObject('Excel.Application');
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |


