Repaso de general de contactos

git-svn-id: https://192.168.0.254/svn/Proyectos.Noviseda_FactuGES2/trunk@8 f33bb606-9f5c-448d-9c99-757f00063c96
This commit is contained in:
roberto 2009-12-18 18:19:08 +00:00
parent 263266902c
commit ea2993a443
20 changed files with 4210 additions and 0 deletions

View File

@ -0,0 +1,104 @@
unit uCIFNIFUtils;
interface
function EsCif(Cif : String) : Boolean;
implementation
uses
SysUtils;
function Letra(Numero: Integer): string;
begin
Result:= copy('TRWAGMYFPDXBNJZSQVHLCKET',1 + numero mod 23,1);
end;
function EsNif(NIF: String): Boolean;
var
Numero: Integer;
begin
Result:= FALSE;
if TryStrToInt(Copy(NIF,1,Length(NIF)-1),Numero) then
Result:= Uppercase(Copy(NIF,Length(NIF),1)) = Letra(Numero);
end;
function EsNumero(Num: Char): Boolean;
begin
try
StrToInt(Num);
Result:=True;
Except
result:=False;
end;
end;
{Cambiar un carácter por otro en una cadena.}
function CadCambioCar(Cadena, CarOrig, CarCambio : String) : String;
var
i : Integer;
Temp : String;
begin
Temp := '';
for i := 1 to Length(Cadena) do
if Copy(Cadena, i, 1) = CarOrig then
Temp := Temp + CarCambio
else
Temp := Temp + Copy(Cadena, i, 1);
Result := Temp;
end;
{ Validar si un CIF introducido es correcto}
function EsCif(Cif : String) : Boolean;
var
Suma, Control : Integer;
n : Byte;
begin
Result := False;
{Se pasa todo a mayúsculas limpio de espacios y de caracteres especiales}
Cif := UpperCase(Trim(Cif));
{Se limpia de los caracteres '-' y '/'. }
Cif := CadCambioCar(Cif,'-','');
Cif := CadCambioCar(Cif,'/','');
{El cif debe ser de 9 cifras}
if Length(Cif) = 9 then
begin
{Comprobamos que sea un NIF}
if EsNumero(Cif[1]) then
Result := EsNif(Cif)
else
{Se comprueba que la letra que designa el tipo de cif sea correcta}
if (Pos(Cif[1], 'ABCDEFGHPQSKLMX') = 0) then
Result := False
else
{Se comprueba si es un extranjero, en ese caso se calcula el nif, cambiando la X, por 0}
if Cif[1] = 'X' then
Result := EsNif('0'+Copy(Cif,2,8))
else
begin
Suma:= StrToInt(Cif[3])+StrToInt(Cif[5])+StrToInt(Cif[7]);
for n := 1 to 4 do
Suma := Suma + ((2*StrToInt(Cif[2*n])) mod 10)+((2*StrToInt(Cif[2*n])) div 10);
Control := 10 - (Suma mod 10);
{Se comprueba si es de tipo 'P' o 'S', es decir, Corporaciones Locales (Ayuntamientos, etc.)
y Organismos públicos.}
if Pos(Cif[1],'PS')<>0 then
{Control tipo letra}
Result := (Cif[9] = Chr(64+Control))
else
{Resto de tipos de CIF}
begin
{Control tipo número}
if Control = 10 then
Control := 0;
Result:= ( StrToInt(Cif[9]) = Control);
end;
end;
end;
end;
end.

View File

@ -0,0 +1,297 @@
unit uGridUtils;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel,
cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxGrid,
uDBSelectionListUtils;
type
TRecordInfo = class
KeyValues: Variant;
ALevel: Integer;
end;
TRecordInfos = class(TList)
private
function GetItem(Index: Integer): TRecordInfo;
protected
procedure Notify(Ptr: Pointer; Action: TListNotification); override;
public
property Items[Index: Integer]: TRecordInfo read GetItem; Default;
end;
TcxGridStatus = class
protected
GroupRecords: TRecordInfos;
SelectedRecords: TRecordInfos;
SelStartItem: Integer;
SelEndItem: Integer;
AFocusedRow: TRecordInfo;
TopRow: TRecordInfo;
function SaveRecord(AView: TcxGridDBTableView; GridRecord:
TcxCustomGridRecord): TRecordInfo;
function FindRecordEx(AView: TcxGridDBTableView; RecordInfo:
TRecordInfo): TcxCustomGridRecord;
procedure SaveGridViewSelection(AView: TcxGridDBTableView);
procedure LoadGridViewSelection(AView: TcxGridDBTableView);
procedure SaveGridViewTopFocusedRecords(AView: TcxGridDBTableView);
procedure LoadGridViewTopFocusedRecords(AView: TcxGridDBTableView);
procedure SaveGridViewExpanded(AView: TcxGridDBTableView);
procedure LoadGridViewExpanded(AView: TcxGridDBTableView);
public
constructor Create(AGridView: TcxGridDBTableView);
destructor Destroy; override;
procedure Restore(AGridView: TcxGridDBTableView);
end;
procedure SeleccionarFilasDesdeGrid(const AView : TcxGridDBTableView;
ASelectedRowList : TSelectedRecords);
implementation
uses
uDADataTable, uDAInterfaces, cxVariants;
procedure TRecordInfos.Notify(Ptr: Pointer; Action: TListNotification);
begin
if Action in [lnExtracted, lnDeleted] then
FreeAndNil(TRecordInfo(Ptr));
end;
function TRecordInfos.GetItem(Index: Integer): TRecordInfo;
begin
Result := TRecordInfo(inherited Items[Index]);
end;
function TcxGridStatus.SaveRecord(AView: TcxGridDBTableView;
GridRecord: TcxCustomGridRecord): TRecordInfo;
begin
Result := TRecordInfo.Create;
Result.KeyValues :=
AView.DataController.GetRecordId(GridRecord.RecordIndex);
Result.ALevel := GridRecord.Level;
end;
function TcxGridStatus.FindRecordEx(AView: TcxGridDBTableView; RecordInfo:
TRecordInfo): TcxCustomGridRecord;
var
I, ARecordIndex: Integer;
AList: TList;
AKeyValue: Variant;
begin
I := 0;
ARecordIndex := AView.DataController.FindRecordIndexByKey(RecordInfo.KeyValues);
Result := nil;
AList := TList.Create;
try
while I < AView.ViewData.RowCount do
begin
if AView.ViewData.Rows[I] is TcxGridGroupRow then
begin
AList.Clear;
AView.DataController.Groups.LoadRecordIndexesByRowIndex(AList, I);
if AList.IndexOf(Pointer(ARecordIndex)) <> -1 then
begin
if AView.ViewData.Rows[I].Level < RecordInfo.ALevel then
AView.ViewData.Rows[I].Expand(False)
else
begin
Result := AView.ViewData.Rows[I];
Break;
end;
end;
end
else
begin
AKeyValue := AView.DataController.GetRecordId(AView.ViewData.Rows[I].RecordIndex);
if VarEquals(AKeyValue, RecordInfo.KeyValues) then
begin
Result := AView.ViewData.Rows[I];
Break;
end;
end;
Inc(I);
end;
finally
FreeAndNil(AList);
end;
end;
procedure TcxGridStatus.SaveGridViewSelection(
AView: TcxGridDBTableView);
var
i: Integer;
SelectRecordInfo: TRecordInfo;
begin
with AView.DataController, AView.Controller do
begin
for i := 0 To SelectedRecordCount - 1 do
begin
SelectRecordInfo := SaveRecord(AView, SelectedRecords[i]);
Self.SelectedRecords.Add(SelectRecordInfo);
end;
if SelectedColumnCount = 0 then
begin
SelStartItem := -1;
SelEndItem := -1;
end
else
begin
SelStartItem := SelectedColumns[0].Index;
SelEndItem := SelectedColumns[SelectedColumnCount - 1].Index;
end;
end;
end;
procedure TcxGridStatus.LoadGridViewSelection(
AView: TcxGridDBTableView);
var
i: Integer;
ARecord: TcxCustomGridRecord;
begin
AView.Controller.ClearSelection;
for i := 0 To SelectedRecords.Count - 1 do
begin
ARecord := FindRecordEx(AView, SelectedRecords[i]);
if Assigned(ARecord) then
ARecord.Selected := True;
end;
if SelStartItem <> -1 then
AView.Controller.SelectColumns(AView.Columns[SelStartItem],
AView.Columns[SelEndItem]);
end;
procedure TcxGridStatus.SaveGridViewTopFocusedRecords(AView: TcxGridDBTableView);
begin
if AView.Controller.FocusedRow = nil then
AFocusedRow := nil
else
AFocusedRow := SaveRecord(AView, AView.Controller.FocusedRow);
TopRow := nil;
if (AView.Controller.TopRowIndex <> -1) and
(AView.Controller.TopRowIndex < AView.ViewData.RecordCount) then
TopRow := SaveRecord(AView, AView.ViewData.Records[AView.Controller.TopRowIndex]);
end;
procedure TcxGridStatus.LoadGridViewTopFocusedRecords(AView: TcxGridDBTableView);
var
ARecord: TcxCustomGridRecord;
begin
ARecord := FindRecordEx(AView, AFocusedRow);
if Assigned(ARecord) then
ARecord.Focused := True;
ARecord := FindRecordEx(AView, TopRow);
if Assigned(ARecord) then
AView.Controller.TopRowIndex := ARecord.Index;
end;
type
TcxDataControllerGroupsAccess = class(TcxDataControllerGroups);
TcxDataGroupsAccess = class(TcxDataGroups);
procedure TcxGridStatus.SaveGridViewExpanded(
AView: TcxGridDBTableView);
var
i: Integer;
GroupRecordInfo: TRecordInfo;
begin
for i := 0 To AView.DataController.RowCount - 1 do
with AView.ViewData.Records[i] do
if Expanded then
begin
GroupRecordInfo := SaveRecord(AView, AView.ViewData.Records[i]);
GroupRecords.Add(GroupRecordInfo);
end;
end;
procedure TcxGridStatus.LoadGridViewExpanded(
AView: TcxGridDBTableView);
var
i: Integer;
ARecord: TcxCustomGridRecord;
begin
for i := 0 to GroupRecords.Count - 1 do
begin
ARecord := FindRecordEx(AView, GroupRecords[i]);
if Assigned(ARecord) then
ARecord.Expand(False);
end;
end;
constructor TcxGridStatus.Create(AGridView: TcxGridDBTableView);
begin
inherited Create;
GroupRecords := TRecordInfos.Create;
SelectedRecords := TRecordInfos.Create;
SaveGridViewSelection(AGridView);
SaveGridViewExpanded(AGridView);
SaveGridViewTopFocusedRecords(AGridView);
end;
destructor TcxGridStatus.Destroy;
begin
FreeAndNil(GroupRecords);
FreeAndNil(SelectedRecords);
inherited;
end;
procedure TcxGridStatus.Restore(AGridView: TcxGridDBTableView);
begin
SendMessage(AGridView.Site.Handle, WM_SETREDRAW, 0, 0);
try
AGridView.ViewData.Collapse(True);
LoadGridViewExpanded(AGridView);
LoadGridViewSelection(AGridView);
LoadGridViewTopFocusedRecords(AGridView);
finally
SendMessage(AGridView.Site.Handle, WM_SETREDRAW, 1, 0);
RedrawWindow(AGridView.Site.Handle, Nil, 0, RDW_FRAME Or RDW_NOFRAME Or
RDW_ALLCHILDREN Or RDW_INVALIDATE);
end;
end;
procedure SeleccionarFilasDesdeGrid(const AView : TcxGridDBTableView;
ASelectedRowList : TSelectedRecords);
var
ARecord: TcxCustomGridRecord;
i : Integer;
AGridStatus : TcxGridStatus;
begin
if not Assigned(AView) then
raise Exception.Create('No hay vista asignada (SeleccionarFilasDesdeGrid)');
ShowHourglassCursor;
AGridStatus := TcxGridStatus.Create(AView);
AView.BeginUpdate;
try
ASelectedRowList.Clear;
for i := 0 to TcxCustomGridTableController(AView.Controller).SelectedRecordCount - 1 do
begin
ARecord := TcxCustomGridTableController(AView.Controller).SelectedRecords[i];
if (ARecord is TcxGridDataRow) then
begin
(ARecord as TcxGridDataRow).Focused := True;
ASelectedRowList.CurrentRowSelected := True;
end;
end;
finally
AView.EndUpdate;
AGridStatus.Restore(AView);
HideHourglassCursor;
end;
end;
end.

View File

@ -0,0 +1,16 @@
unit uIEditorElegirVendedores;
interface
uses
uIEditorContactos, uIEditorElegirContactos, uBizContactos, uGUIBase;
type
IEditorElegirVendedores = interface(IEditorElegirContactos)
['{1CBDF31A-A9C5-43FB-B7D4-09148E0BD071}']
end;
implementation
end.

View File

@ -0,0 +1,16 @@
unit uIEditorVendedor;
interface
uses
uIEditorContacto;
type
IEditorVendedor = interface(IEditorContacto)
['{DB41E4F5-1D48-4B13-8370-5D3FEB0586C0}']
end;
implementation
end.

View File

@ -0,0 +1,16 @@
unit uIEditorVendedores;
interface
uses
uIEditorContactos, uBizContactos, uGUIBase;
type
IEditorVendedores = interface(IEditorContactos)
['{982A8AC8-5D43-4C91-9E46-35326CD65C2F}']
end;
implementation
end.

View File

