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/Proveedores/AlbaranesProveedores.pas

388 lines
12 KiB
ObjectPascal
Raw Permalink 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 AlbaranesProveedores;
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
TfrAlbaranesProveedores = 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
FCodigoProveedor: String;
procedure SetCodigoProveedor(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 CodigoProveedor : String read FCodigoProveedor write SetCodigoProveedor;
property TablaAlbaranes;
property Entidad;
end;
var
frAlbaranesProveedores: TfrAlbaranesProveedores;
implementation
{$R *.DFM}
uses
AlbaranProveedor, BuscarAlbaranProveedor, FacturaCliente, SysFunc,
TablaAlbaranesProveedor, BaseDatos, Configuracion,
IBCustomDataSet, FacturasClientes, Mensajes, InformeAlbaranProveedor,
StrFunc, Constantes, Literales, RdxEmpresaActiva, Correo,
TablaProveedores;
procedure TfrAlbaranesProveedores.FreeContenido;
begin
if (Contenido is TRdxFrameAlbaranes) then
CodigoAlbaran := (Contenido as TRdxFrameAlbaranes).CodigoAlbaran;
inherited FreeContenido;
BuscarAlbaran;
end;
procedure TfrAlbaranesProveedores.bAnadirClick(Sender: TObject);
begin
inherited;
Contenido := TfrAlbaranProveedor.Create(Self);
Contenido.Modo := Anadir;
end;
procedure TfrAlbaranesProveedores.bModificarClick(Sender: TObject);
begin
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
Contenido := TfrAlbaranProveedor.Create(Self);
Contenido.Modo := Modificar;
end;
procedure TfrAlbaranesProveedores.bConsultarClick(Sender: TObject);
begin
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
Contenido := TfrAlbaranProveedor.Create(Self);
Contenido.Modo := Consultar;
end;
procedure TfrAlbaranesProveedores.bBuscarClick(Sender: TObject);
begin
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
Contenido := TfrBuscarAlbaranProveedor.Create(Self);
end;
procedure TfrAlbaranesProveedores.bEliminarClick(Sender: TObject);
begin
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
Contenido := TfrAlbaranProveedor.Create(Self);
Contenido.Modo := Eliminar;
end;
procedure TfrAlbaranesProveedores.bImprimirClick(Sender: TObject);
var
FInformeAlbaran : TInformeAlbaranProveedor;
begin
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
FCodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
FInformeAlbaran := TInformeAlbaranProveedor.Create(Self);
try
FInformeAlbaran.Imprimir(FCodigoAlbaran);
finally
FInformeAlbaran.Free;
end;
end;
procedure TfrAlbaranesProveedores.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 TfrAlbaranesProveedores.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 TfrAlbaranesProveedores.BuscarAlbaran;
begin
with TablaAlbaranes do
begin
DisableControls;
Close;
ParamByName('CODIGOEMPRESA').AsInteger := EmpresaActiva.Codigo;
Prepare;
Open;
dmTablaAlbaranesProveedor.InicializarTablaAlbaranes(@TablaAlbaranes);
ActualizarBotones;
EnableControls;
Locate('CODIGO', CodigoAlbaran, []);
end;
end;
constructor TfrAlbaranesProveedores.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Entidad := entAlbaranProveedor;
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(dmTablaAlbaranesProveedor.sqlConsultarGridAlbaranes);
ParamByName('CODIGOEMPRESA').AsInteger := EmpresaActiva.Codigo;
Prepare;
Open;
ActualizarBotones;
EnableControls;
end;
dmTablaAlbaranesProveedor.InicializarTablaAlbaranes(@TablaAlbaranes);
dmTablaAlbaranesProveedor.InicializarGridAlbaranes(gridAlbaranes);
gridAlbaranes.GotoFirst;
cbxAno.Items := dmTablaAlbaranesProveedor.DarListaAnos(EmpresaActiva.Codigo);
cbxAno.ItemIndex := 0;
end;
destructor TfrAlbaranesProveedores.Destroy;
begin
TablaAlbaranes.Close;
TablaAlbaranes.UnPrepare;
TablaAlbaranes.Free;
inherited;
end;
procedure TfrAlbaranesProveedores.SetCodigoProveedor(Value: String);
begin
if FCodigoProveedor = Value then
exit;
FCodigoProveedor := Value;
with TablaAlbaranes do
begin
DisableControls;
Close;
SelectSQL.Assign(dmTablaAlbaranesProveedor.sqlConsultarGridAlbaranesPro);
ParamByName('CODIGOPROVEEDOR').AsString := FCodigoProveedor;
ParamByName('CODIGOEMPRESA').AsInteger := EmpresaActiva.Codigo;
Prepare;
Open;
dmTablaAlbaranesProveedor.InicializarTablaAlbaranes(@TablaAlbaranes);
ActualizarBotones;
EnableControls;
Locate('CODIGO', CodigoAlbaran, []);
end;
end;
procedure TfrAlbaranesProveedores.VerModal;
begin
FCodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
inherited;
end;
procedure TfrAlbaranesProveedores.bSalirClick(Sender: TObject);
begin
CloseFrame;
end;
procedure TfrAlbaranesProveedores.bSeleccionarClick(Sender: TObject);
begin
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
CloseFrame;
end;
procedure TfrAlbaranesProveedores.bCancelarGuardarClick(Sender: TObject);
begin
FCodigoAlbaran := '';
CloseFrame;
end;
procedure TfrAlbaranesProveedores.bExportarClick(Sender: TObject);
var
FInformeAlbaran : TInformeAlbaranProveedor;
Fichero : String;
begin
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
if not DarFicheroExportar(Fichero) then
Exit;
FCodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
FInformeAlbaran := TInformeAlbaranProveedor.Create(Self);
try
FInformeAlbaran.Exportar(FCodigoAlbaran, Fichero);
finally
FInformeAlbaran.Free;
end;
end;
procedure TfrAlbaranesProveedores.gridAlbaranesRefreshButton(Sender: TObject);
begin
BuscarAlbaran;
end;
procedure TfrAlbaranesProveedores.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 TfrAlbaranesProveedores.gridAlbaranesDblClick(Sender: TObject);
begin
if Modo = Seleccionar then
bSeleccionar.Click
else
bModificar.Click;
end;
procedure TfrAlbaranesProveedores.bEnviarCorreoClick(Sender: TObject);
var
FInforme : TInformeAlbaranProveedor;
Fichero : String;
Datos: TDatosCorreo;
CodigoProveedor: String;
begin
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
CodigoProveedor := TablaAlbaranes.FieldByName('CODIGOPROVEEDOR').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:= TInformeAlbaranProveedor.Create(Self);
try
FInforme.Exportar(CodigoAlbaran, Fichero);
finally
FInforme.Free;
end;
try
//Creamos el correo
Datos:= TDatosCorreo.Create;
Datos.Direcciones.add(dmTablaProveedores.darCorreo(CodigoProveedor));
Datos.Adjuntos.Add(Fichero);
enviarCorreo(Datos);
finally
FreeAndNil(Datos);
end;
end;
end.