Se depura modulo de pedidos de cliente

git-svn-id: https://192.168.0.254/svn/Proyectos.Noviseda_FactuGES2/trunk@103 f33bb606-9f5c-448d-9c99-757f00063c96
This commit is contained in:
roberto 2010-03-08 19:09:51 +00:00
parent 8cb5316a32
commit 9ac9ebceb0
24 changed files with 1294 additions and 1006 deletions

View File

@ -3859,7 +3859,7 @@ SELECT
CONTACTOS.NOMBRE, CONTACTOS.NOMBRE,
PEDIDOS_CLIENTE.REFERENCIA, PEDIDOS_CLIENTE.REFERENCIA,
PEDIDOS_CLIENTE.REFERENCIA_CLIENTE, PEDIDOS_CLIENTE.REFERENCIA_CLIENTE,
V_PED_CLI_SITUACION.SITUACION, TRIM(V_PED_CLI_SITUACION.SITUACION),
PEDIDOS_CLIENTE.FECHA_PEDIDO, PEDIDOS_CLIENTE.FECHA_PEDIDO,
PEDIDOS_CLIENTE.ID_DIRECCION, PEDIDOS_CLIENTE.ID_DIRECCION,
PEDIDOS_CLIENTE.CALLE, PEDIDOS_CLIENTE.CALLE,

View File

@ -55,58 +55,58 @@
<DelphiCompile Include="Base.dpk"> <DelphiCompile Include="Base.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\adortl.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\cxDataD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\cxEditorsD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\cxExportD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\cxExtEditorsD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\cxGridD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\cxLibraryD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\cxPageControlD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\dbrtl.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\dclIndyCore.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\designide.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\dsnap.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\dxCoreD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\dxGDIPlusD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\dxLayoutControlD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\dxPSCoreD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\dxThemeD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\GUISDK_D11R.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\IndyCore.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\IndyProtocols.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\IndySystem.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\Jcl.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\JclVcl.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\JSDialog100.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\JvCmpD11R.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\JvCoreD11R.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\JvDlgsD11R.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\JvMMD11R.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\JvNetD11R.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\JvPageCompsD11R.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\JvStdCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\JvSystemD11R.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\pckMD5.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\pckUCDataConnector.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\pckUserControl_RT.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\PngComponentsD10.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\PNG_D10.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\RemObjects_Indy_D11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\rtl.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\SpTBXLib_d11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\tb2k_d11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\vcl.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\vclactnband.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\vcldb.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\vcljpg.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\VclSmp.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\vclx.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Controller\xmlrtl.dcp" />
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" /> <DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
<DCCReference Include="..\Servidor\adortl.dcp" />
<DCCReference Include="..\Servidor\cxDataD11.dcp" />
<DCCReference Include="..\Servidor\cxEditorsD11.dcp" />
<DCCReference Include="..\Servidor\cxExportD11.dcp" />
<DCCReference Include="..\Servidor\cxExtEditorsD11.dcp" />
<DCCReference Include="..\Servidor\cxGridD11.dcp" />
<DCCReference Include="..\Servidor\cxLibraryD11.dcp" />
<DCCReference Include="..\Servidor\cxPageControlD11.dcp" />
<DCCReference Include="..\Servidor\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\Servidor\dbrtl.dcp" />
<DCCReference Include="..\Servidor\dclIndyCore.dcp" />
<DCCReference Include="..\Servidor\designide.dcp" />
<DCCReference Include="..\Servidor\dsnap.dcp" />
<DCCReference Include="..\Servidor\dxCoreD11.dcp" />
<DCCReference Include="..\Servidor\dxGDIPlusD11.dcp" />
<DCCReference Include="..\Servidor\dxLayoutControlD11.dcp" />
<DCCReference Include="..\Servidor\dxPSCoreD11.dcp" />
<DCCReference Include="..\Servidor\dxThemeD11.dcp" />
<DCCReference Include="..\Servidor\GUISDK_D11R.dcp" />
<DCCReference Include="..\Servidor\IndyCore.dcp" />
<DCCReference Include="..\Servidor\IndyProtocols.dcp" />
<DCCReference Include="..\Servidor\IndySystem.dcp" />
<DCCReference Include="..\Servidor\Jcl.dcp" />
<DCCReference Include="..\Servidor\JclVcl.dcp" />
<DCCReference Include="..\Servidor\JSDialog100.dcp" />
<DCCReference Include="..\Servidor\JvCmpD11R.dcp" />
<DCCReference Include="..\Servidor\JvCoreD11R.dcp" />
<DCCReference Include="..\Servidor\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Servidor\JvDlgsD11R.dcp" />
<DCCReference Include="..\Servidor\JvMMD11R.dcp" />
<DCCReference Include="..\Servidor\JvNetD11R.dcp" />
<DCCReference Include="..\Servidor\JvPageCompsD11R.dcp" />
<DCCReference Include="..\Servidor\JvStdCtrlsD11R.dcp" />
<DCCReference Include="..\Servidor\JvSystemD11R.dcp" />
<DCCReference Include="..\Servidor\pckMD5.dcp" />
<DCCReference Include="..\Servidor\pckUCDataConnector.dcp" />
<DCCReference Include="..\Servidor\pckUserControl_RT.dcp" />
<DCCReference Include="..\Servidor\PngComponentsD10.dcp" />
<DCCReference Include="..\Servidor\PNG_D10.dcp" />
<DCCReference Include="..\Servidor\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\Servidor\RemObjects_Indy_D11.dcp" />
<DCCReference Include="..\Servidor\rtl.dcp" />
<DCCReference Include="..\Servidor\SpTBXLib_d11.dcp" />
<DCCReference Include="..\Servidor\tb2k_d11.dcp" />
<DCCReference Include="..\Servidor\vcl.dcp" />
<DCCReference Include="..\Servidor\vclactnband.dcp" />
<DCCReference Include="..\Servidor\vcldb.dcp" />
<DCCReference Include="..\Servidor\vcljpg.dcp" />
<DCCReference Include="..\Servidor\VclSmp.dcp" />
<DCCReference Include="..\Servidor\vclx.dcp" />
<DCCReference Include="..\Servidor\xmlrtl.dcp" />
<DCCReference Include="Conexion\uConfigurarConexion.pas"> <DCCReference Include="Conexion\uConfigurarConexion.pas">
<Form>fConfigurarConexion</Form> <Form>fConfigurarConexion</Form>
<DesignClass>TForm</DesignClass> <DesignClass>TForm</DesignClass>

Binary file not shown.

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.8.11" DotMatrixReport="False" EngineOptions.DoublePass="True" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Por defecto" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="39065,8724234954" ReportOptions.Description.Text="" ReportOptions.LastChange="40245,7797545833" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." ShowProgress="False" StoreInDFM="False" OnStartReport="frxReportOnStartReport" PropData="044C65667403910003546F7002100844617461736574730100095661726961626C65730100055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text=""/>
</TfrxReport>

