Se adapta para que se puedan imprimir facturas con formato bcoaching

git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES/trunk@327 c93665c3-c93d-084d-9b98-7d5f4a9c3376
This commit is contained in:
roberto 2010-03-22 12:14:47 +00:00
parent 773bb811d3
commit fde328f775
17 changed files with 260 additions and 154 deletions

View File

@ -61,8 +61,15 @@ inherited frViewGrid: TfrViewGrid
Width = 554 Width = 554
Height = 102 Height = 102
Align = alTop Align = alTop
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 1 TabOrder = 1
Visible = False Visible = False
ReadOnly = False
ExplicitWidth = 554 ExplicitWidth = 554
inherited TBXDockablePanel1: TTBXDockablePanel inherited TBXDockablePanel1: TTBXDockablePanel
ExplicitWidth = 554 ExplicitWidth = 554
@ -107,6 +114,7 @@ inherited frViewGrid: TfrViewGrid
SupportedDocks = [dkStandardDock, dkMultiDock] SupportedDocks = [dkStandardDock, dkMultiDock]
TabOrder = 2 TabOrder = 2
Visible = False Visible = False
ExplicitWidth = 128
object TBXAlignmentPanel1: TTBXAlignmentPanel object TBXAlignmentPanel1: TTBXAlignmentPanel
Left = 0 Left = 0
Top = 0 Top = 0
@ -154,7 +162,7 @@ inherited frViewGrid: TfrViewGrid
PrinterPage.ScaleMode = smFit PrinterPage.ScaleMode = smFit
PrinterPage._dxMeasurementUnits_ = 0 PrinterPage._dxMeasurementUnits_ = 0
PrinterPage._dxLastMU_ = 2 PrinterPage._dxLastMU_ = 2
ReportDocument.CreationDate = 39738.576001226850000000 ReportDocument.CreationDate = 40259.515870208340000000
StyleManager = dxPrintStyleManager1 StyleManager = dxPrintStyleManager1
OptionsCards.Shadow.Depth = 0 OptionsCards.Shadow.Depth = 0
OptionsExpanding.ExpandGroupRows = True OptionsExpanding.ExpandGroupRows = True

View File

@ -21,7 +21,7 @@ uses
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGrid6Lnk, dxPrnDlg, dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGrid6Lnk, dxPrnDlg,
cxIntlPrintSys3, dxPSPrvwAdv, uViewGridBase, cxGridCustomPopupMenu, cxIntlPrintSys3, dxPSPrvwAdv, uViewGridBase, cxGridCustomPopupMenu,
cxGridPopupMenu, uViewFiltroBase, ComCtrls, cxPC, ImgList, PngImageList, cxGridPopupMenu, uViewFiltroBase, ComCtrls, cxPC, ImgList, PngImageList,
TB2Item, TBX, TB2Dock, TB2Toolbar, TBXDkPanels, dxPgsDlg; TB2Item, TBX, TB2Dock, TB2Toolbar, TBXDkPanels, dxPgsDlg, uCustomView;
type type
IViewGrid = interface(IViewGridBase) IViewGrid = interface(IViewGridBase)

File diff suppressed because one or more lines are too long

View File

@ -1141,7 +1141,6 @@ procedure TFacturasClienteController.Preview(AFactura: IBizFacturaCliente; AllIt
var var
AReportController : IFacturasClienteReportController; AReportController : IFacturasClienteReportController;
ID_Facturas: TIntegerList; ID_Facturas: TIntegerList;
begin begin
AReportController := TFacturasClienteReportController.Create; AReportController := TFacturasClienteReportController.Create;
try try
@ -1164,7 +1163,7 @@ begin
else else
ID_Facturas.Add(AFactura.ID); ID_Facturas.Add(AFactura.ID);
AReportController.Preview(ID_Facturas); AReportController.Preview(ID_Facturas);
finally finally
AReportController := NIL; AReportController := NIL;
FreeANDNIL(ID_Facturas) FreeANDNIL(ID_Facturas)

View File

@ -88,6 +88,7 @@ procedure TFacturasClienteReportController.Preview(
var var
AStream: Binary; AStream: Binary;
AEditor : IEditorFacturasClientePreview; AEditor : IEditorFacturasClientePreview;
begin begin
AEditor := NIL; AEditor := NIL;
ShowHourglassCursor; ShowHourglassCursor;

View File

@ -47,8 +47,8 @@ implementation
{$R *.DFM} {$R *.DFM}
uses uses
FactuGES_Intf, uDataModuleConexion, uDataTableUtils, cxControls, uDAInterfaces, Forms, Windows, FactuGES_Intf, uDataModuleConexion, uDataTableUtils, cxControls,
schFacturasClienteClient_Intf, uBizContactos; uDAInterfaces, schFacturasClienteClient_Intf, uBizContactos;
{ TdmPresupuestos } { TdmPresupuestos }
@ -75,11 +75,17 @@ function TDataModuleFacturasCliente.GetRptPDFFacturas(
const AID: Integer; const ShowLogotipo: Boolean = False): Binary; const AID: Integer; const ShowLogotipo: Boolean = False): Binary;
var var
AParam : TIntegerArray; AParam : TIntegerArray;
Tipo: Integer;
begin begin
//Si dice que no se imprimirá la factura como becoaching
Tipo := 1;
if (Application.MessageBox('¿Desea imprimir las facturas/abonos de cliente seleccionados, con el modelo por defecto?', 'Atención', MB_YESNO) = IDNO) then
Tipo := 2;
AParam := TIntegerArray.Create; AParam := TIntegerArray.Create;
try try
AParam.Add(AID); AParam.Add(AID);
Result := (RORemoteService as IsrvFacturasCliente).GenerarInformeEnPDF(AParam, ShowLogotipo) Result := (RORemoteService as IsrvFacturasCliente).GenerarInformeEnPDF(AParam, ShowLogotipo, Tipo)
finally finally
FreeANDNIL(AParam) FreeANDNIL(AParam)
end; end;
@ -89,10 +95,16 @@ function TDataModuleFacturasCliente.GetRptFacturas(
const AListaID: TIntegerList; const ShowLogotipo: Boolean = False): Binary; const AListaID: TIntegerList; const ShowLogotipo: Boolean = False): Binary;
var var
AParam : TIntegerArray; AParam : TIntegerArray;
Tipo: Integer;
begin begin
//Si dice que no se imprimirá la factura como becoaching
Tipo := 1;
if (Application.MessageBox('¿Desea imprimir las facturas/abonos de cliente seleccionados, con el modelo por defecto?', 'Atención', MB_YESNO) = IDNO) then
Tipo := 2;
AParam := AListaID.ToIntegerArray; AParam := AListaID.ToIntegerArray;
try try
Result := (RORemoteService as IsrvFacturasCliente).GenerarInforme(AParam, ShowLogotipo) Result := (RORemoteService as IsrvFacturasCliente).GenerarInforme(AParam, ShowLogotipo, Tipo)
finally finally
FreeANDNIL(AParam) FreeANDNIL(AParam)
end; end;