@ -0,0 +1,266 @@
unit uVendedoresController;
interface
uses
Classes, uCustomEditor,
uContactosController, uBizContactos,
uIEditorVendedores, uIEditorVendedor, uIDataModuleContactos, uIDataModuleVendedores;
const
CTE_VENDEDOR = 'Vendedor';
type
IVendedoresController = interface(IContactosController)
['{A3841871-7EF6-4847-9758-EA2B1C521D4A}']
function EsEliminable(AVendedor: IBizContacto): Boolean;
function Eliminar(AVendedor: IBizContacto; AllItems: Boolean = false): Boolean; overload;
function DarListaVendedores : TStringList;
function BuscarTodos: IBizContacto; overload;
function BuscarTodos(const CadenaIDs: String): IBizContacto; overload;
end;
TVendedoresController = class(TContactosController, IVendedoresController)
public
constructor Create; override;
function Duplicar(AContacto: IBizContacto): IBizContacto; override;
function Buscar(const ID: Integer): IBizContacto; override;
function BuscarTodos: IBizContacto; overload; override;
function BuscarTodos(const CadenaIDs: String): IBizContacto; overload;
function Nuevo : IBizContacto; override;
procedure Ver(AContacto : IBizContacto); override;
procedure VerTodos(AContactos: IBizContacto); override;
function ElegirContacto(AContactos : IBizContacto;
AMensaje: String; AMultiSelect: Boolean): IBizContacto; override;
function DarListaVendedores : TStringList;
function Eliminar(AVendedor: IBizContacto; AllItems: Boolean = false): Boolean; overload;
function EsEliminable(AVendedor: IBizContacto): Boolean;
end;
implementation
uses
Windows, SysUtils, Controls, cxControls, Dialogs, uDataModuleVendedores, uEditorRegistryUtils,
uDataTableUtils, uDADataTable, DB, schContactosClient_Intf,
uEditorGridBase, uDAInterfaces, uIEditorElegirVendedores;
{ TVendedorController }
function TVendedoresController.Buscar(const ID: Integer): IBizContacto;
begin
Result := (FDataModule as IDataModuleVendedores).GetItem(ID);
FiltrarEmpresa(Result);
end;
function TVendedoresController.BuscarTodos: IBizContacto;
begin
Result := (FDataModule as IDataModuleVendedores).GetItems;
FiltrarEmpresa(Result);
end;
function TVendedoresController.BuscarTodos(const CadenaIDs: String): IBizContacto;
var
Cadena : TStringList;
Condicion: TDAWhereExpression;
i: Integer;
begin
ShowHourglassCursor;
try
Result := BuscarTodos;
if (Length(CadenaIDs) > 0) then
begin
Cadena := TStringList.Create;
Cadena.CommaText := CadenaIDs;
//Vamos generando todas las where de cada uno de los ID recibidos
for i := 0 to Cadena.Count - 1 do
with Result.DataTable.DynamicWhere do
begin
//Todas aquellos vendedores que no esten asociados a la liquidación actual
Condicion := NewBinaryExpression(NewField('', fld_VendedoresID), NewConstant(StrToInt(Cadena.Strings[i]), datInteger), dboNotEqual);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
Cadena.Free;
end;
finally
HideHourglassCursor;
end;
end;
constructor TVendedoresController.Create;
begin
inherited;
FDataModule := TDataModuleVendedores.Create(Nil);
end;
function TVendedoresController.DarListaVendedores: TStringList;
var
AVendedores: IBizContacto;
begin
AVendedores := BuscarTodos;
AVendedores.DataTable.Active := True;
Result := TStringList.Create;
try
with Result do
begin
AVendedores.DataTable.First;
while not AVendedores.DataTable.EOF do
begin
Add(Format('%s=%d', [AVendedores.NOMBRE, AVendedores.ID]));
AVendedores.DataTable.Next;
end;
end;
finally
AVendedores := NIL;
end;
end;
function TVendedoresController.Duplicar(AContacto: IBizContacto): IBizContacto;
begin
Result := inherited Duplicar(AContacto);
end;
function TVendedoresController.ElegirContacto(AContactos: IBizContacto;
AMensaje: String; AMultiSelect: Boolean): IBizContacto;
var
AEditor : IEditorElegirVendedores;
begin
Result := NIL;
CreateEditor('EditorElegirVendedores', IEditorElegirVendedores, AEditor);
if Assigned(AEditor) then
try
AEditor.Contactos := AContactos;
AEditor.Controller := Self;
AEditor.MultiSelect := AMultiSelect;
AEditor.Mensaje := AMensaje;
if IsPositiveResult(AEditor.ShowModal) then
Result := AEditor.ContactosSeleccionados;
finally
AEditor.Release;
AEditor := NIL;
end;
end;
function TVendedoresController.Eliminar(AVendedor: IBizContacto; AllItems: Boolean = false): Boolean;
//En el caso de eliminar almenos un elemento del conjunto se devuelve true
var
bEliminado: Boolean;
begin
bEliminado := False;
if not Assigned(AVendedor) then
raise Exception.Create ('Contacto no asignado');
ShowHourglassCursor;
try
if not AVendedor.DataTable.Active then
AVendedor.DataTable.Active := True;
if (AVendedor.State in dsEditModes) then
AVendedor.Cancel;
//Siempre eliminaremos el seleccionado
if EsEliminable(AVendedor) then
begin
AVendedor.Delete;
bEliminado := True;
end;
//En el caso de querer eliminar todos los items del objeto AVendedor
if AllItems then
begin
with AVendedor.DataTable do
begin
First;
while not EOF do
begin
if EsEliminable(AVendedor) then
begin
AVendedor.Delete;
bEliminado := True
end
else Next;
end;
end;
end;
if bEliminado then
begin
AVendedor.DataTable.ApplyUpdates;
Result := True;
end
else
Result := False;
finally
HideHourglassCursor;
end;
end;
function TVendedoresController.EsEliminable(AVendedor: IBizContacto): Boolean;
begin
if not Assigned(AVendedor) then
raise Exception.Create ('Contacto no asignado: EsEliminable');
Result := True;
end;
function TVendedoresController.Nuevo: IBizContacto;
var
AContacto : IBizVendedor;
begin
AContacto := (FDataModule as IDataModuleVendedores).NewItem;
FiltrarEmpresa(AContacto);
AContacto.DataTable.Active := True;
AContacto.Insert;
Result := AContacto;
end;
procedure TVendedoresController.Ver(AContacto: IBizContacto);
var
AEditor : IEditorVendedor;
begin
AEditor := NIL;
CreateEditor('EditorVendedor', IEditorVendedor, AEditor);
if Assigned(AEditor) then
try
AEditor.Contacto := AContacto;
AEditor.Controller := Self;
AEditor.ShowModal;
finally
AEditor.Release;
AEditor := NIL;
end;
end;
procedure TVendedoresController.VerTodos(AContactos: IBizContacto);
var
AEditor : IEditorVendedores;
begin
AEditor := NIL;
CreateEditor('EditorVendedores', IEditorVendedores, AEditor);
if Assigned(AEditor) then
with AEditor do
begin
Contactos := AContactos;
Controller := Self;
MultiSelect := True;
ShowEmbedded;
end;
end;
end.

View File

@ -0,0 +1,194 @@
inherited DataModuleVendedores: TDataModuleVendedores
inherited ds_Contactos: TDADataSource
DataSet = tbl_Contactos.Dataset
end
inherited ds_DireccionesContacto: TDADataSource
DataSet = tbl_DireccionesContacto.Dataset
end
inherited ds_DatosBancarios: TDADataSource
DataSet = tbl_DatosBancarios.Dataset
end
inherited ds_PersonalContacto: TDADataSource
DataSet = tbl_PersonalContacto.Dataset
end
object tbl_Vendedores: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datAutoInc
GeneratorName = 'GEN_CONTACTOS_ID'
ServerAutoRefresh = True
DictionaryEntry = 'Vendedores_ID'
InPrimaryKey = True
end
item
Name = 'ID_CATEGORIA'
DataType = datInteger
DisplayLabel = 'Vendedores_ID_CATEGORIA'
DictionaryEntry = 'Vendedores_ID_CATEGORIA'
end
item
Name = 'NIF_CIF'
DataType = datString
Size = 15
DisplayLabel = 'NIF/CIF'
DictionaryEntry = 'Vendedores_NIF_CIF'
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
DisplayLabel = 'Nombre'
DictionaryEntry = 'Vendedores_NOMBRE'
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
Size = 255
DisplayLabel = 'Persona de contacto'
DictionaryEntry = 'Vendedores_PERSONA_CONTACTO'
end
item
Name = 'CALLE'
DataType = datString
Size = 255
DisplayLabel = 'Calle'
DictionaryEntry = 'Vendedores_CALLE'
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
DisplayLabel = 'Poblaci'#243'n'
DictionaryEntry = 'Vendedores_POBLACION'
end
item
Name = 'PROVINCIA'
DataType = datString
Size = 255
DisplayLabel = 'Provincia'
DictionaryEntry = 'Vendedores_PROVINCIA'
end
item
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
DisplayLabel = 'C'#243'digo postal'
DictionaryEntry = 'Vendedores_CODIGO_POSTAL'
end
item
Name = 'TELEFONO_1'
DataType = datString
Size = 25
DisplayLabel = 'Tlf. trabajo'
DictionaryEntry = 'Vendedores_TELEFONO_1'
end
item
Name = 'TELEFONO_2'
DataType = datString
Size = 25
DisplayLabel = 'Tlf. particular'
DictionaryEntry = 'Vendedores_TELEFONO_2'
end
item
Name = 'MOVIL_1'
DataType = datString
Size = 25
DisplayLabel = 'M'#243'vil'
DictionaryEntry = 'Vendedores_MOVIL_1'
end
item
Name = 'MOVIL_2'
DataType = datString
Size = 25
DisplayLabel = 'Vendedores_MOVIL_2'
DictionaryEntry = 'Vendedores_MOVIL_2'
end
item
Name = 'FAX'
DataType = datString
Size = 25
DisplayLabel = 'Fax'
DictionaryEntry = 'Vendedores_FAX'
end
item
Name = 'EMAIL_1'
DataType = datString
Size = 255
DisplayLabel = 'E-mail trabajo'
DictionaryEntry = 'Vendedores_EMAIL_1'
end
item
Name = 'EMAIL_2'
DataType = datString
Size = 255
DisplayLabel = 'E-mail particular'
DictionaryEntry = 'Vendedores_EMAIL_2'
end
item
Name = 'PAGINA_WEB'
DataType = datString
Size = 255
DisplayLabel = 'Web'
DictionaryEntry = 'Vendedores_PAGINA_WEB'
end
item
Name = 'NOTAS'
DataType = datMemo
DisplayLabel = 'Observaciones'
end
item
Name = 'FECHA_ALTA'
DataType = datDateTime
DisplayLabel = 'Vendedores_FECHA_ALTA'
DictionaryEntry = 'Vendedores_FECHA_ALTA'
end
item
Name = 'FECHA_MODIFICACION'
DataType = datDateTime
DisplayLabel = 'Vendedores_FECHA_MODIFICACION'
DictionaryEntry = 'Vendedores_FECHA_MODIFICACION'
end
item
Name = 'USUARIO'
DataType = datString
Size = 30
DisplayLabel = 'Vendedores_USUARIO'
DictionaryEntry = 'Vendedores_USUARIO'
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
DisplayLabel = 'Vendedores_ID_EMPRESA'
DictionaryEntry = 'Vendedores_ID_EMPRESA'
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
DisplayLabel = 'Referencia'
ServerAutoRefresh = True
DictionaryEntry = 'Vendedores_REFERENCIA'
end
item
Name = 'COMISION'
DataType = datCurrency
DisplayLabel = 'Vendedores_COMISION'
DictionaryEntry = 'Vendedores_COMISION'
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_Contactos
LogicalName = 'Vendedores'
IndexDefs = <>
Left = 392
Top = 208
end
object ds_Vendedores: TDADataSource
DataSet = tbl_Vendedores.Dataset
DataTable = tbl_Vendedores
Left = 392
Top = 152
end
end

View File

@ -0,0 +1,83 @@
unit uDataModuleVendedores;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uDataModuleContactos, DB, uDADataTable, uDAScriptingProvider,
uDACDSDataTable, uDABINAdapter, uRORemoteService,
uROClient, uROBinMessage, uROWinInetHttpChannel, uROTypes,
uIDataModuleVendedores, uBizContactos, uDADesigntimeCall,
uDAInterfaces, uDAMemDataTable, uDADataStreamer, uDABin2DataStreamer,
uDARemoteDataAdapter;
type
TDataModuleVendedores = class(TDataModuleContactos, IDataModuleVendedores)
tbl_Vendedores: TDAMemDataTable;
ds_Vendedores: TDADataSource;
public
function GetItem(const ID : Integer) : IBizVendedor;
function NewItem : IBizVendedor;
function GetItems : IBizVendedor;
end;
implementation
{$R *.dfm}
uses
FactuGES_Intf, cxControls, schContactosClient_Intf, uDataTableUtils;
{ TDataModuleVendedores }
function TDataModuleVendedores.GetItem(const ID: Integer): IBizVendedor;
var
Condicion: TDAWhereExpression;
begin
ShowHourglassCursor;
try
Result := Self.GetItems;
with Result.DataTable.DynamicWhere do
begin
// (ID = :ID)
Condicion := NewBinaryExpression(NewField('', fld_ContactosID), NewConstant(ID, datInteger), dboEqual);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
finally
HideHourglassCursor;
end;
end;
function TDataModuleVendedores.GetItems: IBizVendedor;
var
AContacto : TDAMemDataTable;
begin
ShowHourglassCursor;
try
AContacto := CloneDataTable(tbl_Vendedores);
AContacto.BusinessRulesID := BIZ_CLIENT_VENDEDOR;
with TBizVendedor(AContacto.BusinessEventsObj) do
begin
DatosBancarios := _GetDatosBancarios;
end;
Result := (AContacto as IBizVendedor);
finally
HideHourglassCursor;
end;
end;
function TDataModuleVendedores.NewItem: IBizVendedor;
begin
Result := GetItem(ID_NULO)
end;
end.

View File

@ -0,0 +1,19 @@
unit uIDataModuleVendedores;
interface
uses
uBizContactos, uIDataModuleContactos;
type
IDataModuleVendedores = interface(IDataModuleContactos)
['{42FF228B-C69F-4D45-9E86-A8135D0DB981}']
function GetItem(const ID : Integer) : IBizVendedor;
function NewItem : IBizVendedor;
function GetItems : IBizVendedor;
end;
implementation
end.

View File

