Primera subida de envio por e-mail (sin terminar todos los documentos).
git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@312 f4e31baf-9722-1c47-927c-6f952f962d4b
This commit is contained in:
parent
2d5918b06b
commit
cd3f8276cb
Binary file not shown.
@ -58,76 +58,76 @@
|
|||||||
<DelphiCompile Include="Base.dpk">
|
<DelphiCompile Include="Base.dpk">
|
||||||
<MainSource>MainSource</MainSource>
|
<MainSource>MainSource</MainSource>
|
||||||
</DelphiCompile>
|
</DelphiCompile>
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\adortl.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\adortl.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\cxIntl6D11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\cxIntl6D11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\cxIntlPrintSys3D11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\cxIntlPrintSys3D11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\cxLibraryD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\cxLibraryD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\DataAbstract_Core_D11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\DataAbstract_Core_D11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dbrtl.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dbrtl.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dclIndyCore.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dclIndyCore.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\designide.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\designide.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dsnap.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dsnap.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxDockingD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxDockingD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxGDIPlusD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxGDIPlusD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxNavBarD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxNavBarD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinBlackD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinBlackD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinBlueD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinBlueD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinCaramelD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinCaramelD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinCoffeeD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinCoffeeD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinGlassOceansD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinGlassOceansD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkiniMaginaryD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkiniMaginaryD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinLilianD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinLilianD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinLiquidSkyD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinLiquidSkyD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinLondonLiquidSkyD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinLondonLiquidSkyD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinMcSkinD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinMcSkinD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinMoneyTwinsD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinMoneyTwinsD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinOffice2007BlackD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinOffice2007BlackD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinOffice2007BlueD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinOffice2007BlueD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinOffice2007GreenD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinOffice2007GreenD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinOffice2007PinkD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinOffice2007PinkD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinOffice2007SilverD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinOffice2007SilverD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinsCoreD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinsCoreD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinscxPCPainterD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinscxPCPainterD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinsdxLCPainterD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinsdxLCPainterD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinsdxNavBar2PainterD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinsdxNavBar2PainterD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinSilverD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinSilverD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinStardustD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinStardustD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinValentineD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinValentineD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxSkinXmas2008BlueD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxSkinXmas2008BlueD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\dxThemeD11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxThemeD11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\GUISDK_D11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\GUISDK_D11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\IndyCore.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\IndyCore.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\IndyProtocols.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\IndyProtocols.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\IndySystem.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\IndySystem.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\Jcl.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\Jcl.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\JclVcl.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\JclVcl.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\JSDialog100.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\JSDialog100.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\JvCmpD11R.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvCmpD11R.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\JvCoreD11R.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvCoreD11R.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\JvCtrlsD11R.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvCtrlsD11R.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\JvDlgsD11R.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvDlgsD11R.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\JvMMD11R.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvMMD11R.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\JvNetD11R.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvNetD11R.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\JvPageCompsD11R.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvPageCompsD11R.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\JvStdCtrlsD11R.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvStdCtrlsD11R.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\JvSystemD11R.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvSystemD11R.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\pckMD5.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\pckMD5.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\pckUCDataConnector.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\pckUCDataConnector.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\pckUserControl_RT.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\pckUserControl_RT.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\PluginSDK_D10R.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\PluginSDK_D10R.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\PngComponentsD10.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\PngComponentsD10.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\PNG_D10.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\PNG_D10.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\RemObjects_Core_D11.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\RemObjects_Core_D11.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\rtl.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\rtl.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\TB2k_D10.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\TB2k_D10.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\tbx_d10.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\tbx_d10.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\vcl.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\vcl.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\vclactnband.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\vclactnband.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\vcldb.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\vcldb.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\vcljpg.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\vcljpg.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\VclSmp.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\VclSmp.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\vclx.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\vclx.dcp" />
|
||||||
<DCCReference Include="..\Modulos\Recibos de cliente\xmlrtl.dcp" />
|
<DCCReference Include="..\Modulos\Presupuestos de cliente\xmlrtl.dcp" />
|
||||||
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
|
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
|
||||||
<DCCReference Include="Conexion\uConfigurarConexion.pas">
|
<DCCReference Include="Conexion\uConfigurarConexion.pas">
|
||||||
<Form>fConfigurarConexion</Form>
|
<Form>fConfigurarConexion</Form>
|
||||||
@ -163,6 +163,7 @@
|
|||||||
<DCCReference Include="Utiles\uDateUtils.pas" />
|
<DCCReference Include="Utiles\uDateUtils.pas" />
|
||||||
<DCCReference Include="Utiles\uDBSelectionListUtils.pas" />
|
<DCCReference Include="Utiles\uDBSelectionListUtils.pas" />
|
||||||
<DCCReference Include="Utiles\uDialogUtils.pas" />
|
<DCCReference Include="Utiles\uDialogUtils.pas" />
|
||||||
|
<DCCReference Include="Utiles\uEMailUtils.pas" />
|
||||||
<DCCReference Include="Utiles\uGridUtils.pas" />
|
<DCCReference Include="Utiles\uGridUtils.pas" />
|
||||||
<DCCReference Include="Utiles\uInfoProjectUtils.pas" />
|
<DCCReference Include="Utiles\uInfoProjectUtils.pas" />
|
||||||
<DCCReference Include="Utiles\uIntegerListUtils.pas" />
|
<DCCReference Include="Utiles\uIntegerListUtils.pas" />
|
||||||
|
|||||||
@ -3,7 +3,7 @@ unit uIntegerListUtils;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes;
|
Classes, FactuGES_Intf;
|
||||||
|
|
||||||
type
|
type
|
||||||
TIntegerList = class(TList)
|
TIntegerList = class(TList)
|
||||||
@ -14,6 +14,7 @@ type
|
|||||||
procedure Add(Value: integer); reintroduce;
|
procedure Add(Value: integer); reintroduce;
|
||||||
function Find(Value: integer; var Index: Integer): Boolean;
|
function Find(Value: integer; var Index: Integer): Boolean;
|
||||||
property Integers[index: integer]: integer read GetInteger write SetInteger; default;
|
property Integers[index: integer]: integer read GetInteger write SetInteger; default;
|
||||||
|
function ToIntegerArray : TIntegerArray;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
@ -28,6 +29,15 @@ begin
|
|||||||
Items[index] := Pointer(Value);
|
Items[index] := Pointer(Value);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TIntegerList.ToIntegerArray: TIntegerArray;
|
||||||
|
var
|
||||||
|
i : Integer;
|
||||||
|
begin
|
||||||
|
Result := TIntegerArray.Create;
|
||||||
|
for i := 0 to Count - 1 do
|
||||||
|
Result.Add(Integers[i]);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TIntegerList.Add(Value: integer);
|
procedure TIntegerList.Add(Value: integer);
|
||||||
var
|
var
|
||||||
Index: integer;
|
Index: integer;
|
||||||
|
|||||||
@ -435,5 +435,4 @@ begin
|
|||||||
Result := DarRutaTemporal + Cadena + '\';
|
Result := DarRutaTemporal + Cadena + '\';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
Binary file not shown.
@ -87,6 +87,7 @@
|
|||||||
<DCCReference Include="uDialogBase.pas">
|
<DCCReference Include="uDialogBase.pas">
|
||||||
<Form>fDialogBase</Form>
|
<Form>fDialogBase</Form>
|
||||||
</DCCReference>
|
</DCCReference>
|
||||||
|
<DCCReference Include="uDialogElegirEMail.pas" />
|
||||||
<DCCReference Include="uEditorBase.pas">
|
<DCCReference Include="uEditorBase.pas">
|
||||||
<Form>fEditorBase</Form>
|
<Form>fEditorBase</Form>
|
||||||
<DesignClass>TCustomEditor</DesignClass>
|
<DesignClass>TCustomEditor</DesignClass>
|
||||||
@ -135,7 +136,7 @@
|
|||||||
<DesignClass>TFrame</DesignClass>
|
<DesignClass>TFrame</DesignClass>
|
||||||
</DCCReference>
|
</DCCReference>
|
||||||
<DCCReference Include="uViewDocumentos.pas">
|
<DCCReference Include="uViewDocumentos.pas">
|
||||||
<Form>frViewGrid</Form>
|
<Form>frViewDocumentos</Form>
|
||||||
<DesignClass>TFrame</DesignClass>
|
<DesignClass>TFrame</DesignClass>
|
||||||
</DCCReference>
|
</DCCReference>
|
||||||
<DCCReference Include="uViewFiltroBase.pas">
|
<DCCReference Include="uViewFiltroBase.pas">
|
||||||
|
|||||||
@ -36,7 +36,9 @@ object fDialogBase: TfDialogBase
|
|||||||
Width = 75
|
Width = 75
|
||||||
Height = 25
|
Height = 25
|
||||||
Action = actCancelar
|
Action = actCancelar
|
||||||
TabOrder = 0
|
Cancel = True
|
||||||
|
ModalResult = 2
|
||||||
|
TabOrder = 1
|
||||||
end
|
end
|
||||||
object Button2: TButton
|
object Button2: TButton
|
||||||
AlignWithMargins = True
|
AlignWithMargins = True
|
||||||
@ -49,7 +51,8 @@ object fDialogBase: TfDialogBase
|
|||||||
Margins.Right = 15
|
Margins.Right = 15
|
||||||
Margins.Bottom = 0
|
Margins.Bottom = 0
|
||||||
Action = actAceptar
|
Action = actAceptar
|
||||||
TabOrder = 1
|
ModalResult = 1
|
||||||
|
TabOrder = 0
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object FlowPanel1: TFlowPanel
|
object FlowPanel1: TFlowPanel
|
||||||
|
|||||||
@ -5,8 +5,8 @@ inherited fEditorPreview: TfEditorPreview
|
|||||||
WindowState = wsMaximized
|
WindowState = wsMaximized
|
||||||
OnDestroy = FormDestroy
|
OnDestroy = FormDestroy
|
||||||
OnResize = FormResize
|
OnResize = FormResize
|
||||||
ExplicitWidth = 803
|
ExplicitWidth = 954
|
||||||
ExplicitHeight = 492
|
ExplicitHeight = 543
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||||
|
|||||||
@ -11,7 +11,8 @@ uses
|
|||||||
pngimage, frxExportImage, frxExportPDF, frxDCtrl, frxDMPExport,
|
pngimage, frxExportImage, frxExportPDF, frxDCtrl, frxDMPExport,
|
||||||
frxGradient, frxChBox, frxCross, frxRich, frxOLE, frxBarcode,
|
frxGradient, frxChBox, frxCross, frxRich, frxOLE, frxBarcode,
|
||||||
ExtCtrls, JvComponentBase, TBXStatusBars, JvExComCtrls, JvStatusBar,
|
ExtCtrls, JvComponentBase, TBXStatusBars, JvExComCtrls, JvStatusBar,
|
||||||
frxExportMail, frxExportXLS, frxExportText, frxExportRTF;
|
frxExportMail, frxExportXLS, frxExportText, frxExportRTF, uControllerBase,
|
||||||
|
uIntegerListUtils;
|
||||||
|
|
||||||
type
|
type
|
||||||
IEditorPreview = interface(IEditorBase)
|
IEditorPreview = interface(IEditorBase)
|
||||||
@ -28,6 +29,15 @@ type
|
|||||||
procedure Print;
|
procedure Print;
|
||||||
procedure Preview;
|
procedure Preview;
|
||||||
|
|
||||||
|
function GetController : IControllerBase;
|
||||||
|
procedure SetController (const Value : IControllerBase);
|
||||||
|
property Controller : IControllerBase read GetController
|
||||||
|
write SetController;
|
||||||
|
|
||||||
|
function GetListaID : TIntegerList;
|
||||||
|
procedure SetListaID (const Value : TIntegerList);
|
||||||
|
property ListaID : TIntegerList read GetListaID
|
||||||
|
write SetListaID;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TfEditorPreview = class(TfEditorBase, IEditorPreview)
|
TfEditorPreview = class(TfEditorBase, IEditorPreview)
|
||||||
@ -133,14 +143,26 @@ type
|
|||||||
procedure actExportarTextoExecute(Sender: TObject);
|
procedure actExportarTextoExecute(Sender: TObject);
|
||||||
private
|
private
|
||||||
FPreview : TfrViewPreview;
|
FPreview : TfrViewPreview;
|
||||||
|
FTitle : TCaption;
|
||||||
|
FController : IControllerBase;
|
||||||
|
FListaID : TIntegerList;
|
||||||
procedure OnPageChanged(Sender: TfrxPreview; PageNo: Integer);
|
procedure OnPageChanged(Sender: TfrxPreview; PageNo: Integer);
|
||||||
procedure UpdateZoom;
|
procedure UpdateZoom;
|
||||||
protected
|
protected
|
||||||
function GetReport: TfrxReport; virtual;
|
function GetReport: TfrxReport; virtual;
|
||||||
procedure SetTitle(const Value: string);
|
procedure SetTitle(const Value: string);
|
||||||
function GetTitle: string;
|
function GetTitle: string;
|
||||||
|
procedure PonerTitulos(const ATitulo: String = ''); override;
|
||||||
|
function GetController : IControllerBase;
|
||||||
|
procedure SetController (const Value : IControllerBase);
|
||||||
|
procedure SetListaID (const Value : TIntegerList);
|
||||||
|
function GetListaID : TIntegerList;
|
||||||
public
|
public
|
||||||
constructor Create(AOwner: TComponent); override;
|
constructor Create(AOwner: TComponent); override;
|
||||||
|
property ListaID : TIntegerList read GetListaID
|
||||||
|
write SetListaID;
|
||||||
|
property Controller : IControllerBase read GetController
|
||||||
|
write SetController;
|
||||||
property Title: string read GetTitle write SetTitle;
|
property Title: string read GetTitle write SetTitle;
|
||||||
property Report: TfrxReport read GetReport;
|
property Report: TfrxReport read GetReport;
|
||||||
procedure Print;
|
procedure Print;
|
||||||
@ -160,6 +182,16 @@ uses
|
|||||||
|
|
||||||
{ TfEditorBase1 }
|
{ TfEditorBase1 }
|
||||||
|
|
||||||
|
function TfEditorPreview.GetController: IControllerBase;
|
||||||
|
begin
|
||||||
|
Result := FController;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TfEditorPreview.GetListaID: TIntegerList;
|
||||||
|
begin
|
||||||
|
Result := FListaID;
|
||||||
|
end;
|
||||||
|
|
||||||
function TfEditorPreview.GetReport: TfrxReport;
|
function TfEditorPreview.GetReport: TfrxReport;
|
||||||
begin
|
begin
|
||||||
Result := frxReport1;
|
Result := frxReport1;
|
||||||
@ -168,7 +200,7 @@ end;
|
|||||||
|
|
||||||
function TfEditorPreview.GetTitle: string;
|
function TfEditorPreview.GetTitle: string;
|
||||||
begin
|
begin
|
||||||
Result := Self.Caption;
|
Result := FTitle;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfEditorPreview.FormShow(Sender: TObject);
|
procedure TfEditorPreview.FormShow(Sender: TObject);
|
||||||
@ -389,6 +421,21 @@ begin
|
|||||||
FPreview.Preview.OnPageChanged := OnPageChanged;
|
FPreview.Preview.OnPageChanged := OnPageChanged;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.PonerTitulos(const ATitulo: String);
|
||||||
|
var
|
||||||
|
AText : String;
|
||||||
|
begin
|
||||||
|
AText := 'Previsualizar';
|
||||||
|
|
||||||
|
if (Length(ATitulo) > 0) then
|
||||||
|
AText := AText + ' - ' + ATitulo
|
||||||
|
else
|
||||||
|
AText := AText + ' - ' + FTitle;
|
||||||
|
|
||||||
|
JvNavPanelHeader.Caption := AText;
|
||||||
|
Caption := AText;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TfEditorPreview.Preview;
|
procedure TfEditorPreview.Preview;
|
||||||
begin
|
begin
|
||||||
Self.ShowModal;
|
Self.ShowModal;
|
||||||
@ -403,9 +450,20 @@ begin
|
|||||||
Enabled := True;
|
Enabled := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.SetController(const Value: IControllerBase);
|
||||||
|
begin
|
||||||
|
FController := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.SetListaID(const Value: TIntegerList);
|
||||||
|
begin
|
||||||
|
FListaID := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TfEditorPreview.SetTitle(const Value: string);
|
procedure TfEditorPreview.SetTitle(const Value: string);
|
||||||
begin
|
begin
|
||||||
Self.Caption := 'Previsualizar - ' + Value;
|
FTitle := Value;
|
||||||
|
PonerTitulos(FTitle);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TfEditorPreview.ExportToFile: String;
|
function TfEditorPreview.ExportToFile: String;
|
||||||
|
|||||||
@ -10,7 +10,10 @@ uses
|
|||||||
StdActns, ExtActns, ActnList, TB2Item, TBX, TB2Dock, TB2Toolbar, cxGridLevel,
|
StdActns, ExtActns, ActnList, TB2Item, TBX, TB2Dock, TB2Toolbar, cxGridLevel,
|
||||||
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
|
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
|
||||||
cxControls, cxGridCustomView, cxGrid, ComCtrls, StdCtrls, JvExStdCtrls,
|
cxControls, cxGridCustomView, cxGrid, ComCtrls, StdCtrls, JvExStdCtrls,
|
||||||
JvCombobox, JvColorCombo, ToolWin, uDAInterfaces;
|
JvCombobox, JvColorCombo, ToolWin, uDAInterfaces, dxSkinsCore, dxSkinBlack,
|
||||||
|
dxSkinBlue, dxSkinOffice2007Black, dxSkinOffice2007Blue,
|
||||||
|
dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver,
|
||||||
|
dxSkinSilver, dxSkinsDefaultPainters, dxSkinscxPCPainter;
|
||||||
|
|
||||||
type
|
type
|
||||||
IViewDetallesDTO = interface(IViewDetallesBase)
|
IViewDetallesDTO = interface(IViewDetallesBase)
|
||||||
|
|||||||
@ -7,7 +7,10 @@ uses
|
|||||||
Dialogs, uViewBase, ExtCtrls, StdCtrls, DB, uDADataTable, cxGraphics,
|
Dialogs, uViewBase, ExtCtrls, StdCtrls, DB, uDADataTable, cxGraphics,
|
||||||
cxTextEdit, cxMaskEdit, cxDropDownEdit, cxDBEdit, cxControls,
|
cxTextEdit, cxMaskEdit, cxDropDownEdit, cxDBEdit, cxControls,
|
||||||
cxContainer, cxEdit, cxLabel, cxDBLabel, cxCurrencyEdit, cxSpinEdit,
|
cxContainer, cxEdit, cxLabel, cxDBLabel, cxCurrencyEdit, cxSpinEdit,
|
||||||
cxCheckBox, cxMemo, uDAInterfaces;
|
cxCheckBox, cxMemo, uDAInterfaces, dxSkinsCore, dxSkinBlack, dxSkinBlue,
|
||||||
|
dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
|
||||||
|
dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinSilver,
|
||||||
|
dxSkinsDefaultPainters;
|
||||||
|
|
||||||
type
|
type
|
||||||
TfrViewIncidencias = class(TfrViewBase)
|
TfrViewIncidencias = class(TfrViewBase)
|
||||||
|
|||||||
@ -17,6 +17,7 @@ inherited frViewTotales: TfrViewTotales
|
|||||||
Align = alTop
|
Align = alTop
|
||||||
ParentBackground = True
|
ParentBackground = True
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
|
TabStop = False
|
||||||
AutoContentSizes = [acsWidth, acsHeight]
|
AutoContentSizes = [acsWidth, acsHeight]
|
||||||
object Bevel1: TBevel
|
object Bevel1: TBevel
|
||||||
Left = 104
|
Left = 104
|
||||||
|
|||||||
@ -8,7 +8,10 @@ uses
|
|||||||
cxTextEdit, cxMaskEdit, cxDropDownEdit, cxDBEdit, cxControls,
|
cxTextEdit, cxMaskEdit, cxDropDownEdit, cxDBEdit, cxControls,
|
||||||
cxContainer, cxEdit, cxLabel, cxDBLabel, cxCurrencyEdit, cxSpinEdit,
|
cxContainer, cxEdit, cxLabel, cxDBLabel, cxCurrencyEdit, cxSpinEdit,
|
||||||
ComCtrls, dxLayoutControl, dxLayoutLookAndFeels, cxLookupEdit, cxDBLookupEdit,
|
ComCtrls, dxLayoutControl, dxLayoutLookAndFeels, cxLookupEdit, cxDBLookupEdit,
|
||||||
cxDBLookupComboBox, cxCheckBox, uDAInterfaces;
|
cxDBLookupComboBox, cxCheckBox, uDAInterfaces, dxSkinsCore, dxSkinBlack,
|
||||||
|
dxSkinBlue, dxSkinOffice2007Black, dxSkinOffice2007Blue,
|
||||||
|
dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver,
|
||||||
|
dxSkinSilver, dxSkinsDefaultPainters, dxSkinsdxLCPainter;
|
||||||
|
|
||||||
type
|
type
|
||||||
TfrViewTotales = class(TfrViewBase)
|
TfrViewTotales = class(TfrViewBase)
|
||||||
|
|||||||
@ -132,6 +132,7 @@ type
|
|||||||
AFechaRecibido : TDateTime = 0;
|
AFechaRecibido : TDateTime = 0;
|
||||||
DoPost: Boolean = True) : Boolean;
|
DoPost: Boolean = True) : Boolean;
|
||||||
|
|
||||||
|
procedure EnviarAlbaranPorEMail(AAlbaran : IBizAlbaranCliente);
|
||||||
procedure Preview(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false);
|
procedure Preview(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false);
|
||||||
procedure Print(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false);
|
procedure Print(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false);
|
||||||
procedure EtiquetasPreview(AAlbaran : IBizAlbaranCliente; Const withRefCliente: Boolean);
|
procedure EtiquetasPreview(AAlbaran : IBizAlbaranCliente; Const withRefCliente: Boolean);
|
||||||
@ -144,16 +145,17 @@ implementation
|
|||||||
uses
|
uses
|
||||||
uROTypes, Controls, cxControls, DB, uEditorRegistryUtils, uEditorPreview, DateUtils,
|
uROTypes, Controls, cxControls, DB, uEditorRegistryUtils, uEditorPreview, DateUtils,
|
||||||
uIEditorAlbaranesCliente, uIEditorAlbaranesDevCliente, uIEditorAlbaranDevCliente,
|
uIEditorAlbaranesCliente, uIEditorAlbaranesDevCliente, uIEditorAlbaranDevCliente,
|
||||||
uDataModuleAlbaranesCliente, Variants, uBizDetallesAlbaranCliente,
|
uDataModuleAlbaranesCliente, Variants, uBizDetallesAlbaranCliente, uSistemaFunc,
|
||||||
uBizContactos, uDataTableUtils, uDataModuleUsuarios, Classes, uFactuGES_App,
|
uBizContactos, uDataTableUtils, uDataModuleUsuarios, Classes, uFactuGES_App,
|
||||||
schAlbaranesClienteClient_Intf, uDAInterfaces, uDateUtils, uIEditorAlbaranCliente,
|
schAlbaranesClienteClient_Intf, uDAInterfaces, uDateUtils, uIEditorAlbaranCliente,
|
||||||
uIEditorElegirAlbaranesCliente, uIEditorDireccionEntregaAlbaranCliente,
|
uIEditorElegirAlbaranesCliente, uIEditorDireccionEntregaAlbaranCliente,
|
||||||
schContactosClient_Intf, uAlbaranesClienteReportController, uControllerDetallesBase,
|
schContactosClient_Intf, uAlbaranesClienteReportController,
|
||||||
|
uControllerDetallesBase, uEMailUtils, uDialogElegirEMail,
|
||||||
|
|
||||||
// Pedidos no estará en TECSITEL
|
// Pedidos no estará en TECSITEL
|
||||||
// uPedidosClienteController, uBizPedidosCliente, uBizDetallesPedidoCliente, schPedidosClienteClient_Intf,
|
// uPedidosClienteController, uBizPedidosCliente, uBizDetallesPedidoCliente, schPedidosClienteClient_Intf,
|
||||||
|
|
||||||
uDialogUtils, Windows, Forms, Dialogs, uGUIBase;
|
uDialogUtils, Windows, Forms, Dialogs, uGUIBase, uIntegerListUtils;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -745,6 +747,50 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TAlbaranesClienteController.EnviarAlbaranPorEMail(
|
||||||
|
AAlbaran: IBizAlbaranCliente);
|
||||||
|
var
|
||||||
|
AReportController : IAlbaranesClienteReportController;
|
||||||
|
AFicheroTMP : TFileName;
|
||||||
|
AEMail : String;
|
||||||
|
AListaEmail : TStringList;
|
||||||
|
begin
|
||||||
|
if not Assigned(AAlbaran) then
|
||||||
|
raise Exception.Create ('Albarán no asignado (EnviarAlbaranPorEMail)');
|
||||||
|
|
||||||
|
if AAlbaran.DataTable.Active then
|
||||||
|
AAlbaran.DataTable.Active := True;
|
||||||
|
|
||||||
|
AFicheroTMP := DarFicheroPDFTemporal(EscapeIllegalChars(AAlbaran.REFERENCIA));
|
||||||
|
|
||||||
|
AListaEmail := TStringList.Create;
|
||||||
|
try
|
||||||
|
RecuperarCliente(AAlbaran);
|
||||||
|
AAlbaran.Cliente.DataTable.Active := True;
|
||||||
|
|
||||||
|
if not AAlbaran.Cliente.EMAIL_1IsNull then
|
||||||
|
AListaEmail.Add(AAlbaran.Cliente.EMAIL_1);
|
||||||
|
if not AAlbaran.Cliente.EMAIL_2IsNull then
|
||||||
|
AListaEmail.Add(AAlbaran.Cliente.EMAIL_2);
|
||||||
|
|
||||||
|
if not ElegirEMail(AListaEmail, AEMail) then
|
||||||
|
Exit;
|
||||||
|
finally
|
||||||
|
FreeANDNIL(AListaEmail);
|
||||||
|
end;
|
||||||
|
|
||||||
|
ShowHourglassCursor;
|
||||||
|
AReportController := TAlbaranesClienteReportController.Create;
|
||||||
|
try
|
||||||
|
AReportController.ExportToPDF(AAlbaran.ID, AFicheroTMP);
|
||||||
|
SendMailMAPI('Albarán ' + AAlbaran.REFERENCIA, '', AFicheroTMP, '', '', AAlbaran.Cliente.NOMBRE, AEMail);
|
||||||
|
finally
|
||||||
|
SysUtils.DeleteFile(AFicheroTMP);
|
||||||
|
AReportController := NIL;
|
||||||
|
HideHourglassCursor;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
function TAlbaranesClienteController.EsEliminable(AAlbaran: IBizAlbaranCliente): Boolean;
|
function TAlbaranesClienteController.EsEliminable(AAlbaran: IBizAlbaranCliente): Boolean;
|
||||||
begin
|
begin
|
||||||
if not Assigned(AAlbaran) then
|
if not Assigned(AAlbaran) then
|
||||||
@ -942,12 +988,13 @@ end;
|
|||||||
procedure TAlbaranesClienteController.Preview(AAlbaran: IBizAlbaranCliente; AllItems: Boolean = false);
|
procedure TAlbaranesClienteController.Preview(AAlbaran: IBizAlbaranCliente; AllItems: Boolean = false);
|
||||||
var
|
var
|
||||||
AReportController : IAlbaranesClienteReportController;
|
AReportController : IAlbaranesClienteReportController;
|
||||||
ID_Albaranes: TStringList;
|
ID_Albaranes: TIntegerList;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
AReportController := TAlbaranesClienteReportController.Create;
|
AReportController := TAlbaranesClienteReportController.Create;
|
||||||
|
ID_Albaranes := TIntegerList.Create;
|
||||||
|
|
||||||
try
|
try
|
||||||
ID_Albaranes := TStringList.Create;
|
|
||||||
|
|
||||||
//Si deseamos previsualizar todos los items del objeto albaran
|
//Si deseamos previsualizar todos los items del objeto albaran
|
||||||
if AllItems then
|
if AllItems then
|
||||||
@ -957,33 +1004,32 @@ begin
|
|||||||
First;
|
First;
|
||||||
while not EOF do
|
while not EOF do
|
||||||
begin
|
begin
|
||||||
ID_Albaranes.Add(IntToStr(AAlbaran.ID));
|
ID_Albaranes.Add(AAlbaran.ID);
|
||||||
Next;
|
Next;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
//Solo previsualizamos el item seleccionado
|
//Solo previsualizamos el item seleccionado
|
||||||
else
|
else
|
||||||
ID_Albaranes.Add(IntToStr(AAlbaran.ID));
|
ID_Albaranes.Add(AAlbaran.ID);
|
||||||
|
|
||||||
AReportController.Preview(ID_Albaranes.CommaText);
|
AReportController.Preview(ID_Albaranes);
|
||||||
|
|
||||||
finally
|
finally
|
||||||
AReportController := NIL;
|
AReportController := NIL;
|
||||||
ID_Albaranes.Free;
|
FreeANDNIL(ID_Albaranes);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TAlbaranesClienteController.Print(AAlbaran: IBizAlbaranCliente; AllItems: Boolean = false);
|
procedure TAlbaranesClienteController.Print(AAlbaran: IBizAlbaranCliente; AllItems: Boolean = false);
|
||||||
var
|
var
|
||||||
AReportController : IAlbaranesClienteReportController;
|
AReportController : IAlbaranesClienteReportController;
|
||||||
ID_Albaranes: TStringList;
|
ID_Albaranes: TIntegerList;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
AReportController := TAlbaranesClienteReportController.Create;
|
AReportController := TAlbaranesClienteReportController.Create;
|
||||||
|
ID_Albaranes := TIntegerList.Create;
|
||||||
try
|
try
|
||||||
ID_Albaranes := TStringList.Create;
|
|
||||||
|
|
||||||
//Si deseamos previsualizar todos los items del objeto albaran
|
//Si deseamos previsualizar todos los items del objeto albaran
|
||||||
if AllItems then
|
if AllItems then
|
||||||
begin
|
begin
|
||||||
@ -992,20 +1038,20 @@ begin
|
|||||||
First;
|
First;
|
||||||
while not EOF do
|
while not EOF do
|
||||||
begin
|
begin
|
||||||
ID_Albaranes.Add(IntToStr(AAlbaran.ID));
|
ID_Albaranes.Add(AAlbaran.ID);
|
||||||
Next;
|
Next;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
//Solo previsualizamos el item seleccionado
|
//Solo previsualizamos el item seleccionado
|
||||||
else
|
else
|
||||||
ID_Albaranes.Add(IntToStr(AAlbaran.ID));
|
ID_Albaranes.Add(AAlbaran.ID);
|
||||||
|
|
||||||
AReportController.Print(ID_Albaranes.CommaText);
|
AReportController.Print(ID_Albaranes);
|
||||||
|
|
||||||
finally
|
finally
|
||||||
AReportController := NIL;
|
AReportController := NIL;
|
||||||
ID_Albaranes.Free;
|
FreeANDNIL(ID_Albaranes);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|||||||
@ -5,15 +5,16 @@ interface
|
|||||||
uses
|
uses
|
||||||
Classes, SysUtils, uDADataTable, uControllerBase, uIDataModuleAlbaranesClienteReport,
|
Classes, SysUtils, uDADataTable, uControllerBase, uIDataModuleAlbaranesClienteReport,
|
||||||
uClientesController, uAlbaranesClienteController, uDetallesAlbaranClienteController,
|
uClientesController, uAlbaranesClienteController, uDetallesAlbaranClienteController,
|
||||||
uBizAlbaranesCliente;
|
uBizAlbaranesCliente, uIntegerListUtils;
|
||||||
|
|
||||||
type
|
type
|
||||||
IAlbaranesClienteReportController = interface(IControllerBase)
|
IAlbaranesClienteReportController = interface(IControllerBase)
|
||||||
['{4BCC7A93-3322-494C-A3FA-118F4B62CB15}']
|
['{4BCC7A93-3322-494C-A3FA-118F4B62CB15}']
|
||||||
procedure Preview(const AID : String);
|
procedure Preview(const AListaID : TIntegerList);
|
||||||
procedure Print(const AID : String);
|
procedure Print(const AListaID : TIntegerList);
|
||||||
procedure EtiquetasPreview(const AID : integer; Const withRefCliente: Boolean);
|
procedure EtiquetasPreview(const AID : integer; Const withRefCliente: Boolean);
|
||||||
procedure EtiquetasPrint(const AID : integer; Const withRefCliente: Boolean);
|
procedure EtiquetasPrint(const AID : integer; Const withRefCliente: Boolean);
|
||||||
|
function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TAlbaranesClienteReportController = class(TControllerBase, IAlbaranesClienteReportController)
|
TAlbaranesClienteReportController = class(TControllerBase, IAlbaranesClienteReportController)
|
||||||
@ -25,10 +26,11 @@ type
|
|||||||
constructor Create;
|
constructor Create;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
|
|
||||||
procedure Preview(const AID : String);
|
procedure Preview(const AListaID : TIntegerList);
|
||||||
procedure Print(const AID : String);
|
procedure Print(const AListaID : TIntegerList);
|
||||||
procedure EtiquetasPreview(const AID : integer; const withRefCliente: Boolean);
|
procedure EtiquetasPreview(const AID : integer; Const withRefCliente: Boolean);
|
||||||
procedure EtiquetasPrint(const AID : integer; const withRefCliente: Boolean);
|
procedure EtiquetasPrint(const AID : integer; Const withRefCliente: Boolean);
|
||||||
|
function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -36,7 +38,8 @@ implementation
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
uROTypes, uEditorRegistryUtils, uIEditorAlbaranesClientePreview,
|
uROTypes, uEditorRegistryUtils, uIEditorAlbaranesClientePreview,
|
||||||
uEditorPreview, uDataModuleAlbaranesCliente, uEditorBase, cxControls;
|
uEditorPreview, uDataModuleAlbaranesCliente, uEditorBase, cxControls,
|
||||||
|
uStringsUtils, uSistemaFunc, uFactuGES_App;
|
||||||
|
|
||||||
{ TAlbaranesClienteReportController }
|
{ TAlbaranesClienteReportController }
|
||||||
|
|
||||||
@ -112,7 +115,30 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TAlbaranesClienteReportController.Preview(const AID : String);
|
function TAlbaranesClienteReportController.ExportToPDF(const AID: Integer;
|
||||||
|
const AFileName: String): Boolean;
|
||||||
|
var
|
||||||
|
AStream: Binary;
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
if EsCadenaVacia(AFileName) then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
ShowHourglassCursor;
|
||||||
|
try
|
||||||
|
AStream := FDataModule.GetRptPDFAlbaran(AID);
|
||||||
|
try
|
||||||
|
AStream.SaveToFile(AFileName);
|
||||||
|
Result := True;
|
||||||
|
finally
|
||||||
|
FreeAndNil(AStream);
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
HideHourglassCursor;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAlbaranesClienteReportController.Preview(const AListaID : TIntegerList);
|
||||||
var
|
var
|
||||||
AStream: Binary;
|
AStream: Binary;
|
||||||
AEditor : IEditorAlbaranesClientePreview;
|
AEditor : IEditorAlbaranesClientePreview;
|
||||||
@ -120,15 +146,20 @@ begin
|
|||||||
AEditor := NIL;
|
AEditor := NIL;
|
||||||
ShowHourglassCursor;
|
ShowHourglassCursor;
|
||||||
try
|
try
|
||||||
AStream := FDataModule.GetReport(AID); //Lista de seleccionados (Array de integers)
|
AStream := FDataModule.GetRptAlbaranes(AListaID);
|
||||||
try
|
try
|
||||||
CreateEditor('EditorAlbaranesClientePreview', IEditorAlbaranesClientePreview, AEditor);
|
CreateEditor('EditorAlbaranesClientePreview', IEditorAlbaranesClientePreview, AEditor);
|
||||||
if Assigned(AEditor) then
|
if Assigned(AEditor) then
|
||||||
with AEditor do
|
|
||||||
begin
|
begin
|
||||||
LoadFromStream(AStream);
|
try
|
||||||
Preview;
|
AEditor.Controller := Self;
|
||||||
Release;
|
AEditor.ListaID := AListaID;
|
||||||
|
AEditor.Title := 'Albarán - ' + AppFactuGES.EmpresaActiva.NOMBRE;
|
||||||
|
AEditor.LoadFromStream(AStream);
|
||||||
|
AEditor.Preview;
|
||||||
|
finally
|
||||||
|
AEditor.Release;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
FreeAndNil(AStream);
|
FreeAndNil(AStream);
|
||||||
@ -139,7 +170,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TAlbaranesClienteReportController.Print(const AID : String);
|
procedure TAlbaranesClienteReportController.Print(const AListaID : TIntegerList);
|
||||||
var
|
var
|
||||||
AStream: Binary;
|
AStream: Binary;
|
||||||
AEditor : IEditorAlbaranesClientePreview;
|
AEditor : IEditorAlbaranesClientePreview;
|
||||||
@ -147,15 +178,20 @@ begin
|
|||||||
AEditor := NIL;
|
AEditor := NIL;
|
||||||
ShowHourglassCursor;
|
ShowHourglassCursor;
|
||||||
try
|
try
|
||||||
AStream := FDataModule.GetReport(AID);
|
AStream := FDataModule.GetRptAlbaranes(AListaID);
|
||||||
try
|
try
|
||||||
CreateEditor('EditorAlbaranesClientePreview', IEditorAlbaranesClientePreview, AEditor);
|
CreateEditor('EditorAlbaranesClientePreview', IEditorAlbaranesClientePreview, AEditor);
|
||||||
if Assigned(AEditor) then
|
if Assigned(AEditor) then
|
||||||
with AEditor do
|
|
||||||
begin
|
begin
|
||||||
LoadFromStream(AStream);
|
try
|
||||||
Print;
|
AEditor.Controller := Self;
|
||||||
Release;
|
AEditor.ListaID := AListaID;
|
||||||
|
AEditor.Title := 'Albarán - ' + AppFactuGES.EmpresaActiva.NOMBRE;
|
||||||
|
AEditor.LoadFromStream(AStream);
|
||||||
|
AEditor.Print;
|
||||||
|
finally
|
||||||
|
AEditor.Release;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
FreeAndNil(AStream);
|
FreeAndNil(AStream);
|
||||||
|
|||||||
@ -6,7 +6,7 @@ uses
|
|||||||
DB, Classes, SysUtils, uDADesigntimeCall,
|
DB, Classes, SysUtils, uDADesigntimeCall,
|
||||||
uRORemoteService, uROClient, uROBinMessage, uDAScriptingProvider,
|
uRORemoteService, uROClient, uROBinMessage, uDAScriptingProvider,
|
||||||
uDACDSDataTable, uROWinInetHttpChannel, uDADataTable, uDABINAdapter,
|
uDACDSDataTable, uROWinInetHttpChannel, uDADataTable, uDABINAdapter,
|
||||||
uDAClientDataModule, uROTypes,
|
uDAClientDataModule, uROTypes, uIntegerListUtils,
|
||||||
uIDataModuleAlbaranesCliente, uBizAlbaranesCliente, uBizDetallesAlbaranCliente,
|
uIDataModuleAlbaranesCliente, uBizAlbaranesCliente, uBizDetallesAlbaranCliente,
|
||||||
uIDataModuleAlbaranesClienteReport, uDataModuleBase, uDABin2DataStreamer, uDAMemDataTable,
|
uIDataModuleAlbaranesClienteReport, uDataModuleBase, uDABin2DataStreamer, uDAMemDataTable,
|
||||||
uDAInterfaces, uDADataStreamer, uDARemoteDataAdapter;
|
uDAInterfaces, uDADataStreamer, uDARemoteDataAdapter;
|
||||||
@ -34,8 +34,9 @@ type
|
|||||||
function NewItem : IBizAlbaranCliente;
|
function NewItem : IBizAlbaranCliente;
|
||||||
|
|
||||||
// Report
|
// Report
|
||||||
function GetReport(const AID: String): Binary;
|
function GetRptAlbaranes(const ListaID: TIntegerList): Binary;
|
||||||
function GetEtiquetas(const AID: Integer; withRefCliente: Boolean): Binary;
|
function GetEtiquetas(const AID: Integer; withRefCliente: Boolean): Binary;
|
||||||
|
function GetRptPDFAlbaran(const AID: Integer): Binary;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
@ -59,9 +60,30 @@ begin
|
|||||||
RORemoteService.Message := dmConexion.Message;
|
RORemoteService.Message := dmConexion.Message;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TDataModuleAlbaranesCliente.GetReport(const AID: String): Binary;
|
function TDataModuleAlbaranesCliente.GetRptAlbaranes(const ListaID: TIntegerList): Binary;
|
||||||
|
var
|
||||||
|
AParam : TIntegerArray;
|
||||||
begin
|
begin
|
||||||
Result := (RORemoteService as IsrvAlbaranesCliente).GenerateReport(AID)
|
AParam := ListaID.ToIntegerArray;
|
||||||
|
try
|
||||||
|
Result := (RORemoteService as IsrvAlbaranesCliente).GenerarInforme(AParam);
|
||||||
|
finally
|
||||||
|
FreeAndNil(AParam);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TDataModuleAlbaranesCliente.GetRptPDFAlbaran(
|
||||||
|
const AID: Integer): Binary;
|
||||||
|
var
|
||||||
|
AParam : TIntegerArray;
|
||||||
|
begin
|
||||||
|
AParam := TIntegerArray.Create;
|
||||||
|
try
|
||||||
|
AParam.Add(AID);
|
||||||
|
Result := (RORemoteService as IsrvAlbaranesCliente).GenerarInforme(AParam);
|
||||||
|
finally
|
||||||
|
FreeAndNil(AParam);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TDataModuleAlbaranesCliente.NewItem: IBizAlbaranCliente;
|
function TDataModuleAlbaranesCliente.NewItem: IBizAlbaranCliente;
|
||||||
@ -89,7 +111,7 @@ end;
|
|||||||
|
|
||||||
function TDataModuleAlbaranesCliente.GetEtiquetas(const AID: Integer; withRefCliente: Boolean): Binary;
|
function TDataModuleAlbaranesCliente.GetEtiquetas(const AID: Integer; withRefCliente: Boolean): Binary;
|
||||||
begin
|
begin
|
||||||
Result := (RORemoteService as IsrvAlbaranesCliente).GenerateEtiquetas(AID, withRefCliente)
|
Result := (RORemoteService as IsrvAlbaranesCliente).GenerarInformeEtiquetas(AID, withRefCliente)
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TDataModuleAlbaranesCliente.GetItem(const ID: Integer): IBizAlbaranCliente;
|
function TDataModuleAlbaranesCliente.GetItem(const ID: Integer): IBizAlbaranCliente;
|
||||||
|
|||||||
@ -3,13 +3,14 @@ unit uIDataModuleAlbaranesClienteReport;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
uROTypes;
|
uROTypes, uIntegerListUtils;
|
||||||
|
|
||||||
type
|
type
|
||||||
IDataModuleAlbaranesClienteReport = interface
|
IDataModuleAlbaranesClienteReport = interface
|
||||||
['{42C55204-5AB9-403E-8385-1A62B02D8234}']
|
['{42C55204-5AB9-403E-8385-1A62B02D8234}']
|
||||||
function GetReport(const AID: String): Binary;
|
function GetRptAlbaranes(const ListaID: TIntegerList): Binary;
|
||||||
function GetEtiquetas(const AID: Integer; withRefCliente: Boolean): Binary;
|
function GetEtiquetas(const AID: Integer; withRefCliente: Boolean): Binary;
|
||||||
|
function GetRptPDFAlbaran(const AID: Integer): Binary;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
object RptAlbaranesCliente: TRptAlbaranesCliente
|
object RptAlbaranesCliente: TRptAlbaranesCliente
|
||||||
OldCreateOrder = True
|
OldCreateOrder = True
|
||||||
OnCreate = DataModuleCreate
|
OnCreate = DataModuleCreate
|
||||||
Height = 405
|
Height = 425
|
||||||
Width = 599
|
Width = 527
|
||||||
object DADataCabecera: TDADataSource
|
object DADataCabecera: TDADataSource
|
||||||
DataSet = tbl_Cabecera.Dataset
|
DataSet = tbl_Cabecera.Dataset
|
||||||
DataTable = tbl_Cabecera
|
DataTable = tbl_Cabecera
|
||||||
@ -1306,4 +1306,18 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
|
|||||||
Left = 448
|
Left = 448
|
||||||
Top = 16
|
Top = 16
|
||||||
end
|
end
|
||||||
|
object frxPDFExport1: TfrxPDFExport
|
||||||
|
ShowDialog = False
|
||||||
|
UseFileCache = True
|
||||||
|
ShowProgress = False
|
||||||
|
PrintOptimized = True
|
||||||
|
Outline = False
|
||||||
|
Author = 'FactuGES'
|
||||||
|
Subject = 'FactuGES'
|
||||||
|
Background = False
|
||||||
|
Creator = 'FactuGES'
|
||||||
|
HTMLTags = True
|
||||||
|
Left = 360
|
||||||
|
Top = 352
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -7,7 +7,8 @@ uses
|
|||||||
Dialogs, frxClass, frxDBSet, uDAScriptingProvider,
|
Dialogs, frxClass, frxDBSet, uDAScriptingProvider,
|
||||||
uDADataTable, uDACDSDataTable, DB, uDAClasses, frxChart, frxGradient,
|
uDADataTable, uDACDSDataTable, DB, uDAClasses, frxChart, frxGradient,
|
||||||
frxChBox, frxCross, frxOLE, frxBarcode, frxRich, uDABINAdapter, uROTypes,
|
frxChBox, frxCross, frxOLE, frxBarcode, frxRich, uDABINAdapter, uROTypes,
|
||||||
uDAInterfaces, uDADataStreamer, uDABin2DataStreamer, uDAMemDataTable;
|
uDAInterfaces, uDADataStreamer, uDABin2DataStreamer, uDAMemDataTable,
|
||||||
|
frxExportPDF, FactuGES_Intf;
|
||||||
|
|
||||||
type
|
type
|
||||||
TRptAlbaranesCliente = class(TDataModule)
|
TRptAlbaranesCliente = class(TDataModule)
|
||||||
@ -31,13 +32,15 @@ type
|
|||||||
frxDBEtiquetas: TfrxDBDataset;
|
frxDBEtiquetas: TfrxDBDataset;
|
||||||
schReport: TDASchema;
|
schReport: TDASchema;
|
||||||
DataDictionary: TDADataDictionary;
|
DataDictionary: TDADataDictionary;
|
||||||
|
frxPDFExport1: TfrxPDFExport;
|
||||||
procedure DataModuleCreate(Sender: TObject);
|
procedure DataModuleCreate(Sender: TObject);
|
||||||
private
|
private
|
||||||
FConnection: IDAConnection;
|
FConnection: IDAConnection;
|
||||||
//Genera cada uno de los albaranes a imprimir
|
//Genera cada uno de los albaranes a imprimir
|
||||||
procedure GenerarAlbaran(const ID: integer); overload;
|
procedure _GenerarAlbaran(const ID: Integer);
|
||||||
public
|
public
|
||||||
function GenerarAlbaran(const AID : String): Binary; overload;
|
function GenerarAlbaran(const ListaID : TIntegerArray): Binary;
|
||||||
|
function GenerarAlbaranEnPDF(const ListaID : TIntegerArray): Binary;
|
||||||
function GenerarEtiquetas(const AID : Integer; withRefCliente: Boolean): Binary;
|
function GenerarEtiquetas(const AID : Integer; withRefCliente: Boolean): Binary;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -68,30 +71,45 @@ begin
|
|||||||
frxReport.EngineOptions.NewSilentMode := simReThrow;
|
frxReport.EngineOptions.NewSilentMode := simReThrow;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TRptAlbaranesCliente.GenerarAlbaran(const AID: String): Binary;
|
function TRptAlbaranesCliente.GenerarAlbaran(const ListaID : TIntegerArray): Binary;
|
||||||
var
|
var
|
||||||
ID_Albaranes: TStringList;
|
|
||||||
i: Integer;
|
i: Integer;
|
||||||
begin
|
begin
|
||||||
Result := Binary.Create;
|
Result := Binary.Create;
|
||||||
FConnection.BeginTransaction;
|
//FConnection.BeginTransaction; <--- Creo que no va a hacer falta.
|
||||||
|
|
||||||
try
|
try
|
||||||
ID_Albaranes := TStringList.Create;
|
//Vamos generando todos y cada uno de los presupuestos recibidos
|
||||||
ID_Albaranes.CommaText := AID;
|
for i := 0 to ListaID.Count - 1 do
|
||||||
|
_GenerarAlbaran(ListaID.Items[i]);
|
||||||
//Vamos generando todos y cada uno de los albaranes recibidos
|
|
||||||
for i := 0 to ID_Albaranes.Count - 1 do
|
|
||||||
GenerarAlbaran(StrToInt(ID_Albaranes.Strings[i]));
|
|
||||||
|
|
||||||
frxReport.PreviewPages.SaveToStream(Result);
|
frxReport.PreviewPages.SaveToStream(Result);
|
||||||
|
|
||||||
finally
|
finally
|
||||||
FConnection.RollbackTransaction;
|
//FConnection.RollbackTransaction; <--- Creo que no va a hacer falta.
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TRptAlbaranesCliente.GenerarAlbaran(const ID: integer);
|
function TRptAlbaranesCliente.GenerarAlbaranEnPDF(
|
||||||
|
const ListaID: TIntegerArray): Binary;
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
Result := Binary.Create;
|
||||||
|
//FConnection.BeginTransaction; <--- Creo que no va a hacer falta.
|
||||||
|
|
||||||
|
try
|
||||||
|
//Vamos generando todos y cada uno de los presupuestos recibidos
|
||||||
|
for i := 0 to ListaID.Count - 1 do
|
||||||
|
_GenerarAlbaran(ListaID.Items[i]);
|
||||||
|
|
||||||
|
frxPDFExport1.Stream := Result;
|
||||||
|
frxReport.Export(frxPDFExport1)
|
||||||
|
finally
|
||||||
|
//FConnection.RollbackTransaction; <--- Creo que no va a hacer falta.
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TRptAlbaranesCliente._GenerarAlbaran(const ID: integer);
|
||||||
begin
|
begin
|
||||||
tbl_Cabecera.ParamByName('ID').AsInteger := ID;
|
tbl_Cabecera.ParamByName('ID').AsInteger := ID;
|
||||||
tbl_Detalles.ParamByName('ID_ALBARAN').AsInteger := ID;
|
tbl_Detalles.ParamByName('ID_ALBARAN').AsInteger := ID;
|
||||||
|
|||||||
@ -32,8 +32,8 @@ type
|
|||||||
procedure DARemoteServiceCreate(Sender: TObject);
|
procedure DARemoteServiceCreate(Sender: TObject);
|
||||||
protected
|
protected
|
||||||
{ IsrvAlbaranesCliente methods }
|
{ IsrvAlbaranesCliente methods }
|
||||||
function GenerateReport(const ID: String): Binary;
|
function GenerarInforme(const ListaID: TIntegerArray): Binary;
|
||||||
function GenerateEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary;
|
function GenerarInformeEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
@ -81,7 +81,21 @@ begin
|
|||||||
ConnectionName := dmServer.ConnectionName;
|
ConnectionName := dmServer.ConnectionName;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TsrvAlbaranesCliente.GenerateEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary;
|
function TsrvAlbaranesCliente.GenerarInforme(
|
||||||
|
const ListaID: TIntegerArray): Binary;
|
||||||
|
var
|
||||||
|
AReportGenerator : TRptAlbaranesCliente;
|
||||||
|
begin
|
||||||
|
AReportGenerator := TRptAlbaranesCliente.Create(nil);
|
||||||
|
try
|
||||||
|
Result := AReportGenerator.GenerarAlbaran(ListaID);
|
||||||
|
finally
|
||||||
|
FreeAndNIL(AReportGenerator);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TsrvAlbaranesCliente.GenerarInformeEtiquetas(const ID: Integer;
|
||||||
|
const withRefCliente: Boolean): Binary;
|
||||||
var
|
var
|
||||||
AReportGenerator : TRptAlbaranesCliente;
|
AReportGenerator : TRptAlbaranesCliente;
|
||||||
begin
|
begin
|
||||||
@ -93,18 +107,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TsrvAlbaranesCliente.GenerateReport(const ID: String): Binary;
|
|
||||||
var
|
|
||||||
AReportGenerator : TRptAlbaranesCliente;
|
|
||||||
begin
|
|
||||||
AReportGenerator := TRptAlbaranesCliente.Create(nil);
|
|
||||||
try
|
|
||||||
Result := AReportGenerator.GenerarAlbaran(ID);
|
|
||||||
finally
|
|
||||||
FreeAndNIL(AReportGenerator);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
TROClassFactory.Create('srvAlbaranesCliente', Create_srvAlbaranesCliente, TsrvAlbaranesCliente_Invoker);
|
TROClassFactory.Create('srvAlbaranesCliente', Create_srvAlbaranesCliente, TsrvAlbaranesCliente_Invoker);
|
||||||
|
|
||||||
|
|||||||
@ -41,15 +41,7 @@
|
|||||||
<Borland.Personality>Delphi.Personality</Borland.Personality>
|
<Borland.Personality>Delphi.Personality</Borland.Personality>
|
||||||
<Borland.ProjectType>Package</Borland.ProjectType>
|
<Borland.ProjectType>Package</Borland.ProjectType>
|
||||||
<BorlandProject>
|
<BorlandProject>
|
||||||
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">True</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
|
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -54,11 +54,11 @@
|
|||||||
<DelphiCompile Include="Articulos_view.dpk">
|
<DelphiCompile Include="Articulos_view.dpk">
|
||||||
<MainSource>MainSource</MainSource>
|
<MainSource>MainSource</MainSource>
|
||||||
</DelphiCompile>
|
</DelphiCompile>
|
||||||
<DCCReference Include="..\Articulos_controller.dcp" />
|
<DCCReference Include="..\..\Albaranes de cliente\Articulos_controller.dcp" />
|
||||||
<DCCReference Include="..\Articulos_model.dcp" />
|
<DCCReference Include="..\..\Albaranes de cliente\Articulos_model.dcp" />
|
||||||
<DCCReference Include="..\Contactos_view.dcp" />
|
<DCCReference Include="..\..\Albaranes de cliente\Contactos_view.dcp" />
|
||||||
<DCCReference Include="..\Familias_controller.dcp" />
|
<DCCReference Include="..\..\Albaranes de cliente\Familias_controller.dcp" />
|
||||||
<DCCReference Include="..\GUIBase.dcp" />
|
<DCCReference Include="..\..\Albaranes de cliente\GUIBase.dcp" />
|
||||||
<DCCReference Include="uArticulosViewRegister.pas" />
|
<DCCReference Include="uArticulosViewRegister.pas" />
|
||||||
<DCCReference Include="uEditorArticulo.pas">
|
<DCCReference Include="uEditorArticulo.pas">
|
||||||
<Form>fEditorArticulo</Form>
|
<Form>fEditorArticulo</Form>
|
||||||
|
|||||||
@ -1,10 +1,7 @@
|
|||||||
inherited frViewDetallesArticulos: TfrViewDetallesArticulos
|
inherited frViewDetallesArticulos: TfrViewDetallesArticulos
|
||||||
Width = 753
|
|
||||||
Height = 384
|
|
||||||
ParentBiDiMode = False
|
ParentBiDiMode = False
|
||||||
OnShow = CustomViewShow
|
OnShow = CustomViewShow
|
||||||
inherited ToolBar1: TToolBar
|
inherited ToolBar1: TToolBar
|
||||||
Width = 753
|
|
||||||
inherited ToolButton4: TToolButton
|
inherited ToolButton4: TToolButton
|
||||||
Wrap = True
|
Wrap = True
|
||||||
end
|
end
|
||||||
@ -65,8 +62,8 @@ inherited frViewDetallesArticulos: TfrViewDetallesArticulos
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
inherited cxGrid: TcxGrid
|
inherited cxGrid: TcxGrid
|
||||||
Width = 753
|
ExplicitWidth = 753
|
||||||
Height = 312
|
ExplicitHeight = 312
|
||||||
inherited cxGridView: TcxGridDBTableView
|
inherited cxGridView: TcxGridDBTableView
|
||||||
inherited cxGridViewTIPO: TcxGridDBColumn
|
inherited cxGridViewTIPO: TcxGridDBColumn
|
||||||
Visible = False
|
Visible = False
|
||||||
@ -121,9 +118,9 @@ inherited frViewDetallesArticulos: TfrViewDetallesArticulos
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
inherited TBXDock1: TTBXDock
|
inherited TBXDock1: TTBXDock
|
||||||
Width = 753
|
ExplicitWidth = 753
|
||||||
inherited TBXToolbar1: TTBXToolbar
|
inherited TBXToolbar1: TTBXToolbar
|
||||||
ExplicitWidth = 548
|
ExplicitWidth = 451
|
||||||
object TBXItem12: TTBXItem [0]
|
object TBXItem12: TTBXItem [0]
|
||||||
Action = actAnadirArticulos
|
Action = actAnadirArticulos
|
||||||
DisplayMode = nbdmImageAndText
|
DisplayMode = nbdmImageAndText
|
||||||
|
|||||||
@ -11,7 +11,10 @@ uses
|
|||||||
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
|
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
|
||||||
cxControls, cxGridCustomView, cxGrid, ComCtrls, StdCtrls, JvExStdCtrls,
|
cxControls, cxGridCustomView, cxGrid, ComCtrls, StdCtrls, JvExStdCtrls,
|
||||||
JvCombobox, JvColorCombo, ToolWin, uControllerDetallesArticulos,
|
JvCombobox, JvColorCombo, ToolWin, uControllerDetallesArticulos,
|
||||||
cxTextEdit, uDAInterfaces;
|
cxTextEdit, uDAInterfaces, dxSkinsCore, dxSkinBlack, dxSkinBlue,
|
||||||
|
dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
|
||||||
|
dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinSilver,
|
||||||
|
dxSkinsDefaultPainters, dxSkinscxPCPainter;
|
||||||
|
|
||||||
type
|
type
|
||||||
IViewDetallesArticulos = interface(IViewDetallesDTO)
|
IViewDetallesArticulos = interface(IViewDetallesDTO)
|
||||||
|
|||||||
@ -13,4 +13,4 @@ BEGIN
|
|||||||
END
|
END
|
||||||
|
|
||||||
/* C:\Codigo Acana\Source\Modulos\Gestion de documentos\Controller\GestorDocumentos_Controller.res */
|
/* C:\Codigo Acana\Source\Modulos\Gestion de documentos\Controller\GestorDocumentos_Controller.res */
|
||||||
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf1F7.tmp */
|
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf1E8.tmp */
|
||||||
|
|||||||
@ -14,4 +14,4 @@ END
|
|||||||
|
|
||||||
/* C:\Codigo Acana\Source\Modulos\Gestion de documentos\Data\uDataModuleGestorDocumentos.dfm */
|
/* C:\Codigo Acana\Source\Modulos\Gestion de documentos\Data\uDataModuleGestorDocumentos.dfm */
|
||||||
/* C:\Codigo Acana\Source\Modulos\Gestion de documentos\Data\GestorDocumentos_data.res */
|
/* C:\Codigo Acana\Source\Modulos\Gestion de documentos\Data\GestorDocumentos_data.res */
|
||||||
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf1F5.tmp */
|
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf1E6.tmp */
|
||||||
|
|||||||
Binary file not shown.
@ -49,12 +49,12 @@
|
|||||||
<DelphiCompile Include="PresupuestosCliente_controller.dpk">
|
<DelphiCompile Include="PresupuestosCliente_controller.dpk">
|
||||||
<MainSource>MainSource</MainSource>
|
<MainSource>MainSource</MainSource>
|
||||||
</DelphiCompile>
|
</DelphiCompile>
|
||||||
<DCCReference Include="..\..\Lib\Articulos_controller.dcp" />
|
<DCCReference Include="..\Articulos_controller.dcp" />
|
||||||
<DCCReference Include="..\..\Lib\Contactos_controller.dcp" />
|
<DCCReference Include="..\Contactos_controller.dcp" />
|
||||||
<DCCReference Include="..\..\Lib\GestorDocumentos_controller.dcp" />
|
<DCCReference Include="..\GestorDocumentos_controller.dcp" />
|
||||||
<DCCReference Include="..\..\Lib\GUIBase.dcp" />
|
<DCCReference Include="..\GUIBase.dcp" />
|
||||||
<DCCReference Include="..\..\Lib\PresupuestosCliente_data.dcp" />
|
<DCCReference Include="..\PresupuestosCliente_data.dcp" />
|
||||||
<DCCReference Include="..\..\Lib\PresupuestosCliente_model.dcp" />
|
<DCCReference Include="..\PresupuestosCliente_model.dcp" />
|
||||||
<DCCReference Include="uArticulosPresupuestoClienteController.pas" />
|
<DCCReference Include="uArticulosPresupuestoClienteController.pas" />
|
||||||
<DCCReference Include="uDetallesPresupuestoClienteController.pas" />
|
<DCCReference Include="uDetallesPresupuestoClienteController.pas" />
|
||||||
<DCCReference Include="uPresupuestosClienteController.pas" />
|
<DCCReference Include="uPresupuestosClienteController.pas" />
|
||||||
|
|||||||
@ -56,6 +56,7 @@ type
|
|||||||
|
|
||||||
procedure Preview(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false);
|
procedure Preview(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false);
|
||||||
procedure Print(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false);
|
procedure Print(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false);
|
||||||
|
procedure EnviarPresupuestoPorEMail(APresupuesto : IBizPresupuestoCliente);
|
||||||
// procedure SetID_Tienda (APresupuesto: IBizPresupuestoCliente; const ID_Tienda: Integer; Tienda: Variant);
|
// procedure SetID_Tienda (APresupuesto: IBizPresupuestoCliente; const ID_Tienda: Integer; Tienda: Variant);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -123,6 +124,7 @@ type
|
|||||||
|
|
||||||
procedure Preview(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false);
|
procedure Preview(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false);
|
||||||
procedure Print(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false);
|
procedure Print(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false);
|
||||||
|
procedure EnviarPresupuestoPorEMail(APresupuesto : IBizPresupuestoCliente);
|
||||||
// procedure SetID_Tienda (APresupuesto: IBizPresupuestoCliente; const ID_Tienda: Integer; Tienda: Variant);
|
// procedure SetID_Tienda (APresupuesto: IBizPresupuestoCliente; const ID_Tienda: Integer; Tienda: Variant);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -134,7 +136,8 @@ uses
|
|||||||
uBizContactos, uDataTableUtils, uDataModuleUsuarios, Classes, uFactuGES_App,
|
uBizContactos, uDataTableUtils, uDataModuleUsuarios, Classes, uFactuGES_App,
|
||||||
schPresupuestosClienteClient_Intf, uDAInterfaces, uDateUtils, uIEditorPresupuestoCliente,
|
schPresupuestosClienteClient_Intf, uDAInterfaces, uDateUtils, uIEditorPresupuestoCliente,
|
||||||
uIEditorElegirPresupuestosCliente, uIEditorDireccionEntregaPresupuestoCliente,
|
uIEditorElegirPresupuestosCliente, uIEditorDireccionEntregaPresupuestoCliente,
|
||||||
schContactosClient_Intf, uPresupuestosClienteReportController;
|
schContactosClient_Intf, uPresupuestosClienteReportController, uSistemaFunc,
|
||||||
|
uEMailUtils, uDialogElegirEMail, uIntegerListUtils, Dialogs;
|
||||||
|
|
||||||
{ TPresupuestosClienteController }
|
{ TPresupuestosClienteController }
|
||||||
|
|
||||||
@ -537,6 +540,51 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TPresupuestosClienteController.EnviarPresupuestoPorEMail(
|
||||||
|
APresupuesto: IBizPresupuestoCliente);
|
||||||
|
var
|
||||||
|
AReportController : IPresupuestosClienteReportController;
|
||||||
|
AFicheroTMP : TFileName;
|
||||||
|
AEMail : String;
|
||||||
|
AListaEmail : TStringList;
|
||||||
|
begin
|
||||||
|
if not Assigned(APresupuesto) then
|
||||||
|
raise Exception.Create ('Presupuesto no asignado (EnviarPresupuestoPorEMail)');
|
||||||
|
|
||||||
|
if APresupuesto.DataTable.Active then
|
||||||
|
APresupuesto.DataTable.Active := True;
|
||||||
|
|
||||||
|
AFicheroTMP := DarFicheroPDFTemporal(EscapeIllegalChars(APresupuesto.REFERENCIA));
|
||||||
|
|
||||||
|
AListaEmail := TStringList.Create;
|
||||||
|
try
|
||||||
|
RecuperarCliente(APresupuesto);
|
||||||
|
APresupuesto.Cliente.DataTable.Active := True;
|
||||||
|
|
||||||
|
if not APresupuesto.Cliente.EMAIL_1IsNull then
|
||||||
|
AListaEmail.Add(APresupuesto.Cliente.EMAIL_1);
|
||||||
|
if not APresupuesto.Cliente.EMAIL_2IsNull then
|
||||||
|
AListaEmail.Add(APresupuesto.Cliente.EMAIL_2);
|
||||||
|
|
||||||
|
if not ElegirEMail(AListaEmail, AEMail) then
|
||||||
|
Exit;
|
||||||
|
finally
|
||||||
|
FreeANDNIL(AListaEmail);
|
||||||
|
end;
|
||||||
|
|
||||||
|
ShowHourglassCursor;
|
||||||
|
AReportController := TPresupuestosClienteReportController.Create;
|
||||||
|
try
|
||||||
|
AReportController.ExportToPDF(APresupuesto.ID, AFicheroTMP);
|
||||||
|
SendMailMAPI('Presupuesto ' + APresupuesto.REFERENCIA, '', AFicheroTMP, '', '', APresupuesto.Cliente.NOMBRE, AEMail);
|
||||||
|
finally
|
||||||
|
DeleteFile(AFicheroTMP);
|
||||||
|
AReportController := NIL;
|
||||||
|
HideHourglassCursor;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
function TPresupuestosClienteController.EsEliminable(APresupuesto: IBizPresupuestoCliente): Boolean;
|
function TPresupuestosClienteController.EsEliminable(APresupuesto: IBizPresupuestoCliente): Boolean;
|
||||||
begin
|
begin
|
||||||
if not Assigned(APresupuesto) then
|
if not Assigned(APresupuesto) then
|
||||||
@ -799,12 +847,11 @@ end;
|
|||||||
procedure TPresupuestosClienteController.Preview(APresupuesto: IBizPresupuestoCliente; AllItems: Boolean = false);
|
procedure TPresupuestosClienteController.Preview(APresupuesto: IBizPresupuestoCliente; AllItems: Boolean = false);
|
||||||
var
|
var
|
||||||
AReportController : IPresupuestosClienteReportController;
|
AReportController : IPresupuestosClienteReportController;
|
||||||
ID_Presupuestos: TStringList;
|
ID_Presupuestos: TIntegerList;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
AReportController := TPresupuestosClienteReportController.Create;
|
AReportController := TPresupuestosClienteReportController.Create;
|
||||||
try
|
try
|
||||||
ID_Presupuestos := TStringList.Create;
|
ID_Presupuestos := TIntegerList.Create;
|
||||||
|
|
||||||
//Si deseamos previsualizar todos los items del objeto presupuesto
|
//Si deseamos previsualizar todos los items del objeto presupuesto
|
||||||
if AllItems then
|
if AllItems then
|
||||||
@ -814,17 +861,16 @@ begin
|
|||||||
First;
|
First;
|
||||||
while not EOF do
|
while not EOF do
|
||||||
begin
|
begin
|
||||||
ID_Presupuestos.Add(IntToStr(APresupuesto.ID));
|
ID_Presupuestos.Add(APresupuesto.ID);
|
||||||
Next;
|
Next;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
//Solo previsualizamos el item seleccionado
|
//Solo previsualizamos el item seleccionado
|
||||||
else
|
else
|
||||||
ID_Presupuestos.Add(IntToStr(APresupuesto.ID));
|
ID_Presupuestos.Add(APresupuesto.ID);
|
||||||
|
|
||||||
AReportController.Preview(ID_Presupuestos.CommaText);
|
|
||||||
|
|
||||||
|
AReportController.Preview(ID_Presupuestos);
|
||||||
finally
|
finally
|
||||||
AReportController := NIL;
|
AReportController := NIL;
|
||||||
FreeAndNil(ID_Presupuestos);
|
FreeAndNil(ID_Presupuestos);
|
||||||
@ -834,14 +880,12 @@ end;
|
|||||||
procedure TPresupuestosClienteController.Print(APresupuesto: IBizPresupuestoCliente; AllItems: Boolean = false);
|
procedure TPresupuestosClienteController.Print(APresupuesto: IBizPresupuestoCliente; AllItems: Boolean = false);
|
||||||
var
|
var
|
||||||
AReportController : IPresupuestosClienteReportController;
|
AReportController : IPresupuestosClienteReportController;
|
||||||
ID_Presupuestos: TStringList;
|
ID_Presupuestos: TIntegerList;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
AReportController := TPresupuestosClienteReportController.Create;
|
AReportController := TPresupuestosClienteReportController.Create;
|
||||||
|
ID_Presupuestos := TIntegerList.Create;
|
||||||
try
|
try
|
||||||
ID_Presupuestos := TStringList.Create;
|
//Si deseamos imprimimos todos los items del objeto presupuesto
|
||||||
|
|
||||||
//Si deseamos previsualizar todos los items del objeto albaran
|
|
||||||
if AllItems then
|
if AllItems then
|
||||||
begin
|
begin
|
||||||
with APresupuesto.DataTable do
|
with APresupuesto.DataTable do
|
||||||
@ -849,20 +893,20 @@ begin
|
|||||||
First;
|
First;
|
||||||
while not EOF do
|
while not EOF do
|
||||||
begin
|
begin
|
||||||
ID_Presupuestos.Add(IntToStr(APresupuesto.ID));
|
ID_Presupuestos.Add(APresupuesto.ID);
|
||||||
Next;
|
Next;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
//Solo previsualizamos el item seleccionado
|
//Solo imprimimos el item seleccionado
|
||||||
else
|
else
|
||||||
ID_Presupuestos.Add(IntToStr(APresupuesto.ID));
|
ID_Presupuestos.Add(APresupuesto.ID);
|
||||||
|
|
||||||
AReportController.Print(ID_Presupuestos.CommaText);
|
AReportController.Print(ID_Presupuestos);
|
||||||
|
|
||||||
finally
|
finally
|
||||||
AReportController := NIL;
|
AReportController := NIL;
|
||||||
ID_Presupuestos.Free;
|
FreeANDNIL(ID_Presupuestos);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|||||||
@ -5,13 +5,14 @@ interface
|
|||||||
uses
|
uses
|
||||||
Classes, SysUtils, uDADataTable, uIDataModulePresupuestosClienteReport,
|
Classes, SysUtils, uDADataTable, uIDataModulePresupuestosClienteReport,
|
||||||
uClientesController, uPresupuestosClienteController, uDetallesPresupuestoClienteController,
|
uClientesController, uPresupuestosClienteController, uDetallesPresupuestoClienteController,
|
||||||
uBizPresupuestosCliente, uControllerBase;
|
uBizPresupuestosCliente, uControllerBase, uIntegerListUtils;
|
||||||
|
|
||||||
type
|
type
|
||||||
IPresupuestosClienteReportController = interface(IControllerBase)
|
IPresupuestosClienteReportController = interface(IControllerBase)
|
||||||
['{D0686358-251C-43C4-9927-6112F2F4D3B8}']
|
['{D0686358-251C-43C4-9927-6112F2F4D3B8}']
|
||||||
procedure Preview(const AID : String);
|
procedure Preview(const AListaID : TIntegerList);
|
||||||
procedure Print(const AID : String);
|
procedure Print(const AListaID : TIntegerList);
|
||||||
|
function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TPresupuestosClienteReportController = class(TControllerBase, IPresupuestosClienteReportController)
|
TPresupuestosClienteReportController = class(TControllerBase, IPresupuestosClienteReportController)
|
||||||
@ -22,8 +23,9 @@ type
|
|||||||
constructor Create;
|
constructor Create;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
|
|
||||||
procedure Preview(const AID : String);
|
procedure Preview(const AListaID : TIntegerList);
|
||||||
procedure Print(const AID : String);
|
procedure Print(const AListaID : TIntegerList);
|
||||||
|
function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -31,7 +33,8 @@ implementation
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
uROTypes, uEditorRegistryUtils, uIEditorPresupuestosClientePreview,
|
uROTypes, uEditorRegistryUtils, uIEditorPresupuestosClientePreview,
|
||||||
uEditorPreview, uDataModulePresupuestosCliente, uEditorBase, cxControls;
|
uEditorPreview, uDataModulePresupuestosCliente, uEditorBase, cxControls,
|
||||||
|
uFactuGES_App, uStringsUtils;
|
||||||
|
|
||||||
{ TPresupuestosClienteReportController }
|
{ TPresupuestosClienteReportController }
|
||||||
|
|
||||||
@ -53,7 +56,30 @@ begin
|
|||||||
inherited;
|
inherited;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPresupuestosClienteReportController.Preview(const AID : String);
|
function TPresupuestosClienteReportController.ExportToPDF(const AID: Integer;
|
||||||
|
const AFileName: String): Boolean;
|
||||||
|
var
|
||||||
|
AStream: Binary;
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
if EsCadenaVacia(AFileName) then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
ShowHourglassCursor;
|
||||||
|
try
|
||||||
|
AStream := FDataModule.GetRptPDFPresupuesto(AID);
|
||||||
|
try
|
||||||
|
AStream.SaveToFile(AFileName);
|
||||||
|
Result := True;
|
||||||
|
finally
|
||||||
|
FreeAndNil(AStream);
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
HideHourglassCursor;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TPresupuestosClienteReportController.Preview(const AListaID : TIntegerList);
|
||||||
var
|
var
|
||||||
AStream: Binary;
|
AStream: Binary;
|
||||||
AEditor : IEditorPresupuestosClientePreview;
|
AEditor : IEditorPresupuestosClientePreview;
|
||||||
@ -61,15 +87,20 @@ begin
|
|||||||
AEditor := NIL;
|
AEditor := NIL;
|
||||||
ShowHourglassCursor;
|
ShowHourglassCursor;
|
||||||
try
|
try
|
||||||
AStream := FDataModule.GetReport(AID);
|
AStream := FDataModule.GetRptPresupuestos(AListaID);
|
||||||
try
|
try
|
||||||
CreateEditor('EditorPresupuestosClientePreview', IEditorPresupuestosClientePreview, AEditor);
|
CreateEditor('EditorPresupuestosClientePreview', IEditorPresupuestosClientePreview, AEditor);
|
||||||
if Assigned(AEditor) then
|
if Assigned(AEditor) then
|
||||||
with AEditor do
|
|
||||||
begin
|
begin
|
||||||
AEditor.LoadFromStream(AStream);
|
try
|
||||||
AEditor.Preview;
|
AEditor.Controller := Self;
|
||||||
AEditor.Release;
|
AEditor.ListaID := AListaID;
|
||||||
|
AEditor.Title := 'Presupuesto - ' + AppFactuGES.EmpresaActiva.NOMBRE;
|
||||||
|
AEditor.LoadFromStream(AStream);
|
||||||
|
AEditor.Preview;
|
||||||
|
finally
|
||||||
|
AEditor.Release;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
FreeAndNil(AStream);
|
FreeAndNil(AStream);
|
||||||
@ -80,7 +111,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPresupuestosClienteReportController.Print(const AID : String);
|
procedure TPresupuestosClienteReportController.Print(const AListaID : TIntegerList);
|
||||||
var
|
var
|
||||||
AStream: Binary;
|
AStream: Binary;
|
||||||
AEditor : IEditorPresupuestosClientePreview;
|
AEditor : IEditorPresupuestosClientePreview;
|
||||||
@ -88,15 +119,20 @@ begin
|
|||||||
AEditor := NIL;
|
AEditor := NIL;
|
||||||
ShowHourglassCursor;
|
ShowHourglassCursor;
|
||||||
try
|
try
|
||||||
AStream := FDataModule.GetReport(AID);
|
AStream := FDataModule.GetRptPresupuestos(AListaID);
|
||||||
try
|
try
|
||||||
CreateEditor('EditorPresupuestosClientePreview', IEditorPresupuestosClientePreview, AEditor);
|
CreateEditor('EditorPresupuestosClientePreview', IEditorPresupuestosClientePreview, AEditor);
|
||||||
if Assigned(AEditor) then
|
if Assigned(AEditor) then
|
||||||
with AEditor do
|
|
||||||
begin
|
begin
|
||||||
AEditor.LoadFromStream(AStream);
|
try
|
||||||
AEditor.Print;
|
AEditor.Controller := Self;
|
||||||
AEditor.Release;
|
AEditor.ListaID := AListaID;
|
||||||
|
AEditor.Title := 'Presupuesto - ' + AppFactuGES.EmpresaActiva.NOMBRE;
|
||||||
|
AEditor.LoadFromStream(AStream);
|
||||||
|
AEditor.Print;
|
||||||
|
finally
|
||||||
|
AEditor.Release;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
FreeAndNil(AStream);
|
FreeAndNil(AStream);
|
||||||
@ -105,9 +141,6 @@ begin
|
|||||||
finally
|
finally
|
||||||
HideHourglassCursor;
|
HideHourglassCursor;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if Assigned(AEditor) then
|
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
@ -42,7 +42,7 @@
|
|||||||
<Borland.Personality>Delphi.Personality</Borland.Personality>
|
<Borland.Personality>Delphi.Personality</Borland.Personality>
|
||||||
<Borland.ProjectType>Package</Borland.ProjectType>
|
<Borland.ProjectType>Package</Borland.ProjectType>
|
||||||
<BorlandProject>
|
<BorlandProject>
|
||||||
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">True</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">PresupuestosCliente_data.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
|
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">PresupuestosCliente_data.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
|
||||||
</ProjectExtensions>
|
</ProjectExtensions>
|
||||||
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
|
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@ -11,7 +11,7 @@ uses
|
|||||||
uIDataModulePresupuestosCliente, uBizPresupuestosCliente, uBizDetallesPresupuestoCliente,
|
uIDataModulePresupuestosCliente, uBizPresupuestosCliente, uBizDetallesPresupuestoCliente,
|
||||||
uIDataModulePresupuestosClienteReport, uDataModuleBase, uDAInterfaces,
|
uIDataModulePresupuestosClienteReport, uDataModuleBase, uDAInterfaces,
|
||||||
uRODynamicRequest, uDADataStreamer, uDARemoteDataAdapter, uDABin2DataStreamer,
|
uRODynamicRequest, uDADataStreamer, uDARemoteDataAdapter, uDABin2DataStreamer,
|
||||||
uDAMemDataTable;
|
uDAMemDataTable, uIntegerListUtils;
|
||||||
|
|
||||||
type
|
type
|
||||||
TDataModulePresupuestosCliente = class(TDataModuleBase, IDataModulePresupuestosCliente, IDataModulePresupuestosClienteReport)
|
TDataModulePresupuestosCliente = class(TDataModuleBase, IDataModulePresupuestosCliente, IDataModulePresupuestosClienteReport)
|
||||||
@ -26,17 +26,16 @@ type
|
|||||||
|
|
||||||
private
|
private
|
||||||
function _GetDetalles : IBizDetallesPresupuestoCliente;
|
function _GetDetalles : IBizDetallesPresupuestoCliente;
|
||||||
|
|
||||||
protected
|
protected
|
||||||
procedure AsignarClaseNegocio(APresupuesto: TDADataTable); virtual;
|
procedure AsignarClaseNegocio(APresupuesto: TDADataTable); virtual;
|
||||||
|
|
||||||
public
|
public
|
||||||
function GetItems : IBizPresupuestoCliente; virtual;
|
function GetItems : IBizPresupuestoCliente; virtual;
|
||||||
function GetItem(const ID : Integer) : IBizPresupuestoCliente;
|
function GetItem(const ID : Integer) : IBizPresupuestoCliente;
|
||||||
function NewItem : IBizPresupuestoCliente;
|
function NewItem : IBizPresupuestoCliente;
|
||||||
|
|
||||||
// Report
|
// Report
|
||||||
function GetReport(const AID: String): Binary;
|
function GetRptPresupuestos(const AListaID: TIntegerList): Binary;
|
||||||
|
function GetRptPDFPresupuesto(const AID: Integer): Binary;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
@ -60,9 +59,31 @@ begin
|
|||||||
RORemoteService.Message := dmConexion.Message;
|
RORemoteService.Message := dmConexion.Message;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TDataModulePresupuestosCliente.GetReport(const AID: String): Binary;
|
function TDataModulePresupuestosCliente.GetRptPDFPresupuesto(
|
||||||
|
const AID: Integer): Binary;
|
||||||
|
var
|
||||||
|
AParam : TIntegerArray;
|
||||||
begin
|
begin
|
||||||
Result := (RORemoteService as IsrvPresupuestosCliente).GenerateReport(AID)
|
AParam := TIntegerArray.Create;
|
||||||
|
try
|
||||||
|
AParam.Add(AID);
|
||||||
|
Result := (RORemoteService as IsrvPresupuestosCliente).GenerarInformeEnPDF(AParam)
|
||||||
|
finally
|
||||||
|
FreeANDNIL(AParam)
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TDataModulePresupuestosCliente.GetRptPresupuestos(
|
||||||
|
const AListaID: TIntegerList): Binary;
|
||||||
|
var
|
||||||
|
AParam : TIntegerArray;
|
||||||
|
begin
|
||||||
|
AParam := AListaID.ToIntegerArray;
|
||||||
|
try
|
||||||
|
Result := (RORemoteService as IsrvPresupuestosCliente).GenerarInforme(AParam)
|
||||||
|
finally
|
||||||
|
FreeANDNIL(AParam)
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TDataModulePresupuestosCliente.NewItem: IBizPresupuestoCliente;
|
function TDataModulePresupuestosCliente.NewItem: IBizPresupuestoCliente;
|
||||||
|
|||||||
@ -3,12 +3,13 @@ unit uIDataModulePresupuestosClienteReport;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
uROTypes;
|
uROTypes, uIntegerListUtils;
|
||||||
|
|
||||||
type
|
type
|
||||||
IDataModulePresupuestosClienteReport = interface
|
IDataModulePresupuestosClienteReport = interface
|
||||||
['{70CEBB06-376F-4363-B80F-DDA4324E0F85}']
|
['{70CEBB06-376F-4363-B80F-DDA4324E0F85}']
|
||||||
function GetReport(const AID: String): Binary;
|
function GetRptPresupuestos(const AListaID: TIntegerList): Binary;
|
||||||
|
function GetRptPDFPresupuesto(const AID: Integer): Binary;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
object RptPresupuestosCliente: TRptPresupuestosCliente
|
object RptPresupuestosCliente: TRptPresupuestosCliente
|
||||||
OldCreateOrder = True
|
OldCreateOrder = True
|
||||||
OnCreate = DataModuleCreate
|
OnCreate = DataModuleCreate
|
||||||
Height = 604
|
Height = 548
|
||||||
Width = 447
|
Width = 535
|
||||||
object DADataCabecera: TDADataSource
|
object DADataCabecera: TDADataSource
|
||||||
DataSet = tbl_Cabecera.Dataset
|
DataSet = tbl_Cabecera.Dataset
|
||||||
DataTable = tbl_Cabecera
|
DataTable = tbl_Cabecera
|
||||||
@ -844,4 +844,18 @@ object RptPresupuestosCliente: TRptPresupuestosCliente
|
|||||||
Left = 136
|
Left = 136
|
||||||
Top = 352
|
Top = 352
|
||||||
end
|
end
|
||||||
|
object frxPDFExport1: TfrxPDFExport
|
||||||
|
ShowDialog = False
|
||||||
|
UseFileCache = True
|
||||||
|
ShowProgress = False
|
||||||
|
PrintOptimized = True
|
||||||
|
Outline = False
|
||||||
|
Author = 'FactuGES'
|
||||||
|
Subject = 'FactuGES'
|
||||||
|
Background = False
|
||||||
|
Creator = 'FactuGES'
|
||||||
|
HTMLTags = True
|
||||||
|
Left = 472
|
||||||
|
Top = 440
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -8,7 +8,8 @@ uses
|
|||||||
uDADataTable, uDACDSDataTable, DB, uDAClasses, uDABINAdapter, uROTypes,
|
uDADataTable, uDACDSDataTable, DB, uDAClasses, uDABINAdapter, uROTypes,
|
||||||
uDAInterfaces, uDAMemDataTable, uDABin2DataStreamer,
|
uDAInterfaces, uDAMemDataTable, uDABin2DataStreamer,
|
||||||
frxGradient, frxChBox, frxCross, frxOLE, frxBarcode, frxRich, uDAEngine,
|
frxGradient, frxChBox, frxCross, frxOLE, frxBarcode, frxRich, uDAEngine,
|
||||||
IBSQL, IBDatabase, IBCustomDataSet, IBQuery, uDADataStreamer;
|
IBSQL, IBDatabase, IBCustomDataSet, IBQuery, uDADataStreamer, FactuGES_Intf,
|
||||||
|
frxExportPDF;
|
||||||
|
|
||||||
type
|
type
|
||||||
TRptPresupuestosCliente = class(TDataModule)
|
TRptPresupuestosCliente = class(TDataModule)
|
||||||
@ -33,12 +34,14 @@ type
|
|||||||
DataSource2: TDataSource;
|
DataSource2: TDataSource;
|
||||||
cabecera: TIBQuery;
|
cabecera: TIBQuery;
|
||||||
detalles: TIBQuery;
|
detalles: TIBQuery;
|
||||||
|
frxPDFExport1: TfrxPDFExport;
|
||||||
procedure DataModuleCreate(Sender: TObject);
|
procedure DataModuleCreate(Sender: TObject);
|
||||||
private
|
private
|
||||||
FConnection: IDAConnection;
|
FConnection: IDAConnection;
|
||||||
procedure GenerarPresupuesto(const AID : Integer); overload;
|
procedure _GenerarPresupuesto(const AID : Integer);
|
||||||
public
|
public
|
||||||
function GenerarPresupuesto(const AID : String): Binary; overload;
|
function GenerarPresupuesto(const ListaID : TIntegerArray): Binary;
|
||||||
|
function GenerarPresupuestoEnPDF(const ListaID : TIntegerArray): Binary;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
@ -66,31 +69,45 @@ begin
|
|||||||
frxReport.EngineOptions.NewSilentMode := simReThrow;
|
frxReport.EngineOptions.NewSilentMode := simReThrow;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TRptPresupuestosCliente.GenerarPresupuesto(const AID: String): Binary;
|
function TRptPresupuestosCliente.GenerarPresupuesto(const ListaID : TIntegerArray): Binary;
|
||||||
var
|
var
|
||||||
ID_Presupuestos: TStringList;
|
|
||||||
i: Integer;
|
i: Integer;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
Result := Binary.Create;
|
Result := Binary.Create;
|
||||||
FConnection.BeginTransaction;
|
//FConnection.BeginTransaction; <--- Creo que no va a hacer falta.
|
||||||
|
|
||||||
try
|
try
|
||||||
ID_Presupuestos := TStringList.Create;
|
//Vamos generando todos y cada uno de los presupuestos recibidos
|
||||||
ID_Presupuestos.CommaText := AID;
|
for i := 0 to ListaID.Count - 1 do
|
||||||
|
_GenerarPresupuesto(ListaID.Items[i]);
|
||||||
//Vamos generando todos y cada uno de los albaranes recibidos
|
|
||||||
for i := 0 to ID_Presupuestos.Count - 1 do
|
|
||||||
GenerarPresupuesto(StrToInt(ID_Presupuestos.Strings[i]));
|
|
||||||
|
|
||||||
frxReport.PreviewPages.SaveToStream(Result);
|
frxReport.PreviewPages.SaveToStream(Result);
|
||||||
|
|
||||||
finally
|
finally
|
||||||
FConnection.RollbackTransaction;
|
//FConnection.RollbackTransaction; <--- Creo que no va a hacer falta.
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TRptPresupuestosCliente.GenerarPresupuesto(const AID: Integer);
|
function TRptPresupuestosCliente.GenerarPresupuestoEnPDF(
|
||||||
|
const ListaID: TIntegerArray): Binary;
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
Result := Binary.Create;
|
||||||
|
//FConnection.BeginTransaction; <--- Creo que no va a hacer falta.
|
||||||
|
|
||||||
|
try
|
||||||
|
//Vamos generando todos y cada uno de los presupuestos recibidos
|
||||||
|
for i := 0 to ListaID.Count - 1 do
|
||||||
|
_GenerarPresupuesto(ListaID.Items[i]);
|
||||||
|
|
||||||
|
frxPDFExport1.Stream := Result;
|
||||||
|
frxReport.Export(frxPDFExport1)
|
||||||
|
finally
|
||||||
|
//FConnection.RollbackTransaction; <--- Creo que no va a hacer falta.
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TRptPresupuestosCliente._GenerarPresupuesto(const AID: Integer);
|
||||||
{var
|
{var
|
||||||
AStream: TMemoryStream;
|
AStream: TMemoryStream;
|
||||||
dsMaster: IDADataset;
|
dsMaster: IDADataset;
|
||||||
|
|||||||
@ -31,10 +31,10 @@ type
|
|||||||
procedure DARemoteServiceBeforeGetDatasetData(const Dataset: IDADataset;
|
procedure DARemoteServiceBeforeGetDatasetData(const Dataset: IDADataset;
|
||||||
const IncludeSchema: Boolean; const MaxRecords: Integer);
|
const IncludeSchema: Boolean; const MaxRecords: Integer);
|
||||||
procedure DARemoteServiceCreate(Sender: TObject);
|
procedure DARemoteServiceCreate(Sender: TObject);
|
||||||
private
|
|
||||||
protected
|
protected
|
||||||
{ IsrvPresupuestosCliente methods }
|
{ IsrvPresupuestosCliente methods }
|
||||||
function GenerateReport(const ID: String): Binary;
|
function GenerarInforme(const ListaID: TIntegerArray): Binary;
|
||||||
|
function GenerarInformeEnPDF(const ListaID: TIntegerArray): Binary;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
@ -78,13 +78,27 @@ begin
|
|||||||
ConnectionName := dmServer.ConnectionName;
|
ConnectionName := dmServer.ConnectionName;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TsrvPresupuestosCliente.GenerateReport(const ID: String): Binary;
|
function TsrvPresupuestosCliente.GenerarInforme(
|
||||||
|
const ListaID: TIntegerArray): Binary;
|
||||||
var
|
var
|
||||||
AReportGenerator : TRptPresupuestosCliente;
|
AReportGenerator : TRptPresupuestosCliente;
|
||||||
begin
|
begin
|
||||||
AReportGenerator := TRptPresupuestosCliente.Create(nil);
|
AReportGenerator := TRptPresupuestosCliente.Create(nil);
|
||||||
try
|
try
|
||||||
Result := AReportGenerator.GenerarPresupuesto(ID);
|
Result := AReportGenerator.GenerarPresupuesto(ListaID);
|
||||||
|
finally
|
||||||
|
FreeAndNIL(AReportGenerator);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TsrvPresupuestosCliente.GenerarInformeEnPDF(
|
||||||
|
const ListaID: TIntegerArray): Binary;
|
||||||
|
var
|
||||||
|
AReportGenerator : TRptPresupuestosCliente;
|
||||||
|
begin
|
||||||
|
AReportGenerator := TRptPresupuestosCliente.Create(nil);
|
||||||
|
try
|
||||||
|
Result := AReportGenerator.GenerarPresupuestoEnPDF(ListaID);
|
||||||
finally
|
finally
|
||||||
FreeAndNIL(AReportGenerator);
|
FreeAndNIL(AReportGenerator);
|
||||||
end;
|
end;
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ProjectGuid>{9e558626-cf49-4cff-a178-e12c186758ac}</ProjectGuid>
|
<ProjectGuid>{9e558626-cf49-4cff-a178-e12c186758ac}</ProjectGuid>
|
||||||
<MainSource>PresupuestosCliente_view.dpk</MainSource>
|
<MainSource>PresupuestosCliente_view.dpk</MainSource>
|
||||||
@ -43,6 +42,10 @@
|
|||||||
<Borland.ProjectType>Package</Borland.ProjectType>
|
<Borland.ProjectType>Package</Borland.ProjectType>
|
||||||
<BorlandProject>
|
<BorlandProject>
|
||||||
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
|
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dclIntraweb_80_100.bpl">Intraweb 8.0 Design Package for Borland Development Studio 2006</Excluded_Packages>
|
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dclIntraweb_80_100.bpl">Intraweb 8.0 Design Package for Borland Development Studio 2006</Excluded_Packages>
|
||||||
</Excluded_Packages><Source><Source Name="MainSource">PresupuestosCliente_view.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
|
</Excluded_Packages><Source><Source Name="MainSource">PresupuestosCliente_view.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
|
||||||
</ProjectExtensions>
|
</ProjectExtensions>
|
||||||
@ -51,23 +54,12 @@
|
|||||||
<DelphiCompile Include="PresupuestosCliente_view.dpk">
|
<DelphiCompile Include="PresupuestosCliente_view.dpk">
|
||||||
<MainSource>MainSource</MainSource>
|
<MainSource>MainSource</MainSource>
|
||||||
</DelphiCompile>
|
</DelphiCompile>
|
||||||
<DCCReference Include="..\Articulos_view.dcp" />
|
<DCCReference Include="..\..\Albaranes de cliente\Articulos_view.dcp" />
|
||||||
<DCCReference Include="..\Base.dcp" />
|
<DCCReference Include="..\..\Albaranes de cliente\Base.dcp" />
|
||||||
<DCCReference Include="..\Contactos_controller.dcp" />
|
<DCCReference Include="..\..\Albaranes de cliente\Contactos_controller.dcp" />
|
||||||
<DCCReference Include="..\cxLibraryD11.dcp" />
|
<DCCReference Include="..\..\Albaranes de cliente\GUIBase.dcp" />
|
||||||
<DCCReference Include="..\dxGDIPlusD11.dcp" />
|
<DCCReference Include="..\..\Albaranes de cliente\PresupuestosCliente_controller.dcp" />
|
||||||
<DCCReference Include="..\dxThemeD11.dcp" />
|
<DCCReference Include="..\..\Albaranes de cliente\PresupuestosCliente_model.dcp" />
|
||||||
<DCCReference Include="..\GUIBase.dcp" />
|
|
||||||
<DCCReference Include="..\PngComponentsD10.dcp" />
|
|
||||||
<DCCReference Include="..\PNG_D10.dcp" />
|
|
||||||
<DCCReference Include="..\PresupuestosCliente_controller.dcp" />
|
|
||||||
<DCCReference Include="..\PresupuestosCliente_model.dcp" />
|
|
||||||
<DCCReference Include="..\rtl.dcp" />
|
|
||||||
<DCCReference Include="..\tb2k_d10.dcp" />
|
|
||||||
<DCCReference Include="..\tbx_d10.dcp" />
|
|
||||||
<DCCReference Include="..\vcl.dcp" />
|
|
||||||
<DCCReference Include="..\vclactnband.dcp" />
|
|
||||||
<DCCReference Include="..\vclx.dcp" />
|
|
||||||
<DCCReference Include="uEditorElegirArticulosPresupuestoCliente.pas">
|
<DCCReference Include="uEditorElegirArticulosPresupuestoCliente.pas">
|
||||||
<Form>fEditorElegirArticulosPresupuestoCliente</Form>
|
<Form>fEditorElegirArticulosPresupuestoCliente</Form>
|
||||||
<DesignClass>TfEditorElegirArticulosPedidoCliente</DesignClass>
|
<DesignClass>TfEditorElegirArticulosPedidoCliente</DesignClass>
|
||||||
@ -93,10 +85,6 @@
|
|||||||
<Form>frViewDetallesPresupuestoCliente</Form>
|
<Form>frViewDetallesPresupuestoCliente</Form>
|
||||||
<DesignClass>TFrame</DesignClass>
|
<DesignClass>TFrame</DesignClass>
|
||||||
</DCCReference>
|
</DCCReference>
|
||||||
<DCCReference Include="uViewDocumentosPresupuestoCliente.pas">
|
|
||||||
<Form>frViewDocumentosPresupuestoCliente</Form>
|
|
||||||
<DesignClass>TFrame</DesignClass>
|
|
||||||
</DCCReference>
|
|
||||||
<DCCReference Include="uViewElegirArticulosPresupuestosCliente.pas">
|
<DCCReference Include="uViewElegirArticulosPresupuestosCliente.pas">
|
||||||
<Form>frViewElegirArticulosPresupuestosCliente</Form>
|
<Form>frViewElegirArticulosPresupuestosCliente</Form>
|
||||||
<DesignClass>TFrame</DesignClass>
|
<DesignClass>TFrame</DesignClass>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -34,14 +34,20 @@ type
|
|||||||
pagMemoria: TTabSheet;
|
pagMemoria: TTabSheet;
|
||||||
cxDBMemo1: TcxDBMemo;
|
cxDBMemo1: TcxDBMemo;
|
||||||
edtPortada: TcxDBRichEdit;
|
edtPortada: TcxDBRichEdit;
|
||||||
pagDocumentos: TTabSheet;
|
actEnviarEMail: TAction;
|
||||||
frViewDocumentosPresupuestoCliente1: TfrViewDocumentosPresupuestoCliente;
|
frViewDocumentosPresupuestoCliente1: TfrViewDocumentosPresupuestoCliente;
|
||||||
|
TBXItem7: TTBXItem;
|
||||||
|
TBXSeparatorItem6: TTBXSeparatorItem;
|
||||||
|
TBXItem33: TTBXItem;
|
||||||
|
TBXSubmenuItem2: TTBXSubmenuItem;
|
||||||
|
pagDocumentos: TTabSheet;
|
||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
procedure CustomEditorClose(Sender: TObject; var Action: TCloseAction);
|
procedure CustomEditorClose(Sender: TObject; var Action: TCloseAction);
|
||||||
procedure pgPaginasChanging(Sender: TObject; var AllowChange: Boolean);
|
procedure pgPaginasChanging(Sender: TObject; var AllowChange: Boolean);
|
||||||
procedure frViewTotales1ePortePropertiesValidate(Sender: TObject;
|
procedure frViewTotales1ePortePropertiesValidate(Sender: TObject;
|
||||||
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
||||||
|
procedure actEnviarEMailExecute(Sender: TObject);
|
||||||
|
procedure actEnviarEMailUpdate(Sender: TObject);
|
||||||
private
|
private
|
||||||
procedure RecalcularPortePorUnidad;
|
procedure RecalcularPortePorUnidad;
|
||||||
|
|
||||||
@ -93,6 +99,18 @@ uses
|
|||||||
{
|
{
|
||||||
**************************** TfEditorPresupuestoCliente ****************************
|
**************************** TfEditorPresupuestoCliente ****************************
|
||||||
}
|
}
|
||||||
|
procedure TfEditorPresupuestoCliente.actEnviarEMailExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
FController.EnviarPresupuestoPorEMail(Presupuesto);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPresupuestoCliente.actEnviarEMailUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
(Sender as TAction).Enabled := HayDatos;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TfEditorPresupuestoCliente.AsignarVista;
|
procedure TfEditorPresupuestoCliente.AsignarVista;
|
||||||
var
|
var
|
||||||
AViewPresupuestoCliente: TfrViewPresupuestoCliente;
|
AViewPresupuestoCliente: TfrViewPresupuestoCliente;
|
||||||
|
|||||||
@ -2,7 +2,6 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
|
|||||||
Caption = 'Lista de presupuestos de cliente'
|
Caption = 'Lista de presupuestos de cliente'
|
||||||
ClientWidth = 674
|
ClientWidth = 674
|
||||||
ExplicitWidth = 682
|
ExplicitWidth = 682
|
||||||
ExplicitHeight = 471
|
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||||
@ -125,7 +124,11 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
|
|||||||
Width = 674
|
Width = 674
|
||||||
ExplicitWidth = 674
|
ExplicitWidth = 674
|
||||||
inherited tbxMain: TTBXToolbar
|
inherited tbxMain: TTBXToolbar
|
||||||
ExplicitWidth = 632
|
ExplicitWidth = 674
|
||||||
|
object TBXItem41: TTBXItem [13]
|
||||||
|
Action = actEnviarEMail
|
||||||
|
DisplayMode = nbdmImageAndText
|
||||||
|
end
|
||||||
end
|
end
|
||||||
inherited tbxMenu: TTBXToolbar
|
inherited tbxMenu: TTBXToolbar
|
||||||
ExplicitWidth = 674
|
ExplicitWidth = 674
|
||||||
@ -140,6 +143,11 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
|
|||||||
object TBXSeparatorItem17: TTBXSeparatorItem
|
object TBXSeparatorItem17: TTBXSeparatorItem
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
inherited TBXSubmenuItem32: TTBXSubmenuItem
|
||||||
|
object TBXItem4441: TTBXItem [0]
|
||||||
|
Action = actEnviarEMail
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
inherited TBXTMain2: TTBXToolbar
|
inherited TBXTMain2: TTBXToolbar
|
||||||
Visible = True
|
Visible = True
|
||||||
@ -186,6 +194,13 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
|
|||||||
OnExecute = actGenerarExecute
|
OnExecute = actGenerarExecute
|
||||||
OnUpdate = actGenerarUpdate
|
OnUpdate = actGenerarUpdate
|
||||||
end
|
end
|
||||||
|
object actEnviarEMail: TAction
|
||||||
|
Category = 'Acciones'
|
||||||
|
Caption = 'Enviar por e-mail...'
|
||||||
|
ImageIndex = 27
|
||||||
|
OnExecute = actEnviarEMailExecute
|
||||||
|
OnUpdate = actEnviarEMailUpdate
|
||||||
|
end
|
||||||
end
|
end
|
||||||
inherited SmallImages: TPngImageList
|
inherited SmallImages: TPngImageList
|
||||||
PngImages = <
|
PngImages = <
|
||||||
@ -865,6 +880,27 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
|
|||||||
00000049454E44AE426082}
|
00000049454E44AE426082}
|
||||||
Name = 'PngImage26'
|
Name = 'PngImage26'
|
||||||
Background = clWindow
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000001964944415478DA
|
||||||
|
63FCFFFF3F03232323033A58BCE9F87F647EAC9F258622B05E6C068034873B8A
|
||||||
|
80D92019C62F8F194C1356339CDF399D91A0014B361FFB1FE6208AA299E1F323
|
||||||
|
306D52F90CC5100C03566E3DFC3FD04E02A2F9F727064690462066006A66FC02
|
||||||
|
64FFFAC8603451096E088A01CB361FFDFF8F819981183077D11A86FDAB7B18E1
|
||||||
|
062CDD7CE27F14573FC3B2EF450CD13E86181ABE7DFFCDF0F5DB6F866FDFFE30
|
||||||
|
1CB97897218AB38FC1B85B98E1DC8E698C600396000D8861696058FAB7116CC0
|
||||||
|
94C5FBB0DAEC6CAECF70EED6238668E67AB057500CF8F0E10383A0A0208A0B90
|
||||||
|
6D06B1BF01D9379E3C67387AFE09C389A37BD15CE06B01B47907434EAC13C3EF
|
||||||
|
3F7F19662E3F8862BB898606C3EFDFFF1896EF3DCFA0A5C0CD306FE9265403FC
|
||||||
|
9D20362F5CB71F4CE7C47AA01890D5BC164C7716F980D56018606BAC0656B079
|
||||||
|
EF2986F82047AC6150DEB785A13CD911AC06C300234D05867DC72F30B8D818E1
|
||||||
|
8DC2494B0E63F702281075D455884A07576EDEC134404A5480E1DAED07441900
|
||||||
|
021806F44D5D44B46618801B400900007F4518F05E90AAF20000000049454E44
|
||||||
|
AE426082}
|
||||||
|
Name = 'PngImage27'
|
||||||
|
Background = clWindow
|
||||||
end>
|
end>
|
||||||
Bitmap = {}
|
Bitmap = {}
|
||||||
end
|
end
|
||||||
@ -1858,6 +1894,32 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
|
|||||||
454E44AE426082}
|
454E44AE426082}
|
||||||
Name = 'PngImage26'
|
Name = 'PngImage26'
|
||||||
Background = clWindow
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||||
|
F80000000970485973000017120000171201679FD252000002434944415478DA
|
||||||
|
B593DB6B13411C85CFA8AF0A11C5BED882977AA11A8A86A64AB5DA68ABB4DA17
|
||||||
|
9B071B94824F5510FF9022D8B4A2226AEA5DA434822951BC556D55225544E905
|
||||||
|
A448895048369562B6D9ACFB1BC9CA38BBEB46D203CB4C7667BEEF4CD865BAAE
|
||||||
|
6321C348C018B35D101978EDD82074A8D67633673B09081EDCB3426CA42A40D6
|
||||||
|
B88C91E6BE536FF07EB097152D7003879A416FA21297AF0F584A6C056EE1BF47
|
||||||
|
053D63014B89A540826B3F0D5086C30B406859735E18C3D31D924412B8827368
|
||||||
|
4680334348E99E392D480401C19DDE26B75114059722FD5C620AFAA2C3FAFED9
|
||||||
|
E3882FBB8AA3CD358E80F9790D2ABF727F8D1A129FBF625FE618EE6867F94912
|
||||||
|
B11E662BE88EC45CB76ED8518DAC9AC3A7C96FF682743A0D8FC7637B02A7E604
|
||||||
|
CF1ABF27A692285FBE1213E33F70EEE67951D0DEE247B86F109DED8D459FC0E7
|
||||||
|
DD04D5904C2567904AA5103C5C8FC6B633A2A0ADC9C7175FB81547CBAE1A5454
|
||||||
|
7890CFEBBCE1F7E4AC25383537C79B131C2AC3E8E4184E869A7839E92F6ADD5B
|
||||||
|
6D6EBC72FF0997AC2A5BCAE1D1E7239602EFDA4A684BF2589C5BC4E12782017E
|
||||||
|
FFE2ED47B2E060DD1661F38DE80B2E2138B5B20A352509C143ADBBCDFB91FE67
|
||||||
|
B220E0DF2C01EEC55E99ADEC426D8F1CD829DCBBFBF0A52CA8DBB64158147D3C
|
||||||
|
22B4720A356E6EF8F3F63D30F64A025FD51A73417C2821B5FA57A875BDDFCBE7
|
||||||
|
4F87476541D5FAD5FCE1D0DB8F429B6242CDB76FDD88771FBEC88275E565FC41
|
||||||
|
A1C5FF86DA532CBF64B297228E272855244157F85AC9E085988285CC2F0A951A
|
||||||
|
EF05170AF90000000049454E44AE426082}
|
||||||
|
Name = 'PngImage27'
|
||||||
|
Background = clWindow
|
||||||
end>
|
end>
|
||||||
Bitmap = {}
|
Bitmap = {}
|
||||||
end
|
end
|
||||||
@ -1872,6 +1934,9 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
|
|||||||
object N4: TMenuItem [7]
|
object N4: TMenuItem [7]
|
||||||
Caption = '-'
|
Caption = '-'
|
||||||
end
|
end
|
||||||
|
object Enviarporemail1: TMenuItem [11]
|
||||||
|
Action = actEnviarEMail
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object JsGenerarDialog: TJSDialog
|
object JsGenerarDialog: TJSDialog
|
||||||
Content.Strings = (
|
Content.Strings = (
|
||||||
|
|||||||
@ -31,6 +31,10 @@ type
|
|||||||
JsImprimirDialog: TJSDialog;
|
JsImprimirDialog: TJSDialog;
|
||||||
TBXItem40: TTBXItem;
|
TBXItem40: TTBXItem;
|
||||||
JsListaPresupuestosNoEliminados: TJSDialog;
|
JsListaPresupuestosNoEliminados: TJSDialog;
|
||||||
|
actEnviarEMail: TAction;
|
||||||
|
Enviarporemail1: TMenuItem;
|
||||||
|
TBXItem4441: TTBXItem;
|
||||||
|
TBXItem41: TTBXItem;
|
||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
procedure actGenerarAlbaranCliExecute(Sender: TObject);
|
procedure actGenerarAlbaranCliExecute(Sender: TObject);
|
||||||
procedure actEliminarUpdate(Sender: TObject);
|
procedure actEliminarUpdate(Sender: TObject);
|
||||||
@ -39,6 +43,8 @@ type
|
|||||||
procedure actGenerarPresupuestoProvExecute(Sender: TObject);
|
procedure actGenerarPresupuestoProvExecute(Sender: TObject);
|
||||||
procedure actGenerarExecute(Sender: TObject);
|
procedure actGenerarExecute(Sender: TObject);
|
||||||
procedure actGenerarUpdate(Sender: TObject);
|
procedure actGenerarUpdate(Sender: TObject);
|
||||||
|
procedure actEnviarEMailExecute(Sender: TObject);
|
||||||
|
procedure actEnviarEMailUpdate(Sender: TObject);
|
||||||
|
|
||||||
protected
|
protected
|
||||||
FPresupuestos: IBizPresupuestoCliente;
|
FPresupuestos: IBizPresupuestoCliente;
|
||||||
@ -92,6 +98,20 @@ begin
|
|||||||
(Sender as TAction).Enabled := (FPresupuestos.SITUACION = SITUACION_PRESUPUESTO_PENDIENTE);
|
(Sender as TAction).Enabled := (FPresupuestos.SITUACION = SITUACION_PRESUPUESTO_PENDIENTE);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPresupuestosCliente.actEnviarEMailExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
FController.EnviarPresupuestoPorEMail(FPresupuestos);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPresupuestosCliente.actEnviarEMailUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
(Sender as TAction).Enabled := HayDatos
|
||||||
|
and not (ViewGrid.NumSeleccionados > 1)
|
||||||
|
and ViewGrid.esSeleccionCeldaDatos;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TfEditorPresupuestosCliente.actGenerarAlbaranCliExecute(Sender: TObject);
|
procedure TfEditorPresupuestosCliente.actGenerarAlbaranCliExecute(Sender: TObject);
|
||||||
var
|
var
|
||||||
IDAlbaranAux : Integer;
|
IDAlbaranAux : Integer;
|
||||||
|
|||||||
@ -1,88 +1,8 @@
|
|||||||
inherited frViewDetallesPresupuestoCliente: TfrViewDetallesPresupuestoCliente
|
inherited frViewDetallesPresupuestoCliente: TfrViewDetallesPresupuestoCliente
|
||||||
Width = 933
|
|
||||||
inherited ToolBar1: TToolBar
|
|
||||||
Width = 933
|
|
||||||
Height = 24
|
|
||||||
inherited ToolButton4: TToolButton
|
|
||||||
Wrap = False
|
|
||||||
end
|
|
||||||
inherited ToolButton14: TToolButton
|
|
||||||
Left = 334
|
|
||||||
Top = 0
|
|
||||||
ExplicitLeft = 334
|
|
||||||
ExplicitTop = 0
|
|
||||||
end
|
|
||||||
inherited FontName: TJvFontComboBox
|
|
||||||
Left = 368
|
|
||||||
Top = 0
|
|
||||||
ExplicitLeft = 368
|
|
||||||
ExplicitTop = 0
|
|
||||||
end
|
|
||||||
inherited FontSize: TEdit
|
|
||||||
Left = 513
|
|
||||||
Top = 0
|
|
||||||
ExplicitLeft = 513
|
|
||||||
ExplicitTop = 0
|
|
||||||
end
|
|
||||||
inherited UpDown1: TUpDown
|
|
||||||
Left = 555
|
|
||||||
Top = 0
|
|
||||||
ExplicitLeft = 555
|
|
||||||
ExplicitTop = 0
|
|
||||||
end
|
|
||||||
inherited ToolButton13: TToolButton
|
|
||||||
Left = 572
|
|
||||||
Top = 0
|
|
||||||
ExplicitLeft = 572
|
|
||||||
ExplicitTop = 0
|
|
||||||
end
|
|
||||||
inherited ToolButton6: TToolButton
|
|
||||||
Left = 580
|
|
||||||
Top = 0
|
|
||||||
ExplicitLeft = 580
|
|
||||||
ExplicitTop = 0
|
|
||||||
end
|
|
||||||
inherited ToolButton7: TToolButton
|
|
||||||
Left = 614
|
|
||||||
Top = 0
|
|
||||||
ExplicitLeft = 614
|
|
||||||
ExplicitTop = 0
|
|
||||||
end
|
|
||||||
inherited ToolButton8: TToolButton
|
|
||||||
Left = 648
|
|
||||||
Top = 0
|
|
||||||
ExplicitLeft = 648
|
|
||||||
ExplicitTop = 0
|
|
||||||
end
|
|
||||||
inherited ToolButton12: TToolButton
|
|
||||||
Left = 682
|
|
||||||
Top = 0
|
|
||||||
ExplicitLeft = 682
|
|
||||||
ExplicitTop = 0
|
|
||||||
end
|
|
||||||
inherited ToolButton9: TToolButton
|
|
||||||
Left = 690
|
|
||||||
Top = 0
|
|
||||||
ExplicitLeft = 690
|
|
||||||
ExplicitTop = 0
|
|
||||||
end
|
|
||||||
inherited ToolButton10: TToolButton
|
|
||||||
Left = 724
|
|
||||||
Top = 0
|
|
||||||
ExplicitLeft = 724
|
|
||||||
ExplicitTop = 0
|
|
||||||
end
|
|
||||||
inherited ToolButton11: TToolButton
|
|
||||||
Left = 758
|
|
||||||
Top = 0
|
|
||||||
ExplicitLeft = 758
|
|
||||||
ExplicitTop = 0
|
|
||||||
end
|
|
||||||
end
|
|
||||||
inherited cxGrid: TcxGrid
|
inherited cxGrid: TcxGrid
|
||||||
Top = 50
|
ExplicitTop = 50
|
||||||
Width = 933
|
ExplicitWidth = 933
|
||||||
Height = 254
|
ExplicitHeight = 254
|
||||||
inherited cxGridView: TcxGridDBTableView
|
inherited cxGridView: TcxGridDBTableView
|
||||||
inherited cxGridViewTIPO: TcxGridDBColumn
|
inherited cxGridViewTIPO: TcxGridDBColumn
|
||||||
Width = 51
|
Width = 51
|
||||||
@ -108,19 +28,13 @@ inherited frViewDetallesPresupuestoCliente: TfrViewDetallesPresupuestoCliente
|
|||||||
inherited cxGridViewIMPORTENETO: TcxGridDBColumn
|
inherited cxGridViewIMPORTENETO: TcxGridDBColumn
|
||||||
Width = 65
|
Width = 65
|
||||||
end
|
end
|
||||||
inherited cxGridViewIMPORTEPORTE: TcxGridDBColumn
|
|
||||||
Visible = False
|
|
||||||
end
|
|
||||||
inherited cxGridViewIMPORTETOTAL: TcxGridDBColumn
|
inherited cxGridViewIMPORTETOTAL: TcxGridDBColumn
|
||||||
Width = 68
|
Width = 68
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
inherited TBXDock1: TTBXDock
|
inherited TBXDock1: TTBXDock
|
||||||
Top = 24
|
ExplicitTop = 24
|
||||||
Width = 933
|
ExplicitWidth = 933
|
||||||
inherited TBXToolbar1: TTBXToolbar
|
|
||||||
ExplicitWidth = 548
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -12,7 +12,10 @@ uses
|
|||||||
Grids, DBGrids, StdCtrls, ExtCtrls, cxRichEdit, ExtActns, StdActns,
|
Grids, DBGrids, StdCtrls, ExtCtrls, cxRichEdit, ExtActns, StdActns,
|
||||||
JvExStdCtrls, JvCombobox, JvColorCombo, TB2Item, TBX, TB2Dock, TB2Toolbar,
|
JvExStdCtrls, JvCombobox, JvColorCombo, TB2Item, TBX, TB2Dock, TB2Toolbar,
|
||||||
uControllerDetallesArticulos, uBizPresupuestosCliente, uDAInterfaces, Buttons,
|
uControllerDetallesArticulos, uBizPresupuestosCliente, uDAInterfaces, Buttons,
|
||||||
Mask, DBCtrls;
|
Mask, DBCtrls, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinOffice2007Black,
|
||||||
|
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
|
||||||
|
dxSkinOffice2007Silver, dxSkinSilver, dxSkinsDefaultPainters,
|
||||||
|
dxSkinscxPCPainter;
|
||||||
|
|
||||||
type
|
type
|
||||||
IViewDetallesPresupuestoCliente = interface(IViewDetallesArticulos)
|
IViewDetallesPresupuestoCliente = interface(IViewDetallesArticulos)
|
||||||
|
|||||||
@ -278,11 +278,19 @@
|
|||||||
<Interfaces>
|
<Interfaces>
|
||||||
<Interface Name="Default" UID="{8A06D5A7-8461-4F6E-8A8B-EC49C84C45D1}">
|
<Interface Name="Default" UID="{8A06D5A7-8461-4F6E-8A8B-EC49C84C45D1}">
|
||||||
<Operations>
|
<Operations>
|
||||||
<Operation Name="GenerateReport" UID="{4B11FE7D-44AE-4674-9DA7-6FB6B63FC620}">
|
<Operation Name="GenerarInforme" UID="{4B11FE7D-44AE-4674-9DA7-6FB6B63FC620}">
|
||||||
<Parameters>
|
<Parameters>
|
||||||
<Parameter Name="Result" DataType="Binary" Flag="Result">
|
<Parameter Name="Result" DataType="Binary" Flag="Result">
|
||||||
</Parameter>
|
</Parameter>
|
||||||
<Parameter Name="ID" DataType="String" Flag="In" >
|
<Parameter Name="ListaID" DataType="TIntegerArray" Flag="In" >
|
||||||
|
</Parameter>
|
||||||
|
</Parameters>
|
||||||
|
</Operation>
|
||||||
|
<Operation Name="GenerarInformeEnPDF" UID="{16270F10-DFBD-469A-A401-033B4CBA4381}">
|
||||||
|
<Parameters>
|
||||||
|
<Parameter Name="Result" DataType="Binary" Flag="Result">
|
||||||
|
</Parameter>
|
||||||
|
<Parameter Name="ListaID" DataType="TIntegerArray" Flag="In" >
|
||||||
</Parameter>
|
</Parameter>
|
||||||
</Parameters>
|
</Parameters>
|
||||||
</Operation>
|
</Operation>
|
||||||
@ -310,15 +318,15 @@
|
|||||||
<Interfaces>
|
<Interfaces>
|
||||||
<Interface Name="Default" UID="{6E910718-9AB0-47BB-9875-B0DE66A68D7A}">
|
<Interface Name="Default" UID="{6E910718-9AB0-47BB-9875-B0DE66A68D7A}">
|
||||||
<Operations>
|
<Operations>
|
||||||
<Operation Name="GenerateReport" UID="{8CB6A25E-C350-4F63-B567-22D9A850BD87}">
|
<Operation Name="GenerarInforme" UID="{8CB6A25E-C350-4F63-B567-22D9A850BD87}">
|
||||||
<Parameters>
|
<Parameters>
|
||||||
<Parameter Name="Result" DataType="Binary" Flag="Result">
|
<Parameter Name="Result" DataType="Binary" Flag="Result">
|
||||||
</Parameter>
|
</Parameter>
|
||||||
<Parameter Name="ID" DataType="String" Flag="In" >
|
<Parameter Name="ListaID" DataType="TIntegerArray" Flag="In" >
|
||||||
</Parameter>
|
</Parameter>
|
||||||
</Parameters>
|
</Parameters>
|
||||||
</Operation>
|
</Operation>
|
||||||
<Operation Name="GenerateEtiquetas" UID="{260CD213-F125-422B-9BD1-401729460DF0}">
|
<Operation Name="GenerarInformeEtiquetas" UID="{260CD213-F125-422B-9BD1-401729460DF0}">
|
||||||
<Parameters>
|
<Parameters>
|
||||||
<Parameter Name="Result" DataType="Binary" Flag="Result">
|
<Parameter Name="Result" DataType="Binary" Flag="Result">
|
||||||
</Parameter>
|
</Parameter>
|
||||||
@ -607,6 +615,9 @@
|
|||||||
<Array Name="TRdxEmpresasArray" UID="{CA344218-3432-40B8-8FB7-F5BB30406098}">
|
<Array Name="TRdxEmpresasArray" UID="{CA344218-3432-40B8-8FB7-F5BB30406098}">
|
||||||
<ElementType DataType="Integer" />
|
<ElementType DataType="Integer" />
|
||||||
</Array>
|
</Array>
|
||||||
|
<Array Name="TIntegerArray" UID="{54E88E96-A839-4294-95CC-B4716651BB48}">
|
||||||
|
<ElementType DataType="Integer" />
|
||||||
|
</Array>
|
||||||
</Arrays>
|
</Arrays>
|
||||||
<Uses>
|
<Uses>
|
||||||
<Use Name="DataAbstract4" UID="{1E2905B4-36C9-4EAA-9BB9-DF3D3C9BBE75}" Rodl="$(Data Abstract for Delphi)\Source\DataAbstract4.RODL" AbsoluteRodl="C:\Archivos de programa\RemObjects Software\Data Abstract for Delphi\Source\DataAbstract4.RODL">
|
<Use Name="DataAbstract4" UID="{1E2905B4-36C9-4EAA-9BB9-DF3D3C9BBE75}" Rodl="$(Data Abstract for Delphi)\Source\DataAbstract4.RODL" AbsoluteRodl="C:\Archivos de programa\RemObjects Software\Data Abstract for Delphi\Source\DataAbstract4.RODL">
|
||||||
|
|||||||
@ -88,6 +88,7 @@ type
|
|||||||
IsrvGestorDocumentos = interface;
|
IsrvGestorDocumentos = interface;
|
||||||
|
|
||||||
TRdxEmpresasArray = class;
|
TRdxEmpresasArray = class;
|
||||||
|
TIntegerArray = class;
|
||||||
|
|
||||||
TRdxLoginInfo = class;
|
TRdxLoginInfo = class;
|
||||||
|
|
||||||
@ -164,6 +165,40 @@ type
|
|||||||
property InnerArray: TRdxEmpresasArray_Integer read fItems;
|
property InnerArray: TRdxEmpresasArray_Integer read fItems;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ TIntegerArray }
|
||||||
|
TIntegerArray_Integer = array of Integer;
|
||||||
|
TIntegerArray = class(TROArray)
|
||||||
|
private
|
||||||
|
fCount: Integer;
|
||||||
|
fItems : TIntegerArray_Integer;
|
||||||
|
protected
|
||||||
|
procedure Grow; virtual;
|
||||||
|
function GetItems(aIndex: integer): Integer;
|
||||||
|
procedure SetItems(aIndex: integer; const Value: Integer);
|
||||||
|
function GetCount: integer; override;
|
||||||
|
public
|
||||||
|
class function GetItemType: PTypeInfo; override;
|
||||||
|
class function GetItemSize: integer; override;
|
||||||
|
|
||||||
|
function GetItemRef(aIndex: integer): pointer; override;
|
||||||
|
procedure Clear; override;
|
||||||
|
procedure Delete(aIndex: integer); override;
|
||||||
|
procedure Resize(ElementCount: integer); override;
|
||||||
|
|
||||||
|
procedure Assign(iSource:TPersistent); override;
|
||||||
|
procedure ReadComplex(ASerializer: TObject); override;
|
||||||
|
procedure WriteComplex(ASerializer: TObject); override;
|
||||||
|
function Add(const Value:Integer): integer;
|
||||||
|
function GetIndex(const aPropertyName : string;
|
||||||
|
const aPropertyValue : Variant;
|
||||||
|
StartFrom : integer = 0;
|
||||||
|
Options : TROSearchOptions = [soIgnoreCase]) : integer; override;
|
||||||
|
|
||||||
|
property Count : integer read GetCount;
|
||||||
|
property Items[Index: integer]:Integer read GetItems write SetItems; default;
|
||||||
|
property InnerArray: TIntegerArray_Integer read fItems;
|
||||||
|
end;
|
||||||
|
|
||||||
{ IsrvContactos }
|
{ IsrvContactos }
|
||||||
IsrvContactos = interface(IDataAbstractService)
|
IsrvContactos = interface(IDataAbstractService)
|
||||||
['{28CCDC07-A3A4-4917-89B4-64423DC70C9D}']
|
['{28CCDC07-A3A4-4917-89B4-64423DC70C9D}']
|
||||||
@ -501,7 +536,8 @@ type
|
|||||||
{ IsrvPresupuestosCliente }
|
{ IsrvPresupuestosCliente }
|
||||||
IsrvPresupuestosCliente = interface(IDataAbstractService)
|
IsrvPresupuestosCliente = interface(IDataAbstractService)
|
||||||
['{8A06D5A7-8461-4F6E-8A8B-EC49C84C45D1}']
|
['{8A06D5A7-8461-4F6E-8A8B-EC49C84C45D1}']
|
||||||
function GenerateReport(const ID: String): Binary;
|
function GenerarInforme(const ListaID: TIntegerArray): Binary;
|
||||||
|
function GenerarInformeEnPDF(const ListaID: TIntegerArray): Binary;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ CosrvPresupuestosCliente }
|
{ CosrvPresupuestosCliente }
|
||||||
@ -514,7 +550,8 @@ type
|
|||||||
protected
|
protected
|
||||||
function __GetInterfaceName:string; override;
|
function __GetInterfaceName:string; override;
|
||||||
|
|
||||||
function GenerateReport(const ID: String): Binary;
|
function GenerarInforme(const ListaID: TIntegerArray): Binary;
|
||||||
|
function GenerarInformeEnPDF(const ListaID: TIntegerArray): Binary;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ IsrvPedidosProveedor }
|
{ IsrvPedidosProveedor }
|
||||||
@ -539,8 +576,8 @@ type
|
|||||||
{ IsrvAlbaranesCliente }
|
{ IsrvAlbaranesCliente }
|
||||||
IsrvAlbaranesCliente = interface(IDataAbstractService)
|
IsrvAlbaranesCliente = interface(IDataAbstractService)
|
||||||
['{6E910718-9AB0-47BB-9875-B0DE66A68D7A}']
|
['{6E910718-9AB0-47BB-9875-B0DE66A68D7A}']
|
||||||
function GenerateReport(const ID: String): Binary;
|
function GenerarInforme(const ListaID: TIntegerArray): Binary;
|
||||||
function GenerateEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary;
|
function GenerarInformeEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ CosrvAlbaranesCliente }
|
{ CosrvAlbaranesCliente }
|
||||||
@ -553,8 +590,8 @@ type
|
|||||||
protected
|
protected
|
||||||
function __GetInterfaceName:string; override;
|
function __GetInterfaceName:string; override;
|
||||||
|
|
||||||
function GenerateReport(const ID: String): Binary;
|
function GenerarInforme(const ListaID: TIntegerArray): Binary;
|
||||||
function GenerateEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary;
|
function GenerarInformeEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ IsrvAlbaranesProveedor }
|
{ IsrvAlbaranesProveedor }
|
||||||
@ -868,6 +905,138 @@ begin
|
|||||||
WriteInteger(GetArrayElementName(GetItemType, GetItemRef(i)), otSLong, fItems[i], i);
|
WriteInteger(GetArrayElementName(GetItemType, GetItemRef(i)), otSLong, fItems[i], i);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ TIntegerArray }
|
||||||
|
|
||||||
|
procedure TIntegerArray.Assign(iSource: TPersistent);
|
||||||
|
var lSource:TIntegerArray;
|
||||||
|
i:integer;
|
||||||
|
begin
|
||||||
|
if (iSource is TIntegerArray) then begin
|
||||||
|
lSource := TIntegerArray(iSource);
|
||||||
|
Clear();
|
||||||
|
Resize(lSource.Count);
|
||||||
|
|
||||||
|
for i := 0 to Count-1 do begin
|
||||||
|
Items[i] := lSource.Items[i];
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
inherited Assign(iSource);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TIntegerArray.GetItemType: PTypeInfo;
|
||||||
|
begin
|
||||||
|
result := TypeInfo(Integer);
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TIntegerArray.GetItemSize: integer;
|
||||||
|
begin
|
||||||
|
result := SizeOf(Integer);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TIntegerArray.GetItems(aIndex: integer): Integer;
|
||||||
|
begin
|
||||||
|
if (aIndex < 0) or (aIndex >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[aIndex]);
|
||||||
|
result := fItems[aIndex];
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TIntegerArray.GetItemRef(aIndex: integer): pointer;
|
||||||
|
begin
|
||||||
|
if (aIndex < 0) or (aIndex >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[aIndex]);
|
||||||
|
result := @fItems[aIndex];
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TIntegerArray.Clear;
|
||||||
|
begin
|
||||||
|
SetLength(fItems, 0);
|
||||||
|
FCount := 0;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TIntegerArray.Delete(aIndex: integer);
|
||||||
|
var i: integer;
|
||||||
|
begin
|
||||||
|
if (aIndex>=Count) then RaiseError(err_InvalidIndex, [aIndex]);
|
||||||
|
|
||||||
|
if (aIndex<Count-1) then
|
||||||
|
for i := aIndex to Count-2 do fItems[i] := fItems[i+1];
|
||||||
|
|
||||||
|
SetLength(fItems, Count-1);
|
||||||
|
Dec(FCount);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TIntegerArray.SetItems(aIndex: integer; const Value: Integer);
|
||||||
|
begin
|
||||||
|
if (aIndex < 0) or (aIndex >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[aIndex]);
|
||||||
|
if fItems[aIndex] <> Value then begin
|
||||||
|
fItems[aIndex] := Value;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TIntegerArray.Resize(ElementCount: integer);
|
||||||
|
begin
|
||||||
|
if fCount = ElementCount then Exit;
|
||||||
|
SetLength(fItems, ElementCount);
|
||||||
|
FCount := ElementCount;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TIntegerArray.GetCount: integer;
|
||||||
|
begin
|
||||||
|
result := FCount;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TIntegerArray.Grow;
|
||||||
|
var
|
||||||
|
Delta, Capacity: Integer;
|
||||||
|
begin
|
||||||
|
Capacity := Length(fItems);
|
||||||
|
if Capacity > 64 then
|
||||||
|
Delta := Capacity div 4
|
||||||
|
else
|
||||||
|
if Capacity > 8 then
|
||||||
|
Delta := 16
|
||||||
|
else
|
||||||
|
Delta := 4;
|
||||||
|
SetLength(fItems, Capacity + Delta);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TIntegerArray.Add(const Value: Integer): integer;
|
||||||
|
begin
|
||||||
|
Result := Count;
|
||||||
|
if Length(fItems) = Result then
|
||||||
|
Grow;
|
||||||
|
fItems[result] := Value;
|
||||||
|
Inc(fCount);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TIntegerArray.GetIndex(const aPropertyName: string;
|
||||||
|
const aPropertyValue: Variant; StartFrom: integer;
|
||||||
|
Options: TROSearchOptions): integer;
|
||||||
|
begin
|
||||||
|
result := -1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TIntegerArray.ReadComplex(ASerializer: TObject);
|
||||||
|
var
|
||||||
|
lval: Integer;
|
||||||
|
i: integer;
|
||||||
|
begin
|
||||||
|
for i := 0 to Count-1 do begin
|
||||||
|
with TROSerializer(ASerializer) do
|
||||||
|
ReadInteger(GetArrayElementName(GetItemType, GetItemRef(i)), otSLong, lval, i);
|
||||||
|
Items[i] := lval;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TIntegerArray.WriteComplex(ASerializer: TObject);
|
||||||
|
var
|
||||||
|
i: integer;
|
||||||
|
begin
|
||||||
|
for i := 0 to Count-1 do
|
||||||
|
with TROSerializer(ASerializer) do
|
||||||
|
WriteInteger(GetArrayElementName(GetItemType, GetItemRef(i)), otSLong, fItems[i], i);
|
||||||
|
end;
|
||||||
|
|
||||||
{ TRdxLoginInfo }
|
{ TRdxLoginInfo }
|
||||||
|
|
||||||
procedure TRdxLoginInfo.Assign(iSource: TPersistent);
|
procedure TRdxLoginInfo.Assign(iSource: TPersistent);
|
||||||
@ -1489,12 +1658,29 @@ begin
|
|||||||
result := 'srvPresupuestosCliente';
|
result := 'srvPresupuestosCliente';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TsrvPresupuestosCliente_Proxy.GenerateReport(const ID: String): Binary;
|
function TsrvPresupuestosCliente_Proxy.GenerarInforme(const ListaID: TIntegerArray): Binary;
|
||||||
begin
|
begin
|
||||||
try
|
try
|
||||||
result := nil;
|
result := nil;
|
||||||
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport');
|
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInforme');
|
||||||
__Message.Write('ID', TypeInfo(String), ID, []);
|
__Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
|
||||||
|
__Message.Finalize;
|
||||||
|
|
||||||
|
__TransportChannel.Dispatch(__Message);
|
||||||
|
|
||||||
|
__Message.Read('Result', TypeInfo(Binary), result, []);
|
||||||
|
finally
|
||||||
|
__Message.UnsetAttributes(__TransportChannel);
|
||||||
|
__Message.FreeStream;
|
||||||
|
end
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TsrvPresupuestosCliente_Proxy.GenerarInformeEnPDF(const ListaID: TIntegerArray): Binary;
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
result := nil;
|
||||||
|
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEnPDF');
|
||||||
|
__Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
|
||||||
__Message.Finalize;
|
__Message.Finalize;
|
||||||
|
|
||||||
__TransportChannel.Dispatch(__Message);
|
__TransportChannel.Dispatch(__Message);
|
||||||
@ -1551,12 +1737,12 @@ begin
|
|||||||
result := 'srvAlbaranesCliente';
|
result := 'srvAlbaranesCliente';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TsrvAlbaranesCliente_Proxy.GenerateReport(const ID: String): Binary;
|
function TsrvAlbaranesCliente_Proxy.GenerarInforme(const ListaID: TIntegerArray): Binary;
|
||||||
begin
|
begin
|
||||||
try
|
try
|
||||||
result := nil;
|
result := nil;
|
||||||
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport');
|
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInforme');
|
||||||
__Message.Write('ID', TypeInfo(String), ID, []);
|
__Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
|
||||||
__Message.Finalize;
|
__Message.Finalize;
|
||||||
|
|
||||||
__TransportChannel.Dispatch(__Message);
|
__TransportChannel.Dispatch(__Message);
|
||||||
@ -1568,11 +1754,11 @@ begin
|
|||||||
end
|
end
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TsrvAlbaranesCliente_Proxy.GenerateEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary;
|
function TsrvAlbaranesCliente_Proxy.GenerarInformeEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary;
|
||||||
begin
|
begin
|
||||||
try
|
try
|
||||||
result := nil;
|
result := nil;
|
||||||
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateEtiquetas');
|
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEtiquetas');
|
||||||
__Message.Write('ID', TypeInfo(Integer), ID, []);
|
__Message.Write('ID', TypeInfo(Integer), ID, []);
|
||||||
__Message.Write('withRefCliente', TypeInfo(Boolean), withRefCliente, []);
|
__Message.Write('withRefCliente', TypeInfo(Boolean), withRefCliente, []);
|
||||||
__Message.Finalize;
|
__Message.Finalize;
|
||||||
@ -1997,6 +2183,7 @@ end;
|
|||||||
initialization
|
initialization
|
||||||
RegisterROClass(TRdxLoginInfo);
|
RegisterROClass(TRdxLoginInfo);
|
||||||
RegisterROClass(TRdxEmpresasArray);
|
RegisterROClass(TRdxEmpresasArray);
|
||||||
|
RegisterROClass(TIntegerArray);
|
||||||
RegisterProxyClass(IsrvContactos_IID, TsrvContactos_Proxy);
|
RegisterProxyClass(IsrvContactos_IID, TsrvContactos_Proxy);
|
||||||
RegisterProxyClass(IsrvLogin_IID, TsrvLogin_Proxy);
|
RegisterProxyClass(IsrvLogin_IID, TsrvLogin_Proxy);
|
||||||
RegisterProxyClass(IsrvInventario_IID, TsrvInventario_Proxy);
|
RegisterProxyClass(IsrvInventario_IID, TsrvInventario_Proxy);
|
||||||
@ -2031,6 +2218,7 @@ initialization
|
|||||||
finalization
|
finalization
|
||||||
UnregisterROClass(TRdxLoginInfo);
|
UnregisterROClass(TRdxLoginInfo);
|
||||||
UnregisterROClass(TRdxEmpresasArray);
|
UnregisterROClass(TRdxEmpresasArray);
|
||||||
|
UnregisterROClass(TIntegerArray);
|
||||||
UnregisterProxyClass(IsrvContactos_IID);
|
UnregisterProxyClass(IsrvContactos_IID);
|
||||||
UnregisterProxyClass(IsrvLogin_IID);
|
UnregisterProxyClass(IsrvLogin_IID);
|
||||||
UnregisterProxyClass(IsrvInventario_IID);
|
UnregisterProxyClass(IsrvInventario_IID);
|
||||||
|
|||||||
@ -146,7 +146,8 @@ type
|
|||||||
private
|
private
|
||||||
protected
|
protected
|
||||||
published
|
published
|
||||||
procedure Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
procedure Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
||||||
|
procedure Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TsrvPedidosProveedor_Invoker = class(TDataAbstractService_Invoker)
|
TsrvPedidosProveedor_Invoker = class(TDataAbstractService_Invoker)
|
||||||
@ -160,8 +161,8 @@ type
|
|||||||
private
|
private
|
||||||
protected
|
protected
|
||||||
published
|
published
|
||||||
procedure Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
procedure Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
||||||
procedure Invoke_GenerateEtiquetas(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
procedure Invoke_GenerarInformeEtiquetas(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TsrvAlbaranesProveedor_Invoker = class(TDataAbstractService_Invoker)
|
TsrvAlbaranesProveedor_Invoker = class(TDataAbstractService_Invoker)
|
||||||
@ -604,20 +605,21 @@ end;
|
|||||||
|
|
||||||
{ TsrvPresupuestosCliente_Invoker }
|
{ TsrvPresupuestosCliente_Invoker }
|
||||||
|
|
||||||
procedure TsrvPresupuestosCliente_Invoker.Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
procedure TsrvPresupuestosCliente_Invoker.Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
||||||
{ function GenerateReport(const ID: String): Binary; }
|
{ function GenerarInforme(const ListaID: TIntegerArray): Binary; }
|
||||||
var
|
var
|
||||||
ID: String;
|
ListaID: FactuGES_Intf.TIntegerArray;
|
||||||
lResult: Binary;
|
lResult: Binary;
|
||||||
__lObjectDisposer: TROObjectDisposer;
|
__lObjectDisposer: TROObjectDisposer;
|
||||||
begin
|
begin
|
||||||
|
ListaID := nil;
|
||||||
lResult := nil;
|
lResult := nil;
|
||||||
try
|
try
|
||||||
__Message.Read('ID', TypeInfo(String), ID, []);
|
__Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
|
||||||
|
|
||||||
lResult := (__Instance as IsrvPresupuestosCliente).GenerateReport(ID);
|
lResult := (__Instance as IsrvPresupuestosCliente).GenerarInforme(ListaID);
|
||||||
|
|
||||||
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvPresupuestosCliente', 'GenerateReportResponse');
|
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvPresupuestosCliente', 'GenerarInformeResponse');
|
||||||
__Message.Write('Result', TypeInfo(Binary), lResult, []);
|
__Message.Write('Result', TypeInfo(Binary), lResult, []);
|
||||||
__Message.Finalize;
|
__Message.Finalize;
|
||||||
__Message.UnsetAttributes(__Transport);
|
__Message.UnsetAttributes(__Transport);
|
||||||
@ -625,6 +627,37 @@ begin
|
|||||||
finally
|
finally
|
||||||
__lObjectDisposer := TROObjectDisposer.Create(__Instance);
|
__lObjectDisposer := TROObjectDisposer.Create(__Instance);
|
||||||
try
|
try
|
||||||
|
__lObjectDisposer.Add(ListaID);
|
||||||
|
__lObjectDisposer.Add(lResult);
|
||||||
|
finally
|
||||||
|
__lObjectDisposer.Free();
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TsrvPresupuestosCliente_Invoker.Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
||||||
|
{ function GenerarInformeEnPDF(const ListaID: TIntegerArray): Binary; }
|
||||||
|
var
|
||||||
|
ListaID: FactuGES_Intf.TIntegerArray;
|
||||||
|
lResult: Binary;
|
||||||
|
__lObjectDisposer: TROObjectDisposer;
|
||||||
|
begin
|
||||||
|
ListaID := nil;
|
||||||
|
lResult := nil;
|
||||||
|
try
|
||||||
|
__Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
|
||||||
|
|
||||||
|
lResult := (__Instance as IsrvPresupuestosCliente).GenerarInformeEnPDF(ListaID);
|
||||||
|
|
||||||
|
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvPresupuestosCliente', 'GenerarInformeEnPDFResponse');
|
||||||
|
__Message.Write('Result', TypeInfo(Binary), lResult, []);
|
||||||
|
__Message.Finalize;
|
||||||
|
__Message.UnsetAttributes(__Transport);
|
||||||
|
|
||||||
|
finally
|
||||||
|
__lObjectDisposer := TROObjectDisposer.Create(__Instance);
|
||||||
|
try
|
||||||
|
__lObjectDisposer.Add(ListaID);
|
||||||
__lObjectDisposer.Add(lResult);
|
__lObjectDisposer.Add(lResult);
|
||||||
finally
|
finally
|
||||||
__lObjectDisposer.Free();
|
__lObjectDisposer.Free();
|
||||||
@ -664,20 +697,21 @@ end;
|
|||||||
|
|
||||||
{ TsrvAlbaranesCliente_Invoker }
|
{ TsrvAlbaranesCliente_Invoker }
|
||||||
|
|
||||||
procedure TsrvAlbaranesCliente_Invoker.Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
procedure TsrvAlbaranesCliente_Invoker.Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
||||||
{ function GenerateReport(const ID: String): Binary; }
|
{ function GenerarInforme(const ListaID: TIntegerArray): Binary; }
|
||||||
var
|
var
|
||||||
ID: String;
|
ListaID: FactuGES_Intf.TIntegerArray;
|
||||||
lResult: Binary;
|
lResult: Binary;
|
||||||
__lObjectDisposer: TROObjectDisposer;
|
__lObjectDisposer: TROObjectDisposer;
|
||||||
begin
|
begin
|
||||||
|
ListaID := nil;
|
||||||
lResult := nil;
|
lResult := nil;
|
||||||
try
|
try
|
||||||
__Message.Read('ID', TypeInfo(String), ID, []);
|
__Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
|
||||||
|
|
||||||
lResult := (__Instance as IsrvAlbaranesCliente).GenerateReport(ID);
|
lResult := (__Instance as IsrvAlbaranesCliente).GenerarInforme(ListaID);
|
||||||
|
|
||||||
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvAlbaranesCliente', 'GenerateReportResponse');
|
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvAlbaranesCliente', 'GenerarInformeResponse');
|
||||||
__Message.Write('Result', TypeInfo(Binary), lResult, []);
|
__Message.Write('Result', TypeInfo(Binary), lResult, []);
|
||||||
__Message.Finalize;
|
__Message.Finalize;
|
||||||
__Message.UnsetAttributes(__Transport);
|
__Message.UnsetAttributes(__Transport);
|
||||||
@ -685,6 +719,7 @@ begin
|
|||||||
finally
|
finally
|
||||||
__lObjectDisposer := TROObjectDisposer.Create(__Instance);
|
__lObjectDisposer := TROObjectDisposer.Create(__Instance);
|
||||||
try
|
try
|
||||||
|
__lObjectDisposer.Add(ListaID);
|
||||||
__lObjectDisposer.Add(lResult);
|
__lObjectDisposer.Add(lResult);
|
||||||
finally
|
finally
|
||||||
__lObjectDisposer.Free();
|
__lObjectDisposer.Free();
|
||||||
@ -692,8 +727,8 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TsrvAlbaranesCliente_Invoker.Invoke_GenerateEtiquetas(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
procedure TsrvAlbaranesCliente_Invoker.Invoke_GenerarInformeEtiquetas(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
||||||
{ function GenerateEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary; }
|
{ function GenerarInformeEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary; }
|
||||||
var
|
var
|
||||||
ID: Integer;
|
ID: Integer;
|
||||||
withRefCliente: Boolean;
|
withRefCliente: Boolean;
|
||||||
@ -705,9 +740,9 @@ begin
|
|||||||
__Message.Read('ID', TypeInfo(Integer), ID, []);
|
__Message.Read('ID', TypeInfo(Integer), ID, []);
|
||||||
__Message.Read('withRefCliente', TypeInfo(Boolean), withRefCliente, []);
|
__Message.Read('withRefCliente', TypeInfo(Boolean), withRefCliente, []);
|
||||||
|
|
||||||
lResult := (__Instance as IsrvAlbaranesCliente).GenerateEtiquetas(ID, withRefCliente);
|
lResult := (__Instance as IsrvAlbaranesCliente).GenerarInformeEtiquetas(ID, withRefCliente);
|
||||||
|
|
||||||
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvAlbaranesCliente', 'GenerateEtiquetasResponse');
|
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvAlbaranesCliente', 'GenerarInformeEtiquetasResponse');
|
||||||
__Message.Write('Result', TypeInfo(Binary), lResult, []);
|
__Message.Write('Result', TypeInfo(Binary), lResult, []);
|
||||||
__Message.Finalize;
|
__Message.Finalize;
|
||||||
__Message.UnsetAttributes(__Transport);
|
__Message.UnsetAttributes(__Transport);
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@ -16,7 +16,7 @@ BEGIN
|
|||||||
VALUE "FileVersion", "2.2.4.0\0"
|
VALUE "FileVersion", "2.2.4.0\0"
|
||||||
VALUE "ProductName", "FactuGES (Servidor)\0"
|
VALUE "ProductName", "FactuGES (Servidor)\0"
|
||||||
VALUE "ProductVersion", "2.2.4.0\0"
|
VALUE "ProductVersion", "2.2.4.0\0"
|
||||||
VALUE "CompileDate", "viernes, 19 de septiembre de 2008 11:50\0"
|
VALUE "CompileDate", "viernes, 03 de octubre de 2008 18:47\0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user