Se activa el informe de etiquetas en albaranes
git-svn-id: https://192.168.0.254/svn/Proyectos.Noviseda_FactuGES2/trunk@73 f33bb606-9f5c-448d-9c99-757f00063c96
This commit is contained in:
parent
7f1a4504bb
commit
f4ccb5aedc
9
Source/Informes/InfEtiquetasAlbaranCliente.fr3
Normal file
9
Source/Informes/InfEtiquetasAlbaranCliente.fr3
Normal file
@ -0,0 +1,9 @@
|
||||
<?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="40205,741024838" ScriptLanguage="PascalScript" ScriptText.Text="begin end." ShowProgress="False" StoreInDFM="False" OnStartReport="frxReportOnStartReport" PropData="044C65667403910003546F70021008446174617365747301010C3400000020446174615365743D22667278444243616265636572612220446174615365744E616D653D2266727844424361626563657261220000095661726961626C65730100055374796C650100">
|
||||
<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="">
|
||||
<TfrxMasterData Name="MasterData1" Height="186" Left="0" Top="16" Width="718,1107" ColumnWidth="0" ColumnGap="0" DataSet="frxDBCabecera" DataSetName="frxDBCabecera" RowCount="0">
|
||||
<TfrxMemoView Name="Memo31" Left="59" Top="21" Width="223,21274" Height="122,89765" ShowHint="False" DataSet="frxDBCabecera" DataSetName="frxDBCabecera" Font.Charset="1" Font.Color="0" Font.Height="-12" Font.Name="Arial" Font.Style="1" ParentFont="False" Text="[frxDBCabecera."POBLACION"] [frxDBCabecera."NOMBRE"] [frxDBCabecera."CALLE"] [frxDBCabecera."CODIGO_POSTAL"] [frxDBCabecera."POBLACION"] ([frxDBCabecera."PROVINCIA"]) [frxDBCabecera."REFERENCIA"]"/>
|
||||
</TfrxMasterData>
|
||||
</TfrxReportPage>
|
||||
</TfrxReport>
|
||||
@ -49,8 +49,8 @@ type
|
||||
|
||||
procedure Preview(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false);
|
||||
procedure Print(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false);
|
||||
procedure EtiquetasPreview(AAlbaran : IBizAlbaranCliente);
|
||||
procedure EtiquetasPrint(AAlbaran : IBizAlbaranCliente);
|
||||
procedure EtiquetasPreview(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false);
|
||||
procedure EtiquetasPrint(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false);
|
||||
|
||||
procedure RecalcularImportes(AAlbaran: IBizAlbaranCliente);
|
||||
function EsModificable(AAlbaran: IBizAlbaranCliente): Boolean;
|
||||
@ -149,8 +149,8 @@ type
|
||||
|
||||
procedure Preview(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false);
|
||||
procedure Print(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false);
|
||||
procedure EtiquetasPreview(AAlbaran : IBizAlbaranCliente);
|
||||
procedure EtiquetasPrint(AAlbaran : IBizAlbaranCliente);
|
||||
procedure EtiquetasPreview(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false);
|
||||
procedure EtiquetasPrint(AAlbaran : IBizAlbaranCliente; AllItems: Boolean = false);
|
||||
|
||||
function DarListaAnosAlbaranes: TStringList;
|
||||
procedure FiltrarAno(AAlbaran: IBizAlbaranCliente; ADynWhereDataTable: WideString; const Ano: String);
|
||||
@ -857,27 +857,71 @@ begin
|
||||
Result := not (AAlbaran.ID_FACTURA > 0);
|
||||
end;
|
||||
|
||||
procedure TAlbaranesClienteController.EtiquetasPreview(AAlbaran: IBizAlbaranCliente);
|
||||
procedure TAlbaranesClienteController.EtiquetasPreview(AAlbaran: IBizAlbaranCliente; AllItems: Boolean = false);
|
||||
var
|
||||
AReportController : IAlbaranesClienteReportController;
|
||||
ID_Albaranes: TIntegerList;
|
||||
|
||||
begin
|
||||
AReportController := TAlbaranesClienteReportController.Create;
|
||||
ID_Albaranes := TIntegerList.Create;
|
||||
|
||||
try
|
||||
AReportController.EtiquetasPreview(AAlbaran.ID);
|
||||
//Si deseamos previsualizar todos los items del objeto albaran
|
||||
if AllItems then
|
||||
begin
|
||||
with AAlbaran.DataTable do
|
||||
begin
|
||||
First;
|
||||
while not EOF do
|
||||
begin
|
||||
ID_Albaranes.Add(AAlbaran.ID);
|
||||
Next;
|
||||
end;
|
||||
end;
|
||||
end
|
||||
//Solo previsualizamos el item seleccionado
|
||||
else
|
||||
ID_Albaranes.Add(AAlbaran.ID);
|
||||
|
||||
AReportController.EtiquetasPreview(ID_Albaranes);
|
||||
finally
|
||||
AReportController := NIL;
|
||||
FreeANDNIL(ID_Albaranes);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TAlbaranesClienteController.EtiquetasPrint(AAlbaran: IBizAlbaranCliente);
|
||||
procedure TAlbaranesClienteController.EtiquetasPrint(AAlbaran: IBizAlbaranCliente; AllItems: Boolean = false);
|
||||
var
|
||||
AReportController : IAlbaranesClienteReportController;
|
||||
ID_Albaranes: TIntegerList;
|
||||
|
||||
begin
|
||||
AReportController := TAlbaranesClienteReportController.Create;
|
||||
ID_Albaranes := TIntegerList.Create;
|
||||
|
||||
try
|
||||
AReportController.EtiquetasPrint(AAlbaran.ID);
|
||||
//Si deseamos previsualizar todos los items del objeto albaran
|
||||
if AllItems then
|
||||
begin
|
||||
with AAlbaran.DataTable do
|
||||
begin
|
||||
First;
|
||||
while not EOF do
|
||||
begin
|
||||
ID_Albaranes.Add(AAlbaran.ID);
|
||||
Next;
|
||||
end;
|
||||
end;
|
||||
end
|
||||
//Solo previsualizamos el item seleccionado
|
||||
else
|
||||
ID_Albaranes.Add(AAlbaran.ID);
|
||||
|
||||
AReportController.EtiquetasPrint(ID_Albaranes);
|
||||
finally
|
||||
AReportController := NIL;
|
||||
FreeANDNIL(ID_Albaranes);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
@ -12,10 +12,10 @@ type
|
||||
['{4BCC7A93-3322-494C-A3FA-118F4B62CB15}']
|
||||
procedure Preview(const AListaID : TIntegerList);
|
||||
procedure Print(const AListaID : TIntegerList);
|
||||
procedure EtiquetasPreview(const AID : integer);
|
||||
procedure EtiquetasPrint(const AID : integer);
|
||||
procedure EtiquetasPreview(const AListaID: TIntegerList);
|
||||
procedure EtiquetasPrint(const AListaID: TIntegerList);
|
||||
function ExportToWord(const AID: Integer; const AFileName : String = ''): Boolean;
|
||||
function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean;
|
||||
function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean;
|
||||
end;
|
||||
|
||||
TAlbaranesClienteReportController = class(TControllerBase, IAlbaranesClienteReportController)
|
||||
@ -30,9 +30,9 @@ type
|
||||
procedure Preview(const AListaID : TIntegerList);
|
||||
procedure Print(const AListaID : TIntegerList);
|
||||
function ExportToWord(const AID: Integer; const AFileName : String = ''): Boolean;
|
||||
function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean;
|
||||
procedure EtiquetasPreview(const AID : integer);
|
||||
procedure EtiquetasPrint(const AID : integer);
|
||||
function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean;
|
||||
procedure EtiquetasPreview(const AListaID: TIntegerList);
|
||||
procedure EtiquetasPrint(const AListaID: TIntegerList);
|
||||
end;
|
||||
|
||||
|
||||
@ -64,7 +64,7 @@ begin
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TAlbaranesClienteReportController.EtiquetasPreview(const AID: integer);
|
||||
procedure TAlbaranesClienteReportController.EtiquetasPreview(const AListaID: TIntegerList);
|
||||
var
|
||||
AStream: Binary;
|
||||
AEditor : IEditorAlbaranesClientePreview;
|
||||
@ -73,7 +73,7 @@ begin
|
||||
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
AStream := FDataModule.GetEtiquetas(AID);
|
||||
AStream := FDataModule.GetEtiquetas(AListaID);
|
||||
try
|
||||
CreateEditor('EditorAlbaranesClientePreview', IEditorAlbaranesClientePreview, AEditor);
|
||||
if Assigned(AEditor) then
|
||||
@ -92,7 +92,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TAlbaranesClienteReportController.EtiquetasPrint(const AID: integer);
|
||||
procedure TAlbaranesClienteReportController.EtiquetasPrint(const AListaID: TIntegerList);
|
||||
var
|
||||
AStream: Binary;
|
||||
AEditor : IEditorAlbaranesClientePreview;
|
||||
@ -101,7 +101,7 @@ begin
|
||||
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
AStream := FDataModule.GetEtiquetas(AID);
|
||||
AStream := FDataModule.GetEtiquetas(AListaID);
|
||||
try
|
||||
CreateEditor('EditorAlbaranesClientePreview', IEditorAlbaranesClientePreview, AEditor);
|
||||
if Assigned(AEditor) then
|
||||
|
||||
@ -41,7 +41,7 @@ type
|
||||
// Report
|
||||
function GetRptAlbaranes(const ListaID: TIntegerList): Binary;
|
||||
function GetRptWordAlbaran(const AID: Integer): Binary;
|
||||
function GetEtiquetas(const AID: Integer): Binary;
|
||||
function GetEtiquetas(const ListaID: TIntegerList): Binary;
|
||||
function GetRptPDFAlbaran(const AID: Integer): Binary;
|
||||
|
||||
function GetAnosItems : TStringList;
|
||||
@ -165,9 +165,16 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function TDataModuleAlbaranesCliente.GetEtiquetas(const AID: Integer): Binary;
|
||||
function TDataModuleAlbaranesCliente.GetEtiquetas(const ListaID: TIntegerList): Binary;
|
||||
var
|
||||
AParam : TIntegerArray;
|
||||
begin
|
||||
Result := (RORemoteService as IsrvAlbaranesCliente).GenerarInformeEtiquetas(AID)
|
||||
AParam := ListaID.ToIntegerArray;
|
||||
try
|
||||
Result := (RORemoteService as IsrvAlbaranesCliente).GenerarInformeEtiquetas(AParam)
|
||||
finally
|
||||
// FreeAndNil(AParam);
|
||||
end;
|
||||
end;
|
||||
|
||||
function TDataModuleAlbaranesCliente.GetItem(const ID: Integer): IBizAlbaranCliente;
|
||||
|
||||
@ -11,7 +11,7 @@ type
|
||||
function GetRptAlbaranes(const AListaID: TIntegerList): Binary;
|
||||
function GetRptWordAlbaran(const AID: Integer): Binary;
|
||||
function GetRptPDFAlbaran(const AID: Integer): Binary;
|
||||
function GetEtiquetas(const AID: Integer): Binary;
|
||||
function GetEtiquetas(const ListaID: TIntegerList): Binary;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
@ -69,7 +69,7 @@ type
|
||||
procedure _GenerarAlbaran(const AID: Integer);
|
||||
public
|
||||
function GenerarAlbaran(const AListaID : TIntegerArray): Binary;
|
||||
function GenerarEtiquetas(const AID : Integer): Binary;
|
||||
function GenerarEtiquetas(const AListaID : TIntegerArray): Binary;
|
||||
function GenerarAlbaranEnPDF(const ListaID : TIntegerArray): Binary;
|
||||
end;
|
||||
|
||||
@ -170,41 +170,36 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function TRptAlbaranesCliente.GenerarEtiquetas(const AID: Integer): Binary;
|
||||
{var
|
||||
dsMaster: IDADataset;
|
||||
dsDetail: IDADataset;
|
||||
AStream: TMemoryStream;}
|
||||
function TRptAlbaranesCliente.GenerarEtiquetas(const AListaID : TIntegerArray): Binary;
|
||||
var
|
||||
i: Integer;
|
||||
AInforme: Variant;
|
||||
|
||||
begin
|
||||
Result := NIL;
|
||||
{
|
||||
AStream := TMemoryStream.Create;
|
||||
Result := Binary.Create;
|
||||
FConnection.BeginTransaction;
|
||||
try
|
||||
dsMaster := schReport.NewDataset(FConnection, ds_InformeCabecera, ['ID'], [AID]);
|
||||
dsDetail := schReport.NewDataset(FConnection, ds_InformeDetallesEtiquetas, ['ID_ALBARAN'], [AID], False);
|
||||
//Vamos generando todos y cada uno de los albaranes 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_Cabecera.Active := False;
|
||||
tbl_Cabecera.ParamByName('ID').AsInteger := AListaID.Items[i];
|
||||
tbl_Cabecera.Active := True;
|
||||
|
||||
AStream.Clear;
|
||||
DABINAdapter.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1);
|
||||
DABINAdapter.ReadDataset(AStream, tbl_Cabecera, TRUE, '', TRUE, TRUE);
|
||||
AInforme := DarRutaFichero(DarRutaInformes, rptInfEtiquetas);
|
||||
if VarIsNull(AInforme) then
|
||||
raise Exception.Create (('Error Servidor: GenerarEtiquetas, no encuentra informe ' + rptInfEtiquetas));
|
||||
|
||||
AStream.Clear;
|
||||
DABINAdapter.WriteDataset(AStream, dsDetail, [woRows, woSchema], -1);
|
||||
DABINAdapter.ReadDataset(AStream, tbl_Detalles, TRUE, '', TRUE, TRUE);
|
||||
|
||||
frxReport.LoadFromFile(DarRutaInformes + rptInfEtiquetas, True);
|
||||
if withRefCliente then
|
||||
frxReport.Variables.Variables['withRefCliente'] := 1
|
||||
else
|
||||
frxReport.Variables.Variables['withRefCliente'] := 0;
|
||||
frxReport.PrepareReport(False);
|
||||
frxReport.LoadFromFile(AInforme, True);
|
||||
frxReport.PrepareReport(False);
|
||||
finally
|
||||
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
|
||||
end;
|
||||
end;
|
||||
frxReport.PreviewPages.SaveToStream(Result);
|
||||
finally
|
||||
AStream.Free;
|
||||
FConnection.RollbackTransaction;
|
||||
end;
|
||||
}
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
@ -34,7 +34,7 @@ type
|
||||
protected
|
||||
{ IsrvAlbaranesCliente methods }
|
||||
function GenerarInforme(const ListaID: TIntegerArray): Binary;
|
||||
function GenerarInformeEtiquetas(const ID: Integer): Binary;
|
||||
function GenerarInformeEtiquetas(const ListaID : TIntegerArray): Binary;
|
||||
function GenerarInformeEnWord(const ID: Integer): Binary;
|
||||
function GenerarInformeEnPDF(const ListaID: TIntegerArray): Binary;
|
||||
end;
|
||||
@ -92,15 +92,13 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function TsrvAlbaranesCliente.GenerarInformeEtiquetas(const ID: Integer): Binary;
|
||||
function TsrvAlbaranesCliente.GenerarInformeEtiquetas(const ListaID : TIntegerArray): Binary;
|
||||
var
|
||||
AReportGenerator : TRptAlbaranesCliente;
|
||||
begin
|
||||
Result := NIL;
|
||||
|
||||
AReportGenerator := TRptAlbaranesCliente.Create(nil);
|
||||
try
|
||||
Result := AReportGenerator.GenerarEtiquetas(ID);
|
||||
Result := AReportGenerator.GenerarEtiquetas(ListaID);
|
||||
finally
|
||||
FreeAndNIL(AReportGenerator);
|
||||
end;
|
||||
|
||||
@ -425,6 +425,18 @@ begin
|
||||
if Respuesta <> IDCANCEL then
|
||||
begin
|
||||
case JsImprimirDialog.CustomButtonResult of
|
||||
300 : begin // Lista de elementos visibles
|
||||
if AllItems then
|
||||
begin
|
||||
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Albaranes as ISeleccionable).SelectedRecords);
|
||||
AAlbaranes := (Controller as IAlbaranesClienteController).ExtraerSeleccionados(Albaranes) as IBizAlbaranCliente;
|
||||
end
|
||||
else
|
||||
AAlbaranes := Albaranes;
|
||||
|
||||
if Assigned(AAlbaranes) then
|
||||
FController.EtiquetasPrint(AAlbaranes, AllItems);
|
||||
end;
|
||||
200 : begin // Lista de elementos visibles
|
||||
inherited;
|
||||
end;
|
||||
@ -522,9 +534,8 @@ begin
|
||||
AAlbaranes := Albaranes;
|
||||
|
||||
if Assigned(AAlbaranes) then
|
||||
FController.Preview(AAlbaranes, AllItems);
|
||||
FController.EtiquetasPreview(AAlbaranes, AllItems);
|
||||
end;
|
||||
|
||||
200 : begin // Lista de elementos visibles
|
||||
inherited;
|
||||
end;
|
||||
|
||||
@ -370,7 +370,7 @@
|
||||
<Parameters>
|
||||
<Parameter Name="Result" DataType="Binary" Flag="Result">
|
||||
</Parameter>
|
||||
<Parameter Name="ID" DataType="Integer" Flag="In" >
|
||||
<Parameter Name="ListaID" DataType="TIntegerArray" Flag="In" >
|
||||
</Parameter>
|
||||
</Parameters>
|
||||
</Operation>
|
||||
|
||||
@ -587,7 +587,7 @@ type
|
||||
IsrvAlbaranesCliente = interface(IDataAbstractService)
|
||||
['{6E910718-9AB0-47BB-9875-B0DE66A68D7A}']
|
||||
function GenerarInforme(const ListaID: TIntegerArray): Binary;
|
||||
function GenerarInformeEtiquetas(const ID: Integer): Binary;
|
||||
function GenerarInformeEtiquetas(const ListaID: TIntegerArray): Binary;
|
||||
function GenerarInformeEnWord(const ID: Integer): Binary;
|
||||
function GenerarInformeEnPDF(const ListaID: TIntegerArray): Binary;
|
||||
end;
|
||||
@ -603,7 +603,7 @@ type
|
||||
function __GetInterfaceName:string; override;
|
||||
|
||||
function GenerarInforme(const ListaID: TIntegerArray): Binary;
|
||||
function GenerarInformeEtiquetas(const ID: Integer): Binary;
|
||||
function GenerarInformeEtiquetas(const ListaID: TIntegerArray): Binary;
|
||||
function GenerarInformeEnWord(const ID: Integer): Binary;
|
||||
function GenerarInformeEnPDF(const ListaID: TIntegerArray): Binary;
|
||||
end;
|
||||
@ -1898,15 +1898,16 @@ begin
|
||||
end
|
||||
end;
|
||||
|
||||
function TsrvAlbaranesCliente_Proxy.GenerarInformeEtiquetas(const ID: Integer): Binary;
|
||||
function TsrvAlbaranesCliente_Proxy.GenerarInformeEtiquetas(const ListaID: TIntegerArray): Binary;
|
||||
begin
|
||||
try
|
||||
result := nil;
|
||||
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEtiquetas');
|
||||
__Message.Write('ID', TypeInfo(Integer), ID, []);
|
||||
__Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
|
||||
__Message.Finalize;
|
||||
|
||||
__TransportChannel.Dispatch(__Message);
|
||||
ListaID.Free;
|
||||
|
||||
__Message.Read('Result', TypeInfo(Binary), result, []);
|
||||
finally
|
||||
|
||||
@ -1101,17 +1101,18 @@ begin
|
||||
end;
|
||||
|
||||
procedure TsrvAlbaranesCliente_Invoker.Invoke_GenerarInformeEtiquetas(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
||||
{ function GenerarInformeEtiquetas(const ID: Integer): Binary; }
|
||||
{ function GenerarInformeEtiquetas(const ListaID: TIntegerArray): Binary; }
|
||||
var
|
||||
ID: Integer;
|
||||
ListaID: FactuGES_Intf.TIntegerArray;
|
||||
lResult: Binary;
|
||||
__lObjectDisposer: TROObjectDisposer;
|
||||
begin
|
||||
ListaID := nil;
|
||||
lResult := nil;
|
||||
try
|
||||
__Message.Read('ID', TypeInfo(Integer), ID, []);
|
||||
__Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
|
||||
|
||||
lResult := (__Instance as IsrvAlbaranesCliente).GenerarInformeEtiquetas(ID);
|
||||
lResult := (__Instance as IsrvAlbaranesCliente).GenerarInformeEtiquetas(ListaID);
|
||||
|
||||
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvAlbaranesCliente', 'GenerarInformeEtiquetasResponse');
|
||||
__Message.Write('Result', TypeInfo(Binary), lResult, []);
|
||||
@ -1121,6 +1122,7 @@ begin
|
||||
finally
|
||||
__lObjectDisposer := TROObjectDisposer.Create(__Instance);
|
||||
try
|
||||
__lObjectDisposer.Add(ListaID);
|
||||
__lObjectDisposer.Add(lResult);
|
||||
finally
|
||||
__lObjectDisposer.Free();
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user