View File

@ -1270,7 +1270,7 @@ object RptFacturasCliente: TRptFacturasCliente
PrintOptions.Printer = 'Default' PrintOptions.Printer = 'Default'
PrintOptions.PrintOnSheet = 0 PrintOptions.PrintOnSheet = 0
ReportOptions.CreateDate = 37871.995398692100000000 ReportOptions.CreateDate = 37871.995398692100000000
ReportOptions.LastChange = 40092.714477893520000000 ReportOptions.LastChange = 40259.487696377310000000
ReportOptions.VersionBuild = '1' ReportOptions.VersionBuild = '1'
ReportOptions.VersionMajor = '12' ReportOptions.VersionMajor = '12'
ReportOptions.VersionMinor = '13' ReportOptions.VersionMinor = '13'
@ -1378,6 +1378,16 @@ object RptFacturasCliente: TRptFacturasCliente
' Memo15.Lines.Add('#39'FACTURA'#39')' ' Memo15.Lines.Add('#39'FACTURA'#39')'
'end;' 'end;'
'' ''
'procedure Memo20OnBeforePrint(Sender: TfrxComponent);'
'begin'
' if (StrToFloat(<frxDBCabecera."RE">) = 0) then'
' begin'
' Memo21.Lines.Clear;'
' Memo29.Lines.Clear;'
' end;'
''
'end;'
''
'procedure Memo11OnBeforePrint(Sender: TfrxComponent);' 'procedure Memo11OnBeforePrint(Sender: TfrxComponent);'
'var' 'var'
' Cadena : String;' ' Cadena : String;'
@ -1408,7 +1418,7 @@ object RptFacturasCliente: TRptFacturasCliente
'' ''
'procedure Picture1OnBeforePrint(Sender: TfrxComponent);' 'procedure Picture1OnBeforePrint(Sender: TfrxComponent);'
'begin' 'begin'
' if <ShowLogotipo> then' '{ if <ShowLogotipo> then'
' begin ' ' begin '
' Picture1.Visible := True; ' ' Picture1.Visible := True; '
' Picture2.Visible := True; ' ' Picture2.Visible := True; '
@ -1434,15 +1444,7 @@ object RptFacturasCliente: TRptFacturasCliente
' Memo14.Visible := False; ' + ' Memo14.Visible := False; ' +
' ' ' '
' end' ' end'
'end;' '} '
''
'procedure Memo21OnBeforePrint(Sender: TfrxComponent);'
'begin'
' if (StrToFloat(<frxDBCabecera."RE">) = 0) then'
' begin'
' Memo21.Lines.Clear;'
' Memo29.Lines.Clear;'
' end;'
'end;' 'end;'
'' ''
'begin' 'begin'

View File