@ -0,0 +1,118 @@
unit uBizVendedoresServer;
interface
uses
schContactosServer_Intf, uDAInterfaces, uDADelta,
uDADataTable, uDABusinessProcessor, uBizContactosServer;
const
BIZ_SERVER_VENDEDOR = 'Server.Vendedor';
type
TBizVendedorServer = class(TBizContactosServer)
protected
function DarReferenciaContacto : String; override;
function IncrementarReferenciaContacto : Boolean; override;
procedure Insert_Datos_Contacto(aChange: TDADeltaChange); override;
procedure Update_Datos_Contacto(aChange: TDADeltaChange); override;
procedure Delete_Datos_Contacto(aChange: TDADeltaChange); override;
end;
implementation
uses
uDataModuleServer, uDAClasses,
schContactosClient_Intf, uBusinessUtils;
const
REF_VENDEDORES = 'REF_VENDEDORES';
{ TBizVendedorServer }
function TBizVendedorServer.DarReferenciaContacto: String;
begin
Result := _DarReferenciaInterna(REF_VENDEDORES);
end;
procedure TBizVendedorServer.Delete_Datos_Contacto(aChange: TDADeltaChange);
var
ASchema : TDASchema;
ACurrentConn : IDAConnection;
ACommand : IDASQLCommand;
begin
inherited;
ASchema := BusinessProcessor.Schema;
ACurrentConn := GetBusinessProcessorConnection(BusinessProcessor);
ACommand := ASchema.NewCommand(ACurrentConn, 'Delete_VendedoresDatos');
try
with ACommand do
begin
ParamByName('OLD_ID_VENDEDOR').Value := aChange.OldValueByName[fld_VendedoresID];
Execute;
end;
finally
ACommand := NIL;
end;
end;
function TBizVendedorServer.IncrementarReferenciaContacto: Boolean;
begin
Result := _IncrementarReferenciaInterna(REF_VENDEDORES)
end;
procedure TBizVendedorServer.Insert_Datos_Contacto(aChange: TDADeltaChange);
var
ASchema : TDASchema;
ACurrentConn : IDAConnection;
ACommand : IDASQLCommand;
begin
inherited;
ASchema := BusinessProcessor.Schema;
ACurrentConn := GetBusinessProcessorConnection(BusinessProcessor);
ACommand := ASchema.NewCommand(ACurrentConn, 'Insert_VendedoresDatos');
try
with ACommand do
begin
ParamByName('ID_VENDEDOR').Value := aChange.NewValueByName[fld_VendedoresID];
ParamByName('COMISION').Value := aChange.NewValueByName[fld_VendedoresCOMISION];
Execute;
end;
finally
ACommand := NIL;
end;
end;
procedure TBizVendedorServer.Update_Datos_Contacto(aChange: TDADeltaChange);
var
ASchema : TDASchema;
ACurrentConn : IDAConnection;
ACommand : IDASQLCommand;
begin
inherited;
ASchema := BusinessProcessor.Schema;
ACurrentConn := GetBusinessProcessorConnection(BusinessProcessor);
ACommand := ASchema.NewCommand(ACurrentConn, 'Update_VendedoresDatos');
try
with ACommand do
begin
ParamByName('OLD_ID_VENDEDOR').Value := aChange.OldValueByName[fld_VendedoresID];
ParamByName('COMISION').Value := aChange.NewValueByName[fld_VendedoresCOMISION];
Execute;
end;
finally
ACommand := NIL;
end;
end;
initialization
RegisterBusinessProcessorRules(BIZ_SERVER_VENDEDOR, TBizVendedorServer);
end.

View File

@ -0,0 +1,227 @@
inherited fEditorElegirVendedores: TfEditorElegirVendedores
Caption = 'fEditorElegirVendedores'
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
Top = 64
end
inherited TBXDock: TTBXDock
Top = 91
inherited tbxMain: TTBXToolbar
ExplicitWidth = 427
inherited TBXItem2: TTBXItem
Images = frViewVendedores1.PngImageList
end
end
end
inherited frViewVendedores1: TfrViewVendedores
Top = 166
Height = 223
ExplicitHeight = 287
inherited cxGrid: TcxGrid
Height = 95
ExplicitHeight = 159
inherited cxGridView: TcxGridDBTableView
DataController.Summary.FooterSummaryItems = <
item
Format = '0 vendedores'
Kind = skCount
FieldName = 'ID'
Column = frViewVendedores1.cxGridViewNIF_CIF
end>
end
end
inherited frViewFiltroBase1: TfrViewFiltroBase
inherited TBXDockablePanel1: TTBXDockablePanel
inherited dxLayoutControl1: TdxLayoutControl
inherited txtFiltroTodo: TcxTextEdit
ExplicitWidth = 273
Width = 273
end
inherited edtFechaIniFiltro: TcxDateEdit
ExplicitWidth = 121
Width = 121
end
inherited edtFechaFinFiltro: TcxDateEdit
ExplicitWidth = 201
Width = 201
end
end
end
inherited ActionList1: TActionList
inherited actQuitarFiltro: TAction
OnExecute = nil
end
end
end
inherited pnlAgrupaciones: TTBXDockablePanel
Top = 197
ExplicitTop = 261
end
inherited dxComponentPrinter: TdxComponentPrinter
inherited dxComponentPrinterLink: TdxGridReportLink
BuiltInReportLink = True
end
end
inherited cxViewGridPopupMenu: TcxGridPopupMenu
PopupMenus = <
item
GridView = frViewVendedores1.cxGridView
HitTypes = [gvhtCell]
Index = 0
end>
end
end
inline frViewBarraSeleccion1: TfrViewBarraSeleccion [4]
Left = 0
Top = 389
Width = 786
Height = 36
Align = alBottom
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 4
ReadOnly = False
ExplicitTop = 389
ExplicitWidth = 786
ExplicitHeight = 36
inherited JvFooter1: TJvFooter
Width = 786
Height = 36
Align = alBottom
ExplicitWidth = 786
ExplicitHeight = 36
inherited bSeleccionar: TJvFooterBtn
Left = 574
Top = 3
ModalResult = 0
ExplicitLeft = 471
ExplicitTop = 3
end
inherited bCancelar: TJvFooterBtn
Left = 678
Top = 4
ExplicitLeft = 678
ExplicitTop = 4
end
end
inherited BarraSeleccionActionList: TActionList
inherited actSeleccionar: TAction
OnExecute = frViewBarraSeleccion1actSeleccionarExecute
OnUpdate = frViewBarraSeleccion1actSeleccionarUpdate
end
inherited actCancelar: TAction
OnExecute = frViewBarraSeleccion1actCancelarExecute
end
end
end
object pnlHeader: TPanel [5]
Left = 0
Top = 0
Width = 786
Height = 64
Align = alTop
BevelOuter = bvNone
Color = clWhite
Padding.Left = 25
Padding.Top = 8
Padding.Right = 25
Padding.Bottom = 8
ParentBackground = False
TabOrder = 5
ExplicitTop = -37
object lblTitle: TLabel
AlignWithMargins = True
Left = 25
Top = 8
Width = 736
Height = 13
Margins.Left = 0
Margins.Top = 0
Margins.Right = 0
Margins.Bottom = 8
Align = alTop
Caption = 'Seleccione el vendedor'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
ParentFont = False
ExplicitWidth = 130
end
object lblComments: TLabel
AlignWithMargins = True
Left = 50
Top = 29
Width = 711
Height = 27
Margins.Left = 25
Margins.Top = 0
Margins.Right = 0
Align = alClient
ExplicitWidth = 3
ExplicitHeight = 13
end
end
inherited EditorActionList: TActionList [6]
inherited actNuevo: TAction
Visible = False
end
inherited actModificar: TAction
Visible = False
end
inherited actEliminar: TAction
Visible = False
end
inherited actRefrescar: TAction
Visible = False
end
inherited actDuplicar: TAction
Visible = False
end
end
inherited SmallImages: TPngImageList [7]
end
inherited LargeImages: TPngImageList [8]
end
inherited JvFormStorage: TJvFormStorage [9]
end
inherited JvAppRegistryStorage: TJvAppRegistryStorage [10]
end
inherited dsDataTable: TDADataSource [11]
end
inherited StatusBarImages: TPngImageList [12]
end
inherited GridPopupMenu: TPopupMenu [13]
end
inherited JsPrevisualizarDialog: TJSDialog [14]
end
object EditorSeleccionActionList: TActionList
Images = SmallImages
Left = 232
Top = 128
object actBuscar2: TAction
Category = 'Buscar'
Caption = 'Buscar'
ImageIndex = 10
ShortCut = 114
end
object actQuitarFiltro2: TAction
Category = 'Buscar'
Caption = 'Quitar filtro y ver todo'
ImageIndex = 19
OnExecute = actQuitarFiltro2Execute
end
object actAnchoAuto2: TAction
Category = 'Ver'
Caption = 'Ancho autom'#225'tico'
ImageIndex = 21
OnExecute = actAnchoAuto2Execute
end
end
end

View File

@ -0,0 +1,120 @@
unit uEditorElegirVendedores;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorVendedores, JSDialog, Menus, DB, uDAInterfaces, uDADataTable,
JvAppStorage, JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList,
PngImageList, StdActns, ActnList, uCustomView, uViewBase, uViewGridBase,
uViewGrid, uViewContactos, uViewVendedores, ComCtrls, JvExComCtrls,
uBizContactos, uIEditorElegirVendedores, uViewBarraSeleccion, JvStatusBar,
TBX, TB2ExtItems, TBXExtItems, TB2Item, TB2Dock, TB2Toolbar, pngimage,
ExtCtrls, JvExControls, JvNavigationPane, StdCtrls;
type
TfEditorElegirVendedores = class(TfEditorVendedores, IEditorElegirVendedores)
frViewBarraSeleccion1: TfrViewBarraSeleccion;
EditorSeleccionActionList: TActionList;
actBuscar2: TAction;
actQuitarFiltro2: TAction;
actAnchoAuto2: TAction;
pnlHeader: TPanel;
lblTitle: TLabel;
lblComments: TLabel;
procedure frViewBarraSeleccion1actSeleccionarUpdate(Sender: TObject);
procedure frViewBarraSeleccion1actCancelarExecute(Sender: TObject);
procedure actQuitarFiltro2Execute(Sender: TObject);
procedure actAnchoAuto2Execute(Sender: TObject);
procedure frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject);
protected
procedure SetMultiSelect (AValue : Boolean);
function GetMultiSelect : Boolean;
function GetContactosSeleccionados: IBizContacto;
procedure SetViewGrid(const Value: IViewGridBase); override;
procedure SetMensaje (const AValue: String);
function GetMensaje: String;
public
property Mensaje : String read GetMensaje write SetMensaje;
property ContactosSeleccionados: IBizContacto read GetContactosSeleccionados;
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
end;
implementation
{$R *.dfm}
uses cxControls, uDBSelectionListUtils, uGridUtils;
procedure TfEditorElegirVendedores.actAnchoAuto2Execute(Sender: TObject);
begin
inherited;
actAnchoAuto.Execute;
end;
procedure TfEditorElegirVendedores.actQuitarFiltro2Execute(Sender: TObject);
begin
inherited;
actQuitarFiltro.Execute;
end;
procedure TfEditorElegirVendedores.frViewBarraSeleccion1actCancelarExecute(Sender: TObject);
begin
inherited;
Close;
end;
procedure TfEditorElegirVendedores.frViewBarraSeleccion1actSeleccionarExecute(
Sender: TObject);
begin
inherited;
ModalResult := mrOk;
end;
procedure TfEditorElegirVendedores.frViewBarraSeleccion1actSeleccionarUpdate(
Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := (ViewGrid._FocusedView.Controller.SelectedRowCount > 0)
end;
function TfEditorElegirVendedores.GetContactosSeleccionados: IBizContacto;
begin
ShowHourglassCursor;
try
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Contactos as ISeleccionable).SelectedRecords);
// En Contactos.SelectedRecords tengo los ID de las filas seleccionadas del grid
Result := Controller.ExtraerSeleccionados(Contactos);
finally
HideHourglassCursor;
end;
end;
function TfEditorElegirVendedores.GetMensaje: String;
begin
Result := lblComments.Caption;
end;
function TfEditorElegirVendedores.GetMultiSelect: Boolean;
begin
Result := ViewGrid.MultiSelect;
end;
procedure TfEditorElegirVendedores.SetMensaje(const AValue: String);
begin
lblComments.Caption := AValue;
end;
procedure TfEditorElegirVendedores.SetMultiSelect(AValue: Boolean);
begin
ViewGrid.MultiSelect := AValue;
end;
procedure TfEditorElegirVendedores.SetViewGrid(const Value: IViewGridBase);
begin
inherited;
ViewGrid.OnDblClick := frViewBarraSeleccion1.actSeleccionar.OnExecute;
end;
end.

View File