View File

@ -49,23 +49,23 @@
<DelphiCompile Include="PedidosCliente_controller.dpk"> <DelphiCompile Include="PedidosCliente_controller.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\..\..\Servidor\adortl.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\adortl.dcp" />
<DCCReference Include="..\..\..\Servidor\Articulos_controller.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\Articulos_controller.dcp" />
<DCCReference Include="..\..\..\Servidor\Contactos_controller.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\Contactos_controller.dcp" />
<DCCReference Include="..\..\..\Servidor\Contactos_model.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\Contactos_model.dcp" />
<DCCReference Include="..\..\..\Servidor\cxLibraryD11.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\cxLibraryD11.dcp" />
<DCCReference Include="..\..\..\Servidor\DataAbstract_Core_D11.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\..\..\Servidor\dbrtl.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\dbrtl.dcp" />
<DCCReference Include="..\..\..\Servidor\dsnap.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\dsnap.dcp" />
<DCCReference Include="..\..\..\Servidor\dxGDIPlusD11.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\dxGDIPlusD11.dcp" />
<DCCReference Include="..\..\..\Servidor\dxThemeD11.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\dxThemeD11.dcp" />
<DCCReference Include="..\..\..\Servidor\GUIBase.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\GUIBase.dcp" />
<DCCReference Include="..\..\..\Servidor\PedidosCliente_data.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\PedidosCliente_data.dcp" />
<DCCReference Include="..\..\..\Servidor\PedidosCliente_model.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\PedidosCliente_model.dcp" />
<DCCReference Include="..\..\..\Servidor\RemObjects_Core_D11.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\..\..\Servidor\rtl.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\rtl.dcp" />
<DCCReference Include="..\..\..\Servidor\vcl.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\vcl.dcp" />
<DCCReference Include="..\..\..\Servidor\vcldb.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\vcldb.dcp" />
<DCCReference Include="uArticulosPedidoClienteController.pas" /> <DCCReference Include="uArticulosPedidoClienteController.pas" />
<DCCReference Include="uDetallesPedidoClienteController.pas" /> <DCCReference Include="uDetallesPedidoClienteController.pas" />
<DCCReference Include="uPedidosClienteController.pas" /> <DCCReference Include="uPedidosClienteController.pas" />

View File

@ -1,4 +1,4 @@
unit uDetallesPedidoClienteController; unit uDetallesPedidoClienteController;
interface interface

View File

@ -147,7 +147,7 @@ uses
uBizContactos, uDataTableUtils, uDataModuleUsuarios, uFactuGES_App, uBizContactos, uDataTableUtils, uDataModuleUsuarios, uFactuGES_App,
schPedidosClienteClient_Intf, uDAInterfaces, uDateUtils, uIEditorPedidoCliente, schPedidosClienteClient_Intf, uDAInterfaces, uDateUtils, uIEditorPedidoCliente,
uIEditorElegirPedidosCliente, uIEditorDireccionEntregaPedidoCliente, uIEditorElegirPedidosCliente, uIEditorDireccionEntregaPedidoCliente,
schContactosClient_Intf, uPedidosClienteReportController, schContactosClient_Intf, uPedidosClienteReportController, uIntegerListUtils,
uIDialogListaPedidosCliEnvioEMail, uSistemaFunc, uStringsUtils, uDialogElegirEMail, Forms, uEMailUtils; uIDialogListaPedidosCliEnvioEMail, uSistemaFunc, uStringsUtils, uDialogElegirEMail, Forms, uEMailUtils;
{ TPedidosClienteController } { TPedidosClienteController }
@ -672,10 +672,10 @@ begin
Result := (APedido.SITUACION <> SITUACION_PEDIDO_SERVIDO); Result := (APedido.SITUACION <> SITUACION_PEDIDO_SERVIDO);
end; end;
procedure TPedidosClienteController.RecalcularImportes( procedure TPedidosClienteController.RecalcularImportes(APedido: IBizPedidoCliente);
APedido: IBizPedidoCliente);
var var
bEnEdicion : Boolean; bEnEdicion : Boolean;
ADetallePosAct : Integer;
begin begin
if not Assigned(APedido) then if not Assigned(APedido) then
raise Exception.Create ('Pedido no asignado (RecalcularImportes)'); raise Exception.Create ('Pedido no asignado (RecalcularImportes)');
@ -683,18 +683,26 @@ begin
if APedido.DataTable.Active then if APedido.DataTable.Active then
APedido.DataTable.Active := True; APedido.DataTable.Active := True;
{ Hay que guardar la posición en la que estamos en los detalles por que
la asignación de valores a los campos IMPORTE_NETO e IMPORTE_PORTE
(ver más adelante) colocan el puntero en la tabla detalle al principio.
No he encontrado la razón por la que mueve el puntero. }
ADetallePosAct := APedido.Detalles.POSICION;
bEnEdicion := (APedido.DataTable.State in dsEditModes); bEnEdicion := (APedido.DataTable.State in dsEditModes);
if not bEnEdicion then if not bEnEdicion then
APedido.Edit; APedido.Edit;
ShowHourglassCursor; ShowHourglassCursor;
APedido.Edit;
try try
APedido.IMPORTE_NETO := FDetallesController.DarTotalImporteTotal(APedido.Detalles); APedido.IMPORTE_NETO := FDetallesController.DarTotalImporteTotal(APedido.Detalles);
if not bEnEdicion then if not bEnEdicion then
APedido.Post; APedido.Post;
finally finally
HideHourglassCursor; HideHourglassCursor;
// Restaurar la posición que teníamos en los detalles.
FDetallesController.LocalizarPosicion(APedido.Detalles, ADetallePosAct);
end; end;
end; end;
@ -903,12 +911,13 @@ end;
procedure TPedidosClienteController.Preview(APedido: IBizPedidoCliente; AllItems: Boolean = false); procedure TPedidosClienteController.Preview(APedido: IBizPedidoCliente; AllItems: Boolean = false);
var var
AReportController : IPedidosClienteReportController; AReportController : IPedidosClienteReportController;
ID_Pedidos: TStringList; ID_Pedidos: TIntegerList;
begin begin
AReportController := TPedidosClienteReportController.Create; AReportController := TPedidosClienteReportController.Create;
ID_Pedidos := TIntegerList.Create;
try try
ID_Pedidos := 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
@ -918,33 +927,33 @@ begin
First; First;
while not EOF do while not EOF do
begin begin
ID_Pedidos.Add(IntToStr(APedido.ID)); ID_Pedidos.Add(APedido.ID);
Next; Next;
end; end;
end; end;
end end
//Solo previsualizamos el item seleccionado //Solo previsualizamos el item seleccionado
else else
ID_Pedidos.Add(IntToStr(APedido.ID)); ID_Pedidos.Add(APedido.ID);
AReportController.Preview(ID_Pedidos.CommaText); AReportController.Preview(ID_Pedidos);
finally finally
AReportController := NIL; AReportController := NIL;
ID_Pedidos.Free; FreeANDNIL(ID_Pedidos);
end; end;
end; end;
function TPedidosClienteController.Print(APedido: IBizPedidoCliente; AllItems: Boolean = false): Boolean; function TPedidosClienteController.Print(APedido: IBizPedidoCliente; AllItems: Boolean = false): Boolean;
var var
AReportController : IPedidosClienteReportController; AReportController : IPedidosClienteReportController;
ID_Pedidos: TStringList; ID_Pedidos: TIntegerList;
begin begin
Result := False;
AReportController := TPedidosClienteReportController.Create; AReportController := TPedidosClienteReportController.Create;
ID_Pedidos := TIntegerList.Create;
try try
ID_Pedidos := 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
@ -954,20 +963,20 @@ begin
First; First;
while not EOF do while not EOF do
begin begin
ID_Pedidos.Add(IntToStr(APedido.ID)); ID_Pedidos.Add(APedido.ID);
Next; Next;
end; end;
end; end;
end end
//Solo previsualizamos el item seleccionado //Solo previsualizamos el item seleccionado
else else
ID_Pedidos.Add(IntToStr(APedido.ID)); ID_Pedidos.Add(APedido.ID);
Result := AReportController.Print(ID_Pedidos.CommaText); AReportController.Print(ID_Pedidos);
finally finally
AReportController := NIL; AReportController := NIL;
ID_Pedidos.Free; FreeANDNIL(ID_Pedidos);
end; end;
end; end;