@ -38,12 +38,12 @@ type
FConnection: IDAConnection; FConnection: IDAConnection;
FShowLogotipo: Boolean; FShowLogotipo: Boolean;
//Genera cada uno de los albaranes a imprimir //Genera cada uno de los albaranes a imprimir
procedure _GenerarFactura(const ID: Integer); procedure _GenerarFactura(const ID: Integer; const Tipo: Integer);
public public
function GenerarFactura(const ListaID : TIntegerArray; function GenerarFactura(const ListaID : TIntegerArray;
const AConLogotipo: Boolean = False): Binary; const AConLogotipo: Boolean = False; const Tipo: Integer=1): Binary;
function GenerarFacturaEnPDF(const ListaID : TIntegerArray; function GenerarFacturaEnPDF(const ListaID : TIntegerArray;
const AConLogotipo: Boolean = False): Binary; const AConLogotipo: Boolean = False; const Tipo: Integer=1): Binary;
end; end;
implementation implementation
@ -54,7 +54,8 @@ uses
uDataModuleServer, schFacturasClienteClient_Intf, srvImpresiones_Impl; uDataModuleServer, schFacturasClienteClient_Intf, srvImpresiones_Impl;
const const
rptFacturaCliente = 'InfFacturaCliente.fr3'; rptFacturaClienteTipo1 = 'InfFacturaClienteTipo1.fr3';
rptFacturaClienteTipo2 = 'InfFacturaClienteTipo2.fr3';
{ Dataset names for schReport } { Dataset names for schReport }
ds_InformeFacturasCliente = 'InformeFacturasCliente'; ds_InformeFacturasCliente = 'InformeFacturasCliente';
@ -70,7 +71,7 @@ begin
schReport.ConnectionManager := dmServer.ConnectionManager; schReport.ConnectionManager := dmServer.ConnectionManager;
FConnection := dmServer.DarNuevaConexion; FConnection := dmServer.DarNuevaConexion;
FShowLogotipo := False; FShowLogotipo := False;
frxReport.EngineOptions.NewSilentMode := simReThrow; frxReport.EngineOptions.NewSilentMode := simReThrow;
end; end;
{function TRptFacturasCliente.GenerarFactura(const AFacturaID: String): Binary; {function TRptFacturasCliente.GenerarFactura(const AFacturaID: String): Binary;
@ -97,7 +98,7 @@ begin
end; end;
end;} end;}
procedure TRptFacturasCliente._GenerarFactura(const ID: Integer); procedure TRptFacturasCliente._GenerarFactura(const ID: Integer; const Tipo: Integer);
var var
AStream: TMemoryStream; AStream: TMemoryStream;
dsMaster: IDADataset; dsMaster: IDADataset;
@ -124,8 +125,11 @@ begin
DABINAdapter.WriteDataset(AStream, dsVencimientos, [woRows, woSchema], -1); DABINAdapter.WriteDataset(AStream, dsVencimientos, [woRows, woSchema], -1);
DABINAdapter.ReadDataset(AStream, tbl_Vencimientos, TRUE, '', TRUE, TRUE); DABINAdapter.ReadDataset(AStream, tbl_Vencimientos, TRUE, '', TRUE, TRUE);
if (Tipo = 1) then
frxReport.LoadFromFile(DarRutaInformes + rptFacturaClienteTipo1, True)
else
frxReport.LoadFromFile(DarRutaInformes + rptFacturaClienteTipo2, True);
frxReport.LoadFromFile(DarRutaInformes + rptFacturaCliente, True);
frxReport.PrepareReport(False); frxReport.PrepareReport(False);
finally finally
@ -143,8 +147,8 @@ begin
Value := FShowLogotipo; Value := FShowLogotipo;
end; end;
function TRptFacturasCliente.GenerarFactura( function TRptFacturasCliente.GenerarFactura(const ListaID: TIntegerArray;
const ListaID: TIntegerArray; const AConLogotipo: Boolean = False): Binary; const AConLogotipo: Boolean = False; const Tipo: Integer=1): Binary;
var var
i: Integer; i: Integer;
begin begin
@ -153,15 +157,15 @@ begin
try try
//Vamos generando todos y cada uno de los presupuestos recibidos //Vamos generando todos y cada uno de los presupuestos recibidos
for i := 0 to ListaID.Count - 1 do for i := 0 to ListaID.Count - 1 do
_GenerarFactura(ListaID.Items[i]); _GenerarFactura(ListaID.Items[i], Tipo);
frxReport.PreviewPages.SaveToStream(Result); frxReport.PreviewPages.SaveToStream(Result);
finally finally
end; end;
end; end;
function TRptFacturasCliente.GenerarFacturaEnPDF( function TRptFacturasCliente.GenerarFacturaEnPDF(const ListaID: TIntegerArray;
const ListaID: TIntegerArray; const AConLogotipo: Boolean = False): Binary; const AConLogotipo: Boolean = False; const Tipo: Integer=1): Binary;
var var
i: Integer; i: Integer;
begin begin
@ -170,7 +174,7 @@ begin
try try
//Vamos generando todos y cada uno de los presupuestos recibidos //Vamos generando todos y cada uno de los presupuestos recibidos
for i := 0 to ListaID.Count - 1 do for i := 0 to ListaID.Count - 1 do
_GenerarFactura(ListaID.Items[i]); _GenerarFactura(ListaID.Items[i], Tipo);
frxPDFExport1.Stream := Result; frxPDFExport1.Stream := Result;
frxReport.Export(frxPDFExport1) frxReport.Export(frxPDFExport1)

View File

@ -36,8 +36,8 @@ type
protected protected
{ IsrvFacturasCliente methods } { IsrvFacturasCliente methods }
function GetNextAutoInc(const GeneratorName: String): Integer; function GetNextAutoInc(const GeneratorName: String): Integer;
function GenerarInforme(const ListaID: TIntegerArray; const ShowLogotipo: Boolean): Binary; function GenerarInforme(const ListaID: TIntegerArray; const ShowLogotipo: Boolean; const Tipo: Integer): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const ShowLogotipo: Boolean): Binary; function GenerarInformeEnPDF(const ListaID: TIntegerArray; const ShowLogotipo: Boolean; const Tipo: Integer): Binary;
end; end;
implementation implementation
@ -79,27 +79,25 @@ begin
bpFacturasCliente.BusinessRulesID := BIZ_SERVER_FACTURAS_CLIENTE; bpFacturasCliente.BusinessRulesID := BIZ_SERVER_FACTURAS_CLIENTE;
end; end;
function TsrvFacturasCliente.GenerarInforme( function TsrvFacturasCliente.GenerarInforme(const ListaID: TIntegerArray; const ShowLogotipo: Boolean; const Tipo: Integer): Binary;
const ListaID: TIntegerArray; const ShowLogotipo: Boolean): Binary;
var var
AReportGenerator : TRptFacturasCliente; AReportGenerator : TRptFacturasCliente;
begin begin
AReportGenerator := TRptFacturasCliente.Create(nil); AReportGenerator := TRptFacturasCliente.Create(nil);
try try
Result := AReportGenerator.GenerarFactura(ListaID, ShowLogotipo); Result := AReportGenerator.GenerarFactura(ListaID, ShowLogotipo, Tipo);
finally finally
FreeAndNIL(AReportGenerator); FreeAndNIL(AReportGenerator);
end; end;
end; end;
function TsrvFacturasCliente.GenerarInformeEnPDF(const ListaID: TIntegerArray; function TsrvFacturasCliente.GenerarInformeEnPDF(const ListaID: TIntegerArray; const ShowLogotipo: Boolean; const Tipo: Integer): Binary;
const ShowLogotipo: Boolean): Binary;
var var
AReportGenerator : TRptFacturasCliente; AReportGenerator : TRptFacturasCliente;
begin begin
AReportGenerator := TRptFacturasCliente.Create(nil); AReportGenerator := TRptFacturasCliente.Create(nil);
try try
Result := AReportGenerator.GenerarFacturaEnPDF(ListaID, ShowLogotipo); Result := AReportGenerator.GenerarFacturaEnPDF(ListaID, ShowLogotipo, Tipo);
finally finally
FreeAndNIL(AReportGenerator); FreeAndNIL(AReportGenerator);
end; end;

View File