@ -0,0 +1,889 @@
inherited fEditorVendedor: TfEditorVendedor
Caption = 'fEditorVendedor'
ClientHeight = 576
ClientWidth = 676
ExplicitWidth = 684
ExplicitHeight = 610
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
Width = 676
ExplicitWidth = 676
inherited Image1: TImage
Left = 649
Picture.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001800
0000180806000000E0773DF80000000970485973000017120000171201679FD2
520000000467414D410000AA11B57D14DC000003E54944415478DADD955D6C14
5514C7FF33B36D77D952281050902FCB8A74AB8D402DEDBA76B1A64896501142
B028A105DAB47C941A890A292D1FF2D1E00B06358527134D782A1F29840A4429
25D604B5A8444C7830354AA8752DDBD9D9D99DB9D77B6767A69D661FED0BB399
9C7B6736E777CEFF9C7347A094623C2FE1F100745CFF795C286B5E29106C00DB
180FF99E27450C6BAE09617B40D7990505D1A8F19E101D3AE196DAD6F82FBBDF
A8D987BEABED4E0077A60C0DE2D78BEDF8FD9B0EC8B28CA827170BCB5F4761C5
DB70B927994E4C8754B7D7945BE68007C1D7EBB6A60124D418EE7C7E1CA4F702
2231050F878731A8C431202B78B1AA162FBDD90C486E23729ED1D1F31969A5A9
0B0D61436DB3135019F2E36EF745F49FD90B414D201257F1AF40E19A96838107
0F31F0288EC6CFBAE07DD26F46CD65647270D9A899914EA1D1944C5575FB9D80
D565F9B87ABA1583D7BE404214214DCAC60CDF2C3CE39B8EC8DFFFE05CC74D84
6B0F604E4915AB8268383C71C99D36832DC108DEAA6F7102563140E7478DD086
EEC0E79F87291327C0EB11118BCAC81029AE7FFD0366966E832FB81144108D68
ADA272ED3592D2DECA64D38E5627201C5C84B30737635AE61F08BC5C00558E43
61FA27985C2E11E8EAFA0EF35EDB83FCE00626896076162F2A9765B473628037
EF3AE804AC0C3C8B530DAFB236BA8F70E5327833DC88C754482C7A5989E2CBB3
DD285AB71F4BC25B98448211A56E69CFB33023B7C0358D879C8015A50BF16973
0DEEF55C4645E83914E64F413291448224D17BBB1FB77AEE21DCF2318A8AD7B2
76E63520C64DCCF6E4B3414DB998C1D6A631808A121FFA6EF4E0A796D3C8F5C6
E1298940CA5531709F42E99D0C817890D7DE84F94FF8ED880F9CEC4C5BE4DDD5
E5A87DE7B013505EBC00DD4D9F60EAED3FA16851C4973F40CED22494CE89F0FE
32035474E16E2013853BAB91E3CE75E86D4F314D3DE33EEBDE3DE2042C5F9A87
1B45DB317942162455042D559053C0D4BE928DD85F2C0B68901F25F05B830F2B
D6541B83F6E1A9CB6933D8B92984FA3D479D80D0923C5C2BAA47B63B035EC105
9A4D206501AE6117D4A40E59D3580308F8FEA9382ACFB419DD43471D13562DA8
D9510DEF1D7302822F3C8D4B8BB761BAC70B8F4B42A628B17162DDC2A659D535
C4182496D0F0E3A22CAC3FD1C29C11B4B577A5CDA061631976BC3F0610289C8F
6F3BBF427F6F1FD44814601DC465607D0A2231505626A45953915F16C0CCD973
0D9DC9E813D43A81CD5AECFAE0B81350F2FC1CB3B7C9C884EAB0F7464BEAA39C
5A00E33D6CCB01FCD7B8B7CD0928F6CF368FE05427A48668044638CC76689DFB
23DF0D0B0A3393DDFBC6005A8F9CFCDFBF6836603CAF7107FC0730314BFE0CBC
83B80000000049454E44AE426082}
ExplicitLeft = 645
end
inherited lblDesbloquear: TcxLabel
Left = 551
ExplicitLeft = 551
AnchorX = 596
AnchorY = 14
end
end
inherited TBXDock: TTBXDock
Width = 676
ExplicitWidth = 676
inherited tbxMenu: TTBXToolbar
ExplicitWidth = 676
end
end
inherited pgPaginas: TPageControl
Width = 670
Height = 475
ActivePage = pagGeneral
ExplicitWidth = 670
ExplicitHeight = 475
inherited pagGeneral: TTabSheet
ExplicitWidth = 662
ExplicitHeight = 447
inline frViewVendedor1: TfrViewVendedor
Left = 0
Top = 0
Width = 662
Height = 447
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 0
ReadOnly = False
ExplicitWidth = 662
ExplicitHeight = 447
inherited dxLayoutControlContacto: TdxLayoutControl
Width = 662
Height = 447
LookAndFeel = dxLayoutOfficeLookAndFeel
ExplicitWidth = 662
ExplicitHeight = 447
inherited PngSpeedButton1: TPngSpeedButton
Left = 617
Top = 218
ExplicitLeft = 617
ExplicitTop = 218
end
inherited PngSpeedButton2: TPngSpeedButton
Left = 617
Top = 190
ExplicitLeft = 617
ExplicitTop = 190
end
inherited PngSpeedButton3: TPngSpeedButton
Left = 617
Top = 162
ExplicitLeft = 617
ExplicitTop = 162
end
inherited eCalle: TcxDBTextEdit
Top = 138
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitTop = 138
ExplicitWidth = 174
Width = 174
end
inherited cbProvincia: TcxDBComboBox
Top = 165
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitTop = 165
ExplicitWidth = 144
Width = 144
end
inherited cbPoblacion: TcxDBComboBox
Top = 192
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitTop = 192
ExplicitWidth = 236
Width = 236
end
inherited eCodigoPostal: TcxDBTextEdit
Left = 308
Top = 165
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 308
ExplicitTop = 165
end
inherited eObservaciones: TcxDBMemo
Top = 270
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitTop = 270
ExplicitWidth = 630
ExplicitHeight = 86
Height = 86
Width = 630
end
inherited edtComision: TcxDBSpinEdit
Top = 84
Style.IsFontAssigned = True
ExplicitTop = 84
ExplicitWidth = 65
Width = 65
end
inherited eTlfParticular: TcxDBTextEdit
Left = 496
Top = 57
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 496
ExplicitTop = 57
ExplicitWidth = 172
Width = 172
end
inherited eTlfTrabajo: TcxDBTextEdit
Left = 496
Top = 30
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 496
ExplicitTop = 30
ExplicitWidth = 172
Width = 172
end
inherited eTlfMovil: TcxDBTextEdit
Left = 496
Top = 84
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 496
ExplicitTop = 84
ExplicitWidth = 172
Width = 172
end
inherited eFax: TcxDBTextEdit
Left = 496
Top = 111
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 496
ExplicitTop = 111
ExplicitWidth = 172
Width = 172
end
inherited eNombre: TcxDBTextEdit
Top = 57
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitTop = 57
ExplicitWidth = 263
Width = 263
end
inherited eNIFCIF: TcxDBTextEdit
Left = 217
Top = 30
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 217
ExplicitTop = 30
ExplicitWidth = 194
Width = 194
end
inherited eMailTrabajo: TcxDBHyperLinkEdit
Left = 496
Top = 162
Properties.Prefix = 'mailto:'
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 496
ExplicitTop = 162
ExplicitWidth = 129
Width = 129
end
inherited eMailParticular: TcxDBHyperLinkEdit
Left = 496
Top = 190
Properties.Prefix = 'mailto:'
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 496
ExplicitTop = 190
ExplicitWidth = 165
Width = 165
end
inherited ePaginaWeb: TcxDBHyperLinkEdit
Left = 496
Top = 217
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 496
ExplicitTop = 217
ExplicitWidth = 165
Width = 165
end
inherited eReferencia: TcxDBTextEdit
Top = 30
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitTop = 30
ExplicitWidth = 97
Width = 97
end
inherited ePersonaContacto: TcxDBTextEdit
Top = 219
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitTop = 219
ExplicitWidth = 256
Width = 256
end
end
inherited dsContacto: TDADataSource
Left = 8
Top = 64
end
end
end
inherited pagDatosBancarios: TTabSheet
Enabled = False
TabVisible = False
ExplicitWidth = 662
ExplicitHeight = 447
inherited frViewListaDatosBancarios: TfrViewListaDatosBancarios
Width = 662
Height = 447
ExplicitWidth = 662
ExplicitHeight = 447
inherited cxGrid: TcxGrid
Width = 662
Height = 422
ExplicitWidth = 662
ExplicitHeight = 422
end
inherited ToolBar1: TToolBar
Width = 662
ExplicitWidth = 662
inherited ToolButton1: TToolButton
ExplicitWidth = 62
end
inherited ToolButton4: TToolButton
ExplicitWidth = 74
end
inherited ToolButton2: TToolButton
ExplicitWidth = 67
end
inherited ToolButton7: TToolButton
ExplicitWidth = 117
end
end
end
end
inherited pagPersonal: TTabSheet
TabVisible = False
ExplicitWidth = 662
ExplicitHeight = 447
inherited frViewPersonalContacto1: TfrViewPersonalContacto
Width = 662
Height = 447
ExplicitWidth = 662
ExplicitHeight = 447
inherited cxGrid: TcxGrid
Width = 662
Height = 422
ExplicitWidth = 662
ExplicitHeight = 422
end
inherited ToolBar1: TToolBar
Width = 662
ExplicitWidth = 662
inherited ToolButton1: TToolButton
ExplicitWidth = 62
end
inherited ToolButton4: TToolButton
ExplicitWidth = 74
end
inherited ToolButton2: TToolButton
ExplicitWidth = 67
end
inherited ToolButton7: TToolButton
ExplicitWidth = 117
end
end
end
end
end
inherited StatusBar: TJvStatusBar
Top = 557
Width = 676
ExplicitTop = 557
ExplicitWidth = 676
end
inherited SmallImages: TPngImageList
PngImages = <
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000774494D45000000000000000973942E000000097048597300001712
0000171201679FD252000001754944415478DA6364C001D6ECBE900CA4E640B9
2921AE0673B1A963C4A739C8598FE1DB8FDF0C33966C67505054C06A08232ECD
3EF6BA0C250B7F315C7FF88F6179E15F86456BF76135841197CD79737F324C4E
E1008BF345BC63B833959561F13A4C4318D13507BBE833E4CEF9C160ACC1C290
60C30296734D5FCD70F2A333564318B1D90CD20C02D72E9C04D33C92A60CAFDF
FF6358B8E71B86218CE87E866986D90E738186A92FC397EF0C0C6B8FA21A0232
E03FBACD5FBEFF07E30A3F36B801323ABE0C3F7FFF67F8FE938161EFC5EF7043
C00678586B32F8B7FD61887167836BFEF59B81A12E186180A8BA0F58F3E76FFF
194EDDFE0136A07DDA1AB001C90FEE3F98131BE4C4A092FD9BA12A8A07AC19E4
67582C800CE051F0C1D06C636994020F44902171214E0CCA99BF19E25DB8E09A
91C301161330CDE040448E46649764D85C473160C6114D0CCD581312B221CEFA
9C589D8D3521E13204047069C69B99608680002ECD380D4036E4C98B77383583
000005100EB8572466A60000000049454E44AE426082}
Name = 'PngImage1'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000001074944415478DA
63FCFFFF3F032580912A06303232E2543079D1766F201505C520B02C37CE331A
C400EBC5670054F3960057330631617E0690B2F357EF336CDA7786A1B5289211
AF01C89A254505183E7FFDC1F0F5DB0F06311101A021F7184E5DBA733927D643
0FAB01E89ADF7EF802D6FCF5FB4F866F406CA6AFC21095DBC6B06C7215238601
C4689EB27807C3B153E7300D2056F38B371F18B62EDA79EDFCF9F9DA700348D4
CC70E1C2024420022548D68C128D40C906A0E67A5234631860A6A752AF202346
B466740396C2521AD020B0A49EA622C39C95BB716AC64889C0405C0A541C2501
4C2830804F33D6A40C8A09A0A62DF7EEDD03F3AF1FB98D372301A39191E2DC08
0029AC32F01825AACD0000000049454E44AE426082}
Name = 'PngImage2'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000001514944415478DA
635CB5E3DC7F062C20CCC388918108C0083220D4DD104570F5CEF30CEDFDB319
CEEF9C4ED0109C06D818AB3278C7941134046E40CBAA0760819A3005B80B6000
9F21182EF8F1F30F10FF86E05F7F1882926B883300E60264C0C1805D5F69B802
238601E836FF04E2CDA7BF339484C9A368EE59F59261D9C1BB0CE7A75933C20D
F0B4D56698B0E5195617601AF09021DA4998C1297307C38D35A18C60031CCDD4
C036FF84DAFCE7EF3F307DF0FA7FB001112D57C09A57D4E8800D98BBFA346A18
58EA2BC235C39C0FC2671EB0A2B8E0DBCF7F0C5F7FFE05E27F60B65DE26C8801
7316ADC11A58AEFE69282E4009C8284506F7F4B90C781349F7CA07FF4106A0DB
FCFD171003E980BCF9840D48F5916148EFBB8E2197EC2BCB1059B290B001512E
92609BC1B602F1EF3FFFC1F437204EAE5A4CD8007F5B71B8E66F480681407AED
12C20674CCDE884F0903000B1A00979E81F9710000000049454E44AE426082}
Name = 'PngImage3'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000000097048597300000E9C00000E9C01079453DD000002574944415478DA
63FCFFFF3F03258011D9004646468696696B17FFFECAD0DE581A7C0D596155CF
0AF77F7FFFD975944755A3E8413760EA929DAF393938D62785D8A7C1C48BBB17
711BABAB5C7AF9F6FDDFC2446F354206BC75B6D4E35ABCFE90536B49F87190F8
E4853B2779DA1BE46EDE7FE62ED00015BC06F4CFDBBA24CACF26FAD0A99B5B42
BDCC7C6BFA563B057B986FFDFDE72FC7D20D072B26D62574E235A0A26DA999B0
98E0F2607713F9251B8E85692A4B5698E9AB9AAEDA7EE2DEBB571F3DDAAB226F
E33500044A3B979507B898B6BF78F3FEA3B1B612FF992BF7FF1F3975336E425D
CC52903C4103EAEBEB5998450D8FAA2A889BC94888306CD977664D675964284C
1D0103EA99F8DDF50C8CD439E3FFFE67CB7DFFE9DB1F7E3E9EC637DF5977DC98
B3E73C0343E33F9C0670B8AC555292175BC8F6FF9BEEDF6FEF995E7DF8F95941
55EDE5AB17AFBEFCFAC7C2F1ECC5FBEF0C4C4C89FF0F47DDC36A8056F2A103FF
DEDEE465FBFFB5F1D577EECB8C8CFFF72AAA6A7CFFF4F842CED54D7907184CE7
4631B0B227FC3F1AE38AD5008D981DDFD9BEDE48BABCA1703983DE226E09891F
D754B4756F7DBC7FBAEFF286BCED0C32BD9C0CB222B7FF1F8B93C16A805ED2EE
D74CEFAF445FDC50B48BC172858E34DFFB6582B2DAFB38BEDCFC7166456A0583
CE0471063EA103FF8FC66A623540C063F55669B6E747AE3DE3E861E5E158A9C8
FBF1D1FD6F628BF4147977FC7A79D3E3F2736E39060E9E84FF47A202B0C782ED
627356C6FF935998FEB349737FB9FE95E975F2F32D8DDF98EC9647B1FCFF55F0
EB1FD31FA08EC2FF87634F6235801C0000382740F0DFD997BD0000000049454E
44AE426082}
Name = 'PngImage4'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000000097048597300000AEB00000AEB01828B0D5A000002854944415478DA
A5935D48536118C7FFAFDB8CCD557E7F34B33167F9119617A91596495D781304
451021A651362821B1ABA49B6EA4460961D88542055D84DD6545415992174994
9625CC8F9C329D9B5F3BE9CED9D9797BCEA1C932A3A0079EC3CBE13CBFE7FF7F
9FF330CE39FE2798FAB80BA4E61559EB2551E67B07279AE8D51FA98F2CC99546
031A3D6E5FF329993F631D80B52227A6D7929F9BAEA459D1D73BE8DC3330D6B8
1AD206641414DA5A6224E1E8ECA47779660955D532EF642F1371BD74331A14FA
9C27A4439F5D88777DAE1B65FD230D11485786B9363D65FD35C1EB4B9817427E
9F80C335C05BD53E23B2A934132FB23662B71406C2B14698F38AF0E9EB9473E8
E3C8655BD686D6F858A5DA3F27B04511E37E0195B5C0A00AD6003FE5259758F0
3AD1843C15125218CCB6AD707FF34EAC93973217041154ECF608D8770E188BD8
5A01A8A1DEC5F60CF4980CB0A890E8A47AFFF477EC3F037C8EBE975F006ADC37
60A7351E3D061DE222C522A5270047AD82DBAB27B21AC09EDA373525E9A52BCB
7E5F4CB4822509BE80848AB3C0C09A806380EE7CA1BDC55EB4CDE17AF2984932
75A60CCA088739742A84CE1E49C1010730F41BA03B27CD595C517CB1FFF92B04
E6035AF142101DCB12DA743AB413243FA468331D0F01E51780D1154057AAF148
D92E7BE794778E8DB92634C901116FA6451CAA27214EC06802AE5227AA839ED2
45A0729AC6A406182DD9329C10A7B7F57D18D63A93DF99D92076905F4FB4DF56
A08C20ED9476027CD1209C7BD9FBDC947BC1C0E2C9596A4B003E27E2F8E9301E
AEB507B700334968A6631D019C759C5F627780822413BA194312CDFB41958C13
7FDB4052739000430ECEDD913F313B568F9B8B326AC8F7CCBFAEB27A073F0058
5538F0EAB25B380000000049454E44AE426082}
Name = 'PngImage5'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000001934944415478DA
6364C002662430FC47E6672C606064C001C0122726A06AB870818121A1632A98
5D169DCD10E58B90B32840358C11A4D920622A5C604145365833482308D4F5E6
3134154F62A8EE4805F35B2B66334CDA8B3004C50098E62F2F6E823581347F7F
FB80E1E58DBD0C8BD67D6588F6656258BAF91F7E03AE3D66C009081A800CD61F
B161C0072243F419711AF0F7F777864D275D192282F5B06A5EB1F23C43D7FCD9
0CE7774E67C43000A41984B79EF3C36AC08F9F7F18366CB8CC10116EC860E491
85EA0298E6BFBFBE33ECB8120E36C071E64DB8E6ED09CA40037E33ECD87E03EC
02142F206BFEF7FB07C3AE9BF1282E00D90CD20CC6BFFE30EC3B719561CAECE5
100374837B503483E8BDF733305C000333DC04198E9EBB893040CBAF1945F3DF
3FDF190E3C2E041B806EF34F283E73E52EC200758F2A865B3B3A506CB927739E
C1C75383C177F17D0C17745971325CBEF51062004820CF19352F808065E64506
172748A0C16CFDF3F71F9806B9E4F683A70803B081E56B2EFEB7B19663D875F4
32CEC444D080AED9331808010085EE16005695A1DA0000000049454E44AE4260
82}
Name = 'PngImage6'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000774494D45000000000000000973942E000000097048597300001712
0000171201679FD252000002164944415478DA95D35F4853511CC0F1EFD491DD
D9587F2C83AC8C328DFE4949908BC0AC142A147BC8077B88A01EECA5E718F958
410486C384B50A1F7A991023CBEC0F594F81E5D4C211E130D7D4DDCDA15B5EEF
DD5DD74B1B8EA9D90FCEC3EFC0EFC3EF9CF33B06FE46CBE3AE042B886B176B0C
0B73C342A0A9B17AD9E2FB4F5EE0E878C6E79776C37F03AAAAD2DAD1CDDEDD3B
B96EBB9B425604CC17CB8A4AFBD31EEA6BAC0CFF08A4907F02C962598EE374BD
D58F908C2581442241603C8CCBFD89D86C9C9C9C1C0A365A282DDE446FDF37E6
AB9277B128F02B10C6DDF385CD074B10D6593019211E9CC2EF1DA5A0C0821895
68BE6D5F1A6873BEA6D07A0879951945CD626B1E6C372978BD7EBC5F4710D608
DC6A712C0EC84A9C7B6DDDECAF3B459E315B3B3B685B9835448DCD30F4BE0FC1
94CB9D56672670A5E1A47E590F1EBDE374C3091D88CD4120063359902B4719F9
D88F201835E0612670E97CA5DE41578F870A6B296BD79B096BC0B8B6C4DF3252
4024E81960832071B3FD7926D0587B5C7F32DFE8243FC74214EDD906AB4D4C29
1011230487BC1419BFB32BE8E06CE7BE4CE0C299637A07B3928CCF37816F4CD4
F2040943365234823134C8E1FC094A8A8D4C0DF6B2E5EA8774A0BEFAA80E283A
A21012A791E6E6B4618249FF08AFEC97292B2CA7B64221BFAC9C90E74DFA289F
AB3A42FFB07FD90FE5B255A510B754379D062C1CD3E5E240AC931D9537B03537
19FE00839434866373C4BA0000000049454E44AE426082}
Name = 'PngImage7'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000774494D45000000000000000973942E000000097048597300001712
0000171201679FD252000001724944415478DA6364A0103062135CB1E2C26E20
E5824F63448401235603809AA381D412374F5506413E2EB0D89FBFFF187EFFF9
0BC62F3EFD6728A999C0B0795E15A60150CD1540CD3A7B4FDCC5B0D5D94299E1
CAD3BF0CDD3D53F280064CC666C06EA066176C36FF05B25F7F6544B11DC50098
D3C3C3F519D6ECBA8C61BBBDA922C38D17FF41B6C384B6020DF261846AFE0FA4
AE809C0EB21DDD6610FFCF9F7F0CE91553194CF49518A4558D1836AE59037609
23C8E6AB4F2E2C2136DAE4B5AC186E9CD9C570F3C1278801B53D0BFE3715C7E3
D4F0E5C75F86CFDF8118487FF9F18F61C3BA350C12CA260C3B366F4218408CCD
17AE3D03D3065A520CEC42AA0C278F1CC4EF02749BBF82F0CFBF0CC7F66E64F8
C92AC970FDE259DC06A06BAE3DEFC390ABB49EE1FEB5530CCF9F3F6778FA919D
E1F5D3FBD80DC066F3AC743D8680EEB30CAFEE9E61D8BEF72C4CA90CD080A770
03A62FDB45542C400D006B062724DFA4366920FD84D86844D68C9212C905001F
16FA1194E3DBC30000000049454E44AE426082}
Name = 'PngImage8'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000774494D45000000000000000973942E000000097048597300001712
0000171201679FD2520000015F4944415478DA6364A000FC3060F8CF884D62C5
8A0BBB81940BB258E7FC99286A8EBF9CCEC06EE4C5C088457334905AE2E6A9CA
20C8C70516FBF3F71F8399770E44D3F9FF0C3F0D19219AE76D6364C4A2B902A8
5967EF89BB2806B7F54D6738E7C4C1F073793F58B3D1537986F33BA76318B01B
A8D905D9E6DF7FFE82B1437011C3B91DD31818BA8AC07246FB7EA01A00737A78
B83EC39A5D9731C205E40274003700A8F93F90BA02723AC876649BFF02D920FE
9F3FFF18D22BA63298E82B3148AB1A316C5CB38661F5B92A064690CD579F5C58
4228CAB6EC3E893D166A7B16FC6F2A8EC7A9F1CB8FBF0C9FBFFF65F08E2CC01E
0B20038849342017608D055C2E80D9FC19487FF9F18F2125B3147B2C6033005D
73ED791F86E7B334B1C702BA01E89ABF02F1AC743D8680EEB30CAFEE9E61D8BE
F72C4CA9CCE679554FE1064C5FB68B98A0801900D60C6230FA26B54903E92744
E946B219C661244123560000C9AFE6B31530CB2E0000000049454E44AE426082}
Name = 'PngImage9'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD2520000016A4944415478DA
63FCFFFF3F03082CDD7212C22000627C2D18616C905E466403A27DCCF16A06AA
61E89DB290E1FCCEE98C241BF0EFDF3F86E5DB4E33488B093314D5F5810D21DA
0090E6DF7FFE31ACD97596C1C9429BE1E6BD176043CEED98C688D3804D0F0E30
F45E6A02B37779EC62E05CC0C6B058EA38D80B3080D30090E6805D4E182E7911
FC91E1C4E5C70C8F1E3F6298B774137603609AFFA4FC013B1B64738BB13743CD
D9AD0C8FFDDF81C5B6EC3B85DB00A6594C289A91C13DEF3740F1BF0C3B0F9DC5
6D0048C1EFDF7F21F49F7F50FA2FC31F181F2877E0E445EC068479988015F02C
E640B1F98EE72BB066CDDD120C676D1E311C3D7B05BB0181CE8660DB049773C3
FD8DAC3957BB80219A379FE1D4C5EBD80DF0B1D7032B165BCD8B110330CD200B
CE5FBD85DD00776B1DB002E9F502609B13CF8781E50C840DE09A41165CB97907
BB014EE69A1801060B44986610C06980ADB11AC3A63D2789C994D80D404EA6C4
0090010087546EF0ACB0C7920000000049454E44AE426082}
Name = 'PngImage10'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000001024944415478DA
63FCFFFF3F03258071D400064674018780D0A7823C7C09EB97CCDD8D4B535EC3
C493AF1EDC305B3E7F1A2323BA66090111A9272F9F301CD9BE99119701110999
FF416A0E6FDB843000A4F9CFCF1F52F834C2808DA72FD8DF700348D18C6C08D8
004B77AF69F292F299308987CF1F4E979256DEB076DEE45D207E7052AEDBB3A7
770390D58000DC0B20FFCC98D0CE70E1053FC3DBBF3F191E7F66603831A310C5
B6E533A6311C7CC080228F624046C534B82408AC690C856B9611976140970719
20ACA0CB30A53E13624068693F5CF2F2E3F70C37E7A5C163019BFCD7AD4D0C2B
164C07A72146981F999998C17EFCFBEF2FD630C0260F3660C0933200BCB3BCE1
CDA578040000000049454E44AE426082}
Name = 'PngImage11'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000001C04944415478DA
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
1BA234FDF9FB8FE1F79FBF60EC105CC4806200A3E14C86FFE7D3C13408E0627F
3C12CF70ECEC0D86AAB659D80D4007FF806AFEFC41D80CC2672FDFC1340019C8
7A2C6178F2F22B98ADAE20C0D09869CCE06E29CD2068B788E1D9AE48868BD7EF
117601C8E673D7DF309846AF6310E66767B8BE3E8441CC6929C3C36D610CD76E
3FC46DC0CBB7DF19EA679C613870E619C3C3679F197EFCFA0B36106433C8F97F
80F8D6FD27B8BD1053BD8F61E9B6DB0C0B9B1C181C4C2518E43D5780C54136CB
7BAD62B8B12E90E1FEE367D85DF0F75C1A836FDE0E866D471E315C5A15CCF0F1
CB4F06DBA42D6003EE6E0A6650F65BCB7061B90FC3F357AFB11BF0F3540AC3B1
8B2F18A2ABF6313C7BFD8DC1C14412E895E76003AEAEF6077B4123528661FFC4
F3A806C4F859C1A30839CAE0ECDF10BE41E416860F7F32188E4F453320DCCB9C
81CB621ED8A6177BA218245C9681D9B7360431A805AC03B37F306430FCF8C3C0
F0E61B0483D8700382DC4CF0DAFC1B498EDD5785E1FD4A3417F83919319CBA78
8BA8FCF0DFCF908171139201A0DC3871C6529273637E46740C00F128724C706C
80060000000049454E44AE426082}
Name = 'PngImage12'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000000097048597300000E9C00000E9C01079453DD000002324944415478DA
63FCFFFF3F03258011640023232386C4922BFF0D9818FFC57EFFFE57FDEFBFFF
CC8CFF19BEF0F1B36D5C73E9EAAAD5613ABF60166318505FFF9F4939F077F98B
97BF6BEFDCFEC6F9EDDB3F86BF7F810A9918192424D9FEF3F1B32FBFFA93236E
5528C35FB8018D9B7E2C6DF0E38859759581F5E7BF3FD36EDEF89AF4E51B03E3
B72F7FC0867EF8F897E1EF3F06867F40ACA1C9F96FE392D5BA5737265D831BE0
58F9F0BF83A5F83245796696CB973E87FEF9C70CD6FCE2D92B86E78F6EFCFCF7
EFEF17360E5E4151590326666626067D7DDE65F57E1CD12806288BB3FF676567
66E0E062036B7EFEF425C39307576E8A2A19B9EE6A557DA217B2A88E9B5FBA41
405C87C1DC9CEF01D0004514031444391804843918409ADFBFFFCE70E7EA91FB
9F3FF06BDED9E1F513A450357481341FBBD03D611973362B4B2C067CF8C1C060
A020C0F0E3FB4F86CF1FDEBCBE7FFD84C3B54DC9D760812B13DACB29CAAAF84A
58C69AC7C61A8B01CF9FFF61E014646190E365627870FD40C3A535718DC8D1AA
E2B1988F5788E7B998823597A5392FA6010C1F1EC0157FF8F081E1DF9F4F0D1C
EC6AFDA7965A7C02899924ED550746C555793523665D1D2ED440C49690D08149
D2A9764E3ED90A037DEEFF3696BC7161EA0C4B8836402FF6A41A37AFF0690E2E
7E3E7B5B9E65C08494084C48BF8832402BF40A0F8F30DB3E0E2E4153277B9E65
0DFE9C60A7E34CCA280098ACCDDF3C5A2925C913ACAFCBB51CA6997803ECF7B3
301C74FC834D0AC5004A000026261CF09ABF155A0000000049454E44AE426082}
Name = 'PngImage13'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000000097048597300000AEB00000AEB01828B0D5A000002E64944415478DA
8D936B4893511CC6FF67DA74BAC9BC9478C9357338CC4B0EBC1709F929A25414
A13E48082D8CFC20267E1B925DD004B3120C75919AA99B5DADD485E56DA2791D
739ABA2D9DB7A953379D6EEF5EDFDE14859C810F3C5F0ECFF33BFFF38783E0FF
425902A13B668448DCB4C5B658709C40D8F0A4563120A97FB1B61F3AAC291008
EDB1630ED7ECECA97C6F7F6FAEABB72BCDB46902B54CAD5BD4CCF7AAC68772C5
6F8A06C8286E05484EAEB3F10BB6A49FE2B2F2C2628318E0C440063300410050
910596D4B344F7BBB63169FBA7B4D6E65AA915205320E47A9EF4ECB89A7CCE85
CDA021950141E2BD2E9049645029E683BB3301EB2AE5F657E15B4955457EAA15
205B5095CD8BE33D0C8BE0523C1002B50120E5C12EE03509D8A60078386EC1B7
F2066DA3A89C8FFE1DBF9076CADFADFA4A467C829E70829C82AE43B79B97150D
B3522956F3F4C9B3030001DD87C3AE49C84CBCBC646640FCA5D29DF3A0B8A09D
09F62469E1C3A4B4D7F2EAF1A3DA834FA064DC2D2D8E4DB9984E63F922ED2A02
161DE04EE1EE13D4ED7CB090CB5CD9C6E1439978A3FE655189D50E52D37263CE
4486374725C5D2168DF6C88E2CE414ED02942400030246C6A7087149C5688DF0
7EC63EE0F38DB3C79974A8ECB70B7459649E0F64F17854767800C588D390830D
02172A19226F5E58D211DFEB9AF40DD5CFCB46E5DD0568AFECC6C43FFA470747
2CEBF420D2048072C57ED3CB2F846005F9D19CBD4E80C96882B9F16942D1DBA7
FBD15C2B960F77159355056AB919E0E3E24C17F9C58487E1737218966D429386
01F235CB8589854D87D3DCD0448613938D61669B89B1C1099552DEB9AA9B9790
E559D204FA99C5EBF78D0A0FB5D5ABA0BF6F0D7AA66CA1757CC4B862D808E9D6
9826C990236927D236A4B748AF92C6F6FF82243F890861AE817CC8001D6A0A74
2A478D1AFD7A926CC6FC058E20743BEDFA2F1ECC70B45A0CDA2614CB5AFDFAAD
BE19B3E828E51D009FCFE710C6F546ED680F473DFF3B7E70DAFCFEA8E5BFFA03
503A4EA60D6AAC070000000049454E44AE426082}
Name = 'PngImage14'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000000097048597300000AEB00000AEB01828B0D5A000002E44944415478DA
8D936B48D35118C6DFB379D9D4C9BC94A8CB399B38CC4B0E9C9A45427D8C5251
82FA2021B430F08398F4258650145A615642A12E4A31AF6565795958A69B685E
C7BCB4B92D9D3AA74E7771BAFD37FFFDA728E40A7CE0FDF6FC9E73DE877310FC
5FA850200CC22C90ECB06EB1EC76870347D8F88C6E7244D4F8D2B06FFA172910
082998BBD7154F8A079F11C5E0043002A8D64D2BA8A56AFDB2463BA8928F1537
BF2D1B21AC0E9780ECEC06323BCE9E17CE61DE4D4C8BA5812F0D996C00380EE0
81ECB0A25EC0FBDFF74C4B7E7CCAEDEEAC97B8041408849C906321BD97B24FFB
B36854A43221106B01ECCE007780203F1CCC2AE576BBF09DA8A6BA24C725A048
5053C43DCFBD9F98C4210523046A13C0D0320099BCBBF0360920D87B0BBE56B5
E8DA9AAAF8E8EFEB3FA2864705D65ECC4FCF30E2BE70BB54ECD28F542485D676
3E2C482458DDD327CF0E04087CC222597519059917566C34B8F358BC031C94A8
8B0F339241FBEB870FEA0FAE40CABFF5A23CEDF2B93C2A3302E9D611307D0002
29006EC4D529A4DD2ED6B61DF0A1B279A3F15559854B0739B9C5A92792799D29
5969D4650B05791200C31B804A74E046B831C061423E8B3757544FD509EFE5EF
077CBE76F208DD07DE0C7BC6F82FD3CFC430B95C0F162F9A64715091171981BF
0761224E5E5AD1E3DF1A3A8C2DB5CF2BA764FDA5680F0EA43B3E469D8A4B5AD5
1BA149130DCA35CA66283B1E67C6B2A97EA147C16AB1C2A27C0E9F1C1CD27FEF
AC6F968D8BCB097412755D8F0EF3F7F36962A7F2121D8B3218976E4287860632
83FDAC6269D3EB38272193E64B6761988DAC981E55A894B2BE75BD5644C00BC4
E0E867217738228597E06654C1F090010666DDA05B3E6159336DC4F76BAC3384
8968007C8971BE842D62D6C159C5DE5F109564E1F17403C8C64CD0AB26419F72
CAA2319AB3A4F3B62F7008A19BB9577F71613E52A7C3A04731B9AA339A6F0CCD
DB9A0E03EF04F0F9FC48DC626ED34D0D44AAB5BFD347E76CAD87859DFA0386D8
3FA68502A9830000000049454E44AE426082}
Name = 'PngImage0'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000000097048597300000AEB00000AEB01828B0D5A0000032A4944415478DA
6D937B4814411CC77FB3B7777A5E7276969AA4648A20A5592A4585FE654122BD
0CAA3FE2841EA45946697591BD8DB27748A2BDA0A43FA2420C893252D2A244B4
7C24495986AFBC3BDDDBDB9DDDBDDDDB663714B366F9B2BB33DFCF777E3BB383
E0DF66235A19342370912538D0CAB2825BF00A6DA4EF2D1133D5A8AA2AA029EF
4126B3292B2E21BA70697A5262626A9C393422040D0FBAFCAD6F3BF187C68ED6
9F5F472E2992524FBCE2F400735884ED40E6BAE58539F6CCD0B9F323009111C5
EF075191600C7BA0ABEBAB5AF7A071A4ADBEE71CE7C615849126032823B52D77
EFBAEBF6BDEBAD164B20E941A092EBF89ED75050960C6ECC805B6060D8E984E7
379B9C2D8F3AB71353CD4440CC8ACCE49725D7F2626DB3AC60A028C2535092FF
4A2FCD5E1A0F2E3C062E9E8171D1034303A3F0E24CF3A7910EF72A1230826813
BDAFF87CEE85ACCD19269AA2C16030C0093273EDC372C8DE92FFD7EACEDDE902
06B3D0F1A41777DEED2D5015F5369A1335BBB6ACFA4056745C24A22903941636
EBF044C38204BCE003FBEE62B0DAFBC1237A61B8C7A9B69DE979ECF3F836A1A4
65F15F4EDD2A880BB606A12B45AD93B02C2BE023D2604D79FB8F02B5F533B022
078C9B55BBCF7EEBC43F8424B4243DE19BA37C678CC962844A47B71E204F8212
09F1EBF783474E02BBB105BC1207DE711EFACA06BE8B7D520C8A8A0D6F70DCD9
951E343B1061598067A54EA8AEBAA4435A0826D22A3976B21406B31B80F76160
FB3975E8E2E84785F12F460166E3E91D17361D8E5D1E45F332062C8BD07EC300
D7CA4EC1BEA292BF16B177751D6893304D5E9979E0AD5265354FDBC694B4EC05
7599FB57844906093862D04CCEBB913AE4D9F01EBC3E1EBC22AF87635680F1FB
EC4FB95DC922DBD8A105A0008BF1444641DAA1A88C8800CE8F8123656AA59A1F
A740FF9A7AF22CE8B0208AC035F258A8911C20C3D5A9BF72D8CC79C197E3D7CE
CBB12D0D09106862D4A13F9F343133F70E63F18D740F7E818330E3D30FD31CA3
D5986F5B68B55B532DE128923248269F0EF2DF05856FC58372AF52013C5412AF
EB7FA7516B34512232C2063A944E44C1C82C7B14CEEFF2B793929F92B16E2265
EA71FE0D330BBCF031BDB9A60000000049454E44AE426082}
Name = 'PngImage15'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000000097048597300000AEB00000AEB01828B0D5A0000031C4944415478DA
6D536B481451143E779D5D5D37D95AD354523445905AB32C0A0DFD653F92252B
8BFA130A3D40F385D1C3B09766A5652548D23B34FA1115624894A0F6502845CB
079298A5F8CA75737677E6CECCCEA3BB532DAB75868F3B73EFF77DE7CCBDF720
F8374C045BFC97F8AD3504F8191D0ECEC639B91E32D741407B13154501E4F5ED
AFD3EBD263E2220A37A5C49BCD1B62F481214BD1F4E49CDCDDD18F3FB4F7758F
8FCC5C9504A98570F9C506FAE01053715A46526166565AE0CA552180C88A24CB
C04B02FCC476181818519A1BDA677A5A862E32365C473482C740A3D5ECCFCECF
A8C9CADF613418FCC80C02853C678EB4425E5502D8300D368E8669AB155EDE7C
67FDF8A4FF002135FE35884A4E4B787DFA464EB469B9117C341AA2D78008329C
CF6D55CBB39406C11C4BC33C6F87A989597855FEFEF34C9F6D2B319841948E2A
387639BB327D6FAA8ED2505056F066C18E363DAE05CBBE5C30E7BBE02767071A
3BA0EFD930EEBF3F9CA748CA5D141A1ED454F5A8383D22260C511A1FA8287CAF
8ABC037302ECC92E0263D618D879274C0F59959EF2A1A72EBB6B378ADF1CFBE5
FC9DBC9800A33F2201D547BB3C06A228818B80E55C2A728A4E01B3AB0B689B43
19BCF0B51F7FE7E2D1FA94B8AF25B587A274062DD971173C2C1D560D448F5020
26B23A1E3D790EA62C6DE09C6761B46AE21B3F2A44A1F0E8156D25F70EA7F807
F9212C72F0A2C20ACFEB6B3C62F788094E9496C12411B32E0C8E314699BA32FB
49A2E575C857AF2D3B58B9FB44745238C58A183AAF890BFEFF5259A947CC082C
B893D0EF9C22DDE0BCAD884A8EFB1813375A5637A71525070B3E023084E02631
24136E88564D262DADE0E4DD621EB08383F97AC7B8D82BA59363EC731B205F83
F66C6ADEC6E3E1A921BE8C8C55B1BB54FDD34418DBD642DE3955CCF13C30ED2C
E61A85127251AE7B5FE5E0659101D5B1DB23334D9B96FA721421AA22FC3BEB9F
CC4C27C6FC5BE101FC8012A2995FDC4CA15AA336D7B4C69865DC605881C2343E
82CEA50AD96F9CC476E3497158AA03166E11EEDCFFBAD11D1481196961271548
995100D28B768991E7E45E52F273B236482079B7F32FB7E1BAF0E8F71C040000
000049454E44AE426082}
Name = 'PngImage16'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD2520000019E4944415478DA
63FCFFFF3F4341F1F9FF0C6402469801BEFE4A0C0B16DD60583CC71CABC21F3F
FF327CFFF90748FF6128ABBCC2A0A5CEC0B072C752E20C40D6FCE3D71F86BAFA
1B0CEB963B31A85A241336005DF38FDF7F18DA5AEE3098997032CC5D3D07BF01
D834FFFCF597A1B7EB3E612FE0D20CC253263C625092FFC5B0F1C06AEC06E0D3
0CE2CF99F68C4152EC0BC3AE931B310D983EC908A119AA11A409660008CC9FF9
9C4180F72DC3E14B3B500D00019021840048F3F7EF3F19CEDCDE8F6AC09F3F40
DB7EFC024B82E81FDF816C280D11FFC5F0F9D337B03C08DF7C79126180A7B73C
86E6CF9FBF43C460867DFB09D70C32ECD1A7F308036CEC44C18A976E9A82D7F9
7CFF8DC19A4186BCFE7D0D618089193FD896B5BB67311CDA309341504A87E1C9
ED930CEF3FFD60F8F0F927C3FD671F1956AD59CDF0EC96105833C8BBEFFFDF44
18A0A3CB0976EAB6C30B182E1CDDCBA06768C8B073FD02B8CDF79F7E64E89C34
87E1EE456EB06610403140599519EC827D6796312447F833F072B130B0B0B2A1
387FF5D6430C37CF72C0F9700318191919F49D72C9CAD200FAC9B5C145016BDA
0000000049454E44AE426082}
Name = 'PngImage17'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD2520000015D4944415478DA
63FCFFFF3F03082CDD7212C22000627C2D1891F98CC80644FB98E3D50C54C3D0
3B6521C3F99DD3194936E0DFBF7F0CCBB79D6690161366B04C57058B715C6060
24CA0090E6DF7FFE31ACD9759621A4D68281352A97E1F7B2C90C8B2E10E10298
E6DFBFFF325C5DC2C1F044E912C39B4B4B19984A3AB17BC171E64DACAEE860D0
60D0F399C2F0F2D636868587CC18A41A1A18D218F07801DD669866100E699161
10D5F6050726411720DB0CD35CDE369B61DED24DD80DF8FDE72FD856107D6319
1786E6ED7B4F311C387911BB01611E260C6E73EF80F9110C1F180C182C18C4D5
BC5034830C3E7AF60A7603029D0D212E00FA7DEDAA2B0C2D2D210C6B6A9EA068
06E15317AF6337C0C75E8F2160D92330FF4E8B0B838B4B0D985D5CE907D70CC2
E7AFDEC26E80BBB50E5CD11FA84B60E181C0FF18AEDCBC83DD0027734D829A41
00A701B6C66A0C9BF69C24265362370094D348012003002CB76B52FA97B19500
00000049454E44AE426082}
Name = 'PngImage18'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000001B04944415478DA
63FCFFFF3F03258071D400064674018780D0A7823C7C09EB97CCDD8D4B535EC3
C493AF1EDC305BB1603A2323BA66090111A9272F9F301CD9BE99119701110999
FF616A189135FFF9F9430A9F4618B0F1F405FB1B6E0021CDD70CF8FF0B09B0D7
481C78D50AE2FF7295B1FBC82F7AF0C585F30C8C96EE5ED3E425E533618A1F3E
7F385D4A5A79C3DA79937781F8C149B96E6627F7F4F8B23ED3DD226BC2F04840
96A19CE72DC3E7E387182EDEF8389911E49F1913DA192EBCE06778FBF727C3E3
CF0C0C276614A2B860F98C690C9BAA5A1854F7F530282A4830DC7FF08261E657
318689B76F33820DC8A89806D70C026B1A43E19A65C46518C0F25F3F3048CE28
6050BFBC9A61DB7F198693AE390C535AF220068496F6C3355F7EFC9EE1E6BC34
782CC0E47F5EBFC060D7E5C170E8BD208301F73B06BE7F1FFD642E316C6604F9
F1D9D3BB01CC4CCCE070F8FBEF2F4618FC7D723D22F3EF93C4FB37DE301C1296
D9E8FBE68198BED87F4BFEBF1FED084619087CB4178BB974FFD3D42B8F7E7801
6D390A12DB28C4BA51558ECB8F2803D6F1B2C67CFEF5C728EEE7FF62A006701A
98C0C0202ECBCDB00A00547CD715F016991D0000000049454E44AE426082}
Name = 'PngImage19'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000001034944415478DA
636498F123988181610D032A0861C8E058CB400460041AF07F8201AA60C10520
91C1C1489201604DC40114D7313234DCF84FB4561868D080BB8E71F3BEBBFF7D
1C9550E4FFFCFDC7F0E7CF5F86DF60FC0F4C83F8DF7EFC66084FAF6738BF733A
7603D6DEFBC710B2FB378A61732CFF307888FF061B7AEDEE4B86EAD6C9B80D60
9CF993015B803EF0FDCAF0EBF75F863B8FDEE036006403EB9CDF0CA40628D800
0F3B05B01F393BEE911C9E6003ECCDA4188E9CBBCFF0F70F3B03A9010A36A0AE
B307ACB8A9BC04C5005C9A91031425B52107283ECDC8018AD500429A41F8D1F3
F7D80D8005283ECDBF81F8F99B4FD80D8005283100AB01B0002516000097A51A
7A68BA98860000000049454E44AE426082}
Name = 'PngImage20'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000001B24944415478DA9D52A16E1B41109D6366595810C90B0307069E59E0
B29665A1E141B32E3474BF20070FAE1462B8259555D22D88643889A5C8F04C1A
57AAB4797B4E9C334875CA48A3B9B9BB79F366DE14D433EB6DA27D4BB427AAAD
2F68809DFC641B9358338518C94F3F02509BA4B5A6B802C02C0C03E8D36EE1AC
15859520C157BC6F1163138BF70132ED0B7E01688F9E2B73942500FCFF00403B
773E1410E90B4512A4EB9C41338BB894F701FA495995093BA4185054BF75559F
9432A5719AB555238C18420D772DEC1460CA495D12893FA55D5E950E637E554A
75B9ACC190DA6FBEF1D509005B4EAFCBEBD3365F8CA0F398993B85ECD462D161
E7664E0D920A85892F995040B215922814D771B7582C5421F32AE59FDAA3946D
27611773F72614D84137020A288FE1E68EC068823C7400E3BCB96DAE82FEE8B0
CB113204B8591DF65496B66656D7F9390AA3819AC4A509459CD924C11FB8BE1C
D39111AC122AF8CA630AFD8B21B13563728BDF50427634223368076E2E3871DC
47BECA100F4AEC3508C7FB41001500F2EC4A9D51F0DFBBE2AC94ACC330809BDB
BBE6E70FFAFCE7E92F6D1E1E69B3FD87156D9EB43E37CFDA01027CC229770400
00000049454E44AE426082}
Name = 'PngImage21'
Background = clWindow
end>
Bitmap = {}
end
end