View File

@ -5,41 +5,41 @@ interface
uses uses
Classes, SysUtils, uDADataTable, uControllerBase, uIDataModulePedidosClienteReport, Classes, SysUtils, uDADataTable, uControllerBase, uIDataModulePedidosClienteReport,
uClientesController, uPedidosClienteController, uDetallesPedidoClienteController, uClientesController, uPedidosClienteController, uDetallesPedidoClienteController,
uBizPedidosCliente; uBizPedidosCliente, uIntegerListUtils;
type type
IPedidosClienteReportController = interface IPedidosClienteReportController = interface(IControllerBase)
['{D0686358-251C-43C4-9927-6112F2F4D3B8}'] ['{1F989C7E-9B12-4208-8CB3-C4E1B202D62A}']
procedure Preview(const AID : String); procedure Preview(const AListaID : TIntegerList);
function Print(const AID : String): Boolean; procedure Print(const AListaID : TIntegerList);
function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean;
end; end;
TPedidosClienteReportController = class(TInterfacedObject, IPedidosClienteReportController) TPedidosClienteReportController = class(TControllerBase, IPedidosClienteReportController)
private private
FDataModule : IDataModulePedidosClienteReport; FDataModule : IDataModulePedidosClienteReport;
function CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean; function CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
public public
constructor Create; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
procedure Preview(const AID : String); procedure Preview(const AListaID : TIntegerList);
function Print(const AID : String): Boolean; procedure Print(const AListaID : TIntegerList);
function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean;
end; end;
implementation implementation
uses uses
uROTypes, uEditorRegistryUtils, uIEditorPedidosClientePreview, uROTypes, Controls, uEditorRegistryUtils, uIEditorPedidosClientePreview,
uEditorPreview, uDataModulePedidosCliente, uEditorBase, cxControls, uEditorPreview, uDataModulePedidosCliente,
schPedidosClienteClient_Intf, uStringsUtils; uEditorBase, cxControls, uStringsUtils, uSistemaFunc, uFactuGES_App;
{ TPedidosClienteReportController } { TPedidosClienteReportController }
constructor TPedidosClienteReportController.Create; constructor TPedidosClienteReportController.Create;
begin begin
inherited;
FDataModule := TDataModulePedidosCliente.Create(Nil); FDataModule := TDataModulePedidosCliente.Create(Nil);
end; end;
@ -56,30 +56,40 @@ begin
inherited; inherited;
end; end;
function TPedidosClienteReportController.ExportToPDF(const AID: Integer; procedure TPedidosClienteReportController.Preview(const AListaID : TIntegerList);
const AFileName: String): Boolean;
var var
AStream: Binary; AStream: Binary;
AEditor : IEditorPedidosClientePreview;
begin begin
Result := False; AEditor := NIL;
if EsCadenaVacia(AFileName) then
Exit;
ShowHourglassCursor; ShowHourglassCursor;
try try
AStream := FDataModule.GetRptPDF(AID, True); AStream := FDataModule.GetRptPedidos(AListaID);
try try
AStream.SaveToFile(AFileName); CreateEditor('EditorPedidosClientePreview', IEditorPedidosClientePreview, AEditor);
Result := True; if Assigned(AEditor) then
begin
try
AEditor.Controller := Self;
AEditor.ListaID := AListaID;
AEditor.Title := 'Pedido - ' + AppFactuGES.EmpresaActiva.NOMBRE;
AEditor.LoadFromStream(AStream);
AEditor.Preview;
finally
AEditor.Release;
end;
end;
finally finally
FreeAndNil(AStream); FreeAndNil(AStream);
AEditor := Nil;
end; end;
finally finally
HideHourglassCursor; HideHourglassCursor;
end; end;
end; end;
procedure TPedidosClienteReportController.Preview(const AID : String); procedure TPedidosClienteReportController.Print(const AListaID : TIntegerList);
var var
AStream: Binary; AStream: Binary;
AEditor : IEditorPedidosClientePreview; AEditor : IEditorPedidosClientePreview;
@ -88,49 +98,28 @@ begin
ShowHourglassCursor; ShowHourglassCursor;
try try
AStream := FDataModule.GetReport(AID, True); AStream := FDataModule.GetRptPedidos(AListaID);
try try
CreateEditor('EditorPedidosClientePreview', IEditorPedidosClientePreview, AEditor); CreateEditor('EditorPedidosClientePreview', IEditorPedidosClientePreview, AEditor);
AEditor.LoadFromStream(AStream); if Assigned(AEditor) then
begin
try
AEditor.Controller := Self;
AEditor.ListaID := AListaID;
AEditor.Title := 'Albarán - ' + AppFactuGES.EmpresaActiva.NOMBRE;
AEditor.LoadFromStream(AStream);
AEditor.Print;
finally
AEditor.Release;
end;
end;
finally finally
AStream.Free; FreeAndNil(AStream);
AEditor := Nil;
end; end;
finally finally
HideHourglassCursor; HideHourglassCursor;
end; end;
if Assigned(AEditor) then
AEditor.Preview;
end;
function TPedidosClienteReportController.Print(const AID : String): Boolean;
var
AStream: Binary;
AEditor : IEditorPedidosClientePreview;
begin
{ Result := False;
AEditor := NIL;
ShowHourglassCursor;
try
AStream := FDataModule.GetReport(AID);
try
CreateEditor('EditorPedidosClientePreview', IEditorPedidosClientePreview, AEditor);
AEditor.LoadFromStream(AStream);
finally
AStream.Free;
end;
finally
HideHourglassCursor;
end;
if Assigned(AEditor) then
begin
AEditor.TablaImpresion := nme_PedidosCliente;
AEditor.IdTablaImpresion := AID;
Result := AEditor.Print;
end;
}
end; end;
end. end.

