487 lines
15 KiB
ObjectPascal
487 lines
15 KiB
ObjectPascal
|
|
{
|
|||
|
|
===============================================================================
|
|||
|
|
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: 01-10-2001
|
|||
|
|
Versi<EFBFBD>n actual: 1.0.7
|
|||
|
|
Fecha versi<EFBFBD>n actual: 08-03-2004
|
|||
|
|
===============================================================================
|
|||
|
|
Modificaciones:
|
|||
|
|
|
|||
|
|
Fecha Comentarios
|
|||
|
|
---------------------------------------------------------------------------
|
|||
|
|
09-10-2001 Al pulsar la tecla ESC se activa el bot<EFBFBD>n 'Cancelar'. S<EFBFBD>lo
|
|||
|
|
pasa cuando este frame est<EFBFBD> en una ventana modal.
|
|||
|
|
|
|||
|
|
29-10-2001 Hacer m<EFBFBD>s grande la ventana modal para facturar un
|
|||
|
|
albar<EFBFBD>n.
|
|||
|
|
|
|||
|
|
18-01-2002 Se han coloreado las filas del grid dependiendo de la
|
|||
|
|
situaci<EFBFBD>n de la factura.
|
|||
|
|
|
|||
|
|
07-04-2002 Se ha adaptado para la transacci<EFBFBD>n <EFBFBD>nica.
|
|||
|
|
|
|||
|
|
06-05-2002 Adaptaci<EFBFBD>n al grid 'TdxDBGrid'.
|
|||
|
|
|
|||
|
|
08-04-2003 P263. Agrupar por a<EFBFBD>os los albaranes.
|
|||
|
|
|
|||
|
|
08-03-2004 Al hacer doble click sobre el grid, se pasar<EFBFBD> a modificar el
|
|||
|
|
registro o se seleccionar<EFBFBD>, dependiendo del modo en el que
|
|||
|
|
se encuentre la pantalla.
|
|||
|
|
|
|||
|
|
08-03-2004 p272. Adaptaci<EFBFBD>n a multiempresa.
|
|||
|
|
|
|||
|
|
===============================================================================
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
unit AlbaranesClientes;
|
|||
|
|
|
|||
|
|
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
|
|||
|
|
TfrAlbaranesClientes = class(TRdxFrameAlbaranes)
|
|||
|
|
dsAlbaranes: TDataSource;
|
|||
|
|
BarraAlbaranes: TRdxBarraSuperior;
|
|||
|
|
bAnadir: TRdxBotonSuperior;
|
|||
|
|
bModificar: TRdxBotonSuperior;
|
|||
|
|
bEliminar: TRdxBotonSuperior;
|
|||
|
|
bConsultar: TRdxBotonSuperior;
|
|||
|
|
bBuscar: TRdxBotonSuperior;
|
|||
|
|
pnlCuerpo: TRdxPanel;
|
|||
|
|
pnlGridAlbaranesCliente: TPanel;
|
|||
|
|
pnlExtra: TRdxBarraSuperior;
|
|||
|
|
bFacturar: TRdxBoton;
|
|||
|
|
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 bFacturarClick(Sender: TObject);
|
|||
|
|
procedure bImprimirClick(Sender: TObject);
|
|||
|
|
procedure bSalirClick(Sender: TObject);
|
|||
|
|
procedure bSeleccionarClick(Sender: TObject);
|
|||
|
|
procedure bCancelarGuardarClick(Sender: TObject);
|
|||
|
|
procedure Facturas1Click(Sender: TObject);
|
|||
|
|
procedure bExportarClick(Sender: TObject);
|
|||
|
|
procedure gridAlbaranesRefreshButton(Sender: TObject);
|
|||
|
|
procedure gridAlbaranesCustomDrawCell(Sender: TObject;
|
|||
|
|
ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
|
|||
|
|
AColumn: TdxTreeListColumn; ASelected, AFocused,
|
|||
|
|
ANewItemRow: Boolean; var AText: String; var AColor: TColor;
|
|||
|
|
AFont: TFont; var AAlignment: TAlignment; var ADone: Boolean);
|
|||
|
|
procedure cbxAnoChange(Sender: TObject);
|
|||
|
|
procedure gridAlbaranesDblClick(Sender: TObject);
|
|||
|
|
procedure bEnviarCorreoClick(Sender: TObject);
|
|||
|
|
private
|
|||
|
|
FCodigoCliente: String;
|
|||
|
|
procedure SetCodigoCliente(Value : String);
|
|||
|
|
procedure ActualizarBotones;
|
|||
|
|
protected
|
|||
|
|
procedure BuscarAlbaran; override;
|
|||
|
|
procedure FreeContenido; override;
|
|||
|
|
procedure VerModal; override;
|
|||
|
|
procedure CambiarModo(ModoAnterior, Modo : TRdxModo); override;
|
|||
|
|
procedure ActualizarBarras; override;
|
|||
|
|
public
|
|||
|
|
constructor Create (AOwner : TComponent); override;
|
|||
|
|
destructor Destroy; override;
|
|||
|
|
published
|
|||
|
|
property CodigoCliente : String read FCodigoCliente write SetCodigoCliente;
|
|||
|
|
property TablaAlbaranes;
|
|||
|
|
property Entidad;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
var
|
|||
|
|
frAlbaranesClientes: TfrAlbaranesClientes;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
{$R *.DFM}
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
AlbaranCliente, BuscarAlbaranCliente, FacturaCliente, SysFunc,
|
|||
|
|
TablaAlbaranesCliente, BaseDatos, Configuracion,
|
|||
|
|
IBCustomDataSet, FacturasClientes, Mensajes, InformeAlbaranCliente,
|
|||
|
|
StrFunc, Constantes, Literales, RdxEmpresaActiva, Correo, TablaClientes;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.FreeContenido;
|
|||
|
|
begin
|
|||
|
|
if (Contenido is TRdxFrameAlbaranes) then
|
|||
|
|
CodigoAlbaran := (Contenido as TRdxFrameAlbaranes).CodigoAlbaran;
|
|||
|
|
inherited FreeContenido;
|
|||
|
|
BuscarAlbaran;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.bAnadirClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
Contenido := TfrAlbaranCliente.Create(Self);
|
|||
|
|
Contenido.Modo := Anadir;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.bModificarClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
|
|||
|
|
if dmTablaAlbaranesCliente.AlbaranFacturado(EmpresaActiva.Codigo, CodigoAlbaran) then
|
|||
|
|
begin
|
|||
|
|
VerMensaje(msgAlbNoModificar);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
Contenido := TfrAlbaranCliente.Create(Self);
|
|||
|
|
Contenido.Modo := Modificar;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.bConsultarClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
|
|||
|
|
Contenido := TfrAlbaranCliente.Create(Self);
|
|||
|
|
Contenido.Modo := Consultar;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.bBuscarClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
|
|||
|
|
Contenido := TfrBuscarAlbaranCliente.Create(Self);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.bEliminarClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
|
|||
|
|
if dmTablaAlbaranesCliente.AlbaranFacturado(EmpresaActiva.Codigo, CodigoAlbaran) then
|
|||
|
|
begin
|
|||
|
|
VerMensaje(msgAlbNoEliminar);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
Contenido := TfrAlbaranCliente.Create(Self);
|
|||
|
|
Contenido.Modo := Eliminar;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.bFacturarClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
|
|||
|
|
|
|||
|
|
if dmTablaAlbaranesCliente.AlbaranFacturado(EmpresaActiva.Codigo, CodigoAlbaran) then
|
|||
|
|
begin
|
|||
|
|
VerMensajeFmt(msgAlbYaFacturado, [FCodigoAlbaran]);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
CaptionModal := 'Facturar albar<61>n de cliente';
|
|||
|
|
WidthModal := 758;
|
|||
|
|
ModoModal := Anadir;
|
|||
|
|
EntidadModal := entFacturaCliente;
|
|||
|
|
ContenidoModal := TfrFacturaCliente.Create(Self);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.bImprimirClick(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
FInformeAlbaran : TInformeAlbaranCliente;
|
|||
|
|
begin
|
|||
|
|
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
|
|||
|
|
FCodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
|
|||
|
|
FInformeAlbaran := TInformeAlbaranCliente.Create(Self);
|
|||
|
|
try
|
|||
|
|
FInformeAlbaran.Imprimir(FCodigoAlbaran);
|
|||
|
|
finally
|
|||
|
|
FInformeAlbaran.Free;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.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 TfrAlbaranesClientes.ActualizarBotones;
|
|||
|
|
begin
|
|||
|
|
if BaseDatos.IsReadOnly then
|
|||
|
|
begin
|
|||
|
|
bAnadir.Enabled := False;
|
|||
|
|
bModificar.Enabled := False;
|
|||
|
|
bEliminar.Enabled := False;
|
|||
|
|
bConsultar.Enabled := True;
|
|||
|
|
bBuscar.Enabled := True;
|
|||
|
|
bFacturar.Enabled := False;
|
|||
|
|
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;
|
|||
|
|
bFacturar.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;
|
|||
|
|
bFacturar.Enabled := True;
|
|||
|
|
bExportar.Enabled := True;
|
|||
|
|
bImprimir.Enabled := True;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.BuscarAlbaran;
|
|||
|
|
begin
|
|||
|
|
with TablaAlbaranes do
|
|||
|
|
begin
|
|||
|
|
DisableControls;
|
|||
|
|
Close;
|
|||
|
|
ParamByName('CODIGOEMPRESA').AsInteger := EmpresaActiva.Codigo;
|
|||
|
|
Prepare;
|
|||
|
|
Open;
|
|||
|
|
dmTablaAlbaranesCliente.InicializarTablaAlbaranes(@TablaAlbaranes);
|
|||
|
|
ActualizarBotones;
|
|||
|
|
EnableControls;
|
|||
|
|
Locate('CODIGO', CodigoAlbaran, []);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.CambiarModo(ModoAnterior, Modo: TRdxModo);
|
|||
|
|
begin
|
|||
|
|
with TablaAlbaranes do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
case Modo of
|
|||
|
|
Facturar : SelectSQL.Assign(dmTablaAlbaranesCliente.sqlConsultarGridAlbaranesFacturar);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
inherited;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
constructor TfrAlbaranesClientes.Create(AOwner: TComponent);
|
|||
|
|
begin
|
|||
|
|
inherited Create(AOwner);
|
|||
|
|
Entidad := entAlbaranCliente;
|
|||
|
|
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(dmTablaAlbaranesCliente.sqlConsultarGridAlbaranes);
|
|||
|
|
ParamByName('CODIGOEMPRESA').AsInteger := EmpresaActiva.Codigo;
|
|||
|
|
Prepare;
|
|||
|
|
Open;
|
|||
|
|
ActualizarBotones;
|
|||
|
|
EnableControls;
|
|||
|
|
end;
|
|||
|
|
dmTablaAlbaranesCliente.InicializarTablaAlbaranes(@TablaAlbaranes);
|
|||
|
|
dmTablaAlbaranesCliente.InicializarGridAlbaranes(gridAlbaranes);
|
|||
|
|
gridAlbaranes.GotoFirst;
|
|||
|
|
|
|||
|
|
cbxAno.Items := dmTablaAlbaranesCliente.DarListaAnos(EmpresaActiva.Codigo);
|
|||
|
|
cbxAno.ItemIndex := 0;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
destructor TfrAlbaranesClientes.Destroy;
|
|||
|
|
begin
|
|||
|
|
TablaAlbaranes.Close;
|
|||
|
|
TablaAlbaranes.UnPrepare;
|
|||
|
|
TablaAlbaranes.Free;
|
|||
|
|
inherited;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.SetCodigoCliente(Value: String);
|
|||
|
|
begin
|
|||
|
|
if FCodigoCliente = Value then
|
|||
|
|
exit;
|
|||
|
|
FCodigoCliente := Value;
|
|||
|
|
with TablaAlbaranes do
|
|||
|
|
begin
|
|||
|
|
DisableControls;
|
|||
|
|
Close;
|
|||
|
|
SelectSQL.Assign(dmTablaAlbaranesCliente.sqlConsultarGridAlbaranesCli);
|
|||
|
|
ParamByName('CODIGOCLIENTE').AsString := FCodigoCliente;
|
|||
|
|
ParamByName('CODIGOEMPRESA').AsInteger := EmpresaActiva.Codigo;
|
|||
|
|
Prepare;
|
|||
|
|
Open;
|
|||
|
|
dmTablaAlbaranesCliente.InicializarTablaAlbaranes(@TablaAlbaranes);
|
|||
|
|
ActualizarBotones;
|
|||
|
|
EnableControls;
|
|||
|
|
Locate('CODIGO', CodigoAlbaran, []);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.VerModal;
|
|||
|
|
begin
|
|||
|
|
FCodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
|
|||
|
|
if (ContenidoModal is TfrFacturaCliente) then
|
|||
|
|
(ContenidoModal as TfrFacturaCliente).CodigoAlbaran := CodigoAlbaran;
|
|||
|
|
inherited;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.bSalirClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
CloseFrame;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.bSeleccionarClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
|
|||
|
|
CloseFrame;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.bCancelarGuardarClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
FCodigoAlbaran := '';
|
|||
|
|
CloseFrame;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.Facturas1Click(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
|
|||
|
|
CaptionModal := Format('Factura del albar<61>n %s', [TablaAlbaranes.FieldByName('CODIGO').AsString]);
|
|||
|
|
WidthModal := 815;
|
|||
|
|
HeightModal := 600;
|
|||
|
|
ModoModal := Consultar;
|
|||
|
|
ContenidoModal := TfrFacturasClientes.Create(Self);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.bExportarClick(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
FInformeAlbaran : TInformeAlbaranCliente;
|
|||
|
|
Fichero : String;
|
|||
|
|
begin
|
|||
|
|
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
|
|||
|
|
if not DarFicheroExportar(Fichero) then
|
|||
|
|
Exit;
|
|||
|
|
FCodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
|
|||
|
|
FInformeAlbaran := TInformeAlbaranCliente.Create(Self);
|
|||
|
|
try
|
|||
|
|
FInformeAlbaran.Exportar(FCodigoAlbaran, Fichero);
|
|||
|
|
finally
|
|||
|
|
FInformeAlbaran.Free;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.gridAlbaranesRefreshButton(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
BuscarAlbaran;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.gridAlbaranesCustomDrawCell(Sender: TObject;
|
|||
|
|
ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
|
|||
|
|
AColumn: TdxTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean;
|
|||
|
|
var AText: String; var AColor: TColor; AFont: TFont;
|
|||
|
|
var AAlignment: TAlignment; var ADone: Boolean);
|
|||
|
|
var
|
|||
|
|
IndiceCol : Integer;
|
|||
|
|
begin
|
|||
|
|
if not ASelected then
|
|||
|
|
begin
|
|||
|
|
IndiceCol := (Sender as TdxDBGrid).ColumnByFieldName('CODIGOFACTURA').Index;
|
|||
|
|
if not EsCadenaVacia(ANode.Strings[IndiceCol]) then
|
|||
|
|
AFont.Color := COLOR_FACTURADO;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.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 TfrAlbaranesClientes.gridAlbaranesDblClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
if Modo = Seleccionar then
|
|||
|
|
bSeleccionar.Click
|
|||
|
|
else
|
|||
|
|
bModificar.Click;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrAlbaranesClientes.bEnviarCorreoClick(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
FInforme : TInformeAlbaranCliente;
|
|||
|
|
Fichero : String;
|
|||
|
|
Datos: TDatosCorreo;
|
|||
|
|
CodigoCliente: String;
|
|||
|
|
|
|||
|
|
begin
|
|||
|
|
CodigoAlbaran := TablaAlbaranes.FieldByName('CODIGO').AsString;
|
|||
|
|
CodigoCliente := TablaAlbaranes.FieldByName('CODIGOCLIENTE').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:= TInformeAlbaranCliente.Create(Self);
|
|||
|
|
try
|
|||
|
|
FInforme.Exportar(CodigoAlbaran, Fichero);
|
|||
|
|
finally
|
|||
|
|
FInforme.Free;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
try
|
|||
|
|
//Creamos el correo
|
|||
|
|
Datos:= TDatosCorreo.Create;
|
|||
|
|
Datos.Direcciones.add(dmTablaClientes.darCorreo(CodigoCliente));
|
|||
|
|
Datos.Adjuntos.Add(Fichero);
|
|||
|
|
enviarCorreo(Datos);
|
|||
|
|
finally
|
|||
|
|
FreeAndNil(Datos);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end.
|