View File

@ -0,0 +1,70 @@
unit uEditorVendedor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
uEditorContacto, JvAppStorage, JvAppRegistryStorage, JvComponentBase,
JvFormPlacement, DB, uDADataTable, ImgList, PngImageList, StdActns, ActnList,
ComCtrls, TBX, TB2Item, TB2Dock, TB2Toolbar, ExtCtrls, JvExControls,
JvComponent, JvNavigationPane, uCustomView, uViewBase, uViewContacto,
uViewVendedor, uBizContactos,
uIEditorVendedor, pngimage, TBXStatusBars, JvExComCtrls, JvStatusBar,
uViewDetallesGenerico, uViewContactoDatosBancarios, dxLayoutLookAndFeels,
dxLayoutControl, cxContainer, cxEdit, cxTextEdit, cxMemo, cxDBEdit, cxControls,
uDAInterfaces, uViewPersonalContacto, StdCtrls,
uViewContactoListaDatosBancarios, cxLabel;
type
TfEditorVendedor = class(TfEditorContacto, IEditorVendedor)
frViewVendedor1: TfrViewVendedor;
protected
procedure EliminarInterno; override;
procedure SetContacto(const Value: IBizContacto); override;
public
constructor Create(AOwner: TComponent); override;
procedure PonerTitulos(const ATitulo: string = ''); override;
end;
implementation
uses
uEditorDBItem, uDialogUtils;
{$R *.dfm}
{ TfEditorVendedor }
constructor TfEditorVendedor.Create(AOwner: TComponent);
begin
inherited;
ViewContacto := frViewVendedor1;
end;
procedure TfEditorVendedor.EliminarInterno;
begin
if (ShowConfirmMessage('¿Desea borrar este vendedor?', '') = IDYES) then
inherited;
end;
procedure TfEditorVendedor.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
if Assigned(Contacto) then
begin
if Contacto.EsNuevo then
FTitulo := 'Nuevo vendedor'
else
FTitulo := 'Vendedor';
end;
inherited PonerTitulos(FTitulo);
end;
procedure TfEditorVendedor.SetContacto(const Value: IBizContacto);
begin
inherited;
end;
end.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,114 @@
unit uEditorVendedores;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
uEditorContactos, Menus, DB, uDADataTable, JvAppStorage,
JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList, PngImageList,
StdActns, ActnList, uCustomView, uViewBase, uViewBarraSeleccion, ComCtrls,
TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar, ExtCtrls,
JvExControls, JvComponent, JvNavigationPane, uViewGridBase, uViewGrid,
uViewContactos, uIEditorVendedores, pngimage, TBXStatusBars,
JvExComCtrls, JvStatusBar, JSDialog, uContactosController, uDAInterfaces,
uViewVendedores;
type
TfEditorVendedores = class(TfEditorContactos, IEditorVendedores)
frViewVendedores1: TfrViewVendedores;
JsPrevisualizarDialog: TJSDialog;
JsImprimirDialog: TJSDialog;
JsListaContactosNoEliminados: TJSDialog;
protected
procedure EliminarInterno; override;
procedure ImprimirInterno; override;
procedure PrevisualizarInterno; override;
public
constructor Create(AOwner: TComponent); override;
procedure PonerTitulos(const ATitulo: string = ''); override;
end;
implementation
uses
uGridUtils, uEditorGridBase, uDataModuleUsuarios, uDialogUtils, uBizContactos,
uVendedoresController, uDBSelectionListUtils, uFactuGES_App;
{$R *.dfm}
constructor TfEditorVendedores.Create(AOwner: TComponent);
begin
inherited;
ViewGrid := frViewVendedores1;
end;
procedure TfEditorVendedores.EliminarInterno;
var
AContactos: IBizContacto;
AllItems: Boolean;
begin
AContactos := Nil;
AllItems := False;
if MultiSelect and Assigned(ViewGrid) then
AllItems := (ViewGrid.NumSeleccionados > 1);
if AllItems then
begin
if (Application.MessageBox('¿Desea borrar los vendedores seleccionados?', 'Atención', MB_YESNO) = IDYES) then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Contactos as ISeleccionable).SelectedRecords);
AContactos := (Controller as IVendedoresController).ExtraerSeleccionados(Contactos) as IBizContacto;
end
end
else begin
if (Application.MessageBox('¿Desea borrar el vendedor seleccionado?', 'Atención', MB_YESNO) = IDYES) then
AContactos := Contactos;
end;
if Assigned(AContactos) then
begin
(FController as IVendedoresController).Eliminar(AContactos, AllItems);
if AllItems then
begin
if (AContactos.DataTable.RecordCount > 0) then
begin
with AContactos.DataTable do
begin
First;
while not EOF do
begin
JsListaContactosNoEliminados.Content.Add('Vendedor: ' + AContactos.NOMBRE);
Next;
end;
end;
JsListaContactosNoEliminados.Execute;
end;
actRefrescar.Execute;
end;
end;
ViewGrid.GotoFirst;
end;
procedure TfEditorVendedores.ImprimirInterno;
begin
inherited;
end;
procedure TfEditorVendedores.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
FTitulo := 'Lista de vendedores - ' + AppFactuGES.EmpresaActiva.NOMBRE;
inherited PonerTitulos(FTitulo);
end;
procedure TfEditorVendedores.PrevisualizarInterno;
begin
inherited;
end;
end.

