FactuGES2/Source/Modulos/Contactos/Views/uEditorEmpleados.pas
david 9f3343c14e Contactos:
- Repaso general
- Cambiar 'empleados' por 'vendedores'
- Mover vendedores al menú de empresa. 
- Ocultar pestañas de formación y experiencia de un empleado.




git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@140 f4e31baf-9722-1c47-927c-6f952f962d4b
2008-02-24 15:24:06 +00:00

188 lines
5.6 KiB
ObjectPascal

unit uEditorEmpleados;
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, uViewEmpleados, uIEditorEmpleados, pngimage, TBXStatusBars,
JvExComCtrls, JvStatusBar, JSDialog, uContactosController, uDAInterfaces;
type
TfEditorEmpleados = class(TfEditorContactos, IEditorEmpleados)
frViewEmpleados1: TfrViewEmpleados;
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,
uEmpleadosController, uDBSelectionListUtils, uFactuGES_App;
{$R *.dfm}
constructor TfEditorEmpleados.Create(AOwner: TComponent);
begin
inherited;
ViewGrid := frViewEmpleados1;
end;
procedure TfEditorEmpleados.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 IEmpleadosController).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 IEmpleadosController).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 TfEditorEmpleados.ImprimirInterno;
var
Respuesta : Integer;
AFichas: IBizEmpleado;
AllItems: Boolean;
begin
{
AFichas := Nil;
AllItems := False;
if MultiSelect and Assigned(ViewGrid) then
AllItems := (ViewGrid.NumSeleccionados > 1);
//Si esta agrupado solo podré imprimir la lista de elementos visibles
if not ViewGrid.esSeleccionCeldaDatos then
inherited
else
begin
Respuesta := JsPrevisualizarDialog.Execute;
if Respuesta <> IDCANCEL then
begin
case JsPrevisualizarDialog.CustomButtonResult of
200 : begin // Lista de elementos visibles
inherited;
end;
100 : begin // Elemento Seleccionado
if AllItems then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Contactos as ISeleccionable).SelectedRecords);
AFichas := (Controller as IFacturasClienteController).ExtraerSeleccionados(Facturas) as IBizEmpleado;
end
else
AFichas := Facturas;
if Assigned(AFichas) then
FController.Preview(AFichas, AllItems);
end;
end;
end;
end;
}
end;
procedure TfEditorEmpleados.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
FTitulo := 'Lista de vendedores - ' + AppFactuGES.EmpresaActiva.NOMBRE;
inherited PonerTitulos(FTitulo);
end;
procedure TfEditorEmpleados.PrevisualizarInterno;
var
Respuesta : Integer;
AFichas: IBizEmpleado;
AllItems: Boolean;
begin
AFichas := Nil;
AllItems := False;
if MultiSelect and Assigned(ViewGrid) then
AllItems := (ViewGrid.NumSeleccionados > 1);
//Si esta agrupado solo podré imprimir la lista de elementos visibles
if not ViewGrid.esSeleccionCeldaDatos then
inherited
else
begin
Respuesta := JsPrevisualizarDialog.Execute;
if Respuesta <> IDCANCEL then
begin
case JsPrevisualizarDialog.CustomButtonResult of
200 : begin // Lista de elementos visibles
inherited;
end;
100 : begin // Elemento Seleccionado
if AllItems then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Contactos as ISeleccionable).SelectedRecords);
AFichas := (Controller as IEmpleadosController).ExtraerSeleccionados(Contactos) as IBizEmpleado;
end
else
AFichas := (Contactos as IBizEmpleado);
if Assigned(AFichas) then
(FController as IEmpleadosController).Preview(AFichas, AllItems);
end;
end;
end;
end;
end;
end.