View File

@ -49,13 +49,12 @@
<DelphiCompile Include="PedidosCliente_data.dpk"> <DelphiCompile Include="PedidosCliente_data.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\..\..\Servidor\PedidosCliente_model.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\PedidosCliente_model.dcp" />
<DCCReference Include="uDataModulePedidosCliente.pas"> <DCCReference Include="uDataModulePedidosCliente.pas">
<Form>DataModulePedidosCliente</Form> <Form>DataModulePedidosCliente</Form>
</DCCReference> </DCCReference>
</ItemGroup> </ItemGroup>
</Project> </Project>
<!-- EurekaLog First Line <!-- EurekaLog First Line
[Exception Log] [Exception Log]
EurekaLog Version=6011 EurekaLog Version=6011

View File

@ -7,7 +7,7 @@ uses
uRORemoteService, uROClient, uROBinMessage, uDAScriptingProvider, uRORemoteService, uROClient, uROBinMessage, uDAScriptingProvider,
uDAMemDataTable, uROWinInetHttpChannel, uDADataTable, uDABINAdapter, uDAMemDataTable, uROWinInetHttpChannel, uDADataTable, uDABINAdapter,
uDAClientDataModule, uROTypes, uDAClientDataModule, uROTypes, uIntegerListUtils,
uIDataModulePedidosCliente, uBizPedidosCliente, uBizDetallesPedidoCliente, uBizDetalleColoresPedidoCliente, uIDataModulePedidosCliente, uBizPedidosCliente, uBizDetallesPedidoCliente, uBizDetalleColoresPedidoCliente,
uIDataModulePedidosClienteReport, uDADataAdapter, uDARemoteDataAdapter, uIDataModulePedidosClienteReport, uDADataAdapter, uDARemoteDataAdapter,
uDADataStreamer, uDABin2DataStreamer, uDAInterfaces, uDACDSDataTable; uDADataStreamer, uDABin2DataStreamer, uDAInterfaces, uDACDSDataTable;
@ -47,8 +47,7 @@ type
function GetArticulosPendientes(const IDPedido: Integer): IBizPedidoClienteArticulosPend; function GetArticulosPendientes(const IDPedido: Integer): IBizPedidoClienteArticulosPend;
// Report // Report
function GetReport(const AID: String; const ShowLogotipo: Boolean = False): Binary; function GetRptPedidos(const ListaID: TIntegerList): Binary;
function GetRptPDF(const AID: Integer; const ShowLogotipo: Boolean = False): Binary;
function GetAnosItems : TStringList; function GetAnosItems : TStringList;
end; end;
@ -74,24 +73,16 @@ begin
RORemoteService.Message := dmConexion.Message; RORemoteService.Message := dmConexion.Message;
end; end;
function TDataModulePedidosCliente.GetReport(const AID: String; const ShowLogotipo: Boolean = False): Binary; function TDataModulePedidosCliente.GetRptPedidos(const ListaID: TIntegerList): Binary;
begin
// Result := (RORemoteService as IsrvPedidosCliente).GenerateReport(AID, ShowLogotipo)
end;
function TDataModulePedidosCliente.GetRptPDF(const AID: Integer;
const ShowLogotipo: Boolean): Binary;
var var
AParam : TIntegerArray; AParam : TIntegerArray;
begin begin
{ AParam := TIntegerArray.Create; AParam := ListaID.ToIntegerArray;
try try
AParam.Add(AID); Result := (RORemoteService as IsrvPedidosCliente).GenerarInforme(AParam);
Result := (RORemoteService as IsrvPedidosCliente).GenerarReportPDF(AParam, ShowLogotipo)
finally finally
FreeANDNIL(AParam) FreeAndNil(AParam);
end; end;
}
end; end;
function TDataModulePedidosCliente.NewItem: IBizPedidoCliente; function TDataModulePedidosCliente.NewItem: IBizPedidoCliente;

View File

@ -3,13 +3,12 @@ unit uIDataModulePedidosClienteReport;
interface interface
uses uses
uROTypes; uROTypes, uIntegerListUtils;
type type
IDataModulePedidosClienteReport = interface IDataModulePedidosClienteReport = interface
['{70CEBB06-376F-4363-B80F-DDA4324E0F85}'] ['{70CEBB06-376F-4363-B80F-DDA4324E0F85}']
function GetReport(const AID: String; const ShowLogotipo: Boolean = False): Binary; function GetRptPedidos(const ListaID: TIntegerList): Binary;
function GetRptPDF(const AID: Integer; const ShowLogotipo: Boolean = False): Binary;
end; end;
implementation implementation

View File

