This repository has been archived on 2024-11-29. You can view files and clone it, but cannot push or open issues or pull requests.
Tecsitel_FactuGES/Obras/AlbaranesInstaladores.pas

385 lines
12 KiB
ObjectPascal
Raw Normal View History

{
===============================================================================
Copyright (<EFBFBD>) 2001. Rodax Software.
===============================================================================
Los contenidos de este fichero son propiedad de Rodax Software titular del
copyright. Este fichero s<EFBFBD>lo podr<EFBFBD> ser copiado, distribuido y utilizado,
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
acuerdo con los t<EFBFBD>rminos y condiciones establecidas en el acuerdo/contrato
bajo el que se suministra.
-----------------------------------------------------------------------------
Web: www.rodax-software.com
===============================================================================
Fecha primera versi<EFBFBD>n: 04-10-2004
Versi<EFBFBD>n actual: 1.0.0
Fecha versi<EFBFBD>n actual: 04-10-2004
===============================================================================
Modificaciones:
Fecha Comentarios
---------------------------------------------------------------------------
===============================================================================
}
unit AlbaranesInstaladores;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
RdxFrameAlbaranes, Grids, DBGrids, ComCtrls, RdxBotones, ToolWin, ExtCtrls,
Tipos, Menus, am2000menuitem, am2000popupmenu, am2000, Db, DBTables,
RdxPaneles, RdxBarras, RXDBCtrl, dxCntner, dxTL, dxDBCtrl,
dxDBGrid, StdCtrls, RdxComboBox, pngimage;
type
TfrAlbaranesInstaladores = class(TRdxFrameAlbaranes)
dsAlbaranes: TDataSource;
BarraAlbaranes: TRdxBarraSuperior;
bAnadir: TRdxBotonSuperior;
bModificar: TRdxBotonSuperior;
bEliminar: TRdxBotonSuperior;
bConsultar: TRdxBotonSuperior;
bBuscar: TRdxBotonSuperior;
pnlCuerpo: TRdxPanel;
pnlGridAlbaranesCliente: TPanel;
pnlExtra: TRdxBarraSuperior;
bImprimir: TRdxBoton;
bExportar: TRdxBoton;
brSeleccion: TRdxBarraInferior;
bSeleccionar: TRdxBoton;
bCancelarGuardar: TRdxBoton;
brSimple: TRdxBarraInferior;
bSalir: TRdxBoton;
gridAlbaranes: TdxDBGrid;
imgSombra: TImage;
RdxPanel1: TRdxPanel;
Label1: TLabel;
cbxAno: TRdxComboBox;
bEnviarCorreo: TRdxBoton;
procedure bAnadirClick(Sender: TObject);
procedure bModificarClick(Sender: TObject);
procedure bConsultarClick(Sender: TObject);
procedure bBuscarClick(Sender: TObject);
procedure bEliminarClick(Sender: TObject);
procedure bImprimirClick(Sender: TObject);
procedure bSalirClick(Sender: TObject);
procedure bSeleccionarClick(Sender: TObject);
procedure bCancelarGuardarClick(Sender: TObject);
procedure bExportarClick(Sender: TObject);
procedure gridAlbaranesRefreshButton(Sender: TObject);
procedure cbxAnoChange(Sender: TObject);
procedure gridAlbaranesDblClick(Sender: TObject);
procedure bEnviarCorreoClick(Sender: TObject);
private
FCodigoInstalador: String;
procedure SetCodigoInstalador(Value : String);
procedure ActualizarBotones;
protected
procedure BuscarAlbaran; override;
procedure FreeContenido; override;
procedure VerModal; override;
procedure ActualizarBarras; override;
public
constructor Create (AOwner : TComponent); override;
destructor Destroy; override;
published
property CodigoInstalador : String read FCodigoInstalador write SetCodigoInstalador;
property TablaAlbaranes;
property Entidad;
end;
var
frAlbaranesInstaladores: TfrAlbaranesInstaladores;
implementation
{$R *.DFM}
uses
AlbaranInstalador, BuscarAlbaranInstalador, FacturaCliente, SysFunc,
TablaAlbaranesInstalador, BaseDatos, Configuracion,
IBCustomDataSet, FacturasClientes, Mensajes, InformeAlbaranInstalador,
StrFunc, Constantes, Literales, RdxEmpresaActiva, Correo;
procedure TfrAlbaranesInstaladores.FreeContenido;
begin
if (Contenido is TRdxFrameAlbaranes) then
CodigoAlbaran := (Contenido as TRdxFrameAlbaranes).CodigoAlbaran;
inherited FreeContenido;
BuscarAlbaran;
end;
procedure TfrAlbaranesInstaladores.bAnadirClick(Sender: TObject);
begin
inherited;
Contenido := TfrAlbaranInstalador.Create(Self);
Contenido.Modo := Anadir;
end;
procedure TfrAlbaranesInstaladores.bModificarClick(Sender: TObject);
begin
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
Contenido := TfrAlbaranInstalador.Create(Self);
Contenido.Modo := Modificar;
end;
procedure TfrAlbaranesInstaladores.bConsultarClick(Sender: TObject);
begin
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
Contenido := TfrAlbaranInstalador.Create(Self);
Contenido.Modo := Consultar;
end;
procedure TfrAlbaranesInstaladores.bBuscarClick(Sender: TObject);
begin
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
Contenido := TfrBuscarAlbaranInstalador.Create(Self);
Contenido.Entidad := Self.Entidad;
end;
procedure TfrAlbaranesInstaladores.bEliminarClick(Sender: TObject);
begin
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
Contenido := TfrAlbaranInstalador.Create(Self);
Contenido.Modo := Eliminar;
end;
procedure TfrAlbaranesInstaladores.bImprimirClick(Sender: TObject);
var
FInformeAlbaran : TInformeAlbaranInstalador;
begin
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
FCodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
FInformeAlbaran := TInformeAlbaranInstalador.Create(Self);
try
FInformeAlbaran.Imprimir(FCodigoAlbaran);
finally
FInformeAlbaran.Free;
end;
end;
procedure TfrAlbaranesInstaladores.ActualizarBarras;
begin
inherited;
case Modo of
Facturar : begin
if BarraSeleccion <> NIL then BarraSeleccion.Visible := True;
if BarraSalir <> NIL then BarraSalir.Visible := False;
if BarraOperacion <> NIL then BarraOperacion.Visible := False;
end;
end;
end;
procedure TfrAlbaranesInstaladores.ActualizarBotones;
begin
if BaseDatos.IsReadOnly then
begin
bAnadir.Enabled := False;
bModificar.Enabled := False;
bEliminar.Enabled := False;
bConsultar.Enabled := True;
bBuscar.Enabled := True;
bExportar.Enabled := True;
bImprimir.Enabled := True;
Exit;
end;
if TablaAlbaranes.RecordCount = 0 then
begin
bAnadir.Enabled := True;
bModificar.Enabled := False;
bEliminar.Enabled := False;
bConsultar.Enabled := False;
bBuscar.Enabled := False;
bExportar.Enabled := False;
bImprimir.Enabled := False;
end
else begin
bAnadir.Enabled := True;
bModificar.Enabled := True;
bEliminar.Enabled := True;
bConsultar.Enabled := True;
bBuscar.Enabled := True;
bExportar.Enabled := True;
bImprimir.Enabled := True;
end;
end;
procedure TfrAlbaranesInstaladores.BuscarAlbaran;
begin
with TablaAlbaranes do
begin
DisableControls;
Close;
ParamByName('CODIGOEMPRESA').AsInteger := EmpresaActiva.Codigo;
Prepare;
Open;
dmTablaAlbaranesInstalador.InicializarTablaAlbaranes(@TablaAlbaranes);
ActualizarBotones;
EnableControls;
Locate('CODIGO', CodigoAlbaran, []);
end;
end;
constructor TfrAlbaranesInstaladores.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Entidad := entAlbaranInstalador;
ConfigurarFrame(Self, Self.Entidad);
BaseDatos := dmBaseDatos.BD;
Transaccion := dmBaseDatos.Transaccion;
TablaAlbaranes := TIBDataSet.Create(Self);
dsAlbaranes.DataSet := TablaAlbaranes;
with TablaAlbaranes do
begin
DisableControls;
Database := BaseDatos;
Transaction := Transaccion;
SelectSQL.Assign(dmTablaAlbaranesInstalador.sqlConsultarGridAlbaranes);
ParamByName('CODIGOEMPRESA').AsInteger := EmpresaActiva.Codigo;
Prepare;
Open;
ActualizarBotones;
EnableControls;
end;
dmTablaAlbaranesInstalador.InicializarTablaAlbaranes(@TablaAlbaranes);
dmTablaAlbaranesInstalador.InicializarGridAlbaranes(gridAlbaranes);
gridAlbaranes.GotoFirst;
cbxAno.Items := dmTablaAlbaranesInstalador.DarListaAnos(EmpresaActiva.Codigo);
cbxAno.ItemIndex := 0;
end;
destructor TfrAlbaranesInstaladores.Destroy;
begin
TablaAlbaranes.Close;
TablaAlbaranes.UnPrepare;
TablaAlbaranes.Free;
inherited;
end;
procedure TfrAlbaranesInstaladores.SetCodigoInstalador(Value: String);
begin
if FCodigoInstalador = Value then
exit;
FCodigoInstalador := Value;
with TablaAlbaranes do
begin
DisableControls;
Close;
SelectSQL.Assign(dmTablaAlbaranesInstalador.sqlConsultarGridAlbaranesIns);
ParamByName('CODIGOINSTALADOR').AsString := FCodigoInstalador;
ParamByName('CODIGOEMPRESA').AsInteger := EmpresaActiva.Codigo;
Prepare;
Open;
dmTablaAlbaranesInstalador.InicializarTablaAlbaranes(@TablaAlbaranes);
ActualizarBotones;
EnableControls;
Locate('CODIGO', CodigoAlbaran, []);
end;
end;
procedure TfrAlbaranesInstaladores.VerModal;
begin
FCodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
inherited;
end;
procedure TfrAlbaranesInstaladores.bSalirClick(Sender: TObject);
begin
CloseFrame;
end;
procedure TfrAlbaranesInstaladores.bSeleccionarClick(Sender: TObject);
begin
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
CloseFrame;
end;
procedure TfrAlbaranesInstaladores.bCancelarGuardarClick(Sender: TObject);
begin
FCodigoAlbaran := '';
CloseFrame;
end;
procedure TfrAlbaranesInstaladores.bExportarClick(Sender: TObject);
var
FInformeAlbaran : TInformeAlbaranInstalador;
Fichero : String;
begin
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
if not DarFicheroExportar(Fichero) then
Exit;
FCodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
FInformeAlbaran := TInformeAlbaranInstalador.Create(Self);
try
FInformeAlbaran.Exportar(FCodigoAlbaran, Fichero);
finally
FInformeAlbaran.Free;
end;
end;
procedure TfrAlbaranesInstaladores.gridAlbaranesRefreshButton(Sender: TObject);
begin
BuscarAlbaran;
end;
procedure TfrAlbaranesInstaladores.cbxAnoChange(Sender: TObject);
begin
if cbxAno.Text = CTE_TODOS then begin
gridAlbaranes.Filter.Remove(gridAlbaranes.FindColumnByFieldName(CTE_ANO));
gridAlbaranes.Filter.Clear;
end
else begin
gridAlbaranes.Filter.Clear;
gridAlbaranes.Filter.Add(gridAlbaranes.FindColumnByFieldName(CTE_ANO), cbxAno.Text, cbxAno.Text);
end;
gridAlbaranes.SetFocus;
gridAlbaranes.GotoFirst;
//Falta seleccionar tupla
end;
procedure TfrAlbaranesInstaladores.gridAlbaranesDblClick(Sender: TObject);
begin
if Modo = Seleccionar then
bSeleccionar.Click
else
bModificar.Click;
end;
procedure TfrAlbaranesInstaladores.bEnviarCorreoClick(Sender: TObject);
var
FInforme : TInformeAlbaranInstalador;
Fichero : String;
Datos: TDatosCorreo;
begin
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
Datos:= Nil;
Fichero := CodigoAlbaran;
Fichero := DarRutaTemporal + StringReplace(Fichero, CTE_SEPSERIADO, CTE_SEPSERIADO2, [rfReplaceAll, rfIgnoreCase]);
Fichero := Fichero + CTE_DOC;
//Generamos el fichero para luego adjuntaro al correo
FInforme:= TInformeAlbaranInstalador.Create(Self);
try
FInforme.Exportar(CodigoAlbaran, Fichero);
finally
FInforme.Free;
end;
try
//Creamos el correo
Datos:= TDatosCorreo.Create;
Datos.Adjuntos.Add(Fichero);
enviarCorreo(Datos);
finally
FreeAndNil(Datos);
end;
end;
end.