View File

@ -0,0 +1,260 @@
inherited frViewVendedor: TfrViewVendedor
Width = 642
Height = 446
ExplicitWidth = 642
ExplicitHeight = 446
inherited dxLayoutControlContacto: TdxLayoutControl
Width = 642
Height = 446
ExplicitWidth = 642
ExplicitHeight = 446
inherited PngSpeedButton1: TPngSpeedButton
Left = 597
ExplicitLeft = 597
end
inherited PngSpeedButton2: TPngSpeedButton
Left = 597
ExplicitLeft = 597
end
inherited PngSpeedButton3: TPngSpeedButton
Left = 597
ExplicitLeft = 597
end
inherited eCalle: TcxDBTextEdit
Left = 121
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 4
ExplicitLeft = 121
ExplicitWidth = 152
Width = 152
end
inherited cbProvincia: TcxDBComboBox
Left = 121
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 5
ExplicitLeft = 121
ExplicitWidth = 144
Width = 144
end
inherited cbPoblacion: TcxDBComboBox
Left = 121
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 7
ExplicitLeft = 121
ExplicitWidth = 236
Width = 236
end
inherited eCodigoPostal: TcxDBTextEdit
Left = 273
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 6
ExplicitLeft = 273
end
inherited eObservaciones: TcxDBMemo
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 16
end
object edtComision: TcxDBSpinEdit [8]
Left = 121
Top = 82
AutoSize = False
DataBinding.DataField = 'COMISION'
DataBinding.DataSource = dsContacto
ParentFont = False
Properties.Alignment.Horz = taRightJustify
Properties.DisplayFormat = ',0.00 %;-,0.00 %'
Properties.ImmediatePost = True
Properties.MaxValue = 100.000000000000000000
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.Font.Charset = DEFAULT_CHARSET
Style.Font.Color = clWindowText
Style.Font.Height = -11
Style.Font.Name = 'Tahoma'
Style.Font.Style = []
Style.HotTrack = False
Style.LookAndFeel.NativeStyle = True
Style.TextColor = clWindowText
Style.ButtonStyle = bts3D
Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 3
Height = 21
Width = 65
end
inherited eTlfParticular: TcxDBTextEdit
Left = 463
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 10
ExplicitLeft = 463
ExplicitWidth = 91
Width = 91
end
inherited eTlfTrabajo: TcxDBTextEdit
Left = 463
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 9
ExplicitLeft = 463
ExplicitWidth = 127
Width = 127
end
inherited eTlfMovil: TcxDBTextEdit
Left = 463
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 11
ExplicitLeft = 463
ExplicitWidth = 155
Width = 155
end
inherited eFax: TcxDBTextEdit
Left = 463
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 12
ExplicitLeft = 463
ExplicitWidth = 121
Width = 121
end
inherited eNombre: TcxDBTextEdit
Left = 121
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 121
ExplicitWidth = 263
Width = 263
end
inherited eNIFCIF: TcxDBTextEdit
Left = 216
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 216
ExplicitWidth = 100
Width = 100
end
inherited eMailTrabajo: TcxDBHyperLinkEdit
Left = 463
Properties.Prefix = 'mailto:'
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 13
ExplicitLeft = 463
ExplicitWidth = 129
Width = 129
end
inherited eMailParticular: TcxDBHyperLinkEdit
Left = 463
Properties.Prefix = 'mailto:'
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 14
ExplicitLeft = 463
ExplicitWidth = 165
Width = 165
end
inherited ePaginaWeb: TcxDBHyperLinkEdit
Left = 463
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 15
ExplicitLeft = 463
ExplicitWidth = 165
Width = 165
end
inherited eReferencia: TcxDBTextEdit
Left = 121
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 121
ExplicitWidth = 38
Width = 38
end
inherited ePersonaContacto: TcxDBTextEdit
Left = 121
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 8
ExplicitLeft = 121
ExplicitWidth = 152
Width = 152
end
inherited dxLayoutControlContactoGroup_Root: TdxLayoutGroup
inherited dxLayoutControlContactoGroup9: TdxLayoutGroup
inherited dxLayoutControlContactoGroup4: TdxLayoutGroup
inherited dxLayoutControlContactoGroup1: TdxLayoutGroup
inherited dxLayoutControlContactoGroup16: TdxLayoutGroup
inherited dxLayoutControlContactoItem14: TdxLayoutItem
Caption = 'DNI:'
end
end
inherited dxLayoutControlContactoItem13: TdxLayoutItem
Caption = 'Nombre y apellidos:'
end
object dxLayoutControlContactoItem20: TdxLayoutItem
Caption = 'Comisi'#243'n:'
Control = edtComision
ControlOptions.ShowBorder = False
end
end
inherited dxLayoutControlContactoGroup3: TdxLayoutGroup
inherited dxLayoutControlContactoItem167: TdxLayoutItem
Visible = False
end
end
end
inherited dxLayoutControlContactoGroup6: TdxLayoutGroup
inherited dxLayoutControlContactoGroup2: TdxLayoutGroup
inherited dxLayoutControlContactoItem12: TdxLayoutItem
Visible = False
end
end
end
end
end
end
inherited dsContacto: TDADataSource
Left = 32
Top = 80
end
end

