This commit is contained in:
roberto 2007-09-04 17:31:56 +00:00
parent 2ac1d5ccb7
commit 0dc06b37b1
4 changed files with 1826 additions and 0 deletions

View File

@ -0,0 +1,591 @@
object RptEtiquetasContacto: TRptEtiquetasContacto
OldCreateOrder = True
OnCreate = DataModuleCreate
Height = 405
Width = 447
object DADataCabecera: TDADataSource
DataTable = tbl_Contactos
Left = 264
Top = 72
end
object tbl_Contactos: TDACDSDataTable
RemoteUpdatesOptions = []
Fields = <>
Params = <>
MasterMappingMode = mmDataRequest
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
SchemaCall.Params = <>
DataRequestCall.Params = <>
DataUpdateCall.Params = <>
ScriptCall.Params = <>
ReadOnly = False
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
IndexDefs = <>
Left = 264
Top = 128
end
object DABINAdapter: TDABINAdapter
Left = 48
Top = 80
end
object frxRichObject1: TfrxRichObject
Left = 48
Top = 296
end
object frxBarCodeObject1: TfrxBarCodeObject
Left = 144
Top = 296
end
object frxOLEObject1: TfrxOLEObject
Left = 48
Top = 344
end
object frxCrossObject1: TfrxCrossObject
Left = 144
Top = 344
end
object frxCheckBoxObject1: TfrxCheckBoxObject
Left = 256
Top = 296
end
object frxGradientObject1: TfrxGradientObject
Left = 360
Top = 296
end
object frxChartObject1: TfrxChartObject
Left = 256
Top = 344
end
object schReport: TDASchema
ConnectionManager = dmServer.ConnectionManager
DataDictionary = DataDictionary
Datasets = <
item
Params = <>
Statements = <
item
Connection = 'IBX'
TargetTable = 'V_CONTACTOS'
SQL =
'select'#10' ID,'#10' NIF_CIF,'#10' NOMBRE,'#10' PERSONA_CONTACTO,'#10' ' +
' CALLE,'#10' POBLACION,'#10' PROVINCIA,'#10' CODIGO_POSTAL'#10'from CO' +
'NTACTOS'
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'NIF_CIF'
TableField = 'NIF_CIF'
end
item
DatasetField = 'NOMBRE'
TableField = 'NOMBRE'
end
item
DatasetField = 'PERSONA_CONTACTO'
TableField = 'PERSONA_CONTACTO'
end
item
DatasetField = 'CALLE'
TableField = 'CALLE'
end
item
DatasetField = 'POBLACION'
TableField = 'POBLACION'
end
item
DatasetField = 'PROVINCIA'
TableField = 'PROVINCIA'
end
item
DatasetField = 'CODIGO_POSTAL'
TableField = 'CODIGO_POSTAL'
end>
end>
Name = 'InformeEtiquetasContacto'
Fields = <
item
Name = 'ID'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'NIF_CIF'
DataType = datString
Size = 15
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'CALLE'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'PROVINCIA'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end>
BusinessRulesClient.ScriptLanguage = rslPascalScript
BusinessRulesServer.ScriptLanguage = rslPascalScript
end>
Commands = <>
RelationShips = <>
UpdateRules = <>
Left = 48
Top = 16
end
object DataDictionary: TDADataDictionary
Fields = <
item
Name = 'FacturasCliente_ID'
DataType = datAutoInc
BlobType = dabtUnknown
Required = True
DisplayWidth = 0
DisplayLabel = 'ID'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_ID_EMPRESA'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'ID_EMPRESA'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_ID_CONTRATO'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'ID_CONTRATO'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_FECHA_FACTURA'
DataType = datDateTime
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Fecha de las factura'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_VENCIMIENTO'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Vencimiento'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_SITUACION'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Situaci'#243'n'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_BASE_IMPONIBLE'
DataType = datFloat
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Base imponible'
Alignment = taRightJustify
end
item
Name = 'FacturasCliente_IMPORTE_DESCUENTO'
DataType = datFloat
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Importe dto.'
Alignment = taRightJustify
end
item
Name = 'FacturasCliente_IMPORTE_IVA'
DataType = datFloat
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Importe IVA'
Alignment = taRightJustify
end
item
Name = 'FacturasCliente_IMPORTE_TOTAL'
DataType = datFloat
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Importe total'
Alignment = taRightJustify
end
item
Name = 'FacturasCliente_FORMA_PAGO'
DataType = datMemo
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Forma de pago'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_ID_CLIENTE'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'ID_CLIENTE'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_NIF_CIF'
DataType = datString
Size = 15
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'NIF/CIF'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_CODIGO_POSTAL'
DataType = datString
Size = 10
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'C'#243'd. postal'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_FECHA_ALTA'
DataType = datDateTime
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'FECHA_ALTA'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_FECHA_MODIFICACION'
DataType = datDateTime
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'FECHA_MODIFICACION'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_OBSERVACIONES'
DataType = datMemo
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Observaciones'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_NOMBRE'
DataType = datString
Size = 100
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Cliente'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_CALLE'
DataType = datString
Size = 150
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Direcci'#243'n'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_PROVINCIA'
DataType = datString
Size = 30
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Provincia'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_POBLACION'
DataType = datString
Size = 150
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Poblaci'#243'n'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_IVA'
DataType = datFloat
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'IVA'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_USUARIO'
DataType = datString
Size = 100
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'USUARIO'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_REFERENCIA'
DataType = datString
Size = 20
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Referencia'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_DESCUENTO'
DataType = datFloat
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Dto.'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_Detalles_ID'
DataType = datAutoInc
BlobType = dabtUnknown
Required = True
DisplayWidth = 0
DisplayLabel = 'ID'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_Detalles_ID_FACTURA'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'ID_FACTURA'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_Detalles_TIPO_DETALLE'
DataType = datString
Size = 10
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Tipo detalle'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_Detalles_CONCEPTO'
DataType = datString
Size = 2000
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Concepto'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_Detalles_IMPORTE_UNIDAD'
DataType = datFloat
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Importe unidad'
Alignment = taRightJustify
end
item
Name = 'FacturasCliente_Detalles_IMPORTE_TOTAL'
DataType = datFloat
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Importe total'
Alignment = taRightJustify
end
item
Name = 'FacturasCliente_Detalles_VISIBLE'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = #191'Visible?'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_Detalles_POSICION'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Posici'#243'n'
Alignment = taLeftJustify
end
item
Name = 'FacturasCliente_Detalles_CANTIDAD'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
DisplayLabel = 'Cantidad'
Alignment = taLeftJustify
end>
Left = 46
Top = 158
end
object frxReport: TfrxReport
Version = '3.23.7'
DotMatrixReport = False
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'
ReportOptions.CreateDate = 38330.712904247710000000
ReportOptions.LastChange = 39328.775946539350000000
ScriptLanguage = 'PascalScript'
ScriptText.Strings = (
'procedure Memo2OnBeforePrint(Sender: TfrxComponent);'
'var'
' Cadena: String;'
'begin'
' Cadena := '#39#39';'
''
' if (<frxDBCabecera."NOMBRE"> <> '#39#39') then'
' Cadena := UPPERCASE(<frxDBCabecera."NOMBRE">);'
''
' Memo2.Lines.Clear;'
' Memo2.Lines.Add(Cadena);'
''
' if (<frxDBCabecera."CALLE"> <> '#39#39') then'
' Cadena := UPPERCASE(<frxDBCabecera."CALLE">);'
' Memo2.Lines.Add(Cadena);'
''
' Cadena := '#39#39';'
' if (<frxDBCabecera."CODIGO_POSTAL"> <> '#39#39') then'
' Cadena := UPPERCASE(<frxDBCabecera."CODIGO_POSTAL">);'
''
' if (<frxDBCabecera."POBLACION"> <> '#39#39') then'
' if (Cadena <> '#39#39') then'
' Cadena := Cadena + '#39' '#39' + UPPERCASE(<frxDBCabecera."POBL' +
'ACION">);'
''
' if (<frxDBCabecera."PROVINCIA"> <> '#39#39')'
' and (<frxDBCabecera."POBLACION"> <> <frxDBCabecera."PROVINCIA"' +
'>) then'
' begin'
' if (<frxDBCabecera."POBLACION"> <> '#39#39') then'
' Cadena := Cadena + '#39' ('#39' + UPPERCASE(<frxDBCabecera."PRO' +
'VINCIA">) + '#39')'#39
' else'
' Cadena := Cadena + '#39' '#39' + UPPERCASE(<frxDBCabecera."PROV' +
'INCIA">);'
' end;'
' Memo2.Lines.Add(Cadena);'
''
' Cadena := '#39#39';'
' Memo2.Lines.Add(Cadena);'
' if (<frxDBCabecera."PERSONA_CONTACTO"> <> '#39#39') then'
' Cadena := '#39'ATT. '#39' + UPPERCASE(<frxDBCabecera."PERSONA_CONTA' +
'CTO">);'
' Memo2.Lines.Add(Cadena);'
'end;'
''
'begin'
''
'end.')
ShowProgress = False
StoreInDFM = False
Left = 169
Top = 16
Datasets = <
item
DataSet = frxDBCabecera
DataSetName = 'frxDBCabecera'
end>
Variables = <>
Style = <>
end
object frxDBCabecera: TfrxDBDataset
UserName = 'frxDBCabecera'
CloseDataSource = True
DataSource = DADataCabecera
Left = 264
Top = 16
end
end

