diff --git a/Source/Informes/InfEtiquetasAlbaranCliente.fr3 b/Source/Informes/InfEtiquetasAlbaranCliente.fr3
new file mode 100644
index 00000000..05b11ae4
--- /dev/null
+++ b/Source/Informes/InfEtiquetasAlbaranCliente.fr3
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm
index 7fb4ab2f..41c1523b 100644
--- a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm
+++ b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.dfm
@@ -736,17 +736,17 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
Connection = 'IBX'
TargetTable = 'ALBARANES_CLIENTE_DETALLES'
SQL =
- 'SELECT ALBARANES_CLIENTE_DETALLES.ID, ALBARANES_CLIENTE_DETALLES' +
- '.ID_ALBARAN,'#10' ALBARANES_CLIENTE_DETALLES.POSICION, ALBARAN' +
- 'ES_CLIENTE_DETALLES.TIPO_DETALLE,'#10' F_RTFTOTEXT(ALBARANES_C' +
- 'LIENTE_DETALLES.CONCEPTO) as CONCEPTO, ALBARANES_CLIENTE_DETALLE' +
- 'S.CANTIDAD,'#10' ALBARANES_CLIENTE_DETALLES.IMPORTE_UNIDAD, AL' +
- 'BARANES_CLIENTE_DETALLES.IMPORTE_TOTAL,'#10' ARTICULOS.REFEREN' +
- 'CIA, ARTICULOS.FAMILIA, ARTICULOS.REFERENCIA_PROV as REFERENCIA_' +
- 'PROVEEDOR'#10#10#10'FROM ALBARANES_CLIENTE_DETALLES'#10'LEFT JOIN ARTICULOS ' +
- 'ON (ALBARANES_CLIENTE_DETALLES.ID_ARTICULO = ARTICULOS.ID)'#10'WHERE' +
- ' (ID_ALBARAN = :ID_ALBARAN)'#10'AND (ARTICULOS.INVENTARIABLE = 1)'#10'OR' +
- 'DER BY POSICION'
+ 'SELECT ALBARANES_CLIENTE.REFERENCIA, ALBARANES_CLIENTE.FECHA_PRE' +
+ 'VISTA_ENVIO,'#10' ALBARANES_CLIENTE_DETALLES.ID, ALBARANES_CLI' +
+ 'ENTE_DETALLES.ID_ALBARAN,'#10' ALBARANES_CLIENTE_DETALLES.POSI' +
+ 'CION, ALBARANES_CLIENTE_DETALLES.TIPO_DETALLE,'#10' F_RTFTOTEX' +
+ 'T(ALBARANES_CLIENTE_DETALLES.CONCEPTO) as CONCEPTO, ALBARANES_CL' +
+ 'IENTE_DETALLES.CANTIDAD,'#10' ALBARANES_CLIENTE_DETALLES.IMPOR' +
+ 'TE_UNIDAD, ALBARANES_CLIENTE_DETALLES.IMPORTE_TOTAL'#10#10'FROM ALBARA' +
+ 'NES_CLIENTE_DETALLES'#10'left join ALBARANES_CLIENTE on (ALBARANES_C' +
+ 'LIENTE.ID = ALBARANES_CLIENTE_DETALLES.ID_ALBARAN)'#10'WHERE (ID_ALB' +
+ 'ARAN = :ID_ALBARAN)'#10'AND (ALBARANES_CLIENTE_DETALLES.CANTIDAD > 0' +
+ ')'#10'ORDER BY POSICION'#10#10
StatementType = stSQL
ColumnMappings = <
item
@@ -777,25 +777,32 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
DatasetField = 'IMPORTE_TOTAL'
TableField = 'IMPORTE_TOTAL'
end
- item
- DatasetField = 'REFERENCIA'
- TableField = 'REFERENCIA'
- end
- item
- DatasetField = 'FAMILIA'
- TableField = 'FAMILIA'
- end
- item
- DatasetField = 'REFERENCIA_PROVEEDOR'
- TableField = 'REFERENCIA_PROVEEDOR'
- end
item
DatasetField = 'ID_ALBARAN'
TableField = 'ID_ALBARAN'
+ end
+ item
+ DatasetField = 'REFERENCIA'
+ TableField = ''
+ SQLOrigin = 'REFERENCIA'
+ end
+ item
+ DatasetField = 'FECHA_PREVISTA_ENVIO'
+ TableField = ''
+ SQLOrigin = 'FECHA_PREVISTA_ENVIO'
end>
end>
Name = 'Informe_Detalles_Etiquetas'
Fields = <
+ item
+ Name = 'REFERENCIA'
+ DataType = datString
+ Size = 255
+ end
+ item
+ Name = 'FECHA_PREVISTA_ENVIO'
+ DataType = datDateTime
+ end
item
Name = 'ID'
DataType = datInteger
@@ -813,15 +820,10 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
DataType = datString
Size = 10
end
- item
- Name = 'REFERENCIA'
- DataType = datString
- Size = 255
- end
item
Name = 'CONCEPTO'
DataType = datString
- Size = 2000
+ Size = 254
end
item
Name = 'CANTIDAD'
@@ -829,21 +831,11 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
end
item
Name = 'IMPORTE_UNIDAD'
- DataType = datFloat
+ DataType = datCurrency
end
item
Name = 'IMPORTE_TOTAL'
- DataType = datFloat
- end
- item
- Name = 'FAMILIA'
- DataType = datString
- Size = 255
- end
- item
- Name = 'REFERENCIA_PROVEEDOR'
- DataType = datString
- Size = 255
+ DataType = datCurrency
end>
end>
JoinDataTables = <>
@@ -1052,63 +1044,15 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
object frxReport: TfrxReport
Version = '4.3'
DotMatrixReport = False
- EngineOptions.DoublePass = True
IniFile = '\Software\Fast Reports'
PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator, pbExportQuick]
PreviewOptions.Zoom = 1.000000000000000000
- PrintOptions.Printer = 'Por defecto'
+ PrintOptions.Printer = 'Default'
PrintOptions.PrintOnSheet = 0
- ReportOptions.CreateDate = 39065.872423495400000000
- ReportOptions.LastChange = 39532.539373541660000000
+ ReportOptions.CreateDate = 39532.793686689800000000
+ ReportOptions.LastChange = 39532.800402905090000000
ScriptLanguage = 'PascalScript'
ScriptText.Strings = (
- ''
- 'procedure NombreEmpresaOnBeforePrint(Sender: TfrxComponent);'
- 'begin'
- ' NombreEmpresa.Lines.Clear;'
- ' NombreEmpresa.Lines.Add();'
- 'end;'
- ''
- 'procedure TelefonosEmpresaOnBeforePrint(Sender: TfrxComponent);'
- 'var'
- ' Cadena: String;'
- 'begin'
- ' TelefonosEmpresa.Lines.Clear;'
- ''
- ' if ( <> '#39#39') then'
- ' Cadena := '#39'tlf: '#39' + ;'
- ' if ( <> '#39#39') then'
-
- ' Cadena := Cadena + '#39' / fax: '#39' + ;'
- ' TelefonosEmpresa.Lines.Add(Cadena);'
- 'end;'
- ''
- 'procedure DireccionEmpresaOnBeforePrint(Sender: TfrxComponent);'
- 'var'
- ' Cadena: String;'
- 'begin'
- ' DireccionEmpresa.Lines.Clear;'
- ''
- ' if ( <> '#39#39') then'
-
- ' DireccionEmpresa.Lines.Add()' +
- ';'
- ''
- ' if ( <> '#39#39') then'
- ' Cadena := ;'
- ' if ( <> '#39#39') then'
-
- ' Cadena := Cadena + '#39', '#39' + ;'
- ' DireccionEmpresa.Lines.Add(Cadena);'
- ''
- ' if ( <> '#39#39') then'
-
- ' DireccionEmpresa.Lines.Add();'
- 'end;'
- ''
''
'begin'
''
@@ -1156,15 +1100,10 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
DataType = datString
Size = 10
end
- item
- Name = 'REFERENCIA'
- DataType = datString
- Size = 255
- end
item
Name = 'CONCEPTO'
DataType = datString
- Size = 2000
+ Size = 254
end
item
Name = 'CANTIDAD'
@@ -1172,21 +1111,11 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
end
item
Name = 'IMPORTE_UNIDAD'
- DataType = datFloat
+ DataType = datCurrency
end
item
Name = 'IMPORTE_TOTAL'
- DataType = datFloat
- end
- item
- Name = 'FAMILIA'
- DataType = datString
- Size = 255
- end
- item
- Name = 'REFERENCIA_PROVEEDOR'
- DataType = datString
- Size = 255
+ DataType = datCurrency
end>
Params = <
item
@@ -1215,8 +1144,8 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
Top = 72
end
object frxDBEtiquetas: TfrxDBDataset
- UserName = 'frxDBVencimientos'
- CloseDataSource = True
+ UserName = 'frxDBEtiquetas'
+ CloseDataSource = False
DataSource = DADataEtiquetas
Left = 448
Top = 16
diff --git a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas
index 20b710d5..9eab35cc 100644
--- a/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas
+++ b/Source/Modulos/Albaranes de cliente/Reports/uRptAlbaranesCliente_Server.pas
@@ -24,13 +24,13 @@ type
frxChartObject1: TfrxChartObject;
frxDBCabecera: TfrxDBDataset;
frxDBDetalles: TfrxDBDataset;
- schReport: TDASchema;
- DataDictionary: TDADataDictionary;
frxReport: TfrxReport;
Bin2DataStreamer: TDABin2DataStreamer;
tbl_Etiquetas: TDAMemDataTable;
DADataEtiquetas: TDADataSource;
frxDBEtiquetas: TfrxDBDataset;
+ schReport: TDASchema;
+ DataDictionary: TDADataDictionary;
procedure DataModuleCreate(Sender: TObject);
private
FConnection: IDAConnection;
@@ -108,6 +108,26 @@ var
dsDetail: IDADataset;
AStream: TMemoryStream;
begin
+ Result := Binary.Create;
+ FConnection.BeginTransaction;
+
+ try
+ tbl_Etiquetas.ParamByName('ID_ALBARAN').AsInteger := AID;
+ tbl_Etiquetas.Active := True;
+
+ frxReport.LoadFromFile(DarRutaInformes + rptInfEtiquetas, True);
+ if withRefCliente then
+ frxReport.Variables.Variables['withRefCliente'] := 1
+ else
+ frxReport.Variables.Variables['withRefCliente'] := 0;
+ frxReport.PrepareReport(False);
+ frxReport.PreviewPages.SaveToStream(Result);
+
+ finally
+ AStream.Free;
+ FConnection.RollbackTransaction;
+ end;
+
{
AStream := TMemoryStream.Create;
Result := Binary.Create;
diff --git a/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranesCliente.pas b/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranesCliente.pas
index 0ce9cd5f..00c52161 100644
--- a/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranesCliente.pas
+++ b/Source/Modulos/Albaranes de cliente/Views/uEditorAlbaranesCliente.pas
@@ -159,20 +159,8 @@ end;
procedure TfEditorAlbaranesCliente.actGenerarEtiquetasExecute(Sender: TObject);
begin
-AppFactuGES.ShowCapado;
-{
inherited;
- //Miramos si viene de un pedido previo, si no es asi le preguntamos si desea imprimir la referencia del cliente
- if (FAlbaranes.ID_PEDIDO > 0) then
- FController.EtiquetasPreview(FAlbaranes, True)
- else
- begin
- if (Application.MessageBox('¿El albarán seleccionado no está asociado a un pedido por internet, ¿desea imprimir la referencia del cliente para las etiquetas de este albarán?', 'Atención', MB_YESNO) = IDYES) then
- FController.EtiquetasPreview(FAlbaranes, True)
- else
- FController.EtiquetasPreview(FAlbaranes, False);
- end;
-}
+ FController.EtiquetasPreview(FAlbaranes, True);
end;
procedure TfEditorAlbaranesCliente.actGenerarEtiquetasUpdate(Sender: TObject);