131 lines
3.9 KiB
ObjectPascal
131 lines
3.9 KiB
ObjectPascal
|
|
unit srvImpresiones_Impl;
|
|||
|
|
|
|||
|
|
{----------------------------------------------------------------------------}
|
|||
|
|
{ This unit was automatically generated by the RemObjects SDK after reading }
|
|||
|
|
{ the RODL file associated with this project . }
|
|||
|
|
{ }
|
|||
|
|
{ This is where you are supposed to code the implementation of your objects. }
|
|||
|
|
{----------------------------------------------------------------------------}
|
|||
|
|
|
|||
|
|
interface
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
{vcl:} Classes, SysUtils,
|
|||
|
|
{RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions,
|
|||
|
|
{Ancestor Implementation:} DARemoteService_Impl,
|
|||
|
|
{Used RODLs:} DataAbstract_Intf,
|
|||
|
|
{Generated:} FactuGES_Intf, uDADataTable, uDABINAdapter, uDAClasses,
|
|||
|
|
uDAScriptingProvider, uDABusinessProcessor;
|
|||
|
|
|
|||
|
|
type
|
|||
|
|
{ TsrvImpresiones }
|
|||
|
|
TsrvImpresiones = class(TDARemoteService, IsrvImpresiones)
|
|||
|
|
Diagrams: TDADiagrams;
|
|||
|
|
DABINAdapter: TDABINAdapter;
|
|||
|
|
bpImpresiones: TDABusinessProcessor;
|
|||
|
|
schImpresiones: TDASchema;
|
|||
|
|
DataDictionary: TDADataDictionary;
|
|||
|
|
procedure DARemoteServiceCreate(Sender: TObject);
|
|||
|
|
procedure DARemoteServiceBeforeAcquireConnection(Sender: TDARemoteService;
|
|||
|
|
var ConnectionName: string);
|
|||
|
|
protected
|
|||
|
|
{ IsrvImpresiones methods }
|
|||
|
|
function InsertarMarcaImpresion(const NombreTabla: String; const IdTabla: Integer): Boolean;
|
|||
|
|
function IncrementarMarcaImpresion(const IdMarcaImpresion: Integer): Boolean;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
|
|||
|
|
{$R *.dfm}
|
|||
|
|
uses
|
|||
|
|
{Generated:} FactuGES_Invk, uDataModuleServer, uDatabaseUtils;
|
|||
|
|
|
|||
|
|
procedure Create_srvImpresiones(out anInstance : IUnknown);
|
|||
|
|
begin
|
|||
|
|
anInstance := TsrvImpresiones.Create(NIL);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
{ srvImpresiones }
|
|||
|
|
procedure TsrvImpresiones.DARemoteServiceBeforeAcquireConnection(
|
|||
|
|
Sender: TDARemoteService; var ConnectionName: string);
|
|||
|
|
begin
|
|||
|
|
ConnectionName := dmServer.ConnectionName;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TsrvImpresiones.DARemoteServiceCreate(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
SessionManager := dmServer.SessionManager;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TsrvImpresiones.IncrementarMarcaImpresion(
|
|||
|
|
const IdMarcaImpresion: Integer): Boolean;
|
|||
|
|
begin
|
|||
|
|
//
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TsrvImpresiones.InsertarMarcaImpresion(const NombreTabla: String;
|
|||
|
|
const IdTabla: Integer): Boolean;
|
|||
|
|
begin
|
|||
|
|
var
|
|||
|
|
ASchema : TDASchema;
|
|||
|
|
AConn : IDAConnection;
|
|||
|
|
dsData: IDADataset;
|
|||
|
|
|
|||
|
|
AWhere : TDAWhereExpression;
|
|||
|
|
AWhereExpr1: TDAWhereExpression;
|
|||
|
|
AWhereExpr2: TDAWhereExpression;
|
|||
|
|
begin
|
|||
|
|
Result := '';
|
|||
|
|
|
|||
|
|
{ Construir la expresi<EFBFBD>n del Where a partir de los par<EFBFBD>metros
|
|||
|
|
que se reciban.
|
|||
|
|
}
|
|||
|
|
with TDAWhereBuilder.Create do
|
|||
|
|
try
|
|||
|
|
AWhereExpr1 := NewBinaryExpression(NewField('', 'CODIGO'),
|
|||
|
|
NewConstant(NombreReferencia, datString),
|
|||
|
|
dboEqual);
|
|||
|
|
if (EmpresaID <> -1) then
|
|||
|
|
begin
|
|||
|
|
AWhereExpr2 := NewBinaryExpression(NewField('', 'ID_EMPRESA'),
|
|||
|
|
NewConstant(EmpresaID, datInteger),
|
|||
|
|
dboEqual);
|
|||
|
|
|
|||
|
|
AWhere := NewBinaryExpression(AWhereExpr1, AWhereExpr2, dboAnd);
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
AWhere := AWhereExpr1;
|
|||
|
|
finally
|
|||
|
|
Free;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
ASchema := schReferencias;
|
|||
|
|
AConn := dmServer.ConnectionManager.NewConnection(dmServer.ConnectionManager.GetDefaultConnectionName);
|
|||
|
|
|
|||
|
|
try
|
|||
|
|
try
|
|||
|
|
dsData := ASchema.NewDataset(AConn, 'Referencias', ['VALOR'], '', '', False, True);
|
|||
|
|
dsData.DynamicWhere.Expression := AWhere;
|
|||
|
|
except
|
|||
|
|
RaiseError('No existe la tabla REFERENCIAS');
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
dsData.Active := True;
|
|||
|
|
|
|||
|
|
if dsData.IsEmpty then
|
|||
|
|
RaiseError('No existe la referencia ' + NombreReferencia + ' en la tabla REFERENCIAS.');
|
|||
|
|
|
|||
|
|
Result := dsData.FieldByName('VALOR').AsString;
|
|||
|
|
finally
|
|||
|
|
dsData := NIL;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
initialization
|
|||
|
|
TROClassFactory.Create('srvImpresiones', Create_srvImpresiones, TsrvImpresiones_Invoker);
|
|||
|
|
|
|||
|
|
finalization
|
|||
|
|
|
|||
|
|
end.
|