View File

@ -0,0 +1,57 @@
unit uViewVendedor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewContacto, dxLayoutLookAndFeels, DB, uDADataTable,
dxLayoutControl, cxMemo, cxDBEdit, cxContainer, cxEdit, cxTextEdit, cxControls,
cxMaskEdit, cxSpinEdit, ImgList, PngImageList, ActnList, cxHyperLinkEdit,
Buttons, PngSpeedButton, cxDropDownEdit, cxCalendar, cxGraphics,
uDAInterfaces, uCustomView, uViewBase, uBizContactos,
uViewObservaciones;
type
IViewVendedor = interface(IViewContacto)
['{245F4A36-39A4-4081-9826-F05FBBC729AE}']
end;
TfrViewVendedor = class(TfrViewContacto, IViewVendedor)
dxLayoutControlContactoItem20: TdxLayoutItem;
edtComision: TcxDBSpinEdit;
private
FDataItem : TDADataTable;
FListaUsuarios : TStringList;
function GetDataItem: TDADataTable;
procedure SetDataItem(const Value: TDADataTable);
protected
procedure SetContacto(const Value: IBizContacto); override;
public
property DataItem : TDADataTable read GetDataItem write SetDataItem;
end;
implementation
{$R *.dfm}
uses uFactuGES_App;
function TfrViewVendedor.GetDataItem: TDADataTable;
begin
Result := FDataItem;
end;
procedure TfrViewVendedor.SetContacto(const Value: IBizContacto);
begin
inherited;
DataItem := FContacto.DataTable;
end;
procedure TfrViewVendedor.SetDataItem(const Value: TDADataTable);
begin
FDataItem := Value;
end;
end.

