Ticket #14 -> Poder enviar facturas por correo electrónico
git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES/trunk@286 c93665c3-c93d-084d-9b98-7d5f4a9c3376
This commit is contained in:
parent
8e748ddc7f
commit
e918358544
@ -287,7 +287,7 @@ source_path
|
|||||||
<Property MultiValue="0" name="ActionTypeID" type="string"></Property>
|
<Property MultiValue="0" name="ActionTypeID" type="string"></Property>
|
||||||
<Property MultiValue="1" name="Description" type="string"><![CDATA[Borrar ficheros temporales]]>
|
<Property MultiValue="1" name="Description" type="string"><![CDATA[Borrar ficheros temporales]]>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="Enabled" type="WordBool">True</Property>
|
<Property name="Enabled" type="WordBool">False</Property>
|
||||||
<Property name="ExpandActionLogTitle" type="Boolean">True</Property>
|
<Property name="ExpandActionLogTitle" type="Boolean">True</Property>
|
||||||
<Property name="IgnoreFailure" type="WordBool">False</Property>
|
<Property name="IgnoreFailure" type="WordBool">False</Property>
|
||||||
<Property name="IsAction" type="Boolean">True</Property>
|
<Property name="IsAction" type="Boolean">True</Property>
|
||||||
@ -530,7 +530,7 @@ source_path
|
|||||||
<Property name="IsBreakPoint" type="WordBool">False</Property>
|
<Property name="IsBreakPoint" type="WordBool">False</Property>
|
||||||
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
|
<Property MultiValue="0" name="LogToVariable" type="string"></Property>
|
||||||
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
|
<Property name="MaxRetryAttempts" type="Cardinal">0</Property>
|
||||||
<Property name="NodeCollapsed" type="Boolean">True</Property>
|
<Property name="NodeCollapsed" type="Boolean">False</Property>
|
||||||
<Property name="PauseInterval" type="Cardinal">0</Property>
|
<Property name="PauseInterval" type="Cardinal">0</Property>
|
||||||
<Property name="RetryPauseInterval" type="Cardinal">1000</Property>
|
<Property name="RetryPauseInterval" type="Cardinal">1000</Property>
|
||||||
<Property name="SuppressStatusMessages" type="Boolean">False</Property>
|
<Property name="SuppressStatusMessages" type="Boolean">False</Property>
|
||||||
@ -579,7 +579,7 @@ source_path
|
|||||||
<Property name="PauseInterval" type="Cardinal">0</Property>
|
<Property name="PauseInterval" type="Cardinal">0</Property>
|
||||||
<Property MultiValue="0" name="ProjectFile" type="WideString">%source_path%\Servidor\FactuGES_Server.dpr</Property>
|
<Property MultiValue="0" name="ProjectFile" type="WideString">%source_path%\Servidor\FactuGES_Server.dpr</Property>
|
||||||
<Property name="RegenerateResource" type="WordBool">True</Property>
|
<Property name="RegenerateResource" type="WordBool">True</Property>
|
||||||
<Property name="ReleaseVersion" type="Integer">2</Property>
|
<Property name="ReleaseVersion" type="Integer">5</Property>
|
||||||
<Property MultiValue="0" name="ResourceCompilerOptions" type="string"></Property>
|
<Property MultiValue="0" name="ResourceCompilerOptions" type="string"></Property>
|
||||||
<Property MultiValue="0" name="ResourceCompilerPath" type="string"></Property>
|
<Property MultiValue="0" name="ResourceCompilerPath" type="string"></Property>
|
||||||
<Property name="ResourceCompilerType" type="TFBDelphiResourceCompiler">rcBorland</Property>
|
<Property name="ResourceCompilerType" type="TFBDelphiResourceCompiler">rcBorland</Property>
|
||||||
@ -594,15 +594,15 @@ source_path
|
|||||||
<Property name="UseVersionFromDOF" type="Boolean">True</Property>
|
<Property name="UseVersionFromDOF" type="Boolean">True</Property>
|
||||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[CompanyName=Rodax Software S.L.
|
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[CompanyName=Rodax Software S.L.
|
||||||
FileDescription=
|
FileDescription=
|
||||||
FileVersion=3.0.2.0
|
FileVersion=3.0.5.0
|
||||||
InternalName=
|
InternalName=
|
||||||
LegalCopyright=
|
LegalCopyright=
|
||||||
LegalTrademarks=
|
LegalTrademarks=
|
||||||
OriginalFilename=
|
OriginalFilename=
|
||||||
ProductName=FactuGES Server
|
ProductName=FactuGES Server
|
||||||
ProductVersion=3.0.2.0
|
ProductVersion=3.0.5.0
|
||||||
Comments=
|
Comments=
|
||||||
CompileDate=
|
CompileDate=martes, 15 de julio de 2008 19:13
|
||||||
]]>
|
]]>
|
||||||
</Property>
|
</Property>
|
||||||
<Property MultiValue="0" name="VersionInfoPropertySetName" type="string"></Property>
|
<Property MultiValue="0" name="VersionInfoPropertySetName" type="string"></Property>
|
||||||
@ -20604,7 +20604,7 @@ Comments=
|
|||||||
<Property name="PauseInterval" type="Cardinal">0</Property>
|
<Property name="PauseInterval" type="Cardinal">0</Property>
|
||||||
<Property MultiValue="0" name="ProjectFile" type="WideString">%source_path%\Cliente\FactuGES.dpr</Property>
|
<Property MultiValue="0" name="ProjectFile" type="WideString">%source_path%\Cliente\FactuGES.dpr</Property>
|
||||||
<Property name="RegenerateResource" type="WordBool">True</Property>
|
<Property name="RegenerateResource" type="WordBool">True</Property>
|
||||||
<Property name="ReleaseVersion" type="Integer">2</Property>
|
<Property name="ReleaseVersion" type="Integer">5</Property>
|
||||||
<Property MultiValue="0" name="ResourceCompilerOptions" type="string"></Property>
|
<Property MultiValue="0" name="ResourceCompilerOptions" type="string"></Property>
|
||||||
<Property MultiValue="0" name="ResourceCompilerPath" type="string"></Property>
|
<Property MultiValue="0" name="ResourceCompilerPath" type="string"></Property>
|
||||||
<Property name="ResourceCompilerType" type="TFBDelphiResourceCompiler">rcBorland</Property>
|
<Property name="ResourceCompilerType" type="TFBDelphiResourceCompiler">rcBorland</Property>
|
||||||
@ -20619,13 +20619,13 @@ Comments=
|
|||||||
<Property name="UseVersionFromDOF" type="Boolean">False</Property>
|
<Property name="UseVersionFromDOF" type="Boolean">False</Property>
|
||||||
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[CompanyName=Rodax Software S.L.
|
<Property MultiValue="1" name="VersionInfoKeys" type="WideString"><![CDATA[CompanyName=Rodax Software S.L.
|
||||||
FileDescription=
|
FileDescription=
|
||||||
FileVersion=3.0.2.0
|
FileVersion=3.0.5.0
|
||||||
InternalName=FactuGES
|
InternalName=FactuGES
|
||||||
LegalCopyright=
|
LegalCopyright=
|
||||||
LegalTrademarks=
|
LegalTrademarks=
|
||||||
OriginalFilename=
|
OriginalFilename=
|
||||||
ProductName=
|
ProductName=
|
||||||
ProductVersion=3.0.2.0
|
ProductVersion=3.0.5.0
|
||||||
Comments=
|
Comments=
|
||||||
]]>
|
]]>
|
||||||
</Property>
|
</Property>
|
||||||
|
|||||||
Binary file not shown.
@ -184,7 +184,8 @@ CREATE VIEW V_CLIENTES(
|
|||||||
ID_FORMA_PAGO,
|
ID_FORMA_PAGO,
|
||||||
TIENDA_WEB,
|
TIENDA_WEB,
|
||||||
AGENTE,
|
AGENTE,
|
||||||
RAPEL)
|
RAPEL,
|
||||||
|
EMAIL_ADMINISTRACION)
|
||||||
AS
|
AS
|
||||||
SELECT
|
SELECT
|
||||||
V_CONTACTOS.ID,
|
V_CONTACTOS.ID,
|
||||||
@ -221,7 +222,8 @@ SELECT
|
|||||||
CLIENTES_DATOS.ID_FORMA_PAGO,
|
CLIENTES_DATOS.ID_FORMA_PAGO,
|
||||||
CLIENTES_DATOS.TIENDA_WEB,
|
CLIENTES_DATOS.TIENDA_WEB,
|
||||||
CONTACTOS.NOMBRE AS AGENTE,
|
CONTACTOS.NOMBRE AS AGENTE,
|
||||||
CLIENTES_DATOS.RAPEL
|
CLIENTES_DATOS.RAPEL,
|
||||||
|
CLIENTES_DATOS.EMAIL_ADMINISTRACION
|
||||||
FROM
|
FROM
|
||||||
V_CONTACTOS
|
V_CONTACTOS
|
||||||
LEFT OUTER JOIN CLIENTES_DATOS ON (V_CONTACTOS.ID = CLIENTES_DATOS.ID_CLIENTE)
|
LEFT OUTER JOIN CLIENTES_DATOS ON (V_CONTACTOS.ID = CLIENTES_DATOS.ID_CLIENTE)
|
||||||
@ -257,7 +259,8 @@ CREATE VIEW V_PROVEEDORES(
|
|||||||
REGIMEN_IVA,
|
REGIMEN_IVA,
|
||||||
ID_TIPO_IVA,
|
ID_TIPO_IVA,
|
||||||
ID_FORMA_PAGO,
|
ID_FORMA_PAGO,
|
||||||
TIENDA_WEB)
|
TIENDA_WEB,
|
||||||
|
EMAIL_ADMINISTRACION)
|
||||||
AS
|
AS
|
||||||
SELECT
|
SELECT
|
||||||
V_CONTACTOS.ID,
|
V_CONTACTOS.ID,
|
||||||
@ -286,7 +289,8 @@ SELECT
|
|||||||
PROVEEDORES_DATOS.REGIMEN_IVA,
|
PROVEEDORES_DATOS.REGIMEN_IVA,
|
||||||
PROVEEDORES_DATOS.ID_TIPO_IVA,
|
PROVEEDORES_DATOS.ID_TIPO_IVA,
|
||||||
PROVEEDORES_DATOS.ID_FORMA_PAGO,
|
PROVEEDORES_DATOS.ID_FORMA_PAGO,
|
||||||
PROVEEDORES_DATOS.TIENDA_WEB
|
PROVEEDORES_DATOS.TIENDA_WEB,
|
||||||
|
PROVEEDORES_DATOS.EMAIL_ADMINISTRACION
|
||||||
FROM
|
FROM
|
||||||
PROVEEDORES_DATOS
|
PROVEEDORES_DATOS
|
||||||
INNER JOIN V_CONTACTOS ON (PROVEEDORES_DATOS.ID_PROVEEDOR = V_CONTACTOS.ID)
|
INNER JOIN V_CONTACTOS ON (PROVEEDORES_DATOS.ID_PROVEEDOR = V_CONTACTOS.ID)
|
||||||
@ -869,40 +873,41 @@ SELECT FACTURAS_PROVEEDOR.ID,
|
|||||||
|
|
||||||
|
|
||||||
CREATE VIEW V_FACTURAS_CLIENTE(
|
CREATE VIEW V_FACTURAS_CLIENTE(
|
||||||
ID,
|
ID,
|
||||||
ID_EMPRESA,
|
ID_EMPRESA,
|
||||||
REFERENCIA,
|
REFERENCIA,
|
||||||
TIPO,
|
TIPO,
|
||||||
ID_COMISION_LIQUIDADA,
|
ID_COMISION_LIQUIDADA,
|
||||||
FECHA_FACTURA,
|
FECHA_FACTURA,
|
||||||
SITUACION,
|
SITUACION,
|
||||||
BASE_IMPONIBLE,
|
BASE_IMPONIBLE,
|
||||||
DESCUENTO,
|
DESCUENTO,
|
||||||
IMPORTE_DESCUENTO,
|
IMPORTE_DESCUENTO,
|
||||||
IVA,
|
IVA,
|
||||||
IMPORTE_IVA,
|
IMPORTE_IVA,
|
||||||
RE,
|
RE,
|
||||||
IMPORTE_RE,
|
IMPORTE_RE,
|
||||||
IMPORTE_TOTAL,
|
IMPORTE_TOTAL,
|
||||||
OBSERVACIONES,
|
OBSERVACIONES,
|
||||||
ID_CLIENTE,
|
ID_CLIENTE,
|
||||||
NIF_CIF,
|
NIF_CIF,
|
||||||
NOMBRE,
|
NOMBRE,
|
||||||
CALLE,
|
CALLE,
|
||||||
POBLACION,
|
POBLACION,
|
||||||
PROVINCIA,
|
PROVINCIA,
|
||||||
CODIGO_POSTAL,
|
CODIGO_POSTAL,
|
||||||
FECHA_ALTA,
|
FECHA_ALTA,
|
||||||
FECHA_MODIFICACION,
|
FECHA_MODIFICACION,
|
||||||
USUARIO,
|
USUARIO,
|
||||||
ID_FORMA_PAGO,
|
ID_FORMA_PAGO,
|
||||||
RECARGO_EQUIVALENCIA,
|
RECARGO_EQUIVALENCIA,
|
||||||
ID_TIPO_IVA,
|
ID_TIPO_IVA,
|
||||||
IMPORTE_NETO,
|
IMPORTE_NETO,
|
||||||
IMPORTE_PORTE,
|
IMPORTE_PORTE,
|
||||||
ID_AGENTE,
|
ID_AGENTE,
|
||||||
REFERENCIA_COMISION,
|
REFERENCIA_COMISION,
|
||||||
NUM_COPIAS)
|
NUM_COPIAS,
|
||||||
|
NUM_CORREOS)
|
||||||
AS
|
AS
|
||||||
SELECT FACTURAS_CLIENTE.ID,
|
SELECT FACTURAS_CLIENTE.ID,
|
||||||
FACTURAS_CLIENTE.ID_EMPRESA,
|
FACTURAS_CLIENTE.ID_EMPRESA,
|
||||||
@ -946,7 +951,9 @@ SELECT FACTURAS_CLIENTE.ID,
|
|||||||
LEFT JOIN CLIENTES_DATOS
|
LEFT JOIN CLIENTES_DATOS
|
||||||
ON (CLIENTES_DATOS.ID_CLIENTE = FACTURAS_CLIENTE.ID_CLIENTE)
|
ON (CLIENTES_DATOS.ID_CLIENTE = FACTURAS_CLIENTE.ID_CLIENTE)
|
||||||
LEFT JOIN IMPRESIONES
|
LEFT JOIN IMPRESIONES
|
||||||
ON ((IMPRESIONES.ID_TABLA = FACTURAS_CLIENTE.ID) AND (IMPRESIONES.TABLA = 'FACTURASCLIENTE'));
|
ON ((IMPRESIONES.ID_TABLA = FACTURAS_CLIENTE.ID) AND (IMPRESIONES.TABLA = 'FACTURASCLIENTE'))
|
||||||
|
LEFT JOIN REGISTRO_CORREOS
|
||||||
|
ON ((REGISTRO_CORREOS.ID_TABLA = FACTURAS_CLIENTE.ID) AND (REGISTRO_CORREOS.TABLA = 'FACTURASCLIENTE'));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -2770,4 +2777,4 @@ on ((AGENTES_COMISIONES.ID_AGENTE = AGENTES.ID) and (AGENTES_COMISIONES.ID_PROVE
|
|||||||
|
|
||||||
where (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO is not null) and (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO > 0) /*Quitamos conceptos libres*/
|
where (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO is not null) and (FACTURAS_CLIENTE_DETALLES.ID_ARTICULO > 0) /*Quitamos conceptos libres*/
|
||||||
/*and (FACTURAS_CLIENTE_DETALLES.cantidad > 0) Quitamos los abonos*/
|
/*and (FACTURAS_CLIENTE_DETALLES.cantidad > 0) Quitamos los abonos*/
|
||||||
and (ARTICULOS.INVENTARIABLE = 1);
|
and (ARTICULOS.INVENTARIABLE = 1);
|
||||||
|
|||||||
@ -61,6 +61,7 @@ VARCHAR(20);
|
|||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
CREATE GENERATOR GEN_IMPRESIONES_ID;
|
CREATE GENERATOR GEN_IMPRESIONES_ID;
|
||||||
|
CREATE GENERATOR GEN_REGISTRO_CORREOS_ID;
|
||||||
CREATE GENERATOR GEN_AGENTES_COMISIONES_ID;
|
CREATE GENERATOR GEN_AGENTES_COMISIONES_ID;
|
||||||
CREATE GENERATOR GEN_ALBARANES_CLI_DETALLES_ID;
|
CREATE GENERATOR GEN_ALBARANES_CLI_DETALLES_ID;
|
||||||
CREATE GENERATOR GEN_ALBARANES_CLI_ID;
|
CREATE GENERATOR GEN_ALBARANES_CLI_ID;
|
||||||
@ -107,10 +108,17 @@ CREATE GENERATOR GEN_USUARIOS_ID;
|
|||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
CREATE TABLE IMPRESIONES(
|
CREATE TABLE IMPRESIONES(
|
||||||
ID TIPO_ID NOT NULL,
|
ID TIPO_ID NOT NULL,
|
||||||
ID_TABLA TIPO_ID,
|
ID_TABLA TIPO_ID,
|
||||||
TABLA VARCHAR(50) COLLATE ES_ES,
|
TABLA VARCHAR(50) COLLATE ES_ES,
|
||||||
NUM_COPIAS SMALLINT
|
NUM_COPIAS SMALLINT
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE REGISTRO_CORREOS (
|
||||||
|
ID TIPO_ID NOT NULL /* TIPO_ID = INTEGER */,
|
||||||
|
ID_TABLA TIPO_ID /* TIPO_ID = INTEGER */,
|
||||||
|
TABLA VARCHAR(50) COLLATE ES_ES,
|
||||||
|
NUM_CORREOS SMALLINT
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
@ -297,7 +305,8 @@ CREATE TABLE CLIENTES_DATOS (
|
|||||||
ID_TIPO_IVA TIPO_ID,
|
ID_TIPO_IVA TIPO_ID,
|
||||||
ID_FORMA_PAGO TIPO_ID,
|
ID_FORMA_PAGO TIPO_ID,
|
||||||
TIENDA_WEB TIPO_BOOLEANO,
|
TIENDA_WEB TIPO_BOOLEANO,
|
||||||
RAPEL SMALLINT
|
RAPEL SMALLINT,
|
||||||
|
EMAIL_ADMINISTRACION VARCHAR(255)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
@ -756,7 +765,8 @@ CREATE TABLE PROVEEDORES_DATOS (
|
|||||||
REGIMEN_IVA VARCHAR(255),
|
REGIMEN_IVA VARCHAR(255),
|
||||||
ID_TIPO_IVA TIPO_ID,
|
ID_TIPO_IVA TIPO_ID,
|
||||||
ID_FORMA_PAGO TIPO_ID,
|
ID_FORMA_PAGO TIPO_ID,
|
||||||
TIENDA_WEB TIPO_BOOLEANO
|
TIENDA_WEB TIPO_BOOLEANO,
|
||||||
|
EMAIL_ADMINISTRACION VARCHAR(255)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
@ -1042,6 +1052,7 @@ ALTER TABLE REMESAS_PROVEEDOR ADD CONSTRAINT PK_REMESAS_PROVEEDOR PRIMARY KEY (I
|
|||||||
ALTER TABLE TIENDA_WEB ADD CONSTRAINT PK_TIENDA_WEB PRIMARY KEY (ID);
|
ALTER TABLE TIENDA_WEB ADD CONSTRAINT PK_TIENDA_WEB PRIMARY KEY (ID);
|
||||||
ALTER TABLE TIPOS_IVA ADD PRIMARY KEY (ID);
|
ALTER TABLE TIPOS_IVA ADD PRIMARY KEY (ID);
|
||||||
ALTER TABLE USUARIOS ADD CONSTRAINT PK_USUARIOS PRIMARY KEY (ID);
|
ALTER TABLE USUARIOS ADD CONSTRAINT PK_USUARIOS PRIMARY KEY (ID);
|
||||||
|
ALTER TABLE REGISTRO_CORREOS ADD CONSTRAINT PK_REGISTRO_CORREOS PRIMARY KEY (ID);
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
@ -1089,6 +1100,8 @@ ALTER TABLE TIENDA_WEB ADD CONSTRAINT FK_EMPRESAS_TIENDA_WEB FOREIGN KEY (ID_EMP
|
|||||||
|
|
||||||
CREATE INDEX IMPRESIONES_IDX1 ON IMPRESIONES(ID_TABLA);
|
CREATE INDEX IMPRESIONES_IDX1 ON IMPRESIONES(ID_TABLA);
|
||||||
CREATE INDEX IMPRESIONES_IDX2 ON IMPRESIONES(TABLA);
|
CREATE INDEX IMPRESIONES_IDX2 ON IMPRESIONES(TABLA);
|
||||||
|
CREATE INDEX REGISTRO_CORREOS_IDX1 ON REGISTRO_CORREOS (ID_TABLA);
|
||||||
|
CREATE INDEX REGISTRO_CORREOS_IDX2 ON REGISTRO_CORREOS (TABLA);
|
||||||
CREATE INDEX IDX_AGENTES_COMISIONES1 ON AGENTES_COMISIONES (ID_AGENTE);
|
CREATE INDEX IDX_AGENTES_COMISIONES1 ON AGENTES_COMISIONES (ID_AGENTE);
|
||||||
CREATE INDEX IDX_AGENTES_COMISIONES2 ON AGENTES_COMISIONES (ID_PROVEEDOR);
|
CREATE INDEX IDX_AGENTES_COMISIONES2 ON AGENTES_COMISIONES (ID_PROVEEDOR);
|
||||||
CREATE INDEX ALBARANES_CLIENTE_IDX1 ON ALBARANES_CLIENTE (TIPO);
|
CREATE INDEX ALBARANES_CLIENTE_IDX1 ON ALBARANES_CLIENTE (TIPO);
|
||||||
@ -1687,4 +1700,39 @@ begin
|
|||||||
values (GEN_ID(GEN_IMPRESIONES_ID, 1), UPPER(:TABLA), :ID_TABLA, 1);
|
values (GEN_ID(GEN_IMPRESIONES_ID, 1), UPPER(:TABLA), :ID_TABLA, 1);
|
||||||
end
|
end
|
||||||
suspend;
|
suspend;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
SET TERM ^ ;
|
||||||
|
|
||||||
|
CREATE PROCEDURE PRO_ANADIR_MARCA_ENVIO_CORREO (
|
||||||
|
tabla varchar(255),
|
||||||
|
id_tabla integer)
|
||||||
|
as
|
||||||
|
declare variable id integer;
|
||||||
|
begin
|
||||||
|
select ID
|
||||||
|
from REGISTRO_CORREOS
|
||||||
|
where ID_TABLA = :ID_TABLA
|
||||||
|
and TABLA = UPPER(:TABLA)
|
||||||
|
into :ID;
|
||||||
|
|
||||||
|
/*En el caso de que ya exista se modifica la cantidad en caso contrario se anade el elemento */
|
||||||
|
if (ID > 0) then
|
||||||
|
begin
|
||||||
|
update REGISTRO_CORREOS
|
||||||
|
set NUM_CORREOS = NUM_CORREOS + 1
|
||||||
|
where ID = :ID;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
insert into REGISTRO_CORREOS (ID, TABLA, ID_TABLA, NUM_CORREOS)
|
||||||
|
values (GEN_ID(GEN_REGISTRO_CORREOS_ID, 1), UPPER(:TABLA), :ID_TABLA, 1);
|
||||||
|
end
|
||||||
|
suspend;
|
||||||
|
end^
|
||||||
|
|
||||||
|
SET TERM ; ^
|
||||||
|
|
||||||
|
GRANT SELECT,INSERT,UPDATE ON REGISTRO_CORREOS TO PROCEDURE PRO_ANADIR_MARCA_ENVIO_CORREO;
|
||||||
|
|
||||||
|
GRANT EXECUTE ON PROCEDURE PRO_ANADIR_MARCA_ENVIO_CORREO TO SYSDBA;
|
||||||
@ -103,6 +103,8 @@ contains
|
|||||||
uInfoProjectUtils in 'Utiles\uInfoProjectUtils.pas',
|
uInfoProjectUtils in 'Utiles\uInfoProjectUtils.pas',
|
||||||
uInformeRegistryUtils in 'ClassRegistry\uInformeRegistryUtils.pas',
|
uInformeRegistryUtils in 'ClassRegistry\uInformeRegistryUtils.pas',
|
||||||
uStringsUtils in 'Utiles\uStringsUtils.pas',
|
uStringsUtils in 'Utiles\uStringsUtils.pas',
|
||||||
uDataModuleImpresiones in '..\Modulos\Impresiones\Data\uDataModuleImpresiones.pas' {dmImpresiones: TDataModule};
|
uDataModuleImpresiones in '..\Modulos\Impresiones\Data\uDataModuleImpresiones.pas' {dmImpresiones: TDataModule},
|
||||||
|
uEMailUtils in 'Utiles\uEMailUtils.pas',
|
||||||
|
uDataModuleRegistroCorreos in '..\Modulos\Registro de correos\Data\uDataModuleRegistroCorreos.pas' {dmRegistroCorreos: TDataModule};
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
Binary file not shown.
@ -82,7 +82,8 @@ requires
|
|||||||
PNG_D10,
|
PNG_D10,
|
||||||
PngComponentsD10,
|
PngComponentsD10,
|
||||||
ControllerBase,
|
ControllerBase,
|
||||||
cxIntlPrintSys3D10;
|
cxIntlPrintSys3D10,
|
||||||
|
dxGDIPlusD10;
|
||||||
|
|
||||||
contains
|
contains
|
||||||
uEditorBase in 'uEditorBase.pas' {fEditorBase: TCustomEditor},
|
uEditorBase in 'uEditorBase.pas' {fEditorBase: TCustomEditor},
|
||||||
@ -107,6 +108,8 @@ contains
|
|||||||
uEditorBasico in 'uEditorBasico.pas' {fEditorBasico},
|
uEditorBasico in 'uEditorBasico.pas' {fEditorBasico},
|
||||||
uDialogBase in 'uDialogBase.pas' {fDialogBase},
|
uDialogBase in 'uDialogBase.pas' {fDialogBase},
|
||||||
uViewFiltroBase in 'uViewFiltroBase.pas' {frViewFiltroBase: TFrame},
|
uViewFiltroBase in 'uViewFiltroBase.pas' {frViewFiltroBase: TFrame},
|
||||||
uViewGrid in 'uViewGrid.pas' {frViewGrid: TFrame};
|
uViewGrid in 'uViewGrid.pas' {frViewGrid: TFrame},
|
||||||
|
uDialogElegirEMail in 'uDialogElegirEMail.pas' {fDialogElegirEMail},
|
||||||
|
uDialogListaEnvioEMail in 'uDialogListaEnvioEMail.pas' {fDialogListaEnvioEMail};
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
115
Source/Base/GUIBase/uDialogElegirEMail.dfm
Normal file
115
Source/Base/GUIBase/uDialogElegirEMail.dfm
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
inherited fDialogElegirEMail: TfDialogElegirEMail
|
||||||
|
Caption = 'Elegir direcci'#243'n de correo electr'#243'nico'
|
||||||
|
ClientHeight = 258
|
||||||
|
ClientWidth = 533
|
||||||
|
OnCloseQuery = FormCloseQuery
|
||||||
|
OnCreate = FormCreate
|
||||||
|
OnDestroy = FormDestroy
|
||||||
|
ExplicitWidth = 539
|
||||||
|
ExplicitHeight = 283
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
inherited pnlBotones: TFlowPanel
|
||||||
|
Top = 202
|
||||||
|
Width = 533
|
||||||
|
ExplicitTop = 202
|
||||||
|
ExplicitWidth = 533
|
||||||
|
inherited Button1: TButton
|
||||||
|
Left = 437
|
||||||
|
ExplicitLeft = 437
|
||||||
|
end
|
||||||
|
inherited Button2: TButton
|
||||||
|
Left = 347
|
||||||
|
ExplicitLeft = 347
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited FlowPanel1: TFlowPanel
|
||||||
|
Width = 533
|
||||||
|
Height = 202
|
||||||
|
ExplicitWidth = 533
|
||||||
|
ExplicitHeight = 202
|
||||||
|
inherited lblInstruccion: TLabel
|
||||||
|
Width = 477
|
||||||
|
Caption = 'Indique la direcci'#243'n de correo electr'#243'nico del destinatario:'
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ExplicitWidth = 477
|
||||||
|
end
|
||||||
|
inherited Label2: TLabel
|
||||||
|
Width = 490
|
||||||
|
Height = 45
|
||||||
|
Caption =
|
||||||
|
'Para enviar el correo, puede usar la direcci'#243'n administrativa (s' +
|
||||||
|
'i el cliente la tiene en su ficha) o indicar otra direcci'#243'n dist' +
|
||||||
|
'inta con la segunda opci'#243'n.'
|
||||||
|
WordWrap = True
|
||||||
|
ExplicitWidth = 490
|
||||||
|
ExplicitHeight = 45
|
||||||
|
end
|
||||||
|
object Panel1: TPanel
|
||||||
|
Left = 31
|
||||||
|
Top = 115
|
||||||
|
Width = 482
|
||||||
|
Height = 80
|
||||||
|
Align = alClient
|
||||||
|
BevelOuter = bvNone
|
||||||
|
ParentColor = True
|
||||||
|
TabOrder = 0
|
||||||
|
object rbCombo: TRadioButton
|
||||||
|
Tag = 1
|
||||||
|
Left = 10
|
||||||
|
Top = 6
|
||||||
|
Width = 170
|
||||||
|
Height = 17
|
||||||
|
Caption = 'Usar la direcci'#243'n administrativa:'
|
||||||
|
TabOrder = 0
|
||||||
|
OnClick = rbComboClick
|
||||||
|
end
|
||||||
|
object cbEMail: TComboBox
|
||||||
|
Left = 211
|
||||||
|
Top = 6
|
||||||
|
Width = 262
|
||||||
|
Height = 21
|
||||||
|
Style = csDropDownList
|
||||||
|
ItemHeight = 13
|
||||||
|
TabOrder = 1
|
||||||
|
end
|
||||||
|
object rbEdit: TRadioButton
|
||||||
|
Tag = 2
|
||||||
|
Left = 10
|
||||||
|
Top = 41
|
||||||
|
Width = 202
|
||||||
|
Height = 17
|
||||||
|
Caption = 'Usar la siguiente direcci'#243'n de correo:'
|
||||||
|
TabOrder = 2
|
||||||
|
OnClick = rbEditClick
|
||||||
|
end
|
||||||
|
object edtEMail: TcxHyperLinkEdit
|
||||||
|
Left = 211
|
||||||
|
Top = 39
|
||||||
|
Properties.UsePrefix = upNever
|
||||||
|
Properties.ValidateOnEnter = True
|
||||||
|
Properties.Prefix = ''
|
||||||
|
Style.LookAndFeel.Kind = lfStandard
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.LookAndFeel.Kind = lfStandard
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleFocused.LookAndFeel.Kind = lfStandard
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.Kind = lfStandard
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 3
|
||||||
|
Width = 262
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited ActionList1: TActionList
|
||||||
|
Left = 8
|
||||||
|
Top = 8
|
||||||
|
inherited actAceptar: TAction
|
||||||
|
OnExecute = actAceptarExecute
|
||||||
|
end
|
||||||
|
inherited actCancelar: TAction
|
||||||
|
OnExecute = actCancelarExecute
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
173
Source/Base/GUIBase/uDialogElegirEMail.pas
Normal file
173
Source/Base/GUIBase/uDialogElegirEMail.pas
Normal file
@ -0,0 +1,173 @@
|
|||||||
|
unit uDialogElegirEMail;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uDialogBase, ActnList, StdCtrls, ExtCtrls, cxControls, cxContainer,
|
||||||
|
cxEdit, cxTextEdit, cxHyperLinkEdit;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfDialogElegirEMail = class(TfDialogBase)
|
||||||
|
Panel1: TPanel;
|
||||||
|
rbCombo: TRadioButton;
|
||||||
|
cbEMail: TComboBox;
|
||||||
|
rbEdit: TRadioButton;
|
||||||
|
edtEMail: TcxHyperLinkEdit;
|
||||||
|
procedure rbComboClick(Sender: TObject);
|
||||||
|
procedure rbEditClick(Sender: TObject);
|
||||||
|
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure FormDestroy(Sender: TObject);
|
||||||
|
procedure FormShow(Sender: TObject);
|
||||||
|
procedure actAceptarExecute(Sender: TObject);
|
||||||
|
procedure actCancelarExecute(Sender: TObject);
|
||||||
|
private
|
||||||
|
FListaDirecciones: TStringList;
|
||||||
|
function GetEMailElegido: String;
|
||||||
|
procedure ActualizarOpciones;
|
||||||
|
public
|
||||||
|
property EMailElegido: String read GetEMailElegido;
|
||||||
|
property ListaDirecciones : TStringList read FListaDirecciones write FListaDirecciones;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function ElegirEMail(const AListaEMails : TStringList; var AEMailElegido : String): Boolean;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
uses
|
||||||
|
uStringsUtils, uDialogUtils, uEMailUtils;
|
||||||
|
|
||||||
|
function ElegirEMail(const AListaEMails : TStringList; var AEMailElegido : String): Boolean;
|
||||||
|
var
|
||||||
|
AEditor : TfDialogElegirEMail;
|
||||||
|
begin
|
||||||
|
AEditor := TfDialogElegirEMail.Create(NIL);
|
||||||
|
try
|
||||||
|
AEditor.ListaDirecciones := AListaEMails;
|
||||||
|
Result := (AEditor.ShowModal = mrOk);
|
||||||
|
if Result then
|
||||||
|
AEMailElegido := AEditor.EMailElegido;
|
||||||
|
finally
|
||||||
|
AEditor.Release;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
{ TfDialogElegirEMail }
|
||||||
|
|
||||||
|
procedure TfDialogElegirEMail.actAceptarExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
ModalResult := mrOk
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogElegirEMail.actCancelarExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
ModalResult := mrCancel;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogElegirEMail.ActualizarOpciones;
|
||||||
|
begin
|
||||||
|
if rbEdit.Checked then
|
||||||
|
begin
|
||||||
|
edtEMail.Enabled := True;
|
||||||
|
rbCombo.Checked := False;
|
||||||
|
cbEMail.Enabled := False;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
if rbCombo.Enabled then
|
||||||
|
begin
|
||||||
|
cbEMail.Enabled := True;
|
||||||
|
edtEMail.Enabled := False;
|
||||||
|
rbEdit.Checked := False;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
rbEdit.Checked := True;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogElegirEMail.FormCloseQuery(Sender: TObject;
|
||||||
|
var CanClose: Boolean);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
|
||||||
|
if (ModalResult = mrOk) and rbEdit.Checked then
|
||||||
|
begin
|
||||||
|
if not EsCadenaVacia(edtEMail.Text) then
|
||||||
|
begin
|
||||||
|
if not EsDireccionEMailValida(edtEMail.Text) then
|
||||||
|
begin
|
||||||
|
ShowErrorMessage('La dirección de correo electrónica no es válida', 'Para poder continuar, compruebe que ha indicado una dirección de correo y que está bien escrita.');
|
||||||
|
edtEMail.SetFocus;
|
||||||
|
CanClose := False;
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
ShowErrorMessage('Debe indicar una dirección de correo electrónico.', 'Para poder continuar debe elegir o indicar una dirección de correo electrónico.');
|
||||||
|
edtEMail.SetFocus;
|
||||||
|
CanClose := False;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogElegirEMail.FormCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
//FListaDirecciones := TStringList.Create; <- La lista se da mediante la propiedad.
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogElegirEMail.FormDestroy(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
//FreeAndNIL(FListaDirecciones) <- La lista se da mediante la propiedad.
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogElegirEMail.FormShow(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
cbEMail.Items.Clear;
|
||||||
|
cbEMail.Items := FListaDirecciones;
|
||||||
|
|
||||||
|
if cbEMail.Items.Count = 0 then
|
||||||
|
begin
|
||||||
|
cbEmail.Items.Add('Sin dirección administrativa');
|
||||||
|
cbEMail.ItemIndex := 0;
|
||||||
|
rbCombo.Enabled := False;
|
||||||
|
rbEdit.Checked;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
cbEMail.ItemIndex := 0;
|
||||||
|
rbCombo.Checked := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
ActualizarOpciones;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TfDialogElegirEMail.GetEMailElegido: String;
|
||||||
|
begin
|
||||||
|
if rbCombo.Checked then
|
||||||
|
Result := cbEMail.Text
|
||||||
|
else
|
||||||
|
Result := edtEMail.Text;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogElegirEMail.rbComboClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
rbEdit.Checked := False;
|
||||||
|
ActualizarOpciones;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogElegirEMail.rbEditClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
rbEdit.Checked := True;
|
||||||
|
ActualizarOpciones;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
29
Source/Base/GUIBase/uDialogListaEnvioEMail.dfm
Normal file
29
Source/Base/GUIBase/uDialogListaEnvioEMail.dfm
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
inherited fDialogListaEnvioEMail: TfDialogListaEnvioEMail
|
||||||
|
Caption = 'fDialogListaEnvioEMail'
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
inherited FlowPanel1: TFlowPanel
|
||||||
|
object ListView1: TListView
|
||||||
|
Left = 31
|
||||||
|
Top = 151
|
||||||
|
Width = 571
|
||||||
|
Height = 197
|
||||||
|
Align = alClient
|
||||||
|
Columns = <
|
||||||
|
item
|
||||||
|
Caption = 'Documento'
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Caption = 'Destinatario'
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Caption = 'Direcci'#243'n E-Mail'
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Caption = 'Estado'
|
||||||
|
end>
|
||||||
|
TabOrder = 0
|
||||||
|
ViewStyle = vsReport
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
22
Source/Base/GUIBase/uDialogListaEnvioEMail.pas
Normal file
22
Source/Base/GUIBase/uDialogListaEnvioEMail.pas
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
unit uDialogListaEnvioEMail;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uDialogBase, ActnList, StdCtrls, ExtCtrls, ComCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfDialogListaEnvioEMail = class(TfDialogBase)
|
||||||
|
ListView1: TListView;
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
end.
|
||||||
@ -36,6 +36,7 @@ type
|
|||||||
|
|
||||||
procedure SaveGridStatus;
|
procedure SaveGridStatus;
|
||||||
procedure RestoreGridStatus;
|
procedure RestoreGridStatus;
|
||||||
|
|
||||||
procedure DesactivarGrid;
|
procedure DesactivarGrid;
|
||||||
procedure ActivarGrid;
|
procedure ActivarGrid;
|
||||||
|
|
||||||
@ -95,6 +96,7 @@ type
|
|||||||
FFilter: string;
|
FFilter: string;
|
||||||
FOnFilterChanged : TNotifyEvent;
|
FOnFilterChanged : TNotifyEvent;
|
||||||
FGridStatus : TcxGridStatus;
|
FGridStatus : TcxGridStatus;
|
||||||
|
procedure BestFitAllColumns;
|
||||||
protected
|
protected
|
||||||
FOnDblClick: TNotifyEvent;
|
FOnDblClick: TNotifyEvent;
|
||||||
FPopupMenu: TPopupMenu;
|
FPopupMenu: TPopupMenu;
|
||||||
@ -190,9 +192,34 @@ end;
|
|||||||
procedure TfrViewGridBase.AjustarAncho;
|
procedure TfrViewGridBase.AjustarAncho;
|
||||||
begin
|
begin
|
||||||
if Assigned(_FocusedView) then
|
if Assigned(_FocusedView) then
|
||||||
_FocusedView.ApplyBestFit;
|
//_FocusedView.ApplyBestFit;
|
||||||
|
BestFitAllColumns;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGridBase.BestFitAllColumns;
|
||||||
|
var
|
||||||
|
i : Integer ;
|
||||||
|
begin
|
||||||
|
ShowHourglassCursor;
|
||||||
|
_FocusedView.BeginUpdate;
|
||||||
|
try
|
||||||
|
for i := 0 to _FocusedView.ColumnCount-1 do
|
||||||
|
begin
|
||||||
|
_FocusedView.Columns[i].ApplyBestFit;
|
||||||
|
if _FocusedView.Columns[i].BestFitMaxWidth > 0 then
|
||||||
|
begin
|
||||||
|
if (_FocusedView.Columns[i].Width > _FocusedView.Columns[i].BestFitMaxWidth) then
|
||||||
|
_FocusedView.Columns[i].Width := _FocusedView.Columns[i].BestFitMaxWidth;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
_FocusedView.EndUpdate;
|
||||||
|
HideHourglassCursor;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.AnadirOtrosFiltros;
|
procedure TfrViewGridBase.AnadirOtrosFiltros;
|
||||||
begin
|
begin
|
||||||
//
|
//
|
||||||
|
|||||||
457
Source/Base/Utiles/uEMailUtils.pas
Normal file
457
Source/Base/Utiles/uEMailUtils.pas
Normal file
@ -0,0 +1,457 @@
|
|||||||
|
unit uEMailUtils;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
|
||||||
|
|
||||||
|
type
|
||||||
|
{ Introducing a new Type of Event to get the Errorcode }
|
||||||
|
TMapiErrEvent = procedure(Sender: TObject; ErrCode: Integer) of object;
|
||||||
|
|
||||||
|
TMapiControl = class(TComponent)
|
||||||
|
constructor Create(AOwner: TComponent); override;
|
||||||
|
destructor Destroy; override;
|
||||||
|
private
|
||||||
|
{ Private-Deklarationen }
|
||||||
|
FSubject: string;
|
||||||
|
FMailtext: string;
|
||||||
|
FFromName: string;
|
||||||
|
FFromAdress: string;
|
||||||
|
FTOAdr: TStrings;
|
||||||
|
FCCAdr: TStrings;
|
||||||
|
FBCCAdr: TStrings;
|
||||||
|
FAttachedFileName: TStrings;
|
||||||
|
FDisplayFileName: TStrings;
|
||||||
|
FShowDialog: Boolean;
|
||||||
|
FUseAppHandle: Boolean;
|
||||||
|
{ Error Events: }
|
||||||
|
{ FOnUserAbort: TNotifyEvent;
|
||||||
|
FOnMapiError: TMapiErrEvent;
|
||||||
|
FOnSuccess: TNotifyEvent;}
|
||||||
|
{ +> Changes by Eugene Mayevski [mailto:Mayevski@eldos.org]}
|
||||||
|
procedure SetToAddr(newValue: TStrings);
|
||||||
|
procedure SetCCAddr(newValue: TStrings);
|
||||||
|
procedure SetBCCAddr(newValue: TStrings);
|
||||||
|
procedure SetAttachedFileName(newValue: TStrings);
|
||||||
|
{ +< Changes }
|
||||||
|
protected
|
||||||
|
{ Protected-Deklarationen }
|
||||||
|
public
|
||||||
|
{ Public-Deklarationen }
|
||||||
|
ApplicationHandle: THandle;
|
||||||
|
function Sendmail: Boolean;
|
||||||
|
procedure Reset;
|
||||||
|
published
|
||||||
|
{ Published-Deklarationen }
|
||||||
|
property Subject: string read FSubject write FSubject;
|
||||||
|
property Body: string read FMailText write FMailText;
|
||||||
|
property FromName: string read FFromName write FFromName;
|
||||||
|
property FromAdress: string read FFromAdress write FFromAdress;
|
||||||
|
property Recipients: TStrings read FTOAdr write SetTOAddr;
|
||||||
|
property CopyTo: TStrings read FCCAdr write SetCCAddr;
|
||||||
|
property BlindCopyTo: TStrings read FBCCAdr write SetBCCAddr;
|
||||||
|
property AttachedFiles: TStrings read FAttachedFileName write SetAttachedFileName;
|
||||||
|
property DisplayFileName: TStrings read FDisplayFileName;
|
||||||
|
property ShowDialog: Boolean read FShowDialog write FShowDialog;
|
||||||
|
property UseAppHandle: Boolean read FUseAppHandle write FUseAppHandle;
|
||||||
|
|
||||||
|
{ Events: }
|
||||||
|
{property OnUserAbort: TNotifyEvent read FOnUserAbort write FOnUserAbort;
|
||||||
|
property OnMapiError: TMapiErrEvent read FOnMapiError write FOnMapiError;
|
||||||
|
property OnSuccess: TNotifyEvent read FOnSuccess write FOnSuccess;}
|
||||||
|
end;
|
||||||
|
|
||||||
|
function EsDireccionEMailValida(const Value: string): boolean;
|
||||||
|
function EnviarEMailMAPI(const AAsunto, ACuerpo, AFicheroAdjunto, ANombreRemitente, AEMailRemitente,
|
||||||
|
ANombreDestinatario, AEMailDestinatario: String; AEnviarDirectamente: Boolean = false) : boolean;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
MAPI;
|
||||||
|
|
||||||
|
function EsDireccionEMailValida(const Value: string): boolean;
|
||||||
|
function CheckAllowed(const s: string): boolean;
|
||||||
|
var
|
||||||
|
i: integer;
|
||||||
|
begin
|
||||||
|
Result:= false;
|
||||||
|
for i:= 1 to Length(s) do
|
||||||
|
begin
|
||||||
|
// illegal char in s -> no valid address
|
||||||
|
if not (s[i] in ['a'..'z','A'..'Z','0'..'9','_','-','.']) then
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
Result:= true;
|
||||||
|
end;
|
||||||
|
var
|
||||||
|
i: integer;
|
||||||
|
namePart, serverPart: string;
|
||||||
|
begin // of IsValidEmail
|
||||||
|
Result:= false;
|
||||||
|
i:= Pos('@', Value);
|
||||||
|
if (i = 0) or (pos('..', Value) > 0) then
|
||||||
|
Exit;
|
||||||
|
namePart:= Copy(Value, 1, i - 1);
|
||||||
|
serverPart:= Copy(Value, i + 1, Length(Value));
|
||||||
|
if (Length(namePart) = 0) // @ or name missing
|
||||||
|
or ((Length(serverPart) < 4)) // name or server missing or
|
||||||
|
then Exit; // too short
|
||||||
|
i:= Pos('.', serverPart);
|
||||||
|
// must have dot and at least 3 places from end
|
||||||
|
if (i < 2) or (i > (Length(serverPart) - 2)) then
|
||||||
|
Exit;
|
||||||
|
Result:= CheckAllowed(namePart) and CheckAllowed(serverPart);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function EnviarEMailMAPI(const AAsunto, ACuerpo, AFicheroAdjunto, ANombreRemitente, AEMailRemitente,
|
||||||
|
ANombreDestinatario, AEMailDestinatario: String; AEnviarDirectamente: Boolean = false) : boolean;
|
||||||
|
var
|
||||||
|
AMAPIControl : TMapiControl;
|
||||||
|
begin
|
||||||
|
AMAPIControl := TMapiControl.Create(NIL);
|
||||||
|
try
|
||||||
|
with AMAPIControl do
|
||||||
|
begin
|
||||||
|
Subject := AAsunto;
|
||||||
|
Body := ACuerpo;
|
||||||
|
FromName := ANombreRemitente;
|
||||||
|
FromAdress := AEMailRemitente;
|
||||||
|
|
||||||
|
Recipients.Add(AEMailDestinatario);
|
||||||
|
AttachedFiles.Add(AFicheroAdjunto);
|
||||||
|
|
||||||
|
ShowDialog := not AEnviarDirectamente;
|
||||||
|
end;
|
||||||
|
Result := AMAPIControl.Sendmail;
|
||||||
|
finally
|
||||||
|
FreeANDNIL(AMAPIControl);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
{ TMapiControl }
|
||||||
|
|
||||||
|
constructor TMapiControl.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
inherited Create(AOwner);
|
||||||
|
{FOnUserAbort := nil;
|
||||||
|
FOnMapiError := nil;
|
||||||
|
FOnSuccess := nil;}
|
||||||
|
FSubject := '';
|
||||||
|
FMailtext := '';
|
||||||
|
FFromName := '';
|
||||||
|
FFromAdress := '';
|
||||||
|
FTOAdr := TStringList.Create;
|
||||||
|
FCCAdr := TStringList.Create;
|
||||||
|
FBCCAdr := TStringList.Create;
|
||||||
|
FAttachedFileName := TStringList.Create;
|
||||||
|
FDisplayFileName := TStringList.Create;
|
||||||
|
FShowDialog := False;
|
||||||
|
ApplicationHandle := Application.Handle;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ +> Changes by Eugene Mayevski [mailto:Mayevski@eldos.org]}
|
||||||
|
|
||||||
|
procedure TMapiControl.SetToAddr(newValue: TStrings);
|
||||||
|
begin
|
||||||
|
FToAdr.Assign(newValue);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMapiControl.SetCCAddr(newValue: TStrings);
|
||||||
|
begin
|
||||||
|
FCCAdr.Assign(newValue);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMapiControl.SetBCCAddr(newValue: TStrings);
|
||||||
|
begin
|
||||||
|
FBCCAdr.Assign(newValue);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMapiControl.SetAttachedFileName(newValue: TStrings);
|
||||||
|
begin
|
||||||
|
FAttachedFileName.Assign(newValue);
|
||||||
|
end;
|
||||||
|
{ +< Changes }
|
||||||
|
|
||||||
|
destructor TMapiControl.Destroy;
|
||||||
|
begin
|
||||||
|
FTOAdr.Free;
|
||||||
|
FCCAdr.Free;
|
||||||
|
FBCCAdr.Free;
|
||||||
|
FAttachedFileName.Free;
|
||||||
|
FDisplayFileName.Free;
|
||||||
|
inherited destroy;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ Reset the fields for re-use}
|
||||||
|
|
||||||
|
procedure TMapiControl.Reset;
|
||||||
|
begin
|
||||||
|
FSubject := '';
|
||||||
|
FMailtext := '';
|
||||||
|
FFromName := '';
|
||||||
|
FFromAdress := '';
|
||||||
|
FTOAdr.Clear;
|
||||||
|
FCCAdr.Clear;
|
||||||
|
FBCCAdr.Clear;
|
||||||
|
FAttachedFileName.Clear;
|
||||||
|
FDisplayFileName.Clear;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ Send the Mail via the API, this procedure composes and sends
|
||||||
|
the Email }
|
||||||
|
|
||||||
|
function TMapiControl.Sendmail: Boolean;
|
||||||
|
var
|
||||||
|
MapiMessage: TMapiMessage;
|
||||||
|
MError: Cardinal;
|
||||||
|
Sender: TMapiRecipDesc;
|
||||||
|
PRecip, Recipients: PMapiRecipDesc;
|
||||||
|
PFiles, Attachments: PMapiFileDesc;
|
||||||
|
i: Integer;
|
||||||
|
AppHandle: THandle;
|
||||||
|
begin
|
||||||
|
{ First we store the Application Handle, if not
|
||||||
|
the Component might fail to send the Email or
|
||||||
|
your calling Program gets locked up. }
|
||||||
|
AppHandle := Application.Handle;
|
||||||
|
|
||||||
|
{ Initialize the Attachment Pointer, to keep Delphi quiet }
|
||||||
|
PFiles := nil;
|
||||||
|
|
||||||
|
{ We need all recipients to alloc the memory }
|
||||||
|
MapiMessage.nRecipCount := FTOAdr.Count + FCCAdr.Count + FBCCAdr.Count;
|
||||||
|
GetMem(Recipients, MapiMessage.nRecipCount * sizeof(TMapiRecipDesc));
|
||||||
|
|
||||||
|
try
|
||||||
|
with MapiMessage do
|
||||||
|
begin
|
||||||
|
ulReserved := 0;
|
||||||
|
{ Setting the Subject: }
|
||||||
|
lpszSubject := PChar(Self.FSubject);
|
||||||
|
|
||||||
|
{ ... the Body: }
|
||||||
|
lpszNoteText := PChar(FMailText);
|
||||||
|
|
||||||
|
lpszMessageType := nil;
|
||||||
|
lpszDateReceived := nil;
|
||||||
|
lpszConversationID := nil;
|
||||||
|
flFlags := 0;
|
||||||
|
|
||||||
|
{ and the sender: (MAPI_ORIG) }
|
||||||
|
Sender.ulReserved := 0;
|
||||||
|
Sender.ulRecipClass := MAPI_ORIG;
|
||||||
|
Sender.lpszName := PChar(FromName);
|
||||||
|
Sender.lpszAddress := PChar(FromAdress);
|
||||||
|
Sender.ulEIDSize := 0;
|
||||||
|
Sender.lpEntryID := nil;
|
||||||
|
lpOriginator := @Sender;
|
||||||
|
|
||||||
|
PRecip := Recipients;
|
||||||
|
|
||||||
|
{ We have multiple recipients: (MAPI_TO)
|
||||||
|
and setting up each: }
|
||||||
|
if nRecipCount > 0 then
|
||||||
|
begin
|
||||||
|
for i := 1 to FTOAdr.Count do
|
||||||
|
begin
|
||||||
|
PRecip^.ulReserved := 0;
|
||||||
|
PRecip^.ulRecipClass := MAPI_TO;
|
||||||
|
{ lpszName should carry the Name like in the
|
||||||
|
contacts or the adress book, I will take the
|
||||||
|
email adress to keep it short: }
|
||||||
|
PRecip^.lpszName := PChar(FTOAdr.Strings[i - 1]);
|
||||||
|
{ If you use this component with Outlook97 or 2000
|
||||||
|
and not some of Express versions you will have to set
|
||||||
|
'SMTP:' in front of each (email-) adress. Otherwise
|
||||||
|
Outlook/Mapi will try to handle the Email on itself.
|
||||||
|
Sounds strange, just erease the 'SMTP:', compile, compose
|
||||||
|
a mail and take a look at the resulting email adresses
|
||||||
|
(right click).
|
||||||
|
}
|
||||||
|
{ +> Changes by Andreas Hoerig [mailto:andreas.hoerig@sillner.com] }
|
||||||
|
PRecip^.lpszAddress := StrNew(PChar('SMTP:' + FTOAdr.Strings[i - 1]));
|
||||||
|
{ +< Changes }
|
||||||
|
PRecip^.ulEIDSize := 0;
|
||||||
|
PRecip^.lpEntryID := nil;
|
||||||
|
Inc(PRecip);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ Same with the carbon copy recipients: (CC, MAPI_CC) }
|
||||||
|
for i := 1 to FCCAdr.Count do
|
||||||
|
begin
|
||||||
|
PRecip^.ulReserved := 0;
|
||||||
|
PRecip^.ulRecipClass := MAPI_CC;
|
||||||
|
PRecip^.lpszName := PChar(FCCAdr.Strings[i - 1]);
|
||||||
|
{ +> Changes by Andreas Hoerig [mailto:andreas.hoerig@sillner.com] }
|
||||||
|
PRecip^.lpszAddress := StrNew(PChar('SMTP:' + FCCAdr.Strings[i - 1]));
|
||||||
|
{ +< Changes }
|
||||||
|
PRecip^.ulEIDSize := 0;
|
||||||
|
PRecip^.lpEntryID := nil;
|
||||||
|
Inc(PRecip);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ ... and the blind copy recipients: (BCC, MAPI_BCC) }
|
||||||
|
for i := 1 to FBCCAdr.Count do
|
||||||
|
begin
|
||||||
|
PRecip^.ulReserved := 0;
|
||||||
|
PRecip^.ulRecipClass := MAPI_BCC;
|
||||||
|
PRecip^.lpszName := PChar(FBCCAdr.Strings[i - 1]);
|
||||||
|
{ +> Changes by Andreas Hoerig [mailto:andreas.hoerig@sillner.com] }
|
||||||
|
PRecip^.lpszAddress := StrNew(PChar('SMTP:' + FBCCAdr.Strings[i - 1]));
|
||||||
|
{ +< Changes }
|
||||||
|
PRecip^.ulEIDSize := 0;
|
||||||
|
PRecip^.lpEntryID := nil;
|
||||||
|
Inc(PRecip);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
lpRecips := Recipients;
|
||||||
|
|
||||||
|
{ Now we process the attachments: }
|
||||||
|
nFileCount := FAttachedFileName.Count;
|
||||||
|
if nFileCount > 0 then
|
||||||
|
begin
|
||||||
|
GetMem(Attachments, nFileCount * sizeof(TMapiFileDesc));
|
||||||
|
PFiles := Attachments;
|
||||||
|
|
||||||
|
{ Fist setting up the display names (without path): }
|
||||||
|
FDisplayFileName.Clear;
|
||||||
|
for i := 1 to FAttachedFileName.Count do
|
||||||
|
FDisplayFileName.Add(ExtractFileName(FAttachedFileName[i - 1]));
|
||||||
|
|
||||||
|
if nFileCount > 0 then
|
||||||
|
begin
|
||||||
|
{ Now we pass the attached file (their paths) to the
|
||||||
|
structure: }
|
||||||
|
for i := 1 to FAttachedFileName.Count do
|
||||||
|
begin
|
||||||
|
{ Setting the complete Path }
|
||||||
|
Attachments^.lpszPathName := PChar(FAttachedFileName.Strings[i - 1]);
|
||||||
|
{ ... and the displayname: }
|
||||||
|
Attachments^.lpszFileName := PChar(FDisplayFileName.Strings[i - 1]);
|
||||||
|
Attachments^.ulReserved := 0;
|
||||||
|
Attachments^.flFlags := 0;
|
||||||
|
{ Position has to be -1, please see the WinApi Help
|
||||||
|
for details. }
|
||||||
|
Attachments^.nPosition := Cardinal(-1);
|
||||||
|
Attachments^.lpFileType := nil;
|
||||||
|
Inc(Attachments);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
lpFiles := PFiles;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
nFileCount := 0;
|
||||||
|
lpFiles := nil;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ Send the Mail, silent or verbose:
|
||||||
|
Verbose means in Express a Mail is composed and shown as setup.
|
||||||
|
In non-Express versions we show the Login-Dialog for a new
|
||||||
|
session and after we have choosen the profile to use, the
|
||||||
|
composed email is shown before sending
|
||||||
|
|
||||||
|
Silent does currently not work for non-Express version. We have
|
||||||
|
no Session, no Login Dialog so the system refuses to compose a
|
||||||
|
new email. In Express Versions the email is sent in the
|
||||||
|
background.
|
||||||
|
|
||||||
|
Please Note: It seems that your success on the delivery depends
|
||||||
|
on a combination of MAPI-Flags (MAPI_DIALOG, MAPI_LOGON_UI, ...)
|
||||||
|
and your used OS and Office Version. I am currently using
|
||||||
|
Win2K SP1 and Office 2K SP2 with no problems at all.
|
||||||
|
If you experience problems on another versions, please try
|
||||||
|
a different combination of flags for each purpose (Dialog or not).
|
||||||
|
I would be glad to setup a table with working flags on
|
||||||
|
each OS/Office combination, just drop me a line.
|
||||||
|
|
||||||
|
Possible combinations are also (with Dialog):
|
||||||
|
1. MAPI_DIALOG or MAPI_LOGON_UI MAPI_NEW_SESSION or MAPI_USE_DEFAULT
|
||||||
|
2. MAPI_SIMPLE_DEFAULT
|
||||||
|
|
||||||
|
See MAPI.PAS or MAPI.H (SDK) for more...
|
||||||
|
}
|
||||||
|
if FShowDialog then
|
||||||
|
MError := MapiSendMail(0, AppHandle, MapiMessage, MAPI_DIALOG or MAPI_LOGON_UI or MAPI_NEW_SESSION, 0)
|
||||||
|
else
|
||||||
|
MError := MapiSendMail(0, AppHandle, MapiMessage, 0, 0);
|
||||||
|
|
||||||
|
{ Now we have to process the error messages. There are some
|
||||||
|
defined in the MAPI unit please take a look at the unit to get
|
||||||
|
familiar with it.
|
||||||
|
I decided to handle USER_ABORT and SUCCESS as special and leave
|
||||||
|
the rest to fire the "new" error event defined at the top (as
|
||||||
|
generic error)
|
||||||
|
|
||||||
|
Not treated as special (constants from mapi.pas):
|
||||||
|
|
||||||
|
MAPI_E_FAILURE = 2;
|
||||||
|
MAPI_E_LOGON_FAILURE = 3;
|
||||||
|
MAPI_E_LOGIN_FAILURE = MAPI_E_LOGON_FAILURE;
|
||||||
|
MAPI_E_DISK_FULL = 4;
|
||||||
|
MAPI_E_INSUFFICIENT_MEMORY = 5;
|
||||||
|
MAPI_E_ACCESS_DENIED = 6;
|
||||||
|
MAPI_E_TOO_MANY_SESSIONS = 8;
|
||||||
|
MAPI_E_TOO_MANY_FILES = 9;
|
||||||
|
MAPI_E_TOO_MANY_RECIPIENTS = 10;
|
||||||
|
MAPI_E_ATTACHMENT_NOT_FOUND = 11;
|
||||||
|
MAPI_E_ATTACHMENT_OPEN_FAILURE = 12;
|
||||||
|
MAPI_E_ATTACHMENT_WRITE_FAILURE = 13;
|
||||||
|
MAPI_E_UNKNOWN_RECIPIENT = 14;
|
||||||
|
MAPI_E_BAD_RECIPTYPE = 15;
|
||||||
|
MAPI_E_NO_MESSAGES = 16;
|
||||||
|
MAPI_E_INVALID_MESSAGE = 17;
|
||||||
|
MAPI_E_TEXT_TOO_LARGE = 18;
|
||||||
|
MAPI_E_INVALID_SESSION = 19;
|
||||||
|
MAPI_E_TYPE_NOT_SUPPORTED = 20;
|
||||||
|
MAPI_E_AMBIGUOUS_RECIPIENT = 21;
|
||||||
|
MAPI_E_AMBIG_RECIP = MAPI_E_AMBIGUOUS_RECIPIENT;
|
||||||
|
MAPI_E_MESSAGE_IN_USE = 22;
|
||||||
|
MAPI_E_NETWORK_FAILURE = 23;
|
||||||
|
MAPI_E_INVALID_EDITFIELDS = 24;
|
||||||
|
MAPI_E_INVALID_RECIPS = 25;
|
||||||
|
MAPI_E_NOT_SUPPORTED = 26;
|
||||||
|
}
|
||||||
|
|
||||||
|
{ case MError of
|
||||||
|
MAPI_E_USER_ABORT:
|
||||||
|
begin
|
||||||
|
if Assigned(FOnUserAbort) then
|
||||||
|
FOnUserAbort(Self);
|
||||||
|
end;
|
||||||
|
SUCCESS_SUCCESS:
|
||||||
|
begin
|
||||||
|
if Assigned(FOnSuccess) then
|
||||||
|
FOnSuccess(Self);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
if Assigned(FOnMapiError) then
|
||||||
|
FOnMapiError(Self, MError);
|
||||||
|
end;
|
||||||
|
end;}
|
||||||
|
Result := (MError = 0);
|
||||||
|
|
||||||
|
finally
|
||||||
|
{ Finally we do the cleanups, the message should be on its way }
|
||||||
|
{ +> Changes by Andreas Hoerig [mailto:andreas.hoerig@sillner.com] }
|
||||||
|
PRecip := Recipients;
|
||||||
|
for i := 1 to MapiMessage.nRecipCount do
|
||||||
|
begin
|
||||||
|
StrDispose(PRecip^.lpszAddress);
|
||||||
|
Inc(PRecip)
|
||||||
|
end;
|
||||||
|
{ +< Changes }
|
||||||
|
FreeMem(Recipients, MapiMessage.nRecipCount * sizeof(TMapiRecipDesc));
|
||||||
|
{ +> Changes due to Ken Halliwell [mailto:kjhalliwell@aol.com] }
|
||||||
|
if Assigned(PFiles) then
|
||||||
|
FreeMem(PFiles, MapiMessage.nFileCount * sizeof(TMapiFileDesc));
|
||||||
|
{ +< Changes }
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
@ -3,7 +3,7 @@ unit uIntegerListUtils;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes;
|
Classes, FactuGES_Intf;
|
||||||
|
|
||||||
type
|
type
|
||||||
TIntegerList = class(TList)
|
TIntegerList = class(TList)
|
||||||
@ -14,10 +14,15 @@ type
|
|||||||
procedure Add(Value: integer); reintroduce;
|
procedure Add(Value: integer); reintroduce;
|
||||||
function Find(Value: integer; var Index: Integer): Boolean;
|
function Find(Value: integer; var Index: Integer): Boolean;
|
||||||
property Integers[index: integer]: integer read GetInteger write SetInteger; default;
|
property Integers[index: integer]: integer read GetInteger write SetInteger; default;
|
||||||
|
function ToIntegerArray : TIntegerArray;
|
||||||
|
function ToString : String;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
SysUtils;
|
||||||
|
|
||||||
function TIntegerList.GetInteger(Index: integer): integer;
|
function TIntegerList.GetInteger(Index: integer): integer;
|
||||||
begin
|
begin
|
||||||
result := Integer(Items[index]);
|
result := Integer(Items[index]);
|
||||||
@ -28,6 +33,30 @@ begin
|
|||||||
Items[index] := Pointer(Value);
|
Items[index] := Pointer(Value);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TIntegerList.ToIntegerArray: TIntegerArray;
|
||||||
|
var
|
||||||
|
i : Integer;
|
||||||
|
begin
|
||||||
|
Result := TIntegerArray.Create;
|
||||||
|
for i := 0 to Count - 1 do
|
||||||
|
Result.Add(Integers[i]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TIntegerList.ToString: String;
|
||||||
|
var
|
||||||
|
i : Integer;
|
||||||
|
AList : TStringList;
|
||||||
|
begin
|
||||||
|
AList := TStringList.Create;
|
||||||
|
try
|
||||||
|
for i := 0 to Count - 1 do
|
||||||
|
AList.Add(IntToStr(Integers[i]));
|
||||||
|
Result := AList.CommaText;
|
||||||
|
finally
|
||||||
|
FreeANDNIL(AList);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TIntegerList.Add(Value: integer);
|
procedure TIntegerList.Add(Value: integer);
|
||||||
var
|
var
|
||||||
Index: integer;
|
Index: integer;
|
||||||
@ -59,3 +88,4 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|||||||
@ -20,33 +20,69 @@
|
|||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
===============================================================================
|
===============================================================================
|
||||||
}
|
}
|
||||||
|
|
||||||
unit uSistemaFunc;
|
unit uSistemaFunc;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
|
uses SysUtils, Classes;
|
||||||
|
|
||||||
{ Funciones del sistema }
|
{ Funciones del sistema }
|
||||||
function Ejecutar (const LineaComando: String; Oculto, Esperar: Boolean) : Boolean;
|
function Ejecutar (const LineaComando: String; Oculto, Esperar: Boolean) : Boolean;
|
||||||
|
procedure EscribirEnFichero (NombreFichero, Texto : string);
|
||||||
function DarRutaTemporal : String;
|
function DarRutaTemporal : String;
|
||||||
|
function DarDirectorioTemporal : String;
|
||||||
function DarFicheroTemporal : String;
|
function DarFicheroTemporal : String;
|
||||||
function DarFicheroJPGTemporal : String;
|
function DarFicheroJPGTemporal : String;
|
||||||
function DarFicheroBMPTemporal : String;
|
function DarFicheroBMPTemporal : String;
|
||||||
function DarFicheroTIFFTemporal : String;
|
function DarFicheroTIFFTemporal : String;
|
||||||
function DarFicheroExportar (var Fichero : String) : Boolean;
|
function DarFicheroHTMLTemporal : String;
|
||||||
|
function DarFicheroExcelTemporal : String;
|
||||||
|
function DarFicheroPDFTemporal : String; overload;
|
||||||
|
function DarFicheroPDFTemporal(const AFileName : String) : String; overload;
|
||||||
function DarVersionFichero (Executable : String) : String;
|
function DarVersionFichero (Executable : String) : String;
|
||||||
function DarFechaFichero (Executable : String) : String;
|
function DarFechaFichero (Executable : String) : String;
|
||||||
procedure CopiarFichero(const Origen, Destino: string);
|
procedure CopiarFichero(const Origen, Destino: string);
|
||||||
procedure DoDelTree( TheDir : String);
|
|
||||||
procedure Deltree(DirToKill : String; KillChoosenDir : Boolean);
|
procedure Deltree(DirToKill : String; KillChoosenDir : Boolean);
|
||||||
|
function GetSpecialFolderPath(folder : integer) : string;
|
||||||
|
function PreguntarRuta(const ATitulo: String; const AComentario: String; var ARuta: String): Boolean;
|
||||||
|
function PreguntarFicheroWordExportar (var Fichero : String) : Boolean;
|
||||||
|
function PreguntarFicheroExcelExportar (var Fichero : String) : Boolean;
|
||||||
|
function EscapeIllegalChars(AFileName: string): string;
|
||||||
|
function FindFile(const filespec: TFileName; attributes: integer = faReadOnly Or faHidden Or faSysFile Or faArchive): TStringList;
|
||||||
|
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
SysUtils, Windows, Dialogs,
|
Windows, Dialogs, JclFileUtils,
|
||||||
|
Messages, Graphics, Controls, Forms,
|
||||||
|
StdCtrls, SHFolder, cxShellBrowserDialog,
|
||||||
|
cxLookAndFeels, uStringsUtils;
|
||||||
|
|
||||||
|
|
||||||
|
function GetSpecialFolderPath(folder : integer) : string;
|
||||||
|
const
|
||||||
|
SHGFP_TYPE_CURRENT = 0;
|
||||||
|
var
|
||||||
|
path: array [0..MAX_PATH] of char;
|
||||||
|
begin
|
||||||
|
if SUCCEEDED(SHGetFolderPath(0, folder, 0, SHGFP_TYPE_CURRENT, @path[0])) then
|
||||||
|
Result := path
|
||||||
|
else
|
||||||
|
Result := '';
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure EscribirEnFichero (NombreFichero, Texto : string);
|
||||||
|
var
|
||||||
|
FicheroAux : TextFile;
|
||||||
|
begin
|
||||||
|
SysUtils.DeleteFile(NombreFichero);
|
||||||
|
AssignFile(FicheroAux, NombreFichero);
|
||||||
|
Rewrite(FicheroAux);
|
||||||
|
WriteLn(FicheroAux, Texto);
|
||||||
|
CloseFile(FicheroAux);
|
||||||
|
end;
|
||||||
|
|
||||||
Messages, Classes, Graphics, Controls, Forms,
|
|
||||||
StdCtrls;
|
|
||||||
|
|
||||||
function Ejecutar (const LineaComando: String; Oculto, Esperar: Boolean): Boolean;
|
function Ejecutar (const LineaComando: String; Oculto, Esperar: Boolean): Boolean;
|
||||||
var
|
var
|
||||||
@ -112,6 +148,30 @@ begin
|
|||||||
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'tif';
|
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'tif';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function DarFicheroPDFTemporal : String;
|
||||||
|
var
|
||||||
|
Cadena : String;
|
||||||
|
begin
|
||||||
|
Cadena := DarFicheroTemporal;
|
||||||
|
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'pdf';
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DarFicheroPDFTemporal(const AFileName : String) : String;
|
||||||
|
var
|
||||||
|
Cadena : String;
|
||||||
|
RutaTmp : string;
|
||||||
|
begin
|
||||||
|
if not EsCadenaVacia(AFileName) then
|
||||||
|
begin
|
||||||
|
RutaTmp := DarRutaTemporal;
|
||||||
|
Cadena := ExtractFileName(AFileName);
|
||||||
|
Cadena := StringReplace(Cadena, ExtractFileExt(Cadena), '', []);
|
||||||
|
Result := RutaTmp + Cadena + '.pdf';
|
||||||
|
end
|
||||||
|
else
|
||||||
|
Result := DarFicheroPDFTemporal;
|
||||||
|
end;
|
||||||
|
|
||||||
function DarFicheroBMPTemporal : String;
|
function DarFicheroBMPTemporal : String;
|
||||||
var
|
var
|
||||||
Cadena : String;
|
Cadena : String;
|
||||||
@ -120,6 +180,22 @@ begin
|
|||||||
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'bmp';
|
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'bmp';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function DarFicheroExcelTemporal : String;
|
||||||
|
var
|
||||||
|
Cadena : String;
|
||||||
|
begin
|
||||||
|
Cadena := DarFicheroTemporal;
|
||||||
|
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'xls';
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DarFicheroHTMLTemporal : String;
|
||||||
|
var
|
||||||
|
Cadena : String;
|
||||||
|
begin
|
||||||
|
Cadena := DarFicheroTemporal;
|
||||||
|
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'html';
|
||||||
|
end;
|
||||||
|
|
||||||
function DarFicheroJPGTemporal : String;
|
function DarFicheroJPGTemporal : String;
|
||||||
var
|
var
|
||||||
Cadena : String;
|
Cadena : String;
|
||||||
@ -128,7 +204,7 @@ begin
|
|||||||
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'jpg';
|
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'jpg';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function DarFicheroExportar (var Fichero : String) : Boolean;
|
function PreguntarFicheroWordExportar (var Fichero : String) : Boolean;
|
||||||
var
|
var
|
||||||
DialogoSalvar : TSaveDialog;
|
DialogoSalvar : TSaveDialog;
|
||||||
begin
|
begin
|
||||||
@ -149,29 +225,38 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function PreguntarFicheroExcelExportar (var Fichero : String) : Boolean;
|
||||||
|
var
|
||||||
|
DialogoSalvar : TSaveDialog;
|
||||||
|
begin
|
||||||
|
DialogoSalvar := TSaveDialog.Create(NIL);
|
||||||
|
try
|
||||||
|
with DialogoSalvar do
|
||||||
|
begin
|
||||||
|
DefaultExt := 'xls';
|
||||||
|
Filter := 'Documento de Excel (*.xls)|*.xls';
|
||||||
|
FilterIndex := 0;
|
||||||
|
Options := [ofOverwritePrompt, ofHideReadOnly, ofPathMustExist, ofEnableSizing];
|
||||||
|
end;
|
||||||
|
Result := DialogoSalvar.Execute;
|
||||||
|
if Result then
|
||||||
|
Fichero := DialogoSalvar.FileName;
|
||||||
|
finally
|
||||||
|
DialogoSalvar.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
function DarVersionFichero (Executable : String) : String;
|
function DarVersionFichero (Executable : String) : String;
|
||||||
var
|
var
|
||||||
Size, Size2: DWord;
|
Obj : TJclFileVersionInfo;
|
||||||
Pt, Pt2: Pointer;
|
|
||||||
begin
|
begin
|
||||||
Size := GetFileVersionInfoSize(PChar (Executable), Size2);
|
Obj := TJclFileVersionInfo.Create(Application.ExeName);
|
||||||
if Size > 0 then
|
try
|
||||||
begin
|
Result := Obj.FileVersion;
|
||||||
GetMem (Pt, Size);
|
finally
|
||||||
try
|
FreeAndNil(Obj);
|
||||||
GetFileVersionInfo (PChar (Executable), 0, Size, Pt);
|
end;
|
||||||
VerQueryValue (Pt, '\', Pt2, Size2);
|
|
||||||
with TVSFixedFileInfo (Pt2^) do
|
|
||||||
begin
|
|
||||||
Result:= IntToStr (HiWord (dwFileVersionMS)) + '.' +
|
|
||||||
IntToStr (LoWord (dwFileVersionMS)) + '.' +
|
|
||||||
IntToStr (HiWord (dwFileVersionLS)) + '.' +
|
|
||||||
IntToStr (LoWord (dwFileVersionLS));
|
|
||||||
end;
|
|
||||||
finally
|
|
||||||
FreeMem (Pt);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function DarFechaFichero (Executable : String) : String;
|
function DarFechaFichero (Executable : String) : String;
|
||||||
@ -251,5 +336,105 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function PreguntarRuta(const ATitulo: String; const AComentario: String; var ARuta: String): Boolean;
|
||||||
|
var
|
||||||
|
cxShellBrowserDialog1: TcxShellBrowserDialog;
|
||||||
|
begin
|
||||||
|
cxShellBrowserDialog1 := TcxShellBrowserDialog.Create(NIL);
|
||||||
|
try
|
||||||
|
with cxShellBrowserDialog1 do
|
||||||
|
begin
|
||||||
|
Name := 'cxShellBrowserDialog1';
|
||||||
|
FolderLabelCaption := AComentario;
|
||||||
|
LookAndFeel.NativeStyle := True;
|
||||||
|
LookAndFeel.Kind := lfStandard;
|
||||||
|
Title := ATitulo;
|
||||||
|
|
||||||
|
Result := cxShellBrowserDialog1.Execute;
|
||||||
|
ARuta := cxShellBrowserDialog1.Path;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
FreeANDNIL(cxShellBrowserDialog1);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function EscapeIllegalChars(AFileName: string): string;
|
||||||
|
var
|
||||||
|
x: integer;
|
||||||
|
const
|
||||||
|
IllegalCharSet: set of char =
|
||||||
|
['|','<','>','\','^','+','=','?','/','[',']','"',';',',','*'];
|
||||||
|
begin
|
||||||
|
for x := 1 to Length(AFileName) do
|
||||||
|
if AFileName[x] in IllegalCharSet then
|
||||||
|
AFileName[x] := '_';
|
||||||
|
Result := AFileName;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function FindFile(const filespec: TFileName; attributes: integer): TStringList;
|
||||||
|
var
|
||||||
|
spec: string;
|
||||||
|
list: TStringList;
|
||||||
|
|
||||||
|
procedure RFindFile(const folder: TFileName);
|
||||||
|
var
|
||||||
|
SearchRec: TSearchRec;
|
||||||
|
begin
|
||||||
|
// Locate all matching files in the current
|
||||||
|
// folder and add their names to the list
|
||||||
|
if FindFirst(folder + spec, attributes, SearchRec) = 0 then begin
|
||||||
|
try
|
||||||
|
repeat
|
||||||
|
if (SearchRec.Attr and faDirectory = 0) or
|
||||||
|
(SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
|
||||||
|
list.Add(folder + SearchRec.Name);
|
||||||
|
until FindNext(SearchRec) <> 0;
|
||||||
|
except
|
||||||
|
SysUtils.FindClose(SearchRec);
|
||||||
|
raise;
|
||||||
|
end;
|
||||||
|
SysUtils.FindClose(SearchRec);
|
||||||
|
end;
|
||||||
|
// Now search the subfolders
|
||||||
|
if FindFirst(folder + '*', attributes
|
||||||
|
Or faDirectory, SearchRec) = 0 then
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
repeat
|
||||||
|
if ((SearchRec.Attr and faDirectory) <> 0) and
|
||||||
|
(SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
|
||||||
|
RFindFile(folder + SearchRec.Name + '\');
|
||||||
|
until FindNext(SearchRec) <> 0;
|
||||||
|
except
|
||||||
|
SysUtils.FindClose(SearchRec);
|
||||||
|
raise;
|
||||||
|
end;
|
||||||
|
SysUtils.FindClose(SearchRec);
|
||||||
|
end;
|
||||||
|
end; // procedure RFindFile inside of FindFile
|
||||||
|
|
||||||
|
begin // function FindFile
|
||||||
|
list := TStringList.Create;
|
||||||
|
try
|
||||||
|
spec := ExtractFileName(filespec);
|
||||||
|
RFindFile(ExtractFilePath(filespec));
|
||||||
|
Result := list;
|
||||||
|
except
|
||||||
|
list.Free;
|
||||||
|
raise;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DarDirectorioTemporal : String;
|
||||||
|
var
|
||||||
|
Cadena: String;
|
||||||
|
begin
|
||||||
|
Cadena := ExtractFileName(DarFicheroTemporal);
|
||||||
|
Cadena := StringReplace(Cadena, ExtractFileExt(Cadena), '', []);
|
||||||
|
Result := DarRutaTemporal + Cadena + '\';
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|||||||
BIN
Source/Iconos/Generales/16x16/Mail.png
Normal file
BIN
Source/Iconos/Generales/16x16/Mail.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 592 B |
BIN
Source/Iconos/Generales/16x16/header_email.png
Normal file
BIN
Source/Iconos/Generales/16x16/header_email.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
BIN
Source/Iconos/Generales/16x16/header_printer.png
Normal file
BIN
Source/Iconos/Generales/16x16/header_printer.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
BIN
Source/Iconos/Generales/24x24/Mail.png
Normal file
BIN
Source/Iconos/Generales/24x24/Mail.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 775 B |
BIN
Source/Iconos/Generales/28x28/Mail.png
Normal file
BIN
Source/Iconos/Generales/28x28/Mail.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 976 B |
@ -25,9 +25,6 @@ inherited DataModuleClientes: TDataModuleClientes
|
|||||||
UserClassName = 'TRdxLoginInfo'
|
UserClassName = 'TRdxLoginInfo'
|
||||||
end>
|
end>
|
||||||
end
|
end
|
||||||
inherited ROWinInetHTTPChannel1: TROWinInetHTTPChannel
|
|
||||||
TargetURL = 'http://localhost:8090/bin'
|
|
||||||
end
|
|
||||||
object tbl_Clientes: TDACDSDataTable
|
object tbl_Clientes: TDACDSDataTable
|
||||||
RemoteUpdatesOptions = []
|
RemoteUpdatesOptions = []
|
||||||
Fields = <
|
Fields = <
|
||||||
@ -478,8 +475,9 @@ inherited DataModuleClientes: TDataModuleClientes
|
|||||||
Size = 255
|
Size = 255
|
||||||
BlobType = dabtUnknown
|
BlobType = dabtUnknown
|
||||||
DisplayWidth = 0
|
DisplayWidth = 0
|
||||||
DisplayLabel = 'Agente'
|
DisplayLabel = 'Clientes_AGENTE'
|
||||||
Alignment = taLeftJustify
|
Alignment = taLeftJustify
|
||||||
|
DictionaryEntry = 'Clientes_AGENTE'
|
||||||
InPrimaryKey = False
|
InPrimaryKey = False
|
||||||
Calculated = False
|
Calculated = False
|
||||||
Lookup = False
|
Lookup = False
|
||||||
@ -492,6 +490,21 @@ inherited DataModuleClientes: TDataModuleClientes
|
|||||||
DisplayWidth = 0
|
DisplayWidth = 0
|
||||||
DisplayLabel = 'Rapel'
|
DisplayLabel = 'Rapel'
|
||||||
Alignment = taLeftJustify
|
Alignment = taLeftJustify
|
||||||
|
DictionaryEntry = 'Clientes_RAPEL'
|
||||||
|
InPrimaryKey = False
|
||||||
|
Calculated = False
|
||||||
|
Lookup = False
|
||||||
|
LookupCache = False
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Name = 'EMAIL_ADMINISTRACION'
|
||||||
|
DataType = datString
|
||||||
|
Size = 255
|
||||||
|
BlobType = dabtUnknown
|
||||||
|
DisplayWidth = 0
|
||||||
|
DisplayLabel = 'E-mail administrativo'
|
||||||
|
Alignment = taLeftJustify
|
||||||
|
DictionaryEntry = 'Clientes_EMAIL_ADMINISTRACION'
|
||||||
InPrimaryKey = False
|
InPrimaryKey = False
|
||||||
Calculated = False
|
Calculated = False
|
||||||
Lookup = False
|
Lookup = False
|
||||||
|
|||||||
@ -1,4 +1,6 @@
|
|||||||
inherited DataModuleProveedores: TDataModuleProveedores
|
inherited DataModuleProveedores: TDataModuleProveedores
|
||||||
|
Height = 412
|
||||||
|
Width = 516
|
||||||
object tbl_Proveedores: TDACDSDataTable
|
object tbl_Proveedores: TDACDSDataTable
|
||||||
RemoteUpdatesOptions = []
|
RemoteUpdatesOptions = []
|
||||||
Fields = <
|
Fields = <
|
||||||
@ -358,6 +360,21 @@ inherited DataModuleProveedores: TDataModuleProveedores
|
|||||||
BlobType = dabtUnknown
|
BlobType = dabtUnknown
|
||||||
DisplayWidth = 0
|
DisplayWidth = 0
|
||||||
Alignment = taLeftJustify
|
Alignment = taLeftJustify
|
||||||
|
DictionaryEntry = 'Proveedores_TIENDA_WEB'
|
||||||
|
InPrimaryKey = False
|
||||||
|
Calculated = False
|
||||||
|
Lookup = False
|
||||||
|
LookupCache = False
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Name = 'EMAIL_ADMINISTRACION'
|
||||||
|
DataType = datString
|
||||||
|
Size = 255
|
||||||
|
BlobType = dabtUnknown
|
||||||
|
DisplayWidth = 0
|
||||||
|
DisplayLabel = 'E-mail administrativo'
|
||||||
|
Alignment = taLeftJustify
|
||||||
|
DictionaryEntry = 'Proveedores_EMAIL_ADMINISTRACION'
|
||||||
InPrimaryKey = False
|
InPrimaryKey = False
|
||||||
Calculated = False
|
Calculated = False
|
||||||
Lookup = False
|
Lookup = False
|
||||||
@ -449,12 +466,12 @@ inherited DataModuleProveedores: TDataModuleProveedores
|
|||||||
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
|
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
|
||||||
LogicalName = 'Proveedores'
|
LogicalName = 'Proveedores'
|
||||||
IndexDefs = <>
|
IndexDefs = <>
|
||||||
Left = 296
|
Left = 288
|
||||||
Top = 184
|
Top = 160
|
||||||
end
|
end
|
||||||
object ds_Proveedores: TDADataSource
|
object ds_Proveedores: TDADataSource
|
||||||
DataTable = tbl_Proveedores
|
DataTable = tbl_Proveedores
|
||||||
Left = 296
|
Left = 288
|
||||||
Top = 256
|
Top = 224
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -176,7 +176,7 @@
|
|||||||
<Excluded_Packages Name="D:\MISDOC~1\BORLAN~1\Bpl\JclFavoriteFoldersExpert100.bpl">JCL Open and Save IDE dialogs with favorite folders</Excluded_Packages>
|
<Excluded_Packages Name="D:\MISDOC~1\BORLAN~1\Bpl\JclFavoriteFoldersExpert100.bpl">JCL Open and Save IDE dialogs with favorite folders</Excluded_Packages>
|
||||||
</Excluded_Packages>
|
</Excluded_Packages>
|
||||||
</Delphi.Personality>
|
</Delphi.Personality>
|
||||||
<!-- EurekaLog First Line
|
<!-- EurekaLog First Line
|
||||||
[Exception Log]
|
[Exception Log]
|
||||||
EurekaLog Version=519
|
EurekaLog Version=519
|
||||||
Activate=1
|
Activate=1
|
||||||
|
|||||||
@ -57,8 +57,8 @@ contains
|
|||||||
uBizClientesDescuentos in 'uBizClientesDescuentos.pas',
|
uBizClientesDescuentos in 'uBizClientesDescuentos.pas',
|
||||||
uRegimenIVAUtils in '..\Utiles\uRegimenIVAUtils.pas',
|
uRegimenIVAUtils in '..\Utiles\uRegimenIVAUtils.pas',
|
||||||
uBizGruposCliente in 'uBizGruposCliente.pas',
|
uBizGruposCliente in 'uBizGruposCliente.pas',
|
||||||
|
uIDataModuleEtiquetasContactosReport in 'Data\uIDataModuleEtiquetasContactosReport.pas',
|
||||||
schContactosClient_Intf in 'schContactosClient_Intf.pas',
|
schContactosClient_Intf in 'schContactosClient_Intf.pas',
|
||||||
schContactosServer_Intf in 'schContactosServer_Intf.pas',
|
schContactosServer_Intf in 'schContactosServer_Intf.pas';
|
||||||
uIDataModuleEtiquetasContactosReport in 'Data\uIDataModuleEtiquetasContactosReport.pas';
|
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
@ -9,17 +9,17 @@ const
|
|||||||
{ Data table rules ids
|
{ Data table rules ids
|
||||||
Feel free to change them to something more human readable
|
Feel free to change them to something more human readable
|
||||||
but make sure they are unique in the context of your application }
|
but make sure they are unique in the context of your application }
|
||||||
RID_Contactos = '{C260E044-1DBE-4317-8EE3-E26C54B06882}';
|
RID_Contactos = '{B7DC3FCE-26AF-4E39-8683-E8D9B1BF7590}';
|
||||||
RID_GruposCliente = '{485DBE9F-8AA7-4F62-9835-039A5760D7B6}';
|
RID_GruposCliente = '{EF2E0CAE-A8B0-49A1-B8CF-B8C49D32AEFD}';
|
||||||
RID_ClienteEliminable = '{72AA6F84-2D78-41E9-BD93-8C16E821FE97}';
|
RID_ClienteEliminable = '{24F89D65-8CA6-43F7-83FE-89A982EA5B2B}';
|
||||||
RID_DatosBancarios = '{AD44FAAE-1EE0-4F55-B813-AFCAF2973610}';
|
RID_DatosBancarios = '{C36E8DE7-35F2-44CD-BB72-F87F1EFA8E6A}';
|
||||||
RID_ContactosCategorias = '{A4B8E515-5AB8-42F0-99D6-8588562AD9E6}';
|
RID_ContactosCategorias = '{C49DC4A7-3D9B-4AF8-88A7-A0E2E65DA885}';
|
||||||
RID_Clientes = '{712C57EB-6A72-461B-A1F1-1B7A369F05AF}';
|
RID_Clientes = '{3F54A7C9-EC37-440B-AE22-5C200C988E72}';
|
||||||
RID_Proveedores = '{95FDA94D-4F5C-41F5-BEC1-5847F09E8884}';
|
RID_Proveedores = '{04909F44-00A2-4046-BC0F-78DD9F66AADF}';
|
||||||
RID_Agentes = '{C7F2E42A-0F55-49AB-A8DE-D91125998892}';
|
RID_Agentes = '{1BC26A94-145F-4765-BC9C-483274E85F96}';
|
||||||
RID_DireccionesContacto = '{1D4A76E0-FF67-473B-975B-E8B8017074C6}';
|
RID_DireccionesContacto = '{C738093E-2D7D-4F23-8EE3-0829E7FC6D0B}';
|
||||||
RID_AgentesComisiones = '{ACB3D70D-B0D0-461D-B693-A03105F07A04}';
|
RID_AgentesComisiones = '{F5ADDFE9-5BBA-4D64-B261-C4F96707D016}';
|
||||||
RID_ClientesDescuentos = '{9497F44D-476F-49AE-9F07-9FB49A0FDFEF}';
|
RID_ClientesDescuentos = '{E946CA4B-0340-4324-8B21-B8D258509F86}';
|
||||||
|
|
||||||
{ Data table names }
|
{ Data table names }
|
||||||
nme_Contactos = 'Contactos';
|
nme_Contactos = 'Contactos';
|
||||||
@ -158,6 +158,7 @@ const
|
|||||||
fld_ClientesTIENDA_WEB = 'TIENDA_WEB';
|
fld_ClientesTIENDA_WEB = 'TIENDA_WEB';
|
||||||
fld_ClientesAGENTE = 'AGENTE';
|
fld_ClientesAGENTE = 'AGENTE';
|
||||||
fld_ClientesRAPEL = 'RAPEL';
|
fld_ClientesRAPEL = 'RAPEL';
|
||||||
|
fld_ClientesEMAIL_ADMINISTRACION = 'EMAIL_ADMINISTRACION';
|
||||||
|
|
||||||
{ Clientes field indexes }
|
{ Clientes field indexes }
|
||||||
idx_ClientesID = 0;
|
idx_ClientesID = 0;
|
||||||
@ -195,6 +196,7 @@ const
|
|||||||
idx_ClientesTIENDA_WEB = 32;
|
idx_ClientesTIENDA_WEB = 32;
|
||||||
idx_ClientesAGENTE = 33;
|
idx_ClientesAGENTE = 33;
|
||||||
idx_ClientesRAPEL = 34;
|
idx_ClientesRAPEL = 34;
|
||||||
|
idx_ClientesEMAIL_ADMINISTRACION = 35;
|
||||||
|
|
||||||
{ Proveedores fields }
|
{ Proveedores fields }
|
||||||
fld_ProveedoresID = 'ID';
|
fld_ProveedoresID = 'ID';
|
||||||
@ -224,6 +226,7 @@ const
|
|||||||
fld_ProveedoresID_TIPO_IVA = 'ID_TIPO_IVA';
|
fld_ProveedoresID_TIPO_IVA = 'ID_TIPO_IVA';
|
||||||
fld_ProveedoresID_FORMA_PAGO = 'ID_FORMA_PAGO';
|
fld_ProveedoresID_FORMA_PAGO = 'ID_FORMA_PAGO';
|
||||||
fld_ProveedoresTIENDA_WEB = 'TIENDA_WEB';
|
fld_ProveedoresTIENDA_WEB = 'TIENDA_WEB';
|
||||||
|
fld_ProveedoresEMAIL_ADMINISTRACION = 'EMAIL_ADMINISTRACION';
|
||||||
|
|
||||||
{ Proveedores field indexes }
|
{ Proveedores field indexes }
|
||||||
idx_ProveedoresID = 0;
|
idx_ProveedoresID = 0;
|
||||||
@ -253,6 +256,7 @@ const
|
|||||||
idx_ProveedoresID_TIPO_IVA = 24;
|
idx_ProveedoresID_TIPO_IVA = 24;
|
||||||
idx_ProveedoresID_FORMA_PAGO = 25;
|
idx_ProveedoresID_FORMA_PAGO = 25;
|
||||||
idx_ProveedoresTIENDA_WEB = 26;
|
idx_ProveedoresTIENDA_WEB = 26;
|
||||||
|
idx_ProveedoresEMAIL_ADMINISTRACION = 27;
|
||||||
|
|
||||||
{ Agentes fields }
|
{ Agentes fields }
|
||||||
fld_AgentesID = 'ID';
|
fld_AgentesID = 'ID';
|
||||||
@ -365,7 +369,7 @@ const
|
|||||||
type
|
type
|
||||||
{ IContactos }
|
{ IContactos }
|
||||||
IContactos = interface(IDAStronglyTypedDataTable)
|
IContactos = interface(IDAStronglyTypedDataTable)
|
||||||
['{F43F5539-504E-40F0-AB6E-28AE9E8BED0F}']
|
['{3C467D50-383F-4253-82A6-6D6BFBAB736C}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetIDValue: Integer;
|
function GetIDValue: Integer;
|
||||||
procedure SetIDValue(const aValue: Integer);
|
procedure SetIDValue(const aValue: Integer);
|
||||||
@ -520,7 +524,7 @@ type
|
|||||||
|
|
||||||
{ IGruposCliente }
|
{ IGruposCliente }
|
||||||
IGruposCliente = interface(IDAStronglyTypedDataTable)
|
IGruposCliente = interface(IDAStronglyTypedDataTable)
|
||||||
['{A26044F4-A906-4449-9B0E-9DC17E10D776}']
|
['{E9FE8307-940C-4908-9B25-951994F738CF}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetDESCRIPCIONValue: String;
|
function GetDESCRIPCIONValue: String;
|
||||||
procedure SetDESCRIPCIONValue(const aValue: String);
|
procedure SetDESCRIPCIONValue(const aValue: String);
|
||||||
@ -549,7 +553,7 @@ type
|
|||||||
|
|
||||||
{ IClienteEliminable }
|
{ IClienteEliminable }
|
||||||
IClienteEliminable = interface(IDAStronglyTypedDataTable)
|
IClienteEliminable = interface(IDAStronglyTypedDataTable)
|
||||||
['{A49EAEA5-DD44-4073-BA1F-FD2CC0F51589}']
|
['{6C7EAFC6-7134-4304-B79F-2EDEE270F265}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetIDValue: Integer;
|
function GetIDValue: Integer;
|
||||||
procedure SetIDValue(const aValue: Integer);
|
procedure SetIDValue(const aValue: Integer);
|
||||||
@ -584,7 +588,7 @@ type
|
|||||||
|
|
||||||
{ IDatosBancarios }
|
{ IDatosBancarios }
|
||||||
IDatosBancarios = interface(IDAStronglyTypedDataTable)
|
IDatosBancarios = interface(IDAStronglyTypedDataTable)
|
||||||
['{8078722E-769A-4D5C-8D47-EDB97CCAC1D3}']
|
['{CEEE0955-68DD-48C2-AEFC-693FC07AC72A}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetIDValue: Integer;
|
function GetIDValue: Integer;
|
||||||
procedure SetIDValue(const aValue: Integer);
|
procedure SetIDValue(const aValue: Integer);
|
||||||
@ -649,7 +653,7 @@ type
|
|||||||
|
|
||||||
{ IContactosCategorias }
|
{ IContactosCategorias }
|
||||||
IContactosCategorias = interface(IDAStronglyTypedDataTable)
|
IContactosCategorias = interface(IDAStronglyTypedDataTable)
|
||||||
['{0B218ADA-3D3C-48C9-A759-ECC32D05888F}']
|
['{050F8EDE-5439-425F-9A11-5053D25BC1B5}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetID_CONTACTOValue: Integer;
|
function GetID_CONTACTOValue: Integer;
|
||||||
procedure SetID_CONTACTOValue(const aValue: Integer);
|
procedure SetID_CONTACTOValue(const aValue: Integer);
|
||||||
@ -684,7 +688,7 @@ type
|
|||||||
|
|
||||||
{ IClientes }
|
{ IClientes }
|
||||||
IClientes = interface(IDAStronglyTypedDataTable)
|
IClientes = interface(IDAStronglyTypedDataTable)
|
||||||
['{D98FD711-23A0-4EF4-90DA-BD0E8BB0EA73}']
|
['{BC299125-C6CC-4AF6-8FAA-1F77ABFF8795}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetIDValue: Integer;
|
function GetIDValue: Integer;
|
||||||
procedure SetIDValue(const aValue: Integer);
|
procedure SetIDValue(const aValue: Integer);
|
||||||
@ -756,6 +760,8 @@ type
|
|||||||
procedure SetAGENTEValue(const aValue: String);
|
procedure SetAGENTEValue(const aValue: String);
|
||||||
function GetRAPELValue: Integer;
|
function GetRAPELValue: Integer;
|
||||||
procedure SetRAPELValue(const aValue: Integer);
|
procedure SetRAPELValue(const aValue: Integer);
|
||||||
|
function GetEMAIL_ADMINISTRACIONValue: String;
|
||||||
|
procedure SetEMAIL_ADMINISTRACIONValue(const aValue: String);
|
||||||
|
|
||||||
|
|
||||||
{ Properties }
|
{ Properties }
|
||||||
@ -794,6 +800,7 @@ type
|
|||||||
property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
|
property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
|
||||||
property AGENTE: String read GetAGENTEValue write SetAGENTEValue;
|
property AGENTE: String read GetAGENTEValue write SetAGENTEValue;
|
||||||
property RAPEL: Integer read GetRAPELValue write SetRAPELValue;
|
property RAPEL: Integer read GetRAPELValue write SetRAPELValue;
|
||||||
|
property EMAIL_ADMINISTRACION: String read GetEMAIL_ADMINISTRACIONValue write SetEMAIL_ADMINISTRACIONValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TClientesDataTableRules }
|
{ TClientesDataTableRules }
|
||||||
@ -871,6 +878,8 @@ type
|
|||||||
procedure SetAGENTEValue(const aValue: String); virtual;
|
procedure SetAGENTEValue(const aValue: String); virtual;
|
||||||
function GetRAPELValue: Integer; virtual;
|
function GetRAPELValue: Integer; virtual;
|
||||||
procedure SetRAPELValue(const aValue: Integer); virtual;
|
procedure SetRAPELValue(const aValue: Integer); virtual;
|
||||||
|
function GetEMAIL_ADMINISTRACIONValue: String; virtual;
|
||||||
|
procedure SetEMAIL_ADMINISTRACIONValue(const aValue: String); virtual;
|
||||||
|
|
||||||
{ Properties }
|
{ Properties }
|
||||||
property ID: Integer read GetIDValue write SetIDValue;
|
property ID: Integer read GetIDValue write SetIDValue;
|
||||||
@ -908,6 +917,7 @@ type
|
|||||||
property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
|
property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
|
||||||
property AGENTE: String read GetAGENTEValue write SetAGENTEValue;
|
property AGENTE: String read GetAGENTEValue write SetAGENTEValue;
|
||||||
property RAPEL: Integer read GetRAPELValue write SetRAPELValue;
|
property RAPEL: Integer read GetRAPELValue write SetRAPELValue;
|
||||||
|
property EMAIL_ADMINISTRACION: String read GetEMAIL_ADMINISTRACIONValue write SetEMAIL_ADMINISTRACIONValue;
|
||||||
|
|
||||||
public
|
public
|
||||||
constructor Create(aDataTable: TDADataTable); override;
|
constructor Create(aDataTable: TDADataTable); override;
|
||||||
@ -917,7 +927,7 @@ type
|
|||||||
|
|
||||||
{ IProveedores }
|
{ IProveedores }
|
||||||
IProveedores = interface(IDAStronglyTypedDataTable)
|
IProveedores = interface(IDAStronglyTypedDataTable)
|
||||||
['{8FD793F9-7D25-4778-9F79-5C37BC75FC4B}']
|
['{D032B1BB-4428-4D4B-ADFF-18C40DFF04E5}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetIDValue: Integer;
|
function GetIDValue: Integer;
|
||||||
procedure SetIDValue(const aValue: Integer);
|
procedure SetIDValue(const aValue: Integer);
|
||||||
@ -973,6 +983,8 @@ type
|
|||||||
procedure SetID_FORMA_PAGOValue(const aValue: Integer);
|
procedure SetID_FORMA_PAGOValue(const aValue: Integer);
|
||||||
function GetTIENDA_WEBValue: Integer;
|
function GetTIENDA_WEBValue: Integer;
|
||||||
procedure SetTIENDA_WEBValue(const aValue: Integer);
|
procedure SetTIENDA_WEBValue(const aValue: Integer);
|
||||||
|
function GetEMAIL_ADMINISTRACIONValue: String;
|
||||||
|
procedure SetEMAIL_ADMINISTRACIONValue(const aValue: String);
|
||||||
|
|
||||||
|
|
||||||
{ Properties }
|
{ Properties }
|
||||||
@ -1003,6 +1015,7 @@ type
|
|||||||
property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
|
property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
|
||||||
property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
|
property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
|
||||||
property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
|
property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
|
||||||
|
property EMAIL_ADMINISTRACION: String read GetEMAIL_ADMINISTRACIONValue write SetEMAIL_ADMINISTRACIONValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TProveedoresDataTableRules }
|
{ TProveedoresDataTableRules }
|
||||||
@ -1064,6 +1077,8 @@ type
|
|||||||
procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual;
|
procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual;
|
||||||
function GetTIENDA_WEBValue: Integer; virtual;
|
function GetTIENDA_WEBValue: Integer; virtual;
|
||||||
procedure SetTIENDA_WEBValue(const aValue: Integer); virtual;
|
procedure SetTIENDA_WEBValue(const aValue: Integer); virtual;
|
||||||
|
function GetEMAIL_ADMINISTRACIONValue: String; virtual;
|
||||||
|
procedure SetEMAIL_ADMINISTRACIONValue(const aValue: String); virtual;
|
||||||
|
|
||||||
{ Properties }
|
{ Properties }
|
||||||
property ID: Integer read GetIDValue write SetIDValue;
|
property ID: Integer read GetIDValue write SetIDValue;
|
||||||
@ -1093,6 +1108,7 @@ type
|
|||||||
property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
|
property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
|
||||||
property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
|
property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
|
||||||
property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
|
property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
|
||||||
|
property EMAIL_ADMINISTRACION: String read GetEMAIL_ADMINISTRACIONValue write SetEMAIL_ADMINISTRACIONValue;
|
||||||
|
|
||||||
public
|
public
|
||||||
constructor Create(aDataTable: TDADataTable); override;
|
constructor Create(aDataTable: TDADataTable); override;
|
||||||
@ -1102,7 +1118,7 @@ type
|
|||||||
|
|
||||||
{ IAgentes }
|
{ IAgentes }
|
||||||
IAgentes = interface(IDAStronglyTypedDataTable)
|
IAgentes = interface(IDAStronglyTypedDataTable)
|
||||||
['{357D8554-8311-4B0A-B4AA-5CA1A4CD70F6}']
|
['{4BD59D5A-FDD8-492D-BC9F-AD0BE9BF5C59}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetIDValue: Integer;
|
function GetIDValue: Integer;
|
||||||
procedure SetIDValue(const aValue: Integer);
|
procedure SetIDValue(const aValue: Integer);
|
||||||
@ -1257,7 +1273,7 @@ type
|
|||||||
|
|
||||||
{ IDireccionesContacto }
|
{ IDireccionesContacto }
|
||||||
IDireccionesContacto = interface(IDAStronglyTypedDataTable)
|
IDireccionesContacto = interface(IDAStronglyTypedDataTable)
|
||||||
['{996BD6F8-AC46-40E8-972D-CF490CA6502E}']
|
['{502FC7D0-9317-4FFF-8BA9-BA9EF2175658}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetIDValue: Integer;
|
function GetIDValue: Integer;
|
||||||
procedure SetIDValue(const aValue: Integer);
|
procedure SetIDValue(const aValue: Integer);
|
||||||
@ -1364,7 +1380,7 @@ type
|
|||||||
|
|
||||||
{ IAgentesComisiones }
|
{ IAgentesComisiones }
|
||||||
IAgentesComisiones = interface(IDAStronglyTypedDataTable)
|
IAgentesComisiones = interface(IDAStronglyTypedDataTable)
|
||||||
['{73F820E5-B1F7-4324-897D-C7F715120A6D}']
|
['{B5F34E66-A3FD-4F36-8AAA-095427E63248}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetIDValue: Integer;
|
function GetIDValue: Integer;
|
||||||
procedure SetIDValue(const aValue: Integer);
|
procedure SetIDValue(const aValue: Integer);
|
||||||
@ -1417,7 +1433,7 @@ type
|
|||||||
|
|
||||||
{ IClientesDescuentos }
|
{ IClientesDescuentos }
|
||||||
IClientesDescuentos = interface(IDAStronglyTypedDataTable)
|
IClientesDescuentos = interface(IDAStronglyTypedDataTable)
|
||||||
['{57542EBE-886B-4ED4-8AC5-4CE5866A7822}']
|
['{A5D040AA-3D38-4284-AF0F-171AE311BC17}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetIDValue: Integer;
|
function GetIDValue: Integer;
|
||||||
procedure SetIDValue(const aValue: Integer);
|
procedure SetIDValue(const aValue: Integer);
|
||||||
@ -2235,6 +2251,16 @@ begin
|
|||||||
DataTable.Fields[idx_ClientesRAPEL].AsInteger := aValue;
|
DataTable.Fields[idx_ClientesRAPEL].AsInteger := aValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TClientesDataTableRules.GetEMAIL_ADMINISTRACIONValue: String;
|
||||||
|
begin
|
||||||
|
result := DataTable.Fields[idx_ClientesEMAIL_ADMINISTRACION].AsString;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TClientesDataTableRules.SetEMAIL_ADMINISTRACIONValue(const aValue: String);
|
||||||
|
begin
|
||||||
|
DataTable.Fields[idx_ClientesEMAIL_ADMINISTRACION].AsString := aValue;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
{ TProveedoresDataTableRules }
|
{ TProveedoresDataTableRules }
|
||||||
constructor TProveedoresDataTableRules.Create(aDataTable: TDADataTable);
|
constructor TProveedoresDataTableRules.Create(aDataTable: TDADataTable);
|
||||||
@ -2518,6 +2544,16 @@ begin
|
|||||||
DataTable.Fields[idx_ProveedoresTIENDA_WEB].AsInteger := aValue;
|
DataTable.Fields[idx_ProveedoresTIENDA_WEB].AsInteger := aValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TProveedoresDataTableRules.GetEMAIL_ADMINISTRACIONValue: String;
|
||||||
|
begin
|
||||||
|
result := DataTable.Fields[idx_ProveedoresEMAIL_ADMINISTRACION].AsString;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TProveedoresDataTableRules.SetEMAIL_ADMINISTRACIONValue(const aValue: String);
|
||||||
|
begin
|
||||||
|
DataTable.Fields[idx_ProveedoresEMAIL_ADMINISTRACION].AsString := aValue;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
{ TAgentesDataTableRules }
|
{ TAgentesDataTableRules }
|
||||||
constructor TAgentesDataTableRules.Create(aDataTable: TDADataTable);
|
constructor TAgentesDataTableRules.Create(aDataTable: TDADataTable);
|
||||||
|
|||||||
@ -9,22 +9,22 @@ const
|
|||||||
{ Delta rules ids
|
{ Delta rules ids
|
||||||
Feel free to change them to something more human readable
|
Feel free to change them to something more human readable
|
||||||
but make sure they are unique in the context of your application }
|
but make sure they are unique in the context of your application }
|
||||||
RID_ContactosDelta = '{7E3297E2-946F-4D58-A2EF-7DE83AB09D46}';
|
RID_ContactosDelta = '{A7B6097C-289E-4DA1-8A61-B3DC49200E30}';
|
||||||
RID_GruposClienteDelta = '{4395BB07-CBF9-4206-81A6-93D893B5E677}';
|
RID_GruposClienteDelta = '{DA9A3D00-E518-404D-AA5C-E4FD7A3D6E9E}';
|
||||||
RID_ClienteEliminableDelta = '{7BA816F5-6EE6-496E-9065-F5E6FA896666}';
|
RID_ClienteEliminableDelta = '{2E8C71F3-A03B-4DEF-B2CC-AC7A21FCAC06}';
|
||||||
RID_DatosBancariosDelta = '{E2AC40C8-67A4-4C06-AD06-55768A2A7B3F}';
|
RID_DatosBancariosDelta = '{EDE6858F-F636-4695-9986-EA35E3AF623D}';
|
||||||
RID_ContactosCategoriasDelta = '{B723F25C-7D69-4F4B-983A-A9338FFE755A}';
|
RID_ContactosCategoriasDelta = '{61DE38E4-28AD-4265-8987-B6C62DACCAFA}';
|
||||||
RID_ClientesDelta = '{7DDCA305-634A-44EC-9A34-F1416E10EB47}';
|
RID_ClientesDelta = '{35EC6E73-DE47-4999-9510-71195EC6D430}';
|
||||||
RID_ProveedoresDelta = '{CC343ECA-6652-46C3-B09C-886E2586E396}';
|
RID_ProveedoresDelta = '{9676090D-3DE0-4D67-A393-6FF60C8E5B49}';
|
||||||
RID_AgentesDelta = '{2AAA54EF-C728-49E1-BEE9-DBB089917E3E}';
|
RID_AgentesDelta = '{7EDE4E87-585C-4CAB-B7F3-163BCE50061E}';
|
||||||
RID_DireccionesContactoDelta = '{8D5DFF6B-F949-4DED-AE44-A1AD2AF6A8D0}';
|
RID_DireccionesContactoDelta = '{67F829A3-66F5-4D97-883C-8BBFD5706093}';
|
||||||
RID_AgentesComisionesDelta = '{4CBC6CEE-82AF-49BD-926E-D377B4A7D720}';
|
RID_AgentesComisionesDelta = '{51F716E5-C971-4A54-B547-A01705D741CA}';
|
||||||
RID_ClientesDescuentosDelta = '{90066378-38B8-4019-A755-A48C6FF62113}';
|
RID_ClientesDescuentosDelta = '{1C199959-D746-4DAB-AC83-A573D14C9E15}';
|
||||||
|
|
||||||
type
|
type
|
||||||
{ IContactosDelta }
|
{ IContactosDelta }
|
||||||
IContactosDelta = interface(IContactos)
|
IContactosDelta = interface(IContactos)
|
||||||
['{7E3297E2-946F-4D58-A2EF-7DE83AB09D46}']
|
['{A7B6097C-289E-4DA1-8A61-B3DC49200E30}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetOldIDValue : Integer;
|
function GetOldIDValue : Integer;
|
||||||
function GetOldID_CATEGORIAValue : Integer;
|
function GetOldID_CATEGORIAValue : Integer;
|
||||||
@ -200,7 +200,7 @@ type
|
|||||||
|
|
||||||
{ IGruposClienteDelta }
|
{ IGruposClienteDelta }
|
||||||
IGruposClienteDelta = interface(IGruposCliente)
|
IGruposClienteDelta = interface(IGruposCliente)
|
||||||
['{4395BB07-CBF9-4206-81A6-93D893B5E677}']
|
['{DA9A3D00-E518-404D-AA5C-E4FD7A3D6E9E}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetOldDESCRIPCIONValue : String;
|
function GetOldDESCRIPCIONValue : String;
|
||||||
|
|
||||||
@ -229,7 +229,7 @@ type
|
|||||||
|
|
||||||
{ IClienteEliminableDelta }
|
{ IClienteEliminableDelta }
|
||||||
IClienteEliminableDelta = interface(IClienteEliminable)
|
IClienteEliminableDelta = interface(IClienteEliminable)
|
||||||
['{7BA816F5-6EE6-496E-9065-F5E6FA896666}']
|
['{2E8C71F3-A03B-4DEF-B2CC-AC7A21FCAC06}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetOldIDValue : Integer;
|
function GetOldIDValue : Integer;
|
||||||
function GetOldNOMBREValue : String;
|
function GetOldNOMBREValue : String;
|
||||||
@ -265,7 +265,7 @@ type
|
|||||||
|
|
||||||
{ IDatosBancariosDelta }
|
{ IDatosBancariosDelta }
|
||||||
IDatosBancariosDelta = interface(IDatosBancarios)
|
IDatosBancariosDelta = interface(IDatosBancarios)
|
||||||
['{E2AC40C8-67A4-4C06-AD06-55768A2A7B3F}']
|
['{EDE6858F-F636-4695-9986-EA35E3AF623D}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetOldIDValue : Integer;
|
function GetOldIDValue : Integer;
|
||||||
function GetOldID_CONTACTOValue : Integer;
|
function GetOldID_CONTACTOValue : Integer;
|
||||||
@ -336,7 +336,7 @@ type
|
|||||||
|
|
||||||
{ IContactosCategoriasDelta }
|
{ IContactosCategoriasDelta }
|
||||||
IContactosCategoriasDelta = interface(IContactosCategorias)
|
IContactosCategoriasDelta = interface(IContactosCategorias)
|
||||||
['{B723F25C-7D69-4F4B-983A-A9338FFE755A}']
|
['{61DE38E4-28AD-4265-8987-B6C62DACCAFA}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetOldID_CONTACTOValue : Integer;
|
function GetOldID_CONTACTOValue : Integer;
|
||||||
function GetOldID_CATEGORIAValue : Integer;
|
function GetOldID_CATEGORIAValue : Integer;
|
||||||
@ -372,7 +372,7 @@ type
|
|||||||
|
|
||||||
{ IClientesDelta }
|
{ IClientesDelta }
|
||||||
IClientesDelta = interface(IClientes)
|
IClientesDelta = interface(IClientes)
|
||||||
['{7DDCA305-634A-44EC-9A34-F1416E10EB47}']
|
['{35EC6E73-DE47-4999-9510-71195EC6D430}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetOldIDValue : Integer;
|
function GetOldIDValue : Integer;
|
||||||
function GetOldID_CATEGORIAValue : Integer;
|
function GetOldID_CATEGORIAValue : Integer;
|
||||||
@ -409,6 +409,7 @@ type
|
|||||||
function GetOldTIENDA_WEBValue : Integer;
|
function GetOldTIENDA_WEBValue : Integer;
|
||||||
function GetOldAGENTEValue : String;
|
function GetOldAGENTEValue : String;
|
||||||
function GetOldRAPELValue : Integer;
|
function GetOldRAPELValue : Integer;
|
||||||
|
function GetOldEMAIL_ADMINISTRACIONValue : String;
|
||||||
|
|
||||||
{ Properties }
|
{ Properties }
|
||||||
property OldID : Integer read GetOldIDValue;
|
property OldID : Integer read GetOldIDValue;
|
||||||
@ -446,6 +447,7 @@ type
|
|||||||
property OldTIENDA_WEB : Integer read GetOldTIENDA_WEBValue;
|
property OldTIENDA_WEB : Integer read GetOldTIENDA_WEBValue;
|
||||||
property OldAGENTE : String read GetOldAGENTEValue;
|
property OldAGENTE : String read GetOldAGENTEValue;
|
||||||
property OldRAPEL : Integer read GetOldRAPELValue;
|
property OldRAPEL : Integer read GetOldRAPELValue;
|
||||||
|
property OldEMAIL_ADMINISTRACION : String read GetOldEMAIL_ADMINISTRACIONValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TClientesBusinessProcessorRules }
|
{ TClientesBusinessProcessorRules }
|
||||||
@ -558,6 +560,9 @@ type
|
|||||||
function GetRAPELValue: Integer; virtual;
|
function GetRAPELValue: Integer; virtual;
|
||||||
function GetOldRAPELValue: Integer; virtual;
|
function GetOldRAPELValue: Integer; virtual;
|
||||||
procedure SetRAPELValue(const aValue: Integer); virtual;
|
procedure SetRAPELValue(const aValue: Integer); virtual;
|
||||||
|
function GetEMAIL_ADMINISTRACIONValue: String; virtual;
|
||||||
|
function GetOldEMAIL_ADMINISTRACIONValue: String; virtual;
|
||||||
|
procedure SetEMAIL_ADMINISTRACIONValue(const aValue: String); virtual;
|
||||||
|
|
||||||
{ Properties }
|
{ Properties }
|
||||||
property ID : Integer read GetIDValue write SetIDValue;
|
property ID : Integer read GetIDValue write SetIDValue;
|
||||||
@ -630,6 +635,8 @@ type
|
|||||||
property OldAGENTE : String read GetOldAGENTEValue;
|
property OldAGENTE : String read GetOldAGENTEValue;
|
||||||
property RAPEL : Integer read GetRAPELValue write SetRAPELValue;
|
property RAPEL : Integer read GetRAPELValue write SetRAPELValue;
|
||||||
property OldRAPEL : Integer read GetOldRAPELValue;
|
property OldRAPEL : Integer read GetOldRAPELValue;
|
||||||
|
property EMAIL_ADMINISTRACION : String read GetEMAIL_ADMINISTRACIONValue write SetEMAIL_ADMINISTRACIONValue;
|
||||||
|
property OldEMAIL_ADMINISTRACION : String read GetOldEMAIL_ADMINISTRACIONValue;
|
||||||
|
|
||||||
public
|
public
|
||||||
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
|
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
|
||||||
@ -639,7 +646,7 @@ type
|
|||||||
|
|
||||||
{ IProveedoresDelta }
|
{ IProveedoresDelta }
|
||||||
IProveedoresDelta = interface(IProveedores)
|
IProveedoresDelta = interface(IProveedores)
|
||||||
['{CC343ECA-6652-46C3-B09C-886E2586E396}']
|
['{9676090D-3DE0-4D67-A393-6FF60C8E5B49}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetOldIDValue : Integer;
|
function GetOldIDValue : Integer;
|
||||||
function GetOldID_CATEGORIAValue : Integer;
|
function GetOldID_CATEGORIAValue : Integer;
|
||||||
@ -668,6 +675,7 @@ type
|
|||||||
function GetOldID_TIPO_IVAValue : Integer;
|
function GetOldID_TIPO_IVAValue : Integer;
|
||||||
function GetOldID_FORMA_PAGOValue : Integer;
|
function GetOldID_FORMA_PAGOValue : Integer;
|
||||||
function GetOldTIENDA_WEBValue : Integer;
|
function GetOldTIENDA_WEBValue : Integer;
|
||||||
|
function GetOldEMAIL_ADMINISTRACIONValue : String;
|
||||||
|
|
||||||
{ Properties }
|
{ Properties }
|
||||||
property OldID : Integer read GetOldIDValue;
|
property OldID : Integer read GetOldIDValue;
|
||||||
@ -697,6 +705,7 @@ type
|
|||||||
property OldID_TIPO_IVA : Integer read GetOldID_TIPO_IVAValue;
|
property OldID_TIPO_IVA : Integer read GetOldID_TIPO_IVAValue;
|
||||||
property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue;
|
property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue;
|
||||||
property OldTIENDA_WEB : Integer read GetOldTIENDA_WEBValue;
|
property OldTIENDA_WEB : Integer read GetOldTIENDA_WEBValue;
|
||||||
|
property OldEMAIL_ADMINISTRACION : String read GetOldEMAIL_ADMINISTRACIONValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TProveedoresBusinessProcessorRules }
|
{ TProveedoresBusinessProcessorRules }
|
||||||
@ -785,6 +794,9 @@ type
|
|||||||
function GetTIENDA_WEBValue: Integer; virtual;
|
function GetTIENDA_WEBValue: Integer; virtual;
|
||||||
function GetOldTIENDA_WEBValue: Integer; virtual;
|
function GetOldTIENDA_WEBValue: Integer; virtual;
|
||||||
procedure SetTIENDA_WEBValue(const aValue: Integer); virtual;
|
procedure SetTIENDA_WEBValue(const aValue: Integer); virtual;
|
||||||
|
function GetEMAIL_ADMINISTRACIONValue: String; virtual;
|
||||||
|
function GetOldEMAIL_ADMINISTRACIONValue: String; virtual;
|
||||||
|
procedure SetEMAIL_ADMINISTRACIONValue(const aValue: String); virtual;
|
||||||
|
|
||||||
{ Properties }
|
{ Properties }
|
||||||
property ID : Integer read GetIDValue write SetIDValue;
|
property ID : Integer read GetIDValue write SetIDValue;
|
||||||
@ -841,6 +853,8 @@ type
|
|||||||
property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue;
|
property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue;
|
||||||
property TIENDA_WEB : Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
|
property TIENDA_WEB : Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
|
||||||
property OldTIENDA_WEB : Integer read GetOldTIENDA_WEBValue;
|
property OldTIENDA_WEB : Integer read GetOldTIENDA_WEBValue;
|
||||||
|
property EMAIL_ADMINISTRACION : String read GetEMAIL_ADMINISTRACIONValue write SetEMAIL_ADMINISTRACIONValue;
|
||||||
|
property OldEMAIL_ADMINISTRACION : String read GetOldEMAIL_ADMINISTRACIONValue;
|
||||||
|
|
||||||
public
|
public
|
||||||
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
|
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
|
||||||
@ -850,7 +864,7 @@ type
|
|||||||
|
|
||||||
{ IAgentesDelta }
|
{ IAgentesDelta }
|
||||||
IAgentesDelta = interface(IAgentes)
|
IAgentesDelta = interface(IAgentes)
|
||||||
['{2AAA54EF-C728-49E1-BEE9-DBB089917E3E}']
|
['{7EDE4E87-585C-4CAB-B7F3-163BCE50061E}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetOldIDValue : Integer;
|
function GetOldIDValue : Integer;
|
||||||
function GetOldID_CATEGORIAValue : Integer;
|
function GetOldID_CATEGORIAValue : Integer;
|
||||||
@ -1026,7 +1040,7 @@ type
|
|||||||
|
|
||||||
{ IDireccionesContactoDelta }
|
{ IDireccionesContactoDelta }
|
||||||
IDireccionesContactoDelta = interface(IDireccionesContacto)
|
IDireccionesContactoDelta = interface(IDireccionesContacto)
|
||||||
['{8D5DFF6B-F949-4DED-AE44-A1AD2AF6A8D0}']
|
['{67F829A3-66F5-4D97-883C-8BBFD5706093}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetOldIDValue : Integer;
|
function GetOldIDValue : Integer;
|
||||||
function GetOldID_CONTACTOValue : Integer;
|
function GetOldID_CONTACTOValue : Integer;
|
||||||
@ -1146,7 +1160,7 @@ type
|
|||||||
|
|
||||||
{ IAgentesComisionesDelta }
|
{ IAgentesComisionesDelta }
|
||||||
IAgentesComisionesDelta = interface(IAgentesComisiones)
|
IAgentesComisionesDelta = interface(IAgentesComisiones)
|
||||||
['{4CBC6CEE-82AF-49BD-926E-D377B4A7D720}']
|
['{51F716E5-C971-4A54-B547-A01705D741CA}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetOldIDValue : Integer;
|
function GetOldIDValue : Integer;
|
||||||
function GetOldID_AGENTEValue : Integer;
|
function GetOldID_AGENTEValue : Integer;
|
||||||
@ -1203,7 +1217,7 @@ type
|
|||||||
|
|
||||||
{ IClientesDescuentosDelta }
|
{ IClientesDescuentosDelta }
|
||||||
IClientesDescuentosDelta = interface(IClientesDescuentos)
|
IClientesDescuentosDelta = interface(IClientesDescuentos)
|
||||||
['{90066378-38B8-4019-A755-A48C6FF62113}']
|
['{1C199959-D746-4DAB-AC83-A573D14C9E15}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetOldIDValue : Integer;
|
function GetOldIDValue : Integer;
|
||||||
function GetOldID_CLIENTEValue : Integer;
|
function GetOldID_CLIENTEValue : Integer;
|
||||||
@ -2373,6 +2387,21 @@ begin
|
|||||||
BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesRAPEL] := aValue;
|
BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesRAPEL] := aValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TClientesBusinessProcessorRules.GetEMAIL_ADMINISTRACIONValue: String;
|
||||||
|
begin
|
||||||
|
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesEMAIL_ADMINISTRACION];
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TClientesBusinessProcessorRules.GetOldEMAIL_ADMINISTRACIONValue: String;
|
||||||
|
begin
|
||||||
|
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ClientesEMAIL_ADMINISTRACION];
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TClientesBusinessProcessorRules.SetEMAIL_ADMINISTRACIONValue(const aValue: String);
|
||||||
|
begin
|
||||||
|
BusinessProcessor.CurrentChange.NewValueByName[fld_ClientesEMAIL_ADMINISTRACION] := aValue;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
{ TProveedoresBusinessProcessorRules }
|
{ TProveedoresBusinessProcessorRules }
|
||||||
constructor TProveedoresBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
|
constructor TProveedoresBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
|
||||||
@ -2792,6 +2821,21 @@ begin
|
|||||||
BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresTIENDA_WEB] := aValue;
|
BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresTIENDA_WEB] := aValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TProveedoresBusinessProcessorRules.GetEMAIL_ADMINISTRACIONValue: String;
|
||||||
|
begin
|
||||||
|
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresEMAIL_ADMINISTRACION];
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TProveedoresBusinessProcessorRules.GetOldEMAIL_ADMINISTRACIONValue: String;
|
||||||
|
begin
|
||||||
|
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ProveedoresEMAIL_ADMINISTRACION];
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TProveedoresBusinessProcessorRules.SetEMAIL_ADMINISTRACIONValue(const aValue: String);
|
||||||
|
begin
|
||||||
|
BusinessProcessor.CurrentChange.NewValueByName[fld_ProveedoresEMAIL_ADMINISTRACION] := aValue;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
{ TAgentesBusinessProcessorRules }
|
{ TAgentesBusinessProcessorRules }
|
||||||
constructor TAgentesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
|
constructor TAgentesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
|
||||||
|
|||||||
@ -76,6 +76,7 @@ begin
|
|||||||
ParamByName('ID_FORMA_PAGO').Value := aChange.NewValueByName[fld_ClientesID_FORMA_PAGO];
|
ParamByName('ID_FORMA_PAGO').Value := aChange.NewValueByName[fld_ClientesID_FORMA_PAGO];
|
||||||
ParamByName('TIENDA_WEB').Value := aChange.NewValueByName[fld_ClientesTIENDA_WEB];
|
ParamByName('TIENDA_WEB').Value := aChange.NewValueByName[fld_ClientesTIENDA_WEB];
|
||||||
ParamByName('RAPEL').Value := aChange.NewValueByName[fld_ClientesRAPEL];
|
ParamByName('RAPEL').Value := aChange.NewValueByName[fld_ClientesRAPEL];
|
||||||
|
ParamByName('EMAIL_ADMINISTRACION').Value := aChange.NewValueByName[fld_ClientesEMAIL_ADMINISTRACION];
|
||||||
Execute;
|
Execute;
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
@ -113,6 +114,7 @@ begin
|
|||||||
ParamByName('ID_FORMA_PAGO').Value := aChange.NewValueByName[fld_ClientesID_FORMA_PAGO];
|
ParamByName('ID_FORMA_PAGO').Value := aChange.NewValueByName[fld_ClientesID_FORMA_PAGO];
|
||||||
ParamByName('TIENDA_WEB').Value := aChange.NewValueByName[fld_ClientesTIENDA_WEB];
|
ParamByName('TIENDA_WEB').Value := aChange.NewValueByName[fld_ClientesTIENDA_WEB];
|
||||||
ParamByName('RAPEL').Value := aChange.NewValueByName[fld_ClientesRAPEL];
|
ParamByName('RAPEL').Value := aChange.NewValueByName[fld_ClientesRAPEL];
|
||||||
|
ParamByName('EMAIL_ADMINISTRACION').Value := aChange.NewValueByName[fld_ClientesEMAIL_ADMINISTRACION];
|
||||||
Execute;
|
Execute;
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
|
|||||||
@ -89,6 +89,9 @@ type
|
|||||||
procedure SetDescuentos(Value: IBizClienteDescuentos);
|
procedure SetDescuentos(Value: IBizClienteDescuentos);
|
||||||
property Descuentos: IBizClienteDescuentos read GetDescuentos write SetDescuentos;
|
property Descuentos: IBizClienteDescuentos read GetDescuentos write SetDescuentos;
|
||||||
|
|
||||||
|
function GetEMAIL_ADMINISTRACIONValue: String;
|
||||||
|
procedure SetEMAIL_ADMINISTRACIONValue(const aValue: String);
|
||||||
|
|
||||||
property ID_AGENTE: Integer read GetID_AGENTEValue write SetID_AGENTEValue;
|
property ID_AGENTE: Integer read GetID_AGENTEValue write SetID_AGENTEValue;
|
||||||
property GRUPO_CLIENTE: String read GetGRUPO_CLIENTEValue write SetGRUPO_CLIENTEValue;
|
property GRUPO_CLIENTE: String read GetGRUPO_CLIENTEValue write SetGRUPO_CLIENTEValue;
|
||||||
|
|
||||||
@ -101,7 +104,8 @@ type
|
|||||||
property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue;
|
property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue;
|
||||||
property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
|
property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
|
||||||
property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
|
property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
|
||||||
property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
|
property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
|
||||||
|
property EMAIL_ADMINISTRACION: String read GetEMAIL_ADMINISTRACIONValue write SetEMAIL_ADMINISTRACIONValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
IBizProveedor = interface (IBizContacto)
|
IBizProveedor = interface (IBizContacto)
|
||||||
@ -121,11 +125,15 @@ type
|
|||||||
function GetTIENDA_WEBValue: Integer;
|
function GetTIENDA_WEBValue: Integer;
|
||||||
procedure SetTIENDA_WEBValue(const aValue: Integer);
|
procedure SetTIENDA_WEBValue(const aValue: Integer);
|
||||||
|
|
||||||
|
function GetEMAIL_ADMINISTRACIONValue: String;
|
||||||
|
procedure SetEMAIL_ADMINISTRACIONValue(const aValue: String);
|
||||||
|
|
||||||
property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue;
|
property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue;
|
||||||
property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
|
property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
|
||||||
property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
|
property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
|
||||||
property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
|
property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
|
||||||
property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
|
property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
|
||||||
|
property EMAIL_ADMINISTRACION: String read GetEMAIL_ADMINISTRACIONValue write SetEMAIL_ADMINISTRACIONValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
IBizAgente = interface (IBizContacto)
|
IBizAgente = interface (IBizContacto)
|
||||||
@ -224,6 +232,9 @@ type
|
|||||||
|
|
||||||
function GetDescuentos: IBizClienteDescuentos;
|
function GetDescuentos: IBizClienteDescuentos;
|
||||||
procedure SetDescuentos(Value: IBizClienteDescuentos);
|
procedure SetDescuentos(Value: IBizClienteDescuentos);
|
||||||
|
|
||||||
|
function GetEMAIL_ADMINISTRACIONValue: String;
|
||||||
|
procedure SetEMAIL_ADMINISTRACIONValue(const aValue: String);
|
||||||
public
|
public
|
||||||
procedure IniciarValoresContactoNuevo; override;
|
procedure IniciarValoresContactoNuevo; override;
|
||||||
constructor Create(aDataTable: TDADataTable); override;
|
constructor Create(aDataTable: TDADataTable); override;
|
||||||
@ -240,7 +251,8 @@ type
|
|||||||
property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue;
|
property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue;
|
||||||
property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
|
property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
|
||||||
property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
|
property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
|
||||||
property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
|
property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
|
||||||
|
property EMAIL_ADMINISTRACION: String read GetEMAIL_ADMINISTRACIONValue write SetEMAIL_ADMINISTRACIONValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -261,13 +273,16 @@ type
|
|||||||
function GetID_FORMA_PAGOValue: Integer;
|
function GetID_FORMA_PAGOValue: Integer;
|
||||||
procedure SetID_FORMA_PAGOValue(const aValue: Integer);
|
procedure SetID_FORMA_PAGOValue(const aValue: Integer);
|
||||||
|
|
||||||
|
function GetEMAIL_ADMINISTRACIONValue: String;
|
||||||
|
procedure SetEMAIL_ADMINISTRACIONValue(const aValue: String);
|
||||||
public
|
public
|
||||||
procedure IniciarValoresContactoNuevo; override;
|
procedure IniciarValoresContactoNuevo; override;
|
||||||
property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
|
property DESCUENTO: Float read GetDESCUENTOValue write SetDESCUENTOValue;
|
||||||
property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue;
|
property REGIMEN_IVA: String read GetREGIMEN_IVAValue write SetREGIMEN_IVAValue;
|
||||||
property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
|
property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
|
||||||
property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
|
property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
|
||||||
property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
|
property TIENDA_WEB: Integer read GetTIENDA_WEBValue write SetTIENDA_WEBValue;
|
||||||
|
property EMAIL_ADMINISTRACION: String read GetEMAIL_ADMINISTRACIONValue write SetEMAIL_ADMINISTRACIONValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -414,6 +429,11 @@ begin
|
|||||||
Result := FDescuentos;
|
Result := FDescuentos;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TBizCliente.GetEMAIL_ADMINISTRACIONValue: String;
|
||||||
|
begin
|
||||||
|
result := DataTable.Fields[idx_ClientesEMAIL_ADMINISTRACION].AsString;
|
||||||
|
end;
|
||||||
|
|
||||||
function TBizCliente.GetGRUPO_CLIENTEValue: String;
|
function TBizCliente.GetGRUPO_CLIENTEValue: String;
|
||||||
begin
|
begin
|
||||||
result := DataTable.Fields[idx_ClientesGRUPO_CLIENTE].AsString;
|
result := DataTable.Fields[idx_ClientesGRUPO_CLIENTE].AsString;
|
||||||
@ -460,6 +480,11 @@ begin
|
|||||||
EnlazarMaestroDetalle(FDescuentosLink, FDescuentos);
|
EnlazarMaestroDetalle(FDescuentosLink, FDescuentos);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TBizCliente.SetEMAIL_ADMINISTRACIONValue(const aValue: String);
|
||||||
|
begin
|
||||||
|
DataTable.Fields[idx_ClientesEMAIL_ADMINISTRACION].AsString := aValue;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TBizCliente.SetGRUPO_CLIENTEValue(const aValue: String);
|
procedure TBizCliente.SetGRUPO_CLIENTEValue(const aValue: String);
|
||||||
begin
|
begin
|
||||||
DataTable.Fields[idx_ClientesGRUPO_CLIENTE].AsString := aValue;
|
DataTable.Fields[idx_ClientesGRUPO_CLIENTE].AsString := aValue;
|
||||||
@ -543,6 +568,11 @@ end;
|
|||||||
|
|
||||||
{ TBizProveedor }
|
{ TBizProveedor }
|
||||||
|
|
||||||
|
function TBizProveedor.GetEMAIL_ADMINISTRACIONValue: String;
|
||||||
|
begin
|
||||||
|
result := DataTable.Fields[idx_ProveedoresEMAIL_ADMINISTRACION].AsString;
|
||||||
|
end;
|
||||||
|
|
||||||
function TBizProveedor.GetID_FORMA_PAGOValue: Integer;
|
function TBizProveedor.GetID_FORMA_PAGOValue: Integer;
|
||||||
begin
|
begin
|
||||||
result := DataTable.Fields[idx_ProveedoresID_FORMA_PAGO].AsInteger;
|
result := DataTable.Fields[idx_ProveedoresID_FORMA_PAGO].AsInteger;
|
||||||
@ -580,6 +610,11 @@ begin
|
|||||||
DataTable.Fields[idx_ProveedoresDESCUENTO].AsFloat := aValue;
|
DataTable.Fields[idx_ProveedoresDESCUENTO].AsFloat := aValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TBizProveedor.SetEMAIL_ADMINISTRACIONValue(const aValue: String);
|
||||||
|
begin
|
||||||
|
DataTable.Fields[idx_ProveedoresEMAIL_ADMINISTRACION].AsString := aValue;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TBizProveedor.SetID_FORMA_PAGOValue(const aValue: Integer);
|
procedure TBizProveedor.SetID_FORMA_PAGOValue(const aValue: Integer);
|
||||||
begin
|
begin
|
||||||
DataTable.Fields[idx_ProveedoresID_FORMA_PAGO].AsInteger := aValue;
|
DataTable.Fields[idx_ProveedoresID_FORMA_PAGO].AsInteger := aValue;
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
object srvContactos: TsrvContactos
|
object srvContactos: TsrvContactos
|
||||||
OldCreateOrder = True
|
OldCreateOrder = True
|
||||||
OnCreate = DARemoteServiceCreate
|
OnCreate = DARemoteServiceCreate
|
||||||
RequiresSession = True
|
|
||||||
AcquireConnection = True
|
AcquireConnection = True
|
||||||
ConnectionName = 'IBX'
|
ConnectionName = 'IBX'
|
||||||
ServiceSchema = schContactos
|
ServiceSchema = schContactos
|
||||||
@ -654,7 +653,7 @@ object srvContactos: TsrvContactos
|
|||||||
' ID_AGENTE, GRUPO_CLIENTE, NOMBRE_COMERCIAL, VENCIMIENTO_FACT' +
|
' ID_AGENTE, GRUPO_CLIENTE, NOMBRE_COMERCIAL, VENCIMIENTO_FACT' +
|
||||||
'URAS, '#10' BLOQUEADO, MOTIVO_BLOQUEO, RECARGO_EQUIVALENCIA, REGI' +
|
'URAS, '#10' BLOQUEADO, MOTIVO_BLOQUEO, RECARGO_EQUIVALENCIA, REGI' +
|
||||||
'MEN_IVA, '#10' ID_TIPO_IVA, ID_FORMA_PAGO, TIENDA_WEB, AGENTE, RA' +
|
'MEN_IVA, '#10' ID_TIPO_IVA, ID_FORMA_PAGO, TIENDA_WEB, AGENTE, RA' +
|
||||||
'PEL'#10' FROM'#10' V_CLIENTES'
|
'PEL, EMAIL_ADMINISTRACION'#10' FROM'#10' V_CLIENTES'
|
||||||
StatementType = stSQL
|
StatementType = stSQL
|
||||||
ColumnMappings = <
|
ColumnMappings = <
|
||||||
item
|
item
|
||||||
@ -796,6 +795,10 @@ object srvContactos: TsrvContactos
|
|||||||
item
|
item
|
||||||
DatasetField = 'RAPEL'
|
DatasetField = 'RAPEL'
|
||||||
TableField = 'RAPEL'
|
TableField = 'RAPEL'
|
||||||
|
end
|
||||||
|
item
|
||||||
|
DatasetField = 'EMAIL_ADMINISTRACION'
|
||||||
|
TableField = 'EMAIL_ADMINISTRACION'
|
||||||
end>
|
end>
|
||||||
end>
|
end>
|
||||||
Name = 'Clientes'
|
Name = 'Clientes'
|
||||||
@ -1155,9 +1158,7 @@ object srvContactos: TsrvContactos
|
|||||||
DataType = datString
|
DataType = datString
|
||||||
Size = 255
|
Size = 255
|
||||||
BlobType = dabtUnknown
|
BlobType = dabtUnknown
|
||||||
DisplayWidth = 0
|
DictionaryEntry = 'Clientes_AGENTE'
|
||||||
DisplayLabel = 'Agente'
|
|
||||||
Alignment = taLeftJustify
|
|
||||||
InPrimaryKey = False
|
InPrimaryKey = False
|
||||||
Calculated = False
|
Calculated = False
|
||||||
Lookup = False
|
Lookup = False
|
||||||
@ -1167,9 +1168,18 @@ object srvContactos: TsrvContactos
|
|||||||
Name = 'RAPEL'
|
Name = 'RAPEL'
|
||||||
DataType = datInteger
|
DataType = datInteger
|
||||||
BlobType = dabtUnknown
|
BlobType = dabtUnknown
|
||||||
DisplayWidth = 0
|
DictionaryEntry = 'Clientes_RAPEL'
|
||||||
DisplayLabel = 'Rapel'
|
InPrimaryKey = False
|
||||||
Alignment = taLeftJustify
|
Calculated = False
|
||||||
|
Lookup = False
|
||||||
|
LookupCache = False
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Name = 'EMAIL_ADMINISTRACION'
|
||||||
|
DataType = datString
|
||||||
|
Size = 255
|
||||||
|
BlobType = dabtUnknown
|
||||||
|
DictionaryEntry = 'Clientes_EMAIL_ADMINISTRACION'
|
||||||
InPrimaryKey = False
|
InPrimaryKey = False
|
||||||
Calculated = False
|
Calculated = False
|
||||||
Lookup = False
|
Lookup = False
|
||||||
@ -1190,7 +1200,7 @@ object srvContactos: TsrvContactos
|
|||||||
'_2, '#10' MOVIL_1, MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WEB, '#10' ' +
|
'_2, '#10' MOVIL_1, MOVIL_2, FAX, EMAIL_1, EMAIL_2, PAGINA_WEB, '#10' ' +
|
||||||
' NOTAS, FECHA_ALTA, FECHA_MODIFICACION, USUARIO, ID_EMPRESA, '#10 +
|
' NOTAS, FECHA_ALTA, FECHA_MODIFICACION, USUARIO, ID_EMPRESA, '#10 +
|
||||||
' REGIMEN_IVA, DESCUENTO, ID_TIPO_IVA, ID_FORMA_PAGO, TIENDA_W' +
|
' REGIMEN_IVA, DESCUENTO, ID_TIPO_IVA, ID_FORMA_PAGO, TIENDA_W' +
|
||||||
'EB'#10' FROM'#10' V_PROVEEDORES'
|
'EB,'#10' EMAIL_ADMINISTRACION'#10' FROM'#10' V_PROVEEDORES'
|
||||||
StatementType = stSQL
|
StatementType = stSQL
|
||||||
ColumnMappings = <
|
ColumnMappings = <
|
||||||
item
|
item
|
||||||
@ -1296,6 +1306,14 @@ object srvContactos: TsrvContactos
|
|||||||
item
|
item
|
||||||
DatasetField = 'ID_FORMA_PAGO'
|
DatasetField = 'ID_FORMA_PAGO'
|
||||||
TableField = 'ID_FORMA_PAGO'
|
TableField = 'ID_FORMA_PAGO'
|
||||||
|
end
|
||||||
|
item
|
||||||
|
DatasetField = 'TIENDA_WEB'
|
||||||
|
TableField = 'TIENDA_WEB'
|
||||||
|
end
|
||||||
|
item
|
||||||
|
DatasetField = 'EMAIL_ADMINISTRACION'
|
||||||
|
TableField = 'EMAIL_ADMINISTRACION'
|
||||||
end>
|
end>
|
||||||
end>
|
end>
|
||||||
Name = 'Proveedores'
|
Name = 'Proveedores'
|
||||||
@ -1581,8 +1599,18 @@ object srvContactos: TsrvContactos
|
|||||||
Name = 'TIENDA_WEB'
|
Name = 'TIENDA_WEB'
|
||||||
DataType = datInteger
|
DataType = datInteger
|
||||||
BlobType = dabtUnknown
|
BlobType = dabtUnknown
|
||||||
DisplayWidth = 0
|
DictionaryEntry = 'Proveedores_TIENDA_WEB'
|
||||||
Alignment = taLeftJustify
|
InPrimaryKey = False
|
||||||
|
Calculated = False
|
||||||
|
Lookup = False
|
||||||
|
LookupCache = False
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Name = 'EMAIL_ADMINISTRACION'
|
||||||
|
DataType = datString
|
||||||
|
Size = 255
|
||||||
|
BlobType = dabtUnknown
|
||||||
|
DictionaryEntry = 'Proveedores_EMAIL_ADMINISTRACION'
|
||||||
InPrimaryKey = False
|
InPrimaryKey = False
|
||||||
Calculated = False
|
Calculated = False
|
||||||
Lookup = False
|
Lookup = False
|
||||||
@ -3205,6 +3233,14 @@ object srvContactos: TsrvContactos
|
|||||||
BlobType = dabtUnknown
|
BlobType = dabtUnknown
|
||||||
Value = ''
|
Value = ''
|
||||||
ParamType = daptInput
|
ParamType = daptInput
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Name = 'EMAIL_ADMINISTRACION'
|
||||||
|
DataType = datString
|
||||||
|
Size = 255
|
||||||
|
BlobType = dabtUnknown
|
||||||
|
Value = ''
|
||||||
|
ParamType = daptInput
|
||||||
end>
|
end>
|
||||||
Statements = <
|
Statements = <
|
||||||
item
|
item
|
||||||
@ -3214,11 +3250,12 @@ object srvContactos: TsrvContactos
|
|||||||
'INSERT'#10' INTO CLIENTES_DATOS'#10' (ID_CLIENTE, ID_AGENTE, GRUPO_C' +
|
'INSERT'#10' INTO CLIENTES_DATOS'#10' (ID_CLIENTE, ID_AGENTE, GRUPO_C' +
|
||||||
'LIENTE, RECARGO_EQUIVALENCIA,'#10' NOMBRE_COMERCIAL, VENCIMIENTO' +
|
'LIENTE, RECARGO_EQUIVALENCIA,'#10' NOMBRE_COMERCIAL, VENCIMIENTO' +
|
||||||
'_FACTURAS, BLOQUEADO, MOTIVO_BLOQUEO,'#10' REGIMEN_IVA, ID_TIPO_' +
|
'_FACTURAS, BLOQUEADO, MOTIVO_BLOQUEO,'#10' REGIMEN_IVA, ID_TIPO_' +
|
||||||
'IVA, ID_FORMA_PAGO, TIENDA_WEB, RAPEL)'#10' VALUES'#10' (:ID_CLIENTE' +
|
'IVA, ID_FORMA_PAGO, TIENDA_WEB, RAPEL,'#10' EMAIL_ADMINISTRACION' +
|
||||||
', :ID_AGENTE, :GRUPO_CLIENTE, :RECARGO_EQUIVALENCIA,'#10' :NOMBR' +
|
')'#10' VALUES'#10' (:ID_CLIENTE, :ID_AGENTE, :GRUPO_CLIENTE, :RECARG' +
|
||||||
'E_COMERCIAL, :VENCIMIENTO_FACTURAS,'#10' :BLOQUEADO, :MOTIVO_BLO' +
|
'O_EQUIVALENCIA,'#10' :NOMBRE_COMERCIAL, :VENCIMIENTO_FACTURAS,'#10' ' +
|
||||||
'QUEO, :REGIMEN_IVA,'#10' :ID_TIPO_IVA, :ID_FORMA_PAGO, :TIENDA_W' +
|
' :BLOQUEADO, :MOTIVO_BLOQUEO, :REGIMEN_IVA,'#10' :ID_TIPO_IVA' +
|
||||||
'EB, :RAPEL)'
|
', :ID_FORMA_PAGO, :TIENDA_WEB, :RAPEL,'#10' :EMAIL_ADMINISTRACIO' +
|
||||||
|
'N)'
|
||||||
StatementType = stSQL
|
StatementType = stSQL
|
||||||
ColumnMappings = <>
|
ColumnMappings = <>
|
||||||
end>
|
end>
|
||||||
@ -3342,6 +3379,14 @@ object srvContactos: TsrvContactos
|
|||||||
Value = ''
|
Value = ''
|
||||||
ParamType = daptInput
|
ParamType = daptInput
|
||||||
end
|
end
|
||||||
|
item
|
||||||
|
Name = 'EMAIL_ADMINISTRACION'
|
||||||
|
DataType = datString
|
||||||
|
Size = 255
|
||||||
|
BlobType = dabtUnknown
|
||||||
|
Value = ''
|
||||||
|
ParamType = daptInput
|
||||||
|
end
|
||||||
item
|
item
|
||||||
Name = 'OLD_ID_CLIENTE'
|
Name = 'OLD_ID_CLIENTE'
|
||||||
DataType = datInteger
|
DataType = datInteger
|
||||||
@ -3361,8 +3406,8 @@ object srvContactos: TsrvContactos
|
|||||||
' VENCIMIENTO_FACTURAS = :VENCIMIENTO_FACTURAS,'#10' BLOQUEADO = ' +
|
' VENCIMIENTO_FACTURAS = :VENCIMIENTO_FACTURAS,'#10' BLOQUEADO = ' +
|
||||||
':BLOQUEADO,'#10' REGIMEN_IVA = :REGIMEN_IVA,'#10' ID_TIPO_IVA = :I' +
|
':BLOQUEADO,'#10' REGIMEN_IVA = :REGIMEN_IVA,'#10' ID_TIPO_IVA = :I' +
|
||||||
'D_TIPO_IVA,'#10' ID_FORMA_PAGO = :ID_FORMA_PAGO,'#10' TIENDA_WEB =' +
|
'D_TIPO_IVA,'#10' ID_FORMA_PAGO = :ID_FORMA_PAGO,'#10' TIENDA_WEB =' +
|
||||||
' :TIENDA_WEB,'#10' RAPEL = :RAPEL'#10' WHERE'#10' (ID_CLIENTE = :OLD_' +
|
' :TIENDA_WEB,'#10' RAPEL = :RAPEL,'#10' EMAIL_ADMINISTRACION = :EM' +
|
||||||
'ID_CLIENTE)'
|
'AIL_ADMINISTRACION'#10' WHERE'#10' (ID_CLIENTE = :OLD_ID_CLIENTE)'
|
||||||
StatementType = stSQL
|
StatementType = stSQL
|
||||||
ColumnMappings = <>
|
ColumnMappings = <>
|
||||||
end>
|
end>
|
||||||
@ -3412,6 +3457,14 @@ object srvContactos: TsrvContactos
|
|||||||
BlobType = dabtUnknown
|
BlobType = dabtUnknown
|
||||||
Value = ''
|
Value = ''
|
||||||
ParamType = daptInput
|
ParamType = daptInput
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Name = 'EMAIL_ADMINISTRACION'
|
||||||
|
DataType = datString
|
||||||
|
Size = 255
|
||||||
|
BlobType = dabtUnknown
|
||||||
|
Value = ''
|
||||||
|
ParamType = daptInput
|
||||||
end>
|
end>
|
||||||
Statements = <
|
Statements = <
|
||||||
item
|
item
|
||||||
@ -3419,9 +3472,10 @@ object srvContactos: TsrvContactos
|
|||||||
TargetTable = 'PROVEEDORES_DATOS'
|
TargetTable = 'PROVEEDORES_DATOS'
|
||||||
SQL =
|
SQL =
|
||||||
'INSERT'#10' INTO PROVEEDORES_DATOS'#10' (ID_PROVEEDOR, REGIMEN_IVA, ' +
|
'INSERT'#10' INTO PROVEEDORES_DATOS'#10' (ID_PROVEEDOR, REGIMEN_IVA, ' +
|
||||||
'DESCUENTO, ID_TIPO_IVA,'#10' ID_FORMA_PAGO, TIENDA_WEB)'#10' VALUES'#10 +
|
'DESCUENTO, ID_TIPO_IVA,'#10' ID_FORMA_PAGO, TIENDA_WEB, EMAIL_ADM' +
|
||||||
' (:ID_PROVEEDOR, :REGIMEN_IVA, :DESCUENTO, :ID_TIPO_IVA,'#10' ' +
|
'INISTRACION)'#10' VALUES'#10' (:ID_PROVEEDOR, :REGIMEN_IVA, :DESCUEN' +
|
||||||
':ID_FORMA_PAGO, :TIENDA_WEB)'
|
'TO, :ID_TIPO_IVA,'#10' :ID_FORMA_PAGO, :TIENDA_WEB, :EMAIL_ADMINI' +
|
||||||
|
'STRACION)'
|
||||||
StatementType = stSQL
|
StatementType = stSQL
|
||||||
ColumnMappings = <>
|
ColumnMappings = <>
|
||||||
end>
|
end>
|
||||||
@ -3493,6 +3547,14 @@ object srvContactos: TsrvContactos
|
|||||||
Value = ''
|
Value = ''
|
||||||
ParamType = daptInput
|
ParamType = daptInput
|
||||||
end
|
end
|
||||||
|
item
|
||||||
|
Name = 'EMAIL_ADMINISTRACION'
|
||||||
|
DataType = datString
|
||||||
|
Size = 255
|
||||||
|
BlobType = dabtUnknown
|
||||||
|
Value = ''
|
||||||
|
ParamType = daptInput
|
||||||
|
end
|
||||||
item
|
item
|
||||||
Name = 'OLD_ID_PROVEEDOR'
|
Name = 'OLD_ID_PROVEEDOR'
|
||||||
DataType = datInteger
|
DataType = datInteger
|
||||||
@ -3508,8 +3570,8 @@ object srvContactos: TsrvContactos
|
|||||||
'UPDATE PROVEEDORES_DATOS'#10' SET '#10' ID_PROVEEDOR = :ID_PROVEEDOR' +
|
'UPDATE PROVEEDORES_DATOS'#10' SET '#10' ID_PROVEEDOR = :ID_PROVEEDOR' +
|
||||||
', '#10' REGIMEN_IVA = :REGIMEN_IVA,'#10' DESCUENTO = :DESCUENTO,'#10' ' +
|
', '#10' REGIMEN_IVA = :REGIMEN_IVA,'#10' DESCUENTO = :DESCUENTO,'#10' ' +
|
||||||
' ID_TIPO_IVA = :ID_TIPO_IVA,'#10' ID_FORMA_PAGO = :ID_FORMA_PAG' +
|
' ID_TIPO_IVA = :ID_TIPO_IVA,'#10' ID_FORMA_PAGO = :ID_FORMA_PAG' +
|
||||||
'O,'#10' TIENDA_WEB = :TIENDA_WEB'#10' WHERE'#10' (ID_PROVEEDOR = :OLD' +
|
'O,'#10' TIENDA_WEB = :TIENDA_WEB,'#10' EMAIL_ADMINISTRACION = :EMA' +
|
||||||
'_ID_PROVEEDOR)'
|
'IL_ADMINISTRACION'#10' WHERE'#10' (ID_PROVEEDOR = :OLD_ID_PROVEEDOR)'
|
||||||
StatementType = stSQL
|
StatementType = stSQL
|
||||||
ColumnMappings = <>
|
ColumnMappings = <>
|
||||||
end>
|
end>
|
||||||
@ -4735,6 +4797,40 @@ object srvContactos: TsrvContactos
|
|||||||
BlobType = dabtUnknown
|
BlobType = dabtUnknown
|
||||||
DisplayWidth = 0
|
DisplayWidth = 0
|
||||||
Alignment = taLeftJustify
|
Alignment = taLeftJustify
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Name = 'Clientes_RAPEL'
|
||||||
|
DataType = datInteger
|
||||||
|
BlobType = dabtUnknown
|
||||||
|
DisplayWidth = 0
|
||||||
|
DisplayLabel = 'Rapel'
|
||||||
|
Alignment = taLeftJustify
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Name = 'Clientes_EMAIL_ADMINISTRACION'
|
||||||
|
DataType = datString
|
||||||
|
Size = 255
|
||||||
|
BlobType = dabtUnknown
|
||||||
|
DisplayWidth = 0
|
||||||
|
DisplayLabel = 'E-mail administrativo'
|
||||||
|
Alignment = taLeftJustify
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Name = 'Proveedores_TIENDA_WEB'
|
||||||
|
DataType = datInteger
|
||||||
|
BlobType = dabtUnknown
|
||||||
|
DisplayWidth = 0
|
||||||
|
DisplayLabel = 'TIENDA_WEB'
|
||||||
|
Alignment = taLeftJustify
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Name = 'Proveedores_EMAIL_ADMINISTRACION'
|
||||||
|
DataType = datString
|
||||||
|
Size = 255
|
||||||
|
BlobType = dabtUnknown
|
||||||
|
DisplayWidth = 0
|
||||||
|
DisplayLabel = 'E-mail administrativo'
|
||||||
|
Alignment = taLeftJustify
|
||||||
end>
|
end>
|
||||||
Left = 126
|
Left = 126
|
||||||
Top = 14
|
Top = 14
|
||||||
@ -4745,9 +4841,9 @@ object srvContactos: TsrvContactos
|
|||||||
DiagramData =
|
DiagramData =
|
||||||
'<Diagrams>'#13#10' <Diagram Name="New Diagram" Left="200" Top="200" W' +
|
'<Diagrams>'#13#10' <Diagram Name="New Diagram" Left="200" Top="200" W' +
|
||||||
'idth="400" Height="300">'#13#10' <Entity Name="DatosBancarios" Left' +
|
'idth="400" Height="300">'#13#10' <Entity Name="DatosBancarios" Left' +
|
||||||
'="479,77" Top="0,00" />'#13#10' <Entity Name="Contactos" Left="223,' +
|
'="479,77" Top="0,00" />'#13#10' <Entity Name="ContactosCategorias" ' +
|
||||||
'77" Top="0,00" />'#13#10' <Entity Name="ContactosCategorias" Left="' +
|
'Left="0,00" Top="26,50" />'#13#10' <Entity Name="Contactos" Left="2' +
|
||||||
'0,00" Top="26,50" />'#13#10' </Diagram>'#13#10'</Diagrams>'#13#10
|
'23,77" Top="0,00" />'#13#10' </Diagram>'#13#10'</Diagrams>'#13#10
|
||||||
end
|
end
|
||||||
object bpContactos: TDABusinessProcessor
|
object bpContactos: TDABusinessProcessor
|
||||||
Schema = schContactos
|
Schema = schContactos
|
||||||
|
|||||||
@ -2,18 +2,18 @@ inherited fEditorCliente: TfEditorCliente
|
|||||||
Left = 387
|
Left = 387
|
||||||
Top = 297
|
Top = 297
|
||||||
Caption = 'Ficha de cliente'
|
Caption = 'Ficha de cliente'
|
||||||
ClientHeight = 585
|
ClientHeight = 665
|
||||||
ClientWidth = 656
|
ClientWidth = 876
|
||||||
ExplicitWidth = 664
|
ExplicitWidth = 884
|
||||||
ExplicitHeight = 612
|
ExplicitHeight = 692
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||||
Width = 656
|
Width = 876
|
||||||
Caption = 'Ficha de cliente'
|
Caption = 'Ficha de cliente'
|
||||||
ExplicitWidth = 656
|
ExplicitWidth = 876
|
||||||
inherited Image1: TImage
|
inherited Image1: TImage
|
||||||
Left = 629
|
Left = 849
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001800
|
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001800
|
||||||
0000180806000000E0773DF80000000970485973000017120000171201679FD2
|
0000180806000000E0773DF80000000970485973000017120000171201679FD2
|
||||||
@ -49,8 +49,8 @@ inherited fEditorCliente: TfEditorCliente
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
inherited TBXDock: TTBXDock
|
inherited TBXDock: TTBXDock
|
||||||
Width = 656
|
Width = 876
|
||||||
ExplicitWidth = 656
|
ExplicitWidth = 876
|
||||||
inherited tbxMain: TTBXToolbar
|
inherited tbxMain: TTBXToolbar
|
||||||
ExplicitWidth = 446
|
ExplicitWidth = 446
|
||||||
object TBXItem7: TTBXItem [7]
|
object TBXItem7: TTBXItem [7]
|
||||||
@ -59,23 +59,22 @@ inherited fEditorCliente: TfEditorCliente
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
inherited tbxMenu: TTBXToolbar
|
inherited tbxMenu: TTBXToolbar
|
||||||
ExplicitWidth = 656
|
ExplicitWidth = 876
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
inherited pgPaginas: TPageControl
|
inherited pgPaginas: TPageControl
|
||||||
Width = 656
|
Width = 876
|
||||||
Height = 490
|
Height = 570
|
||||||
ActivePage = pagDatosComerciales
|
ExplicitWidth = 876
|
||||||
ExplicitWidth = 656
|
ExplicitHeight = 570
|
||||||
ExplicitHeight = 490
|
|
||||||
inherited pagGeneral: TTabSheet
|
inherited pagGeneral: TTabSheet
|
||||||
ExplicitWidth = 648
|
ExplicitWidth = 868
|
||||||
ExplicitHeight = 462
|
ExplicitHeight = 542
|
||||||
inline frViewCliente1: TfrViewCliente
|
inline frViewCliente1: TfrViewCliente
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 648
|
Width = 868
|
||||||
Height = 462
|
Height = 542
|
||||||
Align = alClient
|
Align = alClient
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
Font.Color = clWindowText
|
Font.Color = clWindowText
|
||||||
@ -85,187 +84,209 @@ inherited fEditorCliente: TfEditorCliente
|
|||||||
ParentFont = False
|
ParentFont = False
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
ReadOnly = False
|
ReadOnly = False
|
||||||
ExplicitWidth = 648
|
ExplicitWidth = 868
|
||||||
ExplicitHeight = 462
|
ExplicitHeight = 542
|
||||||
inherited dxLayoutControlContacto: TdxLayoutControl
|
inherited dxLayoutControlContacto: TdxLayoutControl
|
||||||
Width = 648
|
Width = 868
|
||||||
Height = 462
|
Height = 542
|
||||||
LookAndFeel = dxLayoutOfficeLookAndFeel
|
LookAndFeel = dxLayoutOfficeLookAndFeel
|
||||||
ExplicitWidth = 648
|
ExplicitWidth = 868
|
||||||
ExplicitHeight = 462
|
ExplicitHeight = 542
|
||||||
inherited PngSpeedButton1: TPngSpeedButton
|
inherited PngSpeedButton1: TPngSpeedButton
|
||||||
Left = 603
|
Left = 823
|
||||||
Top = 218
|
Top = 218
|
||||||
ExplicitLeft = 603
|
ExplicitLeft = 823
|
||||||
ExplicitTop = 218
|
ExplicitTop = 218
|
||||||
end
|
end
|
||||||
inherited PngSpeedButton2: TPngSpeedButton
|
inherited PngSpeedButton2: TPngSpeedButton
|
||||||
Left = 603
|
Left = 823
|
||||||
Top = 190
|
Top = 190
|
||||||
ExplicitLeft = 603
|
ExplicitLeft = 823
|
||||||
ExplicitTop = 190
|
ExplicitTop = 190
|
||||||
end
|
end
|
||||||
inherited PngSpeedButton3: TPngSpeedButton
|
inherited PngSpeedButton3: TPngSpeedButton
|
||||||
Left = 603
|
Left = 823
|
||||||
Top = 162
|
Top = 162
|
||||||
ExplicitLeft = 603
|
ExplicitLeft = 823
|
||||||
ExplicitTop = 162
|
ExplicitTop = 162
|
||||||
end
|
end
|
||||||
inherited Label1: TLabel
|
inherited Label1: TLabel
|
||||||
Left = 429
|
Left = 445
|
||||||
Top = 270
|
Top = 367
|
||||||
Width = 269
|
Width = 269
|
||||||
ExplicitLeft = 429
|
ExplicitLeft = 445
|
||||||
ExplicitTop = 270
|
ExplicitTop = 367
|
||||||
ExplicitWidth = 269
|
ExplicitWidth = 269
|
||||||
end
|
end
|
||||||
|
inherited Label2: TLabel
|
||||||
|
Left = 445
|
||||||
|
Top = 270
|
||||||
|
Width = 271
|
||||||
|
ExplicitLeft = 445
|
||||||
|
ExplicitTop = 270
|
||||||
|
ExplicitWidth = 271
|
||||||
|
end
|
||||||
|
inherited PngSpeedButton4: TPngSpeedButton
|
||||||
|
Left = 823
|
||||||
|
Top = 315
|
||||||
|
ExplicitLeft = 823
|
||||||
|
ExplicitTop = 315
|
||||||
|
end
|
||||||
inherited eCalle: TcxDBTextEdit
|
inherited eCalle: TcxDBTextEdit
|
||||||
Top = 261
|
Top = 358
|
||||||
ExplicitTop = 261
|
ExplicitTop = 358
|
||||||
ExplicitWidth = 268
|
ExplicitWidth = 246
|
||||||
Width = 268
|
Width = 246
|
||||||
end
|
end
|
||||||
inherited eProvincia: TcxDBTextEdit
|
inherited eProvincia: TcxDBTextEdit
|
||||||
Top = 315
|
Top = 412
|
||||||
ExplicitTop = 315
|
ExplicitTop = 412
|
||||||
ExplicitWidth = 268
|
ExplicitWidth = 246
|
||||||
Width = 268
|
Width = 246
|
||||||
end
|
end
|
||||||
inherited ePoblacion: TcxDBTextEdit
|
inherited ePoblacion: TcxDBTextEdit
|
||||||
Top = 288
|
Top = 385
|
||||||
ExplicitTop = 288
|
ExplicitTop = 385
|
||||||
ExplicitWidth = 78
|
ExplicitWidth = 145
|
||||||
Width = 78
|
Width = 145
|
||||||
end
|
end
|
||||||
inherited eCodigoPostal: TcxDBTextEdit
|
inherited eCodigoPostal: TcxDBTextEdit
|
||||||
Left = 336
|
Left = 352
|
||||||
Top = 288
|
Top = 385
|
||||||
ExplicitLeft = 336
|
ExplicitLeft = 352
|
||||||
ExplicitTop = 288
|
ExplicitTop = 385
|
||||||
end
|
end
|
||||||
inherited eObservaciones: TcxDBMemo
|
inherited eObservaciones: TcxDBMemo
|
||||||
Top = 393
|
Top = 463
|
||||||
ExplicitTop = 393
|
ExplicitTop = 463
|
||||||
ExplicitWidth = 587
|
ExplicitWidth = 588
|
||||||
ExplicitHeight = 33
|
ExplicitHeight = 33
|
||||||
Height = 33
|
Height = 33
|
||||||
Width = 587
|
Width = 588
|
||||||
end
|
end
|
||||||
inherited eNombreComercial: TcxDBTextEdit
|
inherited eNombreComercial: TcxDBTextEdit
|
||||||
Top = 84
|
Top = 84
|
||||||
ExplicitTop = 84
|
ExplicitTop = 84
|
||||||
ExplicitWidth = 265
|
ExplicitWidth = 246
|
||||||
Width = 265
|
Width = 246
|
||||||
end
|
end
|
||||||
inherited cbClienteBloqueado: TcxDBCheckBox
|
inherited cbClienteBloqueado: TcxDBCheckBox
|
||||||
Top = 183
|
Top = 280
|
||||||
ExplicitTop = 183
|
ExplicitTop = 280
|
||||||
ExplicitWidth = 163
|
ExplicitWidth = 345
|
||||||
Width = 163
|
Width = 345
|
||||||
end
|
end
|
||||||
inherited cbGrupoCliente: TcxDBComboBox
|
inherited cbGrupoCliente: TcxDBComboBox
|
||||||
Top = 111
|
Top = 111
|
||||||
ExplicitTop = 111
|
ExplicitTop = 111
|
||||||
ExplicitWidth = 40
|
ExplicitWidth = 246
|
||||||
Width = 40
|
Width = 246
|
||||||
end
|
end
|
||||||
inherited eBloqueo: TcxDBTextEdit
|
inherited eBloqueo: TcxDBTextEdit
|
||||||
Top = 210
|
Top = 307
|
||||||
ExplicitTop = 210
|
ExplicitTop = 307
|
||||||
ExplicitWidth = 205
|
ExplicitWidth = 246
|
||||||
Width = 205
|
Width = 246
|
||||||
end
|
end
|
||||||
inherited cxDBCheckBox1: TcxDBCheckBox
|
inherited cxDBCheckBox1: TcxDBCheckBox
|
||||||
Left = 429
|
Left = 445
|
||||||
Top = 315
|
Top = 412
|
||||||
ExplicitLeft = 429
|
ExplicitLeft = 445
|
||||||
ExplicitTop = 315
|
ExplicitTop = 412
|
||||||
ExplicitWidth = 275
|
ExplicitWidth = 351
|
||||||
Width = 275
|
Width = 351
|
||||||
|
end
|
||||||
|
inherited cbRapel: TcxDBCheckBox
|
||||||
|
Top = 138
|
||||||
|
ExplicitTop = 138
|
||||||
|
ExplicitWidth = 345
|
||||||
|
Width = 345
|
||||||
end
|
end
|
||||||
inherited eTlfParticular: TcxDBTextEdit
|
inherited eTlfParticular: TcxDBTextEdit
|
||||||
Left = 524
|
Left = 557
|
||||||
Top = 57
|
Top = 57
|
||||||
ExplicitLeft = 524
|
ExplicitLeft = 557
|
||||||
ExplicitTop = 57
|
ExplicitTop = 57
|
||||||
ExplicitWidth = 91
|
ExplicitWidth = 103
|
||||||
Width = 91
|
Width = 103
|
||||||
|
end
|
||||||
|
inherited eMailAdministracion: TcxDBHyperLinkEdit
|
||||||
|
Left = 557
|
||||||
|
Top = 315
|
||||||
|
ExplicitLeft = 557
|
||||||
|
ExplicitTop = 315
|
||||||
|
ExplicitWidth = 74
|
||||||
|
Width = 74
|
||||||
end
|
end
|
||||||
inherited eTlfTrabajo: TcxDBTextEdit
|
inherited eTlfTrabajo: TcxDBTextEdit
|
||||||
Left = 524
|
Left = 557
|
||||||
Top = 30
|
Top = 30
|
||||||
ExplicitLeft = 524
|
ExplicitLeft = 557
|
||||||
ExplicitTop = 30
|
ExplicitTop = 30
|
||||||
ExplicitWidth = 127
|
ExplicitWidth = 103
|
||||||
Width = 127
|
Width = 103
|
||||||
end
|
end
|
||||||
inherited eTlfMovil: TcxDBTextEdit
|
inherited eTlfMovil: TcxDBTextEdit
|
||||||
Left = 524
|
Left = 557
|
||||||
Top = 84
|
Top = 84
|
||||||
ExplicitLeft = 524
|
ExplicitLeft = 557
|
||||||
ExplicitTop = 84
|
ExplicitTop = 84
|
||||||
ExplicitWidth = 140
|
ExplicitWidth = 103
|
||||||
Width = 140
|
Width = 103
|
||||||
end
|
end
|
||||||
inherited eFax: TcxDBTextEdit
|
inherited eFax: TcxDBTextEdit
|
||||||
Left = 524
|
Left = 557
|
||||||
Top = 111
|
Top = 111
|
||||||
ExplicitLeft = 524
|
ExplicitLeft = 557
|
||||||
ExplicitTop = 111
|
ExplicitTop = 111
|
||||||
ExplicitWidth = 121
|
ExplicitWidth = 103
|
||||||
Width = 121
|
Width = 103
|
||||||
end
|
end
|
||||||
inherited eNombre: TcxDBTextEdit
|
inherited eNombre: TcxDBTextEdit
|
||||||
Top = 57
|
Top = 57
|
||||||
ExplicitTop = 57
|
ExplicitTop = 57
|
||||||
ExplicitWidth = 158
|
ExplicitWidth = 246
|
||||||
Width = 158
|
Width = 246
|
||||||
end
|
end
|
||||||
inherited eNIFCIF: TcxDBTextEdit
|
inherited eNIFCIF: TcxDBTextEdit
|
||||||
Left = 220
|
Left = 226
|
||||||
Top = 30
|
Top = 30
|
||||||
ExplicitLeft = 220
|
ExplicitLeft = 226
|
||||||
ExplicitTop = 30
|
ExplicitTop = 30
|
||||||
ExplicitWidth = 268
|
ExplicitWidth = 160
|
||||||
Width = 268
|
Width = 160
|
||||||
end
|
end
|
||||||
inherited eMailTrabajo: TcxDBHyperLinkEdit
|
inherited eMailTrabajo: TcxDBHyperLinkEdit
|
||||||
Left = 524
|
Left = 557
|
||||||
Top = 162
|
Top = 162
|
||||||
Properties.Prefix = 'mailto:'
|
Properties.Prefix = 'mailto:'
|
||||||
ExplicitLeft = 524
|
ExplicitLeft = 557
|
||||||
ExplicitTop = 162
|
ExplicitTop = 162
|
||||||
ExplicitWidth = 121
|
ExplicitWidth = 74
|
||||||
Width = 121
|
Width = 74
|
||||||
end
|
|
||||||
inherited cbRapel: TcxDBCheckBox
|
|
||||||
Top = 366
|
|
||||||
ExplicitTop = 366
|
|
||||||
ExplicitWidth = 285
|
|
||||||
Width = 285
|
|
||||||
end
|
end
|
||||||
inherited eMailParticular: TcxDBHyperLinkEdit
|
inherited eMailParticular: TcxDBHyperLinkEdit
|
||||||
Left = 524
|
Left = 557
|
||||||
Top = 190
|
Top = 190
|
||||||
Properties.Prefix = 'mailto:'
|
Properties.Prefix = 'mailto:'
|
||||||
ExplicitLeft = 524
|
ExplicitLeft = 557
|
||||||
ExplicitTop = 190
|
ExplicitTop = 190
|
||||||
ExplicitWidth = 121
|
ExplicitWidth = 74
|
||||||
Width = 121
|
Width = 74
|
||||||
end
|
end
|
||||||
inherited ePaginaWeb: TcxDBHyperLinkEdit
|
inherited ePaginaWeb: TcxDBHyperLinkEdit
|
||||||
Left = 524
|
Left = 557
|
||||||
Top = 217
|
Top = 217
|
||||||
ExplicitLeft = 524
|
ExplicitLeft = 557
|
||||||
ExplicitTop = 217
|
ExplicitTop = 217
|
||||||
ExplicitWidth = 121
|
ExplicitWidth = 74
|
||||||
Width = 121
|
Width = 74
|
||||||
end
|
end
|
||||||
inherited eReferencia: TcxDBTextEdit
|
inherited eReferencia: TcxDBTextEdit
|
||||||
Top = 30
|
Top = 30
|
||||||
ExplicitTop = 30
|
ExplicitTop = 30
|
||||||
ExplicitWidth = 102
|
ExplicitWidth = 33
|
||||||
Width = 102
|
Width = 33
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
inherited dsContacto: TDADataSource
|
inherited dsContacto: TDADataSource
|
||||||
@ -275,34 +296,34 @@ inherited fEditorCliente: TfEditorCliente
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
inherited pagDatosBancarios: TTabSheet
|
inherited pagDatosBancarios: TTabSheet
|
||||||
ExplicitWidth = 648
|
ExplicitWidth = 868
|
||||||
ExplicitHeight = 462
|
ExplicitHeight = 542
|
||||||
inherited frViewClienteDatosBancarios: TfrViewClienteDatosBancarios
|
inherited frViewClienteDatosBancarios: TfrViewClienteDatosBancarios
|
||||||
Width = 648
|
Width = 868
|
||||||
Height = 462
|
Height = 542
|
||||||
ExplicitWidth = 648
|
ExplicitWidth = 868
|
||||||
ExplicitHeight = 462
|
ExplicitHeight = 542
|
||||||
inherited dxLayoutControl1: TdxLayoutControl
|
inherited dxLayoutControl1: TdxLayoutControl
|
||||||
Width = 648
|
Width = 868
|
||||||
LookAndFeel = dxLayoutOfficeLookAndFeel
|
LookAndFeel = dxLayoutOfficeLookAndFeel
|
||||||
ExplicitWidth = 648
|
ExplicitWidth = 868
|
||||||
inherited eEntidad: TcxDBTextEdit
|
inherited eEntidad: TcxDBTextEdit
|
||||||
ExplicitWidth = 114
|
ExplicitWidth = 221
|
||||||
Width = 114
|
Width = 221
|
||||||
end
|
end
|
||||||
inherited eSucursal: TcxDBTextEdit
|
inherited eSucursal: TcxDBTextEdit
|
||||||
Left = 418
|
Left = 534
|
||||||
ExplicitLeft = 418
|
ExplicitLeft = 534
|
||||||
ExplicitWidth = 112
|
ExplicitWidth = 208
|
||||||
Width = 112
|
Width = 208
|
||||||
end
|
end
|
||||||
inherited eCuenta: TcxDBTextEdit
|
inherited eCuenta: TcxDBTextEdit
|
||||||
ExplicitWidth = 194
|
ExplicitWidth = 388
|
||||||
Width = 194
|
Width = 388
|
||||||
end
|
end
|
||||||
inherited eTitular: TcxDBTextEdit
|
inherited eTitular: TcxDBTextEdit
|
||||||
ExplicitWidth = 194
|
ExplicitWidth = 509
|
||||||
Width = 194
|
Width = 509
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -313,7 +334,7 @@ inherited fEditorCliente: TfEditorCliente
|
|||||||
inline frViewClienteDatosComerciales1: TfrViewClienteDatosComerciales
|
inline frViewClienteDatosComerciales1: TfrViewClienteDatosComerciales
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 648
|
Width = 868
|
||||||
Height = 193
|
Height = 193
|
||||||
Align = alTop
|
Align = alTop
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
@ -324,20 +345,20 @@ inherited fEditorCliente: TfEditorCliente
|
|||||||
ParentFont = False
|
ParentFont = False
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
ReadOnly = False
|
ReadOnly = False
|
||||||
ExplicitWidth = 648
|
ExplicitWidth = 868
|
||||||
ExplicitHeight = 193
|
ExplicitHeight = 193
|
||||||
inherited dxLayoutControl1: TdxLayoutControl
|
inherited dxLayoutControl1: TdxLayoutControl
|
||||||
Width = 648
|
Width = 868
|
||||||
LookAndFeel = dxLayoutOfficeLookAndFeel
|
LookAndFeel = dxLayoutOfficeLookAndFeel
|
||||||
ExplicitWidth = 648
|
ExplicitWidth = 868
|
||||||
inherited Label1: TLabel
|
inherited Label1: TLabel
|
||||||
Left = 337
|
Left = 482
|
||||||
Top = 30
|
Top = 30
|
||||||
Width = 279
|
Width = 279
|
||||||
Caption =
|
Caption =
|
||||||
'Puede indicar el d'#237'a de mes que el cliente desea realizar el pag' +
|
'Puede indicar el d'#237'a de mes que el cliente desea realizar el pag' +
|
||||||
'o de sus recibos.'
|
'o de sus recibos.'
|
||||||
ExplicitLeft = 337
|
ExplicitLeft = 482
|
||||||
ExplicitTop = 30
|
ExplicitTop = 30
|
||||||
ExplicitWidth = 279
|
ExplicitWidth = 279
|
||||||
end
|
end
|
||||||
@ -348,9 +369,9 @@ inherited fEditorCliente: TfEditorCliente
|
|||||||
Width = 197
|
Width = 197
|
||||||
end
|
end
|
||||||
inherited eDiasVencimiento: TcxDBSpinEdit
|
inherited eDiasVencimiento: TcxDBSpinEdit
|
||||||
Left = 466
|
Left = 611
|
||||||
Top = 62
|
Top = 62
|
||||||
ExplicitLeft = 466
|
ExplicitLeft = 611
|
||||||
ExplicitTop = 62
|
ExplicitTop = 62
|
||||||
ExplicitWidth = 160
|
ExplicitWidth = 160
|
||||||
Width = 160
|
Width = 160
|
||||||
@ -374,9 +395,9 @@ inherited fEditorCliente: TfEditorCliente
|
|||||||
Width = 121
|
Width = 121
|
||||||
end
|
end
|
||||||
inherited bFormasPago: TButton
|
inherited bFormasPago: TButton
|
||||||
Left = 177
|
Left = 322
|
||||||
Top = 57
|
Top = 57
|
||||||
ExplicitLeft = 177
|
ExplicitLeft = 322
|
||||||
ExplicitTop = 57
|
ExplicitTop = 57
|
||||||
end
|
end
|
||||||
inherited eIVA: TcxDBLookupComboBox
|
inherited eIVA: TcxDBLookupComboBox
|
||||||
@ -386,9 +407,9 @@ inherited fEditorCliente: TfEditorCliente
|
|||||||
Width = 121
|
Width = 121
|
||||||
end
|
end
|
||||||
inherited bTiposIVA: TButton
|
inherited bTiposIVA: TButton
|
||||||
Left = 177
|
Left = 322
|
||||||
Top = 84
|
Top = 84
|
||||||
ExplicitLeft = 177
|
ExplicitLeft = 322
|
||||||
ExplicitTop = 84
|
ExplicitTop = 84
|
||||||
end
|
end
|
||||||
inherited dxLayoutGroup1: TdxLayoutGroup
|
inherited dxLayoutGroup1: TdxLayoutGroup
|
||||||
@ -407,8 +428,8 @@ inherited fEditorCliente: TfEditorCliente
|
|||||||
inline frViewDireccionesEntrega1: TfrViewDireccionesEntrega
|
inline frViewDireccionesEntrega1: TfrViewDireccionesEntrega
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 648
|
Width = 868
|
||||||
Height = 462
|
Height = 542
|
||||||
Align = alClient
|
Align = alClient
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
Font.Color = clWindowText
|
Font.Color = clWindowText
|
||||||
@ -418,11 +439,11 @@ inherited fEditorCliente: TfEditorCliente
|
|||||||
ParentFont = False
|
ParentFont = False
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
ReadOnly = False
|
ReadOnly = False
|
||||||
ExplicitWidth = 648
|
ExplicitWidth = 868
|
||||||
ExplicitHeight = 462
|
ExplicitHeight = 542
|
||||||
inherited cxGrid: TcxGrid
|
inherited cxGrid: TcxGrid
|
||||||
Width = 648
|
Width = 868
|
||||||
Height = 437
|
Height = 517
|
||||||
ExplicitWidth = 648
|
ExplicitWidth = 648
|
||||||
ExplicitHeight = 437
|
ExplicitHeight = 437
|
||||||
inherited cxGridView: TcxGridDBTableView
|
inherited cxGridView: TcxGridDBTableView
|
||||||
@ -433,7 +454,7 @@ inherited fEditorCliente: TfEditorCliente
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
inherited ToolBar1: TToolBar
|
inherited ToolBar1: TToolBar
|
||||||
Width = 648
|
Width = 868
|
||||||
ExplicitWidth = 648
|
ExplicitWidth = 648
|
||||||
inherited ToolButton1: TToolButton
|
inherited ToolButton1: TToolButton
|
||||||
ExplicitWidth = 62
|
ExplicitWidth = 62
|
||||||
@ -456,8 +477,8 @@ inherited fEditorCliente: TfEditorCliente
|
|||||||
inline frViewClienteDescuentos1: TfrViewClienteDescuentos
|
inline frViewClienteDescuentos1: TfrViewClienteDescuentos
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 648
|
Width = 868
|
||||||
Height = 462
|
Height = 542
|
||||||
Align = alClient
|
Align = alClient
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
Font.Color = clWindowText
|
Font.Color = clWindowText
|
||||||
@ -467,16 +488,16 @@ inherited fEditorCliente: TfEditorCliente
|
|||||||
ParentFont = False
|
ParentFont = False
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
ReadOnly = False
|
ReadOnly = False
|
||||||
ExplicitWidth = 648
|
ExplicitWidth = 868
|
||||||
ExplicitHeight = 462
|
ExplicitHeight = 542
|
||||||
inherited cxGrid: TcxGrid
|
inherited cxGrid: TcxGrid
|
||||||
Width = 648
|
Width = 868
|
||||||
Height = 437
|
Height = 517
|
||||||
ExplicitWidth = 648
|
ExplicitWidth = 648
|
||||||
ExplicitHeight = 437
|
ExplicitHeight = 437
|
||||||
end
|
end
|
||||||
inherited ToolBar1: TToolBar
|
inherited ToolBar1: TToolBar
|
||||||
Width = 648
|
Width = 868
|
||||||
ExplicitWidth = 648
|
ExplicitWidth = 648
|
||||||
inherited ToolButton1: TToolButton
|
inherited ToolButton1: TToolButton
|
||||||
ExplicitWidth = 62
|
ExplicitWidth = 62
|
||||||
@ -495,10 +516,10 @@ inherited fEditorCliente: TfEditorCliente
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
inherited StatusBar: TJvStatusBar
|
inherited StatusBar: TJvStatusBar
|
||||||
Top = 566
|
Top = 646
|
||||||
Width = 656
|
Width = 876
|
||||||
ExplicitTop = 566
|
ExplicitTop = 646
|
||||||
ExplicitWidth = 656
|
ExplicitWidth = 876
|
||||||
end
|
end
|
||||||
inherited EditorActionList: TActionList
|
inherited EditorActionList: TActionList
|
||||||
object actGruposCliente: TAction
|
object actGruposCliente: TAction
|
||||||
|
|||||||
@ -1,11 +1,16 @@
|
|||||||
inherited fEditorProveedor: TfEditorProveedor
|
inherited fEditorProveedor: TfEditorProveedor
|
||||||
Caption = 'fEditorProveedor'
|
Caption = 'fEditorProveedor'
|
||||||
ClientHeight = 548
|
ClientHeight = 548
|
||||||
ExplicitHeight = 582
|
ClientWidth = 711
|
||||||
|
ExplicitWidth = 719
|
||||||
|
ExplicitHeight = 575
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||||
|
Width = 711
|
||||||
|
ExplicitWidth = 711
|
||||||
inherited Image1: TImage
|
inherited Image1: TImage
|
||||||
|
Left = 684
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001800
|
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001800
|
||||||
0000180806000000E0773DF80000000970485973000017120000171201679FD2
|
0000180806000000E0773DF80000000970485973000017120000171201679FD2
|
||||||
@ -37,17 +42,28 @@ inherited fEditorProveedor: TfEditorProveedor
|
|||||||
53E455B24CEC73DC4C85458EFF01E6EED94CEECC67C7743ED232004BE73E31E6
|
53E455B24CEC73DC4C85458EFF01E6EED94CEECC67C7743ED232004BE73E31E6
|
||||||
B992BA678CF4E6B8E28E80C5A533EE99B823605FC347F7FC8F360A98C836E180
|
B992BA678CF4E6B8E28E80C5A533EE99B823605FC347F7FC8F360A98C836E180
|
||||||
FF01702244FEF5B056BE0000000049454E44AE426082}
|
FF01702244FEF5B056BE0000000049454E44AE426082}
|
||||||
|
ExplicitLeft = 684
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited TBXDock: TTBXDock
|
||||||
|
Width = 711
|
||||||
|
ExplicitWidth = 711
|
||||||
|
inherited tbxMenu: TTBXToolbar
|
||||||
|
ExplicitWidth = 711
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
inherited pgPaginas: TPageControl
|
inherited pgPaginas: TPageControl
|
||||||
|
Width = 711
|
||||||
Height = 453
|
Height = 453
|
||||||
|
ExplicitWidth = 711
|
||||||
ExplicitHeight = 453
|
ExplicitHeight = 453
|
||||||
inherited pagGeneral: TTabSheet
|
inherited pagGeneral: TTabSheet
|
||||||
|
ExplicitWidth = 703
|
||||||
ExplicitHeight = 425
|
ExplicitHeight = 425
|
||||||
inline frViewProveedor1: TfrViewProveedor
|
inline frViewProveedor1: TfrViewProveedor
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 624
|
Width = 703
|
||||||
Height = 425
|
Height = 425
|
||||||
Align = alClient
|
Align = alClient
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
@ -58,63 +74,75 @@ inherited fEditorProveedor: TfEditorProveedor
|
|||||||
ParentFont = False
|
ParentFont = False
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
ReadOnly = False
|
ReadOnly = False
|
||||||
ExplicitWidth = 624
|
ExplicitWidth = 703
|
||||||
ExplicitHeight = 425
|
ExplicitHeight = 425
|
||||||
inherited dxLayoutControlContacto: TdxLayoutControl
|
inherited dxLayoutControlContacto: TdxLayoutControl
|
||||||
Width = 624
|
Width = 703
|
||||||
Height = 425
|
Height = 425
|
||||||
LookAndFeel = dxLayoutOfficeLookAndFeel
|
LookAndFeel = dxLayoutOfficeLookAndFeel
|
||||||
ExplicitWidth = 624
|
ExplicitWidth = 703
|
||||||
ExplicitHeight = 425
|
ExplicitHeight = 425
|
||||||
inherited PngSpeedButton1: TPngSpeedButton
|
inherited PngSpeedButton1: TPngSpeedButton
|
||||||
Left = 579
|
Left = 658
|
||||||
Top = 218
|
Top = 218
|
||||||
ExplicitLeft = 579
|
ExplicitLeft = 658
|
||||||
ExplicitTop = 218
|
ExplicitTop = 218
|
||||||
end
|
end
|
||||||
inherited PngSpeedButton2: TPngSpeedButton
|
inherited PngSpeedButton2: TPngSpeedButton
|
||||||
Left = 579
|
Left = 658
|
||||||
Top = 190
|
Top = 190
|
||||||
ExplicitLeft = 579
|
ExplicitLeft = 658
|
||||||
ExplicitTop = 190
|
ExplicitTop = 190
|
||||||
end
|
end
|
||||||
inherited PngSpeedButton3: TPngSpeedButton
|
inherited PngSpeedButton3: TPngSpeedButton
|
||||||
Left = 579
|
Left = 658
|
||||||
Top = 162
|
Top = 162
|
||||||
ExplicitLeft = 579
|
ExplicitLeft = 658
|
||||||
ExplicitTop = 162
|
ExplicitTop = 162
|
||||||
end
|
end
|
||||||
inherited Label1: TLabel
|
inherited Label1: TLabel
|
||||||
Left = 368
|
Left = 365
|
||||||
Top = 297
|
Top = 297
|
||||||
Width = 342
|
Width = 342
|
||||||
ExplicitLeft = 368
|
ExplicitLeft = 365
|
||||||
ExplicitTop = 297
|
ExplicitTop = 297
|
||||||
ExplicitWidth = 342
|
ExplicitWidth = 342
|
||||||
end
|
end
|
||||||
|
inherited Label2: TLabel
|
||||||
|
Top = 256
|
||||||
|
Width = 324
|
||||||
|
ExplicitTop = 256
|
||||||
|
ExplicitWidth = 324
|
||||||
|
end
|
||||||
|
inherited PngSpeedButton4: TPngSpeedButton
|
||||||
|
Left = 314
|
||||||
|
Top = 301
|
||||||
|
ExplicitLeft = 314
|
||||||
|
ExplicitTop = 301
|
||||||
|
end
|
||||||
inherited eCalle: TcxDBTextEdit
|
inherited eCalle: TcxDBTextEdit
|
||||||
Top = 248
|
Top = 151
|
||||||
ExplicitTop = 248
|
ExplicitTop = 151
|
||||||
ExplicitWidth = 174
|
ExplicitWidth = 174
|
||||||
Width = 174
|
Width = 174
|
||||||
end
|
end
|
||||||
inherited eProvincia: TcxDBTextEdit
|
inherited eProvincia: TcxDBTextEdit
|
||||||
Top = 302
|
Top = 205
|
||||||
ExplicitTop = 302
|
ExplicitTop = 205
|
||||||
ExplicitWidth = 174
|
ExplicitWidth = 174
|
||||||
Width = 174
|
Width = 174
|
||||||
end
|
end
|
||||||
inherited ePoblacion: TcxDBTextEdit
|
inherited ePoblacion: TcxDBTextEdit
|
||||||
Top = 275
|
Top = 178
|
||||||
ExplicitTop = 275
|
ExplicitTop = 178
|
||||||
ExplicitWidth = 108
|
ExplicitWidth = 108
|
||||||
Width = 108
|
Width = 108
|
||||||
end
|
end
|
||||||
inherited eCodigoPostal: TcxDBTextEdit
|
inherited eCodigoPostal: TcxDBTextEdit
|
||||||
Left = 275
|
Left = 272
|
||||||
Top = 275
|
Top = 178
|
||||||
ExplicitLeft = 275
|
ExplicitLeft = 272
|
||||||
ExplicitTop = 275
|
ExplicitTop = 178
|
||||||
end
|
end
|
||||||
inherited eObservaciones: TcxDBMemo
|
inherited eObservaciones: TcxDBMemo
|
||||||
Top = 353
|
Top = 353
|
||||||
@ -124,46 +152,52 @@ inherited fEditorProveedor: TfEditorProveedor
|
|||||||
Height = 56
|
Height = 56
|
||||||
Width = 580
|
Width = 580
|
||||||
end
|
end
|
||||||
|
inherited cxDBCheckBox1: TcxDBCheckBox
|
||||||
|
Left = 365
|
||||||
|
Top = 270
|
||||||
|
ExplicitLeft = 365
|
||||||
|
ExplicitTop = 270
|
||||||
|
ExplicitWidth = 218
|
||||||
|
Width = 218
|
||||||
|
end
|
||||||
inherited eTlfParticular: TcxDBTextEdit
|
inherited eTlfParticular: TcxDBTextEdit
|
||||||
Left = 463
|
Left = 460
|
||||||
Top = 57
|
Top = 57
|
||||||
ExplicitLeft = 463
|
ExplicitLeft = 460
|
||||||
ExplicitTop = 57
|
ExplicitTop = 57
|
||||||
ExplicitWidth = 172
|
ExplicitWidth = 172
|
||||||
Width = 172
|
Width = 172
|
||||||
end
|
end
|
||||||
inherited cxDBCheckBox1: TcxDBCheckBox
|
|
||||||
Left = 368
|
|
||||||
Top = 270
|
|
||||||
ExplicitLeft = 368
|
|
||||||
ExplicitTop = 270
|
|
||||||
ExplicitWidth = 310
|
|
||||||
Width = 310
|
|
||||||
end
|
|
||||||
inherited eTlfTrabajo: TcxDBTextEdit
|
inherited eTlfTrabajo: TcxDBTextEdit
|
||||||
Left = 463
|
Left = 460
|
||||||
Top = 30
|
Top = 30
|
||||||
ExplicitLeft = 463
|
ExplicitLeft = 460
|
||||||
ExplicitTop = 30
|
ExplicitTop = 30
|
||||||
ExplicitWidth = 172
|
ExplicitWidth = 172
|
||||||
Width = 172
|
Width = 172
|
||||||
end
|
end
|
||||||
inherited eTlfMovil: TcxDBTextEdit
|
inherited eTlfMovil: TcxDBTextEdit
|
||||||
Left = 463
|
Left = 460
|
||||||
Top = 84
|
Top = 84
|
||||||
ExplicitLeft = 463
|
ExplicitLeft = 460
|
||||||
ExplicitTop = 84
|
ExplicitTop = 84
|
||||||
ExplicitWidth = 172
|
ExplicitWidth = 172
|
||||||
Width = 172
|
Width = 172
|
||||||
end
|
end
|
||||||
inherited eFax: TcxDBTextEdit
|
inherited eFax: TcxDBTextEdit
|
||||||
Left = 463
|
Left = 460
|
||||||
Top = 111
|
Top = 111
|
||||||
ExplicitLeft = 463
|
ExplicitLeft = 460
|
||||||
ExplicitTop = 111
|
ExplicitTop = 111
|
||||||
ExplicitWidth = 172
|
ExplicitWidth = 172
|
||||||
Width = 172
|
Width = 172
|
||||||
end
|
end
|
||||||
|
inherited eMailAdministracion: TcxDBHyperLinkEdit
|
||||||
|
Top = 301
|
||||||
|
ExplicitTop = 301
|
||||||
|
ExplicitWidth = 33
|
||||||
|
Width = 33
|
||||||
|
end
|
||||||
inherited eNombre: TcxDBTextEdit
|
inherited eNombre: TcxDBTextEdit
|
||||||
Top = 57
|
Top = 57
|
||||||
ExplicitTop = 57
|
ExplicitTop = 57
|
||||||
@ -171,35 +205,33 @@ inherited fEditorProveedor: TfEditorProveedor
|
|||||||
Width = 263
|
Width = 263
|
||||||
end
|
end
|
||||||
inherited eNIFCIF: TcxDBTextEdit
|
inherited eNIFCIF: TcxDBTextEdit
|
||||||
Left = 181
|
|
||||||
Top = 30
|
Top = 30
|
||||||
ExplicitLeft = 181
|
|
||||||
ExplicitTop = 30
|
ExplicitTop = 30
|
||||||
ExplicitWidth = 254
|
ExplicitWidth = 254
|
||||||
Width = 254
|
Width = 254
|
||||||
end
|
end
|
||||||
inherited eMailTrabajo: TcxDBHyperLinkEdit
|
inherited eMailTrabajo: TcxDBHyperLinkEdit
|
||||||
Left = 463
|
Left = 460
|
||||||
Top = 162
|
Top = 162
|
||||||
Properties.Prefix = 'mailto:'
|
Properties.Prefix = 'mailto:'
|
||||||
ExplicitLeft = 463
|
ExplicitLeft = 460
|
||||||
ExplicitTop = 162
|
ExplicitTop = 162
|
||||||
ExplicitWidth = 129
|
ExplicitWidth = 396
|
||||||
Width = 129
|
Width = 396
|
||||||
end
|
end
|
||||||
inherited eMailParticular: TcxDBHyperLinkEdit
|
inherited eMailParticular: TcxDBHyperLinkEdit
|
||||||
Left = 463
|
Left = 460
|
||||||
Top = 190
|
Top = 190
|
||||||
Properties.Prefix = 'mailto:'
|
Properties.Prefix = 'mailto:'
|
||||||
ExplicitLeft = 463
|
ExplicitLeft = 460
|
||||||
ExplicitTop = 190
|
ExplicitTop = 190
|
||||||
ExplicitWidth = 165
|
ExplicitWidth = 165
|
||||||
Width = 165
|
Width = 165
|
||||||
end
|
end
|
||||||
inherited ePaginaWeb: TcxDBHyperLinkEdit
|
inherited ePaginaWeb: TcxDBHyperLinkEdit
|
||||||
Left = 463
|
Left = 460
|
||||||
Top = 217
|
Top = 217
|
||||||
ExplicitLeft = 463
|
ExplicitLeft = 460
|
||||||
ExplicitTop = 217
|
ExplicitTop = 217
|
||||||
ExplicitWidth = 165
|
ExplicitWidth = 165
|
||||||
Width = 165
|
Width = 165
|
||||||
@ -214,13 +246,20 @@ inherited fEditorProveedor: TfEditorProveedor
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
inherited pagDatosBancarios: TTabSheet
|
inherited pagDatosBancarios: TTabSheet
|
||||||
|
ExplicitWidth = 703
|
||||||
ExplicitHeight = 425
|
ExplicitHeight = 425
|
||||||
inherited frViewClienteDatosBancarios: TfrViewClienteDatosBancarios
|
inherited frViewClienteDatosBancarios: TfrViewClienteDatosBancarios
|
||||||
|
Width = 703
|
||||||
Height = 425
|
Height = 425
|
||||||
|
ExplicitWidth = 703
|
||||||
ExplicitHeight = 425
|
ExplicitHeight = 425
|
||||||
inherited dxLayoutControl1: TdxLayoutControl
|
inherited dxLayoutControl1: TdxLayoutControl
|
||||||
|
Width = 703
|
||||||
LookAndFeel = dxLayoutOfficeLookAndFeel
|
LookAndFeel = dxLayoutOfficeLookAndFeel
|
||||||
|
ExplicitWidth = 703
|
||||||
inherited eSucursal: TcxDBTextEdit
|
inherited eSucursal: TcxDBTextEdit
|
||||||
|
Left = 399
|
||||||
|
ExplicitLeft = 399
|
||||||
ExplicitWidth = 177
|
ExplicitWidth = 177
|
||||||
Width = 177
|
Width = 177
|
||||||
end
|
end
|
||||||
@ -241,7 +280,7 @@ inherited fEditorProveedor: TfEditorProveedor
|
|||||||
inline frViewProveedorDatosComerciales1: TfrViewProveedorDatosComerciales
|
inline frViewProveedorDatosComerciales1: TfrViewProveedorDatosComerciales
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 624
|
Width = 703
|
||||||
Height = 121
|
Height = 121
|
||||||
Align = alTop
|
Align = alTop
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
@ -252,17 +291,17 @@ inherited fEditorProveedor: TfEditorProveedor
|
|||||||
ParentFont = False
|
ParentFont = False
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
ReadOnly = False
|
ReadOnly = False
|
||||||
ExplicitWidth = 624
|
ExplicitWidth = 703
|
||||||
ExplicitHeight = 121
|
ExplicitHeight = 121
|
||||||
inherited dxLayoutControl1: TdxLayoutControl
|
inherited dxLayoutControl1: TdxLayoutControl
|
||||||
Width = 624
|
Width = 703
|
||||||
LookAndFeel = dxLayoutOfficeLookAndFeel
|
LookAndFeel = dxLayoutOfficeLookAndFeel
|
||||||
ExplicitWidth = 624
|
ExplicitWidth = 703
|
||||||
inherited Label1: TLabel
|
inherited Label1: TLabel
|
||||||
Left = 405
|
Left = 455
|
||||||
Top = 30
|
Top = 30
|
||||||
Width = 190
|
Width = 190
|
||||||
ExplicitLeft = 405
|
ExplicitLeft = 455
|
||||||
ExplicitTop = 30
|
ExplicitTop = 30
|
||||||
ExplicitWidth = 190
|
ExplicitWidth = 190
|
||||||
end
|
end
|
||||||
@ -279,9 +318,9 @@ inherited fEditorProveedor: TfEditorProveedor
|
|||||||
Width = 121
|
Width = 121
|
||||||
end
|
end
|
||||||
inherited bFormasPago: TButton
|
inherited bFormasPago: TButton
|
||||||
Left = 245
|
Left = 295
|
||||||
Top = 57
|
Top = 57
|
||||||
ExplicitLeft = 245
|
ExplicitLeft = 295
|
||||||
ExplicitTop = 57
|
ExplicitTop = 57
|
||||||
end
|
end
|
||||||
inherited eIVA: TcxDBLookupComboBox
|
inherited eIVA: TcxDBLookupComboBox
|
||||||
@ -291,15 +330,15 @@ inherited fEditorProveedor: TfEditorProveedor
|
|||||||
Width = 121
|
Width = 121
|
||||||
end
|
end
|
||||||
inherited bTiposIVA: TButton
|
inherited bTiposIVA: TButton
|
||||||
Left = 245
|
Left = 295
|
||||||
Top = 84
|
Top = 84
|
||||||
ExplicitLeft = 245
|
ExplicitLeft = 295
|
||||||
ExplicitTop = 84
|
ExplicitTop = 84
|
||||||
end
|
end
|
||||||
inherited eDescuento: TcxDBSpinEdit
|
inherited eDescuento: TcxDBSpinEdit
|
||||||
Left = 449
|
Left = 499
|
||||||
Top = 62
|
Top = 62
|
||||||
ExplicitLeft = 449
|
ExplicitLeft = 499
|
||||||
ExplicitTop = 62
|
ExplicitTop = 62
|
||||||
ExplicitWidth = 73
|
ExplicitWidth = 73
|
||||||
Width = 73
|
Width = 73
|
||||||
@ -310,7 +349,9 @@ inherited fEditorProveedor: TfEditorProveedor
|
|||||||
end
|
end
|
||||||
inherited StatusBar: TJvStatusBar
|
inherited StatusBar: TJvStatusBar
|
||||||
Top = 529
|
Top = 529
|
||||||
|
Width = 711
|
||||||
ExplicitTop = 529
|
ExplicitTop = 529
|
||||||
|
ExplicitWidth = 711
|
||||||
end
|
end
|
||||||
inherited EditorActionList: TActionList
|
inherited EditorActionList: TActionList
|
||||||
Left = 32
|
Left = 32
|
||||||
|
|||||||
@ -11,26 +11,20 @@ inherited frViewCliente: TfrViewCliente
|
|||||||
ExplicitWidth = 646
|
ExplicitWidth = 646
|
||||||
ExplicitHeight = 470
|
ExplicitHeight = 470
|
||||||
inherited PngSpeedButton1: TPngSpeedButton
|
inherited PngSpeedButton1: TPngSpeedButton
|
||||||
Left = 584
|
Left = 585
|
||||||
Top = 219
|
ExplicitLeft = 585
|
||||||
ExplicitLeft = 584
|
|
||||||
ExplicitTop = 219
|
|
||||||
end
|
end
|
||||||
inherited PngSpeedButton2: TPngSpeedButton
|
inherited PngSpeedButton2: TPngSpeedButton
|
||||||
Left = 584
|
Left = 585
|
||||||
Top = 191
|
ExplicitLeft = 585
|
||||||
ExplicitLeft = 584
|
|
||||||
ExplicitTop = 191
|
|
||||||
end
|
end
|
||||||
inherited PngSpeedButton3: TPngSpeedButton
|
inherited PngSpeedButton3: TPngSpeedButton
|
||||||
Left = 584
|
Left = 585
|
||||||
Top = 163
|
ExplicitLeft = 585
|
||||||
ExplicitLeft = 584
|
|
||||||
ExplicitTop = 163
|
|
||||||
end
|
end
|
||||||
object Label1: TLabel [3]
|
object Label1: TLabel [3]
|
||||||
Left = 329
|
Left = 334
|
||||||
Top = 277
|
Top = 383
|
||||||
Width = 269
|
Width = 269
|
||||||
Height = 39
|
Height = 39
|
||||||
Margins.Bottom = 0
|
Margins.Bottom = 0
|
||||||
@ -39,52 +33,89 @@ inherited frViewCliente: TfrViewCliente
|
|||||||
'riamente debe tener indicado un correo electr'#243'nico de trabajo'
|
'riamente debe tener indicado un correo electr'#243'nico de trabajo'
|
||||||
WordWrap = True
|
WordWrap = True
|
||||||
end
|
end
|
||||||
|
object Label2: TLabel [4]
|
||||||
|
Left = 334
|
||||||
|
Top = 280
|
||||||
|
Width = 271
|
||||||
|
Height = 39
|
||||||
|
Margins.Bottom = 0
|
||||||
|
Caption =
|
||||||
|
'Si procede, indique la direcci'#243'n de correo electr'#243'nico del clien' +
|
||||||
|
'te que se utilizar'#225' para enviar documentaci'#243'n (facturas, albaran' +
|
||||||
|
'es, recibos, etc.) por e-mail.'
|
||||||
|
WordWrap = True
|
||||||
|
end
|
||||||
|
object PngSpeedButton4: TPngSpeedButton [5]
|
||||||
|
Left = 585
|
||||||
|
Top = 325
|
||||||
|
Width = 23
|
||||||
|
Height = 22
|
||||||
|
Action = actMandarCorreoTrabajo
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000001964944415478DA
|
||||||
|
63FCFFFF3F03232323033A58BCE9F87F647EAC9F258622B05E6C068034873B8A
|
||||||
|
80D92019C62F8F194C1356339CDF399D91A0014B361FFB1FE6208AA299E1F323
|
||||||
|
306D52F90CC5100C03566E3DFC3FD04E02A2F9F727064690462066006A66FC02
|
||||||
|
64FFFAC8603451096E088A01CB361FFDFF8F819981183077D11A86FDAB7B18E1
|
||||||
|
062CDD7CE27F14573FC3B2EF450CD13E86181ABE7DFFCDF0F5DB6F866FDFFE30
|
||||||
|
1CB97897218AB38FC1B85B98E1DC8E698C600396000D8861696058FAB7116CC0
|
||||||
|
94C5FBB0DAEC6CAECF70EED6238668E67AB057500CF8F0E10383A0A0208A0B90
|
||||||
|
6D06B1BF01D9379E3C67387AFE09C389A37BD15CE06B01B47907434EAC13C3EF
|
||||||
|
3F7F19662E3F8862BB898606C3EFDFFF1896EF3DCFA0A5C0CD306FE9265403FC
|
||||||
|
9D20362F5CB71F4CE7C47AA01890D5BC164C7716F980D56018606BAC0656B079
|
||||||
|
EF2986F82047AC6150DEB785A13CD911AC06C300234D05867DC72F30B8D818E1
|
||||||
|
8DC2494B0E63F702281075D455884A07576EDEC134404A5480E1DAED07441900
|
||||||
|
021806F44D5D44B46618801B400900007F4518F05E90AAF20000000049454E44
|
||||||
|
AE426082}
|
||||||
|
PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
|
||||||
|
end
|
||||||
inherited eCalle: TcxDBTextEdit
|
inherited eCalle: TcxDBTextEdit
|
||||||
Left = 121
|
Left = 121
|
||||||
Top = 268
|
Top = 374
|
||||||
TabOrder = 7
|
TabOrder = 8
|
||||||
ExplicitLeft = 121
|
ExplicitLeft = 121
|
||||||
ExplicitTop = 268
|
ExplicitTop = 374
|
||||||
ExplicitWidth = 175
|
ExplicitWidth = 175
|
||||||
Width = 175
|
Width = 175
|
||||||
end
|
end
|
||||||
inherited eProvincia: TcxDBTextEdit
|
inherited eProvincia: TcxDBTextEdit
|
||||||
Left = 121
|
Left = 121
|
||||||
Top = 322
|
Top = 428
|
||||||
TabOrder = 10
|
TabOrder = 11
|
||||||
ExplicitLeft = 121
|
ExplicitLeft = 121
|
||||||
ExplicitTop = 322
|
ExplicitTop = 428
|
||||||
ExplicitWidth = 167
|
ExplicitWidth = 167
|
||||||
Width = 167
|
Width = 167
|
||||||
end
|
end
|
||||||
inherited ePoblacion: TcxDBTextEdit
|
inherited ePoblacion: TcxDBTextEdit
|
||||||
Left = 121
|
Left = 121
|
||||||
Top = 295
|
Top = 401
|
||||||
TabOrder = 8
|
TabOrder = 9
|
||||||
ExplicitLeft = 121
|
ExplicitLeft = 121
|
||||||
ExplicitTop = 295
|
ExplicitTop = 401
|
||||||
ExplicitWidth = 71
|
ExplicitWidth = 71
|
||||||
Width = 71
|
Width = 71
|
||||||
end
|
end
|
||||||
inherited eCodigoPostal: TcxDBTextEdit
|
inherited eCodigoPostal: TcxDBTextEdit
|
||||||
Left = 234
|
Left = 239
|
||||||
Top = 295
|
Top = 401
|
||||||
TabOrder = 9
|
TabOrder = 10
|
||||||
ExplicitLeft = 234
|
ExplicitLeft = 239
|
||||||
ExplicitTop = 295
|
ExplicitTop = 401
|
||||||
end
|
end
|
||||||
inherited eObservaciones: TcxDBMemo
|
inherited eObservaciones: TcxDBMemo
|
||||||
Top = 406
|
Top = 485
|
||||||
TabOrder = 20
|
TabOrder = 21
|
||||||
ExplicitTop = 406
|
ExplicitTop = 485
|
||||||
ExplicitWidth = 609
|
ExplicitWidth = 609
|
||||||
ExplicitHeight = 42
|
ExplicitHeight = 42
|
||||||
Height = 42
|
Height = 42
|
||||||
Width = 609
|
Width = 609
|
||||||
end
|
end
|
||||||
object eNombreComercial: TcxDBTextEdit [9]
|
object eNombreComercial: TcxDBTextEdit [11]
|
||||||
Left = 121
|
Left = 121
|
||||||
Top = 79
|
Top = 82
|
||||||
DataBinding.DataField = 'NOMBRE_COMERCIAL'
|
DataBinding.DataField = 'NOMBRE_COMERCIAL'
|
||||||
DataBinding.DataSource = dsContacto
|
DataBinding.DataSource = dsContacto
|
||||||
Style.BorderColor = clWindowFrame
|
Style.BorderColor = clWindowFrame
|
||||||
@ -102,9 +133,9 @@ inherited frViewCliente: TfrViewCliente
|
|||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
Width = 143
|
Width = 143
|
||||||
end
|
end
|
||||||
object cbClienteBloqueado: TcxDBCheckBox [10]
|
object cbClienteBloqueado: TcxDBCheckBox [12]
|
||||||
Left = 22
|
Left = 22
|
||||||
Top = 184
|
Top = 290
|
||||||
Action = actBloqueoCliente
|
Action = actBloqueoCliente
|
||||||
DataBinding.DataField = 'BLOQUEADO'
|
DataBinding.DataField = 'BLOQUEADO'
|
||||||
DataBinding.DataSource = dsContacto
|
DataBinding.DataSource = dsContacto
|
||||||
@ -123,12 +154,12 @@ inherited frViewCliente: TfrViewCliente
|
|||||||
StyleFocused.LookAndFeel.NativeStyle = True
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
StyleHot.LookAndFeel.Kind = lfStandard
|
StyleHot.LookAndFeel.Kind = lfStandard
|
||||||
StyleHot.LookAndFeel.NativeStyle = True
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
TabOrder = 5
|
TabOrder = 6
|
||||||
Width = 163
|
Width = 163
|
||||||
end
|
end
|
||||||
object cbGrupoCliente: TcxDBComboBox [11]
|
object cbGrupoCliente: TcxDBComboBox [13]
|
||||||
Left = 121
|
Left = 121
|
||||||
Top = 106
|
Top = 109
|
||||||
DataBinding.DataField = 'GRUPO_CLIENTE'
|
DataBinding.DataField = 'GRUPO_CLIENTE'
|
||||||
DataBinding.DataSource = dsContacto
|
DataBinding.DataSource = dsContacto
|
||||||
Properties.ImmediatePost = True
|
Properties.ImmediatePost = True
|
||||||
@ -150,9 +181,9 @@ inherited frViewCliente: TfrViewCliente
|
|||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
Width = 87
|
Width = 87
|
||||||
end
|
end
|
||||||
object eBloqueo: TcxDBTextEdit [12]
|
object eBloqueo: TcxDBTextEdit [14]
|
||||||
Left = 121
|
Left = 121
|
||||||
Top = 211
|
Top = 317
|
||||||
DataBinding.DataField = 'MOTIVO_BLOQUEO'
|
DataBinding.DataField = 'MOTIVO_BLOQUEO'
|
||||||
DataBinding.DataSource = dsContacto
|
DataBinding.DataSource = dsContacto
|
||||||
Style.BorderColor = clWindowFrame
|
Style.BorderColor = clWindowFrame
|
||||||
@ -166,21 +197,12 @@ inherited frViewCliente: TfrViewCliente
|
|||||||
StyleFocused.LookAndFeel.NativeStyle = True
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
StyleHot.LookAndFeel.Kind = lfStandard
|
StyleHot.LookAndFeel.Kind = lfStandard
|
||||||
StyleHot.LookAndFeel.NativeStyle = True
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
TabOrder = 6
|
TabOrder = 7
|
||||||
Width = 113
|
Width = 113
|
||||||
end
|
end
|
||||||
inherited eTlfParticular: TcxDBTextEdit
|
object cxDBCheckBox1: TcxDBCheckBox [15]
|
||||||
Left = 424
|
Left = 334
|
||||||
Top = 52
|
Top = 428
|
||||||
TabOrder = 12
|
|
||||||
ExplicitLeft = 424
|
|
||||||
ExplicitTop = 52
|
|
||||||
ExplicitWidth = 157
|
|
||||||
Width = 157
|
|
||||||
end
|
|
||||||
object cxDBCheckBox1: TcxDBCheckBox [14]
|
|
||||||
Left = 329
|
|
||||||
Top = 322
|
|
||||||
Caption = 'Permitir el acceso de este cliente a la tienda web'
|
Caption = 'Permitir el acceso de este cliente a la tienda web'
|
||||||
DataBinding.DataField = 'TIENDA_WEB'
|
DataBinding.DataField = 'TIENDA_WEB'
|
||||||
DataBinding.DataSource = dsContacto
|
DataBinding.DataSource = dsContacto
|
||||||
@ -200,92 +222,12 @@ inherited frViewCliente: TfrViewCliente
|
|||||||
StyleFocused.LookAndFeel.NativeStyle = True
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
StyleHot.LookAndFeel.Kind = lfStandard
|
StyleHot.LookAndFeel.Kind = lfStandard
|
||||||
StyleHot.LookAndFeel.NativeStyle = True
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
TabOrder = 18
|
TabOrder = 20
|
||||||
Width = 275
|
Width = 274
|
||||||
end
|
end
|
||||||
inherited eTlfTrabajo: TcxDBTextEdit
|
object cbRapel: TcxDBCheckBox [16]
|
||||||
Left = 424
|
|
||||||
Top = 25
|
|
||||||
TabOrder = 11
|
|
||||||
ExplicitLeft = 424
|
|
||||||
ExplicitTop = 25
|
|
||||||
ExplicitWidth = 157
|
|
||||||
Width = 157
|
|
||||||
end
|
|
||||||
inherited eTlfMovil: TcxDBTextEdit
|
|
||||||
Left = 424
|
|
||||||
Top = 79
|
|
||||||
TabOrder = 13
|
|
||||||
ExplicitLeft = 424
|
|
||||||
ExplicitTop = 79
|
|
||||||
ExplicitWidth = 157
|
|
||||||
Width = 157
|
|
||||||
end
|
|
||||||
inherited eFax: TcxDBTextEdit
|
|
||||||
Left = 424
|
|
||||||
Top = 106
|
|
||||||
TabOrder = 14
|
|
||||||
ExplicitLeft = 424
|
|
||||||
ExplicitTop = 106
|
|
||||||
ExplicitWidth = 157
|
|
||||||
Width = 157
|
|
||||||
end
|
|
||||||
inherited eNombre: TcxDBTextEdit
|
|
||||||
Left = 121
|
|
||||||
Top = 52
|
|
||||||
ExplicitLeft = 121
|
|
||||||
ExplicitTop = 52
|
|
||||||
ExplicitWidth = 135
|
|
||||||
Width = 135
|
|
||||||
end
|
|
||||||
inherited eNIFCIF: TcxDBTextEdit
|
|
||||||
Left = 228
|
|
||||||
Top = 25
|
|
||||||
ExplicitLeft = 228
|
|
||||||
ExplicitTop = 25
|
|
||||||
ExplicitWidth = 58
|
|
||||||
Width = 58
|
|
||||||
end
|
|
||||||
inherited eMailTrabajo: TcxDBHyperLinkEdit
|
|
||||||
Left = 424
|
|
||||||
Top = 163
|
|
||||||
Properties.Prefix = 'mailto:'
|
|
||||||
TabOrder = 15
|
|
||||||
ExplicitLeft = 424
|
|
||||||
ExplicitTop = 163
|
|
||||||
ExplicitWidth = 128
|
|
||||||
Width = 128
|
|
||||||
end
|
|
||||||
inherited eMailParticular: TcxDBHyperLinkEdit
|
|
||||||
Left = 424
|
|
||||||
Top = 191
|
|
||||||
Properties.Prefix = 'mailto:'
|
|
||||||
TabOrder = 16
|
|
||||||
ExplicitLeft = 424
|
|
||||||
ExplicitTop = 191
|
|
||||||
ExplicitWidth = 128
|
|
||||||
Width = 128
|
|
||||||
end
|
|
||||||
inherited ePaginaWeb: TcxDBHyperLinkEdit
|
|
||||||
Left = 424
|
|
||||||
Top = 218
|
|
||||||
TabOrder = 17
|
|
||||||
ExplicitLeft = 424
|
|
||||||
ExplicitTop = 218
|
|
||||||
ExplicitWidth = 128
|
|
||||||
Width = 128
|
|
||||||
end
|
|
||||||
inherited eReferencia: TcxDBTextEdit
|
|
||||||
Left = 121
|
|
||||||
Top = 25
|
|
||||||
ExplicitLeft = 121
|
|
||||||
ExplicitTop = 25
|
|
||||||
ExplicitWidth = 38
|
|
||||||
Width = 38
|
|
||||||
end
|
|
||||||
object cbRapel: TcxDBCheckBox [24]
|
|
||||||
Left = 22
|
Left = 22
|
||||||
Top = 379
|
Top = 136
|
||||||
Caption = 'Este cliente tiene rapel'
|
Caption = 'Este cliente tiene rapel'
|
||||||
DataBinding.DataField = 'RAPEL'
|
DataBinding.DataField = 'RAPEL'
|
||||||
DataBinding.DataSource = dsContacto
|
DataBinding.DataSource = dsContacto
|
||||||
@ -304,9 +246,100 @@ inherited frViewCliente: TfrViewCliente
|
|||||||
StyleFocused.LookAndFeel.NativeStyle = True
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
StyleHot.LookAndFeel.Kind = lfStandard
|
StyleHot.LookAndFeel.Kind = lfStandard
|
||||||
StyleHot.LookAndFeel.NativeStyle = True
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
TabOrder = 19
|
TabOrder = 5
|
||||||
OnClick = actBloqueoClienteExecute
|
OnClick = actBloqueoClienteExecute
|
||||||
Width = 285
|
Width = 308
|
||||||
|
end
|
||||||
|
inherited eTlfParticular: TcxDBTextEdit
|
||||||
|
Left = 446
|
||||||
|
TabOrder = 13
|
||||||
|
ExplicitLeft = 446
|
||||||
|
ExplicitWidth = 157
|
||||||
|
Width = 157
|
||||||
|
end
|
||||||
|
object eMailAdministracion: TcxDBHyperLinkEdit [18]
|
||||||
|
Left = 446
|
||||||
|
Top = 325
|
||||||
|
DataBinding.DataField = 'EMAIL_ADMINISTRACION'
|
||||||
|
DataBinding.DataSource = dsContacto
|
||||||
|
Properties.OnEditValueChanged = eMailAdministracionPropertiesEditValueChanged
|
||||||
|
Properties.OnValidate = eMailAdministracionPropertiesValidate
|
||||||
|
Properties.Prefix = 'mailto:'
|
||||||
|
Style.BorderColor = clWindowFrame
|
||||||
|
Style.BorderStyle = ebs3D
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.LookAndFeel.Kind = lfStandard
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.LookAndFeel.Kind = lfStandard
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleFocused.LookAndFeel.Kind = lfStandard
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.Kind = lfStandard
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 19
|
||||||
|
Width = 133
|
||||||
|
end
|
||||||
|
inherited eTlfTrabajo: TcxDBTextEdit
|
||||||
|
Left = 446
|
||||||
|
TabOrder = 12
|
||||||
|
ExplicitLeft = 446
|
||||||
|
ExplicitWidth = 157
|
||||||
|
Width = 157
|
||||||
|
end
|
||||||
|
inherited eTlfMovil: TcxDBTextEdit
|
||||||
|
Left = 446
|
||||||
|
TabOrder = 14
|
||||||
|
ExplicitLeft = 446
|
||||||
|
ExplicitWidth = 157
|
||||||
|
Width = 157
|
||||||
|
end
|
||||||
|
inherited eFax: TcxDBTextEdit
|
||||||
|
Left = 446
|
||||||
|
TabOrder = 15
|
||||||
|
ExplicitLeft = 446
|
||||||
|
ExplicitWidth = 157
|
||||||
|
Width = 157
|
||||||
|
end
|
||||||
|
inherited eNombre: TcxDBTextEdit
|
||||||
|
Left = 121
|
||||||
|
ExplicitLeft = 121
|
||||||
|
ExplicitWidth = 135
|
||||||
|
Width = 135
|
||||||
|
end
|
||||||
|
inherited eNIFCIF: TcxDBTextEdit
|
||||||
|
Left = 231
|
||||||
|
ExplicitLeft = 231
|
||||||
|
ExplicitWidth = 58
|
||||||
|
Width = 58
|
||||||
|
end
|
||||||
|
inherited eMailTrabajo: TcxDBHyperLinkEdit
|
||||||
|
Left = 446
|
||||||
|
Properties.Prefix = 'mailto:'
|
||||||
|
TabOrder = 16
|
||||||
|
ExplicitLeft = 446
|
||||||
|
ExplicitWidth = 158
|
||||||
|
Width = 158
|
||||||
|
end
|
||||||
|
inherited eMailParticular: TcxDBHyperLinkEdit
|
||||||
|
Left = 446
|
||||||
|
Properties.Prefix = 'mailto:'
|
||||||
|
TabOrder = 17
|
||||||
|
ExplicitLeft = 446
|
||||||
|
ExplicitWidth = 128
|
||||||
|
Width = 128
|
||||||
|
end
|
||||||
|
inherited ePaginaWeb: TcxDBHyperLinkEdit
|
||||||
|
Left = 446
|
||||||
|
TabOrder = 18
|
||||||
|
ExplicitLeft = 446
|
||||||
|
ExplicitWidth = 128
|
||||||
|
Width = 128
|
||||||
|
end
|
||||||
|
inherited eReferencia: TcxDBTextEdit
|
||||||
|
Left = 121
|
||||||
|
ExplicitLeft = 121
|
||||||
|
ExplicitWidth = 38
|
||||||
|
Width = 38
|
||||||
end
|
end
|
||||||
inherited dxLayoutControlContactoGroup_Root: TdxLayoutGroup
|
inherited dxLayoutControlContactoGroup_Root: TdxLayoutGroup
|
||||||
AutoAligns = [aaHorizontal]
|
AutoAligns = [aaHorizontal]
|
||||||
@ -326,9 +359,14 @@ inherited frViewCliente: TfrViewCliente
|
|||||||
Control = cbGrupoCliente
|
Control = cbGrupoCliente
|
||||||
ControlOptions.ShowBorder = False
|
ControlOptions.ShowBorder = False
|
||||||
end
|
end
|
||||||
|
object dxLayoutControlContactoItem22: TdxLayoutItem
|
||||||
|
ShowCaption = False
|
||||||
|
Control = cbRapel
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object dxLayoutControlContactoGroup18: TdxLayoutGroup [1]
|
object dxLayoutControlContactoGroup18: TdxLayoutGroup [1]
|
||||||
Caption = 'Bloqueo'
|
Caption = 'Bloqueo de cliente'
|
||||||
object dxLayoutControlContactoItem26: TdxLayoutItem
|
object dxLayoutControlContactoItem26: TdxLayoutItem
|
||||||
AutoAligns = [aaVertical]
|
AutoAligns = [aaVertical]
|
||||||
AlignHorz = ahClient
|
AlignHorz = ahClient
|
||||||
@ -348,6 +386,35 @@ inherited frViewCliente: TfrViewCliente
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
inherited dxLayoutControlContactoGroup6: TdxLayoutGroup
|
inherited dxLayoutControlContactoGroup6: TdxLayoutGroup
|
||||||
|
object dxLayoutControlContactoGroup14: TdxLayoutGroup
|
||||||
|
Caption = 'Correo electr'#243'nico de administraci'#243'n'
|
||||||
|
object dxLayoutControlContactoItem23: TdxLayoutItem
|
||||||
|
ShowCaption = False
|
||||||
|
Control = Label2
|
||||||
|
ControlOptions.AutoColor = True
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
end
|
||||||
|
object dxLayoutControlContactoGroup15: TdxLayoutGroup
|
||||||
|
ShowCaption = False
|
||||||
|
Hidden = True
|
||||||
|
LayoutDirection = ldHorizontal
|
||||||
|
ShowBorder = False
|
||||||
|
object dxLayoutControlContactoItem27: TdxLayoutItem
|
||||||
|
AutoAligns = [aaVertical]
|
||||||
|
AlignHorz = ahClient
|
||||||
|
Caption = 'Correo administrativo:'
|
||||||
|
Control = eMailAdministracion
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
end
|
||||||
|
object dxLayoutControlContactoItem28: TdxLayoutItem
|
||||||
|
AutoAligns = [aaVertical]
|
||||||
|
AlignHorz = ahRight
|
||||||
|
ShowCaption = False
|
||||||
|
Control = PngSpeedButton4
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
object dxLayoutControlContactoGroup10: TdxLayoutGroup
|
object dxLayoutControlContactoGroup10: TdxLayoutGroup
|
||||||
AutoAligns = [aaHorizontal]
|
AutoAligns = [aaHorizontal]
|
||||||
AlignVert = avClient
|
AlignVert = avClient
|
||||||
@ -367,11 +434,6 @@ inherited frViewCliente: TfrViewCliente
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
inherited dxLayoutControlContactoGroup7: TdxLayoutGroup
|
inherited dxLayoutControlContactoGroup7: TdxLayoutGroup
|
||||||
object dxLayoutControlContactoItem22: TdxLayoutItem [0]
|
|
||||||
ShowCaption = False
|
|
||||||
Control = cbRapel
|
|
||||||
ControlOptions.ShowBorder = False
|
|
||||||
end
|
|
||||||
inherited dxLayoutControlContactoItem8: TdxLayoutItem
|
inherited dxLayoutControlContactoItem8: TdxLayoutItem
|
||||||
ControlOptions.MinHeight = 10
|
ControlOptions.MinHeight = 10
|
||||||
end
|
end
|
||||||
@ -396,5 +458,10 @@ inherited frViewCliente: TfrViewCliente
|
|||||||
Caption = 'Este cliente est'#225' bloqueado'
|
Caption = 'Este cliente est'#225' bloqueado'
|
||||||
OnExecute = actBloqueoClienteExecute
|
OnExecute = actBloqueoClienteExecute
|
||||||
end
|
end
|
||||||
|
object actMandarCorreoAdministracion: TAction
|
||||||
|
Category = 'Correos'
|
||||||
|
OnExecute = actMandarCorreoAdministracionExecute
|
||||||
|
OnUpdate = actMandarCorreoAdministracionUpdate
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -36,12 +36,26 @@ type
|
|||||||
Label1: TLabel;
|
Label1: TLabel;
|
||||||
dxLayoutControlContactoItem22: TdxLayoutItem;
|
dxLayoutControlContactoItem22: TdxLayoutItem;
|
||||||
cbRapel: TcxDBCheckBox;
|
cbRapel: TcxDBCheckBox;
|
||||||
|
dxLayoutControlContactoItem23: TdxLayoutItem;
|
||||||
|
Label2: TLabel;
|
||||||
|
dxLayoutControlContactoGroup14: TdxLayoutGroup;
|
||||||
|
dxLayoutControlContactoItem27: TdxLayoutItem;
|
||||||
|
eMailAdministracion: TcxDBHyperLinkEdit;
|
||||||
|
dxLayoutControlContactoItem28: TdxLayoutItem;
|
||||||
|
PngSpeedButton4: TPngSpeedButton;
|
||||||
|
dxLayoutControlContactoGroup15: TdxLayoutGroup;
|
||||||
|
actMandarCorreoAdministracion: TAction;
|
||||||
procedure cbGrupoClientePropertiesInitPopup(Sender: TObject);
|
procedure cbGrupoClientePropertiesInitPopup(Sender: TObject);
|
||||||
procedure cbGrupoClientePropertiesValidate(Sender: TObject;
|
procedure cbGrupoClientePropertiesValidate(Sender: TObject;
|
||||||
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
||||||
procedure CustomViewCreate(Sender: TObject);
|
procedure CustomViewCreate(Sender: TObject);
|
||||||
procedure CustomViewDestroy(Sender: TObject);
|
procedure CustomViewDestroy(Sender: TObject);
|
||||||
procedure actBloqueoClienteExecute(Sender: TObject);
|
procedure actBloqueoClienteExecute(Sender: TObject);
|
||||||
|
procedure eMailAdministracionPropertiesEditValueChanged(Sender: TObject);
|
||||||
|
procedure eMailAdministracionPropertiesValidate(Sender: TObject;
|
||||||
|
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
||||||
|
procedure actMandarCorreoAdministracionExecute(Sender: TObject);
|
||||||
|
procedure actMandarCorreoAdministracionUpdate(Sender: TObject);
|
||||||
protected
|
protected
|
||||||
FGrupoController: IGruposClienteController;
|
FGrupoController: IGruposClienteController;
|
||||||
procedure SetContacto(const Value: IBizContacto); override;
|
procedure SetContacto(const Value: IBizContacto); override;
|
||||||
@ -54,6 +68,9 @@ implementation
|
|||||||
uses
|
uses
|
||||||
uBizGruposCliente;
|
uBizGruposCliente;
|
||||||
|
|
||||||
|
type
|
||||||
|
THackcxDBHyperLinkEdit = class(TcxDBHyperLinkEdit);
|
||||||
|
|
||||||
{ TfrViewCliente }
|
{ TfrViewCliente }
|
||||||
|
|
||||||
procedure TfrViewCliente.actBloqueoClienteExecute(Sender: TObject);
|
procedure TfrViewCliente.actBloqueoClienteExecute(Sender: TObject);
|
||||||
@ -62,6 +79,18 @@ begin
|
|||||||
eBloqueo.Enabled := cbClienteBloqueado.Checked;
|
eBloqueo.Enabled := cbClienteBloqueado.Checked;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewCliente.actMandarCorreoAdministracionExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
THackcxDBHyperLinkEdit(eMailTrabajo).DoStart;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewCliente.actMandarCorreoAdministracionUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
(Sender as TAction).Enabled := (Length(eMailAdministracion.Text) > 0)
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TfrViewCliente.cbGrupoClientePropertiesInitPopup(Sender: TObject);
|
procedure TfrViewCliente.cbGrupoClientePropertiesInitPopup(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
@ -116,6 +145,20 @@ begin
|
|||||||
inherited;
|
inherited;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewCliente.eMailAdministracionPropertiesEditValueChanged(
|
||||||
|
Sender: TObject);
|
||||||
|
begin
|
||||||
|
if not VarIsNull((Sender as TcxDBHyperLinkEdit).EditValue) then
|
||||||
|
(Sender as TcxDBHyperLinkEdit).EditValue := StringReplace((Sender as TcxDBHyperLinkEdit).EditValue, (Sender as TcxDBHyperLinkEdit).Properties.Prefix, '', []);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewCliente.eMailAdministracionPropertiesValidate(Sender: TObject;
|
||||||
|
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
||||||
|
begin
|
||||||
|
if not VarIsNull(DisplayValue) then
|
||||||
|
DisplayValue := StringReplace(DisplayValue, (Sender as TcxDBHyperLinkEdit).Properties.Prefix, '', []);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TfrViewCliente.SetContacto(const Value: IBizContacto);
|
procedure TfrViewCliente.SetContacto(const Value: IBizContacto);
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
|
|||||||
@ -5,7 +5,7 @@ inherited frViewProveedor: TfrViewProveedor
|
|||||||
Height = 454
|
Height = 454
|
||||||
ExplicitHeight = 454
|
ExplicitHeight = 454
|
||||||
object Label1: TLabel [3]
|
object Label1: TLabel [3]
|
||||||
Left = 356
|
Left = 379
|
||||||
Top = 307
|
Top = 307
|
||||||
Width = 342
|
Width = 342
|
||||||
Height = 26
|
Height = 26
|
||||||
@ -14,63 +14,82 @@ inherited frViewProveedor: TfrViewProveedor
|
|||||||
'sirve ese proveedor ser'#225'n tambi'#233'n incluidos)'
|
'sirve ese proveedor ser'#225'n tambi'#233'n incluidos)'
|
||||||
WordWrap = True
|
WordWrap = True
|
||||||
end
|
end
|
||||||
|
object Label2: TLabel [4]
|
||||||
|
Left = 22
|
||||||
|
Top = 266
|
||||||
|
Width = 324
|
||||||
|
Height = 39
|
||||||
|
Margins.Bottom = 0
|
||||||
|
Caption =
|
||||||
|
'Si procede, indique la direcci'#243'n de correo electr'#243'nico del prove' +
|
||||||
|
'edor que se utilizar'#225' para enviar documentaci'#243'n (como pedidos) p' +
|
||||||
|
'or e-mail.'
|
||||||
|
WordWrap = True
|
||||||
|
end
|
||||||
|
object PngSpeedButton4: TPngSpeedButton [5]
|
||||||
|
Left = 326
|
||||||
|
Top = 311
|
||||||
|
Width = 23
|
||||||
|
Height = 22
|
||||||
|
Action = actMandarCorreoTrabajo
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||||
|
610000000970485973000017120000171201679FD252000001964944415478DA
|
||||||
|
63FCFFFF3F03232323033A58BCE9F87F647EAC9F258622B05E6C068034873B8A
|
||||||
|
80D92019C62F8F194C1356339CDF399D91A0014B361FFB1FE6208AA299E1F323
|
||||||
|
306D52F90CC5100C03566E3DFC3FD04E02A2F9F727064690462066006A66FC02
|
||||||
|
64FFFAC8603451096E088A01CB361FFDFF8F819981183077D11A86FDAB7B18E1
|
||||||
|
062CDD7CE27F14573FC3B2EF450CD13E86181ABE7DFFCDF0F5DB6F866FDFFE30
|
||||||
|
1CB97897218AB38FC1B85B98E1DC8E698C600396000D8861696058FAB7116CC0
|
||||||
|
94C5FBB0DAEC6CAECF70EED6238668E67AB057500CF8F0E10383A0A0208A0B90
|
||||||
|
6D06B1BF01D9379E3C67387AFE09C389A37BD15CE06B01B47907434EAC13C3EF
|
||||||
|
3F7F19662E3F8862BB898606C3EFDFFF1896EF3DCFA0A5C0CD306FE9265403FC
|
||||||
|
9D20362F5CB71F4CE7C47AA01890D5BC164C7716F980D56018606BAC0656B079
|
||||||
|
EF2986F82047AC6150DEB785A13CD911AC06C300234D05867DC72F30B8D818E1
|
||||||
|
8DC2494B0E63F702281075D455884A07576EDEC134404A5480E1DAED07441900
|
||||||
|
021806F44D5D44B46618801B400900007F4518F05E90AAF20000000049454E44
|
||||||
|
AE426082}
|
||||||
|
PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
|
||||||
|
end
|
||||||
inherited eCalle: TcxDBTextEdit
|
inherited eCalle: TcxDBTextEdit
|
||||||
Top = 258
|
Left = 134
|
||||||
ExplicitTop = 258
|
Top = 155
|
||||||
|
ExplicitLeft = 134
|
||||||
|
ExplicitTop = 155
|
||||||
ExplicitWidth = 264
|
ExplicitWidth = 264
|
||||||
Width = 264
|
Width = 264
|
||||||
end
|
end
|
||||||
inherited eProvincia: TcxDBTextEdit
|
inherited eProvincia: TcxDBTextEdit
|
||||||
Top = 312
|
Left = 134
|
||||||
ExplicitTop = 312
|
Top = 209
|
||||||
|
ExplicitLeft = 134
|
||||||
|
ExplicitTop = 209
|
||||||
ExplicitWidth = 264
|
ExplicitWidth = 264
|
||||||
Width = 264
|
Width = 264
|
||||||
end
|
end
|
||||||
inherited ePoblacion: TcxDBTextEdit
|
inherited ePoblacion: TcxDBTextEdit
|
||||||
Top = 285
|
Left = 134
|
||||||
ExplicitTop = 285
|
Top = 182
|
||||||
|
ExplicitLeft = 134
|
||||||
|
ExplicitTop = 182
|
||||||
ExplicitWidth = 163
|
ExplicitWidth = 163
|
||||||
Width = 163
|
Width = 163
|
||||||
end
|
end
|
||||||
inherited eCodigoPostal: TcxDBTextEdit
|
inherited eCodigoPostal: TcxDBTextEdit
|
||||||
Left = 261
|
Left = 284
|
||||||
Top = 285
|
Top = 182
|
||||||
ExplicitLeft = 261
|
ExplicitLeft = 284
|
||||||
ExplicitTop = 285
|
ExplicitTop = 182
|
||||||
end
|
end
|
||||||
inherited eObservaciones: TcxDBMemo
|
inherited eObservaciones: TcxDBMemo
|
||||||
Top = 369
|
Top = 369
|
||||||
TabOrder = 15
|
TabOrder = 16
|
||||||
ExplicitTop = 369
|
ExplicitTop = 369
|
||||||
ExplicitHeight = 43
|
ExplicitHeight = 43
|
||||||
Height = 43
|
Height = 43
|
||||||
end
|
end
|
||||||
inherited eTlfParticular: TcxDBTextEdit
|
object cxDBCheckBox1: TcxDBCheckBox [11]
|
||||||
Left = 451
|
Left = 379
|
||||||
ExplicitLeft = 451
|
|
||||||
ExplicitWidth = 91
|
|
||||||
Width = 91
|
|
||||||
end
|
|
||||||
inherited eTlfTrabajo: TcxDBTextEdit
|
|
||||||
Left = 451
|
|
||||||
ExplicitLeft = 451
|
|
||||||
ExplicitWidth = 127
|
|
||||||
Width = 127
|
|
||||||
end
|
|
||||||
inherited eTlfMovil: TcxDBTextEdit
|
|
||||||
Left = 451
|
|
||||||
ExplicitLeft = 451
|
|
||||||
ExplicitWidth = 155
|
|
||||||
Width = 155
|
|
||||||
end
|
|
||||||
inherited eFax: TcxDBTextEdit
|
|
||||||
Left = 451
|
|
||||||
ExplicitLeft = 451
|
|
||||||
ExplicitWidth = 121
|
|
||||||
Width = 121
|
|
||||||
end
|
|
||||||
object cxDBCheckBox1: TcxDBCheckBox [13]
|
|
||||||
Left = 356
|
|
||||||
Top = 280
|
Top = 280
|
||||||
Caption = 'Incluir este proveedor en la tienda web'
|
Caption = 'Incluir este proveedor en la tienda web'
|
||||||
DataBinding.DataField = 'TIENDA_WEB'
|
DataBinding.DataField = 'TIENDA_WEB'
|
||||||
@ -91,45 +110,133 @@ inherited frViewProveedor: TfrViewProveedor
|
|||||||
StyleFocused.LookAndFeel.NativeStyle = True
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
StyleHot.LookAndFeel.Kind = lfStandard
|
StyleHot.LookAndFeel.Kind = lfStandard
|
||||||
StyleHot.LookAndFeel.NativeStyle = True
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
TabOrder = 14
|
TabOrder = 15
|
||||||
Width = 310
|
Width = 310
|
||||||
end
|
end
|
||||||
|
inherited eTlfParticular: TcxDBTextEdit
|
||||||
|
Left = 474
|
||||||
|
TabOrder = 9
|
||||||
|
ExplicitLeft = 474
|
||||||
|
ExplicitWidth = 91
|
||||||
|
Width = 91
|
||||||
|
end
|
||||||
|
inherited eTlfTrabajo: TcxDBTextEdit
|
||||||
|
Left = 474
|
||||||
|
TabOrder = 8
|
||||||
|
ExplicitLeft = 474
|
||||||
|
ExplicitWidth = 127
|
||||||
|
Width = 127
|
||||||
|
end
|
||||||
|
inherited eTlfMovil: TcxDBTextEdit
|
||||||
|
Left = 474
|
||||||
|
TabOrder = 10
|
||||||
|
ExplicitLeft = 474
|
||||||
|
ExplicitWidth = 155
|
||||||
|
Width = 155
|
||||||
|
end
|
||||||
|
inherited eFax: TcxDBTextEdit
|
||||||
|
Left = 474
|
||||||
|
TabOrder = 11
|
||||||
|
ExplicitLeft = 474
|
||||||
|
ExplicitWidth = 121
|
||||||
|
Width = 121
|
||||||
|
end
|
||||||
|
object eMailAdministracion: TcxDBHyperLinkEdit [16]
|
||||||
|
Left = 134
|
||||||
|
Top = 311
|
||||||
|
DataBinding.DataField = 'EMAIL_ADMINISTRACION'
|
||||||
|
DataBinding.DataSource = dsContacto
|
||||||
|
Properties.OnEditValueChanged = eMailAdministracionPropertiesEditValueChanged
|
||||||
|
Properties.OnValidate = eMailAdministracionPropertiesValidate
|
||||||
|
Properties.Prefix = 'mailto:'
|
||||||
|
Style.BorderColor = clWindowFrame
|
||||||
|
Style.BorderStyle = ebs3D
|
||||||
|
Style.HotTrack = False
|
||||||
|
Style.LookAndFeel.Kind = lfStandard
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.LookAndFeel.Kind = lfStandard
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleFocused.LookAndFeel.Kind = lfStandard
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.Kind = lfStandard
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 7
|
||||||
|
Width = 186
|
||||||
|
end
|
||||||
inherited eNombre: TcxDBTextEdit
|
inherited eNombre: TcxDBTextEdit
|
||||||
|
Left = 134
|
||||||
|
ExplicitLeft = 134
|
||||||
ExplicitWidth = 221
|
ExplicitWidth = 221
|
||||||
Width = 221
|
Width = 221
|
||||||
end
|
end
|
||||||
inherited eNIFCIF: TcxDBTextEdit
|
inherited eNIFCIF: TcxDBTextEdit
|
||||||
Left = 155
|
Left = 207
|
||||||
ExplicitLeft = 155
|
ExplicitLeft = 207
|
||||||
ExplicitWidth = 205
|
ExplicitWidth = 205
|
||||||
Width = 205
|
Width = 205
|
||||||
end
|
end
|
||||||
inherited eMailTrabajo: TcxDBHyperLinkEdit
|
inherited eMailTrabajo: TcxDBHyperLinkEdit
|
||||||
Left = 451
|
Left = 474
|
||||||
Properties.Prefix = 'mailto:'
|
Properties.Prefix = 'mailto:'
|
||||||
ExplicitLeft = 451
|
TabOrder = 12
|
||||||
|
ExplicitLeft = 474
|
||||||
ExplicitWidth = 133
|
ExplicitWidth = 133
|
||||||
Width = 133
|
Width = 133
|
||||||
end
|
end
|
||||||
inherited eMailParticular: TcxDBHyperLinkEdit
|
inherited eMailParticular: TcxDBHyperLinkEdit
|
||||||
Left = 451
|
Left = 474
|
||||||
Properties.Prefix = 'mailto:'
|
Properties.Prefix = 'mailto:'
|
||||||
ExplicitLeft = 451
|
TabOrder = 13
|
||||||
|
ExplicitLeft = 474
|
||||||
ExplicitWidth = 133
|
ExplicitWidth = 133
|
||||||
Width = 133
|
Width = 133
|
||||||
end
|
end
|
||||||
inherited ePaginaWeb: TcxDBHyperLinkEdit
|
inherited ePaginaWeb: TcxDBHyperLinkEdit
|
||||||
Left = 451
|
Left = 474
|
||||||
ExplicitLeft = 451
|
TabOrder = 14
|
||||||
|
ExplicitLeft = 474
|
||||||
ExplicitWidth = 133
|
ExplicitWidth = 133
|
||||||
Width = 133
|
Width = 133
|
||||||
end
|
end
|
||||||
inherited eReferencia: TcxDBTextEdit
|
inherited eReferencia: TcxDBTextEdit
|
||||||
|
Left = 134
|
||||||
|
ExplicitLeft = 134
|
||||||
ExplicitWidth = 38
|
ExplicitWidth = 38
|
||||||
Width = 38
|
Width = 38
|
||||||
end
|
end
|
||||||
inherited dxLayoutControlContactoGroup_Root: TdxLayoutGroup
|
inherited dxLayoutControlContactoGroup_Root: TdxLayoutGroup
|
||||||
inherited dxLayoutControlContactoGroup9: TdxLayoutGroup
|
inherited dxLayoutControlContactoGroup9: TdxLayoutGroup
|
||||||
|
inherited dxLayoutControlContactoGroup4: TdxLayoutGroup
|
||||||
|
object dxLayoutControlContactoGroup14: TdxLayoutGroup
|
||||||
|
Caption = 'Correo electr'#243'nico de administraci'#243'n'
|
||||||
|
object dxLayoutControlContactoItem20: TdxLayoutItem
|
||||||
|
ShowCaption = False
|
||||||
|
Control = Label2
|
||||||
|
ControlOptions.AutoColor = True
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
end
|
||||||
|
object dxLayoutControlContactoGroup15: TdxLayoutGroup
|
||||||
|
ShowCaption = False
|
||||||
|
Hidden = True
|
||||||
|
LayoutDirection = ldHorizontal
|
||||||
|
ShowBorder = False
|
||||||
|
object dxLayoutControlContactoItem21: TdxLayoutItem
|
||||||
|
AutoAligns = [aaVertical]
|
||||||
|
AlignHorz = ahClient
|
||||||
|
Caption = 'Correo administrativo:'
|
||||||
|
Control = eMailAdministracion
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
end
|
||||||
|
object dxLayoutControlContactoItem22: TdxLayoutItem
|
||||||
|
AutoAligns = [aaVertical]
|
||||||
|
AlignHorz = ahRight
|
||||||
|
ShowCaption = False
|
||||||
|
Control = PngSpeedButton4
|
||||||
|
ControlOptions.ShowBorder = False
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
inherited dxLayoutControlContactoGroup6: TdxLayoutGroup
|
inherited dxLayoutControlContactoGroup6: TdxLayoutGroup
|
||||||
object dxLayoutControlContactoGroup10: TdxLayoutGroup
|
object dxLayoutControlContactoGroup10: TdxLayoutGroup
|
||||||
Caption = 'Tienda web'
|
Caption = 'Tienda web'
|
||||||
@ -153,4 +260,10 @@ inherited frViewProveedor: TfrViewProveedor
|
|||||||
Left = 32
|
Left = 32
|
||||||
Top = 88
|
Top = 88
|
||||||
end
|
end
|
||||||
|
inherited ActionList1: TActionList
|
||||||
|
object actMandarCorreoAdministrativo: TAction
|
||||||
|
OnExecute = actMandarCorreoAdministrativoExecute
|
||||||
|
OnUpdate = actMandarCorreoAdministrativoUpdate
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -20,6 +20,20 @@ type
|
|||||||
Label1: TLabel;
|
Label1: TLabel;
|
||||||
dxLayoutControlContactoItem19: TdxLayoutItem;
|
dxLayoutControlContactoItem19: TdxLayoutItem;
|
||||||
cxDBCheckBox1: TcxDBCheckBox;
|
cxDBCheckBox1: TcxDBCheckBox;
|
||||||
|
dxLayoutControlContactoItem20: TdxLayoutItem;
|
||||||
|
Label2: TLabel;
|
||||||
|
dxLayoutControlContactoItem21: TdxLayoutItem;
|
||||||
|
eMailAdministracion: TcxDBHyperLinkEdit;
|
||||||
|
dxLayoutControlContactoItem22: TdxLayoutItem;
|
||||||
|
PngSpeedButton4: TPngSpeedButton;
|
||||||
|
dxLayoutControlContactoGroup14: TdxLayoutGroup;
|
||||||
|
dxLayoutControlContactoGroup15: TdxLayoutGroup;
|
||||||
|
actMandarCorreoAdministrativo: TAction;
|
||||||
|
procedure actMandarCorreoAdministrativoExecute(Sender: TObject);
|
||||||
|
procedure actMandarCorreoAdministrativoUpdate(Sender: TObject);
|
||||||
|
procedure eMailAdministracionPropertiesEditValueChanged(Sender: TObject);
|
||||||
|
procedure eMailAdministracionPropertiesValidate(Sender: TObject;
|
||||||
|
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
||||||
private
|
private
|
||||||
{ Private declarations }
|
{ Private declarations }
|
||||||
public
|
public
|
||||||
@ -30,4 +44,35 @@ implementation
|
|||||||
|
|
||||||
{$R *.dfm}
|
{$R *.dfm}
|
||||||
|
|
||||||
|
type
|
||||||
|
THackcxDBHyperLinkEdit = class(TcxDBHyperLinkEdit);
|
||||||
|
|
||||||
|
procedure TfrViewProveedor.actMandarCorreoAdministrativoExecute(
|
||||||
|
Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
THackcxDBHyperLinkEdit(eMailTrabajo).DoStart;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewProveedor.actMandarCorreoAdministrativoUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
(Sender as TAction).Enabled := (Length(eMailAdministracion.Text) > 0)
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewProveedor.eMailAdministracionPropertiesEditValueChanged(
|
||||||
|
Sender: TObject);
|
||||||
|
begin
|
||||||
|
if not VarIsNull((Sender as TcxDBHyperLinkEdit).EditValue) then
|
||||||
|
(Sender as TcxDBHyperLinkEdit).EditValue := StringReplace((Sender as TcxDBHyperLinkEdit).EditValue, (Sender as TcxDBHyperLinkEdit).Properties.Prefix, '', []);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewProveedor.eMailAdministracionPropertiesValidate(
|
||||||
|
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
||||||
|
var Error: Boolean);
|
||||||
|
begin
|
||||||
|
if not VarIsNull(DisplayValue) then
|
||||||
|
DisplayValue := StringReplace(DisplayValue, (Sender as TcxDBHyperLinkEdit).Properties.Prefix, '', []);
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
@ -57,6 +57,7 @@ contains
|
|||||||
uIEditorFacturasClientePreview in 'View\uIEditorFacturasClientePreview.pas',
|
uIEditorFacturasClientePreview in 'View\uIEditorFacturasClientePreview.pas',
|
||||||
uIEditorElegirArticulosFacturasCliente in 'View\uIEditorElegirArticulosFacturasCliente.pas',
|
uIEditorElegirArticulosFacturasCliente in 'View\uIEditorElegirArticulosFacturasCliente.pas',
|
||||||
uArticulosFacturaClienteController in 'uArticulosFacturaClienteController.pas',
|
uArticulosFacturaClienteController in 'uArticulosFacturaClienteController.pas',
|
||||||
uIEditorElegirFacturasCliente in 'View\uIEditorElegirFacturasCliente.pas';
|
uIEditorElegirFacturasCliente in 'View\uIEditorElegirFacturasCliente.pas',
|
||||||
|
uIDialogListaFacturasEnvioEMail in 'View\uIDialogListaFacturasEnvioEMail.pas';
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
@ -0,0 +1,21 @@
|
|||||||
|
unit uIDialogListaFacturasEnvioEMail;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
uBizFacturasCliente, uFacturasClienteController;
|
||||||
|
|
||||||
|
type
|
||||||
|
IDialogListaFacturasEnvioEMail = interface
|
||||||
|
['{5B086ADA-7877-4469-ACBE-4C8E4F4BF184}']
|
||||||
|
function GetFacturas: IBizFacturaCliente;
|
||||||
|
procedure SetFacturas(const Value: IBizFacturaCliente);
|
||||||
|
property Facturas: IBizFacturaCliente read GetFacturas write SetFacturas;
|
||||||
|
function ShowModal : Integer;
|
||||||
|
procedure Release;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
end.
|
||||||
@ -42,6 +42,13 @@ type
|
|||||||
procedure Preview(AFactura : IBizFacturaCliente; AllItems: Boolean = false);
|
procedure Preview(AFactura : IBizFacturaCliente; AllItems: Boolean = false);
|
||||||
function Print(AFactura : IBizFacturaCliente; AllItems: Boolean = false): Boolean;
|
function Print(AFactura : IBizFacturaCliente; AllItems: Boolean = false): Boolean;
|
||||||
|
|
||||||
|
function EnviarEmailFacturas(AFacturas : IBizFacturaCliente): Boolean;
|
||||||
|
function GenerarEmailFactura(AFactura : IBizFacturaCliente): Boolean;
|
||||||
|
function EnviarFacturaPorEMail(AFactura: IBizFacturaCliente;
|
||||||
|
const AEnviarDirectamente: Boolean = True;
|
||||||
|
const ADireccionEMail: String = ''; const AAsuntoEMail: String = '';
|
||||||
|
const ATextoEMail: String = ''): Boolean;
|
||||||
|
|
||||||
procedure RecalcularImportes(AFactura: IBizFacturaCliente);
|
procedure RecalcularImportes(AFactura: IBizFacturaCliente);
|
||||||
function EsModificable(AFactura: IBizFacturaCliente): Boolean;
|
function EsModificable(AFactura: IBizFacturaCliente): Boolean;
|
||||||
function EsEliminable(AFactura: IBizFacturaCliente): Boolean;
|
function EsEliminable(AFactura: IBizFacturaCliente): Boolean;
|
||||||
@ -70,6 +77,8 @@ type
|
|||||||
|
|
||||||
function ValidarFactura(AFactura: IBizFacturaCliente): Boolean;
|
function ValidarFactura(AFactura: IBizFacturaCliente): Boolean;
|
||||||
procedure GenerarRecibos(AFactura: IBizFacturaCliente);
|
procedure GenerarRecibos(AFactura: IBizFacturaCliente);
|
||||||
|
procedure _AnadirMarcaEnvioCorreo(AFactura: IBizFacturaCliente);
|
||||||
|
|
||||||
protected
|
protected
|
||||||
procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override;
|
procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override;
|
||||||
public
|
public
|
||||||
@ -101,6 +110,15 @@ type
|
|||||||
procedure Preview(AFactura : IBizFacturaCliente; AllItems: Boolean = false);
|
procedure Preview(AFactura : IBizFacturaCliente; AllItems: Boolean = false);
|
||||||
function Print(AFactura : IBizFacturaCliente; AllItems: Boolean = false): Boolean;
|
function Print(AFactura : IBizFacturaCliente; AllItems: Boolean = false): Boolean;
|
||||||
|
|
||||||
|
function EnviarEmailFacturas(AFacturas : IBizFacturaCliente): Boolean;
|
||||||
|
function GenerarEmailFactura(AFactura : IBizFacturaCliente): Boolean;
|
||||||
|
|
||||||
|
function EnviarFacturaPorEMail(AFactura: IBizFacturaCliente;
|
||||||
|
const AEnviarDirectamente: Boolean = True;
|
||||||
|
const ADireccionEMail: String = ''; const AAsuntoEMail: String = '';
|
||||||
|
const ATextoEMail: String = ''): Boolean;
|
||||||
|
|
||||||
|
|
||||||
procedure RecalcularImportes(AFactura: IBizFacturaCliente);
|
procedure RecalcularImportes(AFactura: IBizFacturaCliente);
|
||||||
function EsModificable(AFactura: IBizFacturaCliente): Boolean;
|
function EsModificable(AFactura: IBizFacturaCliente): Boolean;
|
||||||
function EsEliminable(AFactura: IBizFacturaCliente): Boolean;
|
function EsEliminable(AFactura: IBizFacturaCliente): Boolean;
|
||||||
@ -118,10 +136,12 @@ uses
|
|||||||
uDataModuleUsuarios, uDAInterfaces, uDataTableUtils, uDateUtils,
|
uDataModuleUsuarios, uDAInterfaces, uDataTableUtils, uDateUtils,
|
||||||
uAlbaranesClienteController, schAlbaranesClienteClient_Intf, uROTypes, uDetallesAlbaranClienteController,
|
uAlbaranesClienteController, schAlbaranesClienteClient_Intf, uROTypes, uDetallesAlbaranClienteController,
|
||||||
uBizDetallesAlbaranCliente, uFacturasClienteReportController,
|
uBizDetallesAlbaranCliente, uFacturasClienteReportController,
|
||||||
uBizPedidosCliente, uPedidosClienteController,
|
uBizPedidosCliente, uPedidosClienteController, uIntegerListUtils,
|
||||||
DateUtils, Forms, uBizDetallesPedidoCliente, Dialogs,
|
DateUtils, Forms, uBizDetallesPedidoCliente, Dialogs,
|
||||||
uFormasPagoController, uBizFormasPago, uIEditorElegirFacturasCliente,
|
uFormasPagoController, uBizFormasPago, uIEditorElegirFacturasCliente,
|
||||||
uRecibosClienteController, uBizRecibosCliente;
|
uRecibosClienteController, uBizRecibosCliente, uSistemaFunc,
|
||||||
|
uDialogElegirEMail, uEMailUtils, uStringsUtils,
|
||||||
|
uIDialogListaFacturasEnvioEMail, uDataModuleRegistroCorreos;
|
||||||
|
|
||||||
|
|
||||||
procedure CopiarArticulosPedido(AOrigen: IBizDetallesPedidoCliente;
|
procedure CopiarArticulosPedido(AOrigen: IBizDetallesPedidoCliente;
|
||||||
@ -791,6 +811,100 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TFacturasClienteController.EnviarEmailFacturas(
|
||||||
|
AFacturas: IBizFacturaCliente): Boolean;
|
||||||
|
var
|
||||||
|
ADialog : IDialogListaFacturasEnvioEMail;
|
||||||
|
ARespuesta : Integer;
|
||||||
|
begin
|
||||||
|
ADialog := NIL;
|
||||||
|
|
||||||
|
if not Assigned(AFacturas) then
|
||||||
|
raise Exception.Create ('Facturas no asignadas (EnviarFacturasPorEMail)');
|
||||||
|
|
||||||
|
if AFacturas.DataTable.Active then
|
||||||
|
AFacturas.DataTable.Active := True;
|
||||||
|
|
||||||
|
ShowHourglassCursor;
|
||||||
|
try
|
||||||
|
CreateEditor('DialogListaFacturasEnvioEMail', IDialogListaFacturasEnvioEMail, ADialog);
|
||||||
|
|
||||||
|
if Assigned(ADialog) then
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
ADialog.Facturas := AFacturas;
|
||||||
|
ARespuesta := ADialog.ShowModal;
|
||||||
|
Result := (ARespuesta = mrOK)
|
||||||
|
finally
|
||||||
|
ADialog.Release;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
ADialog := NIL;
|
||||||
|
HideHourglassCursor;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TFacturasClienteController.EnviarFacturaPorEMail(
|
||||||
|
AFactura: IBizFacturaCliente;
|
||||||
|
const AEnviarDirectamente: Boolean = True;
|
||||||
|
const ADireccionEMail: String = ''; const AAsuntoEMail: String = '';
|
||||||
|
const ATextoEMail: String = ''): Boolean;
|
||||||
|
var
|
||||||
|
AReportController : IFacturasClienteReportController;
|
||||||
|
AFicheroTMP : TFileName;
|
||||||
|
AEMail : String;
|
||||||
|
AAsunto : String;
|
||||||
|
AListaEmail : TStringList;
|
||||||
|
begin
|
||||||
|
if not Assigned(AFactura) then
|
||||||
|
raise Exception.Create ('Factura no asignada (EnviarFacturaPorEMail)');
|
||||||
|
|
||||||
|
if AFactura.DataTable.Active then
|
||||||
|
AFactura.DataTable.Active := True;
|
||||||
|
|
||||||
|
RecuperarCliente(AFactura);
|
||||||
|
AFactura.Cliente.DataTable.Active := True;
|
||||||
|
|
||||||
|
AFicheroTMP := DarFicheroPDFTemporal(EscapeIllegalChars(AFactura.REFERENCIA));
|
||||||
|
|
||||||
|
if not EsCadenaVacia(ADireccionEMail) then
|
||||||
|
AEMail := ADireccionEMail
|
||||||
|
else begin
|
||||||
|
AListaEmail := TStringList.Create;
|
||||||
|
try
|
||||||
|
if not EsCadenaVacia(AFactura.Cliente.EMAIL_ADMINISTRACION) then
|
||||||
|
AListaEmail.Add(AFactura.Cliente.EMAIL_ADMINISTRACION);
|
||||||
|
|
||||||
|
if not ElegirEMail(AListaEmail, AEMail) then
|
||||||
|
Exit;
|
||||||
|
finally
|
||||||
|
FreeANDNIL(AListaEmail);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if not EsCadenaVacia(AAsuntoEMail) then
|
||||||
|
AAsunto := AAsuntoEMail
|
||||||
|
else
|
||||||
|
AAsunto := 'Factura ' + AFactura.REFERENCIA;
|
||||||
|
|
||||||
|
ShowHourglassCursor;
|
||||||
|
Application.ProcessMessages;
|
||||||
|
|
||||||
|
AReportController := TFacturasClienteReportController.Create;
|
||||||
|
try
|
||||||
|
AReportController.ExportToPDF(AFactura.ID, AFicheroTMP);
|
||||||
|
Result := EnviarEMailMAPI(AAsunto, ATextoEMail, AFicheroTMP, '', '', AFactura.Cliente.NOMBRE, AEMail, AEnviarDirectamente);
|
||||||
|
if Result then
|
||||||
|
_AnadirMarcaEnvioCorreo(AFactura);
|
||||||
|
finally
|
||||||
|
SysUtils.DeleteFile(AFicheroTMP);
|
||||||
|
AReportController := NIL;
|
||||||
|
HideHourglassCursor;
|
||||||
|
Application.ProcessMessages;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
function TFacturasClienteController.EsEliminable(AFactura: IBizFacturaCliente): Boolean;
|
function TFacturasClienteController.EsEliminable(AFactura: IBizFacturaCliente): Boolean;
|
||||||
begin
|
begin
|
||||||
Result := EsModificable(AFactura);
|
Result := EsModificable(AFactura);
|
||||||
@ -885,6 +999,37 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TFacturasClienteController._AnadirMarcaEnvioCorreo(AFactura: IBizFacturaCliente);
|
||||||
|
var
|
||||||
|
ASoloLectura : Boolean;
|
||||||
|
begin
|
||||||
|
if not Assigned(AFactura) then
|
||||||
|
raise Exception.Create ('Factura no asignada (_AnadirMarcaEnvioCorreo)');
|
||||||
|
|
||||||
|
if AFactura.DataTable.Active then
|
||||||
|
AFactura.DataTable.Active := True;
|
||||||
|
|
||||||
|
if AnadirMarcaEnvioCorreo(nme_FacturasCliente, AFactura.ID) then
|
||||||
|
begin
|
||||||
|
DesconectarTabla(AFactura.DataTable);
|
||||||
|
try
|
||||||
|
ASoloLectura := AFactura.DataTable.ReadOnly;
|
||||||
|
if ASoloLectura then
|
||||||
|
SetDataTableReadOnly(AFactura.DataTable, False);
|
||||||
|
try
|
||||||
|
AFactura.Edit;
|
||||||
|
AFactura.NUM_CORREOS := AFactura.NUM_CORREOS + 1;
|
||||||
|
AFactura.Post;
|
||||||
|
finally
|
||||||
|
if ASoloLectura then
|
||||||
|
SetDataTableReadOnly(AFactura.DataTable, True);
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
ConectarTabla(AFactura.DataTable);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TFacturasClienteController.FiltrarEmpresa(AFactura: IBizFacturaCliente);
|
procedure TFacturasClienteController.FiltrarEmpresa(AFactura: IBizFacturaCliente);
|
||||||
begin
|
begin
|
||||||
if AFactura.DataTable.Active then
|
if AFactura.DataTable.Active then
|
||||||
@ -916,10 +1061,10 @@ begin
|
|||||||
Result := False;
|
Result := False;
|
||||||
|
|
||||||
if not Assigned(AFactura) then
|
if not Assigned(AFactura) then
|
||||||
raise Exception.Create ('Factura no asignada');
|
raise Exception.Create ('Factura no asignada (Guardar)');
|
||||||
|
|
||||||
if not Assigned(FDetallesController) then
|
if not Assigned(FDetallesController) then
|
||||||
raise Exception.Create ('Controller detalles no asignado');
|
raise Exception.Create ('Controller detalles no asignado (Guardar)');
|
||||||
|
|
||||||
if ValidarFactura(AFactura) then
|
if ValidarFactura(AFactura) then
|
||||||
begin
|
begin
|
||||||
@ -961,12 +1106,12 @@ end;
|
|||||||
procedure TFacturasClienteController.Preview(AFactura: IBizFacturaCliente; AllItems: Boolean = false);
|
procedure TFacturasClienteController.Preview(AFactura: IBizFacturaCliente; AllItems: Boolean = false);
|
||||||
var
|
var
|
||||||
AReportController : IFacturasClienteReportController;
|
AReportController : IFacturasClienteReportController;
|
||||||
ID_Facturas: TStringList;
|
ID_Facturas: TIntegerList;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
AReportController := TFacturasClienteReportController.Create;
|
AReportController := TFacturasClienteReportController.Create;
|
||||||
try
|
try
|
||||||
ID_Facturas := TStringList.Create;
|
ID_Facturas := TIntegerList.Create;
|
||||||
|
|
||||||
//Si deseamos previsualizar todos los items del objeto albaran
|
//Si deseamos previsualizar todos los items del objeto albaran
|
||||||
if AllItems then
|
if AllItems then
|
||||||
@ -976,33 +1121,32 @@ begin
|
|||||||
First;
|
First;
|
||||||
while not EOF do
|
while not EOF do
|
||||||
begin
|
begin
|
||||||
ID_Facturas.Add(IntToStr(AFactura.ID));
|
ID_Facturas.Add(AFactura.ID);
|
||||||
Next;
|
Next;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
//Solo previsualizamos el item seleccionado
|
//Solo previsualizamos el item seleccionado
|
||||||
else
|
else
|
||||||
ID_Facturas.Add(IntToStr(AFactura.ID));
|
ID_Facturas.Add(AFactura.ID);
|
||||||
|
|
||||||
AReportController.Preview(ID_Facturas.CommaText);
|
|
||||||
|
|
||||||
|
AReportController.Preview(ID_Facturas);
|
||||||
finally
|
finally
|
||||||
AReportController := NIL;
|
AReportController := NIL;
|
||||||
ID_Facturas.Free;
|
FreeANDNIL(ID_Facturas)
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TFacturasClienteController.Print(AFactura: IBizFacturaCliente; AllItems: Boolean = false): Boolean;
|
function TFacturasClienteController.Print(AFactura: IBizFacturaCliente; AllItems: Boolean = false): Boolean;
|
||||||
var
|
var
|
||||||
AReportController : IFacturasClienteReportController;
|
AReportController : IFacturasClienteReportController;
|
||||||
ID_Facturas: TStringList;
|
ID_Facturas: TIntegerList;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
Result := False;
|
Result := False;
|
||||||
AReportController := TFacturasClienteReportController.Create;
|
AReportController := TFacturasClienteReportController.Create;
|
||||||
try
|
try
|
||||||
ID_Facturas := TStringList.Create;
|
ID_Facturas := TIntegerList.Create;
|
||||||
|
|
||||||
//Si deseamos previsualizar todos los items del objeto albaran
|
//Si deseamos previsualizar todos los items del objeto albaran
|
||||||
if AllItems then
|
if AllItems then
|
||||||
@ -1012,20 +1156,19 @@ begin
|
|||||||
First;
|
First;
|
||||||
while not EOF do
|
while not EOF do
|
||||||
begin
|
begin
|
||||||
ID_Facturas.Add(IntToStr(AFactura.ID));
|
ID_Facturas.Add(AFactura.ID);
|
||||||
Next;
|
Next;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
//Solo previsualizamos el item seleccionado
|
//Solo previsualizamos el item seleccionado
|
||||||
else
|
else
|
||||||
ID_Facturas.Add(IntToStr(AFactura.ID));
|
ID_Facturas.Add(AFactura.ID);
|
||||||
|
|
||||||
Result := AReportController.Print(ID_Facturas.CommaText);
|
|
||||||
|
|
||||||
|
Result := AReportController.Print(ID_Facturas);
|
||||||
finally
|
finally
|
||||||
AReportController := NIL;
|
AReportController := NIL;
|
||||||
ID_Facturas.Free;
|
FreeANDNIL(ID_Facturas)
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1049,6 +1192,24 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TFacturasClienteController.GenerarEmailFactura(
|
||||||
|
AFactura: IBizFacturaCliente): Boolean;
|
||||||
|
begin
|
||||||
|
if not Assigned(AFactura) then
|
||||||
|
raise Exception.Create ('Facturas no asignadas (GenerarEmailFactura)');
|
||||||
|
|
||||||
|
if AFactura.DataTable.Active then
|
||||||
|
AFactura.DataTable.Active := True;
|
||||||
|
|
||||||
|
ShowHourglassCursor;
|
||||||
|
try
|
||||||
|
RecuperarCliente(AFactura);
|
||||||
|
EnviarFacturaPorEMail(AFactura, False, AFactura.Cliente.EMAIL_ADMINISTRACION);
|
||||||
|
finally
|
||||||
|
HideHourglassCursor;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TFacturasClienteController.GenerarRecibos(AFactura: IBizFacturaCliente);
|
procedure TFacturasClienteController.GenerarRecibos(AFactura: IBizFacturaCliente);
|
||||||
var
|
var
|
||||||
AFormasPagoController : IFormasPagoController;
|
AFormasPagoController : IFormasPagoController;
|
||||||
|
|||||||
@ -4,14 +4,15 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, uDADataTable, uControllerBase, uIDataModuleFacturasClienteReport,
|
Classes, SysUtils, uDADataTable, uControllerBase, uIDataModuleFacturasClienteReport,
|
||||||
uClientesController, uDetallesFacturaClienteController,
|
uClientesController, uDetallesFacturaClienteController, uIntegerListUtils,
|
||||||
uBizFacturasCliente;
|
uBizFacturasCliente;
|
||||||
|
|
||||||
type
|
type
|
||||||
IFacturasClienteReportController = interface
|
IFacturasClienteReportController = interface
|
||||||
['{A0F41767-4FF6-4BAE-9FC9-894DD721D756}']
|
['{A0F41767-4FF6-4BAE-9FC9-894DD721D756}']
|
||||||
procedure Preview(const AFacturaID : String);
|
procedure Preview(const AListaID : TIntegerList);
|
||||||
function Print(const AFacturaID : String): Boolean;
|
function Print(const AListaID : TIntegerList): Boolean;
|
||||||
|
function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TFacturasClienteReportController = class(TInterfacedObject, IFacturasClienteReportController)
|
TFacturasClienteReportController = class(TInterfacedObject, IFacturasClienteReportController)
|
||||||
@ -23,8 +24,12 @@ type
|
|||||||
constructor Create;
|
constructor Create;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
|
|
||||||
procedure Preview(const AFacturaID : String);
|
procedure Preview(const AListaID : TIntegerList);
|
||||||
function Print(const AFacturaID : String): Boolean;
|
function Print(const AListaID : TIntegerList): Boolean;
|
||||||
|
function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean;
|
||||||
|
|
||||||
|
{ procedure Preview(const AFacturaID : String);
|
||||||
|
function Print(const AFacturaID : String): Boolean;}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -33,7 +38,7 @@ implementation
|
|||||||
uses
|
uses
|
||||||
uROTypes, uEditorRegistryUtils, uIEditorFacturasClientePreview,
|
uROTypes, uEditorRegistryUtils, uIEditorFacturasClientePreview,
|
||||||
uEditorPreview, uDataModuleFacturasCliente, uEditorBase, cxControls,
|
uEditorPreview, uDataModuleFacturasCliente, uEditorBase, cxControls,
|
||||||
schFacturasClienteClient_Intf;
|
schFacturasClienteClient_Intf, uStringsUtils;
|
||||||
|
|
||||||
{ TFacturasClienteReportController }
|
{ TFacturasClienteReportController }
|
||||||
|
|
||||||
@ -55,56 +60,88 @@ begin
|
|||||||
inherited;
|
inherited;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFacturasClienteReportController.Preview(const AFacturaID : String);
|
function TFacturasClienteReportController.ExportToPDF(const AID: Integer;
|
||||||
|
const AFileName: String): Boolean;
|
||||||
var
|
var
|
||||||
AStream: Binary;
|
AStream: Binary;
|
||||||
AEditor : IEditorFacturasClientePreview;
|
|
||||||
begin
|
|
||||||
AEditor := NIL;
|
|
||||||
|
|
||||||
ShowHourglassCursor;
|
|
||||||
try
|
|
||||||
AStream := FDataModule.GetReport(AFacturaID);
|
|
||||||
try
|
|
||||||
CreateEditor('EditorFacturasClientePreview', IEditorFacturasClientePreview, AEditor);
|
|
||||||
AEditor.LoadFromStream(AStream);
|
|
||||||
finally
|
|
||||||
AStream.Free;
|
|
||||||
end;
|
|
||||||
finally
|
|
||||||
HideHourglassCursor;
|
|
||||||
end;
|
|
||||||
|
|
||||||
if Assigned(AEditor) then
|
|
||||||
AEditor.Preview;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TFacturasClienteReportController.Print(const AFacturaID : String): Boolean;
|
|
||||||
var
|
|
||||||
AStream: Binary;
|
|
||||||
AEditor : IEditorFacturasClientePreview;
|
|
||||||
begin
|
begin
|
||||||
Result := False;
|
Result := False;
|
||||||
AEditor := NIL;
|
if EsCadenaVacia(AFileName) then
|
||||||
|
Exit;
|
||||||
|
|
||||||
ShowHourglassCursor;
|
ShowHourglassCursor;
|
||||||
try
|
try
|
||||||
AStream := FDataModule.GetReport(AFacturaID);
|
AStream := FDataModule.GetRptPDFFacturas(AID, True);
|
||||||
try
|
try
|
||||||
CreateEditor('EditorFacturasClientePreview', IEditorFacturasClientePreview, AEditor);
|
AStream.SaveToFile(AFileName);
|
||||||
AEditor.LoadFromStream(AStream);
|
Result := True;
|
||||||
finally
|
finally
|
||||||
AStream.Free;
|
FreeAndNil(AStream);
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
HideHourglassCursor;
|
HideHourglassCursor;
|
||||||
end;
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
if Assigned(AEditor) then
|
procedure TFacturasClienteReportController.Preview(
|
||||||
begin
|
const AListaID: TIntegerList);
|
||||||
AEditor.TablaImpresion := nme_FacturasCliente;
|
var
|
||||||
AEditor.IdTablaImpresion := AFacturaID;
|
AStream: Binary;
|
||||||
Result := AEditor.Print;
|
AEditor : IEditorFacturasClientePreview;
|
||||||
|
begin
|
||||||
|
AEditor := NIL;
|
||||||
|
ShowHourglassCursor;
|
||||||
|
try
|
||||||
|
AStream := FDataModule.GetRptFacturas(AListaID);
|
||||||
|
try
|
||||||
|
CreateEditor('EditorFacturasClientePreview', IEditorFacturasClientePreview, AEditor);
|
||||||
|
if Assigned(AEditor) then
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
AEditor.LoadFromStream(AStream);
|
||||||
|
AEditor.Preview;
|
||||||
|
finally
|
||||||
|
AEditor.Release;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
FreeAndNil(AStream);
|
||||||
|
AEditor := Nil;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
HideHourglassCursor;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TFacturasClienteReportController.Print(const AListaID: TIntegerList): Boolean;
|
||||||
|
var
|
||||||
|
AStream: Binary;
|
||||||
|
AEditor : IEditorFacturasClientePreview;
|
||||||
|
IdTablaImpresion : String;
|
||||||
|
begin
|
||||||
|
AEditor := NIL;
|
||||||
|
ShowHourglassCursor;
|
||||||
|
try
|
||||||
|
AStream := FDataModule.GetRptFacturas(AListaID);
|
||||||
|
try
|
||||||
|
CreateEditor('EditorFacturasClientePreview', IEditorFacturasClientePreview, AEditor);
|
||||||
|
if Assigned(AEditor) then
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
AEditor.LoadFromStream(AStream);
|
||||||
|
AEditor.TablaImpresion := nme_FacturasCliente;
|
||||||
|
AEditor.IdTablaImpresion := AListaID.ToString;
|
||||||
|
Result := AEditor.Print;
|
||||||
|
finally
|
||||||
|
AEditor.Release;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
FreeAndNil(AStream);
|
||||||
|
AEditor := Nil;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
HideHourglassCursor;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|||||||
@ -10,8 +10,8 @@ object DataModuleFacturasCliente: TDataModuleFacturasCliente
|
|||||||
ParamType = fResult
|
ParamType = fResult
|
||||||
DataType = rtString
|
DataType = rtString
|
||||||
end>
|
end>
|
||||||
Height = 414
|
Height = 407
|
||||||
Width = 518
|
Width = 480
|
||||||
object RORemoteService: TRORemoteService
|
object RORemoteService: TRORemoteService
|
||||||
ServiceName = 'srvFacturasCliente'
|
ServiceName = 'srvFacturasCliente'
|
||||||
Message = ROBinMessage1
|
Message = ROBinMessage1
|
||||||
@ -84,7 +84,7 @@ object DataModuleFacturasCliente: TDataModuleFacturasCliente
|
|||||||
DataType = datDateTime
|
DataType = datDateTime
|
||||||
BlobType = dabtUnknown
|
BlobType = dabtUnknown
|
||||||
DisplayWidth = 0
|
DisplayWidth = 0
|
||||||
DisplayLabel = 'Fecha de las factura'
|
DisplayLabel = 'Fecha'
|
||||||
Alignment = taLeftJustify
|
Alignment = taLeftJustify
|
||||||
DictionaryEntry = 'FacturasCliente_FECHA_FACTURA'
|
DictionaryEntry = 'FacturasCliente_FECHA_FACTURA'
|
||||||
InPrimaryKey = False
|
InPrimaryKey = False
|
||||||
@ -466,6 +466,17 @@ object DataModuleFacturasCliente: TDataModuleFacturasCliente
|
|||||||
Lookup = False
|
Lookup = False
|
||||||
LookupCache = False
|
LookupCache = False
|
||||||
end
|
end
|
||||||
|
item
|
||||||
|
Name = 'NUM_CORREOS'
|
||||||
|
DataType = datInteger
|
||||||
|
BlobType = dabtUnknown
|
||||||
|
DisplayWidth = 0
|
||||||
|
Alignment = taLeftJustify
|
||||||
|
InPrimaryKey = False
|
||||||
|
Calculated = False
|
||||||
|
Lookup = False
|
||||||
|
LookupCache = False
|
||||||
|
end
|
||||||
item
|
item
|
||||||
Name = 'FECHA_VENCIMIENTO'
|
Name = 'FECHA_VENCIMIENTO'
|
||||||
DataType = datDateTime
|
DataType = datDateTime
|
||||||
|
|||||||
@ -8,7 +8,7 @@ uses
|
|||||||
uROServiceComponent, uRORemoteService, uROClient, uROBinMessage,
|
uROServiceComponent, uRORemoteService, uROClient, uROBinMessage,
|
||||||
|
|
||||||
uIDataModuleFacturasCliente, uBizFacturasCliente, uBizDetallesFacturaCliente,
|
uIDataModuleFacturasCliente, uBizFacturasCliente, uBizDetallesFacturaCliente,
|
||||||
uDADesigntimeCall, uIDataModuleFacturasClienteReport;
|
uDADesigntimeCall, uIDataModuleFacturasClienteReport, uIntegerListUtils;
|
||||||
|
|
||||||
type
|
type
|
||||||
TDataModuleFacturasCliente = class(TDAClientDataModule, IDataModuleFacturasCliente, IDataModuleFacturasClienteReport)
|
TDataModuleFacturasCliente = class(TDAClientDataModule, IDataModuleFacturasCliente, IDataModuleFacturasClienteReport)
|
||||||
@ -33,7 +33,10 @@ type
|
|||||||
function NewItem : IBizFacturaCliente;
|
function NewItem : IBizFacturaCliente;
|
||||||
|
|
||||||
// Report
|
// Report
|
||||||
function GetReport(const AFacturaID: String; const ShowLogotipo: Boolean = False): Binary;
|
function GetRptFacturas(const AListaID: TIntegerList;
|
||||||
|
const ShowLogotipo: Boolean = False): Binary;
|
||||||
|
function GetRptPDFFacturas(const AID: Integer;
|
||||||
|
const ShowLogotipo: Boolean = False): Binary;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
@ -65,9 +68,31 @@ begin
|
|||||||
Result := (RORemoteService as IsrvFacturasCliente).GetNextAutoInc(aGeneratorName)
|
Result := (RORemoteService as IsrvFacturasCliente).GetNextAutoInc(aGeneratorName)
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TDataModuleFacturasCliente.GetReport(const AFacturaID: String; const ShowLogotipo: Boolean = False): Binary;
|
function TDataModuleFacturasCliente.GetRptPDFFacturas(
|
||||||
|
const AID: Integer; const ShowLogotipo: Boolean = False): Binary;
|
||||||
|
var
|
||||||
|
AParam : TIntegerArray;
|
||||||
begin
|
begin
|
||||||
Result := (RORemoteService as IsrvFacturasCliente).GenerateReport(AFacturaID, ShowLogotipo)
|
AParam := TIntegerArray.Create;
|
||||||
|
try
|
||||||
|
AParam.Add(AID);
|
||||||
|
Result := (RORemoteService as IsrvFacturasCliente).GenerarInformeEnPDF(AParam, ShowLogotipo)
|
||||||
|
finally
|
||||||
|
FreeANDNIL(AParam)
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TDataModuleFacturasCliente.GetRptFacturas(
|
||||||
|
const AListaID: TIntegerList; const ShowLogotipo: Boolean = False): Binary;
|
||||||
|
var
|
||||||
|
AParam : TIntegerArray;
|
||||||
|
begin
|
||||||
|
AParam := AListaID.ToIntegerArray;
|
||||||
|
try
|
||||||
|
Result := (RORemoteService as IsrvFacturasCliente).GenerarInforme(AParam, ShowLogotipo)
|
||||||
|
finally
|
||||||
|
FreeANDNIL(AParam)
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TDataModuleFacturasCliente.NewItem: IBizFacturaCliente;
|
function TDataModuleFacturasCliente.NewItem: IBizFacturaCliente;
|
||||||
|
|||||||
@ -23,10 +23,10 @@
|
|||||||
<Projects Name="FacturasCliente_model.bpl">Model\FacturasCliente_model.bdsproj</Projects>
|
<Projects Name="FacturasCliente_model.bpl">Model\FacturasCliente_model.bdsproj</Projects>
|
||||||
<Projects Name="FacturasCliente_data.bpl">Data\FacturasCliente_data.bdsproj</Projects>
|
<Projects Name="FacturasCliente_data.bpl">Data\FacturasCliente_data.bdsproj</Projects>
|
||||||
<Projects Name="FacturasCliente_controller.bpl">Controller\FacturasCliente_controller.bdsproj</Projects>
|
<Projects Name="FacturasCliente_controller.bpl">Controller\FacturasCliente_controller.bdsproj</Projects>
|
||||||
|
<Projects Name="AlbCli_FacCli_relation.bpl">..\Relaciones\Albaranes de cliente - Facturas de cliente\AlbCli_FacCli_relation.bdsproj</Projects>
|
||||||
<Projects Name="FacturasCliente_view.bpl">Views\FacturasCliente_view.bdsproj</Projects>
|
<Projects Name="FacturasCliente_view.bpl">Views\FacturasCliente_view.bdsproj</Projects>
|
||||||
<Projects Name="FactuGES.exe">..\..\Cliente\FactuGES.bdsproj</Projects>
|
<Projects Name="FactuGES.exe">..\..\Cliente\FactuGES.bdsproj</Projects>
|
||||||
<Projects Name="FactuGES_Server.exe">..\..\Servidor\FactuGES_Server.bdsproj</Projects>
|
<Projects Name="FactuGES_Server.exe">..\..\Servidor\FactuGES_Server.bdsproj</Projects>
|
||||||
<Projects Name="AlbCli_FacCli_relation.bpl">..\Relaciones\Albaranes de cliente - Facturas de cliente\AlbCli_FacCli_relation.bdsproj</Projects>
|
|
||||||
<Projects Name="AlbaranesCliente_controller.bpl">..\Albaranes de cliente\Controller\AlbaranesCliente_controller.bdsproj</Projects>
|
<Projects Name="AlbaranesCliente_controller.bpl">..\Albaranes de cliente\Controller\AlbaranesCliente_controller.bdsproj</Projects>
|
||||||
<Projects Name="PedidosCliente_model.bpl">..\Pedidos de cliente\Model\PedidosCliente_model.bdsproj</Projects>
|
<Projects Name="PedidosCliente_model.bpl">..\Pedidos de cliente\Model\PedidosCliente_model.bdsproj</Projects>
|
||||||
<Projects Name="FacturasProveedor_view.bpl">..\Facturas de proveedor\Views\FacturasProveedor_view.bdsproj</Projects>
|
<Projects Name="FacturasProveedor_view.bpl">..\Facturas de proveedor\Views\FacturasProveedor_view.bdsproj</Projects>
|
||||||
@ -35,7 +35,7 @@
|
|||||||
<Projects Name="FormasPago_controller.bpl">..\Formas de pago\Controller\FormasPago_controller.bdsproj</Projects>
|
<Projects Name="FormasPago_controller.bpl">..\Formas de pago\Controller\FormasPago_controller.bdsproj</Projects>
|
||||||
<Projects Name="FormasPago_view.bpl">..\Formas de pago\Views\FormasPago_view.bdsproj</Projects>
|
<Projects Name="FormasPago_view.bpl">..\Formas de pago\Views\FormasPago_view.bdsproj</Projects>
|
||||||
<Projects Name="FormasPago_plugin.bpl">..\Formas de pago\Plugin\FormasPago_plugin.bdsproj</Projects>
|
<Projects Name="FormasPago_plugin.bpl">..\Formas de pago\Plugin\FormasPago_plugin.bdsproj</Projects>
|
||||||
<Projects Name="Targets">Base.bpl ControllerBase.bpl GUIBase.bpl Contactos_model.bpl Contactos_data.bpl Contactos_controller.bpl Articulos_view.bpl Articulos_model.bpl Articulos_data.bpl Articulos_controller.bpl Contactos_view.bpl FacturasCliente_model.bpl FacturasCliente_data.bpl FacturasCliente_controller.bpl FacturasCliente_view.bpl FactuGES.exe FactuGES_Server.exe AlbCli_FacCli_relation.bpl AlbaranesCliente_controller.bpl PedidosCliente_model.bpl FacturasProveedor_view.bpl FormasPago_model.bpl FormasPago_data.bpl FormasPago_controller.bpl FormasPago_view.bpl FormasPago_plugin.bpl</Projects>
|
<Projects Name="Targets">Base.bpl ControllerBase.bpl GUIBase.bpl Contactos_model.bpl Contactos_data.bpl Contactos_controller.bpl Articulos_view.bpl Articulos_model.bpl Articulos_data.bpl Articulos_controller.bpl Contactos_view.bpl FacturasCliente_model.bpl FacturasCliente_data.bpl FacturasCliente_controller.bpl AlbCli_FacCli_relation.bpl FacturasCliente_view.bpl FactuGES.exe FactuGES_Server.exe AlbaranesCliente_controller.bpl PedidosCliente_model.bpl FacturasProveedor_view.bpl FormasPago_model.bpl FormasPago_data.bpl FormasPago_controller.bpl FormasPago_view.bpl FormasPago_plugin.bpl</Projects>
|
||||||
</Projects>
|
</Projects>
|
||||||
<Dependencies/>
|
<Dependencies/>
|
||||||
</Default.Personality>
|
</Default.Personality>
|
||||||
|
|||||||
@ -3,12 +3,15 @@ unit uIDataModuleFacturasClienteReport;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
SysUtils, Classes, uROTypes;
|
SysUtils, Classes, uROTypes, uIntegerListUtils;
|
||||||
|
|
||||||
type
|
type
|
||||||
IDataModuleFacturasClienteReport = interface
|
IDataModuleFacturasClienteReport = interface
|
||||||
['{F498AC70-AA38-4C06-B301-85A4AC0B210B}']
|
['{F498AC70-AA38-4C06-B301-85A4AC0B210B}']
|
||||||
function GetReport(const AFacturaID: String; const ShowLogotipo: Boolean = False): Binary;
|
function GetRptFacturas(const AListaID: TIntegerList;
|
||||||
|
const ShowLogotipo: Boolean = False): Binary;
|
||||||
|
function GetRptPDFFacturas(const AID: Integer;
|
||||||
|
const ShowLogotipo: Boolean = False): Binary;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|||||||
@ -175,7 +175,7 @@
|
|||||||
<Excluded_Packages Name="C:\Archivos de programa\EurekaLog 5\Delphi10\ExceptionExpert10.bpl">EurekaLog 5.1.9</Excluded_Packages>
|
<Excluded_Packages Name="C:\Archivos de programa\EurekaLog 5\Delphi10\ExceptionExpert10.bpl">EurekaLog 5.1.9</Excluded_Packages>
|
||||||
</Excluded_Packages>
|
</Excluded_Packages>
|
||||||
</Delphi.Personality>
|
</Delphi.Personality>
|
||||||
<!-- EurekaLog First Line
|
<!-- EurekaLog First Line
|
||||||
[Exception Log]
|
[Exception Log]
|
||||||
EurekaLog Version=519
|
EurekaLog Version=519
|
||||||
Activate=1
|
Activate=1
|
||||||
|
|||||||
@ -9,11 +9,11 @@ const
|
|||||||
{ Data table rules ids
|
{ Data table rules ids
|
||||||
Feel free to change them to something more human readable
|
Feel free to change them to something more human readable
|
||||||
but make sure they are unique in the context of your application }
|
but make sure they are unique in the context of your application }
|
||||||
RID_DarReferencia = '{EA572FA1-0901-4EF3-938E-2362AC640EB4}';
|
RID_DarReferencia = '{FC555913-2986-4EBE-BC26-44B6BEB78B8D}';
|
||||||
RID_FacturasCliente = '{29F1AA5F-3116-4524-9211-1FBD4E374821}';
|
RID_FacturasCliente = '{78E5BD77-ED50-4C61-BFE6-2BBEA1E6DD50}';
|
||||||
RID_FacturasCliente_Detalles = '{800AB71B-4277-426A-9227-90DEB5691D1B}';
|
RID_FacturasCliente_Detalles = '{25F1F0F4-FA66-4321-BED9-09766515CF4A}';
|
||||||
RID_FacturasCliente_Detalles_Refresh = '{86962468-04E7-46A8-9092-2CB67A9C8386}';
|
RID_FacturasCliente_Detalles_Refresh = '{C916F9D8-6D3C-4CB2-AFF4-EC383EA6E951}';
|
||||||
RID_FacturasCliente_Refresh = '{5867B671-2351-490B-9C7F-8FD8FF52F453}';
|
RID_FacturasCliente_Refresh = '{FDFE263E-2822-4F0F-96BE-01641D043041}';
|
||||||
|
|
||||||
{ Data table names }
|
{ Data table names }
|
||||||
nme_DarReferencia = 'DarReferencia';
|
nme_DarReferencia = 'DarReferencia';
|
||||||
@ -63,6 +63,7 @@ const
|
|||||||
fld_FacturasClienteREFERENCIA_COMISION = 'REFERENCIA_COMISION';
|
fld_FacturasClienteREFERENCIA_COMISION = 'REFERENCIA_COMISION';
|
||||||
fld_FacturasClienteID_AGENTE = 'ID_AGENTE';
|
fld_FacturasClienteID_AGENTE = 'ID_AGENTE';
|
||||||
fld_FacturasClienteNUM_COPIAS = 'NUM_COPIAS';
|
fld_FacturasClienteNUM_COPIAS = 'NUM_COPIAS';
|
||||||
|
fld_FacturasClienteNUM_CORREOS = 'NUM_CORREOS';
|
||||||
fld_FacturasClienteFECHA_VENCIMIENTO = 'FECHA_VENCIMIENTO';
|
fld_FacturasClienteFECHA_VENCIMIENTO = 'FECHA_VENCIMIENTO';
|
||||||
|
|
||||||
{ FacturasCliente field indexes }
|
{ FacturasCliente field indexes }
|
||||||
@ -100,7 +101,8 @@ const
|
|||||||
idx_FacturasClienteREFERENCIA_COMISION = 31;
|
idx_FacturasClienteREFERENCIA_COMISION = 31;
|
||||||
idx_FacturasClienteID_AGENTE = 32;
|
idx_FacturasClienteID_AGENTE = 32;
|
||||||
idx_FacturasClienteNUM_COPIAS = 33;
|
idx_FacturasClienteNUM_COPIAS = 33;
|
||||||
idx_FacturasClienteFECHA_VENCIMIENTO = 34;
|
idx_FacturasClienteNUM_CORREOS = 34;
|
||||||
|
idx_FacturasClienteFECHA_VENCIMIENTO = 35;
|
||||||
|
|
||||||
{ FacturasCliente_Detalles fields }
|
{ FacturasCliente_Detalles fields }
|
||||||
fld_FacturasCliente_DetallesID = 'ID';
|
fld_FacturasCliente_DetallesID = 'ID';
|
||||||
@ -243,7 +245,7 @@ const
|
|||||||
type
|
type
|
||||||
{ IDarReferencia }
|
{ IDarReferencia }
|
||||||
IDarReferencia = interface(IDAStronglyTypedDataTable)
|
IDarReferencia = interface(IDAStronglyTypedDataTable)
|
||||||
['{3256D6AA-181E-4AA4-8C6B-80AB1640194C}']
|
['{12227F52-D465-4898-B134-D4C16E295BA4}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetVALORValue: String;
|
function GetVALORValue: String;
|
||||||
procedure SetVALORValue(const aValue: String);
|
procedure SetVALORValue(const aValue: String);
|
||||||
@ -272,7 +274,7 @@ type
|
|||||||
|
|
||||||
{ IFacturasCliente }
|
{ IFacturasCliente }
|
||||||
IFacturasCliente = interface(IDAStronglyTypedDataTable)
|
IFacturasCliente = interface(IDAStronglyTypedDataTable)
|
||||||
['{1E620AC4-0A78-4423-B993-C73C1C37956E}']
|
['{0FEC5F43-9506-40C0-AA99-DC678677C6C7}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetIDValue: Integer;
|
function GetIDValue: Integer;
|
||||||
procedure SetIDValue(const aValue: Integer);
|
procedure SetIDValue(const aValue: Integer);
|
||||||
@ -342,6 +344,8 @@ type
|
|||||||
procedure SetID_AGENTEValue(const aValue: Integer);
|
procedure SetID_AGENTEValue(const aValue: Integer);
|
||||||
function GetNUM_COPIASValue: Integer;
|
function GetNUM_COPIASValue: Integer;
|
||||||
procedure SetNUM_COPIASValue(const aValue: Integer);
|
procedure SetNUM_COPIASValue(const aValue: Integer);
|
||||||
|
function GetNUM_CORREOSValue: Integer;
|
||||||
|
procedure SetNUM_CORREOSValue(const aValue: Integer);
|
||||||
function GetFECHA_VENCIMIENTOValue: DateTime;
|
function GetFECHA_VENCIMIENTOValue: DateTime;
|
||||||
procedure SetFECHA_VENCIMIENTOValue(const aValue: DateTime);
|
procedure SetFECHA_VENCIMIENTOValue(const aValue: DateTime);
|
||||||
|
|
||||||
@ -381,6 +385,7 @@ type
|
|||||||
property REFERENCIA_COMISION: String read GetREFERENCIA_COMISIONValue write SetREFERENCIA_COMISIONValue;
|
property REFERENCIA_COMISION: String read GetREFERENCIA_COMISIONValue write SetREFERENCIA_COMISIONValue;
|
||||||
property ID_AGENTE: Integer read GetID_AGENTEValue write SetID_AGENTEValue;
|
property ID_AGENTE: Integer read GetID_AGENTEValue write SetID_AGENTEValue;
|
||||||
property NUM_COPIAS: Integer read GetNUM_COPIASValue write SetNUM_COPIASValue;
|
property NUM_COPIAS: Integer read GetNUM_COPIASValue write SetNUM_COPIASValue;
|
||||||
|
property NUM_CORREOS: Integer read GetNUM_CORREOSValue write SetNUM_CORREOSValue;
|
||||||
property FECHA_VENCIMIENTO: DateTime read GetFECHA_VENCIMIENTOValue write SetFECHA_VENCIMIENTOValue;
|
property FECHA_VENCIMIENTO: DateTime read GetFECHA_VENCIMIENTOValue write SetFECHA_VENCIMIENTOValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -457,6 +462,8 @@ type
|
|||||||
procedure SetID_AGENTEValue(const aValue: Integer); virtual;
|
procedure SetID_AGENTEValue(const aValue: Integer); virtual;
|
||||||
function GetNUM_COPIASValue: Integer; virtual;
|
function GetNUM_COPIASValue: Integer; virtual;
|
||||||
procedure SetNUM_COPIASValue(const aValue: Integer); virtual;
|
procedure SetNUM_COPIASValue(const aValue: Integer); virtual;
|
||||||
|
function GetNUM_CORREOSValue: Integer; virtual;
|
||||||
|
procedure SetNUM_CORREOSValue(const aValue: Integer); virtual;
|
||||||
function GetFECHA_VENCIMIENTOValue: DateTime; virtual;
|
function GetFECHA_VENCIMIENTOValue: DateTime; virtual;
|
||||||
procedure SetFECHA_VENCIMIENTOValue(const aValue: DateTime); virtual;
|
procedure SetFECHA_VENCIMIENTOValue(const aValue: DateTime); virtual;
|
||||||
|
|
||||||
@ -495,6 +502,7 @@ type
|
|||||||
property REFERENCIA_COMISION: String read GetREFERENCIA_COMISIONValue write SetREFERENCIA_COMISIONValue;
|
property REFERENCIA_COMISION: String read GetREFERENCIA_COMISIONValue write SetREFERENCIA_COMISIONValue;
|
||||||
property ID_AGENTE: Integer read GetID_AGENTEValue write SetID_AGENTEValue;
|
property ID_AGENTE: Integer read GetID_AGENTEValue write SetID_AGENTEValue;
|
||||||
property NUM_COPIAS: Integer read GetNUM_COPIASValue write SetNUM_COPIASValue;
|
property NUM_COPIAS: Integer read GetNUM_COPIASValue write SetNUM_COPIASValue;
|
||||||
|
property NUM_CORREOS: Integer read GetNUM_CORREOSValue write SetNUM_CORREOSValue;
|
||||||
property FECHA_VENCIMIENTO: DateTime read GetFECHA_VENCIMIENTOValue write SetFECHA_VENCIMIENTOValue;
|
property FECHA_VENCIMIENTO: DateTime read GetFECHA_VENCIMIENTOValue write SetFECHA_VENCIMIENTOValue;
|
||||||
|
|
||||||
public
|
public
|
||||||
@ -505,7 +513,7 @@ type
|
|||||||
|
|
||||||
{ IFacturasCliente_Detalles }
|
{ IFacturasCliente_Detalles }
|
||||||
IFacturasCliente_Detalles = interface(IDAStronglyTypedDataTable)
|
IFacturasCliente_Detalles = interface(IDAStronglyTypedDataTable)
|
||||||
['{719659FD-6739-411F-A273-E73CE5721675}']
|
['{2DBD6392-F10F-4A24-B1B2-B7352ADD7B51}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetIDValue: Integer;
|
function GetIDValue: Integer;
|
||||||
procedure SetIDValue(const aValue: Integer);
|
procedure SetIDValue(const aValue: Integer);
|
||||||
@ -612,7 +620,7 @@ type
|
|||||||
|
|
||||||
{ IFacturasCliente_Detalles_Refresh }
|
{ IFacturasCliente_Detalles_Refresh }
|
||||||
IFacturasCliente_Detalles_Refresh = interface(IDAStronglyTypedDataTable)
|
IFacturasCliente_Detalles_Refresh = interface(IDAStronglyTypedDataTable)
|
||||||
['{927E98B8-EC45-41CF-A4D0-33B5B3F70DD9}']
|
['{20C233CD-3FC4-475D-BA91-AF23A4DC6F21}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetIDValue: Integer;
|
function GetIDValue: Integer;
|
||||||
procedure SetIDValue(const aValue: Integer);
|
procedure SetIDValue(const aValue: Integer);
|
||||||
@ -719,7 +727,7 @@ type
|
|||||||
|
|
||||||
{ IFacturasCliente_Refresh }
|
{ IFacturasCliente_Refresh }
|
||||||
IFacturasCliente_Refresh = interface(IDAStronglyTypedDataTable)
|
IFacturasCliente_Refresh = interface(IDAStronglyTypedDataTable)
|
||||||
['{7034A9EF-11B0-479C-810E-4635F48B903D}']
|
['{FC3E4483-F5E9-4AD0-80BC-BB9AE9C1D652}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetIDValue: Integer;
|
function GetIDValue: Integer;
|
||||||
procedure SetIDValue(const aValue: Integer);
|
procedure SetIDValue(const aValue: Integer);
|
||||||
@ -1328,6 +1336,16 @@ begin
|
|||||||
DataTable.Fields[idx_FacturasClienteNUM_COPIAS].AsInteger := aValue;
|
DataTable.Fields[idx_FacturasClienteNUM_COPIAS].AsInteger := aValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TFacturasClienteDataTableRules.GetNUM_CORREOSValue: Integer;
|
||||||
|
begin
|
||||||
|
result := DataTable.Fields[idx_FacturasClienteNUM_CORREOS].AsInteger;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TFacturasClienteDataTableRules.SetNUM_CORREOSValue(const aValue: Integer);
|
||||||
|
begin
|
||||||
|
DataTable.Fields[idx_FacturasClienteNUM_CORREOS].AsInteger := aValue;
|
||||||
|
end;
|
||||||
|
|
||||||
function TFacturasClienteDataTableRules.GetFECHA_VENCIMIENTOValue: DateTime;
|
function TFacturasClienteDataTableRules.GetFECHA_VENCIMIENTOValue: DateTime;
|
||||||
begin
|
begin
|
||||||
result := DataTable.Fields[idx_FacturasClienteFECHA_VENCIMIENTO].AsDateTime;
|
result := DataTable.Fields[idx_FacturasClienteFECHA_VENCIMIENTO].AsDateTime;
|
||||||
|
|||||||
@ -9,16 +9,16 @@ const
|
|||||||
{ Delta rules ids
|
{ Delta rules ids
|
||||||
Feel free to change them to something more human readable
|
Feel free to change them to something more human readable
|
||||||
but make sure they are unique in the context of your application }
|
but make sure they are unique in the context of your application }
|
||||||
RID_DarReferenciaDelta = '{EC8CF18D-9B28-4048-A90B-24F954D0DC5B}';
|
RID_DarReferenciaDelta = '{719E22A7-4321-46B9-A290-B5AAEECCB0E7}';
|
||||||
RID_FacturasClienteDelta = '{9DFFB51A-DD80-4EBA-B1A7-CFDE7A089FA6}';
|
RID_FacturasClienteDelta = '{41F232DC-7C48-4FE0-A4E2-8D04523A651F}';
|
||||||
RID_FacturasCliente_DetallesDelta = '{E2C9BB04-8C40-4E2C-991D-FE75784D4208}';
|
RID_FacturasCliente_DetallesDelta = '{2AE6BCD4-8462-49F4-82AA-FA89E30A3C17}';
|
||||||
RID_FacturasCliente_Detalles_RefreshDelta = '{F1B97398-D0F8-40DC-8088-94984892518A}';
|
RID_FacturasCliente_Detalles_RefreshDelta = '{741BF8ED-55D9-4E7B-86D6-22E568D1AEB6}';
|
||||||
RID_FacturasCliente_RefreshDelta = '{75588952-1574-4345-9658-DB10B41E1C75}';
|
RID_FacturasCliente_RefreshDelta = '{84E456C5-AE88-4010-800A-C8316305E702}';
|
||||||
|
|
||||||
type
|
type
|
||||||
{ IDarReferenciaDelta }
|
{ IDarReferenciaDelta }
|
||||||
IDarReferenciaDelta = interface(IDarReferencia)
|
IDarReferenciaDelta = interface(IDarReferencia)
|
||||||
['{EC8CF18D-9B28-4048-A90B-24F954D0DC5B}']
|
['{719E22A7-4321-46B9-A290-B5AAEECCB0E7}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetOldVALORValue : String;
|
function GetOldVALORValue : String;
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ type
|
|||||||
|
|
||||||
{ IFacturasClienteDelta }
|
{ IFacturasClienteDelta }
|
||||||
IFacturasClienteDelta = interface(IFacturasCliente)
|
IFacturasClienteDelta = interface(IFacturasCliente)
|
||||||
['{9DFFB51A-DD80-4EBA-B1A7-CFDE7A089FA6}']
|
['{41F232DC-7C48-4FE0-A4E2-8D04523A651F}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetOldIDValue : Integer;
|
function GetOldIDValue : Integer;
|
||||||
function GetOldID_EMPRESAValue : Integer;
|
function GetOldID_EMPRESAValue : Integer;
|
||||||
@ -83,6 +83,7 @@ type
|
|||||||
function GetOldREFERENCIA_COMISIONValue : String;
|
function GetOldREFERENCIA_COMISIONValue : String;
|
||||||
function GetOldID_AGENTEValue : Integer;
|
function GetOldID_AGENTEValue : Integer;
|
||||||
function GetOldNUM_COPIASValue : Integer;
|
function GetOldNUM_COPIASValue : Integer;
|
||||||
|
function GetOldNUM_CORREOSValue : Integer;
|
||||||
function GetOldFECHA_VENCIMIENTOValue : DateTime;
|
function GetOldFECHA_VENCIMIENTOValue : DateTime;
|
||||||
|
|
||||||
{ Properties }
|
{ Properties }
|
||||||
@ -120,6 +121,7 @@ type
|
|||||||
property OldREFERENCIA_COMISION : String read GetOldREFERENCIA_COMISIONValue;
|
property OldREFERENCIA_COMISION : String read GetOldREFERENCIA_COMISIONValue;
|
||||||
property OldID_AGENTE : Integer read GetOldID_AGENTEValue;
|
property OldID_AGENTE : Integer read GetOldID_AGENTEValue;
|
||||||
property OldNUM_COPIAS : Integer read GetOldNUM_COPIASValue;
|
property OldNUM_COPIAS : Integer read GetOldNUM_COPIASValue;
|
||||||
|
property OldNUM_CORREOS : Integer read GetOldNUM_CORREOSValue;
|
||||||
property OldFECHA_VENCIMIENTO : DateTime read GetOldFECHA_VENCIMIENTOValue;
|
property OldFECHA_VENCIMIENTO : DateTime read GetOldFECHA_VENCIMIENTOValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -230,6 +232,9 @@ type
|
|||||||
function GetNUM_COPIASValue: Integer; virtual;
|
function GetNUM_COPIASValue: Integer; virtual;
|
||||||
function GetOldNUM_COPIASValue: Integer; virtual;
|
function GetOldNUM_COPIASValue: Integer; virtual;
|
||||||
procedure SetNUM_COPIASValue(const aValue: Integer); virtual;
|
procedure SetNUM_COPIASValue(const aValue: Integer); virtual;
|
||||||
|
function GetNUM_CORREOSValue: Integer; virtual;
|
||||||
|
function GetOldNUM_CORREOSValue: Integer; virtual;
|
||||||
|
procedure SetNUM_CORREOSValue(const aValue: Integer); virtual;
|
||||||
function GetFECHA_VENCIMIENTOValue: DateTime; virtual;
|
function GetFECHA_VENCIMIENTOValue: DateTime; virtual;
|
||||||
function GetOldFECHA_VENCIMIENTOValue: DateTime; virtual;
|
function GetOldFECHA_VENCIMIENTOValue: DateTime; virtual;
|
||||||
procedure SetFECHA_VENCIMIENTOValue(const aValue: DateTime); virtual;
|
procedure SetFECHA_VENCIMIENTOValue(const aValue: DateTime); virtual;
|
||||||
@ -303,6 +308,8 @@ type
|
|||||||
property OldID_AGENTE : Integer read GetOldID_AGENTEValue;
|
property OldID_AGENTE : Integer read GetOldID_AGENTEValue;
|
||||||
property NUM_COPIAS : Integer read GetNUM_COPIASValue write SetNUM_COPIASValue;
|
property NUM_COPIAS : Integer read GetNUM_COPIASValue write SetNUM_COPIASValue;
|
||||||
property OldNUM_COPIAS : Integer read GetOldNUM_COPIASValue;
|
property OldNUM_COPIAS : Integer read GetOldNUM_COPIASValue;
|
||||||
|
property NUM_CORREOS : Integer read GetNUM_CORREOSValue write SetNUM_CORREOSValue;
|
||||||
|
property OldNUM_CORREOS : Integer read GetOldNUM_CORREOSValue;
|
||||||
property FECHA_VENCIMIENTO : DateTime read GetFECHA_VENCIMIENTOValue write SetFECHA_VENCIMIENTOValue;
|
property FECHA_VENCIMIENTO : DateTime read GetFECHA_VENCIMIENTOValue write SetFECHA_VENCIMIENTOValue;
|
||||||
property OldFECHA_VENCIMIENTO : DateTime read GetOldFECHA_VENCIMIENTOValue;
|
property OldFECHA_VENCIMIENTO : DateTime read GetOldFECHA_VENCIMIENTOValue;
|
||||||
|
|
||||||
@ -314,7 +321,7 @@ type
|
|||||||
|
|
||||||
{ IFacturasCliente_DetallesDelta }
|
{ IFacturasCliente_DetallesDelta }
|
||||||
IFacturasCliente_DetallesDelta = interface(IFacturasCliente_Detalles)
|
IFacturasCliente_DetallesDelta = interface(IFacturasCliente_Detalles)
|
||||||
['{E2C9BB04-8C40-4E2C-991D-FE75784D4208}']
|
['{2AE6BCD4-8462-49F4-82AA-FA89E30A3C17}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetOldIDValue : Integer;
|
function GetOldIDValue : Integer;
|
||||||
function GetOldID_FACTURAValue : Integer;
|
function GetOldID_FACTURAValue : Integer;
|
||||||
@ -434,7 +441,7 @@ type
|
|||||||
|
|
||||||
{ IFacturasCliente_Detalles_RefreshDelta }
|
{ IFacturasCliente_Detalles_RefreshDelta }
|
||||||
IFacturasCliente_Detalles_RefreshDelta = interface(IFacturasCliente_Detalles_Refresh)
|
IFacturasCliente_Detalles_RefreshDelta = interface(IFacturasCliente_Detalles_Refresh)
|
||||||
['{F1B97398-D0F8-40DC-8088-94984892518A}']
|
['{741BF8ED-55D9-4E7B-86D6-22E568D1AEB6}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetOldIDValue : Integer;
|
function GetOldIDValue : Integer;
|
||||||
function GetOldID_FACTURAValue : Integer;
|
function GetOldID_FACTURAValue : Integer;
|
||||||
@ -554,7 +561,7 @@ type
|
|||||||
|
|
||||||
{ IFacturasCliente_RefreshDelta }
|
{ IFacturasCliente_RefreshDelta }
|
||||||
IFacturasCliente_RefreshDelta = interface(IFacturasCliente_Refresh)
|
IFacturasCliente_RefreshDelta = interface(IFacturasCliente_Refresh)
|
||||||
['{75588952-1574-4345-9658-DB10B41E1C75}']
|
['{84E456C5-AE88-4010-800A-C8316305E702}']
|
||||||
{ Property getters and setters }
|
{ Property getters and setters }
|
||||||
function GetOldIDValue : Integer;
|
function GetOldIDValue : Integer;
|
||||||
function GetOldID_EMPRESAValue : Integer;
|
function GetOldID_EMPRESAValue : Integer;
|
||||||
@ -1374,6 +1381,21 @@ begin
|
|||||||
BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteNUM_COPIAS] := aValue;
|
BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteNUM_COPIAS] := aValue;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TFacturasClienteBusinessProcessorRules.GetNUM_CORREOSValue: Integer;
|
||||||
|
begin
|
||||||
|
result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteNUM_CORREOS];
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TFacturasClienteBusinessProcessorRules.GetOldNUM_CORREOSValue: Integer;
|
||||||
|
begin
|
||||||
|
result := BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasClienteNUM_CORREOS];
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TFacturasClienteBusinessProcessorRules.SetNUM_CORREOSValue(const aValue: Integer);
|
||||||
|
begin
|
||||||
|
BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteNUM_CORREOS] := aValue;
|
||||||
|
end;
|
||||||
|
|
||||||
function TFacturasClienteBusinessProcessorRules.GetFECHA_VENCIMIENTOValue: DateTime;
|
function TFacturasClienteBusinessProcessorRules.GetFECHA_VENCIMIENTOValue: DateTime;
|
||||||
begin
|
begin
|
||||||
result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteFECHA_VENCIMIENTO];
|
result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteFECHA_VENCIMIENTO];
|
||||||
|
|||||||
@ -1462,4 +1462,18 @@ object RptFacturasCliente: TRptFacturasCliente
|
|||||||
Left = 344
|
Left = 344
|
||||||
Top = 184
|
Top = 184
|
||||||
end
|
end
|
||||||
|
object frxPDFExport1: TfrxPDFExport
|
||||||
|
ShowDialog = False
|
||||||
|
UseFileCache = True
|
||||||
|
ShowProgress = False
|
||||||
|
PrintOptimized = True
|
||||||
|
Outline = True
|
||||||
|
Author = 'FactuGES'
|
||||||
|
Subject = 'FactuGES'
|
||||||
|
Background = False
|
||||||
|
Creator = 'FactuGES'
|
||||||
|
HTMLTags = True
|
||||||
|
Left = 360
|
||||||
|
Top = 344
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -7,7 +7,7 @@ uses
|
|||||||
Dialogs, frxClass, frxDBSet, uDAScriptingProvider,
|
Dialogs, frxClass, frxDBSet, uDAScriptingProvider,
|
||||||
uDADataTable, uDACDSDataTable, DB, uDAClasses, frxChart, frxGradient,
|
uDADataTable, uDACDSDataTable, DB, uDAClasses, frxChart, frxGradient,
|
||||||
frxChBox, frxCross, frxOLE, frxBarcode, frxRich, uDABINAdapter, uROTypes,
|
frxChBox, frxCross, frxOLE, frxBarcode, frxRich, uDABINAdapter, uROTypes,
|
||||||
uDAInterfaces;
|
uDAInterfaces, FactuGES_Intf, frxExportPDF;
|
||||||
|
|
||||||
type
|
type
|
||||||
TRptFacturasCliente = class(TDataModule)
|
TRptFacturasCliente = class(TDataModule)
|
||||||
@ -31,15 +31,19 @@ type
|
|||||||
schReport: TDASchema;
|
schReport: TDASchema;
|
||||||
DataDictionary: TDADataDictionary;
|
DataDictionary: TDADataDictionary;
|
||||||
frxReport: TfrxReport;
|
frxReport: TfrxReport;
|
||||||
|
frxPDFExport1: TfrxPDFExport;
|
||||||
procedure DataModuleCreate(Sender: TObject);
|
procedure DataModuleCreate(Sender: TObject);
|
||||||
procedure frxReportGetValue(const VarName: string; var Value: Variant);
|
procedure frxReportGetValue(const VarName: string; var Value: Variant);
|
||||||
private
|
private
|
||||||
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); overload;
|
procedure _GenerarFactura(const ID: Integer);
|
||||||
public
|
public
|
||||||
function GenerarFactura(const AFacturaID: String; const AConLogotipo: Boolean = False): Binary; overload;
|
function GenerarFactura(const ListaID : TIntegerArray;
|
||||||
|
const AConLogotipo: Boolean = False): Binary;
|
||||||
|
function GenerarFacturaEnPDF(const ListaID : TIntegerArray;
|
||||||
|
const AConLogotipo: Boolean = False): Binary;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
@ -55,26 +59,21 @@ const
|
|||||||
{ Dataset names for schReport }
|
{ Dataset names for schReport }
|
||||||
ds_InformeFacturasCliente = 'InformeFacturasCliente';
|
ds_InformeFacturasCliente = 'InformeFacturasCliente';
|
||||||
ds_InformeFacturasCliente_Detalles = 'InformeFacturasCliente_Detalles';
|
ds_InformeFacturasCliente_Detalles = 'InformeFacturasCliente_Detalles';
|
||||||
ds_InformeFacturasCliente_Vencimientos = 'InformeFacturasCliente_Vencimientos';
|
ds_InformeFacturasCliente_Vencimientos = 'InformeFacturasCliente_Vencimientos';
|
||||||
|
|
||||||
|
|
||||||
{ TRptFacturasCliente }
|
{ TRptFacturasCliente }
|
||||||
|
|
||||||
|
|
||||||
procedure TRptFacturasCliente.DataModuleCreate(Sender: TObject);
|
procedure TRptFacturasCliente.DataModuleCreate(Sender: TObject);
|
||||||
begin
|
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;
|
||||||
|
|
||||||
procedure TRptFacturasCliente.frxReportGetValue(const VarName: string; var Value: Variant);
|
{function TRptFacturasCliente.GenerarFactura(const AFacturaID: String): Binary;
|
||||||
begin
|
|
||||||
if VarName = 'ShowLogotipo' then
|
|
||||||
Value := FShowLogotipo;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TRptFacturasCliente.GenerarFactura(const AFacturaID: String; const AConLogotipo: Boolean = False): Binary;
|
|
||||||
var
|
var
|
||||||
ID_Facturas: TStringList;
|
ID_Facturas: TStringList;
|
||||||
i: Integer;
|
i: Integer;
|
||||||
@ -84,7 +83,6 @@ begin
|
|||||||
FConnection.BeginTransaction;
|
FConnection.BeginTransaction;
|
||||||
|
|
||||||
try
|
try
|
||||||
FShowLogotipo := AConLogotipo;
|
|
||||||
ID_Facturas := TStringList.Create;
|
ID_Facturas := TStringList.Create;
|
||||||
ID_Facturas.CommaText := AFacturaID;
|
ID_Facturas.CommaText := AFacturaID;
|
||||||
|
|
||||||
@ -97,9 +95,9 @@ begin
|
|||||||
finally
|
finally
|
||||||
FConnection.RollbackTransaction;
|
FConnection.RollbackTransaction;
|
||||||
end;
|
end;
|
||||||
end;
|
end;}
|
||||||
|
|
||||||
procedure TRptFacturasCliente.GenerarFactura(const ID: integer);
|
procedure TRptFacturasCliente._GenerarFactura(const ID: Integer);
|
||||||
var
|
var
|
||||||
AStream: TMemoryStream;
|
AStream: TMemoryStream;
|
||||||
dsMaster: IDADataset;
|
dsMaster: IDADataset;
|
||||||
@ -125,6 +123,7 @@ 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);
|
||||||
|
|
||||||
|
|
||||||
frxReport.LoadFromFile(DarRutaInformes + rptFacturaCliente, True);
|
frxReport.LoadFromFile(DarRutaInformes + rptFacturaCliente, True);
|
||||||
frxReport.PrepareReport(False);
|
frxReport.PrepareReport(False);
|
||||||
|
|
||||||
@ -135,4 +134,52 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TRptFacturasCliente.frxReportGetValue(const VarName: string;
|
||||||
|
var Value: Variant);
|
||||||
|
begin
|
||||||
|
if VarName = 'ShowLogotipo' then
|
||||||
|
Value := FShowLogotipo;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TRptFacturasCliente.GenerarFactura(
|
||||||
|
const ListaID: TIntegerArray; const AConLogotipo: Boolean = False): Binary;
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
FShowLogotipo := AConLogotipo;
|
||||||
|
Result := Binary.Create;
|
||||||
|
//FConnection.BeginTransaction; <--- Creo que no va a hacer falta.
|
||||||
|
|
||||||
|
try
|
||||||
|
//Vamos generando todos y cada uno de los presupuestos recibidos
|
||||||
|
for i := 0 to ListaID.Count - 1 do
|
||||||
|
_GenerarFactura(ListaID.Items[i]);
|
||||||
|
|
||||||
|
frxReport.PreviewPages.SaveToStream(Result);
|
||||||
|
finally
|
||||||
|
//FConnection.RollbackTransaction; <--- Creo que no va a hacer falta.
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TRptFacturasCliente.GenerarFacturaEnPDF(
|
||||||
|
const ListaID: TIntegerArray; const AConLogotipo: Boolean = False): Binary;
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
FShowLogotipo := AConLogotipo;
|
||||||
|
Result := Binary.Create;
|
||||||
|
//FConnection.BeginTransaction; <--- Creo que no va a hacer falta.
|
||||||
|
|
||||||
|
try
|
||||||
|
//Vamos generando todos y cada uno de los presupuestos recibidos
|
||||||
|
for i := 0 to ListaID.Count - 1 do
|
||||||
|
_GenerarFactura(ListaID.Items[i]);
|
||||||
|
|
||||||
|
frxPDFExport1.Stream := Result;
|
||||||
|
frxReport.Export(frxPDFExport1)
|
||||||
|
finally
|
||||||
|
//FConnection.RollbackTransaction; <--- Creo que no va a hacer falta.
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
@ -77,7 +77,7 @@ object srvFacturasCliente: TsrvFacturasCliente
|
|||||||
'GO_POSTAL, FECHA_ALTA, FECHA_MODIFICACION,'#10' USUARIO, ID_FORMA' +
|
'GO_POSTAL, FECHA_ALTA, FECHA_MODIFICACION,'#10' USUARIO, ID_FORMA' +
|
||||||
'_PAGO, RECARGO_EQUIVALENCIA, ID_TIPO_IVA,'#10' IMPORTE_NETO, IMPO' +
|
'_PAGO, RECARGO_EQUIVALENCIA, ID_TIPO_IVA,'#10' IMPORTE_NETO, IMPO' +
|
||||||
'RTE_PORTE, ID_COMISION_LIQUIDADA, REFERENCIA_COMISION,'#10' ID_AG' +
|
'RTE_PORTE, ID_COMISION_LIQUIDADA, REFERENCIA_COMISION,'#10' ID_AG' +
|
||||||
'ENTE, NUM_COPIAS'#10' FROM'#10' V_FACTURAS_CLIENTE'
|
'ENTE, NUM_COPIAS, NUM_CORREOS'#10' FROM'#10' V_FACTURAS_CLIENTE'
|
||||||
StatementType = stSQL
|
StatementType = stSQL
|
||||||
ColumnMappings = <
|
ColumnMappings = <
|
||||||
item
|
item
|
||||||
@ -215,6 +215,10 @@ object srvFacturasCliente: TsrvFacturasCliente
|
|||||||
item
|
item
|
||||||
DatasetField = 'NUM_COPIAS'
|
DatasetField = 'NUM_COPIAS'
|
||||||
TableField = 'NUM_COPIAS'
|
TableField = 'NUM_COPIAS'
|
||||||
|
end
|
||||||
|
item
|
||||||
|
DatasetField = 'NUM_CORREOS'
|
||||||
|
TableField = 'NUM_CORREOS'
|
||||||
end>
|
end>
|
||||||
end>
|
end>
|
||||||
Name = 'FacturasCliente'
|
Name = 'FacturasCliente'
|
||||||
@ -571,6 +575,17 @@ object srvFacturasCliente: TsrvFacturasCliente
|
|||||||
Lookup = False
|
Lookup = False
|
||||||
LookupCache = False
|
LookupCache = False
|
||||||
end
|
end
|
||||||
|
item
|
||||||
|
Name = 'NUM_CORREOS'
|
||||||
|
DataType = datInteger
|
||||||
|
BlobType = dabtUnknown
|
||||||
|
DisplayWidth = 0
|
||||||
|
Alignment = taLeftJustify
|
||||||
|
InPrimaryKey = False
|
||||||
|
Calculated = False
|
||||||
|
Lookup = False
|
||||||
|
LookupCache = False
|
||||||
|
end
|
||||||
item
|
item
|
||||||
Name = 'FECHA_VENCIMIENTO'
|
Name = 'FECHA_VENCIMIENTO'
|
||||||
DataType = datDateTime
|
DataType = datDateTime
|
||||||
@ -2433,7 +2448,7 @@ object srvFacturasCliente: TsrvFacturasCliente
|
|||||||
DataType = datDateTime
|
DataType = datDateTime
|
||||||
BlobType = dabtUnknown
|
BlobType = dabtUnknown
|
||||||
DisplayWidth = 0
|
DisplayWidth = 0
|
||||||
DisplayLabel = 'Fecha de las factura'
|
DisplayLabel = 'Fecha'
|
||||||
Alignment = taLeftJustify
|
Alignment = taLeftJustify
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
|
|||||||
@ -36,7 +36,8 @@ type
|
|||||||
protected
|
protected
|
||||||
{ IsrvFacturasCliente methods }
|
{ IsrvFacturasCliente methods }
|
||||||
function GetNextAutoInc(const GeneratorName: String): Integer;
|
function GetNextAutoInc(const GeneratorName: String): Integer;
|
||||||
function GenerateReport(const FacturaID: String; const ShowLogotipo: Boolean): Binary;
|
function GenerarInforme(const ListaID: TIntegerArray; const ShowLogotipo: Boolean): Binary;
|
||||||
|
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const ShowLogotipo: Boolean): Binary;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
@ -78,13 +79,27 @@ begin
|
|||||||
bpFacturasCliente.BusinessRulesID := BIZ_SERVER_FACTURAS_CLIENTE;
|
bpFacturasCliente.BusinessRulesID := BIZ_SERVER_FACTURAS_CLIENTE;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TsrvFacturasCliente.GenerateReport(const FacturaID: String; const ShowLogotipo: Boolean): Binary;
|
function TsrvFacturasCliente.GenerarInforme(
|
||||||
|
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(FacturaID, ShowLogotipo);
|
Result := AReportGenerator.GenerarFactura(ListaID, ShowLogotipo);
|
||||||
|
finally
|
||||||
|
FreeAndNIL(AReportGenerator);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TsrvFacturasCliente.GenerarInformeEnPDF(const ListaID: TIntegerArray;
|
||||||
|
const ShowLogotipo: Boolean): Binary;
|
||||||
|
var
|
||||||
|
AReportGenerator : TRptFacturasCliente;
|
||||||
|
begin
|
||||||
|
AReportGenerator := TRptFacturasCliente.Create(nil);
|
||||||
|
try
|
||||||
|
Result := AReportGenerator.GenerarFacturaEnPDF(ListaID);
|
||||||
finally
|
finally
|
||||||
FreeAndNIL(AReportGenerator);
|
FreeAndNIL(AReportGenerator);
|
||||||
end;
|
end;
|
||||||
|
|||||||
@ -101,6 +101,7 @@ contains
|
|||||||
uEditorFacturasClienteReport in 'uEditorFacturasClienteReport.pas' {fEditorFacturasClientePreview},
|
uEditorFacturasClienteReport in 'uEditorFacturasClienteReport.pas' {fEditorFacturasClientePreview},
|
||||||
uEditorElegirArticulosFacturaCliente in 'uEditorElegirArticulosFacturaCliente.pas' {fEditorElegirArticulosFacturaCliente: TForm},
|
uEditorElegirArticulosFacturaCliente in 'uEditorElegirArticulosFacturaCliente.pas' {fEditorElegirArticulosFacturaCliente: TForm},
|
||||||
uViewElegirArticulosFacturasCliente in 'uViewElegirArticulosFacturasCliente.pas' {frViewElegirArticulosFacturasCliente: TFrame},
|
uViewElegirArticulosFacturasCliente in 'uViewElegirArticulosFacturasCliente.pas' {frViewElegirArticulosFacturasCliente: TFrame},
|
||||||
uEditorElegirFacturasCliente in 'uEditorElegirFacturasCliente.pas' {fEditorElegirFacturasCliente: TfEditorElegirFacturasCliente};
|
uEditorElegirFacturasCliente in 'uEditorElegirFacturasCliente.pas' {fEditorElegirFacturasCliente: TfEditorElegirFacturasCliente},
|
||||||
|
uDialogListaFacturasEnvioEMail in 'uDialogListaFacturasEnvioEMail.pas' {fDialogListaFacturasEnvioEMail};
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
@ -0,0 +1,80 @@
|
|||||||
|
inherited fDialogListaFacturasEnvioEMail: TfDialogListaFacturasEnvioEMail
|
||||||
|
Caption = 'Enviar facturas por correo electr'#243'nico'
|
||||||
|
ClientHeight = 432
|
||||||
|
ExplicitWidth = 629
|
||||||
|
ExplicitHeight = 457
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
inherited pnlBotones: TFlowPanel
|
||||||
|
Top = 376
|
||||||
|
ExplicitTop = 376
|
||||||
|
inherited Button1: TButton
|
||||||
|
Caption = '&Salir'
|
||||||
|
end
|
||||||
|
inherited Button2: TButton
|
||||||
|
Left = 416
|
||||||
|
Width = 96
|
||||||
|
ExplicitLeft = 416
|
||||||
|
ExplicitWidth = 96
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited FlowPanel1: TFlowPanel
|
||||||
|
Height = 376
|
||||||
|
ExplicitHeight = 376
|
||||||
|
inherited lblInstruccion: TLabel
|
||||||
|
Width = 306
|
||||||
|
Caption = 'Enviar facturas por correo electr'#243'nico'
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ExplicitWidth = 306
|
||||||
|
end
|
||||||
|
inherited Label2: TLabel
|
||||||
|
Height = 51
|
||||||
|
Caption =
|
||||||
|
'Se generar'#225'n correos electr'#243'nicos autom'#225'ticos adjuntando las fac' +
|
||||||
|
'turas elegidas en formato PDF. S'#243'lo se tendr'#225'n en cuenta los cli' +
|
||||||
|
'entes que tengan relleno su e-mail administrativo.'
|
||||||
|
WordWrap = True
|
||||||
|
ExplicitHeight = 51
|
||||||
|
end
|
||||||
|
inherited ListView1: TListView
|
||||||
|
Top = 121
|
||||||
|
Height = 232
|
||||||
|
Columns = <
|
||||||
|
item
|
||||||
|
Caption = 'Documento'
|
||||||
|
MaxWidth = 75
|
||||||
|
MinWidth = 75
|
||||||
|
Width = 75
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Caption = 'Destinatario'
|
||||||
|
MaxWidth = 300
|
||||||
|
Width = 280
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Caption = 'Direcci'#243'n E-Mail'
|
||||||
|
MaxWidth = 250
|
||||||
|
Width = 150
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Caption = 'Estado'
|
||||||
|
MaxWidth = 200
|
||||||
|
Width = 100
|
||||||
|
end>
|
||||||
|
ExplicitTop = 121
|
||||||
|
ExplicitHeight = 232
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited ActionList1: TActionList
|
||||||
|
Left = 8
|
||||||
|
Top = 352
|
||||||
|
inherited actAceptar: TAction
|
||||||
|
Caption = '&Generar correos'
|
||||||
|
OnExecute = actAceptarExecute
|
||||||
|
OnUpdate = actAceptarUpdate
|
||||||
|
end
|
||||||
|
inherited actCancelar: TAction
|
||||||
|
OnExecute = actCancelarExecute
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
@ -0,0 +1,153 @@
|
|||||||
|
unit uDialogListaFacturasEnvioEMail;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uDialogBase, ActnList, StdCtrls, ExtCtrls, ComCtrls,
|
||||||
|
uDialogListaEnvioEMail, uIDialogListaFacturasEnvioEMail, uFacturasClienteController,
|
||||||
|
uBizFacturasCliente;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfDialogListaFacturasEnvioEMail = class(TfDialogListaEnvioEMail, IDialogListaFacturasEnvioEMail)
|
||||||
|
procedure actCancelarExecute(Sender: TObject);
|
||||||
|
procedure actAceptarUpdate(Sender: TObject);
|
||||||
|
procedure actAceptarExecute(Sender: TObject);
|
||||||
|
private
|
||||||
|
FFacturas : IBizFacturaCliente;
|
||||||
|
FController : IFacturasClienteController;
|
||||||
|
protected
|
||||||
|
function GetFacturas: IBizFacturaCliente;
|
||||||
|
procedure SetFacturas(const Value: IBizFacturaCliente);
|
||||||
|
|
||||||
|
procedure RellenarLista;
|
||||||
|
procedure BorrarLista;
|
||||||
|
public
|
||||||
|
constructor Create(AOwner: TComponent); override;
|
||||||
|
property Facturas: IBizFacturaCliente read GetFacturas write SetFacturas;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
schFacturasClienteClient_Intf, uStringsUtils, cxControls;
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
|
||||||
|
{ TfDialogListaFacturasEnvioEMail }
|
||||||
|
|
||||||
|
procedure TfDialogListaFacturasEnvioEMail.actAceptarExecute(Sender: TObject);
|
||||||
|
var
|
||||||
|
i : Integer;
|
||||||
|
begin
|
||||||
|
ShowHourglassCursor;
|
||||||
|
Application.ProcessMessages;
|
||||||
|
try
|
||||||
|
FFacturas.First;
|
||||||
|
try
|
||||||
|
for i := 0 to FFacturas.DataTable.RecordCount - 1 do
|
||||||
|
begin
|
||||||
|
if EsCadenaVacia(FFacturas.Cliente.EMAIL_ADMINISTRACION) then
|
||||||
|
Continue;
|
||||||
|
|
||||||
|
if FController.EnviarFacturaPorEMail(FFacturas, True, FFacturas.Cliente.EMAIL_ADMINISTRACION) then
|
||||||
|
begin
|
||||||
|
ListView1.Items[i].SubItems[2] := 'Correo generado';
|
||||||
|
ModalResult := mrOk;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
ListView1.Items[i].SubItems[2] := 'Error al generar correo';
|
||||||
|
Self.Update;
|
||||||
|
Application.ProcessMessages;
|
||||||
|
FFacturas.Next;
|
||||||
|
end;
|
||||||
|
Button2.Enabled := False;
|
||||||
|
finally
|
||||||
|
ListView1.Items.EndUpdate;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
HideHourglassCursor;
|
||||||
|
end;
|
||||||
|
|
||||||
|
Button1.SetFocus;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogListaFacturasEnvioEMail.actAceptarUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
(Sender as TAction).Enabled := (ListView1.Items.Count > 0)
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogListaFacturasEnvioEMail.actCancelarExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
ModalResult := mrOk;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogListaFacturasEnvioEMail.BorrarLista;
|
||||||
|
begin
|
||||||
|
ListView1.Items.Clear;
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TfDialogListaFacturasEnvioEMail.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
ModalResult := mrCancel;
|
||||||
|
FController := TFacturasClienteController.Create;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TfDialogListaFacturasEnvioEMail.GetFacturas: IBizFacturaCliente;
|
||||||
|
begin
|
||||||
|
Result := FFacturas;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogListaFacturasEnvioEMail.RellenarLista;
|
||||||
|
var
|
||||||
|
i : Integer;
|
||||||
|
begin
|
||||||
|
ListView1.Items.BeginUpdate;
|
||||||
|
ListView1.Items.Clear;
|
||||||
|
|
||||||
|
FFacturas.First;
|
||||||
|
FFacturas.DataTable.DisableControls;
|
||||||
|
try
|
||||||
|
for i := 0 to FFacturas.DataTable.RecordCount - 1 do
|
||||||
|
begin
|
||||||
|
FController.RecuperarCliente(FFacturas);
|
||||||
|
FFacturas.Cliente.DataTable.Active := True;
|
||||||
|
|
||||||
|
with ListView1.Items.Add do
|
||||||
|
begin
|
||||||
|
Caption := FFacturas.REFERENCIA;
|
||||||
|
SubItems.Add(FFacturas.NOMBRE);
|
||||||
|
SubItems.Add(FFacturas.Cliente.EMAIL_ADMINISTRACION);
|
||||||
|
|
||||||
|
if EsCadenaVacia(FFacturas.Cliente.EMAIL_ADMINISTRACION) then
|
||||||
|
SubItems.Add('Sin dirección e-mail administrativa')
|
||||||
|
else
|
||||||
|
SubItems.Add('')
|
||||||
|
end;
|
||||||
|
FFacturas.Next;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
FFacturas.DataTable.EnableControls;
|
||||||
|
ListView1.Items.EndUpdate;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogListaFacturasEnvioEMail.SetFacturas(
|
||||||
|
const Value: IBizFacturaCliente);
|
||||||
|
begin
|
||||||
|
FFacturas := Value;
|
||||||
|
|
||||||
|
if Assigned(FFacturas) then
|
||||||
|
begin
|
||||||
|
FFacturas.DataTable.Open;
|
||||||
|
RellenarLista;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
BorrarLista;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
@ -1,5 +1,6 @@
|
|||||||
inherited fEditorElegirArticulosFacturaCliente: TfEditorElegirArticulosFacturaCliente
|
inherited fEditorElegirArticulosFacturaCliente: TfEditorElegirArticulosFacturaCliente
|
||||||
Caption = 'fEditorElegirArticulosFacturaCliente'
|
Caption = 'fEditorElegirArticulosFacturaCliente'
|
||||||
|
ExplicitWidth = 320
|
||||||
ExplicitHeight = 478
|
ExplicitHeight = 478
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -23,6 +23,11 @@ type
|
|||||||
frViewDetallesFacturaCliente1: TfrViewDetallesFacturaCliente;
|
frViewDetallesFacturaCliente1: TfrViewDetallesFacturaCliente;
|
||||||
frViewFacturaCliente1: TfrViewFacturaCliente;
|
frViewFacturaCliente1: TfrViewFacturaCliente;
|
||||||
frViewTotales1: TfrViewTotales;
|
frViewTotales1: TfrViewTotales;
|
||||||
|
actEnviarEMail: TAction;
|
||||||
|
TBXSubmenuItem2: TTBXSubmenuItem;
|
||||||
|
TBXItem7: TTBXItem;
|
||||||
|
TBXSeparatorItem6: TTBXSeparatorItem;
|
||||||
|
TBXItem33: TTBXItem;
|
||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
procedure frViewClienteFactura1edtlNombrePropertiesEditValueChanged(
|
procedure frViewClienteFactura1edtlNombrePropertiesEditValueChanged(
|
||||||
Sender: TObject);
|
Sender: TObject);
|
||||||
@ -41,6 +46,8 @@ type
|
|||||||
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
||||||
procedure frViewTotales1ePorteEditing(Sender: TObject;
|
procedure frViewTotales1ePorteEditing(Sender: TObject;
|
||||||
var CanEdit: Boolean);
|
var CanEdit: Boolean);
|
||||||
|
procedure actEnviarEMailExecute(Sender: TObject);
|
||||||
|
procedure actEnviarEMailUpdate(Sender: TObject);
|
||||||
private
|
private
|
||||||
procedure RecalcularPortePorUnidad;
|
procedure RecalcularPortePorUnidad;
|
||||||
|
|
||||||
@ -88,6 +95,18 @@ uses
|
|||||||
{
|
{
|
||||||
**************************** TfEditorFacturaCliente ****************************
|
**************************** TfEditorFacturaCliente ****************************
|
||||||
}
|
}
|
||||||
|
procedure TfEditorFacturaCliente.actEnviarEMailExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
FController.GenerarEmailFactura(Factura);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorFacturaCliente.actEnviarEMailUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
(Sender as TAction).Enabled := HayDatos;
|
||||||
|
end;
|
||||||
|
|
||||||
constructor TfEditorFacturaCliente.Create(AOwner: TComponent);
|
constructor TfEditorFacturaCliente.Create(AOwner: TComponent);
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
|
|||||||
@ -38,7 +38,7 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
|
|||||||
Width = 640
|
Width = 640
|
||||||
ExplicitWidth = 640
|
ExplicitWidth = 640
|
||||||
inherited tbxMain: TTBXToolbar
|
inherited tbxMain: TTBXToolbar
|
||||||
ExplicitWidth = 632
|
ExplicitWidth = 640
|
||||||
object TBXSubmenuItem2: TTBXSubmenuItem [0]
|
object TBXSubmenuItem2: TTBXSubmenuItem [0]
|
||||||
Caption = 'Nuevo'
|
Caption = 'Nuevo'
|
||||||
DisplayMode = nbdmImageAndText
|
DisplayMode = nbdmImageAndText
|
||||||
@ -56,9 +56,18 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
|
|||||||
inherited TBXItem2: TTBXItem
|
inherited TBXItem2: TTBXItem
|
||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
|
object TBXItem40: TTBXItem [14]
|
||||||
|
Action = actEnviarEMail
|
||||||
|
end
|
||||||
end
|
end
|
||||||
inherited tbxMenu: TTBXToolbar
|
inherited tbxMenu: TTBXToolbar
|
||||||
ExplicitWidth = 640
|
ExplicitWidth = 640
|
||||||
|
object TBXSubmenuItem3: TTBXSubmenuItem [4]
|
||||||
|
Caption = 'A&cciones'
|
||||||
|
object TBXItem41: TTBXItem
|
||||||
|
Action = actEnviarEMail
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
inherited StatusBar: TJvStatusBar
|
inherited StatusBar: TJvStatusBar
|
||||||
@ -126,9 +135,6 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
|
|||||||
inherited cxGridViewNUM_COPIAS: TcxGridDBColumn
|
inherited cxGridViewNUM_COPIAS: TcxGridDBColumn
|
||||||
IsCaptionAssigned = True
|
IsCaptionAssigned = True
|
||||||
end
|
end
|
||||||
inherited cxGridViewBASE_IMPONIBLE: TcxGridDBColumn
|
|
||||||
Visible = True
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
inherited frViewFiltroBase1: TfrViewFiltroBase
|
inherited frViewFiltroBase1: TfrViewFiltroBase
|
||||||
@ -140,18 +146,18 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
|
|||||||
Width = 640
|
Width = 640
|
||||||
ExplicitWidth = 640
|
ExplicitWidth = 640
|
||||||
inherited txtFiltroTodo: TcxTextEdit
|
inherited txtFiltroTodo: TcxTextEdit
|
||||||
ExplicitWidth = 457
|
ExplicitWidth = 543
|
||||||
Width = 457
|
Width = 543
|
||||||
end
|
end
|
||||||
inherited edtFechaIniFiltro: TcxDateEdit
|
inherited edtFechaIniFiltro: TcxDateEdit
|
||||||
ExplicitWidth = 239
|
ExplicitWidth = 263
|
||||||
Width = 239
|
Width = 263
|
||||||
end
|
end
|
||||||
inherited edtFechaFinFiltro: TcxDateEdit
|
inherited edtFechaFinFiltro: TcxDateEdit
|
||||||
Left = 367
|
Left = 367
|
||||||
ExplicitLeft = 367
|
ExplicitLeft = 367
|
||||||
ExplicitWidth = 244
|
ExplicitWidth = 263
|
||||||
Width = 244
|
Width = 263
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
|
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
|
||||||
@ -224,6 +230,12 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
|
|||||||
ImageIndex = 24
|
ImageIndex = 24
|
||||||
OnExecute = actNuevoAbonoExecute
|
OnExecute = actNuevoAbonoExecute
|
||||||
end
|
end
|
||||||
|
object actEnviarEMail: TAction
|
||||||
|
Category = 'Acciones'
|
||||||
|
Caption = 'Enviar por e-mail...'
|
||||||
|
OnExecute = actEnviarEMailExecute
|
||||||
|
OnUpdate = actEnviarEMailUpdate
|
||||||
|
end
|
||||||
end
|
end
|
||||||
inherited SmallImages: TPngImageList [5]
|
inherited SmallImages: TPngImageList [5]
|
||||||
PngImages = <
|
PngImages = <
|
||||||
@ -1777,11 +1789,8 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
|
|||||||
object N4: TMenuItem [8]
|
object N4: TMenuItem [8]
|
||||||
Caption = '-'
|
Caption = '-'
|
||||||
end
|
end
|
||||||
object Cambiarlasituacin1: TMenuItem [9]
|
object Enviarporemail1: TMenuItem [9]
|
||||||
Caption = 'Cambiar la situaci'#243'n'
|
Action = actEnviarEMail
|
||||||
Hint =
|
|
||||||
'Cambiar la situaci'#243'n de la factura seleccionada (Pendiente/Pagad' +
|
|
||||||
'a)'
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object JsNuevaFacturaDialog: TJSDialog
|
object JsNuevaFacturaDialog: TJSDialog
|
||||||
|
|||||||
@ -18,7 +18,6 @@ type
|
|||||||
|
|
||||||
TfEditorFacturasCliente = class(TfEditorGridBase, IEditorFacturasCliente)
|
TfEditorFacturasCliente = class(TfEditorGridBase, IEditorFacturasCliente)
|
||||||
frViewFacturasCliente1: TfrViewFacturasCliente;
|
frViewFacturasCliente1: TfrViewFacturasCliente;
|
||||||
Cambiarlasituacin1: TMenuItem;
|
|
||||||
N4: TMenuItem;
|
N4: TMenuItem;
|
||||||
JsNuevaFacturaDialog: TJSDialog;
|
JsNuevaFacturaDialog: TJSDialog;
|
||||||
JsListaFacturasGeneradas: TJSDialog;
|
JsListaFacturasGeneradas: TJSDialog;
|
||||||
@ -31,10 +30,17 @@ type
|
|||||||
actNuevoAbono: TAction;
|
actNuevoAbono: TAction;
|
||||||
JsNuevoAbonoDialog: TJSDialog;
|
JsNuevoAbonoDialog: TJSDialog;
|
||||||
JsListaFacturasNoEliminadas: TJSDialog;
|
JsListaFacturasNoEliminadas: TJSDialog;
|
||||||
|
actEnviarEMail: TAction;
|
||||||
|
TBXItem40: TTBXItem;
|
||||||
|
TBXSubmenuItem3: TTBXSubmenuItem;
|
||||||
|
TBXItem41: TTBXItem;
|
||||||
|
Enviarporemail1: TMenuItem;
|
||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
procedure actEliminarUpdate(Sender: TObject);
|
procedure actEliminarUpdate(Sender: TObject);
|
||||||
procedure actNuevaFacturaExecute(Sender: TObject);
|
procedure actNuevaFacturaExecute(Sender: TObject);
|
||||||
procedure actNuevoAbonoExecute(Sender: TObject);
|
procedure actNuevoAbonoExecute(Sender: TObject);
|
||||||
|
procedure actEnviarEMailExecute(Sender: TObject);
|
||||||
|
procedure actEnviarEMailUpdate(Sender: TObject);
|
||||||
private
|
private
|
||||||
FFacturas: IBizFacturaCliente;
|
FFacturas: IBizFacturaCliente;
|
||||||
FController : IFacturasClienteController;
|
FController : IFacturasClienteController;
|
||||||
@ -64,7 +70,8 @@ implementation
|
|||||||
uses
|
uses
|
||||||
uDataModuleFacturasCliente, uDataModuleUsuarios, uAlbaranesClienteController,
|
uDataModuleFacturasCliente, uDataModuleUsuarios, uAlbaranesClienteController,
|
||||||
uPedidosClienteController, uBizAlbaranesCliente, uBizPedidosCliente,
|
uPedidosClienteController, uBizAlbaranesCliente, uBizPedidosCliente,
|
||||||
uEditorBase, uGenerarFacturasCliAlbCliUtils, uGridUtils, uDBSelectionListUtils;
|
uEditorBase, uGenerarFacturasCliAlbCliUtils, uGridUtils, uDBSelectionListUtils,
|
||||||
|
cxControls;
|
||||||
|
|
||||||
{$R *.dfm}
|
{$R *.dfm}
|
||||||
|
|
||||||
@ -78,6 +85,39 @@ begin
|
|||||||
(Sender as TAction).Enabled := (FFacturas.SITUACION = 'PENDIENTE');
|
(Sender as TAction).Enabled := (FFacturas.SITUACION = 'PENDIENTE');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorFacturasCliente.actEnviarEMailExecute(Sender: TObject);
|
||||||
|
var
|
||||||
|
AFacturas : IBizFacturaCliente;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
|
||||||
|
if ViewGrid.NumSeleccionados = 1 then
|
||||||
|
FController.GenerarEmailFactura(Facturas)
|
||||||
|
else begin
|
||||||
|
ShowHourglassCursor;
|
||||||
|
try
|
||||||
|
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Facturas as ISeleccionable).SelectedRecords);
|
||||||
|
AFacturas := (Controller as IFacturasClienteController).ExtraerSeleccionados(Facturas, ViewGrid) as IBizFacturaCliente;
|
||||||
|
|
||||||
|
if Assigned(AFacturas) then
|
||||||
|
FController.EnviarEmailFacturas(AFacturas);
|
||||||
|
finally
|
||||||
|
AFacturas := NIL;
|
||||||
|
HideHourglassCursor;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorFacturasCliente.actEnviarEMailUpdate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if HayDatos and Assigned(ViewGrid) then
|
||||||
|
(Sender as TAction).Enabled := ViewGrid.esSeleccionCeldaDatos
|
||||||
|
and (ViewGrid.NumSeleccionados > 0)
|
||||||
|
else
|
||||||
|
(Sender as TAction).Enabled := False;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TfEditorFacturasCliente.actNuevaFacturaExecute(Sender: TObject);
|
procedure TfEditorFacturasCliente.actNuevaFacturaExecute(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
actNuevo.Execute;
|
actNuevo.Execute;
|
||||||
|
|||||||
@ -10,7 +10,7 @@ implementation
|
|||||||
uses
|
uses
|
||||||
uEditorRegistryUtils, uEditorFacturasCliente, uEditorFacturaCliente,
|
uEditorRegistryUtils, uEditorFacturasCliente, uEditorFacturaCliente,
|
||||||
uEditorFacturasClienteReport, uEditorElegirArticulosFacturaCliente,
|
uEditorFacturasClienteReport, uEditorElegirArticulosFacturaCliente,
|
||||||
uEditorElegirFacturasCliente;
|
uEditorElegirFacturasCliente, uDialogListaFacturasEnvioEMail;
|
||||||
|
|
||||||
procedure RegisterViews;
|
procedure RegisterViews;
|
||||||
begin
|
begin
|
||||||
@ -19,6 +19,7 @@ begin
|
|||||||
EditorRegistry.RegisterClass(TfEditorElegirArticulosFacturaCliente, 'EditorElegirArticulosFacturaCliente');
|
EditorRegistry.RegisterClass(TfEditorElegirArticulosFacturaCliente, 'EditorElegirArticulosFacturaCliente');
|
||||||
EditorRegistry.RegisterClass(TfEditorElegirFacturasCliente, 'EditorElegirFacturasCliente');
|
EditorRegistry.RegisterClass(TfEditorElegirFacturasCliente, 'EditorElegirFacturasCliente');
|
||||||
EditorRegistry.RegisterClass(TfEditorFacturasClientePreview, 'EditorFacturasClientePreview');
|
EditorRegistry.RegisterClass(TfEditorFacturasClientePreview, 'EditorFacturasClientePreview');
|
||||||
|
EditorRegistry.RegisterClass(TfDialogListaFacturasEnvioEMail, 'DialogListaFacturasEnvioEMail');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure UnregisterViews;
|
procedure UnregisterViews;
|
||||||
@ -28,6 +29,7 @@ begin
|
|||||||
EditorRegistry.UnRegisterClass(TfEditorElegirArticulosFacturaCliente);
|
EditorRegistry.UnRegisterClass(TfEditorElegirArticulosFacturaCliente);
|
||||||
EditorRegistry.UnRegisterClass(TfEditorElegirFacturasCliente);
|
EditorRegistry.UnRegisterClass(TfEditorElegirFacturasCliente);
|
||||||
EditorRegistry.UnRegisterClass(TfEditorFacturasClientePreview);
|
EditorRegistry.UnRegisterClass(TfEditorFacturasClientePreview);
|
||||||
|
EditorRegistry.UnRegisterClass(TfDialogListaFacturasEnvioEMail);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
@ -23,13 +23,30 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente
|
|||||||
OptionsView.GroupFooters = gfAlwaysVisible
|
OptionsView.GroupFooters = gfAlwaysVisible
|
||||||
object cxGridViewNUM_COPIAS: TcxGridDBColumn
|
object cxGridViewNUM_COPIAS: TcxGridDBColumn
|
||||||
DataBinding.FieldName = 'NUM_COPIAS'
|
DataBinding.FieldName = 'NUM_COPIAS'
|
||||||
|
PropertiesClassName = 'TcxTextEditProperties'
|
||||||
|
Properties.Alignment.Horz = taCenter
|
||||||
OnCustomDrawCell = cxGridViewNUM_COPIASCustomDrawCell
|
OnCustomDrawCell = cxGridViewNUM_COPIASCustomDrawCell
|
||||||
MinWidth = 30
|
BestFitMaxWidth = 20
|
||||||
Options.HorzSizing = False
|
MinWidth = 25
|
||||||
|
Options.Moving = False
|
||||||
|
Options.ShowCaption = False
|
||||||
VisibleForCustomization = False
|
VisibleForCustomization = False
|
||||||
Width = 30
|
Width = 25
|
||||||
|
OnCustomDrawHeader = cxGridViewNUM_COPIASCustomDrawHeader
|
||||||
IsCaptionAssigned = True
|
IsCaptionAssigned = True
|
||||||
end
|
end
|
||||||
|
object cxGridViewNUM_CORREOS: TcxGridDBColumn
|
||||||
|
DataBinding.FieldName = 'NUM_CORREOS'
|
||||||
|
PropertiesClassName = 'TcxTextEditProperties'
|
||||||
|
Properties.Alignment.Horz = taCenter
|
||||||
|
BestFitMaxWidth = 20
|
||||||
|
MinWidth = 25
|
||||||
|
Options.Moving = False
|
||||||
|
Options.ShowCaption = False
|
||||||
|
VisibleForCustomization = False
|
||||||
|
Width = 25
|
||||||
|
OnCustomDrawHeader = cxGridViewNUM_CORREOSCustomDrawHeader
|
||||||
|
end
|
||||||
object cxGridViewTIPO: TcxGridDBColumn
|
object cxGridViewTIPO: TcxGridDBColumn
|
||||||
DataBinding.FieldName = 'TIPO'
|
DataBinding.FieldName = 'TIPO'
|
||||||
PropertiesClassName = 'TcxImageComboBoxProperties'
|
PropertiesClassName = 'TcxImageComboBoxProperties'
|
||||||
@ -50,22 +67,26 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente
|
|||||||
object cxGridViewREFERENCIA: TcxGridDBColumn
|
object cxGridViewREFERENCIA: TcxGridDBColumn
|
||||||
DataBinding.FieldName = 'REFERENCIA'
|
DataBinding.FieldName = 'REFERENCIA'
|
||||||
PropertiesClassName = 'TcxTextEditProperties'
|
PropertiesClassName = 'TcxTextEditProperties'
|
||||||
|
BestFitMaxWidth = 70
|
||||||
SortIndex = 0
|
SortIndex = 0
|
||||||
SortOrder = soDescending
|
SortOrder = soDescending
|
||||||
Width = 69
|
Width = 69
|
||||||
end
|
end
|
||||||
object cxGridViewSITUACION: TcxGridDBColumn
|
object cxGridViewSITUACION: TcxGridDBColumn
|
||||||
DataBinding.FieldName = 'SITUACION'
|
DataBinding.FieldName = 'SITUACION'
|
||||||
|
BestFitMaxWidth = 70
|
||||||
Width = 32
|
Width = 32
|
||||||
end
|
end
|
||||||
object cxGridViewFECHA_FACTURA: TcxGridDBColumn
|
object cxGridViewFECHA_FACTURA: TcxGridDBColumn
|
||||||
DataBinding.FieldName = 'FECHA_FACTURA'
|
DataBinding.FieldName = 'FECHA_FACTURA'
|
||||||
PropertiesClassName = 'TcxDateEditProperties'
|
PropertiesClassName = 'TcxDateEditProperties'
|
||||||
|
BestFitMaxWidth = 70
|
||||||
Width = 28
|
Width = 28
|
||||||
end
|
end
|
||||||
object cxGridViewNIF_CIF: TcxGridDBColumn
|
object cxGridViewNIF_CIF: TcxGridDBColumn
|
||||||
DataBinding.FieldName = 'NIF_CIF'
|
DataBinding.FieldName = 'NIF_CIF'
|
||||||
Visible = False
|
Visible = False
|
||||||
|
BestFitMaxWidth = 70
|
||||||
end
|
end
|
||||||
object cxGridViewNOMBRE: TcxGridDBColumn
|
object cxGridViewNOMBRE: TcxGridDBColumn
|
||||||
DataBinding.FieldName = 'NOMBRE'
|
DataBinding.FieldName = 'NOMBRE'
|
||||||
@ -78,6 +99,7 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente
|
|||||||
object cxGridViewCODIGO_POSTAL: TcxGridDBColumn
|
object cxGridViewCODIGO_POSTAL: TcxGridDBColumn
|
||||||
DataBinding.FieldName = 'CODIGO_POSTAL'
|
DataBinding.FieldName = 'CODIGO_POSTAL'
|
||||||
Visible = False
|
Visible = False
|
||||||
|
BestFitMaxWidth = 70
|
||||||
end
|
end
|
||||||
object cxGridViewPOBLACION: TcxGridDBColumn
|
object cxGridViewPOBLACION: TcxGridDBColumn
|
||||||
DataBinding.FieldName = 'POBLACION'
|
DataBinding.FieldName = 'POBLACION'
|
||||||
@ -86,10 +108,12 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente
|
|||||||
object cxGridViewPROVINCIA: TcxGridDBColumn
|
object cxGridViewPROVINCIA: TcxGridDBColumn
|
||||||
DataBinding.FieldName = 'PROVINCIA'
|
DataBinding.FieldName = 'PROVINCIA'
|
||||||
Visible = False
|
Visible = False
|
||||||
|
BestFitMaxWidth = 70
|
||||||
end
|
end
|
||||||
object cxGridViewBASE_IMPONIBLE: TcxGridDBColumn
|
object cxGridViewBASE_IMPONIBLE: TcxGridDBColumn
|
||||||
DataBinding.FieldName = 'BASE_IMPONIBLE'
|
DataBinding.FieldName = 'BASE_IMPONIBLE'
|
||||||
PropertiesClassName = 'TcxCurrencyEditProperties'
|
PropertiesClassName = 'TcxCurrencyEditProperties'
|
||||||
|
Properties.Alignment.Horz = taRightJustify
|
||||||
Visible = False
|
Visible = False
|
||||||
FooterAlignmentHorz = taRightJustify
|
FooterAlignmentHorz = taRightJustify
|
||||||
HeaderAlignmentHorz = taRightJustify
|
HeaderAlignmentHorz = taRightJustify
|
||||||
@ -97,12 +121,14 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente
|
|||||||
object cxGridViewDESCUENTO: TcxGridDBColumn
|
object cxGridViewDESCUENTO: TcxGridDBColumn
|
||||||
DataBinding.FieldName = 'DESCUENTO'
|
DataBinding.FieldName = 'DESCUENTO'
|
||||||
Visible = False
|
Visible = False
|
||||||
|
BestFitMaxWidth = 30
|
||||||
FooterAlignmentHorz = taRightJustify
|
FooterAlignmentHorz = taRightJustify
|
||||||
HeaderAlignmentHorz = taRightJustify
|
HeaderAlignmentHorz = taRightJustify
|
||||||
end
|
end
|
||||||
object cxGridViewIMPORTE_DESCUENTO: TcxGridDBColumn
|
object cxGridViewIMPORTE_DESCUENTO: TcxGridDBColumn
|
||||||
DataBinding.FieldName = 'IMPORTE_DESCUENTO'
|
DataBinding.FieldName = 'IMPORTE_DESCUENTO'
|
||||||
PropertiesClassName = 'TcxCurrencyEditProperties'
|
PropertiesClassName = 'TcxCurrencyEditProperties'
|
||||||
|
Properties.Alignment.Horz = taRightJustify
|
||||||
Visible = False
|
Visible = False
|
||||||
FooterAlignmentHorz = taRightJustify
|
FooterAlignmentHorz = taRightJustify
|
||||||
HeaderAlignmentHorz = taRightJustify
|
HeaderAlignmentHorz = taRightJustify
|
||||||
@ -110,12 +136,14 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente
|
|||||||
object cxGridViewIVA: TcxGridDBColumn
|
object cxGridViewIVA: TcxGridDBColumn
|
||||||
DataBinding.FieldName = 'IVA'
|
DataBinding.FieldName = 'IVA'
|
||||||
Visible = False
|
Visible = False
|
||||||
|
BestFitMaxWidth = 30
|
||||||
FooterAlignmentHorz = taRightJustify
|
FooterAlignmentHorz = taRightJustify
|
||||||
HeaderAlignmentHorz = taRightJustify
|
HeaderAlignmentHorz = taRightJustify
|
||||||
end
|
end
|
||||||
object cxGridViewIMPORTE_IVA: TcxGridDBColumn
|
object cxGridViewIMPORTE_IVA: TcxGridDBColumn
|
||||||
DataBinding.FieldName = 'IMPORTE_IVA'
|
DataBinding.FieldName = 'IMPORTE_IVA'
|
||||||
PropertiesClassName = 'TcxCurrencyEditProperties'
|
PropertiesClassName = 'TcxCurrencyEditProperties'
|
||||||
|
Properties.Alignment.Horz = taRightJustify
|
||||||
Visible = False
|
Visible = False
|
||||||
FooterAlignmentHorz = taRightJustify
|
FooterAlignmentHorz = taRightJustify
|
||||||
HeaderAlignmentHorz = taRightJustify
|
HeaderAlignmentHorz = taRightJustify
|
||||||
@ -157,18 +185,18 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente
|
|||||||
Width = 531
|
Width = 531
|
||||||
ExplicitWidth = 531
|
ExplicitWidth = 531
|
||||||
inherited txtFiltroTodo: TcxTextEdit
|
inherited txtFiltroTodo: TcxTextEdit
|
||||||
ExplicitWidth = 273
|
ExplicitWidth = 434
|
||||||
Width = 273
|
Width = 434
|
||||||
end
|
end
|
||||||
inherited edtFechaIniFiltro: TcxDateEdit
|
inherited edtFechaIniFiltro: TcxDateEdit
|
||||||
ExplicitWidth = 121
|
ExplicitWidth = 202
|
||||||
Width = 121
|
Width = 202
|
||||||
end
|
end
|
||||||
inherited edtFechaFinFiltro: TcxDateEdit
|
inherited edtFechaFinFiltro: TcxDateEdit
|
||||||
Left = 248
|
Left = 306
|
||||||
ExplicitLeft = 248
|
ExplicitLeft = 306
|
||||||
ExplicitWidth = 244
|
ExplicitWidth = 215
|
||||||
Width = 244
|
Width = 215
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
|
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
|
||||||
@ -241,6 +269,95 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente
|
|||||||
OnUpdate = actProvinciaUpdate
|
OnUpdate = actProvinciaUpdate
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
inherited PngImageList10: TPngImageList
|
||||||
|
ShareImages = True
|
||||||
|
PngImages = <
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D4948445200000010000000100804000000B5FA37
|
||||||
|
EA000000097048597300000B1300000B1301009A9C180000031B694343505068
|
||||||
|
6F746F73686F70204943432070726F66696C65000078DA6360609EE0E8E2E4CA
|
||||||
|
24C0C050505452E41EE418191119A5C07E9E818D819981818181812131B9B8C0
|
||||||
|
3120C087818181212F3F2F9501153032307CBBC6C0C8C0C0C07059D7D1C5C995
|
||||||
|
8134C09A5C5054C2C0C070808181C12825B538998181E10B0303437A79494109
|
||||||
|
0303630C03038348527641090303630103038348764890330303630B0303134F
|
||||||
|
496A450903030383737E416551667A468982A1A5A5A582634A7E52AA42706571
|
||||||
|
496A6EB182675E727E51417E5162496A0A030303D40E060606065E97FC1205F7
|
||||||
|
C4CC3C05435355062A8388C82805080B113E083104482E2D2A83072503830083
|
||||||
|
16831F4325C32A86078CD28C518CF3189F32193235305D62D6606E64BECB62C3
|
||||||
|
328F9599359BF52A9B13DB267615F6991C021C9D9CAC9CCD5CCC5C6DDCDCDC13
|
||||||
|
79A47896F21AF31EE20BE67BC65F2D2024B05AD04DF09150A3B0A2F061917451
|
||||||
|
5ED1AD6271E29CE25B25522485258F4A5548EB4A3F9199231B2A27287756BE47
|
||||||
|
C1479157F182D214E528152595D7AA5BD51AD5FD346435DE6AEED39AA89DAA63
|
||||||
|
AD2BA4FB4AEF88FE7C831AC328234B6349E3DF26F74C0F9BAD30EFB7A8B04CB4
|
||||||
|
F2B1B6B051B515B163B1FB6AFFDCE1B6E305A763CE7B5DB6BAAE775BE9BED463
|
||||||
|
91E742AF05DE0B7D16FB2EF35BE5BF3E606BE0DEA063C1E7436E853E0BFB12C1
|
||||||
|
142918A5146D1CE3161B159717DF92303B7173D2D9E4E7A94C6972E936195199
|
||||||
|
5559B3B2F7E4DCCB63CA572FF0292C2E9A5D7CB8E46D9944B94B4561E5BCAAB3
|
||||||
|
D57F6BF5EAE2EB27351C6BFCDD6CD092DE3AAFED7A8760A777577BF7E15E863E
|
||||||
|
FBFEBA09FB26FE9FEC38A575EA89E9BC338267CE9AF5688ED6DC9279FB16702D
|
||||||
|
0C5BB478F1C7A50ECB262C7FB8D27855EBEA9B6B75D735ADBFB9D16053C7E607
|
||||||
|
5BADB64DDDFE61A7EFAE557B38F6A6EF3B7E40FD60E7A1D747FC8E6E3E2E7EA2
|
||||||
|
F6E493D3DE67B69C933DDF7EE1D3A5B8CBA7AE5A5C5B7643F466EBADAF77D2EF
|
||||||
|
DEBCEFF3E0C023D3C7AB9F2A3E9BF942F065D76BE637756F7FBE2FFDF0E953C1
|
||||||
|
E7775FF3BEBDFB91FFF3C3EFE23FDFFE55FDFF0F002E0C1D8BA03C0931000001
|
||||||
|
2D4944415478DA63FCCF801F3092AC20EFFFFF870C070A0EA82CF88F4D41EEFF
|
||||||
|
7C063E20BD80E1F0C1CD0E680AEAFEBF67C8679060F8C8F0986119C3858F8704
|
||||||
|
501494FECF60A867980B94FECCB08A61FBC7A2050105480A4AFE973188319C67
|
||||||
|
E863286238C2B099C139B06203921B20D2207082A10B688630C31F8660C7E803
|
||||||
|
700515FF8BC00A5E333C6778C6F0936111832EC3A58FEB106EE8FAFF8521186C
|
||||||
|
C21786870C6B80D2AF800EDDC28864851BC33E86FF0C3A0C3F18B603A59F30FC
|
||||||
|
62F8C0B019A2C055E08F81C8FEC90C8C0C5719B6315C6330014BFF072A809A00
|
||||||
|
22BC13A4E67B336803832891419CE137D01D5C0C2F034F6D802B6060F049F837
|
||||||
|
4190DF111840BF19FE7FFC9170062809F5268838C8A8CEC8CE129DF5A5E5F79F
|
||||||
|
1FA97F375FFA0112C51A1798000002C5780121B7DDC80000000049454E44AE42
|
||||||
|
6082}
|
||||||
|
Name = 'PngImage0'
|
||||||
|
Background = clWindow
|
||||||
|
end
|
||||||
|
item
|
||||||
|
PngImage.Data = {
|
||||||
|
89504E470D0A1A0A0000000D4948445200000010000000100804000000B5FA37
|
||||||
|
EA000000097048597300000B1300000B1301009A9C180000031B694343505068
|
||||||
|
6F746F73686F70204943432070726F66696C65000078DA6360609EE0E8E2E4CA
|
||||||
|
24C0C050505452E41EE418191119A5C07E9E818D819981818181812131B9B8C0
|
||||||
|
3120C087818181212F3F2F9501153032307CBBC6C0C8C0C0C07059D7D1C5C995
|
||||||
|
8134C09A5C5054C2C0C070808181C12825B538998181E10B0303437A79494109
|
||||||
|
0303630C03038348527641090303630103038348764890330303630B0303134F
|
||||||
|
496A450903030383737E416551667A468982A1A5A5A582634A7E52AA42706571
|
||||||
|
496A6EB182675E727E51417E5162496A0A030303D40E060606065E97FC1205F7
|
||||||
|
C4CC3C05435355062A8388C82805080B113E083104482E2D2A83072503830083
|
||||||
|
16831F4325C32A86078CD28C518CF3189F32193235305D62D6606E64BECB62C3
|
||||||
|
328F9599359BF52A9B13DB267615F6991C021C9D9CAC9CCD5CCC5C6DDCDCDC13
|
||||||
|
79A47896F21AF31EE20BE67BC65F2D2024B05AD04DF09150A3B0A2F061917451
|
||||||
|
5ED1AD6271E29CE25B25522485258F4A5548EB4A3F9199231B2A27287756BE47
|
||||||
|
C1479157F182D214E528152595D7AA5BD51AD5FD346435DE6AEED39AA89DAA63
|
||||||
|
AD2BA4FB4AEF88FE7C831AC328234B6349E3DF26F74C0F9BAD30EFB7A8B04CB4
|
||||||
|
F2B1B6B051B515B163B1FB6AFFDCE1B6E305A763CE7B5DB6BAAE775BE9BED463
|
||||||
|
91E742AF05DE0B7D16FB2EF35BE5BF3E606BE0DEA063C1E7436E853E0BFB12C1
|
||||||
|
142918A5146D1CE3161B159717DF92303B7173D2D9E4E7A94C6972E936195199
|
||||||
|
5559B3B2F7E4DCCB63CA572FF0292C2E9A5D7CB8E46D9944B94B4561E5BCAAB3
|
||||||
|
D57F6BF5EAE2EB27351C6BFCDD6CD092DE3AAFED7A8760A777577BF7E15E863E
|
||||||
|
FBFEBA09FB26FE9FEC38A575EA89E9BC338267CE9AF5688ED6DC9279FB16702D
|
||||||
|
0C5BB478F1C7A50ECB262C7FB8D27855EBEA9B6B75D735ADBFB9D16053C7E607
|
||||||
|
5BADB64DDDFE61A7EFAE557B38F6A6EF3B7E40FD60E7A1D747FC8E6E3E2E7EA2
|
||||||
|
F6E493D3DE67B69C933DDF7EE1D3A5B8CBA7AE5A5C5B7643F466EBADAF77D2EF
|
||||||
|
DEBCEFF3E0C023D3C7AB9F2A3E9BF942F065D76BE637756F7FBE2FFDF0E953C1
|
||||||
|
E7775FF3BEBDFB91FFF3C3EFE23FDFFE55FDFF0F002E0C1D8BA03C0931000000
|
||||||
|
C14944415478DABDD13F0BC14118C0F1EF6D06B1B1FEDE80FABD082619E49D78
|
||||||
|
0B769B49190C8A41C9885226857E06938588FC1D0CFE0E8F27830E6592ABE7BA
|
||||||
|
EE3EF7DC3D7746F8DECCDF404D2E0886B3C64D7B34D2C60215199320A4CB270E
|
||||||
|
ACE952626483A2387494843932D311E499D8A02071A63488E9414D1C069499DB
|
||||||
|
2027294DDC66C79E2D11FA9A656D83AC44A9E3E2D75B780C59D27B05190912C0
|
||||||
|
A7BB17CCD928FB00AD4781272DCFC78AABCEBD00F37C98F787FB0049B7EAFDF6
|
||||||
|
2FEEC02251018239FFBF0000000049454E44AE426082}
|
||||||
|
Name = 'PngImage1'
|
||||||
|
Background = clWindow
|
||||||
|
end>
|
||||||
|
Left = 264
|
||||||
|
Top = 168
|
||||||
|
Bitmap = {}
|
||||||
|
end
|
||||||
inherited dxPrintStyleManager1: TdxPrintStyleManager
|
inherited dxPrintStyleManager1: TdxPrintStyleManager
|
||||||
inherited dxPrintStyleManager1Style1: TdxPSPrintStyle
|
inherited dxPrintStyleManager1Style1: TdxPSPrintStyle
|
||||||
BuiltInStyle = True
|
BuiltInStyle = True
|
||||||
|
|||||||
@ -56,6 +56,7 @@ type
|
|||||||
TBXSeparatorItem2: TTBXSeparatorItem;
|
TBXSeparatorItem2: TTBXSeparatorItem;
|
||||||
cxGridViewTIPO: TcxGridDBColumn;
|
cxGridViewTIPO: TcxGridDBColumn;
|
||||||
cxGridViewNUM_COPIAS: TcxGridDBColumn;
|
cxGridViewNUM_COPIAS: TcxGridDBColumn;
|
||||||
|
cxGridViewNUM_CORREOS: TcxGridDBColumn;
|
||||||
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
|
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
|
||||||
ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem;
|
ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem;
|
||||||
out AStyle: TcxStyle);
|
out AStyle: TcxStyle);
|
||||||
@ -67,6 +68,12 @@ type
|
|||||||
procedure cxGridViewNUM_COPIASCustomDrawCell(Sender: TcxCustomGridTableView;
|
procedure cxGridViewNUM_COPIASCustomDrawCell(Sender: TcxCustomGridTableView;
|
||||||
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
|
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
|
||||||
var ADone: Boolean);
|
var ADone: Boolean);
|
||||||
|
procedure cxGridViewNUM_COPIASCustomDrawHeader(Sender: TcxGridTableView;
|
||||||
|
ACanvas: TcxCanvas; AViewInfo: TcxGridColumnHeaderViewInfo;
|
||||||
|
var ADone: Boolean);
|
||||||
|
procedure cxGridViewNUM_CORREOSCustomDrawHeader(Sender: TcxGridTableView;
|
||||||
|
ACanvas: TcxCanvas; AViewInfo: TcxGridColumnHeaderViewInfo;
|
||||||
|
var ADone: Boolean);
|
||||||
|
|
||||||
private
|
private
|
||||||
//Filtros relativos a la vista
|
//Filtros relativos a la vista
|
||||||
@ -190,18 +197,60 @@ end;
|
|||||||
procedure TfrViewFacturasCliente.cxGridViewNUM_COPIASCustomDrawCell(
|
procedure TfrViewFacturasCliente.cxGridViewNUM_COPIASCustomDrawCell(
|
||||||
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
|
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
|
||||||
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
||||||
var
|
{var
|
||||||
R : TRect;
|
R : TRect;}
|
||||||
begin
|
begin
|
||||||
inherited;
|
// inherited;
|
||||||
if (AViewInfo.GridRecord.DisplayTexts[cxGridViewNUM_COPIAS.Index] <> '') then
|
{if (AViewInfo.GridRecord.DisplayTexts[cxGridViewNUM_COPIAS.Index] <> '') then
|
||||||
begin
|
begin
|
||||||
R := AViewInfo.ContentBounds;
|
R := AViewInfo.ContentBounds;
|
||||||
ACanvas.FillRect(R);
|
ACanvas.FillRect(R);
|
||||||
ACanvas.DrawImage(PngImageList, R.Left, R.Top, 4);
|
ACanvas.DrawImage(PngImageList, R.Left, R.Top, 4);
|
||||||
ACanvas.DrawTexT(AViewInfo.GridRecord.DisplayTexts[cxGridViewNUM_COPIAS.Index], R, cxAlignCenter or cxAlignVCenter);
|
ACanvas.DrawTexT(AViewInfo.GridRecord.DisplayTexts[cxGridViewNUM_COPIAS.Index], R, cxAlignCenter or cxAlignVCenter);
|
||||||
ADone := True;
|
ADone := True;
|
||||||
|
end;}
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewFacturasCliente.cxGridViewNUM_COPIASCustomDrawHeader(
|
||||||
|
Sender: TcxGridTableView; ACanvas: TcxCanvas;
|
||||||
|
AViewInfo: TcxGridColumnHeaderViewInfo; var ADone: Boolean);
|
||||||
|
var
|
||||||
|
R : TRect;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
with AViewInfo do
|
||||||
|
begin
|
||||||
|
LookAndFeelPainter.DrawHeader(ACanvas, Bounds, TextAreaBounds, Neighbors,
|
||||||
|
Borders, ButtonState, AlignmentHorz, AlignmentVert, MultiLine,
|
||||||
|
False, '', Params.Font, Params.TextColor, Params.Color);
|
||||||
|
|
||||||
|
R := AViewInfo.ContentBounds;
|
||||||
|
ACanvas.FillRect(R);
|
||||||
|
ACanvas.DrawImage(PngImageList10, R.Left + 2, R.Top, 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
ADone := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewFacturasCliente.cxGridViewNUM_CORREOSCustomDrawHeader(
|
||||||
|
Sender: TcxGridTableView; ACanvas: TcxCanvas;
|
||||||
|
AViewInfo: TcxGridColumnHeaderViewInfo; var ADone: Boolean);
|
||||||
|
var
|
||||||
|
R : TRect;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
with AViewInfo do
|
||||||
|
begin
|
||||||
|
LookAndFeelPainter.DrawHeader(ACanvas, Bounds, TextAreaBounds, Neighbors,
|
||||||
|
Borders, ButtonState, AlignmentHorz, AlignmentVert, MultiLine,
|
||||||
|
False, '', Params.Font, Params.TextColor, Params.Color);
|
||||||
|
|
||||||
|
R := AViewInfo.ContentBounds;
|
||||||
|
ACanvas.FillRect(R);
|
||||||
|
ACanvas.DrawImage(PngImageList10, R.Left + 2, R.Top, 1);
|
||||||
|
end;
|
||||||
|
|
||||||
|
ADone := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfrViewFacturasCliente.cxGridViewStylesGetContentStyle(
|
procedure TfrViewFacturasCliente.cxGridViewStylesGetContentStyle(
|
||||||
|
|||||||
@ -32,8 +32,8 @@ uses
|
|||||||
Dialogs, DB;
|
Dialogs, DB;
|
||||||
|
|
||||||
procedure TBizFormasPagoPlazos.BeforeInsert(Sender: TDADataTable);
|
procedure TBizFormasPagoPlazos.BeforeInsert(Sender: TDADataTable);
|
||||||
var
|
{var
|
||||||
AMasterTable : TDADataTable;
|
AMasterTable : TDADataTable;}
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
//En este caso no se debe hacer porque falla el maestro-detalle al añadir los plazos de una nueva forma de pago desde una factura
|
//En este caso no se debe hacer porque falla el maestro-detalle al añadir los plazos de una nueva forma de pago desde una factura
|
||||||
|
|||||||
@ -0,0 +1,77 @@
|
|||||||
|
object DataModuleRegistroCorreos: TDataModuleRegistroCorreos
|
||||||
|
OldCreateOrder = True
|
||||||
|
OnCreate = DAClientDataModuleCreate
|
||||||
|
RemoteService = RORemoteService
|
||||||
|
Adapter = DABinAdapter
|
||||||
|
SchemaCall.MethodName = 'GetSchemaAsXML'
|
||||||
|
SchemaCall.Params = <
|
||||||
|
item
|
||||||
|
Name = 'Result'
|
||||||
|
ParamType = fResult
|
||||||
|
DataType = rtString
|
||||||
|
end>
|
||||||
|
Height = 414
|
||||||
|
Width = 518
|
||||||
|
object RORemoteService: TRORemoteService
|
||||||
|
ServiceName = 'srvRegistroCorreos'
|
||||||
|
Message = ROBinMessage1
|
||||||
|
Channel = ROWinInetHTTPChannel1
|
||||||
|
Left = 48
|
||||||
|
Top = 24
|
||||||
|
end
|
||||||
|
object DABinAdapter: TDABINAdapter
|
||||||
|
Left = 48
|
||||||
|
Top = 80
|
||||||
|
end
|
||||||
|
object DADesigntimeCall1: TDADesigntimeCall
|
||||||
|
RemoteRequest.MethodName = 'Login'
|
||||||
|
RemoteRequest.Params = <
|
||||||
|
item
|
||||||
|
Name = 'Result'
|
||||||
|
ParamType = fResult
|
||||||
|
DataType = rtBoolean
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Name = 'User'
|
||||||
|
ParamType = fIn
|
||||||
|
DataType = rtString
|
||||||
|
Value = 'Administrador'
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Name = 'Password'
|
||||||
|
ParamType = fIn
|
||||||
|
DataType = rtString
|
||||||
|
Value = '1'
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Name = 'LoginInfo'
|
||||||
|
ParamType = fOut
|
||||||
|
DataType = rtUserDefined
|
||||||
|
UserClassName = 'TRdxLoginInfo'
|
||||||
|
end>
|
||||||
|
RemoteService = LoginRemoteService
|
||||||
|
Left = 48
|
||||||
|
Top = 160
|
||||||
|
end
|
||||||
|
object LoginRemoteService: TRORemoteService
|
||||||
|
ServiceName = 'srvLogin'
|
||||||
|
Message = ROBinMessage1
|
||||||
|
Channel = ROWinInetHTTPChannel1
|
||||||
|
Left = 48
|
||||||
|
Top = 216
|
||||||
|
end
|
||||||
|
object ROWinInetHTTPChannel1: TROWinInetHTTPChannel
|
||||||
|
ServerLocators = <>
|
||||||
|
DispatchOptions = []
|
||||||
|
ProbeServers = False
|
||||||
|
ProbeFrequency = 60000
|
||||||
|
UserAgent = 'RemObjects SDK'
|
||||||
|
TargetURL = 'http://localhost:8099/bin'
|
||||||
|
Left = 48
|
||||||
|
Top = 272
|
||||||
|
end
|
||||||
|
object ROBinMessage1: TROBinMessage
|
||||||
|
Left = 48
|
||||||
|
Top = 324
|
||||||
|
end
|
||||||
|
end
|
||||||
@ -0,0 +1,91 @@
|
|||||||
|
unit uDataModuleRegistroCorreos;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
SysUtils, Classes, DB, uDAClientDataModule, uDADataTable, uDABINAdapter,
|
||||||
|
uDAScriptingProvider, uDACDSDataTable, uROWinInetHttpChannel, uROTypes,
|
||||||
|
uROServiceComponent, uRORemoteService, uROClient, uROBinMessage,
|
||||||
|
uDADesigntimeCall, uIntegerListUtils;
|
||||||
|
|
||||||
|
type
|
||||||
|
TDataModuleRegistroCorreos = class(TDAClientDataModule)
|
||||||
|
RORemoteService: TRORemoteService;
|
||||||
|
DABinAdapter: TDABINAdapter;
|
||||||
|
DADesigntimeCall1: TDADesigntimeCall;
|
||||||
|
LoginRemoteService: TRORemoteService;
|
||||||
|
ROWinInetHTTPChannel1: TROWinInetHTTPChannel;
|
||||||
|
ROBinMessage1: TROBinMessage;
|
||||||
|
procedure DAClientDataModuleCreate(Sender: TObject);
|
||||||
|
public
|
||||||
|
function AnadirMarcaEnvioCorreo(const Tabla: String; IDTabla: Integer): Boolean; overload;
|
||||||
|
function AnadirMarcaEnvioCorreo(const Tabla: String; IDsTabla: TIntegerList): Boolean; overload;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function AnadirMarcaEnvioCorreo(const Tabla: String; IDTabla: Integer): Boolean; overload;
|
||||||
|
function AnadirMarcaEnvioCorreo(const Tabla: String; IDsTabla: TIntegerList): Boolean; overload;
|
||||||
|
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.DFM}
|
||||||
|
|
||||||
|
uses
|
||||||
|
FactuGES_Intf, uDataModuleConexion, uDataTableUtils, cxControls, uDAInterfaces,
|
||||||
|
Dialogs;
|
||||||
|
|
||||||
|
|
||||||
|
function AnadirMarcaEnvioCorreo(const Tabla: String; IDTabla: Integer): Boolean;
|
||||||
|
var
|
||||||
|
ADM : TDataModuleRegistroCorreos;
|
||||||
|
begin
|
||||||
|
ADM := TDataModuleRegistroCorreos.Create(nil);
|
||||||
|
try
|
||||||
|
Result := ADM.AnadirMarcaEnvioCorreo(Tabla, IDTabla);
|
||||||
|
finally
|
||||||
|
FreeANDNIL(ADM);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function AnadirMarcaEnvioCorreo(const Tabla: String; IDsTabla: TIntegerList): Boolean;
|
||||||
|
var
|
||||||
|
ADM : TDataModuleRegistroCorreos;
|
||||||
|
begin
|
||||||
|
ADM := TDataModuleRegistroCorreos.Create(nil);
|
||||||
|
try
|
||||||
|
ADM.AnadirMarcaEnvioCorreo(Tabla, IDsTabla);
|
||||||
|
finally
|
||||||
|
FreeANDNIL(ADM);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TdmImpresiones }
|
||||||
|
|
||||||
|
function TDataModuleRegistroCorreos.AnadirMarcaEnvioCorreo(const Tabla: String;
|
||||||
|
IDTabla: Integer): Boolean;
|
||||||
|
var
|
||||||
|
AList : TIntegerList;
|
||||||
|
begin
|
||||||
|
AList := TIntegerList.Create;
|
||||||
|
try
|
||||||
|
AList.Add(IDTabla);
|
||||||
|
Result := Self.AnadirMarcaEnvioCorreo(Tabla, AList);
|
||||||
|
finally
|
||||||
|
FreeANDNIL(AList)
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TDataModuleRegistroCorreos.AnadirMarcaEnvioCorreo(const Tabla: String;
|
||||||
|
IDsTabla: TIntegerList): Boolean;
|
||||||
|
begin
|
||||||
|
Result := (RORemoteService as IsrvRegistroCorreos).AnadirMarcaEnvio(Tabla, IDsTabla.ToIntegerArray);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TDataModuleRegistroCorreos.DAClientDataModuleCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
RORemoteService.Channel := dmConexion.Channel;
|
||||||
|
RORemoteService.Message := dmConexion.Message;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
object srvRegistroCorreos: TsrvRegistroCorreos
|
||||||
|
OldCreateOrder = True
|
||||||
|
RequiresSession = True
|
||||||
|
SessionManager = dmServer.SessionManager
|
||||||
|
AcquireConnection = True
|
||||||
|
ServiceSchema = schRegistroCorreo
|
||||||
|
ServiceAdapter = DABINAdapter
|
||||||
|
Height = 176
|
||||||
|
Width = 358
|
||||||
|
object schRegistroCorreo: TDASchema
|
||||||
|
ConnectionManager = dmServer.ConnectionManager
|
||||||
|
Datasets = <>
|
||||||
|
Commands = <
|
||||||
|
item
|
||||||
|
Params = <
|
||||||
|
item
|
||||||
|
Name = 'TABLA'
|
||||||
|
DataType = datString
|
||||||
|
Size = 50
|
||||||
|
BlobType = dabtUnknown
|
||||||
|
Value = ''
|
||||||
|
ParamType = daptInput
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Name = 'IDTABLA'
|
||||||
|
BlobType = dabtUnknown
|
||||||
|
Value = ''
|
||||||
|
ParamType = daptUnknown
|
||||||
|
end>
|
||||||
|
Statements = <
|
||||||
|
item
|
||||||
|
Connection = 'IBX'
|
||||||
|
TargetTable = 'REGISTRO_CORREOS'
|
||||||
|
SQL = 'execute procedure PRO_ANADIR_MARCA_ENVIO_CORREO :TABLA, :IDTABLA'
|
||||||
|
StatementType = stSQL
|
||||||
|
ColumnMappings = <>
|
||||||
|
end>
|
||||||
|
Name = 'AnadirMarcaEnvio'
|
||||||
|
end>
|
||||||
|
RelationShips = <>
|
||||||
|
UpdateRules = <>
|
||||||
|
Left = 48
|
||||||
|
Top = 24
|
||||||
|
end
|
||||||
|
object DABINAdapter: TDABINAdapter
|
||||||
|
Left = 48
|
||||||
|
Top = 90
|
||||||
|
end
|
||||||
|
end
|
||||||
@ -0,0 +1,86 @@
|
|||||||
|
unit srvRegistroCorreos_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
|
||||||
|
{ TsrvRegistroCorreos }
|
||||||
|
TsrvRegistroCorreos = class(TDARemoteService, IsrvRegistroCorreos)
|
||||||
|
DABINAdapter: TDABINAdapter;
|
||||||
|
schRegistroCorreo: TDASchema;
|
||||||
|
private
|
||||||
|
protected
|
||||||
|
{ IsrvRegistroCorreos methods }
|
||||||
|
function AnadirMarcaEnvio(const NombreTabla: String; const IdsTabla: TIntegerArray): Boolean;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
uses
|
||||||
|
{Generated:} FactuGES_Invk, uDataModuleServer, uDatabaseUtils, uDAInterfaces,
|
||||||
|
uROClasses;
|
||||||
|
|
||||||
|
procedure Create_srvRegistroCorreos(out anInstance : IUnknown);
|
||||||
|
begin
|
||||||
|
anInstance := TsrvRegistroCorreos.Create(NIL);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ srvRegistroCorreos }
|
||||||
|
function TsrvRegistroCorreos.AnadirMarcaEnvio(const NombreTabla: String; const IdsTabla: TIntegerArray): Boolean;
|
||||||
|
var
|
||||||
|
ASchema : TDASchema;
|
||||||
|
AConn : IDAConnection;
|
||||||
|
dsCommand: IDASQLCommand;
|
||||||
|
i: Integer;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
|
||||||
|
ASchema := schRegistroCorreo;
|
||||||
|
AConn := dmServer.ConnectionManager.NewConnection(dmServer.ConnectionManager.GetDefaultConnectionName);
|
||||||
|
try
|
||||||
|
try
|
||||||
|
//Vamos generando todas y cada una de las marcas de impresion
|
||||||
|
for i := 0 to IdsTabla.Count - 1 do
|
||||||
|
begin
|
||||||
|
dsCommand := ASchema.NewCommand(AConn, 'AnadirMarcaEnvio');
|
||||||
|
with dsCommand do
|
||||||
|
begin
|
||||||
|
ParamByName('TABLA').AsString := NombreTabla;
|
||||||
|
ParamByName('IDTABLA').AsInteger := IdsTabla.Items[i];
|
||||||
|
end;
|
||||||
|
dsCommand.Execute;
|
||||||
|
end;
|
||||||
|
AConn.CommitTransaction;
|
||||||
|
Result := True;
|
||||||
|
except
|
||||||
|
RaiseError('Error al añadir una nueva marca de envio ' + NombreTabla + ' en tablas');
|
||||||
|
AConn.RollbackTransaction;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
dsCommand := NIL;
|
||||||
|
ASchema := NIL;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
initialization
|
||||||
|
TROClassFactory.Create('srvRegistroCorreos', Create_srvRegistroCorreos, TsrvRegistroCorreos_Invoker);
|
||||||
|
|
||||||
|
finalization
|
||||||
|
|
||||||
|
end.
|
||||||
@ -126,11 +126,21 @@
|
|||||||
</Parameter>
|
</Parameter>
|
||||||
</Parameters>
|
</Parameters>
|
||||||
</Operation>
|
</Operation>
|
||||||
<Operation Name="GenerateReport" UID="{8410D113-BEA9-4A0A-B5C7-BE0AFF66DA02}">
|
<Operation Name="GenerarInforme" UID="{8410D113-BEA9-4A0A-B5C7-BE0AFF66DA02}">
|
||||||
<Parameters>
|
<Parameters>
|
||||||
<Parameter Name="Result" DataType="Binary" Flag="Result">
|
<Parameter Name="Result" DataType="Binary" Flag="Result">
|
||||||
</Parameter>
|
</Parameter>
|
||||||
<Parameter Name="FacturaID" DataType="String" Flag="In" >
|
<Parameter Name="ListaID" DataType="TIntegerArray" Flag="In" >
|
||||||
|
</Parameter>
|
||||||
|
<Parameter Name="ShowLogotipo" DataType="Boolean" Flag="In" >
|
||||||
|
</Parameter>
|
||||||
|
</Parameters>
|
||||||
|
</Operation>
|
||||||
|
<Operation Name="GenerarInformeEnPDF" UID="{D2C4E6D0-9D90-4C35-9C92-B9139493B849}">
|
||||||
|
<Parameters>
|
||||||
|
<Parameter Name="Result" DataType="Binary" Flag="Result">
|
||||||
|
</Parameter>
|
||||||
|
<Parameter Name="ListaID" DataType="TIntegerArray" Flag="In" >
|
||||||
</Parameter>
|
</Parameter>
|
||||||
<Parameter Name="ShowLogotipo" DataType="Boolean" Flag="In" >
|
<Parameter Name="ShowLogotipo" DataType="Boolean" Flag="In" >
|
||||||
</Parameter>
|
</Parameter>
|
||||||
@ -651,6 +661,25 @@
|
|||||||
</Interface>
|
</Interface>
|
||||||
</Interfaces>
|
</Interfaces>
|
||||||
</Service>
|
</Service>
|
||||||
|
<Service Name="srvRegistroCorreos" UID="{230D8942-F542-4BF5-A19D-208DD7C8D4AF}" Ancestor="DARemoteService">
|
||||||
|
<Group Under="{E062357C-11F0-4929-9F72-7C62D89F7912}" />
|
||||||
|
<Interfaces>
|
||||||
|
<Interface Name="Default" UID="{E7C14649-21E4-4081-AFAD-919F38ED11FF}">
|
||||||
|
<Operations>
|
||||||
|
<Operation Name="AnadirMarcaEnvio" UID="{16B18794-9621-45B6-8149-F21CF961549C}">
|
||||||
|
<Parameters>
|
||||||
|
<Parameter Name="Result" DataType="Boolean" Flag="Result">
|
||||||
|
</Parameter>
|
||||||
|
<Parameter Name="NombreTabla" DataType="String" Flag="In" >
|
||||||
|
</Parameter>
|
||||||
|
<Parameter Name="IdsTabla" DataType="TIntegerArray" Flag="In" >
|
||||||
|
</Parameter>
|
||||||
|
</Parameters>
|
||||||
|
</Operation>
|
||||||
|
</Operations>
|
||||||
|
</Interface>
|
||||||
|
</Interfaces>
|
||||||
|
</Service>
|
||||||
</Services>
|
</Services>
|
||||||
<Structs>
|
<Structs>
|
||||||
<Struct Name="TRdxLoginInfo" UID="{9F208C71-2B14-4C46-949C-42D84960FC58}" AutoCreateParams="1">
|
<Struct Name="TRdxLoginInfo" UID="{9F208C71-2B14-4C46-949C-42D84960FC58}" AutoCreateParams="1">
|
||||||
@ -674,6 +703,9 @@
|
|||||||
<Array Name="TRdxEmpresasArray" UID="{5171F34A-F889-4FD6-BE02-E83BBA41031D}">
|
<Array Name="TRdxEmpresasArray" UID="{5171F34A-F889-4FD6-BE02-E83BBA41031D}">
|
||||||
<ElementType DataType="Integer" />
|
<ElementType DataType="Integer" />
|
||||||
</Array>
|
</Array>
|
||||||
|
<Array Name="TIntegerArray" UID="{B0E596EA-EEC9-42A6-84C3-B8998CE80572}">
|
||||||
|
<ElementType DataType="Integer" />
|
||||||
|
</Array>
|
||||||
</Arrays>
|
</Arrays>
|
||||||
<Uses>
|
<Uses>
|
||||||
<Use Name="DataAbstract" UID="{555CD762-B874-46F8-AB34-1C1F8DF8E5C6}" Rodl="$(Data Abstract)\Source\DataAbstract.rodl">
|
<Use Name="DataAbstract" UID="{555CD762-B874-46F8-AB34-1C1F8DF8E5C6}" Rodl="$(Data Abstract)\Source\DataAbstract.rodl">
|
||||||
|
|||||||
@ -48,6 +48,7 @@ const
|
|||||||
IsrvInfVentasArticulo_IID : TGUID = '{31CD7B1B-CA98-4F92-A6D5-B3B02360613F}';
|
IsrvInfVentasArticulo_IID : TGUID = '{31CD7B1B-CA98-4F92-A6D5-B3B02360613F}';
|
||||||
IsrvInfMargenArticulo_IID : TGUID = '{EB5F3994-838B-41A7-B19A-D49C9B9495C2}';
|
IsrvInfMargenArticulo_IID : TGUID = '{EB5F3994-838B-41A7-B19A-D49C9B9495C2}';
|
||||||
IsrvImpresiones_IID : TGUID = '{7610E29E-D4FD-4253-A519-A3559D111663}';
|
IsrvImpresiones_IID : TGUID = '{7610E29E-D4FD-4253-A519-A3559D111663}';
|
||||||
|
IsrvRegistroCorreos_IID : TGUID = '{E7C14649-21E4-4081-AFAD-919F38ED11FF}';
|
||||||
|
|
||||||
{ Event ID's }
|
{ Event ID's }
|
||||||
|
|
||||||
@ -81,8 +82,10 @@ type
|
|||||||
IsrvInfVentasArticulo = interface;
|
IsrvInfVentasArticulo = interface;
|
||||||
IsrvInfMargenArticulo = interface;
|
IsrvInfMargenArticulo = interface;
|
||||||
IsrvImpresiones = interface;
|
IsrvImpresiones = interface;
|
||||||
|
IsrvRegistroCorreos = interface;
|
||||||
|
|
||||||
TRdxEmpresasArray = class;
|
TRdxEmpresasArray = class;
|
||||||
|
TIntegerArray = class;
|
||||||
|
|
||||||
TRdxLoginInfo = class;
|
TRdxLoginInfo = class;
|
||||||
|
|
||||||
@ -144,6 +147,31 @@ type
|
|||||||
property Items[Index: integer]:Integer read GetItems write SetItems; default;
|
property Items[Index: integer]:Integer read GetItems write SetItems; default;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ TIntegerArray }
|
||||||
|
TIntegerArray = class(TROArray)
|
||||||
|
private
|
||||||
|
fCount: Integer;
|
||||||
|
fItems : array of Integer;
|
||||||
|
protected
|
||||||
|
procedure Grow; virtual;
|
||||||
|
function GetItems(Index: integer): Integer;
|
||||||
|
procedure SetItems(Index: integer; const Value: Integer);
|
||||||
|
function GetCount: integer; override;
|
||||||
|
public
|
||||||
|
class function GetItemType: PTypeInfo; override;
|
||||||
|
class function GetItemSize: integer; override;
|
||||||
|
function GetItemRef(Index: integer): pointer; override;
|
||||||
|
procedure Clear; override;
|
||||||
|
procedure Delete(Index: integer); override;
|
||||||
|
procedure Resize(ElementCount: integer); override;
|
||||||
|
|
||||||
|
procedure Assign(iSource:TPersistent); override;
|
||||||
|
function Add(const Value:Integer): integer;
|
||||||
|
|
||||||
|
property Count : integer read GetCount;
|
||||||
|
property Items[Index: integer]:Integer read GetItems write SetItems; default;
|
||||||
|
end;
|
||||||
|
|
||||||
{ IsrvContactos }
|
{ IsrvContactos }
|
||||||
IsrvContactos = interface(IDARemoteService)
|
IsrvContactos = interface(IDARemoteService)
|
||||||
['{28CCDC07-A3A4-4917-89B4-64423DC70C9D}']
|
['{28CCDC07-A3A4-4917-89B4-64423DC70C9D}']
|
||||||
@ -236,7 +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 GenerateReport(const FacturaID: String; const ShowLogotipo: Boolean): Binary;
|
function GenerarInforme(const ListaID: TIntegerArray; const ShowLogotipo: Boolean): Binary;
|
||||||
|
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const ShowLogotipo: Boolean): Binary;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ CosrvFacturasCliente }
|
{ CosrvFacturasCliente }
|
||||||
@ -250,7 +279,8 @@ type
|
|||||||
function __GetInterfaceName:string; override;
|
function __GetInterfaceName:string; override;
|
||||||
|
|
||||||
function GetNextAutoInc(const GeneratorName: String): Integer;
|
function GetNextAutoInc(const GeneratorName: String): Integer;
|
||||||
function GenerateReport(const FacturaID: String; const ShowLogotipo: Boolean): Binary;
|
function GenerarInforme(const ListaID: TIntegerArray; const ShowLogotipo: Boolean): Binary;
|
||||||
|
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const ShowLogotipo: Boolean): Binary;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ IsrvPedidosProveedor }
|
{ IsrvPedidosProveedor }
|
||||||
@ -720,6 +750,25 @@ type
|
|||||||
function AnadirMarcaImpresion(const NombreTabla: String; const IdsTabla: String): Boolean;
|
function AnadirMarcaImpresion(const NombreTabla: String; const IdsTabla: String): Boolean;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ IsrvRegistroCorreos }
|
||||||
|
IsrvRegistroCorreos = interface(IDARemoteService)
|
||||||
|
['{E7C14649-21E4-4081-AFAD-919F38ED11FF}']
|
||||||
|
function AnadirMarcaEnvio(const NombreTabla: String; const IdsTabla: TIntegerArray): Boolean;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ CosrvRegistroCorreos }
|
||||||
|
CosrvRegistroCorreos = class
|
||||||
|
class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvRegistroCorreos;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TsrvRegistroCorreos_Proxy }
|
||||||
|
TsrvRegistroCorreos_Proxy = class(TDARemoteService_Proxy, IsrvRegistroCorreos)
|
||||||
|
protected
|
||||||
|
function __GetInterfaceName:string; override;
|
||||||
|
|
||||||
|
function AnadirMarcaEnvio(const NombreTabla: String; const IdsTabla: TIntegerArray): Boolean;
|
||||||
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
@ -826,6 +875,106 @@ begin
|
|||||||
Inc(fCount);
|
Inc(fCount);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ TIntegerArray }
|
||||||
|
|
||||||
|
procedure TIntegerArray.Assign(iSource: TPersistent);
|
||||||
|
var lSource:TIntegerArray;
|
||||||
|
i:integer;
|
||||||
|
begin
|
||||||
|
if (iSource is TIntegerArray) then begin
|
||||||
|
lSource := TIntegerArray(iSource);
|
||||||
|
Clear();
|
||||||
|
Resize(lSource.Count);
|
||||||
|
for i := 0 to Count-1 do begin
|
||||||
|
Items[i] := lSource.Items[i];
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
inherited Assign(iSource);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TIntegerArray.GetItemType: PTypeInfo;
|
||||||
|
begin
|
||||||
|
result := TypeInfo(Integer);
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TIntegerArray.GetItemSize: integer;
|
||||||
|
begin
|
||||||
|
result := SizeOf(Integer);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TIntegerArray.GetItems(Index: integer): Integer;
|
||||||
|
begin
|
||||||
|
if (Index < 0) or (Index >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[Index]);
|
||||||
|
result := fItems[Index];
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TIntegerArray.GetItemRef(Index: integer): pointer;
|
||||||
|
begin
|
||||||
|
if (Index < 0) or (Index >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[Index]);
|
||||||
|
result := @fItems[Index];
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TIntegerArray.Clear;
|
||||||
|
begin
|
||||||
|
SetLength(fItems, 0);
|
||||||
|
FCount := 0;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TIntegerArray.Delete(Index: integer);
|
||||||
|
var i: integer;
|
||||||
|
begin
|
||||||
|
if (Index>=Count) then RaiseError(err_InvalidIndex, [Index]);
|
||||||
|
|
||||||
|
if (Index<Count-1) then
|
||||||
|
for i := Index to Count-2 do fItems[i] := fItems[i+1];
|
||||||
|
|
||||||
|
SetLength(fItems, Count-1);
|
||||||
|
Dec(FCount);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TIntegerArray.SetItems(Index: integer; const Value: Integer);
|
||||||
|
begin
|
||||||
|
if (Index < 0) or (Index >= Count) then RaiseError(err_ArrayIndexOutOfBounds,[Index]);
|
||||||
|
fItems[Index] := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TIntegerArray.Resize(ElementCount: integer);
|
||||||
|
begin
|
||||||
|
SetLength(fItems, ElementCount);
|
||||||
|
FCount := ElementCount;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TIntegerArray.GetCount: integer;
|
||||||
|
begin
|
||||||
|
result := FCount;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TIntegerArray.Grow;
|
||||||
|
var
|
||||||
|
Delta, Capacity: Integer;
|
||||||
|
begin
|
||||||
|
Capacity := Length(fItems);
|
||||||
|
if Capacity > 64 then
|
||||||
|
Delta := Capacity div 4
|
||||||
|
else
|
||||||
|
if Capacity > 8 then
|
||||||
|
Delta := 16
|
||||||
|
else
|
||||||
|
Delta := 4;
|
||||||
|
SetLength(fItems, Capacity + Delta);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TIntegerArray.Add(const Value: Integer): integer;
|
||||||
|
begin
|
||||||
|
Result := Count;
|
||||||
|
if Length(fItems) = Result then
|
||||||
|
Grow;
|
||||||
|
fItems[result] := Value;
|
||||||
|
Inc(fCount);
|
||||||
|
end;
|
||||||
|
|
||||||
{ TRdxLoginInfo }
|
{ TRdxLoginInfo }
|
||||||
|
|
||||||
procedure TRdxLoginInfo.Assign(iSource: TPersistent);
|
procedure TRdxLoginInfo.Assign(iSource: TPersistent);
|
||||||
@ -1187,7 +1336,7 @@ begin
|
|||||||
end
|
end
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TsrvFacturasCliente_Proxy.GenerateReport(const FacturaID: String; const ShowLogotipo: Boolean): Binary;
|
function TsrvFacturasCliente_Proxy.GenerarInforme(const ListaID: TIntegerArray; const ShowLogotipo: Boolean): Binary;
|
||||||
var
|
var
|
||||||
__request, __response : TMemoryStream;
|
__request, __response : TMemoryStream;
|
||||||
begin
|
begin
|
||||||
@ -1196,8 +1345,33 @@ begin
|
|||||||
__response := TMemoryStream.Create;
|
__response := TMemoryStream.Create;
|
||||||
|
|
||||||
try
|
try
|
||||||
__Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport');
|
__Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInforme');
|
||||||
__Message.Write('FacturaID', TypeInfo(String), FacturaID, []);
|
__Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
|
||||||
|
__Message.Write('ShowLogotipo', TypeInfo(Boolean), ShowLogotipo, []);
|
||||||
|
__Message.Finalize;
|
||||||
|
|
||||||
|
__Message.WriteToStream(__request);
|
||||||
|
__TransportChannel.Dispatch(__request, __response);
|
||||||
|
__Message.ReadFromStream(__response);
|
||||||
|
|
||||||
|
__Message.Read('Result', TypeInfo(Binary), result, []);
|
||||||
|
finally
|
||||||
|
__request.Free;
|
||||||
|
__response.Free;
|
||||||
|
end
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TsrvFacturasCliente_Proxy.GenerarInformeEnPDF(const ListaID: TIntegerArray; const ShowLogotipo: Boolean): Binary;
|
||||||
|
var
|
||||||
|
__request, __response : TMemoryStream;
|
||||||
|
begin
|
||||||
|
result := nil;
|
||||||
|
__request := TMemoryStream.Create;
|
||||||
|
__response := TMemoryStream.Create;
|
||||||
|
|
||||||
|
try
|
||||||
|
__Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEnPDF');
|
||||||
|
__Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
|
||||||
__Message.Write('ShowLogotipo', TypeInfo(Boolean), ShowLogotipo, []);
|
__Message.Write('ShowLogotipo', TypeInfo(Boolean), ShowLogotipo, []);
|
||||||
__Message.Finalize;
|
__Message.Finalize;
|
||||||
|
|
||||||
@ -2412,9 +2586,48 @@ begin
|
|||||||
end
|
end
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ CosrvRegistroCorreos }
|
||||||
|
|
||||||
|
class function CosrvRegistroCorreos.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvRegistroCorreos;
|
||||||
|
begin
|
||||||
|
result := TsrvRegistroCorreos_Proxy.Create(aMessage, aTransportChannel);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ TsrvRegistroCorreos_Proxy }
|
||||||
|
|
||||||
|
function TsrvRegistroCorreos_Proxy.__GetInterfaceName:string;
|
||||||
|
begin
|
||||||
|
result := 'srvRegistroCorreos';
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TsrvRegistroCorreos_Proxy.AnadirMarcaEnvio(const NombreTabla: String; const IdsTabla: TIntegerArray): Boolean;
|
||||||
|
var
|
||||||
|
__request, __response : TMemoryStream;
|
||||||
|
begin
|
||||||
|
__request := TMemoryStream.Create;
|
||||||
|
__response := TMemoryStream.Create;
|
||||||
|
|
||||||
|
try
|
||||||
|
__Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'AnadirMarcaEnvio');
|
||||||
|
__Message.Write('NombreTabla', TypeInfo(String), NombreTabla, []);
|
||||||
|
__Message.Write('IdsTabla', TypeInfo(FactuGES_Intf.TIntegerArray), IdsTabla, []);
|
||||||
|
__Message.Finalize;
|
||||||
|
|
||||||
|
__Message.WriteToStream(__request);
|
||||||
|
__TransportChannel.Dispatch(__request, __response);
|
||||||
|
__Message.ReadFromStream(__response);
|
||||||
|
|
||||||
|
__Message.Read('Result', TypeInfo(Boolean), result, []);
|
||||||
|
finally
|
||||||
|
__request.Free;
|
||||||
|
__response.Free;
|
||||||
|
end
|
||||||
|
end;
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
RegisterROClass(TRdxLoginInfo);
|
RegisterROClass(TRdxLoginInfo);
|
||||||
RegisterROClass(TRdxEmpresasArray);
|
RegisterROClass(TRdxEmpresasArray);
|
||||||
|
RegisterROClass(TIntegerArray);
|
||||||
RegisterProxyClass(IsrvContactos_IID, TsrvContactos_Proxy);
|
RegisterProxyClass(IsrvContactos_IID, TsrvContactos_Proxy);
|
||||||
RegisterProxyClass(IsrvComisiones_IID, TsrvComisiones_Proxy);
|
RegisterProxyClass(IsrvComisiones_IID, TsrvComisiones_Proxy);
|
||||||
RegisterProxyClass(IsrvLogin_IID, TsrvLogin_Proxy);
|
RegisterProxyClass(IsrvLogin_IID, TsrvLogin_Proxy);
|
||||||
@ -2443,11 +2656,13 @@ initialization
|
|||||||
RegisterProxyClass(IsrvInfVentasArticulo_IID, TsrvInfVentasArticulo_Proxy);
|
RegisterProxyClass(IsrvInfVentasArticulo_IID, TsrvInfVentasArticulo_Proxy);
|
||||||
RegisterProxyClass(IsrvInfMargenArticulo_IID, TsrvInfMargenArticulo_Proxy);
|
RegisterProxyClass(IsrvInfMargenArticulo_IID, TsrvInfMargenArticulo_Proxy);
|
||||||
RegisterProxyClass(IsrvImpresiones_IID, TsrvImpresiones_Proxy);
|
RegisterProxyClass(IsrvImpresiones_IID, TsrvImpresiones_Proxy);
|
||||||
|
RegisterProxyClass(IsrvRegistroCorreos_IID, TsrvRegistroCorreos_Proxy);
|
||||||
|
|
||||||
|
|
||||||
finalization
|
finalization
|
||||||
UnregisterROClass(TRdxLoginInfo);
|
UnregisterROClass(TRdxLoginInfo);
|
||||||
UnregisterROClass(TRdxEmpresasArray);
|
UnregisterROClass(TRdxEmpresasArray);
|
||||||
|
UnregisterROClass(TIntegerArray);
|
||||||
UnregisterProxyClass(IsrvContactos_IID);
|
UnregisterProxyClass(IsrvContactos_IID);
|
||||||
UnregisterProxyClass(IsrvComisiones_IID);
|
UnregisterProxyClass(IsrvComisiones_IID);
|
||||||
UnregisterProxyClass(IsrvLogin_IID);
|
UnregisterProxyClass(IsrvLogin_IID);
|
||||||
@ -2476,5 +2691,6 @@ finalization
|
|||||||
UnregisterProxyClass(IsrvInfVentasArticulo_IID);
|
UnregisterProxyClass(IsrvInfVentasArticulo_IID);
|
||||||
UnregisterProxyClass(IsrvInfMargenArticulo_IID);
|
UnregisterProxyClass(IsrvInfMargenArticulo_IID);
|
||||||
UnregisterProxyClass(IsrvImpresiones_IID);
|
UnregisterProxyClass(IsrvImpresiones_IID);
|
||||||
|
UnregisterProxyClass(IsrvRegistroCorreos_IID);
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
@ -56,7 +56,8 @@ type
|
|||||||
protected
|
protected
|
||||||
published
|
published
|
||||||
procedure Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
procedure Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
||||||
procedure Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
procedure Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
||||||
|
procedure Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TsrvPedidosProveedor_Invoker = class(TDARemoteService_Invoker)
|
TsrvPedidosProveedor_Invoker = class(TDARemoteService_Invoker)
|
||||||
@ -234,6 +235,13 @@ type
|
|||||||
procedure Invoke_AnadirMarcaImpresion(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
procedure Invoke_AnadirMarcaImpresion(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
TsrvRegistroCorreos_Invoker = class(TDARemoteService_Invoker)
|
||||||
|
private
|
||||||
|
protected
|
||||||
|
published
|
||||||
|
procedure Invoke_AnadirMarcaEnvio(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
||||||
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
@ -469,28 +477,61 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TsrvFacturasCliente_Invoker.Invoke_GenerateReport(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 GenerateReport(const FacturaID: String; const ShowLogotipo: Boolean): Binary; }
|
{ function GenerarInforme(const ListaID: TIntegerArray; const ShowLogotipo: Boolean): Binary; }
|
||||||
var
|
var
|
||||||
FacturaID: String;
|
ListaID: FactuGES_Intf.TIntegerArray;
|
||||||
ShowLogotipo: Boolean;
|
ShowLogotipo: Boolean;
|
||||||
lResult: Binary;
|
lResult: Binary;
|
||||||
__lObjectDisposer: TROObjectDisposer;
|
__lObjectDisposer: TROObjectDisposer;
|
||||||
begin
|
begin
|
||||||
|
ListaID := nil;
|
||||||
lResult := nil;
|
lResult := nil;
|
||||||
try
|
try
|
||||||
__Message.Read('FacturaID', TypeInfo(String), FacturaID, []);
|
__Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
|
||||||
__Message.Read('ShowLogotipo', TypeInfo(Boolean), ShowLogotipo, []);
|
__Message.Read('ShowLogotipo', TypeInfo(Boolean), ShowLogotipo, []);
|
||||||
|
|
||||||
lResult := (__Instance as IsrvFacturasCliente).GenerateReport(FacturaID, ShowLogotipo);
|
lResult := (__Instance as IsrvFacturasCliente).GenerarInforme(ListaID, ShowLogotipo);
|
||||||
|
|
||||||
__Message.Initialize(__Transport, 'FactuGES', 'srvFacturasCliente', 'GenerateReportResponse');
|
__Message.Initialize(__Transport, 'FactuGES', 'srvFacturasCliente', 'GenerarInformeResponse');
|
||||||
__Message.Write('Result', TypeInfo(Binary), lResult, []);
|
__Message.Write('Result', TypeInfo(Binary), lResult, []);
|
||||||
__Message.Finalize;
|
__Message.Finalize;
|
||||||
|
|
||||||
finally
|
finally
|
||||||
__lObjectDisposer := TROObjectDisposer.Create(__Instance);
|
__lObjectDisposer := TROObjectDisposer.Create(__Instance);
|
||||||
try
|
try
|
||||||
|
__lObjectDisposer.Add(ListaID);
|
||||||
|
__lObjectDisposer.Add(lResult);
|
||||||
|
finally
|
||||||
|
__lObjectDisposer.Free();
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
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; }
|
||||||
|
var
|
||||||
|
ListaID: FactuGES_Intf.TIntegerArray;
|
||||||
|
ShowLogotipo: Boolean;
|
||||||
|
lResult: Binary;
|
||||||
|
__lObjectDisposer: TROObjectDisposer;
|
||||||
|
begin
|
||||||
|
ListaID := nil;
|
||||||
|
lResult := nil;
|
||||||
|
try
|
||||||
|
__Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
|
||||||
|
__Message.Read('ShowLogotipo', TypeInfo(Boolean), ShowLogotipo, []);
|
||||||
|
|
||||||
|
lResult := (__Instance as IsrvFacturasCliente).GenerarInformeEnPDF(ListaID, ShowLogotipo);
|
||||||
|
|
||||||
|
__Message.Initialize(__Transport, 'FactuGES', 'srvFacturasCliente', 'GenerarInformeEnPDFResponse');
|
||||||
|
__Message.Write('Result', TypeInfo(Binary), lResult, []);
|
||||||
|
__Message.Finalize;
|
||||||
|
|
||||||
|
finally
|
||||||
|
__lObjectDisposer := TROObjectDisposer.Create(__Instance);
|
||||||
|
try
|
||||||
|
__lObjectDisposer.Add(ListaID);
|
||||||
__lObjectDisposer.Add(lResult);
|
__lObjectDisposer.Add(lResult);
|
||||||
finally
|
finally
|
||||||
__lObjectDisposer.Free();
|
__lObjectDisposer.Free();
|
||||||
@ -1415,4 +1456,35 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ TsrvRegistroCorreos_Invoker }
|
||||||
|
|
||||||
|
procedure TsrvRegistroCorreos_Invoker.Invoke_AnadirMarcaEnvio(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
|
||||||
|
{ function AnadirMarcaEnvio(const NombreTabla: String; const IdsTabla: TIntegerArray): Boolean; }
|
||||||
|
var
|
||||||
|
NombreTabla: String;
|
||||||
|
IdsTabla: FactuGES_Intf.TIntegerArray;
|
||||||
|
lResult: Boolean;
|
||||||
|
__lObjectDisposer: TROObjectDisposer;
|
||||||
|
begin
|
||||||
|
IdsTabla := nil;
|
||||||
|
try
|
||||||
|
__Message.Read('NombreTabla', TypeInfo(String), NombreTabla, []);
|
||||||
|
__Message.Read('IdsTabla', TypeInfo(FactuGES_Intf.TIntegerArray), IdsTabla, []);
|
||||||
|
|
||||||
|
lResult := (__Instance as IsrvRegistroCorreos).AnadirMarcaEnvio(NombreTabla, IdsTabla);
|
||||||
|
|
||||||
|
__Message.Initialize(__Transport, 'FactuGES', 'srvRegistroCorreos', 'AnadirMarcaEnvioResponse');
|
||||||
|
__Message.Write('Result', TypeInfo(Boolean), lResult, []);
|
||||||
|
__Message.Finalize;
|
||||||
|
|
||||||
|
finally
|
||||||
|
__lObjectDisposer := TROObjectDisposer.Create(__Instance);
|
||||||
|
try
|
||||||
|
__lObjectDisposer.Add(IdsTabla);
|
||||||
|
finally
|
||||||
|
__lObjectDisposer.Free();
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
Binary file not shown.
@ -154,7 +154,7 @@
|
|||||||
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
|
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
|
||||||
<VersionInfo Name="MajorVer">3</VersionInfo>
|
<VersionInfo Name="MajorVer">3</VersionInfo>
|
||||||
<VersionInfo Name="MinorVer">0</VersionInfo>
|
<VersionInfo Name="MinorVer">0</VersionInfo>
|
||||||
<VersionInfo Name="Release">7</VersionInfo>
|
<VersionInfo Name="Release">6</VersionInfo>
|
||||||
<VersionInfo Name="Build">0</VersionInfo>
|
<VersionInfo Name="Build">0</VersionInfo>
|
||||||
<VersionInfo Name="Debug">False</VersionInfo>
|
<VersionInfo Name="Debug">False</VersionInfo>
|
||||||
<VersionInfo Name="PreRelease">False</VersionInfo>
|
<VersionInfo Name="PreRelease">False</VersionInfo>
|
||||||
@ -167,15 +167,15 @@
|
|||||||
<VersionInfoKeys>
|
<VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys>
|
<VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
|
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="FileVersion">3.0.7.0</VersionInfoKeys>
|
<VersionInfoKeys Name="FileVersion">3.0.6.0</VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="InternalName"></VersionInfoKeys>
|
<VersionInfoKeys Name="InternalName"></VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
|
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
|
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
|
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="ProductName">FactuGES Server</VersionInfoKeys>
|
<VersionInfoKeys Name="ProductName">FactuGES Server</VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="ProductVersion">3.0.7.0</VersionInfoKeys>
|
<VersionInfoKeys Name="ProductVersion">3.0.6.0</VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
|
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="CompileDate">lunes, 22 de septiembre de 2008 14:11</VersionInfoKeys></VersionInfoKeys> <Excluded_Packages>
|
<VersionInfoKeys Name="CompileDate">jueves, 18 de septiembre de 2008 18:56</VersionInfoKeys></VersionInfoKeys> <Excluded_Packages>
|
||||||
<Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Pascal Script\Dcu\D10\PascalScript_RO_D10.bpl">RemObjects Pascal Script - RemObjects SDK 3.0 Integration</Excluded_Packages>
|
<Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Pascal Script\Dcu\D10\PascalScript_RO_D10.bpl">RemObjects Pascal Script - RemObjects SDK 3.0 Integration</Excluded_Packages>
|
||||||
</Excluded_Packages>
|
</Excluded_Packages>
|
||||||
</Delphi.Personality>
|
</Delphi.Personality>
|
||||||
|
|||||||
@ -104,8 +104,6 @@ uses
|
|||||||
schTiendaWebClient_Intf in '..\Modulos\Tienda web\Model\schTiendaWebClient_Intf.pas',
|
schTiendaWebClient_Intf in '..\Modulos\Tienda web\Model\schTiendaWebClient_Intf.pas',
|
||||||
schTiendaWebServer_Intf in '..\Modulos\Tienda web\Model\schTiendaWebServer_Intf.pas',
|
schTiendaWebServer_Intf in '..\Modulos\Tienda web\Model\schTiendaWebServer_Intf.pas',
|
||||||
uRptEtiquetasContactos_Server in '..\Modulos\Contactos\Reports\uRptEtiquetasContactos_Server.pas' {RptEtiquetasContactos: TDataModule},
|
uRptEtiquetasContactos_Server in '..\Modulos\Contactos\Reports\uRptEtiquetasContactos_Server.pas' {RptEtiquetasContactos: TDataModule},
|
||||||
schContactosClient_Intf in '..\Modulos\Contactos\Model\schContactosClient_Intf.pas',
|
|
||||||
schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas',
|
|
||||||
schInformesClient_Intf in '..\Modulos\Informes base\Model\schInformesClient_Intf.pas',
|
schInformesClient_Intf in '..\Modulos\Informes base\Model\schInformesClient_Intf.pas',
|
||||||
schInformesServer_Intf in '..\Modulos\Informes base\Model\schInformesServer_Intf.pas',
|
schInformesServer_Intf in '..\Modulos\Informes base\Model\schInformesServer_Intf.pas',
|
||||||
schInventarioClient_Intf in '..\Modulos\Inventario\Model\schInventarioClient_Intf.pas',
|
schInventarioClient_Intf in '..\Modulos\Inventario\Model\schInventarioClient_Intf.pas',
|
||||||
@ -122,6 +120,10 @@ uses
|
|||||||
schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas',
|
schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas',
|
||||||
schPedidosProveedorClient_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas',
|
schPedidosProveedorClient_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas',
|
||||||
schPedidosProveedorServer_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas',
|
schPedidosProveedorServer_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas',
|
||||||
|
schAlbaranesClienteClient_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas',
|
||||||
|
schAlbaranesClienteServer_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas',
|
||||||
|
schAlbaranesProveedorClient_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas',
|
||||||
|
schAlbaranesProveedorServer_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas',
|
||||||
schFacturasProveedorClient_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas',
|
schFacturasProveedorClient_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas',
|
||||||
schFacturasProveedorServer_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas',
|
schFacturasProveedorServer_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas',
|
||||||
schRemesasProveedorClient_Intf in '..\Modulos\Remesas de proveedor\Model\schRemesasProveedorClient_Intf.pas',
|
schRemesasProveedorClient_Intf in '..\Modulos\Remesas de proveedor\Model\schRemesasProveedorClient_Intf.pas',
|
||||||
@ -132,10 +134,9 @@ uses
|
|||||||
schRecibosClienteServer_Intf in '..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas',
|
schRecibosClienteServer_Intf in '..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas',
|
||||||
schPedidosClienteClient_Intf in '..\Modulos\Pedidos de cliente\Model\schPedidosClienteClient_Intf.pas',
|
schPedidosClienteClient_Intf in '..\Modulos\Pedidos de cliente\Model\schPedidosClienteClient_Intf.pas',
|
||||||
schPedidosClienteServer_Intf in '..\Modulos\Pedidos de cliente\Model\schPedidosClienteServer_Intf.pas',
|
schPedidosClienteServer_Intf in '..\Modulos\Pedidos de cliente\Model\schPedidosClienteServer_Intf.pas',
|
||||||
schAlbaranesClienteClient_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas',
|
schContactosClient_Intf in '..\Modulos\Contactos\Model\schContactosClient_Intf.pas',
|
||||||
schAlbaranesClienteServer_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas',
|
schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas',
|
||||||
schAlbaranesProveedorClient_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas',
|
srvRegistroCorreos_Impl in '..\Modulos\Registro de correos\Servidor\srvRegistroCorreos_Impl.pas';
|
||||||
schAlbaranesProveedorServer_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas';
|
|
||||||
|
|
||||||
{$R *.res}
|
{$R *.res}
|
||||||
{$R ..\Servicios\RODLFile.res}
|
{$R ..\Servicios\RODLFile.res}
|
||||||
|
|||||||
@ -16,7 +16,7 @@ BEGIN
|
|||||||
VALUE "FileVersion", "3.0.6.0\0"
|
VALUE "FileVersion", "3.0.6.0\0"
|
||||||
VALUE "ProductName", "FactuGES Server\0"
|
VALUE "ProductName", "FactuGES Server\0"
|
||||||
VALUE "ProductVersion", "3.0.6.0\0"
|
VALUE "ProductVersion", "3.0.6.0\0"
|
||||||
VALUE "CompileDate", "lunes, 22 de septiembre de 2008 14:11\0"
|
VALUE "CompileDate", "lunes, 22 de septiembre de 2008 15:20\0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|||||||
Binary file not shown.
@ -3,7 +3,7 @@ object dmServer: TdmServer
|
|||||||
OnCreate = DataModuleCreate
|
OnCreate = DataModuleCreate
|
||||||
OnDestroy = DataModuleDestroy
|
OnDestroy = DataModuleDestroy
|
||||||
Height = 307
|
Height = 307
|
||||||
Width = 382
|
Width = 399
|
||||||
object HTTPServer: TROIndyHTTPServer
|
object HTTPServer: TROIndyHTTPServer
|
||||||
Encryption.UseCompression = True
|
Encryption.UseCompression = True
|
||||||
Dispatchers = <
|
Dispatchers = <
|
||||||
@ -33,8 +33,8 @@ object dmServer: TdmServer
|
|||||||
object DriverManager: TDADriverManager
|
object DriverManager: TDADriverManager
|
||||||
DriverDirectory = '%SYSTEM%\'
|
DriverDirectory = '%SYSTEM%\'
|
||||||
AutoLoad = True
|
AutoLoad = True
|
||||||
TraceActive = False
|
TraceActive = True
|
||||||
TraceFlags = [toPrepare, toExecute, toError, toStmt, toConnect, toTransact, toMisc]
|
TraceFlags = [toExecute, toError, toStmt, toConnect, toTransact, toMisc]
|
||||||
OnTraceEvent = DriverManagerTraceEvent
|
OnTraceEvent = DriverManagerTraceEvent
|
||||||
Left = 136
|
Left = 136
|
||||||
Top = 80
|
Top = 80
|
||||||
@ -82,7 +82,7 @@ object dmServer: TdmServer
|
|||||||
object SessionManager: TROInMemorySessionManager
|
object SessionManager: TROInMemorySessionManager
|
||||||
SessionDuration = -1
|
SessionDuration = -1
|
||||||
OnSessionDeleted = SessionManagerSessionDeleted
|
OnSessionDeleted = SessionManagerSessionDeleted
|
||||||
Left = 216
|
Left = 232
|
||||||
Top = 16
|
Top = 16
|
||||||
end
|
end
|
||||||
object JvLogFile1: TJvLogFile
|
object JvLogFile1: TJvLogFile
|
||||||
@ -102,7 +102,7 @@ object dmServer: TdmServer
|
|||||||
object ADOQuery1: TADOQuery
|
object ADOQuery1: TADOQuery
|
||||||
Parameters = <>
|
Parameters = <>
|
||||||
Left = 320
|
Left = 320
|
||||||
Top = 224
|
Top = 208
|
||||||
end
|
end
|
||||||
object ADOConnection1: TADOConnection
|
object ADOConnection1: TADOConnection
|
||||||
Left = 248
|
Left = 248
|
||||||
|
|||||||
Reference in New Issue
Block a user