@ -276,6 +276,7 @@ var
Respuesta : Integer; Respuesta : Integer;
AFacturas: IBizFacturaCliente; AFacturas: IBizFacturaCliente;
AllItems: Boolean; AllItems: Boolean;
begin begin
AFacturas := Nil; AFacturas := Nil;
AllItems := False; AllItems := False;
@ -293,7 +294,7 @@ begin
begin begin
case JsImprimirDialog.CustomButtonResult of case JsImprimirDialog.CustomButtonResult of
200 : begin // Lista de elementos visibles 200 : begin // Lista de elementos visibles
inherited; inherited
end; end;
100 : begin // Elemento Seleccionado 100 : begin // Elemento Seleccionado
if AllItems then if AllItems then
@ -394,7 +395,7 @@ begin
begin begin
case JsPrevisualizarDialog.CustomButtonResult of case JsPrevisualizarDialog.CustomButtonResult of
200 : begin // Lista de elementos visibles 200 : begin // Lista de elementos visibles
inherited; inherited
end; end;
100 : begin // Elemento Seleccionado 100 : begin // Elemento Seleccionado
if AllItems then if AllItems then

View File

@ -13,7 +13,7 @@ uses
cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid,
cxImage, Grids, DBGrids, uBizFacturasCliente, cxGridCustomPopupMenu, cxImage, Grids, DBGrids, uBizFacturasCliente, cxGridCustomPopupMenu,
cxGridPopupMenu, cxCalendar, cxCurrencyEdit, uViewFiltroBase, TB2Item, TBX, cxGridPopupMenu, cxCalendar, cxCurrencyEdit, uViewFiltroBase, TB2Item, TBX,
TB2Toolbar, TBXDkPanels, TB2Dock, dxPgsDlg; TB2Toolbar, TBXDkPanels, TB2Dock, dxPgsDlg, uCustomView, uViewBase;
type type
IViewFacturasCliente = interface(IViewGrid) IViewFacturasCliente = interface(IViewGrid)

View File

@ -134,6 +134,8 @@
</Parameter> </Parameter>
<Parameter Name="ShowLogotipo" DataType="Boolean" Flag="In" > <Parameter Name="ShowLogotipo" DataType="Boolean" Flag="In" >
</Parameter> </Parameter>
<Parameter Name="Tipo" DataType="Integer" Flag="In" >
</Parameter>
</Parameters> </Parameters>
</Operation> </Operation>
<Operation Name="GenerarInformeEnPDF" UID="{D2C4E6D0-9D90-4C35-9C92-B9139493B849}"> <Operation Name="GenerarInformeEnPDF" UID="{D2C4E6D0-9D90-4C35-9C92-B9139493B849}">
@ -144,6 +146,8 @@
</Parameter> </Parameter>
<Parameter Name="ShowLogotipo" DataType="Boolean" Flag="In" > <Parameter Name="ShowLogotipo" DataType="Boolean" Flag="In" >
</Parameter> </Parameter>
<Parameter Name="Tipo" DataType="Integer" Flag="In" >
</Parameter>
</Parameters> </Parameters>
</Operation> </Operation>
</Operations> </Operations>

View File

@ -264,8 +264,8 @@ type
IsrvFacturasCliente = interface(IDARemoteService) IsrvFacturasCliente = interface(IDARemoteService)
['{56B4FFF0-AB1B-46B2-BA16-ABD5360F6311}'] ['{56B4FFF0-AB1B-46B2-BA16-ABD5360F6311}']
function GetNextAutoInc(const GeneratorName: String): Integer; function GetNextAutoInc(const GeneratorName: String): Integer;
function GenerarInforme(const ListaID: TIntegerArray; const ShowLogotipo: Boolean): Binary; function GenerarInforme(const ListaID: TIntegerArray; const ShowLogotipo: Boolean; const Tipo: Integer): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const ShowLogotipo: Boolean): Binary; function GenerarInformeEnPDF(const ListaID: TIntegerArray; const ShowLogotipo: Boolean; const Tipo: Integer): Binary;
end; end;
{ CosrvFacturasCliente } { CosrvFacturasCliente }
@ -279,8 +279,8 @@ type
function __GetInterfaceName:string; override; function __GetInterfaceName:string; override;
function GetNextAutoInc(const GeneratorName: String): Integer; function GetNextAutoInc(const GeneratorName: String): Integer;
function GenerarInforme(const ListaID: TIntegerArray; const ShowLogotipo: Boolean): Binary; function GenerarInforme(const ListaID: TIntegerArray; const ShowLogotipo: Boolean; const Tipo: Integer): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const ShowLogotipo: Boolean): Binary; function GenerarInformeEnPDF(const ListaID: TIntegerArray; const ShowLogotipo: Boolean; const Tipo: Integer): Binary;
end; end;
{ IsrvPedidosProveedor } { IsrvPedidosProveedor }
@ -1350,7 +1350,7 @@ begin
end end
end; end;
function TsrvFacturasCliente_Proxy.GenerarInforme(const ListaID: TIntegerArray; const ShowLogotipo: Boolean): Binary; function TsrvFacturasCliente_Proxy.GenerarInforme(const ListaID: TIntegerArray; const ShowLogotipo: Boolean; const Tipo: Integer): Binary;
var var
__request, __response : TMemoryStream; __request, __response : TMemoryStream;
begin begin
@ -1362,6 +1362,7 @@ begin
__Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInforme'); __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInforme');
__Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); __Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
__Message.Write('ShowLogotipo', TypeInfo(Boolean), ShowLogotipo, []); __Message.Write('ShowLogotipo', TypeInfo(Boolean), ShowLogotipo, []);
__Message.Write('Tipo', TypeInfo(Integer), Tipo, []);
__Message.Finalize; __Message.Finalize;
__Message.WriteToStream(__request); __Message.WriteToStream(__request);
@ -1375,7 +1376,7 @@ begin
end end
end; end;
function TsrvFacturasCliente_Proxy.GenerarInformeEnPDF(const ListaID: TIntegerArray; const ShowLogotipo: Boolean): Binary; function TsrvFacturasCliente_Proxy.GenerarInformeEnPDF(const ListaID: TIntegerArray; const ShowLogotipo: Boolean; const Tipo: Integer): Binary;
var var
__request, __response : TMemoryStream; __request, __response : TMemoryStream;
begin begin
@ -1387,6 +1388,7 @@ begin
__Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEnPDF'); __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEnPDF');
__Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); __Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
__Message.Write('ShowLogotipo', TypeInfo(Boolean), ShowLogotipo, []); __Message.Write('ShowLogotipo', TypeInfo(Boolean), ShowLogotipo, []);
__Message.Write('Tipo', TypeInfo(Integer), Tipo, []);
__Message.Finalize; __Message.Finalize;
__Message.WriteToStream(__request); __Message.WriteToStream(__request);