@ -49,6 +49,10 @@
<Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Pascal Script\Dcu\D10\PascalScript_RO_D10.bpl">RemObjects Pascal Script - RemObjects SDK 3.0 Integration</Excluded_Packages> <Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Pascal Script\Dcu\D10\PascalScript_RO_D10.bpl">RemObjects Pascal Script - RemObjects SDK 3.0 Integration</Excluded_Packages>
<Excluded_Packages Name="C:\Archivos de programa\EurekaLog 5\Delphi10\ExceptionExpert10.bpl">EurekaLog 5.1.9</Excluded_Packages> <Excluded_Packages Name="C:\Archivos de programa\EurekaLog 5\Delphi10\ExceptionExpert10.bpl">EurekaLog 5.1.9</Excluded_Packages>
</Excluded_Packages><Source><Source Name="MainSource">PedidosCliente_model.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject> </Excluded_Packages><Source><Source Name="MainSource">PedidosCliente_model.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
@ -58,23 +62,23 @@
<DelphiCompile Include="PedidosCliente_model.dpk"> <DelphiCompile Include="PedidosCliente_model.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="adortl.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\adortl.dcp" />
<DCCReference Include="ApplicationBase.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\ApplicationBase.dcp" />
<DCCReference Include="Contactos_model.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\Contactos_model.dcp" />
<DCCReference Include="DataAbstract_Core_D11.dcp" /> <DCCReference Include="..\..\Albaranes de cliente\Controller\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\..\Albaranes de cliente\Controller\dbrtl.dcp" />
<DCCReference Include="..\..\Albaranes de cliente\Controller\dsnap.dcp" />
<DCCReference Include="..\..\Albaranes de cliente\Controller\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\..\Albaranes de cliente\Controller\rtl.dcp" />
<DCCReference Include="..\..\Albaranes de cliente\Controller\vcl.dcp" />
<DCCReference Include="..\..\Albaranes de cliente\Controller\vcldb.dcp" />
<DCCReference Include="Data\uIDataModulePedidosCliente.pas" /> <DCCReference Include="Data\uIDataModulePedidosCliente.pas" />
<DCCReference Include="Data\uIDataModulePedidosClienteReport.pas" /> <DCCReference Include="Data\uIDataModulePedidosClienteReport.pas" />
<DCCReference Include="dbrtl.dcp" />
<DCCReference Include="dsnap.dcp" />
<DCCReference Include="RemObjects_Core_D11.dcp" />
<DCCReference Include="rtl.dcp" />
<DCCReference Include="schPedidosClienteClient_Intf.pas" /> <DCCReference Include="schPedidosClienteClient_Intf.pas" />
<DCCReference Include="schPedidosClienteServer_Intf.pas" /> <DCCReference Include="schPedidosClienteServer_Intf.pas" />
<DCCReference Include="uBizDetalleColoresPedidoCliente.pas" /> <DCCReference Include="uBizDetalleColoresPedidoCliente.pas" />
<DCCReference Include="uBizDetallesPedidoCliente.pas" /> <DCCReference Include="uBizDetallesPedidoCliente.pas" />
<DCCReference Include="uBizPedidosCliente.pas" /> <DCCReference Include="uBizPedidosCliente.pas" />
<DCCReference Include="vcl.dcp" />
<DCCReference Include="vcldb.dcp" />
<None Include="ModelSupport_PedidosCliente_model\default.txaPackage" /> <None Include="ModelSupport_PedidosCliente_model\default.txaPackage" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -235,7 +235,7 @@ end;
procedure TBizPedidoCliente.OnNewRecord(Sender: TDADataTable); procedure TBizPedidoCliente.OnNewRecord(Sender: TDADataTable);
begin begin
inherited; inherited;
ID := GetRecNo; // -1, -2, -3... // ID := GetRecNo; // -1, -2, -3...
IniciarValoresPedidoNuevo; IniciarValoresPedidoNuevo;
end; end;

View File

