Tarea #1178 -> Al enviar por email un albarán de proveedor, preguntar si se quiere con precios o no (como al imprimir)
git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES2/trunk@182 b2cfbe5a-eba1-4a0c-8b32-7feea0a119f2
This commit is contained in:
parent
ac3fa65c56
commit
87562cd1b4
@ -11,6 +11,15 @@ type
|
||||
function GetAlbaranes: IBizAlbaranProveedor;
|
||||
procedure SetAlbaranes(const Value: IBizAlbaranProveedor);
|
||||
property Albaranes: IBizAlbaranProveedor read GetAlbaranes write SetAlbaranes;
|
||||
|
||||
function GetVerPrecios: Boolean;
|
||||
procedure SetVerPrecios(const Value: Boolean);
|
||||
property VerPrecios: Boolean read GetVerPrecios write SetVerPrecios;
|
||||
|
||||
function GetVerRefProveedor: Boolean;
|
||||
procedure SetVerRefProveedor(const Value: Boolean);
|
||||
property VerRefProveedor: Boolean read GetVerRefProveedor write SetVerRefProveedor;
|
||||
|
||||
function ShowModal : Integer;
|
||||
procedure Release;
|
||||
end;
|
||||
|
||||
@ -65,12 +65,15 @@ type
|
||||
function Print(AAlbaran : IBizAlbaranProveedor; AllItems: Boolean = false;
|
||||
const VerPrecios: Boolean = True; const VerRefProveedor: Boolean = True): Boolean;
|
||||
|
||||
procedure GenerarEmailAlbaran(AAlbaran : IBizAlbaranProveedor);
|
||||
function EnviarEmailAlbaranes(AAlbaranes : IBizAlbaranProveedor): Boolean;
|
||||
procedure GenerarEmailAlbaran(AAlbaran : IBizAlbaranProveedor;
|
||||
const VerPrecios: Boolean = True; const VerRefProveedor: Boolean = True);
|
||||
function EnviarEmailAlbaranes(AAlbaranes : IBizAlbaranProveedor;
|
||||
const VerPrecios: Boolean = True; const VerRefProveedor: Boolean = True): Boolean;
|
||||
function EnviarAlbaranPorEMail(AAlbaran: IBizAlbaranProveedor;
|
||||
const AEnviarDirectamente: Boolean = True;
|
||||
const ADireccionEMail: String = ''; const AAsuntoEMail: String = '';
|
||||
const ATextoEMail: String = ''): Boolean;
|
||||
const ATextoEMail: String = ''; const VerPrecios: Boolean = True;
|
||||
const VerRefProveedor: Boolean = True): Boolean;
|
||||
|
||||
function DarListaAnosAlbaranes: TStringList;
|
||||
procedure FiltrarAno(AAlbaran: IBizAlbaranProveedor; ADynWhereDataTable: WideString; const Ano: String);
|
||||
@ -158,12 +161,15 @@ type
|
||||
function Print(AAlbaran : IBizAlbaranProveedor; AllItems: Boolean = false;
|
||||
const VerPrecios: Boolean = True; const VerRefProveedor: Boolean = True): Boolean;
|
||||
|
||||
procedure GenerarEmailAlbaran(AAlbaran : IBizAlbaranProveedor);
|
||||
function EnviarEmailAlbaranes(AAlbaranes : IBizAlbaranProveedor): Boolean;
|
||||
procedure GenerarEmailAlbaran(AAlbaran : IBizAlbaranProveedor;
|
||||
const VerPrecios: Boolean = True; const VerRefProveedor: Boolean = True);
|
||||
function EnviarEmailAlbaranes(AAlbaranes : IBizAlbaranProveedor;
|
||||
const VerPrecios: Boolean = True; const VerRefProveedor: Boolean = True): Boolean;
|
||||
function EnviarAlbaranPorEMail(AAlbaran: IBizAlbaranProveedor;
|
||||
const AEnviarDirectamente: Boolean = True;
|
||||
const ADireccionEMail: String = ''; const AAsuntoEMail: String = '';
|
||||
const ATextoEMail: String = ''): Boolean;
|
||||
const ATextoEMail: String = ''; const VerPrecios: Boolean = True;
|
||||
const VerRefProveedor: Boolean = True): Boolean;
|
||||
|
||||
function DarListaAnosAlbaranes: TStringList;
|
||||
procedure FiltrarAno(AAlbaran: IBizAlbaranProveedor; ADynWhereDataTable: WideString; const Ano: String);
|
||||
@ -947,9 +953,11 @@ begin
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TAlbaranesProveedorController.EnviarAlbaranPorEMail(
|
||||
AAlbaran: IBizAlbaranProveedor; const AEnviarDirectamente: Boolean;
|
||||
const ADireccionEMail, AAsuntoEMail, ATextoEMail: String): Boolean;
|
||||
const ADireccionEMail, AAsuntoEMail, ATextoEMail: String;
|
||||
const VerPrecios: Boolean; const VerRefProveedor: Boolean): Boolean;
|
||||
var
|
||||
AReportController : IAlbaranesProveedorReportController;
|
||||
AFicheroTMP : TFileName;
|
||||
@ -957,6 +965,8 @@ var
|
||||
AAsunto : String;
|
||||
AListaEmail : TStringList;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
if not Assigned(AAlbaran) then
|
||||
raise Exception.Create ('Albaran no asignada (EnviarAlbaranPorEMail)');
|
||||
|
||||
@ -996,7 +1006,7 @@ begin
|
||||
|
||||
AReportController := TAlbaranesProveedorReportController.Create;
|
||||
try
|
||||
AReportController.ExportToPDF(AAlbaran.ID, AFicheroTMP);
|
||||
AReportController.ExportToPDF(AAlbaran.ID, AFicheroTMP, VerPrecios, VerRefProveedor);
|
||||
Result := EnviarEMailMAPI(AAsunto, ATextoEMail, AFicheroTMP, '', '', AAlbaran.Proveedor.NOMBRE, AEMail, AEnviarDirectamente);
|
||||
if Result then
|
||||
_AnadirMarcaEnvioCorreo(AAlbaran);
|
||||
@ -1009,12 +1019,14 @@ begin
|
||||
end;
|
||||
|
||||
function TAlbaranesProveedorController.EnviarEmailAlbaranes(
|
||||
AAlbaranes: IBizAlbaranProveedor): Boolean;
|
||||
AAlbaranes: IBizAlbaranProveedor; const VerPrecios: Boolean;
|
||||
const VerRefProveedor: Boolean): Boolean;
|
||||
var
|
||||
ADialog : IDialogListaAlbaranesProveedorEnvioEMail;
|
||||
ARespuesta : Integer;
|
||||
begin
|
||||
ADialog := NIL;
|
||||
Result := False;
|
||||
|
||||
if not Assigned(AAlbaranes) then
|
||||
raise Exception.Create ('Albaranes no asignadas (EnviarAlbaranesPorEMail)');
|
||||
@ -1030,6 +1042,8 @@ begin
|
||||
begin
|
||||
try
|
||||
ADialog.Albaranes := AAlbaranes;
|
||||
ADialog.VerPrecios := VerPrecios;
|
||||
ADialog.VerRefProveedor := VerRefProveedor;
|
||||
ARespuesta := ADialog.ShowModal;
|
||||
Result := (ARespuesta = mrOK)
|
||||
finally
|
||||
@ -1281,8 +1295,6 @@ var
|
||||
AReportController : IAlbaranesProveedorReportController;
|
||||
ID_Albaranes: TIntegerList;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
AReportController := TAlbaranesProveedorReportController.Create;
|
||||
ID_Albaranes := TIntegerList.Create;
|
||||
|
||||
@ -1375,7 +1387,8 @@ begin
|
||||
end;
|
||||
|
||||
procedure TAlbaranesProveedorController.GenerarEmailAlbaran(
|
||||
AAlbaran: IBizAlbaranProveedor);
|
||||
AAlbaran: IBizAlbaranProveedor; const VerPrecios: Boolean;
|
||||
const VerRefProveedor: Boolean);
|
||||
begin
|
||||
if not Assigned(AAlbaran) then
|
||||
raise Exception.Create ('Albaranes no asignadas (GenerarEmailAlbaran)');
|
||||
@ -1387,7 +1400,9 @@ begin
|
||||
try
|
||||
RecuperarProveedor(AAlbaran);
|
||||
RecuperarClienteFinal(AAlbaran);
|
||||
EnviarAlbaranPorEMail(AAlbaran, False, AAlbaran.Proveedor.EMAIL_ADMINISTRACION);
|
||||
EnviarAlbaranPorEMail(AAlbaran, False,
|
||||
AAlbaran.Proveedor.EMAIL_ADMINISTRACION, '', '',
|
||||
VerPrecios, VerRefProveedor);
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
|
||||
@ -16,15 +16,25 @@ type
|
||||
private
|
||||
FAlbaranes : IBizAlbaranProveedor;
|
||||
FController : IAlbaranesProveedorController;
|
||||
FVerPrecios : Boolean;
|
||||
FVerRefProveedor : Boolean;
|
||||
protected
|
||||
function GetAlbaranes: IBizAlbaranProveedor;
|
||||
procedure SetAlbaranes(const Value: IBizAlbaranProveedor);
|
||||
|
||||
function GetVerPrecios: Boolean;
|
||||
procedure SetVerPrecios(const Value: Boolean);
|
||||
|
||||
function GetVerRefProveedor: Boolean;
|
||||
procedure SetVerRefProveedor(const Value: Boolean);
|
||||
|
||||
procedure RellenarLista;
|
||||
procedure BorrarLista;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
property Albaranes: IBizAlbaranProveedor read GetAlbaranes write SetAlbaranes;
|
||||
property VerPrecios: Boolean read GetVerPrecios write SetVerPrecios;
|
||||
property VerRefProveedor: Boolean read GetVerRefProveedor write SetVerRefProveedor;
|
||||
end;
|
||||
|
||||
implementation
|
||||
@ -52,7 +62,9 @@ begin
|
||||
begin
|
||||
if not EsCadenaVacia(FAlbaranes.Proveedor.EMAIL_ADMINISTRACION) then
|
||||
begin
|
||||
if FController.EnviarAlbaranPorEMail(FAlbaranes, True, FAlbaranes.Proveedor.EMAIL_ADMINISTRACION) then
|
||||
if FController.EnviarAlbaranPorEMail(FAlbaranes, True,
|
||||
FAlbaranes.Proveedor.EMAIL_ADMINISTRACION, '', '',
|
||||
FVerPrecios, FVerRefProveedor) then
|
||||
begin
|
||||
ListView1.Items[i].SubItems[2] := 'Correo generado';
|
||||
ModalResult := mrOk;
|
||||
@ -100,6 +112,8 @@ begin
|
||||
inherited;
|
||||
ModalResult := mrCancel;
|
||||
FController := TAlbaranesProveedorController.Create;
|
||||
FVerPrecios := True;
|
||||
FVerRefProveedor := True;
|
||||
end;
|
||||
|
||||
function TfDialogListaAlbaranesProveedorEnvioEMail.GetAlbaranes: IBizAlbaranProveedor;
|
||||
@ -107,6 +121,16 @@ begin
|
||||
Result := FAlbaranes;
|
||||
end;
|
||||
|
||||
function TfDialogListaAlbaranesProveedorEnvioEMail.GetVerPrecios: Boolean;
|
||||
begin
|
||||
Result := FVerPrecios;
|
||||
end;
|
||||
|
||||
function TfDialogListaAlbaranesProveedorEnvioEMail.GetVerRefProveedor: Boolean;
|
||||
begin
|
||||
Result := FVerRefProveedor;
|
||||
end;
|
||||
|
||||
procedure TfDialogListaAlbaranesProveedorEnvioEMail.RellenarLista;
|
||||
var
|
||||
i : Integer;
|
||||
@ -163,4 +187,16 @@ begin
|
||||
BorrarLista;
|
||||
end;
|
||||
|
||||
procedure TfDialogListaAlbaranesProveedorEnvioEMail.SetVerPrecios(
|
||||
const Value: Boolean);
|
||||
begin
|
||||
FVerPrecios := Value;
|
||||
end;
|
||||
|
||||
procedure TfDialogListaAlbaranesProveedorEnvioEMail.SetVerRefProveedor(
|
||||
const Value: Boolean);
|
||||
begin
|
||||
FVerRefProveedor := Value;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
@ -97,21 +97,29 @@ end;
|
||||
procedure TfEditorAlbaranesProveedor.actEnviarEMailExecute(Sender: TObject);
|
||||
var
|
||||
AAlbaranes : IBizAlbaranProveedor;
|
||||
FImprimirPrecios : Boolean;
|
||||
FImprimirRefProveedor : Boolean;
|
||||
|
||||
begin
|
||||
inherited;
|
||||
FImprimirPrecios := True;
|
||||
FImprimirRefProveedor := True;
|
||||
|
||||
if ViewGrid.NumSeleccionados = 1 then
|
||||
FController.GenerarEmailAlbaran(FAlbaranes)
|
||||
if ViewGrid.NumSeleccionados = 1 then begin
|
||||
if ElegirOpcionesImpresionAlbaranProveedor(FImprimirPrecios, FImprimirRefProveedor) then
|
||||
FController.GenerarEmailAlbaran(FAlbaranes, FImprimirPrecios, FImprimirRefProveedor)
|
||||
end
|
||||
else begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Albaranes as ISeleccionable).SelectedRecords);
|
||||
AAlbaranes := (Controller as IAlbaranesProveedorController).ExtraerSeleccionados(Albaranes) as IBizAlbaranProveedor;
|
||||
|
||||
if Assigned(AAlbaranes) then
|
||||
if FController.EnviarEmailAlbaranes(AAlbaranes) then
|
||||
if Assigned(AAlbaranes) then begin
|
||||
if ElegirOpcionesImpresionAlbaranProveedor(FImprimirPrecios, FImprimirRefProveedor) then
|
||||
if FController.EnviarEmailAlbaranes(AAlbaranes, FImprimirPrecios, FImprimirRefProveedor) then
|
||||
RefrescarInterno;
|
||||
end;
|
||||
finally
|
||||
AAlbaranes := NIL;
|
||||
HideHourglassCursor;
|
||||
|
||||
Reference in New Issue
Block a user