View File

@ -485,10 +485,11 @@ begin
end; end;
procedure TsrvFacturasCliente_Invoker.Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure TsrvFacturasCliente_Invoker.Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarInforme(const ListaID: TIntegerArray; const ShowLogotipo: Boolean): Binary; } { function GenerarInforme(const ListaID: TIntegerArray; const ShowLogotipo: Boolean; const Tipo: Integer): Binary; }
var var
ListaID: FactuGES_Intf.TIntegerArray; ListaID: FactuGES_Intf.TIntegerArray;
ShowLogotipo: Boolean; ShowLogotipo: Boolean;
Tipo: Integer;
lResult: Binary; lResult: Binary;
__lObjectDisposer: TROObjectDisposer; __lObjectDisposer: TROObjectDisposer;
begin begin
@ -497,8 +498,9 @@ begin
try try
__Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); __Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
__Message.Read('ShowLogotipo', TypeInfo(Boolean), ShowLogotipo, []); __Message.Read('ShowLogotipo', TypeInfo(Boolean), ShowLogotipo, []);
__Message.Read('Tipo', TypeInfo(Integer), Tipo, []);
lResult := (__Instance as IsrvFacturasCliente).GenerarInforme(ListaID, ShowLogotipo); lResult := (__Instance as IsrvFacturasCliente).GenerarInforme(ListaID, ShowLogotipo, Tipo);
__Message.Initialize(__Transport, 'FactuGES', 'srvFacturasCliente', 'GenerarInformeResponse'); __Message.Initialize(__Transport, 'FactuGES', 'srvFacturasCliente', 'GenerarInformeResponse');
__Message.Write('Result', TypeInfo(Binary), lResult, []); __Message.Write('Result', TypeInfo(Binary), lResult, []);
@ -516,10 +518,11 @@ begin
end; end;
procedure TsrvFacturasCliente_Invoker.Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure TsrvFacturasCliente_Invoker.Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarInformeEnPDF(const ListaID: TIntegerArray; const ShowLogotipo: Boolean): Binary; } { function GenerarInformeEnPDF(const ListaID: TIntegerArray; const ShowLogotipo: Boolean; const Tipo: Integer): Binary; }
var var
ListaID: FactuGES_Intf.TIntegerArray; ListaID: FactuGES_Intf.TIntegerArray;
ShowLogotipo: Boolean; ShowLogotipo: Boolean;
Tipo: Integer;
lResult: Binary; lResult: Binary;
__lObjectDisposer: TROObjectDisposer; __lObjectDisposer: TROObjectDisposer;
begin begin
@ -528,8 +531,9 @@ begin
try try
__Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); __Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
__Message.Read('ShowLogotipo', TypeInfo(Boolean), ShowLogotipo, []); __Message.Read('ShowLogotipo', TypeInfo(Boolean), ShowLogotipo, []);
__Message.Read('Tipo', TypeInfo(Integer), Tipo, []);
lResult := (__Instance as IsrvFacturasCliente).GenerarInformeEnPDF(ListaID, ShowLogotipo); lResult := (__Instance as IsrvFacturasCliente).GenerarInformeEnPDF(ListaID, ShowLogotipo, Tipo);
__Message.Initialize(__Transport, 'FactuGES', 'srvFacturasCliente', 'GenerarInformeEnPDFResponse'); __Message.Initialize(__Transport, 'FactuGES', 'srvFacturasCliente', 'GenerarInformeEnPDFResponse');
__Message.Write('Result', TypeInfo(Binary), lResult, []); __Message.Write('Result', TypeInfo(Binary), lResult, []);

Binary file not shown.

View File