@ -7,15 +7,13 @@ 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, FactuGES_Intf, frxExportPDF; uDAInterfaces, uDADataStreamer, IBCustomDataSet, IBQuery, IBDatabase,
uDAMemDataTable, frxExportPDF, FactuGES_Intf, uDABin2DataStreamer, uROClient;
type type
TRptPedidosCliente = class(TDataModule) TRptPedidosCliente = class(TDataModule)
DADataCabecera: TDADataSource; DADSCabecera: TDADataSource;
DADataDetalles: TDADataSource; DADSDetalles: TDADataSource;
tbl_Cabecera: TDACDSDataTable;
tbl_Detalles: TDACDSDataTable;
DABINAdapter: TDABINAdapter;
frxRichObject1: TfrxRichObject; frxRichObject1: TfrxRichObject;
frxBarCodeObject1: TfrxBarCodeObject; frxBarCodeObject1: TfrxBarCodeObject;
frxOLEObject1: TfrxOLEObject; frxOLEObject1: TfrxOLEObject;
@ -25,19 +23,57 @@ type
frxChartObject1: TfrxChartObject; frxChartObject1: TfrxChartObject;
frxDBCabecera: TfrxDBDataset; frxDBCabecera: TfrxDBDataset;
frxDBDetalles: TfrxDBDataset; frxDBDetalles: TfrxDBDataset;
schReport: TDASchema;
DataDictionary: TDADataDictionary;
frxReport: TfrxReport; frxReport: TfrxReport;
IBDatabase1: TIBDatabase;
IBTransaction1: TIBTransaction;
DataSource1: TDataSource;
DataSource3: TDataSource;
detalles: TIBQuery;
cabecera: TIBQuery;
cabeceraID: TIntegerField;
cabeceraID_EMPRESA: TIntegerField;
cabeceraID_CLIENTE: TIntegerField;
cabeceraFECHA_ALBARAN: TDateField;
cabeceraREFERENCIA: TIBStringField;
cabeceraREFERENCIA_CLIENTE: TIBStringField;
cabeceraID_PEDIDO: TIntegerField;
cabeceraREF_PEDIDO: TIBStringField;
cabeceraOBSERVACIONES: TMemoField;
cabeceraIMPORTE_TOTAL: TIBBCDField;
cabeceraNIF_CIF: TIBStringField;
cabeceraNOMBRE: TIBStringField;
cabeceraPERSONA_CONTACTO: TIBStringField;
cabeceraCALLE: TIBStringField;
cabeceraPOBLACION: TIBStringField;
cabeceraPROVINCIA: TIBStringField;
cabeceraCODIGO_POSTAL: TIBStringField;
detallesID: TIntegerField;
detallesID_ALBARAN: TIntegerField;
detallesPOSICION: TIntegerField;
detallesTIPO_DETALLE: TIBStringField;
detallesCONCEPTO: TIBStringField;
detallesCANTIDAD: TIntegerField;
detallesIMPORTE_UNIDAD: TIBBCDField;
detallesIMPORTE_TOTAL: TIBBCDField;
detallesREFERENCIA: TIBStringField;
tbl_Cabecera: TDAMemDataTable;
tbl_Detalles: TDAMemDataTable;
frxPDFExport1: TfrxPDFExport; frxPDFExport1: TfrxPDFExport;
DABin2DataStreamer1: TDABin2DataStreamer;
schReport: TDASchema;
frxDBEtiquetas: TfrxDBDataset;
DADSEtiquetas: TDADataSource;
tbl_Etiquetas: TDAMemDataTable;
procedure DataModuleCreate(Sender: TObject); procedure DataModuleCreate(Sender: TObject);
procedure frxReportGetValue(const VarName: string; var Value: Variant); procedure DataModuleDestroy(Sender: TObject);
private private
FConnection: IDAConnection; FConnection: IDAConnection;
FShowLogotipo: Boolean; //Genera cada uno de los pedidos a imprimir
procedure _GenerarPedido(const AID : Integer); overload; procedure _GenerarPedido(const AID: Integer);
public public
function GenerarPedido(const AID : String; const AConLogotipo: Boolean = False): Binary; overload; function GenerarPedido(const AListaID : TIntegerArray): Binary;
function GenerarReportEnPDF(const ListaID : TIntegerArray; const AConLogotipo: Boolean = False): Binary; function GenerarEtiquetas(const AListaID : TIntegerArray; const AMercancia: Variant; const ABultos: Integer): Binary;
function GenerarPedidoEnPDF(const ListaID : TIntegerArray): Binary;
end; end;
implementation implementation
@ -45,17 +81,19 @@ implementation
{$R *.dfm} {$R *.dfm}
uses uses
uDataModuleServer, schPedidosClienteClient_Intf; uSistemaFunc, uDataModuleServer, schPedidosClienteClient_Intf;
const const
rptInforme = 'InfPedidoCliente.fr3'; rptInforme = 'InfPedidoCliente.fr3';
rptInfEtiquetas = 'InfEtiquetasPedidoCliente.fr3';
{ Dataset names for schReport } { Dataset names for schReport }
ds_InformeCabecera = 'Informe_Cabecera'; ds_InformeCabecera = 'Informe_Cabecera';
ds_InformeDetalles = 'Informe_Detalles'; ds_InformeDetalles = 'Informe_Detalles';
ds_InformeDetallesEtiquetas = 'Informe_Detalles_Etiquetas';
{ TRptPedidosProveedor } { TRptPedidosCliente }
procedure TRptPedidosCliente.DataModuleCreate(Sender: TObject); procedure TRptPedidosCliente.DataModuleCreate(Sender: TObject);
@ -63,35 +101,39 @@ begin
schReport.ConnectionManager := dmServer.ConnectionManager; schReport.ConnectionManager := dmServer.ConnectionManager;
FConnection := dmServer.DarNuevaConexion; FConnection := dmServer.DarNuevaConexion;
frxReport.EngineOptions.NewSilentMode := simReThrow; frxReport.EngineOptions.NewSilentMode := simReThrow;
frxDBCabecera.DataSource := DADSCabecera;
frxDBCabecera.CloseDataSource := False;
frxDBDetalles.DataSource := DADSDetalles;
frxDBDetalles.CloseDataSource := False;
end; end;
function TRptPedidosCliente.GenerarPedido(const AID: String; const AConLogotipo: Boolean = False): Binary; procedure TRptPedidosCliente.DataModuleDestroy(Sender: TObject);
var begin
ID_Pedidos: TStringList; tbl_Cabecera.Active := False;
i: Integer; tbl_Detalles.Active := False;
end;
function TRptPedidosCliente.GenerarPedido(const AListaID : TIntegerArray): Binary;
var
i: Integer;
begin begin
Result := Binary.Create; Result := Binary.Create;
try try
FShowLogotipo := AConLogotipo; //Vamos generando todos y cada uno de los pedidos recibidos
ID_Pedidos := TStringList.Create; for i := 0 to AListaID.Count - 1 do
ID_Pedidos.CommaText := AID; _GenerarPedido(AListaID.Items[i]);
//Vamos generando todos y cada uno de los albaranes recibidos
for i := 0 to ID_Pedidos.Count - 1 do
_GenerarPedido(StrToInt(ID_Pedidos.Strings[i]));
frxReport.PreviewPages.SaveToStream(Result); frxReport.PreviewPages.SaveToStream(Result);
finally finally
end; end;
end; end;
function TRptPedidosCliente.GenerarReportEnPDF(const ListaID: TIntegerArray; function TRptPedidosCliente.GenerarPedidoEnPDF(
const AConLogotipo: Boolean): Binary; const ListaID: TIntegerArray): Binary;
var var
i: Integer; i: Integer;
begin begin
FShowLogotipo := AConLogotipo;
Result := Binary.Create; Result := Binary.Create;
try try
//Vamos generando todos y cada uno de los presupuestos recibidos //Vamos generando todos y cada uno de los presupuestos recibidos
@ -104,42 +146,65 @@ begin
end; end;
end; end;
procedure TRptPedidosCliente.frxReportGetValue(const VarName: string;
var Value: Variant);
begin
if VarName = 'ShowLogotipo' then
Value := FShowLogotipo;
end;
procedure TRptPedidosCliente._GenerarPedido(const AID: Integer); procedure TRptPedidosCliente._GenerarPedido(const AID: Integer);
var var
AStream: TMemoryStream; AInforme: Variant;
dsMaster: IDADataset;
dsDetail: IDADataset;
begin begin
AStream := TMemoryStream.Create;
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
try try
dsMaster := schReport.NewDataset(FConnection, ds_InformeCabecera, ['ID'], [AID]); tbl_Cabecera.Active := False;
dsDetail := schReport.NewDataset(FConnection, ds_InformeDetalles, ['ID_PEDIDO'], [AID], False); tbl_Detalles.Active := False;
AStream.Clear; // tbl_Cabecera.ParamByName('ID').AsInteger := AID;
DABINAdapter.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1); // tbl_Detalles.ParamByName('ID_PEDIDO').AsInteger := AID;
DABINAdapter.ReadDataset(AStream, tbl_Cabecera, TRUE, '', TRUE, TRUE);
AStream.Clear; tbl_Cabecera.Active := True;
DABINAdapter.WriteDataset(AStream, dsDetail, [woRows, woSchema], -1); tbl_Detalles.Active := True;
DABINAdapter.ReadDataset(AStream, tbl_Detalles, TRUE, '', TRUE, TRUE);
frxReport.LoadFromFile(DarRutaInformes + rptInforme, True); AInforme := DarRutaFichero(DarRutaInformes, rptInforme); //, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString); pedidos comunes a todas las empresas
if VarIsNull(AInforme) then
raise Exception.Create (('Error Servidor: _GenerarPedido, no encuentra informe ' + rptInforme));
frxReport.LoadFromFile(AInforme, True);
frxReport.PrepareReport(False); frxReport.PrepareReport(False);
finally finally
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
AStream.Free; end;
dsMaster := Nil; end;
dsDetail := Nil;
function TRptPedidosCliente.GenerarEtiquetas(const AListaID : TIntegerArray; const AMercancia: Variant; const ABultos: Integer): Binary;
var
i: Integer;
AInforme: Variant;
Cadena : String;
begin
Result := Binary.Create;
try
//Vamos generando todos y cada uno de los pedidos recibidos
for i := 0 to AListaID.Count - 1 do
begin
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
try
tbl_Etiquetas.Active := False;
tbl_Etiquetas.ParamByName('ID').AsInteger := AListaID.Items[i];
tbl_Etiquetas.Active := True;
AInforme := DarRutaFichero(DarRutaInformes, rptInfEtiquetas);
if VarIsNull(AInforme) then
raise Exception.Create (('Error Servidor: GenerarEtiquetas, no encuentra informe ' + rptInfEtiquetas));
frxReport.LoadFromFile(AInforme, True);
frxReport.Variables.Variables['Mercancia'] := '''' + AMercancia + '''';
frxReport.Variables.Variables['Bultos'] := ABultos;
frxReport.PrepareReport(False);
finally
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
end;
end;
frxReport.PreviewPages.SaveToStream(Result);
finally
end; end;
end; end;

View File

