diff --git a/Source/Modulos/Albaranes de proveedor/Controller/View/uIDialogListaAlbaranesProveedorEnvioEMail.pas b/Source/Modulos/Albaranes de proveedor/Controller/View/uIDialogListaAlbaranesProveedorEnvioEMail.pas index d8764c5..60ee3c9 100644 --- a/Source/Modulos/Albaranes de proveedor/Controller/View/uIDialogListaAlbaranesProveedorEnvioEMail.pas +++ b/Source/Modulos/Albaranes de proveedor/Controller/View/uIDialogListaAlbaranesProveedorEnvioEMail.pas @@ -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; diff --git a/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorController.pas b/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorController.pas index 05c9798..7b42233 100644 --- a/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorController.pas +++ b/Source/Modulos/Albaranes de proveedor/Controller/uAlbaranesProveedorController.pas @@ -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; diff --git a/Source/Modulos/Albaranes de proveedor/Views/uDialogListaAlbaranesProveedorEnvioEMail.pas b/Source/Modulos/Albaranes de proveedor/Views/uDialogListaAlbaranesProveedorEnvioEMail.pas index df87a15..856e34e 100644 --- a/Source/Modulos/Albaranes de proveedor/Views/uDialogListaAlbaranesProveedorEnvioEMail.pas +++ b/Source/Modulos/Albaranes de proveedor/Views/uDialogListaAlbaranesProveedorEnvioEMail.pas @@ -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. diff --git a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesProveedor.pas b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesProveedor.pas index 481060f..105770e 100644 --- a/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesProveedor.pas +++ b/Source/Modulos/Albaranes de proveedor/Views/uEditorAlbaranesProveedor.pas @@ -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;