@ -912,12 +912,12 @@
#define IdResourceStrings_RSMIMEMIMETypeEmpty 65181 #define IdResourceStrings_RSMIMEMIMETypeEmpty 65181
#define IdResourceStrings_RSMIMEMIMEExtAlreadyExists 65182 #define IdResourceStrings_RSMIMEMIMEExtAlreadyExists 65182
#define IdResourceStrings_RSStatusResolving 65183 #define IdResourceStrings_RSStatusResolving 65183
#define uRODECConst_sFMT_HEXL 65184 #define uRORes_err_InvalidVarArrayDimCount 65184
#define uRODECConst_sFMT_MIME64 65185 #define uRORes_err_MessageNotAssigned 65185
#define uRODECConst_sFMT_UU 65186 #define ComConst_SOleError 65186
#define uRODECConst_sFMT_XX 65187 #define ComConst_SNoMethod 65187
#define uRODECConst_sInvalidKeySize 65188 #define ComConst_SVarNotObject 65188
#define uRODECConst_sNotInitialized 65189 #define ComConst_STooManyParams 65189
#define IdResourceStrings_RSCannotAllocateSocket 65190 #define IdResourceStrings_RSCannotAllocateSocket 65190
#define IdResourceStrings_RSConnectionClosedGracefully 65191 #define IdResourceStrings_RSConnectionClosedGracefully 65191
#define IdResourceStrings_RSCouldNotBindSocket 65192 #define IdResourceStrings_RSCouldNotBindSocket 65192
@ -928,70 +928,70 @@
#define IdResourceStrings_RSThreadClassNotSpecified 65197 #define IdResourceStrings_RSThreadClassNotSpecified 65197
#define IdResourceStrings_RSFileNotFound 65198 #define IdResourceStrings_RSFileNotFound 65198
#define IdResourceStrings_RSOnlyOneAntiFreeze 65199 #define IdResourceStrings_RSOnlyOneAntiFreeze 65199
#define uRORes_err_NoXMLParsersAvailable 65200 #define uRORes_err_UnhandledException 65200
#define uRORes_err_IDispatchMarshalingNotSupported 65201 #define uRORes_err_ChannelBusy 65201
#define uRORes_err_UnsupportedVariantType 65202 #define uRORes_err_ArrayIndexOutOfBounds 65202
#define uRORes_err_VariantIsNotArray 65203 #define uRORes_err_InvalidHeader 65203
#define uRORes_err_InvalidVarArrayDimCount 65204 #define uRORes_err_UnknownClassInStream 65204
#define uRORes_err_MessageNotAssigned 65205 #define uRORes_err_UnexpectedClassInStream 65205
#define ComConst_SOleError 65206 #define uRORes_err_SessionNotFound 65206
#define ComConst_SNoMethod 65207 #define uRORes_err_ChannelDoesntSupportIROMetadataReader 65207
#define ComConst_SVarNotObject 65208 #define uRORes_err_TooManySessions 65208
#define ComConst_STooManyParams 65209 #define uRORes_err_DOMElementIsNIL 65209
#define uRODECConst_sProtectionCircular 65210 #define uRORes_err_CannotLoadXMLDocument 65210
#define uRODECConst_sStringFormatExists 65211 #define uRORes_err_ErrorCreatingMsXmlDoc 65211
#define uRODECConst_sInvalidStringFormat 65212 #define uRORes_err_NoXMLParsersAvailable 65212
#define uRODECConst_sInvalidFormatString 65213 #define uRORes_err_IDispatchMarshalingNotSupported 65213
#define uRODECConst_sFMT_COPY 65214 #define uRORes_err_UnsupportedVariantType 65214
#define uRODECConst_sFMT_HEX 65215 #define uRORes_err_VariantIsNotArray 65215
#define uRORes_err_UnknownProxyInterface 65216 #define uRORes_str_ExceptionReraisedFromServer 65216
#define uRORes_err_DispatcherAlreadyAssigned 65217 #define uRORes_err_AssignError 65217
#define uRORes_err_CannotFindMessageDispatcher 65218 #define uRORes_err_InvalidRequestStream 65218
#define uRORes_err_ServerOnlySupportsOneDispatcher 65219 #define uRORes_err_NILMessage 65219
#define uRORes_err_UnhandledException 65220 #define uRORes_err_UnspecifiedInterface 65220
#define uRORes_err_ChannelBusy 65221 #define uRORes_err_UnspecifiedMessage 65221
#define uRORes_err_ArrayIndexOutOfBounds 65222 #define uRORes_err_UnknownMethod 65222
#define uRORes_err_InvalidHeader 65223 #define uRORes_err_ClassFactoryDidNotReturnInstance 65223
#define uRORes_err_UnknownClassInStream 65224 #define uRORes_err_TypeNotSupported 65224
#define uRORes_err_UnexpectedClassInStream 65225 #define uRORes_err_ClassFactoryNotFound 65225
#define uRORes_err_SessionNotFound 65226 #define uRORes_err_IROMessageNotSupported 65226
#define uRORes_err_ChannelDoesntSupportIROMetadataReader 65227 #define uRORes_err_ClassAlreadyRegistered 65227
#define uRORes_err_TooManySessions 65228 #define uRORes_err_UnknownProxyInterface 65228
#define uRORes_err_DOMElementIsNIL 65229 #define uRORes_err_DispatcherAlreadyAssigned 65229
#define uRORes_err_CannotLoadXMLDocument 65230 #define uRORes_err_CannotFindMessageDispatcher 65230
#define uRORes_err_ErrorCreatingMsXmlDoc 65231 #define uRORes_err_ServerOnlySupportsOneDispatcher 65231
#define uRORes_err_RodlInvalidDataType 65232 #define uRORes_err_InvalidType 65232
#define uRORes_err_RodlStructCannotBeNested 65233 #define uRORes_err_InvalidStream 65233
#define uRORes_err_RodlInvalidAncestorType 65234 #define uRORes_err_InvalidParamFlag 65234
#define uRORes_str_ExceptionOnServer 65235 #define uRORes_err_InvalidStringLength 65235
#define uRORes_str_ExceptionReraisedFromServer 65236 #define uRORes_str_InvalidClassTypeInStream 65236
#define uRORes_err_AssignError 65237 #define uRORes_err_UnexpectedEndOfStream 65237
#define uRORes_err_InvalidRequestStream 65238 #define uRORes_err_RodlDuplicateName 65238
#define uRORes_err_NILMessage 65239 #define uRORes_err_RodlNoDataTypeSpecified 65239
#define uRORes_err_UnspecifiedInterface 65240 #define uRORes_err_RodlNoEnumValues 65240
#define uRORes_err_UnspecifiedMessage 65241 #define uRORes_err_RodlNoStructElementsDefined 65241
#define uRORes_err_UnknownMethod 65242 #define uRORes_err_RodlNoOperationsDefined 65242
#define uRORes_err_ClassFactoryDidNotReturnInstance 65243 #define uRORes_err_RodlUsedFileDoesNotExist 65243
#define uRORes_err_TypeNotSupported 65244 #define uRORes_err_RodlInvalidDataType 65244
#define uRORes_err_ClassFactoryNotFound 65245 #define uRORes_err_RodlStructCannotBeNested 65245
#define uRORes_err_IROMessageNotSupported 65246 #define uRORes_err_RodlInvalidAncestorType 65246
#define uRORes_err_ClassAlreadyRegistered 65247 #define uRORes_str_ExceptionOnServer 65247
#define Consts_SUTF8Encoding 65248 #define Consts_SUTF8Encoding 65248
#define Consts_SUTF7Encoding 65249 #define Consts_SUTF7Encoding 65249
#define Consts_SPageControlNotSet 65250 #define Consts_SPageControlNotSet 65250
#define uRORes_err_InvalidIndex 65251 #define uRODECConst_sProtectionCircular 65251
#define uRORes_err_InvalidType 65252 #define uRODECConst_sStringFormatExists 65252
#define uRORes_err_InvalidStream 65253 #define uRODECConst_sInvalidStringFormat 65253
#define uRORes_err_InvalidParamFlag 65254 #define uRODECConst_sInvalidFormatString 65254
#define uRORes_err_InvalidStringLength 65255 #define uRODECConst_sFMT_COPY 65255
#define uRORes_str_InvalidClassTypeInStream 65256 #define uRODECConst_sFMT_HEX 65256
#define uRORes_err_UnexpectedEndOfStream 65257 #define uRODECConst_sFMT_HEXL 65257
#define uRORes_err_RodlDuplicateName 65258 #define uRODECConst_sFMT_MIME64 65258
#define uRORes_err_RodlNoDataTypeSpecified 65259 #define uRODECConst_sFMT_UU 65259
#define uRORes_err_RodlNoEnumValues 65260 #define uRODECConst_sFMT_XX 65260
#define uRORes_err_RodlNoStructElementsDefined 65261 #define uRODECConst_sInvalidKeySize 65261
#define uRORes_err_RodlNoOperationsDefined 65262 #define uRODECConst_sNotInitialized 65262
#define uRORes_err_RodlUsedFileDoesNotExist 65263 #define uRORes_err_InvalidIndex 65263
#define Consts_SPictureLabel 65264 #define Consts_SPictureLabel 65264
#define Consts_SPictureDesc 65265 #define Consts_SPictureDesc 65265
#define Consts_SPreviewLabel 65266 #define Consts_SPreviewLabel 65266
@ -2170,12 +2170,12 @@ BEGIN
IdResourceStrings_RSMIMEMIMETypeEmpty, "Mimetype is empty" IdResourceStrings_RSMIMEMIMETypeEmpty, "Mimetype is empty"
IdResourceStrings_RSMIMEMIMEExtAlreadyExists, "Extension already exits" IdResourceStrings_RSMIMEMIMEExtAlreadyExists, "Extension already exits"
IdResourceStrings_RSStatusResolving, "Resolving hostname %s." IdResourceStrings_RSStatusResolving, "Resolving hostname %s."
uRODECConst_sFMT_HEXL, "Hexadecimal lowercase" uRORes_err_InvalidVarArrayDimCount, "Variant Array DimCount must be 1 but is %d"
uRODECConst_sFMT_MIME64, "MIME Base 64" uRORes_err_MessageNotAssigned, "Message is NIL"
uRODECConst_sFMT_UU, "UU Coding" ComConst_SOleError, "OLE error %.8x"
uRODECConst_sFMT_XX, "XX Coding" ComConst_SNoMethod, "Method '%s' not supported by automation object"
uRODECConst_sInvalidKeySize, "Length from Encryptionkey is invalid.\r\nKeysize for %s must be to %d-%d bytes" ComConst_SVarNotObject, "Variant does not reference an automation object"
uRODECConst_sNotInitialized, "%s is not initialized call Init() or InitKey() before." ComConst_STooManyParams, "Dispatch methods do not support more than 64 parameters"
IdResourceStrings_RSCannotAllocateSocket, "Cannot allocate socket." IdResourceStrings_RSCannotAllocateSocket, "Cannot allocate socket."
IdResourceStrings_RSConnectionClosedGracefully, "Connection Closed Gracefully." IdResourceStrings_RSConnectionClosedGracefully, "Connection Closed Gracefully."
IdResourceStrings_RSCouldNotBindSocket, "Could not bind socket. Address and port are already in use." IdResourceStrings_RSCouldNotBindSocket, "Could not bind socket. Address and port are already in use."
@ -2186,26 +2186,6 @@ BEGIN
IdResourceStrings_RSThreadClassNotSpecified, "Thread Class Not Specified." IdResourceStrings_RSThreadClassNotSpecified, "Thread Class Not Specified."
IdResourceStrings_RSFileNotFound, "File \"%s\" not found" IdResourceStrings_RSFileNotFound, "File \"%s\" not found"
IdResourceStrings_RSOnlyOneAntiFreeze, "Only one TIdAntiFreeze can exist per application." IdResourceStrings_RSOnlyOneAntiFreeze, "Only one TIdAntiFreeze can exist per application."
uRORes_err_NoXMLParsersAvailable, "MSXML is not installed"
uRORes_err_IDispatchMarshalingNotSupported, "Marshaling of IDispatch (%d) type variants is not supported."
uRORes_err_UnsupportedVariantType, "Unsupported variant type \"%d\""
uRORes_err_VariantIsNotArray, "Variant must be Array, but is %d"
uRORes_err_InvalidVarArrayDimCount, "Variant Array DimCount must be 1 but is %d"
uRORes_err_MessageNotAssigned, "Message is NIL"
ComConst_SOleError, "OLE error %.8x"
ComConst_SNoMethod, "Method '%s' not supported by automation object"
ComConst_SVarNotObject, "Variant does not reference an automation object"
ComConst_STooManyParams, "Dispatch methods do not support more than 64 parameters"
uRODECConst_sProtectionCircular, "Circular Protection detected, Protection Object is invalid."
uRODECConst_sStringFormatExists, "String Format \"%d\" not exists."
uRODECConst_sInvalidStringFormat, "Input is not an valid %s Format."
uRODECConst_sInvalidFormatString, "Input can not be convert to %s Format."
uRODECConst_sFMT_COPY, "copy Input to Output"
uRODECConst_sFMT_HEX, "Hexadecimal"
uRORes_err_UnknownProxyInterface, "Unknown proxy interface \"%s\""
uRORes_err_DispatcherAlreadyAssigned, "Dispatcher for %s already assigned"
uRORes_err_CannotFindMessageDispatcher, "Cannot find message dispatcher. Maybe there is no message component configured for for the requested path?"
uRORes_err_ServerOnlySupportsOneDispatcher, "%s servers only support one dispatcher"
uRORes_err_UnhandledException, "Unhandled exception" uRORes_err_UnhandledException, "Unhandled exception"
uRORes_err_ChannelBusy, "Channel is busy. Try again later." uRORes_err_ChannelBusy, "Channel is busy. Try again later."
uRORes_err_ArrayIndexOutOfBounds, "Array index out of bounds (%d)." uRORes_err_ArrayIndexOutOfBounds, "Array index out of bounds (%d)."
@ -2218,10 +2198,10 @@ BEGIN
uRORes_err_DOMElementIsNIL, "DOMElement is NIL" uRORes_err_DOMElementIsNIL, "DOMElement is NIL"
uRORes_err_CannotLoadXMLDocument, "Cannot load XML document.\rReason: %s\rLine: %d\rPosition: %d" uRORes_err_CannotLoadXMLDocument, "Cannot load XML document.\rReason: %s\rLine: %d\rPosition: %d"
uRORes_err_ErrorCreatingMsXmlDoc, "Error creating MSXML Document class\r\r%s: %s" uRORes_err_ErrorCreatingMsXmlDoc, "Error creating MSXML Document class\r\r%s: %s"
uRORes_err_RodlInvalidDataType, "Invalid or undefined data type \"%s\"." uRORes_err_NoXMLParsersAvailable, "MSXML is not installed"
uRORes_err_RodlStructCannotBeNested, "Structs cannot recursively contain themselves." uRORes_err_IDispatchMarshalingNotSupported, "Marshaling of IDispatch (%d) type variants is not supported."
uRORes_err_RodlInvalidAncestorType, "Invalid or undefined ancestor type \"%s\"." uRORes_err_UnsupportedVariantType, "Unsupported variant type \"%d\""
uRORes_str_ExceptionOnServer, "An exception of type %s was raised on the server: %s" uRORes_err_VariantIsNotArray, "Variant must be Array, but is %d"
uRORes_str_ExceptionReraisedFromServer, "An exception was raised on the server: %s" uRORes_str_ExceptionReraisedFromServer, "An exception was raised on the server: %s"
uRORes_err_AssignError, "Cannot assign a \"%s\" to a \"%s\"." uRORes_err_AssignError, "Cannot assign a \"%s\" to a \"%s\"."
uRORes_err_InvalidRequestStream, "Invalid request stream (%d bytes)" uRORes_err_InvalidRequestStream, "Invalid request stream (%d bytes)"
@ -2234,10 +2214,10 @@ BEGIN
uRORes_err_ClassFactoryNotFound, "Class factory for interface %s not found" uRORes_err_ClassFactoryNotFound, "Class factory for interface %s not found"
uRORes_err_IROMessageNotSupported, "Class \"%s\" does not support IROMessage" uRORes_err_IROMessageNotSupported, "Class \"%s\" does not support IROMessage"
uRORes_err_ClassAlreadyRegistered, "Class \"%s\" is already registered" uRORes_err_ClassAlreadyRegistered, "Class \"%s\" is already registered"
Consts_SUTF8Encoding, "UTF-8" uRORes_err_UnknownProxyInterface, "Unknown proxy interface \"%s\""
Consts_SUTF7Encoding, "UTF-7" uRORes_err_DispatcherAlreadyAssigned, "Dispatcher for %s already assigned"
Consts_SPageControlNotSet, "PageControl must first be assigned" uRORes_err_CannotFindMessageDispatcher, "Cannot find message dispatcher. Maybe there is no message component configured for for the requested path?"
uRORes_err_InvalidIndex, "Invalid index %d" uRORes_err_ServerOnlySupportsOneDispatcher, "%s servers only support one dispatcher"
uRORes_err_InvalidType, "Invalid type \"%s. Expected \"%s\"\"" uRORes_err_InvalidType, "Invalid type \"%s. Expected \"%s\"\""
uRORes_err_InvalidStream, "Invalid stream" uRORes_err_InvalidStream, "Invalid stream"
uRORes_err_InvalidParamFlag, "Invalid Parameter Flag \"%s\"" uRORes_err_InvalidParamFlag, "Invalid Parameter Flag \"%s\""
@ -2250,6 +2230,26 @@ BEGIN
uRORes_err_RodlNoStructElementsDefined, "Struct does not contain any elements." uRORes_err_RodlNoStructElementsDefined, "Struct does not contain any elements."
uRORes_err_RodlNoOperationsDefined, "Service interface does not contain any elements." uRORes_err_RodlNoOperationsDefined, "Service interface does not contain any elements."
uRORes_err_RodlUsedFileDoesNotExist, "The referenced RODL file \"%s\" could not be found." uRORes_err_RodlUsedFileDoesNotExist, "The referenced RODL file \"%s\" could not be found."
uRORes_err_RodlInvalidDataType, "Invalid or undefined data type \"%s\"."
uRORes_err_RodlStructCannotBeNested, "Structs cannot recursively contain themselves."
uRORes_err_RodlInvalidAncestorType, "Invalid or undefined ancestor type \"%s\"."
uRORes_str_ExceptionOnServer, "An exception of type %s was raised on the server: %s"
Consts_SUTF8Encoding, "UTF-8"
Consts_SUTF7Encoding, "UTF-7"
Consts_SPageControlNotSet, "PageControl must first be assigned"
uRODECConst_sProtectionCircular, "Circular Protection detected, Protection Object is invalid."
uRODECConst_sStringFormatExists, "String Format \"%d\" not exists."
uRODECConst_sInvalidStringFormat, "Input is not an valid %s Format."
uRODECConst_sInvalidFormatString, "Input can not be convert to %s Format."
uRODECConst_sFMT_COPY, "copy Input to Output"
uRODECConst_sFMT_HEX, "Hexadecimal"
uRODECConst_sFMT_HEXL, "Hexadecimal lowercase"
uRODECConst_sFMT_MIME64, "MIME Base 64"
uRODECConst_sFMT_UU, "UU Coding"
uRODECConst_sFMT_XX, "XX Coding"
uRODECConst_sInvalidKeySize, "Length from Encryptionkey is invalid.\r\nKeysize for %s must be to %d-%d bytes"
uRODECConst_sNotInitialized, "%s is not initialized call Init() or InitKey() before."
uRORes_err_InvalidIndex, "Invalid index %d"
Consts_SPictureLabel, "Picture:" Consts_SPictureLabel, "Picture:"
Consts_SPictureDesc, " (%dx%d)" Consts_SPictureDesc, " (%dx%d)"
Consts_SPreviewLabel, "Preview" Consts_SPreviewLabel, "Preview"