@ -43,9 +43,8 @@ implementation
uses uses
Dialogs, Dialogs,
{Generated:} FactuGES_Invk, uDataModuleServer, uDatabaseUtils, {Generated:} FactuGES_Invk, uDataModuleServer, uDatabaseUtils,
schPedidosClienteClient_Intf, uRestriccionesUsuarioUtils schPedidosClienteClient_Intf, uRestriccionesUsuarioUtils,
// uRptPedidosCliente_Server uRptPedidosCliente_Server, uBizPedidosClienteServer;
, uBizPedidosClienteServer;
procedure Create_srvPedidosCliente(out anInstance : IUnknown); procedure Create_srvPedidosCliente(out anInstance : IUnknown);
begin begin
@ -78,15 +77,15 @@ begin
end; end;
function TsrvPedidosCliente.GenerarInforme(const ListaID: TIntegerArray): Binary; function TsrvPedidosCliente.GenerarInforme(const ListaID: TIntegerArray): Binary;
//var var
// AReportGenerator : TRptAlbaranesCliente; AReportGenerator : TRptPedidosCliente;
begin begin
// AReportGenerator := TRptAlbaranesCliente.Create(nil); AReportGenerator := TRptPedidosCliente.Create(nil);
// try try
// Result := AReportGenerator.GenerarAlbaran(ListaID); Result := AReportGenerator.GenerarPedido(ListaID);
// finally finally
// FreeAndNIL(AReportGenerator); FreeAndNIL(AReportGenerator);
// end; end;
end; end;
initialization initialization

View File

@ -177,86 +177,36 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente
ExplicitHeight = 336 ExplicitHeight = 336
inherited ToolBar1: TToolBar inherited ToolBar1: TToolBar
Width = 618 Width = 618
Height = 73
ExplicitWidth = 618 ExplicitWidth = 618
ExplicitHeight = 73 inherited UpDown1: TUpDown
inherited ToolButton4: TToolButton [1] Left = 203
Left = 109 ExplicitLeft = 203
ExplicitLeft = 109
end end
inherited ToolButton2: TToolButton inherited ToolButton13: TToolButton
Left = 0 Left = 220
Top = 22 ExplicitLeft = 220
end end
inherited ToolButton14: TToolButton [3] inherited ToolButton6: TToolButton
Left = 114 Left = 228
ExplicitLeft = 114 ExplicitLeft = 228
end end
inherited ToolButton3: TToolButton [4] inherited ToolButton7: TToolButton
Left = 179 Left = 294
Top = 22 ExplicitLeft = 294
ExplicitLeft = 179
ExplicitTop = 22
end end
inherited ToolButton6: TToolButton [5] inherited ToolButton8: TToolButton
Left = 234 Left = 361
Top = 22 ExplicitLeft = 361
ExplicitLeft = 234
ExplicitTop = 22
end
inherited ToolButton8: TToolButton [6]
Left = 300
Top = 22
ExplicitLeft = 300
ExplicitTop = 22
end
inherited FontName: TJvFontComboBox [7]
Left = 383
ExplicitLeft = 383
end
inherited FontSize: TEdit [8]
Left = 528
ExplicitLeft = 528
end
inherited UpDown1: TUpDown [9]
Left = 570
ExplicitLeft = 570
end
inherited ToolButton13: TToolButton [10]
Left = 587
ExplicitLeft = 587
end
inherited ToolButton7: TToolButton [11]
Left = 595
Top = 22
Wrap = False
ExplicitLeft = 595
ExplicitTop = 22
end
inherited ToolButton12: TToolButton [12]
end
inherited ToolButton9: TToolButton [13]
end
inherited ToolButton10: TToolButton [14]
end
inherited ToolButton11: TToolButton [15]
Left = 270
Top = 49
ExplicitLeft = 270
ExplicitTop = 49
end end
end end
inherited cxGrid: TcxGrid inherited cxGrid: TcxGrid
Top = 99
Width = 618 Width = 618
Height = 237 Height = 237
ExplicitWidth = 618 ExplicitWidth = 618
ExplicitHeight = 237 ExplicitHeight = 237
end end
inherited TBXDock1: TSpTBXDock inherited TBXDock1: TSpTBXDock
Top = 73
Width = 618 Width = 618
ExplicitTop = 73
ExplicitWidth = 618 ExplicitWidth = 618
end end
inherited cxGridPopupMenu: TcxGridPopupMenu inherited cxGridPopupMenu: TcxGridPopupMenu
@ -344,12 +294,16 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente
ExplicitWidth = 632 ExplicitWidth = 632
ExplicitHeight = 143 ExplicitHeight = 143
inherited Bevel3: TBevel inherited Bevel3: TBevel
Left = 300
Height = 201 Height = 201
ExplicitLeft = 300
ExplicitHeight = 201 ExplicitHeight = 201
end end
inherited Bevel4: TBevel inherited Bevel4: TBevel
Left = 433
Width = 206 Width = 206
Height = 9 Height = 9
ExplicitLeft = 433
ExplicitWidth = 206 ExplicitWidth = 206
ExplicitHeight = 9 ExplicitHeight = 9
end end
@ -361,18 +315,22 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente
StyleHot.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = ''
end end
inherited ImporteIVA: TcxDBCurrencyEdit inherited ImporteIVA: TcxDBCurrencyEdit
Left = 504
Style.LookAndFeel.SkinName = '' Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 504
end end
inherited ImporteTotal: TcxDBCurrencyEdit inherited ImporteTotal: TcxDBCurrencyEdit
Left = 433
Style.LookAndFeel.SkinName = '' Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 433
ExplicitWidth = 90 ExplicitWidth = 90
Width = 90 Width = 90
end end
@ -384,33 +342,41 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente
StyleHot.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = ''
end end
inherited edtIVA: TcxDBSpinEdit inherited edtIVA: TcxDBSpinEdit
Left = 433
Style.LookAndFeel.SkinName = '' Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 433
end end
inherited ImporteBase: TcxDBCurrencyEdit inherited ImporteBase: TcxDBCurrencyEdit
Left = 433
DataBinding.DataField = 'IMPORTE_NETO' DataBinding.DataField = 'IMPORTE_NETO'
Style.LookAndFeel.SkinName = '' Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 433
end end
inherited edtRE: TcxDBSpinEdit inherited edtRE: TcxDBSpinEdit
Left = 433
Style.LookAndFeel.SkinName = '' Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 433
end end
inherited ImporteRE: TcxDBCurrencyEdit inherited ImporteRE: TcxDBCurrencyEdit
Left = 504
Style.LookAndFeel.SkinName = '' Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 504
end end
inherited eImporteNeto: TcxDBCurrencyEdit inherited eImporteNeto: TcxDBCurrencyEdit
Style.LookAndFeel.SkinName = '' Style.LookAndFeel.SkinName = ''
@ -432,6 +398,10 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente
StyleFocused.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = ''
end end
inherited bTiposIVA: TButton
Left = 152
ExplicitLeft = 152
end
inherited cbRecargoEquivalencia: TcxDBCheckBox inherited cbRecargoEquivalencia: TcxDBCheckBox
Style.LookAndFeel.SkinName = '' Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = '' StyleDisabled.LookAndFeel.SkinName = ''
@ -440,6 +410,10 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente
ExplicitWidth = 221 ExplicitWidth = 221
Width = 221 Width = 221
end end
inherited Panel1: TPanel
Width = 185
ExplicitWidth = 185
end
end end
end end
inherited EditorActionList: TActionList [5] inherited EditorActionList: TActionList [5]