View File

@ -0,0 +1,92 @@
unit uRptEtiquetasContacto_Server;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, frxClass, frxDBSet, uDAScriptingProvider,
uDADataTable, uDACDSDataTable, DB, uDAClasses, frxChart, frxGradient,
frxChBox, frxCross, frxOLE, frxBarcode, frxRich, uDABINAdapter, uROTypes,
uDAInterfaces;
type
TRptEtiquetasContacto = class(TDataModule)
DADataCabecera: TDADataSource;
tbl_Contactos: TDACDSDataTable;
DABINAdapter: TDABINAdapter;
frxRichObject1: TfrxRichObject;
frxBarCodeObject1: TfrxBarCodeObject;
frxOLEObject1: TfrxOLEObject;
frxCrossObject1: TfrxCrossObject;
frxCheckBoxObject1: TfrxCheckBoxObject;
frxGradientObject1: TfrxGradientObject;
frxChartObject1: TfrxChartObject;
frxDBCabecera: TfrxDBDataset;
frxReport: TfrxReport;
schReport: TDASchema;
DataDictionary: TDADataDictionary;
procedure DataModuleCreate(Sender: TObject);
private
FConnection: IDAConnection;
public
function GenerarInforme(const AID : String): Binary; overload;
end;
implementation
{$R *.dfm}
uses
uDataModuleServer, schContactosClient_Intf;
const
rptEtiquetasContacto = 'InfEtiquetasContacto.fr3';
{ Dataset names for schReport }
ds_InformeContactos = 'InformeEtiquetasContacto';
{ TRptEtiquetasContacto }
procedure TRptEtiquetasContacto.DataModuleCreate(Sender: TObject);
begin
schReport.ConnectionManager := dmServer.ConnectionManager;
FConnection := dmServer.DarNuevaConexion;
frxReport.EngineOptions.NewSilentMode := simReThrow;
end;
function TRptEtiquetasContacto.GenerarInforme(const AID: String): Binary;
var
AStream: TMemoryStream;
dsMaster: IDADataset;
begin
Result := Binary.Create;
FConnection.BeginTransaction;
try
AStream := TMemoryStream.Create;
dsMaster := schReport.NewDataset(FConnection, ds_InformeContactos, [], [], False); //, ['ID'], ['611, 751']); //AID]);
dsMaster.Where.AddText(fld_ContactosID + ' in (' + AID + ')');
dsMaster.Open;
AStream.Clear;
DABINAdapter.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1);
DABINAdapter.ReadDataset(AStream, tbl_Contactos, TRUE, '', TRUE, TRUE);
frxReport.LoadFromFile(DarRutaInformes + rptEtiquetasContacto, True);
frxReport.PrepareReport(True);
frxReport.PreviewPages.SaveToStream(Result);
finally
AStream.Free;
dsMaster := Nil;
FConnection.RollbackTransaction;
end;
end;
end.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,108 @@
unit uRptFichasEmpleado_Server;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, frxClass, frxDBSet, uDAScriptingProvider,
uDADataTable, uDACDSDataTable, DB, uDAClasses, frxChart, frxGradient,
frxChBox, frxCross, frxOLE, frxBarcode, frxRich, uDABINAdapter, uROTypes,
uDAInterfaces;
type
TRptFichasEmpleado = class(TDataModule)
DADataCabecera: TDADataSource;
tbl_FichaEmpleado: TDACDSDataTable;
DABINAdapter: TDABINAdapter;
frxRichObject1: TfrxRichObject;
frxBarCodeObject1: TfrxBarCodeObject;
frxOLEObject1: TfrxOLEObject;
frxCrossObject1: TfrxCrossObject;
frxCheckBoxObject1: TfrxCheckBoxObject;
frxGradientObject1: TfrxGradientObject;
frxChartObject1: TfrxChartObject;
frxDBCabecera: TfrxDBDataset;
frxReport: TfrxReport;
schReport: TDASchema;
DataDictionary: TDADataDictionary;
procedure DataModuleCreate(Sender: TObject);
private
FConnection: IDAConnection;
//Genera cada uno de los albaranes a imprimir
procedure GenerarFicha(const ID: integer); overload;
public
function GenerarFicha(const AFichaID : String): Binary; overload;
end;
implementation
{$R *.dfm}
uses
uDataModuleServer, schContactosClient_Intf;
const
rptFichaEmpleado = 'InfFichaEmpleado.fr3';
{ Dataset names for schReport }
ds_InformeFichaEmpleado = 'InformeFichasEmpleado';
{ TRptFichaEmpleado }
procedure TRptFichasEmpleado.DataModuleCreate(Sender: TObject);
begin
schReport.ConnectionManager := dmServer.ConnectionManager;
FConnection := dmServer.DarNuevaConexion;
frxReport.EngineOptions.NewSilentMode := simReThrow;
end;
function TRptFichasEmpleado.GenerarFicha(const AFichaID: String): Binary;
var
ID_Fichas: TStringList;
i: Integer;
begin
Result := Binary.Create;
FConnection.BeginTransaction;
try
ID_Fichas := TStringList.Create;
ID_Fichas.CommaText := AFichaID;
//Vamos generando todos y cada uno de las fichas de empleado
for i := 0 to ID_Fichas.Count - 1 do
GenerarFicha(StrToInt(ID_Fichas.Strings[i]));
frxReport.PreviewPages.SaveToStream(Result);
finally
FConnection.RollbackTransaction;
end;
end;
procedure TRptFichasEmpleado.GenerarFicha(const ID: integer);
var
AStream: TMemoryStream;
dsMaster: IDADataset;
begin
AStream := TMemoryStream.Create;
try
dsMaster := schReport.NewDataset(FConnection, ds_InformeFichaEmpleado, ['ID'], [ID]);
AStream.Clear;
DABINAdapter.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1);
DABINAdapter.ReadDataset(AStream, tbl_FichaEmpleado, TRUE, '', TRUE, TRUE);
frxReport.LoadFromFile(DarRutaInformes + rptFichaEmpleado, True);
frxReport.PrepareReport(False);
finally
AStream.Free;
dsMaster := Nil;
end;
end;
end.