Etiquetas nuevas
git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES2/trunk@245 b2cfbe5a-eba1-4a0c-8b32-7feea0a119f2
This commit is contained in:
parent
a80cf72851
commit
8aaaa03bf0
@ -608,7 +608,8 @@ CREATE TABLE CONTACTOS (
|
|||||||
PERSONA_CONTACTO VARCHAR(255),
|
PERSONA_CONTACTO VARCHAR(255),
|
||||||
AGENTE VARCHAR(255) COLLATE ES_ES,
|
AGENTE VARCHAR(255) COLLATE ES_ES,
|
||||||
PAIS VARCHAR(255) COLLATE ES_ES,
|
PAIS VARCHAR(255) COLLATE ES_ES,
|
||||||
IDIOMA_ISO VARCHAR(2) COLLATE ES_ES
|
IDIOMA_ISO VARCHAR(2) COLLATE ES_ES,
|
||||||
|
ELIMINADO TIPO_BOOLEANO DEFAULT 0 NOT NULL
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -5700,6 +5701,32 @@ BEGIN
|
|||||||
SUSPEND;
|
SUSPEND;
|
||||||
END^
|
END^
|
||||||
|
|
||||||
|
|
||||||
|
CREATE PROCEDURE PRO_ETIQUETAS_ALBARAN (
|
||||||
|
aid integer)
|
||||||
|
returns (
|
||||||
|
id integer,
|
||||||
|
id_albaran integer,
|
||||||
|
referencia_albaran varchar(255),
|
||||||
|
fecha_prevista_envio date,
|
||||||
|
referencia_cliente varchar(255),
|
||||||
|
cliente varchar(255),
|
||||||
|
idioma_iso varchar(2),
|
||||||
|
posicion integer,
|
||||||
|
tipo_detalle varchar(25),
|
||||||
|
referencia varchar(255),
|
||||||
|
concepto varchar(2000),
|
||||||
|
cantidad numeric(11,2),
|
||||||
|
importe_unidad numeric(11,2),
|
||||||
|
descuento float,
|
||||||
|
importe_total numeric(11,2),
|
||||||
|
referencia_proveedor varchar(255))
|
||||||
|
as
|
||||||
|
begin
|
||||||
|
SUSPEND;
|
||||||
|
END^
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/**** Stored Procedures ****/
|
/**** Stored Procedures ****/
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
@ -6142,4 +6169,61 @@ begin
|
|||||||
suspend;
|
suspend;
|
||||||
end^
|
end^
|
||||||
|
|
||||||
SET TERM ; ^
|
SET TERM ; ^
|
||||||
|
|
||||||
|
|
||||||
|
ALTER PROCEDURE PRO_ETIQUETAS_ALBARAN (
|
||||||
|
aid integer)
|
||||||
|
returns (
|
||||||
|
id integer,
|
||||||
|
id_albaran integer,
|
||||||
|
referencia_albaran varchar(255),
|
||||||
|
fecha_prevista_envio date,
|
||||||
|
referencia_cliente varchar(255),
|
||||||
|
cliente varchar(255),
|
||||||
|
idioma_iso varchar(2),
|
||||||
|
posicion integer,
|
||||||
|
tipo_detalle varchar(25),
|
||||||
|
referencia varchar(255),
|
||||||
|
concepto varchar(2000),
|
||||||
|
cantidad numeric(11,2),
|
||||||
|
importe_unidad numeric(11,2),
|
||||||
|
descuento float,
|
||||||
|
importe_total numeric(11,2),
|
||||||
|
referencia_proveedor varchar(255))
|
||||||
|
as
|
||||||
|
begin
|
||||||
|
for SELECT DET.ID, DET.CANTIDAD
|
||||||
|
FROM ALBARANES_CLIENTE_DETALLES DET
|
||||||
|
WHERE (DET.CANTIDAD IS NOT NULL)
|
||||||
|
AND DET.ID_ALBARAN = :AID
|
||||||
|
ORDER BY DET.ID_ALBARAN, DET.POSICION
|
||||||
|
into :ID, :CANTIDAD
|
||||||
|
do
|
||||||
|
while (CANTIDAD > 0)
|
||||||
|
do begin
|
||||||
|
|
||||||
|
SELECT DET.ID, DET.ID_ALBARAN, ALBARANES_CLIENTE.REFERENCIA, ALBARANES_CLIENTE.FECHA_PREVISTA_ENVIO,
|
||||||
|
ALBARANES_CLIENTE.REFERENCIA_CLIENTE, CON.NOMBRE, CON.IDIOMA_ISO,
|
||||||
|
DET.POSICION, DET.TIPO_DETALLE,
|
||||||
|
ARTICULOS.REFERENCIA, F_RTFTOTEXT(DET.CONCEPTO) as CONCEPTO,
|
||||||
|
DET.IMPORTE_UNIDAD,
|
||||||
|
DET.DESCUENTO,
|
||||||
|
DET.IMPORTE_TOTAL,
|
||||||
|
ARTICULOS.REFERENCIA_PROV as REFERENCIA_PROVEEDOR
|
||||||
|
FROM ALBARANES_CLIENTE_DETALLES DET
|
||||||
|
LEFT OUTER JOIN ALBARANES_CLIENTE ON (DET.ID_ALBARAN = ALBARANES_CLIENTE.ID)
|
||||||
|
LEFT OUTER JOIN CONTACTOS CON ON (ALBARANES_CLIENTE.ID_CLIENTE = CON.ID)
|
||||||
|
LEFT OUTER JOIN ARTICULOS ON (DET.ID_ARTICULO = ARTICULOS.ID)
|
||||||
|
WHERE (DET.CANTIDAD IS NOT NULL)
|
||||||
|
AND DET.ID = :ID
|
||||||
|
ORDER BY DET.ID_ALBARAN, DET.POSICION
|
||||||
|
into :ID, :ID_ALBARAN, :REFERENCIA_ALBARAN, :FECHA_PREVISTA_ENVIO, :REFERENCIA_CLIENTE,
|
||||||
|
:CLIENTE, :IDIOMA_ISO, :POSICION, :TIPO_DETALLE, :REFERENCIA, :CONCEPTO, :IMPORTE_UNIDAD, :DESCUENTO,
|
||||||
|
:IMPORTE_TOTAL, REFERENCIA_PROVEEDOR;
|
||||||
|
suspend;
|
||||||
|
CANTIDAD = CANTIDAD - 1;
|
||||||
|
end
|
||||||
|
end^
|
||||||
|
|
||||||
|
SET TERM ; ^
|
||||||
|
|||||||
BIN
Resources/logotipo-etiquetas-1.jpg
Normal file
BIN
Resources/logotipo-etiquetas-1.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 55 KiB |
BIN
Resources/logotipo-etiquetas-2.jpg
Normal file
BIN
Resources/logotipo-etiquetas-2.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
File diff suppressed because one or more lines are too long
@ -2512,12 +2512,16 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
|
|||||||
end>
|
end>
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Params = <>
|
Params = <
|
||||||
|
item
|
||||||
|
Name = 'ID_ALBARAN'
|
||||||
|
Value = ''
|
||||||
|
end>
|
||||||
Statements = <
|
Statements = <
|
||||||
item
|
item
|
||||||
Connection = 'IBX'
|
Connection = 'IBX'
|
||||||
TargetTable = 'V_ETIQUETAS_ART_ALB'
|
SQL = 'select *'#10'from PRO_ETIQUETAS_ALBARAN(:ID_ALBARAN)'#10
|
||||||
StatementType = stAutoSQL
|
StatementType = stSQL
|
||||||
ColumnMappings = <
|
ColumnMappings = <
|
||||||
item
|
item
|
||||||
DatasetField = 'ID'
|
DatasetField = 'ID'
|
||||||
@ -2574,6 +2578,14 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
|
|||||||
item
|
item
|
||||||
DatasetField = 'REFERENCIA_PROVEEDOR'
|
DatasetField = 'REFERENCIA_PROVEEDOR'
|
||||||
TableField = 'REFERENCIA_PROVEEDOR'
|
TableField = 'REFERENCIA_PROVEEDOR'
|
||||||
|
end
|
||||||
|
item
|
||||||
|
DatasetField = 'CLIENTE'
|
||||||
|
TableField = 'CLIENTE'
|
||||||
|
end
|
||||||
|
item
|
||||||
|
DatasetField = 'IDIOMA_ISO'
|
||||||
|
TableField = 'IDIOMA_ISO'
|
||||||
end>
|
end>
|
||||||
end>
|
end>
|
||||||
Name = 'Informe_Etiquetas_Articulos_Albaranes'
|
Name = 'Informe_Etiquetas_Articulos_Albaranes'
|
||||||
@ -2600,6 +2612,16 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
|
|||||||
DataType = datString
|
DataType = datString
|
||||||
Size = 255
|
Size = 255
|
||||||
end
|
end
|
||||||
|
item
|
||||||
|
Name = 'CLIENTE'
|
||||||
|
DataType = datString
|
||||||
|
Size = 255
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Name = 'IDIOMA_ISO'
|
||||||
|
DataType = datString
|
||||||
|
Size = 2
|
||||||
|
end
|
||||||
item
|
item
|
||||||
Name = 'POSICION'
|
Name = 'POSICION'
|
||||||
DataType = datInteger
|
DataType = datInteger
|
||||||
@ -2617,7 +2639,7 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
|
|||||||
item
|
item
|
||||||
Name = 'CONCEPTO'
|
Name = 'CONCEPTO'
|
||||||
DataType = datString
|
DataType = datString
|
||||||
Size = 32765
|
Size = 2000
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Name = 'CANTIDAD'
|
Name = 'CANTIDAD'
|
||||||
@ -2653,29 +2675,61 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
|
|||||||
object frxReport: TfrxReport
|
object frxReport: TfrxReport
|
||||||
Version = '4.7.71'
|
Version = '4.7.71'
|
||||||
DotMatrixReport = False
|
DotMatrixReport = False
|
||||||
EngineOptions.DoublePass = True
|
|
||||||
IniFile = '\Software\Fast Reports'
|
IniFile = '\Software\Fast Reports'
|
||||||
PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator, pbExportQuick]
|
PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator, pbExportQuick]
|
||||||
PreviewOptions.Zoom = 1.000000000000000000
|
PreviewOptions.Zoom = 1.000000000000000000
|
||||||
PrintOptions.Printer = 'Por defecto'
|
PrintOptions.Printer = 'Por defecto'
|
||||||
PrintOptions.PrintOnSheet = 0
|
PrintOptions.PrintOnSheet = 0
|
||||||
ReportOptions.CreateDate = 37800.807714351900000000
|
ReportOptions.CreateDate = 38330.712904247700000000
|
||||||
ReportOptions.LastChange = 42284.683293877320000000
|
ReportOptions.LastChange = 42355.744001898150000000
|
||||||
ScriptLanguage = 'PascalScript'
|
ScriptLanguage = 'PascalScript'
|
||||||
ScriptText.Strings = (
|
ScriptText.Strings = (
|
||||||
'procedure mContinuaOnBeforePrint(Sender: TfrxComponent);'
|
'procedure Memo2OnBeforePrint(Sender: TfrxComponent);'
|
||||||
|
'var'
|
||||||
|
' Cadena: String;'
|
||||||
'begin'
|
'begin'
|
||||||
' if Engine.FinalPass then'
|
'{ Memo2.Lines.Clear;'
|
||||||
' begin'
|
''
|
||||||
' if (<Page#> = <TotalPages#>) then'
|
' Cadena :='#39'N'#186' albar'#225'n: '#39'; '
|
||||||
' begin '
|
' Cadena := Cadena + <frxDBEtiquetas."REFERENCIA_ALBARAN">;'
|
||||||
' mContinua.Visible := False;'
|
' Memo2.Lines.Add(Cadena);'
|
||||||
' end '
|
' '
|
||||||
' else'
|
' if (<frxDBEtiquetas."REFERENCIA_CLIENTE"> <> '#39#39') then'
|
||||||
' begin '
|
' begin '
|
||||||
' mContinua.Visible := True;'
|
' Cadena := '#39'Ref. cliente: '#39';'
|
||||||
' end '
|
' Cadena := Cadena + <frxDBEtiquetas."REFERENCIA_CLIENTE">;'
|
||||||
' end; '
|
' Memo2.Lines.Add(Cadena); '
|
||||||
|
' end; '
|
||||||
|
''
|
||||||
|
' if (<frxDBEtiquetas."REFERENCIA"> <> '#39#39') then'
|
||||||
|
' begin '
|
||||||
|
' Cadena := '#39'Ref. art'#237'culo: '#39';'
|
||||||
|
' Cadena := Cadena + <frxDBEtiquetas."REFERENCIA">;'
|
||||||
|
' Memo2.Lines.Add(Cadena); '
|
||||||
|
' end;'
|
||||||
|
''
|
||||||
|
' if (<frxDBEtiquetas."CONCEPTO"> <> '#39#39') then'
|
||||||
|
' begin '
|
||||||
|
' Cadena := '#39'Art'#237'culo: '#39';'
|
||||||
|
' Cadena := Cadena + UPPERCASE(<frxDBEtiquetas."CONCEPTO">);'
|
||||||
|
' Memo2.Lines.Add(Cadena); '
|
||||||
|
' end;'
|
||||||
|
'} '
|
||||||
|
'end;'
|
||||||
|
''
|
||||||
|
'procedure Memo9OnBeforePrint(Sender: TfrxComponent);'
|
||||||
|
'begin'
|
||||||
|
' if (<frxDBEtiquetas."FECHA_PREVISTA_ENVIO"> <> 0) then'
|
||||||
|
' begin '
|
||||||
|
' memo3.visible := True; '
|
||||||
|
' memo9.visible := True; '
|
||||||
|
' end'
|
||||||
|
' else '
|
||||||
|
' begin '
|
||||||
|
' memo3.visible := False; '
|
||||||
|
' memo9.visible := False; '
|
||||||
|
' end; '
|
||||||
|
' '
|
||||||
'end;'
|
'end;'
|
||||||
''
|
''
|
||||||
'begin'
|
'begin'
|
||||||
@ -2684,7 +2738,6 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
|
|||||||
ShowProgress = False
|
ShowProgress = False
|
||||||
StoreInDFM = False
|
StoreInDFM = False
|
||||||
OnGetValue = frxReportGetValue
|
OnGetValue = frxReportGetValue
|
||||||
OnStartReport = 'frxReportOnStartReport'
|
|
||||||
Left = 145
|
Left = 145
|
||||||
Top = 16
|
Top = 16
|
||||||
end
|
end
|
||||||
@ -4207,6 +4260,16 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
|
|||||||
DataType = datString
|
DataType = datString
|
||||||
Size = 255
|
Size = 255
|
||||||
end
|
end
|
||||||
|
item
|
||||||
|
Name = 'CLIENTE'
|
||||||
|
DataType = datString
|
||||||
|
Size = 255
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Name = 'IDIOMA_ISO'
|
||||||
|
DataType = datString
|
||||||
|
Size = 2
|
||||||
|
end
|
||||||
item
|
item
|
||||||
Name = 'POSICION'
|
Name = 'POSICION'
|
||||||
DataType = datInteger
|
DataType = datInteger
|
||||||
@ -4224,7 +4287,7 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
|
|||||||
item
|
item
|
||||||
Name = 'CONCEPTO'
|
Name = 'CONCEPTO'
|
||||||
DataType = datString
|
DataType = datString
|
||||||
Size = 32765
|
Size = 2000
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Name = 'CANTIDAD'
|
Name = 'CANTIDAD'
|
||||||
@ -4247,7 +4310,11 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
|
|||||||
DataType = datString
|
DataType = datString
|
||||||
Size = 255
|
Size = 255
|
||||||
end>
|
end>
|
||||||
Params = <>
|
Params = <
|
||||||
|
item
|
||||||
|
Name = 'ID_ALBARAN'
|
||||||
|
Value = ''
|
||||||
|
end>
|
||||||
MasterParamsMappings.Strings = (
|
MasterParamsMappings.Strings = (
|
||||||
'ID_ALBARAN=ID')
|
'ID_ALBARAN=ID')
|
||||||
LogChanges = False
|
LogChanges = False
|
||||||
|
|||||||
@ -106,6 +106,8 @@ type
|
|||||||
|
|
||||||
//Genera cada uno de los albaranes a imprimir
|
//Genera cada uno de los albaranes a imprimir
|
||||||
procedure _GenerarAlbaran(const AID: Integer);
|
procedure _GenerarAlbaran(const AID: Integer);
|
||||||
|
//Genera las etiquetas de cada uno de los albaranes a imprimir
|
||||||
|
procedure _GenerarEtiquetasAlbaran(const AID: Integer);
|
||||||
|
|
||||||
procedure PrepararTablaInformeGrafComp(ATabla: TDAMemDataTable);
|
procedure PrepararTablaInformeGrafComp(ATabla: TDAMemDataTable);
|
||||||
procedure PrepararTablaResumenInformeGrafComp(ATabla: IDADataset);
|
procedure PrepararTablaResumenInformeGrafComp(ATabla: IDADataset);
|
||||||
@ -258,48 +260,39 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TRptAlbaranesCliente._GenerarEtiquetasAlbaran(const AID: Integer);
|
||||||
|
var
|
||||||
|
AInforme: Variant;
|
||||||
|
|
||||||
|
begin
|
||||||
|
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
|
||||||
|
try
|
||||||
|
tbl_Etiquetas.Active := False;
|
||||||
|
tbl_Etiquetas.ParamByName('ID_ALBARAN').AsInteger := AID;
|
||||||
|
tbl_Etiquetas.Active := True;
|
||||||
|
|
||||||
|
AInforme := DarRutaFichero(DarRutaInformes, rptInfEtiquetas, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString, tbl_Cabecera.FieldByName('IDIOMA_ISO').AsString);
|
||||||
|
if VarIsNull(AInforme) then
|
||||||
|
raise Exception.Create (('Error Servidor: _GenerarEtiquetasAlbaran, no encuentra informe ' + rptInfEtiquetas));
|
||||||
|
|
||||||
|
frxReport.LoadFromFile(AInforme, True);
|
||||||
|
frxReport.PrepareReport(False);
|
||||||
|
finally
|
||||||
|
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
function TRptAlbaranesCliente.GenerarEtiquetas(const ListaID: TIntegerArray): Binary;
|
function TRptAlbaranesCliente.GenerarEtiquetas(const ListaID: TIntegerArray): Binary;
|
||||||
var
|
var
|
||||||
i: Integer;
|
i: Integer;
|
||||||
AInforme: Variant;
|
|
||||||
Condicion: TDAWhereExpression;
|
|
||||||
AArray : Array of TDAWhereExpression;
|
|
||||||
|
|
||||||
begin
|
begin
|
||||||
Result := Binary.Create;
|
Result := Binary.Create;
|
||||||
|
|
||||||
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
|
|
||||||
try
|
try
|
||||||
|
|
||||||
with tbl_Etiquetas.DynamicWhere do
|
|
||||||
begin
|
|
||||||
|
|
||||||
//Vamos generando todos y cada uno de los albaranes recibidos
|
//Vamos generando todos y cada uno de los albaranes recibidos
|
||||||
SetLength(AArray, ListaID.Count);
|
|
||||||
for i := 0 to ListaID.Count - 1 do
|
for i := 0 to ListaID.Count - 1 do
|
||||||
AArray[i] := NewConstant(ListaID.Items[i], datInteger);
|
_GenerarEtiquetasAlbaran(ListaID.Items[i]);
|
||||||
|
|
||||||
// (ID_ALBARANES IN ...)
|
|
||||||
Condicion := NewBinaryExpression(NewField('', fld_AlbaranesCliente_DetallesID_ALBARAN), NewList(AArray), dboIn);
|
|
||||||
if IsEmpty then
|
|
||||||
Expression := Condicion
|
|
||||||
else
|
|
||||||
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
|
|
||||||
end;
|
|
||||||
|
|
||||||
tbl_Etiquetas.Active := False;
|
|
||||||
tbl_Etiquetas.Active := True;
|
|
||||||
|
|
||||||
AInforme := DarRutaFichero(DarRutaInformes, rptInfEtiquetas);
|
|
||||||
if VarIsNull(AInforme) then
|
|
||||||
raise Exception.Create (('Error Servidor: GenerarEtiquetas, no encuentra informe ' + rptInforme));
|
|
||||||
|
|
||||||
frxReport.LoadFromFile(AInforme, True);
|
|
||||||
|
|
||||||
frxReport.PrepareReport(False);
|
|
||||||
frxReport.PreviewPages.SaveToStream(Result);
|
frxReport.PreviewPages.SaveToStream(Result);
|
||||||
finally
|
finally
|
||||||
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user