View File

@ -1,32 +1,83 @@
inherited frViewDetallesPedidoCliente: TfrViewDetallesPedidoCliente inherited frViewDetallesPedidoCliente: TfrViewDetallesPedidoCliente
inherited ToolBar1: TToolBar inherited ToolBar1: TToolBar
inherited ToolButton11: TToolButton [11] Height = 73
ExplicitHeight = 73
inherited ToolButton3: TToolButton
Wrap = False
end
inherited ToolButton4: TToolButton
Left = 278
Top = 0
ExplicitLeft = 278
ExplicitTop = 0
end
inherited ToolButton14: TToolButton
Left = 334
Top = 0
ExplicitLeft = 334
ExplicitTop = 0
end
inherited FontName: TJvFontComboBox
Top = 22
ExplicitTop = 22
end
inherited FontSize: TEdit
Top = 22
ExplicitTop = 22
end
inherited UpDown1: TUpDown
Top = 22
ExplicitTop = 22
end
inherited ToolButton13: TToolButton
Top = 22
ExplicitTop = 22
end
inherited ToolButton6: TToolButton
Top = 22
ExplicitTop = 22
end
inherited ToolButton7: TToolButton
Top = 22
ExplicitTop = 22
end
inherited ToolButton8: TToolButton
Top = 22
ExplicitTop = 22
end
inherited ToolButton12: TToolButton
Left = 0 Left = 0
Top = 22
Wrap = True
ExplicitLeft = 0 ExplicitLeft = 0
ExplicitTop = 22
ExplicitHeight = 27
end end
inherited ToolButton6: TToolButton [12] inherited ToolButton9: TToolButton
Left = 141 Left = 0
ExplicitLeft = 141 Top = 49
ExplicitLeft = 0
ExplicitTop = 49
end end
inherited ToolButton8: TToolButton [13] inherited ToolButton10: TToolButton
Left = 207 Left = 145
ExplicitLeft = 207 Top = 49
ExplicitLeft = 145
ExplicitTop = 49
end end
inherited FontSize: TEdit [14] inherited ToolButton11: TToolButton
Left = 290 Left = 270
ExplicitLeft = 290 Top = 49
end ExplicitLeft = 270
inherited UpDown1: TUpDown [15] ExplicitTop = 49
Left = 332
ExplicitLeft = 332
end end
end end
inherited cxGrid: TcxGrid inherited cxGrid: TcxGrid
ExplicitTop = 121 Top = 99
Height = 205
ExplicitTop = 99
ExplicitHeight = 205
inherited cxGridView: TcxGridDBTableView inherited cxGridView: TcxGridDBTableView
inherited cxGridViewPOSICION: TcxGridDBColumn
Visible = True
end
inherited cxGridViewTIPO: TcxGridDBColumn inherited cxGridViewTIPO: TcxGridDBColumn
Visible = False Visible = False
VisibleForCustomization = False VisibleForCustomization = False
@ -55,6 +106,8 @@ inherited frViewDetallesPedidoCliente: TfrViewDetallesPedidoCliente
end end
end end
inherited TBXDock1: TSpTBXDock inherited TBXDock1: TSpTBXDock
Top = 73
ExplicitTop = 73
inherited TBXToolbar1: TSpTBXToolbar inherited TBXToolbar1: TSpTBXToolbar
ExplicitWidth = 447 ExplicitWidth = 447
inherited TBXSubmenuItem1: TSpTBXSubmenuItem inherited TBXSubmenuItem1: TSpTBXSubmenuItem

View File

@ -257,6 +257,9 @@ inherited frViewPedidosCliente: TfrViewPedidosCliente
BuiltInReportLink = True BuiltInReportLink = True
end end
end end
inherited dxPSEngineController1: TdxPSEngineController
Active = True
end
inherited cxStyleRepository1: TcxStyleRepository inherited cxStyleRepository1: TcxStyleRepository
Left = 248 Left = 248
object cxStylePENDIENTES: TcxStyle object cxStylePENDIENTES: TcxStyle

View File

@ -141,7 +141,8 @@ uses
schAlbaranesClienteClient_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas', schAlbaranesClienteClient_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas',
schAlbaranesClienteServer_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas', schAlbaranesClienteServer_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas',
schPedidosClienteClient_Intf in '..\Modulos\Pedidos de cliente\Model\schPedidosClienteClient_Intf.pas', schPedidosClienteClient_Intf in '..\Modulos\Pedidos de cliente\Model\schPedidosClienteClient_Intf.pas',
schPedidosClienteServer_Intf in '..\Modulos\Pedidos de cliente\Model\schPedidosClienteServer_Intf.pas'; schPedidosClienteServer_Intf in '..\Modulos\Pedidos de cliente\Model\schPedidosClienteServer_Intf.pas',
uRptPedidosCliente_Server in '..\Modulos\Pedidos de cliente\Reports\uRptPedidosCliente_Server.pas' {RptPedidosCliente};
{$R *.res} {$R *.res}
{$R ..\Servicios\RODLFile.res} {$R ..\Servicios\RODLFile.res}

View File

@ -213,6 +213,9 @@
<DCCReference Include="..\Modulos\Pedidos de cliente\Model\schPedidosClienteClient_Intf.pas" /> <DCCReference Include="..\Modulos\Pedidos de cliente\Model\schPedidosClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Pedidos de cliente\Model\schPedidosClienteServer_Intf.pas" /> <DCCReference Include="..\Modulos\Pedidos de cliente\Model\schPedidosClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Pedidos de cliente\Model\uBizPedidosClienteServer.pas" /> <DCCReference Include="..\Modulos\Pedidos de cliente\Model\uBizPedidosClienteServer.pas" />
<DCCReference Include="..\Modulos\Pedidos de cliente\Reports\uRptPedidosCliente_Server.pas">
<Form>RptPedidosCliente</Form>
</DCCReference>
<DCCReference Include="..\Modulos\Pedidos de cliente\Servidor\srvPedidosCliente_Impl.pas"> <DCCReference Include="..\Modulos\Pedidos de cliente\Servidor\srvPedidosCliente_Impl.pas">
<Form>srvPedidosCliente</Form> <Form>srvPedidosCliente</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>