View File

@ -0,0 +1,195 @@
inherited frViewVendedores: TfrViewVendedores
inherited cxGrid: TcxGrid
inherited cxGridView: TcxGridDBTableView
DataController.Summary.FooterSummaryItems = <
item
Format = '0 empleados'
Kind = skCount
Column = cxGridViewNOMBRE
end>
inherited cxGridViewNIF_CIF: TcxGridDBColumn
Caption = 'DNI'
end
inherited cxGridViewNOMBRE: TcxGridDBColumn
Caption = 'Nombre y apellidos'
end
inherited cxGridViewTELEFONO_2: TcxGridDBColumn
Visible = True
end
inherited cxGridViewEMAIL_1: TcxGridDBColumn
Visible = False
end
end
end
inherited frViewFiltroBase1: TfrViewFiltroBase
inherited TBXDockablePanel1: TTBXDockablePanel
inherited dxLayoutControl1: TdxLayoutControl
inherited txtFiltroTodo: TcxTextEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
end
inherited edtFechaIniFiltro: TcxDateEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 237
Width = 237
end
inherited edtFechaFinFiltro: TcxDateEdit
Left = 239
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 239
ExplicitWidth = 206
Width = 206
end
inherited eLista: TcxComboBox
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 215
Width = 215
end
end
end
end
inherited dxComponentPrinter: TdxComponentPrinter
inherited dxComponentPrinterLink: TdxGridReportLink
ReportDocument.CreationDate = 39211.791248726860000000
BuiltInReportLink = True
end
end
inherited GridPNGImageList: TPngImageList
PngImages = <
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000000097048597300000B1300000B1301009A9C1800000A4F694343505068
6F746F73686F70204943432070726F66696C65000078DA9D53675453E9163DF7
DEF4424B8880944B6F5215082052428B801491262A2109104A8821A1D91551C1
114545041BC8A088038E8E808C15512C0C8A0AD807E421A28E83A3888ACAFBE1
7BA36BD6BCF7E6CDFEB5D73EE7ACF39DB3CF07C0080C9648335135800CA9421E
11E083C7C4C6E1E42E40810A2470001008B3642173FD230100F87E3C3C2B22C0
07BE000178D30B0800C04D9BC0301C87FF0FEA42995C01808401C07491384B08
801400407A8E42A600404601809D98265300A0040060CB6362E300502D006027
7FE6D300809DF8997B01005B94211501A09100201365884400683B00ACCF568A
450058300014664BC43900D82D00304957664800B0B700C0CE100BB200080C00
305188852900047B0060C8232378008499001446F2573CF12BAE10E72A000078
99B23CB9243945815B082D710757572E1E28CE49172B14366102619A402EC279
99193281340FE0F3CC0000A0911511E083F3FD78CE0EAECECE368EB60E5F2DEA
BF06FF226262E3FEE5CFAB70400000E1747ED1FE2C2FB31A803B06806DFEA225
EE04685E0BA075F78B66B20F40B500A0E9DA57F370F87E3C3C45A190B9D9D9E5
E4E4D84AC4425B61CA577DFE67C25FC057FD6CF97E3CFCF7F5E0BEE22481325D
814704F8E0C2CCF44CA51CCF92098462DCE68F47FCB70BFFFC1DD322C44962B9
582A14E35112718E449A8CF332A52289429229C525D2FF64E2DF2CFB033EDF35
00B06A3E017B912DA85D6303F64B27105874C0E2F70000F2BB6FC1D428080380
6883E1CF77FFEF3FFD47A02500806649927100005E44242E54CAB33FC7080000
44A0812AB0411BF4C1182CC0061CC105DCC10BFC6036844224C4C24210420A64
801C726029AC82422886CDB01D2A602FD4401D34C051688693700E2EC255B80E
3D700FFA61089EC128BC81090441C808136121DA8801628A58238E08179985F8
21C14804128B2420C9881451224B91354831528A542055481DF23D720239875C
46BA913BC8003282FC86BC47319481B2513DD40CB543B9A8371A8446A20BD064
74319A8F16A09BD072B41A3D8C36A1E7D0AB680FDA8F3E43C730C0E8180733C4
6C302EC6C342B1382C099363CBB122AC0CABC61AB056AC03BB89F563CFB17704
128145C0093604774220611E4148584C584ED848A8201C243411DA0937090384
51C2272293A84BB426BA11F9C4186232318758482C23D6128F132F107B8843C4
37241289433227B9900249B1A454D212D246D26E5223E92CA99B34481A2393C9
DA646BB20739942C202BC885E49DE4C3E433E41BE421F25B0A9D624071A4F853
E22852CA6A4A19E510E534E5066598324155A39A52DDA8A15411358F5A42ADA1
B652AF5187A81334759A39CD8316494BA5ADA295D31A681768F769AFE874BA11
DD951E4E97D057D2CBE947E897E803F4770C0D861583C7886728199B18071867
197718AF984CA619D38B19C754303731EB98E7990F996F55582AB62A7C1591CA
0A954A9526951B2A2F54A9AAA6AADEAA0B55F355CB548FA95E537DAE46553353
E3A909D496AB55AA9D50EB531B5367A93BA887AA67A86F543FA47E59FD890659
C34CC34F43A451A0B15FE3BCC6200B6319B3782C216B0DAB86758135C426B1CD
D97C762ABB98FD1DBB8B3DAAA9A13943334A3357B352F394663F07E39871F89C
744E09E728A797F37E8ADE14EF29E2291BA6344CB931655C6BAA96979658AB48
AB51AB47EBBD36AEEDA79DA6BD45BB59FB810E41C74A275C2747678FCE059DE7
53D953DDA70AA7164D3D3AF5AE2EAA6BA51BA1BB4477BF6EA7EE989EBE5E809E
4C6FA7DE79BDE7FA1C7D2FFD54FD6DFAA7F5470C5806B30C2406DB0CCE183CC5
35716F3C1D2FC7DBF151435DC34043A561956197E18491B9D13CA3D5468D460F
8C69C65CE324E36DC66DC6A326062621264B4DEA4DEE9A524DB9A629A63B4C3B
4CC7CDCCCDA2CDD699359B3D31D732E79BE79BD79BDFB7605A785A2CB6A8B6B8
6549B2E45AA659EEB6BC6E855A3959A558555A5DB346AD9DAD25D6BBADBBA711
A7B94E934EAB9ED667C3B0F1B6C9B6A9B719B0E5D806DBAEB66DB67D61676217
67B7C5AEC3EE93BD937DBA7D8DFD3D070D87D90EAB1D5A1D7E73B472143A563A
DE9ACE9CEE3F7DC5F496E92F6758CF10CFD833E3B613CB29C4699D539BD34767
1767B97383F3888B894B82CB2E973E2E9B1BC6DDC8BDE44A74F5715DE17AD2F5
9D9BB39BC2EDA8DBAFEE36EE69EE87DC9FCC349F299E593373D0C3C843E051E5
D13F0B9F95306BDFAC7E4F434F8167B5E7232F632F9157ADD7B0B7A577AAF761
EF173EF63E729FE33EE33C37DE32DE595FCC37C0B7C8B7CB4FC36F9E5F85DF43
7F23FF64FF7AFFD100A78025016703898141815B02FBF87A7C21BF8E3F3ADB65
F6B2D9ED418CA0B94115418F82AD82E5C1AD2168C8EC90AD21F7E798CE91CE69
0E85507EE8D6D00761E6618BC37E0C2785878557863F8E7088581AD131973577
D1DC4373DF44FA449644DE9B67314F39AF2D4A352A3EAA2E6A3CDA37BA34BA3F
C62E6659CCD5589D58496C4B1C392E2AAE366E6CBEDFFCEDF387E29DE20BE37B
17982FC85D7079A1CEC2F485A716A92E122C3A96404C884E3894F041102AA816
8C25F21377258E0A79C21DC267222FD136D188D8435C2A1E4EF2482A4D7A92EC
91BC357924C533A52CE5B98427A990BC4C0D4CDD9B3A9E169A76206D323D3ABD
31839291907142AA214D93B667EA67E66676CBAC6585B2FEC56E8BB72F1E9507
C96BB390AC05592D0AB642A6E8545A28D72A07B267655766BFCD89CA3996AB9E
2BCDEDCCB3CADB90379CEF9FFFED12C212E192B6A5864B572D1D58E6BDAC6A39
B23C7179DB0AE315052B865606AC3CB88AB62A6DD54FABED5797AE7EBD267A4D
6B815EC1CA82C1B5016BEB0B550AE5857DEBDCD7ED5D4F582F59DFB561FA869D
1B3E15898AAE14DB1797157FD828DC78E51B876FCABF99DC94B4A9ABC4B964CF
66D266E9E6DE2D9E5B0E96AA97E6970E6E0DD9DAB40DDF56B4EDF5F645DB2F97
CD28DBBB83B643B9A3BF3CB8BC65A7C9CECD3B3F54A454F454FA5436EED2DDB5
61D7F86ED1EE1B7BBCF634ECD5DB5BBCF7FD3EC9BEDB5501554DD566D565FB49
FBB3F73FAE89AAE9F896FB6D5DAD4E6D71EDC703D203FD07230EB6D7B9D4D51D
D23D54528FD62BEB470EC71FBEFE9DEF772D0D360D558D9CC6E223704479E4E9
F709DFF71E0D3ADA768C7BACE107D31F761D671D2F6A429AF29A469B539AFB5B
625BBA4FCC3ED1D6EADE7AFC47DB1F0F9C343C59794AF354C969DAE982D39367
F2CF8C9D959D7D7E2EF9DC60DBA2B67BE763CEDF6A0F6FEFBA1074E1D245FF8B
E73BBC3BCE5CF2B874F2B2DBE51357B8579AAF3A5F6DEA74EA3CFE93D34FC7BB
9CBB9AAEB95C6BB9EE7ABDB57B66F7E91B9E37CEDDF4BD79F116FFD6D59E393D
DDBDF37A6FF7C5F7F5DF16DD7E7227FDCECBBBD97727EEADBC4FBC5FF440ED41
D943DD87D53F5BFEDCD8EFDC7F6AC077A0F3D1DC47F7068583CFFE91F58F0F43
058F998FCB860D86EB9E383E3939E23F72FDE9FCA743CF64CF269E17FEA2FECB
AE17162F7EF8D5EBD7CED198D1A197F29793BF6D7CA5FDEAC0EB19AFDBC6C2C6
1EBEC97833315EF456FBEDC177DC771DEFA3DF0F4FE47C207F28FF68F9B1F553
D0A7FB93199393FF040398F3FC63332DDB000000434944415478DA63FCFFFF3F
03258011D900464646ACA601D530126D00BA6298A1B80C21CA0090183639925C
80CB3B040DC0E69A510306BD010C04005E03C801036F00008D248BE16F9028BA
0000000049454E44AE426082}
Name = 'Icono_header'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000000097048597300000AC400000AC401666D82D4000002B84944415478DA
7DD25B4814511807F06FD61DC79DBDB8177577D9B23B4B2E3D84F6500F3D2542
D20DE902F910FA105D84209F0C45A82048082A562C4DA3A4B21E7C0B12332168
438D7523D128D745DDCBAC7B9B9DD9B9CF342B289AAC7F989773BEEFC739F31D
445114C807411058CBCCDBA64600E9762A4D56C4E2197FE06FF46EE7C08C0F36
64BDEF7F60FAE5E56687C3F22C976335C954065692698827C8DC989F38DBF731
38B22DF0A6A546E7AEDE17C2755839C70B90CDD21026D2200A3C8457D8D9D61E
FF11B5942A0CB41FAB7539AC9F8A3445C0B0022C1234386C2630EA00E61608E5
DEE0AFBA60981A29088C3FAE6F4E64F95E4144C06A31817BA7191059049E6381
6618783838D5F4EAF3527F41C0E7AD6FD8E1B47FD0A2E8EA9A248A20A8C71738
0E588E55DA9F4F340FFB228581A1CEA3CE6AF7EE105A5CBC2AC8B2ACDE5F5845
489216CF748CD54653FC976DA730D973FA9DD9885F582DCA0352FE14027C9B5E
9EBDFAE4C7717539BE2DD0D752E33AE4B14F1A30D421AB7BF96B24D314DFDAEB
BF35F53BD35D708CF9E8DA5ED88CA4CB8BEF92CF77C9FD8811D4374023D026D5
294CE2800FA102D788D777A6373EA875C0D4D167290D5ABE32065755AECC0937
ABE6A1D16381813F08780336D027A250925ECE2AECF773E1F7F747B700FB2FF5
3E15A5F21B94D50E399B034AAC18347810E89F33813699528108E02A82318B8B
11DF83C3742C94D8041C3CE90D7158792563B3036D2A03CE640111D783866501
A349C05304E049F54BC5202E8F5E8C8F0D0D6D023C271ECD8BA8654FAE34DF6C
05DE6804495B0C1AF527A25416302A05783A01BA4C1C086EFC7A7462B87B13E0
3ED57E45614ABB6483DDCA636644D0E901B45A005E02AD40032690A0A5E33C9F
9909ACCC0D379189D8CF2D53309BCD658273AF1BAD705582466F4064492329AC
20F15C0E2882449716226A5930AD66ADE71FDF3497F05E932988000000004945
4E44AE426082}
Name = 'PngImage1'
Background = clWindow
end>
Bitmap = {}
end
end

View File

@ -0,0 +1,29 @@
unit uViewVendedores;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewContactos, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg,
dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
dxPSEdgePatterns, ImgList, PngImageList, cxGridCustomPopupMenu,
cxGridPopupMenu, dxPSCore, dxPScxCommon, dxPScxGrid6Lnk, uDADataTable,
cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxClasses, cxControls, cxGridCustomView, cxGrid, dxPgsDlg, ActnList, TB2Item,
TBX, TB2Toolbar, TBXDkPanels, TB2Dock, uViewFiltroBase, uDAInterfaces,
uCustomView, uViewBase;
type
IViewVendedores = interface(IViewContactos)
['{15826F4B-664B-4DDA-B9CD-723CE8843094}']
end;
TfrViewVendedores = class(TfrViewContactos, IViewVendedores)
end;
implementation
{$R *.dfm}
end.