Presupuestos primer repaso

git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES2/trunk@213 b2cfbe5a-eba1-4a0c-8b32-7feea0a119f2
This commit is contained in:
roberto 2014-02-06 18:44:21 +00:00
parent 00cb325e8c
commit 34297092ec
87 changed files with 3047 additions and 4099 deletions

View File

@ -14,8 +14,8 @@
<Notes>
<![CDATA[]]>
</Notes>
<LastBuildRun>00:00:01</LastBuildRun>
<LastBuildStart>14/01/2014 15:34:24</LastBuildStart>
<LastBuildRun>00:04:06</LastBuildRun>
<LastBuildStart>06/02/2014 17:13:55</LastBuildStart>
<LastBuildState>True</LastBuildState>
</properties>
</project>

Binary file not shown.

View File

@ -232,6 +232,9 @@ SET GENERATOR GEN_PRESUPUESTOS_CLI_DETALLE_ID TO 1;
CREATE GENERATOR GEN_PRESUPUESTOS_CLI_ID;
SET GENERATOR GEN_PRESUPUESTOS_CLI_ID TO 1;
CREATE GENERATOR GEN_PRESUPUESTOS_TIPOS_ID;
SET GENERATOR GEN_PRESUPUESTOS_TIPOS_ID TO 1;
CREATE GENERATOR GEN_PROVEEDORES_GRUPOS_ID;
SET GENERATOR GEN_PROVEEDORES_GRUPOS_ID TO 1;
@ -686,7 +689,8 @@ CREATE TABLE EMPRESAS (
PARAM_MARGEN TIPO_PORCENTAJE,
ID_TIPO_IVA SMALLINT,
ID_FORMA_PAGO SMALLINT,
ID_ALMACEN SMALLINT
ID_ALMACEN SMALLINT,
VALIDEZ_PRESUPUESTOS SMALLINT
);
CREATE TABLE EMPRESAS_CONTACTOS (
@ -971,7 +975,8 @@ CREATE TABLE PEDIDOS_CLIENTE (
ID_FORMA_PAGO TIPO_ID,
REF_TIENDA_WEB INTEGER,
FECHA_PREVISTA_ENVIO DATE,
REFERENCIA_CLIENTE VARCHAR(255)
REFERENCIA_CLIENTE VARCHAR(255),
ID_PRESUPUESTO TIPO_ID
);
CREATE TABLE PEDIDOS_CLIENTE_DETALLES (
@ -1072,6 +1077,11 @@ CREATE TABLE POBLACIONES (
DESCRIPCION VARCHAR(255) NOT NULL
);
CREATE TABLE PRESUPUESTOS_TIPOS (
ID TIPO_ID NOT NULL,
DESCRIPCION VARCHAR(255)
);
CREATE TABLE PRESUPUESTOS_CLIENTE (
ID TIPO_ID NOT NULL,
ID_EMPRESA TIPO_ID,
@ -1104,7 +1114,11 @@ CREATE TABLE PRESUPUESTOS_CLIENTE (
PERSONA_CONTACTO VARCHAR(255),
ID_DIRECCION TIPO_ID,
DESCRIPCION_BONIFICACION VARCHAR(255) COLLATE ES_ES,
IMPORTE_BONIFICACION TIPO_IMPORTE
IMPORTE_BONIFICACION TIPO_IMPORTE,
FECHA_VIGENCIA DATE,
TIPO_PRESUPUESTO VARCHAR(255) COLLATE ES_ES,
ID_PEDIDO TIPO_ID,
ID_TIPO_IVA TIPO_ID
);
CREATE TABLE PRESUPUESTOS_CLIENTE_DETALLES (
@ -3662,7 +3676,11 @@ CREATE VIEW V_PRESUPUESTOS_CLIENTE(
FACTURA,
PERSONA_CONTACTO,
DESCRIPCION_BONIFICACION,
IMPORTE_BONIFICACION)
IMPORTE_BONIFICACION,
FECHA_VIGENCIA,
TIPO_PRESUPUESTO,
ID_PEDIDO,
REFERENCIA_PEDIDO)
AS
SELECT
PRESUPUESTOS_CLIENTE.ID,
@ -3696,14 +3714,20 @@ SELECT
PRESUPUESTOS_CLIENTE.IMPORTE_TOTAL,
PRESUPUESTOS_CLIENTE.ID_FORMA_PAGO,
PRESUPUESTOS_CLIENTE.ID_FACTURA,
FACTURAS_CLIENTE.REFERENCIA,
/* FACTURAS_CLIENTE.REFERENCIA,*/
NULL as REFERENCIA_FACTURA,
PRESUPUESTOS_CLIENTE.PERSONA_CONTACTO,
PRESUPUESTOS_CLIENTE.DESCRIPCION_BONIFICACION,
PRESUPUESTOS_CLIENTE.IMPORTE_BONIFICACION
PRESUPUESTOS_CLIENTE.IMPORTE_BONIFICACION,
PRESUPUESTOS_CLIENTE.FECHA_VIGENCIA,
PRESUPUESTOS_CLIENTE.TIPO_PRESUPUESTO,
PRESUPUESTOS_CLIENTE.ID_PEDIDO,
PEDIDOS_CLIENTE.REFERENCIA
FROM
PRESUPUESTOS_CLIENTE
INNER JOIN CONTACTOS ON (CONTACTOS.ID = PRESUPUESTOS_CLIENTE.ID_CLIENTE)
LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = PRESUPUESTOS_CLIENTE.ID_FACTURA)
LEFT OUTER JOIN PEDIDOS_CLIENTE ON (PEDIDOS_CLIENTE.ID = PRESUPUESTOS_CLIENTE.ID_PEDIDO)
;
/* View: V_PROVEEDORES */
@ -4409,7 +4433,9 @@ CREATE VIEW V_PEDIDOS_CLIENTE(
REF_TIENDA_WEB,
FECHA_PREVISTA_ENVIO,
NUM_COPIAS,
NUM_CORREOS)
NUM_CORREOS,
ID_PRESUPUESTO,
REFERENCIA_PRESUPUESTO)
AS
SELECT
PEDIDOS_CLIENTE.ID,
@ -4449,10 +4475,13 @@ SELECT
PEDIDOS_CLIENTE.REF_TIENDA_WEB,
PEDIDOS_CLIENTE.FECHA_PREVISTA_ENVIO,
IMPRESIONES.NUM_COPIAS,
REGISTRO_CORREOS.NUM_CORREOS
REGISTRO_CORREOS.NUM_CORREOS,
PEDIDOS_CLIENTE.ID_PRESUPUESTO,
PRESUPUESTOS_CLIENTE.REFERENCIA
FROM
PEDIDOS_CLIENTE
LEFT JOIN V_PED_CLI_SITUACION_X_ALBARANES ON (V_PED_CLI_SITUACION_X_ALBARANES.ID_PEDIDO = PEDIDOS_CLIENTE.ID)
LEFT JOIN PRESUPUESTOS_CLIENTE ON (PRESUPUESTOS_CLIENTE.id = PEDIDOS_CLIENTE.ID_PRESUPUESTO)
/* INNER JOIN PEDIDOS_CLIENTE ON (PEDIDOS_CLIENTE.ID = V_PED_CLI_SITUACION.ID_PEDIDO)*/
INNER JOIN CONTACTOS ON (PEDIDOS_CLIENTE.ID_CLIENTE = CONTACTOS.ID)
LEFT JOIN IMPRESIONES
@ -5109,6 +5138,7 @@ ALTER TABLE PEDIDOS_PROVEEDOR_DETALLES ADD CONSTRAINT PK_PEDIDOS_PROVEEDOR_DETAL
ALTER TABLE PERMISOS ADD CONSTRAINT PK_PERMISOS PRIMARY KEY (ID);
ALTER TABLE PERMISOSEX ADD CONSTRAINT PK_PERMISOSEX PRIMARY KEY (ID);
ALTER TABLE POBLACIONES ADD CONSTRAINT PK_POBLACIONES PRIMARY KEY (ID);
ALTER TABLE PRESUPUESTOS_TIPOS ADD CONSTRAINT PK_PRESUPUESTOS_TIPOS PRIMARY KEY (ID);
ALTER TABLE PRESUPUESTOS_CLIENTE ADD CONSTRAINT PK_PRESUPUESTOS_CLIENTE PRIMARY KEY (ID);
ALTER TABLE PRESUPUESTOS_CLIENTE_DETALLES ADD CONSTRAINT PK_PRESUPUESTOS_CLIENTE_DETALLE PRIMARY KEY (ID);
ALTER TABLE PROVEEDORES_DATOS ADD CONSTRAINT PK_PROVEEDORES_DATOS PRIMARY KEY (ID_PROVEEDOR);
@ -5156,12 +5186,13 @@ ALTER TABLE PAGOS_CLIENTE ADD CONSTRAINT FK_PAGOS_CLIENTE FOREIGN KEY (ID_RECIBO
ALTER TABLE PAGOS_PROVEEDOR ADD CONSTRAINT FK_PAGOS_PROVEEDOR FOREIGN KEY (ID_RECIBO) REFERENCES RECIBOS_PROVEEDOR (ID);
ALTER TABLE PEDIDOS_CLIENTE ADD CONSTRAINT FK_PEDIDOS_CLIENTE FOREIGN KEY (ID_CLIENTE) REFERENCES CONTACTOS (ID);
ALTER TABLE PEDIDOS_CLIENTE ADD CONSTRAINT FK_PEDIDOS_CLIENTE_ID_EMPRESA FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID);
alter table PEDIDOS_CLIENTE add constraint FK_PEDIDOS_CLIENTE_1 foreign key (ID_PRESUPUESTO) references PRESUPUESTOS_CLIENTE(ID);
ALTER TABLE PEDIDOS_PROVEEDOR ADD CONSTRAINT FK_PEDIDOS_PROVEEDOR FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID);
ALTER TABLE PEDIDOS_PROVEEDOR ADD CONSTRAINT FK_PEDIDOS_PROVEEDOR2 FOREIGN KEY (ID_PROVEEDOR) REFERENCES CONTACTOS (ID);
ALTER TABLE PEDIDOS_PROVEEDOR ADD CONSTRAINT FK_PEDIDOS_PROVEEDOR_1 FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_PROVEEDOR (ID) ON DELETE SET NULL ON UPDATE CASCADE;
ALTER TABLE PRESUPUESTOS_CLIENTE ADD CONSTRAINT FK_PRESUPUESTOS_CLIENTE_1 FOREIGN KEY (ID_EMPRESA) REFERENCES EMPRESAS (ID);
ALTER TABLE PRESUPUESTOS_CLIENTE ADD CONSTRAINT FK_PRESUPUESTOS_CLIENTE_2 FOREIGN KEY (ID_CLIENTE) REFERENCES CONTACTOS (ID);
ALTER TABLE PRESUPUESTOS_CLIENTE ADD CONSTRAINT FK_PRESUPUESTOS_CLIENTE_3 FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_CLIENTE (ID) ON DELETE SET NULL ON UPDATE SET NULL;
alter table PRESUPUESTOS_CLIENTE add constraint FK_PRESUPUESTOS_CLIENTE_3 foreign key (ID_FACTURA_PROFORMA) references FACTURAS_PROFORMA(ID);
ALTER TABLE RECIBOS_CLIENTE ADD CONSTRAINT FK_RECIBOS_CLIENTE FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_CLIENTE (ID) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE RECIBOS_CLIENTE ADD CONSTRAINT FK_RECIBOS_CLIENTE2 FOREIGN KEY (ID_REMESA) REFERENCES REMESAS_CLIENTE (ID) ON DELETE SET NULL ON UPDATE SET NULL;
ALTER TABLE RECIBOS_PROVEEDOR ADD CONSTRAINT FK_RECIBOS_PROVEEDOR FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS_PROVEEDOR (ID) ON DELETE CASCADE ON UPDATE CASCADE;

View File

@ -45,6 +45,8 @@
<Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="PackageDescription">Libreria base de FactuGES</Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k100.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
</Excluded_Packages><Source><Source Name="MainSource">Base.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
@ -58,63 +60,63 @@
<Form>DataModuleImpresiones</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Presupuestos de cliente\adortl.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\cxDataD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\cxEditorsD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\cxExportD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\cxExtEditorsD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\cxGridD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\cxIntl6D11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\cxIntlPrintSys3D11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\cxLibraryD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\cxPageControlD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\dbrtl.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\dclIndyCore.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\designide.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\dsnap.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxCoreD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxGDIPlusD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxPSCoreD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxThemeD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\GUISDK_D11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\IndyCore.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\IndyProtocols.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\IndySystem.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Jcl.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\JclVcl.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\JSDialog100.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvCmpD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvCoreD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvDlgsD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvMMD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvNetD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvPageCompsD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvStdCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvSystemD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\pckMD5.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\pckUCDataConnector.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\pckUserControl_RT.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\PngComponentsD10.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\PNG_D10.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\RemObjects_Indy_D11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\rtl.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\TB2k_D10.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\tbx_d10.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\vcl.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\vclactnband.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\vcldb.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\vcljpg.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\VclSmp.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\vclx.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\xmlrtl.dcp" />
<DCCReference Include="..\Modulos\Registro de correos\Data\uDataModuleRegistroCorreos.pas">
<Form>DataModuleRegistroCorreos</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
<DCCReference Include="C:\Documents and Settings\Usuario\adortl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxDataD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxEditorsD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxExportD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxExtEditorsD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxGridD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxIntl6D11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxIntlPrintSys3D11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxLibraryD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxPageControlD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\DataAbstract_Core_D11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dclIndyCore.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\designide.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dsnap.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxCoreD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxGDIPlusD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxPSCoreD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxThemeD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\GUISDK_D11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\IndyCore.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\IndyProtocols.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\IndySystem.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\Jcl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JclVcl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JSDialog100.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvCmpD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvCoreD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvDlgsD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvMMD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvNetD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvPageCompsD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvStdCtrlsD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvSystemD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\pckMD5.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\pckUCDataConnector.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\pckUserControl_RT.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\PngComponentsD10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\PNG_D10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\RemObjects_Core_D11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\RemObjects_Indy_D11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\TB2k_D10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\tbx_d10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vclactnband.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcldb.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcljpg.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\VclSmp.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vclx.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\xmlrtl.dcp" />
<DCCReference Include="Conexion\uConfigurarConexion.pas">
<Form>fConfigurarConexion</Form>
<DesignClass>TForm</DesignClass>

View File

@ -33,7 +33,7 @@ begin
// LoadModule('Obras_plugin.bpl');
LoadModule('Articulos_plugin.bpl');
// LoadModule(MODULENAME_PRESUPUESTOS_CLIENTE);
LoadModule(MODULENAME_PRESUPUESTOS_CLIENTE);
LoadModule(MODULENAME_PEDIDOS_CLIENTE);
LoadModule(MODULENAME_ALBARANES_CLIENTE);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -123,7 +123,9 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
290)
inherited Label1: TLabel
Left = 383
Width = 311
ExplicitLeft = 383
ExplicitWidth = 311
end
inherited eReferencia: TcxDBTextEdit
Style.LookAndFeel.SkinName = ''
@ -178,6 +180,8 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 383
ExplicitWidth = 339
Width = 339
end
inherited bElegirClienteFinal: TButton
Left = 736
@ -220,6 +224,8 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 121
Width = 121
end
end
end
@ -228,6 +234,8 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 275
Width = 275
end
end
end
@ -255,9 +263,9 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
ExplicitHeight = 290
inherited ToolBar1: TToolBar
Width = 809
Height = 73
Height = 46
ExplicitWidth = 809
ExplicitHeight = 73
ExplicitHeight = 46
inherited ToolButton3: TToolButton
Wrap = False
end
@ -283,7 +291,13 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
ExplicitTop = 22
ExplicitWidth = 296
end
inherited ToolButton13: TToolButton [7]
inherited UpDown1: TUpDown
Left = 441
Top = 22
ExplicitLeft = 441
ExplicitTop = 22
end
inherited ToolButton13: TToolButton
Left = 0
Top = 22
Wrap = True
@ -291,52 +305,46 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
ExplicitTop = 22
ExplicitHeight = 27
end
inherited UpDown1: TUpDown [8]
inherited ToolButton6: TToolButton
Left = 0
Top = 49
ExplicitLeft = 0
ExplicitTop = 49
end
inherited ToolButton6: TToolButton
Left = 17
Top = 49
ExplicitLeft = 17
ExplicitTop = 49
end
inherited ToolButton7: TToolButton
Left = 83
Left = 66
Top = 49
ExplicitLeft = 83
ExplicitLeft = 66
ExplicitTop = 49
end
inherited ToolButton8: TToolButton
Left = 150
Left = 133
Top = 49
ExplicitLeft = 150
ExplicitLeft = 133
ExplicitTop = 49
end
inherited ToolButton12: TToolButton
Left = 233
Left = 216
Top = 49
ExplicitLeft = 233
ExplicitLeft = 216
ExplicitTop = 49
end
inherited ToolButton9: TToolButton
Left = 241
Left = 224
Top = 49
ExplicitLeft = 241
ExplicitLeft = 224
ExplicitTop = 49
end
inherited ToolButton10: TToolButton
Left = 386
Left = 369
Top = 49
ExplicitLeft = 386
ExplicitLeft = 369
ExplicitTop = 49
end
inherited ToolButton11: TToolButton
Left = 511
Left = 494
Top = 49
ExplicitLeft = 511
ExplicitLeft = 494
ExplicitTop = 49
end
end

View File

@ -139,7 +139,6 @@ begin
inherited;
Factura := NIL;
FTiposIVA := NIL;
FTiposIVAController := Nil;
FController := NIL;
FViewFactura := NIL;

View File

@ -330,6 +330,15 @@ inherited DataModulePedidosCliente: TDataModulePedidosCliente
DataType = datSmallInt
DisplayLabel = 'PedidosCliente_NUM_CORREOS'
DictionaryEntry = 'PedidosCliente_NUM_CORREOS'
end
item
Name = 'ID_PRESUPUESTO'
DataType = datInteger
end
item
Name = 'REFERENCIA_PRESUPUESTO'
DataType = datString
Size = 255
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]

View File

@ -9,13 +9,13 @@ const
{ Data table rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_ListaAnosPedidos = '{52367490-087A-469F-B93B-4AFF89D7D4FE}';
RID_PedidosProveedor = '{ED584C2A-011D-4C96-96D4-4C1CA33A11BD}';
RID_PedidosCliente = '{CD51EA1E-706D-47A9-9750-B21DC98C84BC}';
RID_PedidosCliente_Detalles = '{0E41F534-D8F7-4323-9ECA-3D2FE77C83B1}';
RID_PedidosCliente_Articulos_Pendientes = '{4B037FD2-288E-47FB-853E-7E9F75BE9705}';
RID_PedidoCliente_ArticulosPendientesPedirAProv = '{C541B99A-F566-48B3-8C27-4AF629628F68}';
RID_PedidoCliente_ArticulosPendientesPedirAProvNoArticulos = '{832C1605-743A-4685-B3CF-17C5D2CD1902}';
RID_ListaAnosPedidos = '{B03310DC-4A84-4779-BF7B-33FF0F741912}';
RID_PedidosProveedor = '{95F27FC7-2016-4B25-A964-29A647BEB277}';
RID_PedidosCliente = '{11401A1B-9CA5-4528-BD63-FCA01EA10603}';
RID_PedidosCliente_Detalles = '{69AF4753-C444-4247-AAD5-59E95435B041}';
RID_PedidosCliente_Articulos_Pendientes = '{5A42E580-E6B3-4B44-83B7-FDFDCD5C1980}';
RID_PedidoCliente_ArticulosPendientesPedirAProv = '{23A4639E-E866-4BAB-969A-DC5AE706B5CB}';
RID_PedidoCliente_ArticulosPendientesPedirAProvNoArticulos = '{35396E3E-190B-4197-9979-7753ED63C5B7}';
{ Data table names }
nme_ListaAnosPedidos = 'ListaAnosPedidos';
@ -79,6 +79,8 @@ const
fld_PedidosClienteFECHA_PREVISTA_ENVIO = 'FECHA_PREVISTA_ENVIO';
fld_PedidosClienteNUM_COPIAS = 'NUM_COPIAS';
fld_PedidosClienteNUM_CORREOS = 'NUM_CORREOS';
fld_PedidosClienteID_PRESUPUESTO = 'ID_PRESUPUESTO';
fld_PedidosClienteREFERENCIA_PRESUPUESTO = 'REFERENCIA_PRESUPUESTO';
{ PedidosCliente field indexes }
idx_PedidosClienteID = 0;
@ -115,6 +117,8 @@ const
idx_PedidosClienteFECHA_PREVISTA_ENVIO = 31;
idx_PedidosClienteNUM_COPIAS = 32;
idx_PedidosClienteNUM_CORREOS = 33;
idx_PedidosClienteID_PRESUPUESTO = 34;
idx_PedidosClienteREFERENCIA_PRESUPUESTO = 35;
{ PedidosCliente_Detalles fields }
fld_PedidosCliente_DetallesID = 'ID';
@ -211,7 +215,7 @@ const
type
{ IListaAnosPedidos }
IListaAnosPedidos = interface(IDAStronglyTypedDataTable)
['{C9EAE65F-5971-4B08-ABC0-274B4FD22461}']
['{B3BAA253-80EF-4183-8FD5-6CA4B0593DAE}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
@ -246,7 +250,7 @@ type
{ IPedidosProveedor }
IPedidosProveedor = interface(IDAStronglyTypedDataTable)
['{772F1791-6705-4292-A9CF-9CAFDA0FCB3B}']
['{A4FF4E03-9C95-4B87-AFCF-B3A8F53EC5CC}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -317,7 +321,7 @@ type
{ IPedidosCliente }
IPedidosCliente = interface(IDAStronglyTypedDataTable)
['{319F8BCF-0CA3-4185-896C-DD22DF9847FD}']
['{1B16009A-2B49-46C3-955E-6FD4F533D570}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -453,6 +457,14 @@ type
procedure SetNUM_CORREOSValue(const aValue: SmallInt);
function GetNUM_CORREOSIsNull: Boolean;
procedure SetNUM_CORREOSIsNull(const aValue: Boolean);
function GetID_PRESUPUESTOValue: Integer;
procedure SetID_PRESUPUESTOValue(const aValue: Integer);
function GetID_PRESUPUESTOIsNull: Boolean;
procedure SetID_PRESUPUESTOIsNull(const aValue: Boolean);
function GetREFERENCIA_PRESUPUESTOValue: String;
procedure SetREFERENCIA_PRESUPUESTOValue(const aValue: String);
function GetREFERENCIA_PRESUPUESTOIsNull: Boolean;
procedure SetREFERENCIA_PRESUPUESTOIsNull(const aValue: Boolean);
{ Properties }
@ -524,6 +536,10 @@ type
property NUM_COPIASIsNull: Boolean read GetNUM_COPIASIsNull write SetNUM_COPIASIsNull;
property NUM_CORREOS: SmallInt read GetNUM_CORREOSValue write SetNUM_CORREOSValue;
property NUM_CORREOSIsNull: Boolean read GetNUM_CORREOSIsNull write SetNUM_CORREOSIsNull;
property ID_PRESUPUESTO: Integer read GetID_PRESUPUESTOValue write SetID_PRESUPUESTOValue;
property ID_PRESUPUESTOIsNull: Boolean read GetID_PRESUPUESTOIsNull write SetID_PRESUPUESTOIsNull;
property REFERENCIA_PRESUPUESTO: String read GetREFERENCIA_PRESUPUESTOValue write SetREFERENCIA_PRESUPUESTOValue;
property REFERENCIA_PRESUPUESTOIsNull: Boolean read GetREFERENCIA_PRESUPUESTOIsNull write SetREFERENCIA_PRESUPUESTOIsNull;
end;
{ TPedidosClienteDataTableRules }
@ -669,6 +685,14 @@ type
procedure SetNUM_CORREOSValue(const aValue: SmallInt); virtual;
function GetNUM_CORREOSIsNull: Boolean; virtual;
procedure SetNUM_CORREOSIsNull(const aValue: Boolean); virtual;
function GetID_PRESUPUESTOValue: Integer; virtual;
procedure SetID_PRESUPUESTOValue(const aValue: Integer); virtual;
function GetID_PRESUPUESTOIsNull: Boolean; virtual;
procedure SetID_PRESUPUESTOIsNull(const aValue: Boolean); virtual;
function GetREFERENCIA_PRESUPUESTOValue: String; virtual;
procedure SetREFERENCIA_PRESUPUESTOValue(const aValue: String); virtual;
function GetREFERENCIA_PRESUPUESTOIsNull: Boolean; virtual;
procedure SetREFERENCIA_PRESUPUESTOIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
@ -739,6 +763,10 @@ type
property NUM_COPIASIsNull: Boolean read GetNUM_COPIASIsNull write SetNUM_COPIASIsNull;
property NUM_CORREOS: SmallInt read GetNUM_CORREOSValue write SetNUM_CORREOSValue;
property NUM_CORREOSIsNull: Boolean read GetNUM_CORREOSIsNull write SetNUM_CORREOSIsNull;
property ID_PRESUPUESTO: Integer read GetID_PRESUPUESTOValue write SetID_PRESUPUESTOValue;
property ID_PRESUPUESTOIsNull: Boolean read GetID_PRESUPUESTOIsNull write SetID_PRESUPUESTOIsNull;
property REFERENCIA_PRESUPUESTO: String read GetREFERENCIA_PRESUPUESTOValue write SetREFERENCIA_PRESUPUESTOValue;
property REFERENCIA_PRESUPUESTOIsNull: Boolean read GetREFERENCIA_PRESUPUESTOIsNull write SetREFERENCIA_PRESUPUESTOIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
@ -748,7 +776,7 @@ type
{ IPedidosCliente_Detalles }
IPedidosCliente_Detalles = interface(IDAStronglyTypedDataTable)
['{69F92C81-F6E3-4D2C-B8CB-B90ADEC9A021}']
['{040BF8A0-FB19-40A1-B02F-37914032D78C}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -939,7 +967,7 @@ type
{ IPedidosCliente_Articulos_Pendientes }
IPedidosCliente_Articulos_Pendientes = interface(IDAStronglyTypedDataTable)
['{5EEFF610-2808-4B2C-8C67-842BF7362503}']
['{23014D12-09EB-408F-9986-D7E3297DE88B}']
{ Property getters and setters }
function GetID_ARTICULOValue: Integer;
procedure SetID_ARTICULOValue(const aValue: Integer);
@ -1010,7 +1038,7 @@ type
{ IPedidoCliente_ArticulosPendientesPedirAProv }
IPedidoCliente_ArticulosPendientesPedirAProv = interface(IDAStronglyTypedDataTable)
['{7204B7EC-2122-4B60-8D15-24E8F26FD247}']
['{8CBCEE12-469C-4C52-B76B-9BDE025988D8}']
{ Property getters and setters }
function GetID_PEDIDOValue: Integer;
procedure SetID_PEDIDOValue(const aValue: Integer);
@ -1153,7 +1181,7 @@ type
{ IPedidoCliente_ArticulosPendientesPedirAProvNoArticulos }
IPedidoCliente_ArticulosPendientesPedirAProvNoArticulos = interface(IDAStronglyTypedDataTable)
['{C4465D1A-71FC-4F76-BC11-59F1FBCA620D}']
['{2A72E2BD-CAF4-4187-A671-8BA3E9F36C27}']
{ Property getters and setters }
function GetID_PEDIDOValue: Integer;
procedure SetID_PEDIDOValue(const aValue: Integer);
@ -2164,6 +2192,48 @@ begin
DataTable.Fields[idx_PedidosClienteNUM_CORREOS].AsVariant := Null;
end;
function TPedidosClienteDataTableRules.GetID_PRESUPUESTOValue: Integer;
begin
result := DataTable.Fields[idx_PedidosClienteID_PRESUPUESTO].AsInteger;
end;
procedure TPedidosClienteDataTableRules.SetID_PRESUPUESTOValue(const aValue: Integer);
begin
DataTable.Fields[idx_PedidosClienteID_PRESUPUESTO].AsInteger := aValue;
end;
function TPedidosClienteDataTableRules.GetID_PRESUPUESTOIsNull: boolean;
begin
result := DataTable.Fields[idx_PedidosClienteID_PRESUPUESTO].IsNull;
end;
procedure TPedidosClienteDataTableRules.SetID_PRESUPUESTOIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_PedidosClienteID_PRESUPUESTO].AsVariant := Null;
end;
function TPedidosClienteDataTableRules.GetREFERENCIA_PRESUPUESTOValue: String;
begin
result := DataTable.Fields[idx_PedidosClienteREFERENCIA_PRESUPUESTO].AsString;
end;
procedure TPedidosClienteDataTableRules.SetREFERENCIA_PRESUPUESTOValue(const aValue: String);
begin
DataTable.Fields[idx_PedidosClienteREFERENCIA_PRESUPUESTO].AsString := aValue;
end;
function TPedidosClienteDataTableRules.GetREFERENCIA_PRESUPUESTOIsNull: boolean;
begin
result := DataTable.Fields[idx_PedidosClienteREFERENCIA_PRESUPUESTO].IsNull;
end;
procedure TPedidosClienteDataTableRules.SetREFERENCIA_PRESUPUESTOIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_PedidosClienteREFERENCIA_PRESUPUESTO].AsVariant := Null;
end;
{ TPedidosCliente_DetallesDataTableRules }
constructor TPedidosCliente_DetallesDataTableRules.Create(aDataTable: TDADataTable);

View File

@ -9,18 +9,18 @@ const
{ Delta rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_ListaAnosPedidosDelta = '{F7087B26-16C3-4E50-AD14-5EF21B59DB5C}';
RID_PedidosProveedorDelta = '{7D954D17-215A-4D4C-A7FE-6BA75062958F}';
RID_PedidosClienteDelta = '{9B8545B7-930D-4DF6-B52A-C07AC8BD6EA7}';
RID_PedidosCliente_DetallesDelta = '{99199B9F-C476-4E54-8385-4D894E1E857F}';
RID_PedidosCliente_Articulos_PendientesDelta = '{21228D66-8988-46CB-AFD0-E265C9D1F4DB}';
RID_PedidoCliente_ArticulosPendientesPedirAProvDelta = '{6A988443-1420-48A3-8E88-444796A56BE1}';
RID_PedidoCliente_ArticulosPendientesPedirAProvNoArticulosDelta = '{53B6BA3C-0BC4-40E5-9CB1-04539F4EB028}';
RID_ListaAnosPedidosDelta = '{5366095E-0D85-41E6-BDE1-4A242E0624D2}';
RID_PedidosProveedorDelta = '{15E9212C-237F-43DA-93BB-F731DCF39D72}';
RID_PedidosClienteDelta = '{67B51E78-FF9E-4546-92F0-FF273F32237F}';
RID_PedidosCliente_DetallesDelta = '{503A2F9C-8B5D-4889-8071-8EF2D1716D29}';
RID_PedidosCliente_Articulos_PendientesDelta = '{73729328-922F-4458-A20F-ECE1969FD04D}';
RID_PedidoCliente_ArticulosPendientesPedirAProvDelta = '{E0FA4DF3-2220-4992-9563-754ACEE319D3}';
RID_PedidoCliente_ArticulosPendientesPedirAProvNoArticulosDelta = '{054BBD78-D3EB-4180-BDA1-19DEC4400A55}';
type
{ IListaAnosPedidosDelta }
IListaAnosPedidosDelta = interface(IListaAnosPedidos)
['{F7087B26-16C3-4E50-AD14-5EF21B59DB5C}']
['{5366095E-0D85-41E6-BDE1-4A242E0624D2}']
{ Property getters and setters }
function GetOldANOValue : String;
@ -54,7 +54,7 @@ type
{ IPedidosProveedorDelta }
IPedidosProveedorDelta = interface(IPedidosProveedor)
['{7D954D17-215A-4D4C-A7FE-6BA75062958F}']
['{15E9212C-237F-43DA-93BB-F731DCF39D72}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldREFERENCIAValue : String;
@ -124,7 +124,7 @@ type
{ IPedidosClienteDelta }
IPedidosClienteDelta = interface(IPedidosCliente)
['{9B8545B7-930D-4DF6-B52A-C07AC8BD6EA7}']
['{67B51E78-FF9E-4546-92F0-FF273F32237F}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@ -160,6 +160,8 @@ type
function GetOldFECHA_PREVISTA_ENVIOValue : DateTime;
function GetOldNUM_COPIASValue : SmallInt;
function GetOldNUM_CORREOSValue : SmallInt;
function GetOldID_PRESUPUESTOValue : Integer;
function GetOldREFERENCIA_PRESUPUESTOValue : String;
{ Properties }
property OldID : Integer read GetOldIDValue;
@ -196,6 +198,8 @@ type
property OldFECHA_PREVISTA_ENVIO : DateTime read GetOldFECHA_PREVISTA_ENVIOValue;
property OldNUM_COPIAS : SmallInt read GetOldNUM_COPIASValue;
property OldNUM_CORREOS : SmallInt read GetOldNUM_CORREOSValue;
property OldID_PRESUPUESTO : Integer read GetOldID_PRESUPUESTOValue;
property OldREFERENCIA_PRESUPUESTO : String read GetOldREFERENCIA_PRESUPUESTOValue;
end;
{ TPedidosClienteBusinessProcessorRules }
@ -409,6 +413,18 @@ type
function GetOldNUM_CORREOSIsNull: Boolean; virtual;
procedure SetNUM_CORREOSValue(const aValue: SmallInt); virtual;
procedure SetNUM_CORREOSIsNull(const aValue: Boolean); virtual;
function GetID_PRESUPUESTOValue: Integer; virtual;
function GetID_PRESUPUESTOIsNull: Boolean; virtual;
function GetOldID_PRESUPUESTOValue: Integer; virtual;
function GetOldID_PRESUPUESTOIsNull: Boolean; virtual;
procedure SetID_PRESUPUESTOValue(const aValue: Integer); virtual;
procedure SetID_PRESUPUESTOIsNull(const aValue: Boolean); virtual;
function GetREFERENCIA_PRESUPUESTOValue: String; virtual;
function GetREFERENCIA_PRESUPUESTOIsNull: Boolean; virtual;
function GetOldREFERENCIA_PRESUPUESTOValue: String; virtual;
function GetOldREFERENCIA_PRESUPUESTOIsNull: Boolean; virtual;
procedure SetREFERENCIA_PRESUPUESTOValue(const aValue: String); virtual;
procedure SetREFERENCIA_PRESUPUESTOIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
@ -547,6 +563,14 @@ type
property NUM_CORREOSIsNull : Boolean read GetNUM_CORREOSIsNull write SetNUM_CORREOSIsNull;
property OldNUM_CORREOS : SmallInt read GetOldNUM_CORREOSValue;
property OldNUM_CORREOSIsNull : Boolean read GetOldNUM_CORREOSIsNull;
property ID_PRESUPUESTO : Integer read GetID_PRESUPUESTOValue write SetID_PRESUPUESTOValue;
property ID_PRESUPUESTOIsNull : Boolean read GetID_PRESUPUESTOIsNull write SetID_PRESUPUESTOIsNull;
property OldID_PRESUPUESTO : Integer read GetOldID_PRESUPUESTOValue;
property OldID_PRESUPUESTOIsNull : Boolean read GetOldID_PRESUPUESTOIsNull;
property REFERENCIA_PRESUPUESTO : String read GetREFERENCIA_PRESUPUESTOValue write SetREFERENCIA_PRESUPUESTOValue;
property REFERENCIA_PRESUPUESTOIsNull : Boolean read GetREFERENCIA_PRESUPUESTOIsNull write SetREFERENCIA_PRESUPUESTOIsNull;
property OldREFERENCIA_PRESUPUESTO : String read GetOldREFERENCIA_PRESUPUESTOValue;
property OldREFERENCIA_PRESUPUESTOIsNull : Boolean read GetOldREFERENCIA_PRESUPUESTOIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
@ -556,7 +580,7 @@ type
{ IPedidosCliente_DetallesDelta }
IPedidosCliente_DetallesDelta = interface(IPedidosCliente_Detalles)
['{99199B9F-C476-4E54-8385-4D894E1E857F}']
['{503A2F9C-8B5D-4889-8071-8EF2D1716D29}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_PEDIDOValue : Integer;
@ -746,7 +770,7 @@ type
{ IPedidosCliente_Articulos_PendientesDelta }
IPedidosCliente_Articulos_PendientesDelta = interface(IPedidosCliente_Articulos_Pendientes)
['{21228D66-8988-46CB-AFD0-E265C9D1F4DB}']
['{73729328-922F-4458-A20F-ECE1969FD04D}']
{ Property getters and setters }
function GetOldID_ARTICULOValue : Integer;
function GetOldCANTIDAD_PEDValue : Currency;
@ -816,7 +840,7 @@ type
{ IPedidoCliente_ArticulosPendientesPedirAProvDelta }
IPedidoCliente_ArticulosPendientesPedirAProvDelta = interface(IPedidoCliente_ArticulosPendientesPedirAProv)
['{6A988443-1420-48A3-8E88-444796A56BE1}']
['{E0FA4DF3-2220-4992-9563-754ACEE319D3}']
{ Property getters and setters }
function GetOldID_PEDIDOValue : Integer;
function GetOldID_ARTICULOValue : Integer;
@ -958,7 +982,7 @@ type
{ IPedidoCliente_ArticulosPendientesPedirAProvNoArticulosDelta }
IPedidoCliente_ArticulosPendientesPedirAProvNoArticulosDelta = interface(IPedidoCliente_ArticulosPendientesPedirAProvNoArticulos)
['{53B6BA3C-0BC4-40E5-9CB1-04539F4EB028}']
['{054BBD78-D3EB-4180-BDA1-19DEC4400A55}']
{ Property getters and setters }
function GetOldID_PEDIDOValue : Integer;
function GetOldID_ARTICULOValue : Integer;
@ -2361,6 +2385,68 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteNUM_CORREOS] := Null;
end;
function TPedidosClienteBusinessProcessorRules.GetID_PRESUPUESTOValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_PRESUPUESTO];
end;
function TPedidosClienteBusinessProcessorRules.GetID_PRESUPUESTOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_PRESUPUESTO]);
end;
function TPedidosClienteBusinessProcessorRules.GetOldID_PRESUPUESTOValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteID_PRESUPUESTO];
end;
function TPedidosClienteBusinessProcessorRules.GetOldID_PRESUPUESTOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteID_PRESUPUESTO]);
end;
procedure TPedidosClienteBusinessProcessorRules.SetID_PRESUPUESTOValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_PRESUPUESTO] := aValue;
end;
procedure TPedidosClienteBusinessProcessorRules.SetID_PRESUPUESTOIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteID_PRESUPUESTO] := Null;
end;
function TPedidosClienteBusinessProcessorRules.GetREFERENCIA_PRESUPUESTOValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREFERENCIA_PRESUPUESTO];
end;
function TPedidosClienteBusinessProcessorRules.GetREFERENCIA_PRESUPUESTOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREFERENCIA_PRESUPUESTO]);
end;
function TPedidosClienteBusinessProcessorRules.GetOldREFERENCIA_PRESUPUESTOValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteREFERENCIA_PRESUPUESTO];
end;
function TPedidosClienteBusinessProcessorRules.GetOldREFERENCIA_PRESUPUESTOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosClienteREFERENCIA_PRESUPUESTO]);
end;
procedure TPedidosClienteBusinessProcessorRules.SetREFERENCIA_PRESUPUESTOValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREFERENCIA_PRESUPUESTO] := aValue;
end;
procedure TPedidosClienteBusinessProcessorRules.SetREFERENCIA_PRESUPUESTOIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosClienteREFERENCIA_PRESUPUESTO] := Null;
end;
{ TPedidosCliente_DetallesBusinessProcessorRules }
constructor TPedidosCliente_DetallesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);

View File

@ -234,6 +234,14 @@ object srvPedidosCliente: TsrvPedidosCliente
item
DatasetField = 'ID_DIRECCION'
TableField = 'ID_DIRECCION'
end
item
DatasetField = 'ID_PRESUPUESTO'
TableField = 'ID_PRESUPUESTO'
end
item
DatasetField = 'REFERENCIA_PRESUPUESTO'
TableField = 'REFERENCIA_PRESUPUESTO'
end>
end>
Name = 'PedidosCliente'
@ -422,6 +430,15 @@ object srvPedidosCliente: TsrvPedidosCliente
Name = 'NUM_CORREOS'
DataType = datSmallInt
DictionaryEntry = 'PedidosCliente_NUM_CORREOS'
end
item
Name = 'ID_PRESUPUESTO'
DataType = datInteger
end
item
Name = 'REFERENCIA_PRESUPUESTO'
DataType = datString
Size = 255
end>
end
item
@ -1021,6 +1038,11 @@ object srvPedidosCliente: TsrvPedidosCliente
Name = 'FECHA_PREVISTA_ENVIO'
DataType = datDateTime
Value = ''
end
item
Name = 'ID_PRESUPUESTO'
DataType = datInteger
Value = ''
end>
Statements = <
item
@ -1035,15 +1057,15 @@ object srvPedidosCliente: TsrvPedidosCliente
'AS_ACTIVAS, OBSERVACIONES, FECHA_ALTA, FECHA_MODIFICACION,'#10' ' +
'IMPORTE_NETO, IMPORTE_PORTE, DESCUENTO,'#10' IMPORTE_DESCUENTO, ' +
'BASE_IMPONIBLE, IVA, IMPORTE_IVA,'#10' ID_FORMA_PAGO, REF_TIENDA' +
'_WEB, FECHA_PREVISTA_ENVIO)'#10' VALUES'#10' (:ID, :ID_EMPRESA, :ID_' +
'CLIENTE, :ID_DIRECCION, :USUARIO, :FECHA_PEDIDO,'#10' :CALLE, :C' +
'ODIGO_POSTAL, :POBLACION, :PROVINCIA, :PERSONA_CONTACTO,'#10' :T' +
'ELEFONO, :REFERENCIA, :REFERENCIA_CLIENTE, :IMPORTE_TOTAL, :INCI' +
'DENCIAS,'#10' :INCIDENCIAS_ACTIVAS, :OBSERVACIONES, :FECHA_ALTA,' +
#10' :FECHA_MODIFICACION, :IMPORTE_NETO, :IMPORTE_PORTE,'#10' :' +
'DESCUENTO, :IMPORTE_DESCUENTO, :BASE_IMPONIBLE, :IVA,'#10' :IMPO' +
'RTE_IVA, :ID_FORMA_PAGO, :REF_TIENDA_WEB, :FECHA_PREVISTA_ENVIO)' +
#10
'_WEB, FECHA_PREVISTA_ENVIO, ID_PRESUPUESTO)'#10' VALUES'#10' (:ID, :' +
'ID_EMPRESA, :ID_CLIENTE, :ID_DIRECCION, :USUARIO, :FECHA_PEDIDO,' +
#10' :CALLE, :CODIGO_POSTAL, :POBLACION, :PROVINCIA, :PERSONA_C' +
'ONTACTO,'#10' :TELEFONO, :REFERENCIA, :REFERENCIA_CLIENTE, :IMPO' +
'RTE_TOTAL, :INCIDENCIAS,'#10' :INCIDENCIAS_ACTIVAS, :OBSERVACION' +
'ES, :FECHA_ALTA,'#10' :FECHA_MODIFICACION, :IMPORTE_NETO, :IMPOR' +
'TE_PORTE,'#10' :DESCUENTO, :IMPORTE_DESCUENTO, :BASE_IMPONIBLE, ' +
':IVA,'#10' :IMPORTE_IVA, :ID_FORMA_PAGO, :REF_TIENDA_WEB, :FECHA' +
'_PREVISTA_ENVIO, :ID_PRESUPUESTO)'#10
StatementType = stSQL
ColumnMappings = <>
end>
@ -1223,6 +1245,11 @@ object srvPedidosCliente: TsrvPedidosCliente
DataType = datDateTime
Value = ''
end
item
Name = 'ID_PRESUPUESTO'
DataType = datInteger
Value = ''
end
item
Name = 'OLD_ID'
Value = ''
@ -1248,8 +1275,8 @@ object srvPedidosCliente: TsrvPedidosCliente
'MPORTE_DESCUENTO = :IMPORTE_DESCUENTO,'#10' BASE_IMPONIBLE = :BAS' +
'E_IMPONIBLE,'#10' IVA = :IVA,'#10' IMPORTE_IVA = :IMPORTE_IVA,'#10' ' +
' ID_FORMA_PAGO = :ID_FORMA_PAGO,'#10' REF_TIENDA_WEB = :REF_TIEND' +
'A_WEB,'#10' FECHA_PREVISTA_ENVIO = :FECHA_PREVISTA_ENVIO'#10' WHERE'#10 +
' (ID = :OLD_ID)'#10
'A_WEB,'#10' FECHA_PREVISTA_ENVIO = :FECHA_PREVISTA_ENVIO,'#10' ID_' +
'PRESUPUESTO = :ID_PRESUPUESTO'#10' WHERE'#10' (ID = :OLD_ID)'#10
StatementType = stSQL
ColumnMappings = <>
end>

View File

@ -309,13 +309,14 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente
ExplicitLeft = 278
ExplicitTop = 0
end
inherited ToolButton14: TToolButton [4]
inherited ToolButton14: TToolButton
Left = 334
Top = 0
Wrap = False
ExplicitLeft = 334
ExplicitTop = 0
end
inherited FontName: TJvFontComboBox [5]
inherited FontName: TJvFontComboBox
Left = 399
Top = 0
ExplicitLeft = 399
@ -324,14 +325,18 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente
inherited FontSize: TEdit
Left = 544
Top = 0
Width = 106
Width = 122
ExplicitLeft = 544
ExplicitTop = 0
ExplicitWidth = 106
ExplicitWidth = 122
end
inherited ToolButton13: TToolButton [7]
Left = 0
Top = 0
Wrap = True
ExplicitLeft = 0
ExplicitTop = 0
ExplicitHeight = 27
end
inherited UpDown1: TUpDown [8]
Left = 0
@ -339,38 +344,37 @@ inherited fEditorPedidoCliente: TfEditorPedidoCliente
ExplicitLeft = 0
ExplicitTop = 27
end
inherited ToolButton6: TToolButton [9]
inherited ToolButton6: TToolButton
Left = 17
Top = 27
ExplicitLeft = 17
ExplicitTop = 27
end
inherited ToolButton7: TToolButton [10]
inherited ToolButton7: TToolButton
Left = 83
Top = 27
ExplicitLeft = 83
ExplicitTop = 27
end
inherited ToolButton8: TToolButton [11]
inherited ToolButton8: TToolButton
Left = 150
Top = 27
ExplicitLeft = 150
ExplicitTop = 27
end
inherited ToolButton12: TToolButton [12]
inherited ToolButton12: TToolButton
Left = 233
Top = 27
ExplicitLeft = 233
ExplicitTop = 27
ExplicitHeight = 22
end
inherited ToolButton9: TToolButton [13]
inherited ToolButton9: TToolButton
Left = 241
Top = 27
ExplicitLeft = 241
ExplicitTop = 27
end
inherited ToolButton10: TToolButton [14]
inherited ToolButton10: TToolButton
Left = 386
Top = 27
ExplicitLeft = 386

View File

@ -64,13 +64,13 @@ type
procedure OnClienteChanged(Sender : TObject);
function PuedoImprimir: Boolean; override;
function PuedoEnviar: Boolean; virtual;
//Si queremos crear otra vista para el editor heredado solo tendriamos que
//sobreescribir este metodo
procedure AsignarVista; virtual;
property ViewPedido: IViewPedidoCliente read GetViewPedido write SetViewPedido;
public
procedure PonerTitulos(const ATitulo: string = ''); override;
property Controller : IPedidosClienteController read GetController write SetController;
@ -128,7 +128,6 @@ constructor TfEditorPedidoCliente.Create(AOwner: TComponent);
begin
inherited;
pgPaginas.ActivePageIndex := 0;
AsignarVista;
end;

View File

@ -318,7 +318,6 @@ begin
if (not FDireccion.FAXIsNull) and (FDireccion.FAX <> '') then
ACadena := ACadena + #13#10 + 'Fax: ' + FDireccion.FAX;
end;
edtDireccion.Text := ACadena;

View File

@ -23,15 +23,17 @@ inherited frViewDetallesPedidoCliente: TfrViewDetallesPedidoCliente
end
inherited FontSize: TEdit
Top = 22
Width = 74
Width = 106
ExplicitTop = 22
ExplicitWidth = 74
ExplicitWidth = 106
end
inherited ToolButton13: TToolButton [7]
Left = 0
Top = 22
Wrap = True
ExplicitLeft = 0
ExplicitTop = 22
ExplicitHeight = 27
end
inherited UpDown1: TUpDown [8]
Left = 0
@ -87,11 +89,9 @@ inherited frViewDetallesPedidoCliente: TfrViewDetallesPedidoCliente
inherited cxGrid: TcxGrid
Top = 126
Height = 178
ExplicitTop = 126
ExplicitHeight = 178
inherited cxGridView: TcxGridDBTableView
inherited cxGridViewTIPO: TcxGridDBColumn
Visible = False
VisibleForCustomization = False
end
inherited cxGridViewREFERENCIA_PROVEEDOR: TcxGridDBColumn
Properties.Buttons = <
item
@ -118,7 +118,9 @@ inherited frViewDetallesPedidoCliente: TfrViewDetallesPedidoCliente
end
inherited TBXDock1: TTBXDock
Top = 100
ExplicitTop = 100
inherited TBXToolbar1: TTBXToolbar
DockPos = 0
inherited TBXSubmenuItem1: TTBXSubmenuItem
Visible = False
end
@ -132,7 +134,6 @@ inherited frViewDetallesPedidoCliente: TfrViewDetallesPedidoCliente
inherited ActionListContenido: TActionList
inherited actExportar: TAction
Enabled = False
Visible = False
end
end
inherited GridGeneralPopupMenu: TPopupMenu

View File

@ -145,6 +145,10 @@ inherited frViewPedidosCliente: TfrViewPedidosCliente
Visible = False
VisibleForCustomization = False
end
object cxGridViewREFERENCIA_PRESUPUESTO: TcxGridDBColumn
Caption = 'Ref. presupuesto'
DataBinding.FieldName = 'REFERENCIA_PRESUPUESTO'
end
end
object cxGridDBTableView1: TcxGridDBTableView [1]
NavigatorButtons.ConfirmDelete = False

View File

@ -50,6 +50,7 @@ type
cxGridViewNUM_COPIAS: TcxGridDBColumn;
cxGridViewNUM_CORREOS: TcxGridDBColumn;
cxGridViewREFERENCIA_CLIENTE: TcxGridDBColumn;
cxGridViewREFERENCIA_PRESUPUESTO: TcxGridDBColumn;
procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel:
TcxGridLevel);
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;

View File

@ -49,16 +49,30 @@
<DelphiCompile Include="PresupuestosCliente_controller.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="adortl.dcp" />
<DCCReference Include="Articulos_controller.dcp" />
<DCCReference Include="Contactos_controller.dcp" />
<DCCReference Include="cxLibraryD11.dcp" />
<DCCReference Include="DataAbstract_Core_D11.dcp" />
<DCCReference Include="dbrtl.dcp" />
<DCCReference Include="dsnap.dcp" />
<DCCReference Include="dxCoreD11.dcp" />
<DCCReference Include="dxGDIPlusD11.dcp" />
<DCCReference Include="dxThemeD11.dcp" />
<DCCReference Include="GestorDocumentos_controller.dcp" />
<DCCReference Include="GUIBase.dcp" />
<DCCReference Include="PresupuestosCliente_data.dcp" />
<DCCReference Include="PresupuestosCliente_model.dcp" />
<DCCReference Include="RemObjects_Core_D11.dcp" />
<DCCReference Include="rtl.dcp" />
<DCCReference Include="uArticulosPresupuestoClienteController.pas" />
<DCCReference Include="uDetallesPresupuestoClienteController.pas" />
<DCCReference Include="uPresupuestosClienteController.pas" />
<DCCReference Include="uPresupuestosClienteReportController.pas" />
<DCCReference Include="View\Articulos_controller.dcp" />
<DCCReference Include="View\Contactos_controller.dcp" />
<DCCReference Include="View\GestorDocumentos_controller.dcp" />
<DCCReference Include="View\GUIBase.dcp" />
<DCCReference Include="View\PresupuestosCliente_data.dcp" />
<DCCReference Include="View\PresupuestosCliente_model.dcp" />
<DCCReference Include="uTiposPresupuestoController.pas" />
<DCCReference Include="vcl.dcp" />
<DCCReference Include="vcldb.dcp" />
<DCCReference Include="vclx.dcp" />
<DCCReference Include="View\uIDialogListaPresupuestosEnvioEMail.pas" />
<DCCReference Include="View\uIEditorDireccionEntregaPresupuestoCliente.pas" />
<DCCReference Include="View\uIEditorElegirArticulosPresupuestosCliente.pas" />

View File

@ -14,7 +14,7 @@ type
procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable);
function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
function VariarPrecios(var APorcentaje: Variant; var ATipoOperacion: Integer): Boolean;
procedure AplicarAumento(ADataTable: IDAStronglyTypedDataTable; Posicion: TIntegerArray; APorcentaje: Variant);
procedure AplicarAumento(ADataTable: IDAStronglyTypedDataTable; Posicion: TIntegerArray; APorcentaje: Variant);
end;
TDetallesPresupuestoClienteController = class(TControllerDetallesArticulos, IDetallesPresupuestoClienteController)
@ -188,12 +188,22 @@ begin
end;
procedure TDetallesPresupuestoClienteController.RellenarOtros(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo);
var
AField: TDAField;
begin
//En Tecsitel no se tiene en cuenta el descuento de cliente para el precio PVP
// if Assigned(AArticulos) then
// ADetalles.DataTable.FieldByName(CAMPO_DESCUENTO).AsFloat := AArticulos.DESCUENTO
// else
// ADetalles.DataTable.FieldByName(CAMPO_DESCUENTO).AsFloat := 0;
if Assigned(AArticulos) then
ADetalles.DataTable.FieldByName(CAMPO_DESCUENTO).AsFloat := AArticulos.DESCUENTO
else
ADetalles.DataTable.FieldByName(CAMPO_DESCUENTO).AsFloat := 0;
//Sobreescribimos el id del articulo por el campo ID_ARTICULO que nos hemos tenido que crear para
//almacenar el codigo de artículo ya que ID esta destinado a ID_ARTICULO||ID_PROVEEDOR, para identificar de forma
//unica los articulos desglosados por proveedor.
AField := AArticulos.DataTable.FindField(CAMPO_ID_ARTICULOS);
if Assigned(AField) then
ADetalles.DataTable.FieldByName(CAMPO_ID_ARTICULOS).AsVariant := AField.AsVariant;
end;
procedure TDetallesPresupuestoClienteController.ValidarCampos(DataTable: TDADataTable);
@ -226,13 +236,10 @@ end;
procedure TDetallesPresupuestoClienteController.RellenarImportes(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo);
begin
//Como en tecsitel no hay descuento por linea de detalle, solo recuperamos nuevamente el valor del articulo cuando el detalle no tenga niguno
//de esta forma evitamos que al cambiar de cliente se quiten los importes que se hubiesen establecido para los articulos.
if ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).IsNull then
if Assigned(AArticulos) then
ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := AArticulos.PRECIO_NETO
else
ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := Null;
if Assigned(AArticulos) then
ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := AArticulos.PRECIO_COSTE
else
ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := Null;
end;
end.

View File

@ -286,7 +286,7 @@ begin
with Result.DataTable.DynamicWhere do
begin
// (ID_FACTURA = NULL)
Condicion := NewBinaryExpression(NewField('', fld_PresupuestosClienteID_FACTURA), NewNull(), dboEqual);
Condicion := NewBinaryExpression(NewField('', fld_PresupuestosClienteID_FACTURA_PROFORMA), NewNull(), dboEqual);
if IsEmpty then
Expression := Condicion
@ -457,7 +457,7 @@ begin
FECHA_PRESUPUESTO := DateOf(Now);
INCIDENCIAS_ACTIVAS := 0;
INCIDENCIASIsNull := True;
ID_FACTURAIsNull := True;
ID_FACTURA_PROFORMAIsNull := True;
FECHA_DECISIONIsNull := True;
REFERENCIA := '';
SITUACION := SITUACION_PRESUPUESTO_PENDIENTE;

View File

@ -185,7 +185,7 @@ begin
AEditor.ListaID := AListaID;
AEditor.Title := 'Presupuesto - ' + AppFactuGES.EmpresaActiva.NOMBRE;
AEditor.LoadFromStream(AStream);
AEditor.TablaImpresion := nme_PresupuestosCliente;
// AEditor.TablaImpresion := nme_PresupuestosCliente;
AEditor.IdTablaImpresion := AListaID.ToString;
AEditor.Print;
finally

View File

@ -0,0 +1,222 @@
unit uTiposPresupuestoController;
interface
uses
Classes, SysUtils, uDADataTable, uControllerBase, uEditorDBItem,
uIDataModulePresupuestosCliente, uBizTiposPresupuesto;
type
ITiposPresupuestoController = interface(IControllerBase)
['{7BFA4153-A300-462F-A4C5-F3140360F088}']
function BuscarTodos: IBizTipoPresupuesto;
procedure VerTodos(ATiposPresupuesto: IBizTipoPresupuesto);
procedure Anadir(ATipoPresupuesto : IBizTipoPresupuesto);
function Eliminar(ATipoPresupuesto : IBizTipoPresupuesto): Boolean;
function Guardar(ATipoPresupuesto : IBizTipoPresupuesto): Boolean;
procedure DescartarCambios(ATipoPresupuesto : IBizTipoPresupuesto);
function Localizar(ATiposPresupuesto: IBizTipoPresupuesto; ADescripcion:String): Boolean;
function DarListaTiposPresupuesto: TStringList;
end;
TTiposPresupuestoController = class(TControllerBase, ITiposPresupuestoController)
protected
FDataModule : IDataModulePresupuestosCliente;
procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override;
function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean;
function ValidarTipoPresupuesto(ATipoPresupuesto: IBizTipoPresupuesto): Boolean;
procedure AsignarDataModule; virtual;
public
constructor Create; override;
destructor Destroy; override;
function Eliminar(ATipoPresupuesto : IBizTipoPresupuesto): Boolean;
function Guardar(ATipoPresupuesto : IBizTipoPresupuesto): Boolean;
procedure DescartarCambios(ATipoPresupuesto : IBizTipoPresupuesto); virtual;
procedure Anadir(ATipoPresupuesto : IBizTipoPresupuesto);
function BuscarTodos: IBizTipoPresupuesto;
procedure VerTodos(ATiposPresupuesto: IBizTipoPresupuesto);
function Localizar(ATiposPresupuesto: IBizTipoPresupuesto; ADescripcion:String): Boolean;
function DarListaTiposPresupuesto: TStringList;
end;
implementation
uses
cxControls, DB, uEditorRegistryUtils,
// uIEditorTiposPresupuesto,
uDataModulePresupuestosCliente,
uDAInterfaces, uDataTableUtils,
uDateUtils, uROTypes, DateUtils, Controls, Windows, schPresupuestosClienteClient_Intf;
{ TTiposPresupuestoController }
procedure TTiposPresupuestoController.Anadir(ATipoPresupuesto: IBizTipoPresupuesto);
begin
ATipoPresupuesto.Insert;
end;
procedure TTiposPresupuestoController.AsignarDataModule;
begin
FDataModule := TDataModulePresupuestosCliente.Create(Nil);
end;
function TTiposPresupuestoController.BuscarTodos: IBizTipoPresupuesto;
begin
Result := FDataModule.GetTiposPresupuesto;
end;
constructor TTiposPresupuestoController.Create;
begin
inherited;
AsignarDataModule;
end;
function TTiposPresupuestoController.CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
begin
Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
end;
function TTiposPresupuestoController.DarListaTiposPresupuesto: TStringList;
var
ATiposPresupuesto: IBizTipoPresupuesto;
begin
ATiposPresupuesto := BuscarTodos;
ATiposPresupuesto.DataTable.Active := True;
Result := TStringList.Create;
try
with Result do
begin
ATiposPresupuesto.DataTable.First;
while not ATiposPresupuesto.DataTable.EOF do
begin
Add(ATiposPresupuesto.DESCRIPCION);
ATiposPresupuesto.DataTable.Next;
end;
end;
finally
ATiposPresupuesto := NIL;
end;
end;
procedure TTiposPresupuestoController.DescartarCambios(ATipoPresupuesto: IBizTipoPresupuesto);
begin
if not Assigned(ATipoPresupuesto) then
raise Exception.Create ('GrupoCliente no asignado');
ShowHourglassCursor;
try
if (ATipoPresupuesto.State in dsEditModes) then
ATipoPresupuesto.Cancel;
ATipoPresupuesto.DataTable.CancelUpdates;
finally
HideHourglassCursor;
end;
end;
destructor TTiposPresupuestoController.Destroy;
begin
FDataModule := Nil;
inherited;
end;
function TTiposPresupuestoController.ValidarTipoPresupuesto(ATipoPresupuesto: IBizTipoPresupuesto): Boolean;
begin
if not Assigned(ATipoPresupuesto) then
raise Exception.Create ('TipoCliente no asignada');
if (ATipoPresupuesto.DataTable.State in dsEditModes) then
ATipoPresupuesto.DataTable.Post;
if Length(ATipoPresupuesto.DESCRIPCION) = 0 then
raise Exception.Create('Debe indicar al menos la descripción de este tipo.');
Result := True;
end;
procedure TTiposPresupuestoController.VerTodos(ATiposPresupuesto: IBizTipoPresupuesto);
//var
// AEditor : IEditorTiposPresupuesto;
begin
{
AEditor := NIL;
CreateEditor('EditorTiposPresupuesto', IEditorTiposPresupuesto, AEditor);
if Assigned(AEditor) then
try
AEditor.Controller := Self; //OJO ORDEN MUY IMPORTANTE
AEditor.TiposPresupuesto := ATiposPresupuesto;
AEditor.ShowModal;
finally
AEditor.Release;
AEditor := NIL;
end;
}
end;
function TTiposPresupuestoController.Eliminar(ATipoPresupuesto: IBizTipoPresupuesto): Boolean;
begin
if not Assigned(ATipoPresupuesto) then
raise Exception.Create ('TipoCliente no asignada');
ShowHourglassCursor;
try
if (ATipoPresupuesto.State in dsEditModes) then
ATipoPresupuesto.Cancel;
ATipoPresupuesto.Delete;
ATipoPresupuesto.DataTable.ApplyUpdates;
HideHourglassCursor;
Result := True;
finally
HideHourglassCursor;
end;
end;
procedure TTiposPresupuestoController.RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable);
begin
inherited;
//
end;
function TTiposPresupuestoController.Guardar(ATipoPresupuesto: IBizTipoPresupuesto): Boolean;
begin
Result := False;
if ValidarTipoPresupuesto(ATipoPresupuesto) then
begin
ShowHourglassCursor;
try
if (ATipoPresupuesto.DataTable.State in dsEditModes) then
ATipoPresupuesto.DataTable.Post;
ATipoPresupuesto.DataTable.ApplyUpdates;
Result := True;
finally
HideHourglassCursor;
end;
end;
end;
function TTiposPresupuestoController.Localizar(ATiposPresupuesto: IBizTipoPresupuesto; ADescripcion: String): Boolean;
begin
Result := True;
ShowHourglassCursor;
try
with ATiposPresupuesto.DataTable do
begin
DisableControls;
First;
if not Locate(fld_TiposPresupuestoDESCRIPCION, ADescripcion, []) then
Result := False;
EnableControls;
end;
finally
HideHourglassCursor;
end;
end;
end.

View File

@ -218,11 +218,11 @@ inherited DataModulePresupuestosCliente: TDataModulePresupuestosCliente
DictionaryEntry = 'PresupuestosCliente_ID_FORMA_PAGO'
end
item
Name = 'ID_FACTURA'
Name = 'ID_FACTURA_PROFORMA'
DataType = datInteger
end
item
Name = 'FACTURA'
Name = 'FACTURA_PROFORMA'
DataType = datString
Size = 255
end
@ -242,6 +242,19 @@ inherited DataModulePresupuestosCliente: TDataModulePresupuestosCliente
Name = 'IMPORTE_BONIFICACION'
DataType = datCurrency
ServerAutoRefresh = True
end
item
Name = 'FECHA_VIGENCIA'
DataType = datDateTime
end
item
Name = 'TIPO_PRESUPUESTO'
DataType = datString
Size = 255
end
item
Name = 'ID_TIPO_IVA'
DataType = datInteger
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
@ -406,4 +419,37 @@ inherited DataModulePresupuestosCliente: TDataModulePresupuestosCliente
Left = 248
Top = 144
end
object tbl_TiposPresupuesto: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datAutoInc
GeneratorName = 'GEN_PRESUPUESTOS_TIPOS_ID'
Required = True
DisplayLabel = 'TiposPresupuesto_ID'
DictionaryEntry = 'TiposPresupuesto_ID'
InPrimaryKey = True
end
item
Name = 'DESCRIPCION'
DataType = datString
Size = 255
DisplayLabel = 'TiposPresupuesto_DESCRIPCION'
DictionaryEntry = 'TiposPresupuesto_DESCRIPCION'
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_PresupuestosCliente
LogicalName = 'TiposPresupuesto'
IndexDefs = <>
Left = 464
Top = 208
end
object ds_TiposPresupuesto: TDADataSource
DataSet = tbl_TiposPresupuesto.Dataset
DataTable = tbl_TiposPresupuesto
Left = 464
Top = 152
end
end

View File

@ -11,7 +11,7 @@ uses
uIDataModulePresupuestosCliente, uBizPresupuestosCliente, uBizDetallesPresupuestoCliente,
uIDataModulePresupuestosClienteReport, uDataModuleBase, uDAInterfaces,
uRODynamicRequest, uDADataStreamer, uDARemoteDataAdapter, uDABin2DataStreamer,
uDAMemDataTable, uIntegerListUtils;
uDAMemDataTable, uIntegerListUtils, uBizTiposPresupuesto;
type
TDataModulePresupuestosCliente = class(TDataModuleBase, IDataModulePresupuestosCliente, IDataModulePresupuestosClienteReport)
@ -25,6 +25,8 @@ type
RORemoteService1: TRORemoteService;
tbl_ListaAnosPresupuestos: TDAMemDataTable;
ds_ListaAnosPresupuestos: TDADataSource;
tbl_TiposPresupuesto: TDAMemDataTable;
ds_TiposPresupuesto: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject);
private
@ -46,7 +48,8 @@ type
function GetRptWordCertificadoTrabajos(const AID: Integer): Binary;
function GetRptPDFPresupuesto(const AID: Integer; Const AVerSello: Integer): Binary;
function GetAnosItems : TStringList;
function GetAnosItems : TStringList;
function GetTiposPresupuesto : IBizTipoPresupuesto;
end;
implementation
@ -98,12 +101,27 @@ end;
function TDataModulePresupuestosCliente.GetRptWordCertificadoTrabajos(
const AID: Integer): Binary;
begin
Result := (RORemoteService as IsrvPresupuestosCliente).GenerarCertificadoTrabajosEnWord(AID)
// Result := (RORemoteService as IsrvPresupuestosCliente).GenerarCertificadoTrabajosEnWord(AID)
end;
function TDataModulePresupuestosCliente.GetRptWordPresupuesto(const AID: Integer; Const AVerSello: Integer): Binary;
begin
Result := (RORemoteService as IsrvPresupuestosCliente).GenerarInformeEnWord(AID, AVerSello)
// Result := (RORemoteService as IsrvPresupuestosCliente).GenerarInformeEnWord(AID, AVerSello)
end;
function TDataModulePresupuestosCliente.GetTiposPresupuesto: IBizTipoPresupuesto;
var
ATipoPresupuesto : TDAMemDataTable;
begin
ShowHourglassCursor;
try
ATipoPresupuesto := CloneDataTable(tbl_TiposPresupuesto);
ATipoPresupuesto.BusinessRulesID := BIZ_CLIENT_TIPOSPRESUPUESTO;
Result := (ATipoPresupuesto as IBizTipoPresupuesto);
finally
HideHourglassCursor;
end;
end;
function TDataModulePresupuestosCliente.NewItem: IBizPresupuestoCliente;

View File

@ -4,7 +4,7 @@ interface
uses
Classes, uROTypes, uBizPresupuestosCliente, uBizDetallesPresupuestoCliente,
uIntegerListUtils;
uIntegerListUtils, uBizTiposPresupuesto;
type
IDataModulePresupuestosCliente = interface
@ -14,6 +14,7 @@ type
function GetItems(const AListaID: TIntegerList) : IBizPresupuestoCliente; overload;
function GetItem(const ID : Integer) : IBizPresupuestoCliente;
function NewItem : IBizPresupuestoCliente;
function GetTiposPresupuesto : IBizTipoPresupuesto;
end;
implementation

View File

@ -25,14 +25,9 @@ package PresupuestosCliente_model;
{$IMPLICITBUILD OFF}
requires
rtl,
dbrtl,
vcl,
vcldb,
dsnap,
adortl,
Base,
Contactos_model;
Contactos_model,
TiposIVA_controller;
contains
uIDataModulePresupuestosCliente in 'Data\uIDataModulePresupuestosCliente.pas',
@ -40,6 +35,7 @@ contains
uBizPresupuestosCliente in 'uBizPresupuestosCliente.pas',
uIDataModulePresupuestosClienteReport in 'Data\uIDataModulePresupuestosClienteReport.pas',
schPresupuestosClienteClient_Intf in 'schPresupuestosClienteClient_Intf.pas',
schPresupuestosClienteServer_Intf in 'schPresupuestosClienteServer_Intf.pas';
schPresupuestosClienteServer_Intf in 'schPresupuestosClienteServer_Intf.pas',
uBizTiposPresupuesto in 'uBizTiposPresupuesto.pas';
end.

View File

@ -43,6 +43,12 @@
<Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></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\EurekaLog 5\Delphi10\ExceptionExpert10.bpl">EurekaLog 5.1.9</Excluded_Packages>
</Excluded_Packages><Source><Source Name="MainSource">PresupuestosCliente_model.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
@ -52,20 +58,16 @@
<DelphiCompile Include="PresupuestosCliente_model.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\adortl.dcp" />
<DCCReference Include="..\Base.dcp" />
<DCCReference Include="..\Contactos_model.dcp" />
<DCCReference Include="..\dbrtl.dcp" />
<DCCReference Include="..\dsnap.dcp" />
<DCCReference Include="..\rtl.dcp" />
<DCCReference Include="..\vcl.dcp" />
<DCCReference Include="..\vcldb.dcp" />
<DCCReference Include="..\..\Lib\Base.dcp" />
<DCCReference Include="..\..\Lib\Contactos_model.dcp" />
<DCCReference Include="..\..\Lib\TiposIVA_controller.dcp" />
<DCCReference Include="Data\uIDataModulePresupuestosCliente.pas" />
<DCCReference Include="Data\uIDataModulePresupuestosClienteReport.pas" />
<DCCReference Include="schPresupuestosClienteClient_Intf.pas" />
<DCCReference Include="schPresupuestosClienteServer_Intf.pas" />
<DCCReference Include="uBizDetallesPresupuestoCliente.pas" />
<DCCReference Include="uBizPresupuestosCliente.pas" />
<DCCReference Include="uBizTiposPresupuesto.pas" />
</ItemGroup>
</Project>
<!-- EurekaLog First Line

View File

@ -3,21 +3,31 @@ unit schPresupuestosClienteClient_Intf;
interface
uses
Classes, DB, schBase_Intf, SysUtils, uROClasses, uDADataTable, FmtBCD, uROXMLIntf;
Classes, DB, schBase_Intf, SysUtils, uROClasses, uDAInterfaces, uDADataTable, FmtBCD, uROXMLIntf;
const
{ Data table rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_ListaAnosPresupuestos = '{B4D25BFF-BFAC-4141-925F-82DC23A4D3A2}';
RID_PresupuestosCliente = '{BAEC8917-A7DC-4606-AE7E-B8B8748290B1}';
RID_PresupuestosCliente_Detalles = '{C1C9402A-CDC5-4B77-BE8A-5907A6423EEC}';
RID_TiposPresupuesto = '{067BF5B3-957D-4209-918C-15F4607D3538}';
RID_ListaAnosPresupuestos = '{A7BDD168-030A-44BC-9E79-80E5C636B848}';
RID_PresupuestosCliente = '{EEF2A702-B95F-48FC-899E-DD7193E0C803}';
RID_PresupuestosCliente_Detalles = '{2613B706-19AB-4B38-A740-CA9442C01DE6}';
{ Data table names }
nme_TiposPresupuesto = 'TiposPresupuesto';
nme_ListaAnosPresupuestos = 'ListaAnosPresupuestos';
nme_PresupuestosCliente = 'PresupuestosCliente';
nme_PresupuestosCliente_Detalles = 'PresupuestosCliente_Detalles';
{ TiposPresupuesto fields }
fld_TiposPresupuestoID = 'ID';
fld_TiposPresupuestoDESCRIPCION = 'DESCRIPCION';
{ TiposPresupuesto field indexes }
idx_TiposPresupuestoID = 0;
idx_TiposPresupuestoDESCRIPCION = 1;
{ ListaAnosPresupuestos fields }
fld_ListaAnosPresupuestosANO = 'ANO';
@ -55,11 +65,14 @@ const
fld_PresupuestosClienteIMPORTE_IVA = 'IMPORTE_IVA';
fld_PresupuestosClienteIMPORTE_TOTAL = 'IMPORTE_TOTAL';
fld_PresupuestosClienteID_FORMA_PAGO = 'ID_FORMA_PAGO';
fld_PresupuestosClienteID_FACTURA = 'ID_FACTURA';
fld_PresupuestosClienteFACTURA = 'FACTURA';
fld_PresupuestosClienteID_FACTURA_PROFORMA = 'ID_FACTURA_PROFORMA';
fld_PresupuestosClienteFACTURA_PROFORMA = 'FACTURA_PROFORMA';
fld_PresupuestosClientePERSONA_CONTACTO = 'PERSONA_CONTACTO';
fld_PresupuestosClienteDESCRIPCION_BONIFICACION = 'DESCRIPCION_BONIFICACION';
fld_PresupuestosClienteIMPORTE_BONIFICACION = 'IMPORTE_BONIFICACION';
fld_PresupuestosClienteFECHA_VIGENCIA = 'FECHA_VIGENCIA';
fld_PresupuestosClienteTIPO_PRESUPUESTO = 'TIPO_PRESUPUESTO';
fld_PresupuestosClienteID_TIPO_IVA = 'ID_TIPO_IVA';
{ PresupuestosCliente field indexes }
idx_PresupuestosClienteID = 0;
@ -92,11 +105,14 @@ const
idx_PresupuestosClienteIMPORTE_IVA = 27;
idx_PresupuestosClienteIMPORTE_TOTAL = 28;
idx_PresupuestosClienteID_FORMA_PAGO = 29;
idx_PresupuestosClienteID_FACTURA = 30;
idx_PresupuestosClienteFACTURA = 31;
idx_PresupuestosClienteID_FACTURA_PROFORMA = 30;
idx_PresupuestosClienteFACTURA_PROFORMA = 31;
idx_PresupuestosClientePERSONA_CONTACTO = 32;
idx_PresupuestosClienteDESCRIPCION_BONIFICACION = 33;
idx_PresupuestosClienteIMPORTE_BONIFICACION = 34;
idx_PresupuestosClienteFECHA_VIGENCIA = 35;
idx_PresupuestosClienteTIPO_PRESUPUESTO = 36;
idx_PresupuestosClienteID_TIPO_IVA = 37;
{ PresupuestosCliente_Detalles fields }
fld_PresupuestosCliente_DetallesID = 'ID';
@ -133,9 +149,56 @@ const
idx_PresupuestosCliente_DetallesREFERENCIA_PROVEEDOR = 14;
type
{ ITiposPresupuesto }
ITiposPresupuesto = interface(IDAStronglyTypedDataTable)
['{6144C530-8930-4BC1-95F0-E65300C1D40E}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
function GetIDIsNull: Boolean;
procedure SetIDIsNull(const aValue: Boolean);
function GetDESCRIPCIONValue: String;
procedure SetDESCRIPCIONValue(const aValue: String);
function GetDESCRIPCIONIsNull: Boolean;
procedure SetDESCRIPCIONIsNull(const aValue: Boolean);
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
end;
{ TTiposPresupuestoDataTableRules }
TTiposPresupuestoDataTableRules = class(TIntfObjectDADataTableRules, ITiposPresupuesto)
private
protected
{ Property getters and setters }
function GetIDValue: Integer; virtual;
procedure SetIDValue(const aValue: Integer); virtual;
function GetIDIsNull: Boolean; virtual;
procedure SetIDIsNull(const aValue: Boolean); virtual;
function GetDESCRIPCIONValue: String; virtual;
procedure SetDESCRIPCIONValue(const aValue: String); virtual;
function GetDESCRIPCIONIsNull: Boolean; virtual;
procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
property IDIsNull: Boolean read GetIDIsNull write SetIDIsNull;
property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
property DESCRIPCIONIsNull: Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
destructor Destroy; override;
end;
{ IListaAnosPresupuestos }
IListaAnosPresupuestos = interface(IDAStronglyTypedDataTable)
['{AA0035CA-BE66-4730-A30B-E09CE7BB0325}']
['{35F561AE-5DD8-4708-A4A2-C4C5620FB210}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
@ -170,7 +233,7 @@ type
{ IPresupuestosCliente }
IPresupuestosCliente = interface(IDAStronglyTypedDataTable)
['{294F97CB-1951-4F11-A7D9-2433A2E0237F}']
['{7BD53D1E-98BA-4F9C-9D51-8076E362AB5B}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -288,14 +351,14 @@ type
procedure SetID_FORMA_PAGOValue(const aValue: Integer);
function GetID_FORMA_PAGOIsNull: Boolean;
procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean);
function GetID_FACTURAValue: Integer;
procedure SetID_FACTURAValue(const aValue: Integer);
function GetID_FACTURAIsNull: Boolean;
procedure SetID_FACTURAIsNull(const aValue: Boolean);
function GetFACTURAValue: String;
procedure SetFACTURAValue(const aValue: String);
function GetFACTURAIsNull: Boolean;
procedure SetFACTURAIsNull(const aValue: Boolean);
function GetID_FACTURA_PROFORMAValue: Integer;
procedure SetID_FACTURA_PROFORMAValue(const aValue: Integer);
function GetID_FACTURA_PROFORMAIsNull: Boolean;
procedure SetID_FACTURA_PROFORMAIsNull(const aValue: Boolean);
function GetFACTURA_PROFORMAValue: String;
procedure SetFACTURA_PROFORMAValue(const aValue: String);
function GetFACTURA_PROFORMAIsNull: Boolean;
procedure SetFACTURA_PROFORMAIsNull(const aValue: Boolean);
function GetPERSONA_CONTACTOValue: String;
procedure SetPERSONA_CONTACTOValue(const aValue: String);
function GetPERSONA_CONTACTOIsNull: Boolean;
@ -308,6 +371,18 @@ type
procedure SetIMPORTE_BONIFICACIONValue(const aValue: Currency);
function GetIMPORTE_BONIFICACIONIsNull: Boolean;
procedure SetIMPORTE_BONIFICACIONIsNull(const aValue: Boolean);
function GetFECHA_VIGENCIAValue: DateTime;
procedure SetFECHA_VIGENCIAValue(const aValue: DateTime);
function GetFECHA_VIGENCIAIsNull: Boolean;
procedure SetFECHA_VIGENCIAIsNull(const aValue: Boolean);
function GetTIPO_PRESUPUESTOValue: String;
procedure SetTIPO_PRESUPUESTOValue(const aValue: String);
function GetTIPO_PRESUPUESTOIsNull: Boolean;
procedure SetTIPO_PRESUPUESTOIsNull(const aValue: Boolean);
function GetID_TIPO_IVAValue: Integer;
procedure SetID_TIPO_IVAValue(const aValue: Integer);
function GetID_TIPO_IVAIsNull: Boolean;
procedure SetID_TIPO_IVAIsNull(const aValue: Boolean);
{ Properties }
@ -371,16 +446,22 @@ type
property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue;
property ID_FACTURAIsNull: Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
property FACTURA: String read GetFACTURAValue write SetFACTURAValue;
property FACTURAIsNull: Boolean read GetFACTURAIsNull write SetFACTURAIsNull;
property ID_FACTURA_PROFORMA: Integer read GetID_FACTURA_PROFORMAValue write SetID_FACTURA_PROFORMAValue;
property ID_FACTURA_PROFORMAIsNull: Boolean read GetID_FACTURA_PROFORMAIsNull write SetID_FACTURA_PROFORMAIsNull;
property FACTURA_PROFORMA: String read GetFACTURA_PROFORMAValue write SetFACTURA_PROFORMAValue;
property FACTURA_PROFORMAIsNull: Boolean read GetFACTURA_PROFORMAIsNull write SetFACTURA_PROFORMAIsNull;
property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
property DESCRIPCION_BONIFICACION: String read GetDESCRIPCION_BONIFICACIONValue write SetDESCRIPCION_BONIFICACIONValue;
property DESCRIPCION_BONIFICACIONIsNull: Boolean read GetDESCRIPCION_BONIFICACIONIsNull write SetDESCRIPCION_BONIFICACIONIsNull;
property IMPORTE_BONIFICACION: Currency read GetIMPORTE_BONIFICACIONValue write SetIMPORTE_BONIFICACIONValue;
property IMPORTE_BONIFICACIONIsNull: Boolean read GetIMPORTE_BONIFICACIONIsNull write SetIMPORTE_BONIFICACIONIsNull;
property FECHA_VIGENCIA: DateTime read GetFECHA_VIGENCIAValue write SetFECHA_VIGENCIAValue;
property FECHA_VIGENCIAIsNull: Boolean read GetFECHA_VIGENCIAIsNull write SetFECHA_VIGENCIAIsNull;
property TIPO_PRESUPUESTO: String read GetTIPO_PRESUPUESTOValue write SetTIPO_PRESUPUESTOValue;
property TIPO_PRESUPUESTOIsNull: Boolean read GetTIPO_PRESUPUESTOIsNull write SetTIPO_PRESUPUESTOIsNull;
property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
property ID_TIPO_IVAIsNull: Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull;
end;
{ TPresupuestosClienteDataTableRules }
@ -512,14 +593,14 @@ type
procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual;
function GetID_FORMA_PAGOIsNull: Boolean; virtual;
procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean); virtual;
function GetID_FACTURAValue: Integer; virtual;
procedure SetID_FACTURAValue(const aValue: Integer); virtual;
function GetID_FACTURAIsNull: Boolean; virtual;
procedure SetID_FACTURAIsNull(const aValue: Boolean); virtual;
function GetFACTURAValue: String; virtual;
procedure SetFACTURAValue(const aValue: String); virtual;
function GetFACTURAIsNull: Boolean; virtual;
procedure SetFACTURAIsNull(const aValue: Boolean); virtual;
function GetID_FACTURA_PROFORMAValue: Integer; virtual;
procedure SetID_FACTURA_PROFORMAValue(const aValue: Integer); virtual;
function GetID_FACTURA_PROFORMAIsNull: Boolean; virtual;
procedure SetID_FACTURA_PROFORMAIsNull(const aValue: Boolean); virtual;
function GetFACTURA_PROFORMAValue: String; virtual;
procedure SetFACTURA_PROFORMAValue(const aValue: String); virtual;
function GetFACTURA_PROFORMAIsNull: Boolean; virtual;
procedure SetFACTURA_PROFORMAIsNull(const aValue: Boolean); virtual;
function GetPERSONA_CONTACTOValue: String; virtual;
procedure SetPERSONA_CONTACTOValue(const aValue: String); virtual;
function GetPERSONA_CONTACTOIsNull: Boolean; virtual;
@ -532,6 +613,18 @@ type
procedure SetIMPORTE_BONIFICACIONValue(const aValue: Currency); virtual;
function GetIMPORTE_BONIFICACIONIsNull: Boolean; virtual;
procedure SetIMPORTE_BONIFICACIONIsNull(const aValue: Boolean); virtual;
function GetFECHA_VIGENCIAValue: DateTime; virtual;
procedure SetFECHA_VIGENCIAValue(const aValue: DateTime); virtual;
function GetFECHA_VIGENCIAIsNull: Boolean; virtual;
procedure SetFECHA_VIGENCIAIsNull(const aValue: Boolean); virtual;
function GetTIPO_PRESUPUESTOValue: String; virtual;
procedure SetTIPO_PRESUPUESTOValue(const aValue: String); virtual;
function GetTIPO_PRESUPUESTOIsNull: Boolean; virtual;
procedure SetTIPO_PRESUPUESTOIsNull(const aValue: Boolean); virtual;
function GetID_TIPO_IVAValue: Integer; virtual;
procedure SetID_TIPO_IVAValue(const aValue: Integer); virtual;
function GetID_TIPO_IVAIsNull: Boolean; virtual;
procedure SetID_TIPO_IVAIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
@ -594,16 +687,22 @@ type
property IMPORTE_TOTALIsNull: Boolean read GetIMPORTE_TOTALIsNull write SetIMPORTE_TOTALIsNull;
property ID_FORMA_PAGO: Integer read GetID_FORMA_PAGOValue write SetID_FORMA_PAGOValue;
property ID_FORMA_PAGOIsNull: Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue;
property ID_FACTURAIsNull: Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
property FACTURA: String read GetFACTURAValue write SetFACTURAValue;
property FACTURAIsNull: Boolean read GetFACTURAIsNull write SetFACTURAIsNull;
property ID_FACTURA_PROFORMA: Integer read GetID_FACTURA_PROFORMAValue write SetID_FACTURA_PROFORMAValue;
property ID_FACTURA_PROFORMAIsNull: Boolean read GetID_FACTURA_PROFORMAIsNull write SetID_FACTURA_PROFORMAIsNull;
property FACTURA_PROFORMA: String read GetFACTURA_PROFORMAValue write SetFACTURA_PROFORMAValue;
property FACTURA_PROFORMAIsNull: Boolean read GetFACTURA_PROFORMAIsNull write SetFACTURA_PROFORMAIsNull;
property PERSONA_CONTACTO: String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
property PERSONA_CONTACTOIsNull: Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
property DESCRIPCION_BONIFICACION: String read GetDESCRIPCION_BONIFICACIONValue write SetDESCRIPCION_BONIFICACIONValue;
property DESCRIPCION_BONIFICACIONIsNull: Boolean read GetDESCRIPCION_BONIFICACIONIsNull write SetDESCRIPCION_BONIFICACIONIsNull;
property IMPORTE_BONIFICACION: Currency read GetIMPORTE_BONIFICACIONValue write SetIMPORTE_BONIFICACIONValue;
property IMPORTE_BONIFICACIONIsNull: Boolean read GetIMPORTE_BONIFICACIONIsNull write SetIMPORTE_BONIFICACIONIsNull;
property FECHA_VIGENCIA: DateTime read GetFECHA_VIGENCIAValue write SetFECHA_VIGENCIAValue;
property FECHA_VIGENCIAIsNull: Boolean read GetFECHA_VIGENCIAIsNull write SetFECHA_VIGENCIAIsNull;
property TIPO_PRESUPUESTO: String read GetTIPO_PRESUPUESTOValue write SetTIPO_PRESUPUESTOValue;
property TIPO_PRESUPUESTOIsNull: Boolean read GetTIPO_PRESUPUESTOIsNull write SetTIPO_PRESUPUESTOIsNull;
property ID_TIPO_IVA: Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
property ID_TIPO_IVAIsNull: Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
@ -613,7 +712,7 @@ type
{ IPresupuestosCliente_Detalles }
IPresupuestosCliente_Detalles = interface(IDAStronglyTypedDataTable)
['{6E73582D-E1A0-40EA-A96A-1993F55F76A8}']
['{680BF325-95A2-43D4-888A-98178CD4C01B}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -818,6 +917,60 @@ implementation
uses Variants, uROBinaryHelpers;
{ TTiposPresupuestoDataTableRules }
constructor TTiposPresupuestoDataTableRules.Create(aDataTable: TDADataTable);
begin
inherited;
end;
destructor TTiposPresupuestoDataTableRules.Destroy;
begin
inherited;
end;
function TTiposPresupuestoDataTableRules.GetIDValue: Integer;
begin
result := DataTable.Fields[idx_TiposPresupuestoID].AsInteger;
end;
procedure TTiposPresupuestoDataTableRules.SetIDValue(const aValue: Integer);
begin
DataTable.Fields[idx_TiposPresupuestoID].AsInteger := aValue;
end;
function TTiposPresupuestoDataTableRules.GetIDIsNull: boolean;
begin
result := DataTable.Fields[idx_TiposPresupuestoID].IsNull;
end;
procedure TTiposPresupuestoDataTableRules.SetIDIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_TiposPresupuestoID].AsVariant := Null;
end;
function TTiposPresupuestoDataTableRules.GetDESCRIPCIONValue: String;
begin
result := DataTable.Fields[idx_TiposPresupuestoDESCRIPCION].AsString;
end;
procedure TTiposPresupuestoDataTableRules.SetDESCRIPCIONValue(const aValue: String);
begin
DataTable.Fields[idx_TiposPresupuestoDESCRIPCION].AsString := aValue;
end;
function TTiposPresupuestoDataTableRules.GetDESCRIPCIONIsNull: boolean;
begin
result := DataTable.Fields[idx_TiposPresupuestoDESCRIPCION].IsNull;
end;
procedure TTiposPresupuestoDataTableRules.SetDESCRIPCIONIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_TiposPresupuestoDESCRIPCION].AsVariant := Null;
end;
{ TListaAnosPresupuestosDataTableRules }
constructor TListaAnosPresupuestosDataTableRules.Create(aDataTable: TDADataTable);
begin
@ -1514,46 +1667,46 @@ begin
DataTable.Fields[idx_PresupuestosClienteID_FORMA_PAGO].AsVariant := Null;
end;
function TPresupuestosClienteDataTableRules.GetID_FACTURAValue: Integer;
function TPresupuestosClienteDataTableRules.GetID_FACTURA_PROFORMAValue: Integer;
begin
result := DataTable.Fields[idx_PresupuestosClienteID_FACTURA].AsInteger;
result := DataTable.Fields[idx_PresupuestosClienteID_FACTURA_PROFORMA].AsInteger;
end;
procedure TPresupuestosClienteDataTableRules.SetID_FACTURAValue(const aValue: Integer);
procedure TPresupuestosClienteDataTableRules.SetID_FACTURA_PROFORMAValue(const aValue: Integer);
begin
DataTable.Fields[idx_PresupuestosClienteID_FACTURA].AsInteger := aValue;
DataTable.Fields[idx_PresupuestosClienteID_FACTURA_PROFORMA].AsInteger := aValue;
end;
function TPresupuestosClienteDataTableRules.GetID_FACTURAIsNull: boolean;
function TPresupuestosClienteDataTableRules.GetID_FACTURA_PROFORMAIsNull: boolean;
begin
result := DataTable.Fields[idx_PresupuestosClienteID_FACTURA].IsNull;
result := DataTable.Fields[idx_PresupuestosClienteID_FACTURA_PROFORMA].IsNull;
end;
procedure TPresupuestosClienteDataTableRules.SetID_FACTURAIsNull(const aValue: Boolean);
procedure TPresupuestosClienteDataTableRules.SetID_FACTURA_PROFORMAIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_PresupuestosClienteID_FACTURA].AsVariant := Null;
DataTable.Fields[idx_PresupuestosClienteID_FACTURA_PROFORMA].AsVariant := Null;
end;
function TPresupuestosClienteDataTableRules.GetFACTURAValue: String;
function TPresupuestosClienteDataTableRules.GetFACTURA_PROFORMAValue: String;
begin
result := DataTable.Fields[idx_PresupuestosClienteFACTURA].AsString;
result := DataTable.Fields[idx_PresupuestosClienteFACTURA_PROFORMA].AsString;
end;
procedure TPresupuestosClienteDataTableRules.SetFACTURAValue(const aValue: String);
procedure TPresupuestosClienteDataTableRules.SetFACTURA_PROFORMAValue(const aValue: String);
begin
DataTable.Fields[idx_PresupuestosClienteFACTURA].AsString := aValue;
DataTable.Fields[idx_PresupuestosClienteFACTURA_PROFORMA].AsString := aValue;
end;
function TPresupuestosClienteDataTableRules.GetFACTURAIsNull: boolean;
function TPresupuestosClienteDataTableRules.GetFACTURA_PROFORMAIsNull: boolean;
begin
result := DataTable.Fields[idx_PresupuestosClienteFACTURA].IsNull;
result := DataTable.Fields[idx_PresupuestosClienteFACTURA_PROFORMA].IsNull;
end;
procedure TPresupuestosClienteDataTableRules.SetFACTURAIsNull(const aValue: Boolean);
procedure TPresupuestosClienteDataTableRules.SetFACTURA_PROFORMAIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_PresupuestosClienteFACTURA].AsVariant := Null;
DataTable.Fields[idx_PresupuestosClienteFACTURA_PROFORMA].AsVariant := Null;
end;
function TPresupuestosClienteDataTableRules.GetPERSONA_CONTACTOValue: String;
@ -1619,6 +1772,69 @@ begin
DataTable.Fields[idx_PresupuestosClienteIMPORTE_BONIFICACION].AsVariant := Null;
end;
function TPresupuestosClienteDataTableRules.GetFECHA_VIGENCIAValue: DateTime;
begin
result := DataTable.Fields[idx_PresupuestosClienteFECHA_VIGENCIA].AsDateTime;
end;
procedure TPresupuestosClienteDataTableRules.SetFECHA_VIGENCIAValue(const aValue: DateTime);
begin
DataTable.Fields[idx_PresupuestosClienteFECHA_VIGENCIA].AsDateTime := aValue;
end;
function TPresupuestosClienteDataTableRules.GetFECHA_VIGENCIAIsNull: boolean;
begin
result := DataTable.Fields[idx_PresupuestosClienteFECHA_VIGENCIA].IsNull;
end;
procedure TPresupuestosClienteDataTableRules.SetFECHA_VIGENCIAIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_PresupuestosClienteFECHA_VIGENCIA].AsVariant := Null;
end;
function TPresupuestosClienteDataTableRules.GetTIPO_PRESUPUESTOValue: String;
begin
result := DataTable.Fields[idx_PresupuestosClienteTIPO_PRESUPUESTO].AsString;
end;
procedure TPresupuestosClienteDataTableRules.SetTIPO_PRESUPUESTOValue(const aValue: String);
begin
DataTable.Fields[idx_PresupuestosClienteTIPO_PRESUPUESTO].AsString := aValue;
end;
function TPresupuestosClienteDataTableRules.GetTIPO_PRESUPUESTOIsNull: boolean;
begin
result := DataTable.Fields[idx_PresupuestosClienteTIPO_PRESUPUESTO].IsNull;
end;
procedure TPresupuestosClienteDataTableRules.SetTIPO_PRESUPUESTOIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_PresupuestosClienteTIPO_PRESUPUESTO].AsVariant := Null;
end;
function TPresupuestosClienteDataTableRules.GetID_TIPO_IVAValue: Integer;
begin
result := DataTable.Fields[idx_PresupuestosClienteID_TIPO_IVA].AsInteger;
end;
procedure TPresupuestosClienteDataTableRules.SetID_TIPO_IVAValue(const aValue: Integer);
begin
DataTable.Fields[idx_PresupuestosClienteID_TIPO_IVA].AsInteger := aValue;
end;
function TPresupuestosClienteDataTableRules.GetID_TIPO_IVAIsNull: boolean;
begin
result := DataTable.Fields[idx_PresupuestosClienteID_TIPO_IVA].IsNull;
end;
procedure TPresupuestosClienteDataTableRules.SetID_TIPO_IVAIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_PresupuestosClienteID_TIPO_IVA].AsVariant := Null;
end;
{ TPresupuestosCliente_DetallesDataTableRules }
constructor TPresupuestosCliente_DetallesDataTableRules.Create(aDataTable: TDADataTable);
@ -1948,6 +2164,7 @@ end;
initialization
RegisterDataTableRules(RID_TiposPresupuesto, TTiposPresupuestoDataTableRules);
RegisterDataTableRules(RID_ListaAnosPresupuestos, TListaAnosPresupuestosDataTableRules);
RegisterDataTableRules(RID_PresupuestosCliente, TPresupuestosClienteDataTableRules);
RegisterDataTableRules(RID_PresupuestosCliente_Detalles, TPresupuestosCliente_DetallesDataTableRules);

View File

@ -9,14 +9,61 @@ const
{ Delta rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_ListaAnosPresupuestosDelta = '{B819407B-3A58-42FE-99D1-D735F8094AD1}';
RID_PresupuestosClienteDelta = '{A00D261A-A215-445D-9DCC-C024662EA398}';
RID_PresupuestosCliente_DetallesDelta = '{8943CBEB-C17F-4C81-B0D7-E1FBF3B8445C}';
RID_TiposPresupuestoDelta = '{C2B2B040-7C13-4BBE-A40D-DD5C03C2F278}';
RID_ListaAnosPresupuestosDelta = '{83A3D8D3-0A68-4550-810C-3B1A282700EF}';
RID_PresupuestosClienteDelta = '{B92988AD-B020-4720-8147-0D4789AD671E}';
RID_PresupuestosCliente_DetallesDelta = '{9E8D6B49-757B-4427-9D2E-B33B8E0E1EFF}';
type
{ ITiposPresupuestoDelta }
ITiposPresupuestoDelta = interface(ITiposPresupuesto)
['{C2B2B040-7C13-4BBE-A40D-DD5C03C2F278}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldDESCRIPCIONValue : String;
{ Properties }
property OldID : Integer read GetOldIDValue;
property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
end;
{ TTiposPresupuestoBusinessProcessorRules }
TTiposPresupuestoBusinessProcessorRules = class(TDABusinessProcessorRules, ITiposPresupuesto, ITiposPresupuestoDelta)
private
protected
{ Property getters and setters }
function GetIDValue: Integer; virtual;
function GetIDIsNull: Boolean; virtual;
function GetOldIDValue: Integer; virtual;
function GetOldIDIsNull: Boolean; virtual;
procedure SetIDValue(const aValue: Integer); virtual;
procedure SetIDIsNull(const aValue: Boolean); virtual;
function GetDESCRIPCIONValue: String; virtual;
function GetDESCRIPCIONIsNull: Boolean; virtual;
function GetOldDESCRIPCIONValue: String; virtual;
function GetOldDESCRIPCIONIsNull: Boolean; virtual;
procedure SetDESCRIPCIONValue(const aValue: String); virtual;
procedure SetDESCRIPCIONIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
property IDIsNull : Boolean read GetIDIsNull write SetIDIsNull;
property OldID : Integer read GetOldIDValue;
property OldIDIsNull : Boolean read GetOldIDIsNull;
property DESCRIPCION : String read GetDESCRIPCIONValue write SetDESCRIPCIONValue;
property DESCRIPCIONIsNull : Boolean read GetDESCRIPCIONIsNull write SetDESCRIPCIONIsNull;
property OldDESCRIPCION : String read GetOldDESCRIPCIONValue;
property OldDESCRIPCIONIsNull : Boolean read GetOldDESCRIPCIONIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
destructor Destroy; override;
end;
{ IListaAnosPresupuestosDelta }
IListaAnosPresupuestosDelta = interface(IListaAnosPresupuestos)
['{B819407B-3A58-42FE-99D1-D735F8094AD1}']
['{83A3D8D3-0A68-4550-810C-3B1A282700EF}']
{ Property getters and setters }
function GetOldANOValue : String;
@ -50,7 +97,7 @@ type
{ IPresupuestosClienteDelta }
IPresupuestosClienteDelta = interface(IPresupuestosCliente)
['{A00D261A-A215-445D-9DCC-C024662EA398}']
['{B92988AD-B020-4720-8147-0D4789AD671E}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@ -82,11 +129,14 @@ type
function GetOldIMPORTE_IVAValue : Currency;
function GetOldIMPORTE_TOTALValue : Currency;
function GetOldID_FORMA_PAGOValue : Integer;
function GetOldID_FACTURAValue : Integer;
function GetOldFACTURAValue : String;
function GetOldID_FACTURA_PROFORMAValue : Integer;
function GetOldFACTURA_PROFORMAValue : String;
function GetOldPERSONA_CONTACTOValue : String;
function GetOldDESCRIPCION_BONIFICACIONValue : String;
function GetOldIMPORTE_BONIFICACIONValue : Currency;
function GetOldFECHA_VIGENCIAValue : DateTime;
function GetOldTIPO_PRESUPUESTOValue : String;
function GetOldID_TIPO_IVAValue : Integer;
{ Properties }
property OldID : Integer read GetOldIDValue;
@ -119,11 +169,14 @@ type
property OldIMPORTE_IVA : Currency read GetOldIMPORTE_IVAValue;
property OldIMPORTE_TOTAL : Currency read GetOldIMPORTE_TOTALValue;
property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue;
property OldID_FACTURA : Integer read GetOldID_FACTURAValue;
property OldFACTURA : String read GetOldFACTURAValue;
property OldID_FACTURA_PROFORMA : Integer read GetOldID_FACTURA_PROFORMAValue;
property OldFACTURA_PROFORMA : String read GetOldFACTURA_PROFORMAValue;
property OldPERSONA_CONTACTO : String read GetOldPERSONA_CONTACTOValue;
property OldDESCRIPCION_BONIFICACION : String read GetOldDESCRIPCION_BONIFICACIONValue;
property OldIMPORTE_BONIFICACION : Currency read GetOldIMPORTE_BONIFICACIONValue;
property OldFECHA_VIGENCIA : DateTime read GetOldFECHA_VIGENCIAValue;
property OldTIPO_PRESUPUESTO : String read GetOldTIPO_PRESUPUESTOValue;
property OldID_TIPO_IVA : Integer read GetOldID_TIPO_IVAValue;
end;
{ TPresupuestosClienteBusinessProcessorRules }
@ -315,18 +368,18 @@ type
function GetOldID_FORMA_PAGOIsNull: Boolean; virtual;
procedure SetID_FORMA_PAGOValue(const aValue: Integer); virtual;
procedure SetID_FORMA_PAGOIsNull(const aValue: Boolean); virtual;
function GetID_FACTURAValue: Integer; virtual;
function GetID_FACTURAIsNull: Boolean; virtual;
function GetOldID_FACTURAValue: Integer; virtual;
function GetOldID_FACTURAIsNull: Boolean; virtual;
procedure SetID_FACTURAValue(const aValue: Integer); virtual;
procedure SetID_FACTURAIsNull(const aValue: Boolean); virtual;
function GetFACTURAValue: String; virtual;
function GetFACTURAIsNull: Boolean; virtual;
function GetOldFACTURAValue: String; virtual;
function GetOldFACTURAIsNull: Boolean; virtual;
procedure SetFACTURAValue(const aValue: String); virtual;
procedure SetFACTURAIsNull(const aValue: Boolean); virtual;
function GetID_FACTURA_PROFORMAValue: Integer; virtual;
function GetID_FACTURA_PROFORMAIsNull: Boolean; virtual;
function GetOldID_FACTURA_PROFORMAValue: Integer; virtual;
function GetOldID_FACTURA_PROFORMAIsNull: Boolean; virtual;
procedure SetID_FACTURA_PROFORMAValue(const aValue: Integer); virtual;
procedure SetID_FACTURA_PROFORMAIsNull(const aValue: Boolean); virtual;
function GetFACTURA_PROFORMAValue: String; virtual;
function GetFACTURA_PROFORMAIsNull: Boolean; virtual;
function GetOldFACTURA_PROFORMAValue: String; virtual;
function GetOldFACTURA_PROFORMAIsNull: Boolean; virtual;
procedure SetFACTURA_PROFORMAValue(const aValue: String); virtual;
procedure SetFACTURA_PROFORMAIsNull(const aValue: Boolean); virtual;
function GetPERSONA_CONTACTOValue: String; virtual;
function GetPERSONA_CONTACTOIsNull: Boolean; virtual;
function GetOldPERSONA_CONTACTOValue: String; virtual;
@ -345,6 +398,24 @@ type
function GetOldIMPORTE_BONIFICACIONIsNull: Boolean; virtual;
procedure SetIMPORTE_BONIFICACIONValue(const aValue: Currency); virtual;
procedure SetIMPORTE_BONIFICACIONIsNull(const aValue: Boolean); virtual;
function GetFECHA_VIGENCIAValue: DateTime; virtual;
function GetFECHA_VIGENCIAIsNull: Boolean; virtual;
function GetOldFECHA_VIGENCIAValue: DateTime; virtual;
function GetOldFECHA_VIGENCIAIsNull: Boolean; virtual;
procedure SetFECHA_VIGENCIAValue(const aValue: DateTime); virtual;
procedure SetFECHA_VIGENCIAIsNull(const aValue: Boolean); virtual;
function GetTIPO_PRESUPUESTOValue: String; virtual;
function GetTIPO_PRESUPUESTOIsNull: Boolean; virtual;
function GetOldTIPO_PRESUPUESTOValue: String; virtual;
function GetOldTIPO_PRESUPUESTOIsNull: Boolean; virtual;
procedure SetTIPO_PRESUPUESTOValue(const aValue: String); virtual;
procedure SetTIPO_PRESUPUESTOIsNull(const aValue: Boolean); virtual;
function GetID_TIPO_IVAValue: Integer; virtual;
function GetID_TIPO_IVAIsNull: Boolean; virtual;
function GetOldID_TIPO_IVAValue: Integer; virtual;
function GetOldID_TIPO_IVAIsNull: Boolean; virtual;
procedure SetID_TIPO_IVAValue(const aValue: Integer); virtual;
procedure SetID_TIPO_IVAIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
@ -467,14 +538,14 @@ type
property ID_FORMA_PAGOIsNull : Boolean read GetID_FORMA_PAGOIsNull write SetID_FORMA_PAGOIsNull;
property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue;
property OldID_FORMA_PAGOIsNull : Boolean read GetOldID_FORMA_PAGOIsNull;
property ID_FACTURA : Integer read GetID_FACTURAValue write SetID_FACTURAValue;
property ID_FACTURAIsNull : Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
property OldID_FACTURA : Integer read GetOldID_FACTURAValue;
property OldID_FACTURAIsNull : Boolean read GetOldID_FACTURAIsNull;
property FACTURA : String read GetFACTURAValue write SetFACTURAValue;
property FACTURAIsNull : Boolean read GetFACTURAIsNull write SetFACTURAIsNull;
property OldFACTURA : String read GetOldFACTURAValue;
property OldFACTURAIsNull : Boolean read GetOldFACTURAIsNull;
property ID_FACTURA_PROFORMA : Integer read GetID_FACTURA_PROFORMAValue write SetID_FACTURA_PROFORMAValue;
property ID_FACTURA_PROFORMAIsNull : Boolean read GetID_FACTURA_PROFORMAIsNull write SetID_FACTURA_PROFORMAIsNull;
property OldID_FACTURA_PROFORMA : Integer read GetOldID_FACTURA_PROFORMAValue;
property OldID_FACTURA_PROFORMAIsNull : Boolean read GetOldID_FACTURA_PROFORMAIsNull;
property FACTURA_PROFORMA : String read GetFACTURA_PROFORMAValue write SetFACTURA_PROFORMAValue;
property FACTURA_PROFORMAIsNull : Boolean read GetFACTURA_PROFORMAIsNull write SetFACTURA_PROFORMAIsNull;
property OldFACTURA_PROFORMA : String read GetOldFACTURA_PROFORMAValue;
property OldFACTURA_PROFORMAIsNull : Boolean read GetOldFACTURA_PROFORMAIsNull;
property PERSONA_CONTACTO : String read GetPERSONA_CONTACTOValue write SetPERSONA_CONTACTOValue;
property PERSONA_CONTACTOIsNull : Boolean read GetPERSONA_CONTACTOIsNull write SetPERSONA_CONTACTOIsNull;
property OldPERSONA_CONTACTO : String read GetOldPERSONA_CONTACTOValue;
@ -487,6 +558,18 @@ type
property IMPORTE_BONIFICACIONIsNull : Boolean read GetIMPORTE_BONIFICACIONIsNull write SetIMPORTE_BONIFICACIONIsNull;
property OldIMPORTE_BONIFICACION : Currency read GetOldIMPORTE_BONIFICACIONValue;
property OldIMPORTE_BONIFICACIONIsNull : Boolean read GetOldIMPORTE_BONIFICACIONIsNull;
property FECHA_VIGENCIA : DateTime read GetFECHA_VIGENCIAValue write SetFECHA_VIGENCIAValue;
property FECHA_VIGENCIAIsNull : Boolean read GetFECHA_VIGENCIAIsNull write SetFECHA_VIGENCIAIsNull;
property OldFECHA_VIGENCIA : DateTime read GetOldFECHA_VIGENCIAValue;
property OldFECHA_VIGENCIAIsNull : Boolean read GetOldFECHA_VIGENCIAIsNull;
property TIPO_PRESUPUESTO : String read GetTIPO_PRESUPUESTOValue write SetTIPO_PRESUPUESTOValue;
property TIPO_PRESUPUESTOIsNull : Boolean read GetTIPO_PRESUPUESTOIsNull write SetTIPO_PRESUPUESTOIsNull;
property OldTIPO_PRESUPUESTO : String read GetOldTIPO_PRESUPUESTOValue;
property OldTIPO_PRESUPUESTOIsNull : Boolean read GetOldTIPO_PRESUPUESTOIsNull;
property ID_TIPO_IVA : Integer read GetID_TIPO_IVAValue write SetID_TIPO_IVAValue;
property ID_TIPO_IVAIsNull : Boolean read GetID_TIPO_IVAIsNull write SetID_TIPO_IVAIsNull;
property OldID_TIPO_IVA : Integer read GetOldID_TIPO_IVAValue;
property OldID_TIPO_IVAIsNull : Boolean read GetOldID_TIPO_IVAIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
@ -496,7 +579,7 @@ type
{ IPresupuestosCliente_DetallesDelta }
IPresupuestosCliente_DetallesDelta = interface(IPresupuestosCliente_Detalles)
['{8943CBEB-C17F-4C81-B0D7-E1FBF3B8445C}']
['{9E8D6B49-757B-4427-9D2E-B33B8E0E1EFF}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_PRESUPUESTOValue : Integer;
@ -701,6 +784,80 @@ implementation
uses
Variants, uROBinaryHelpers, uDAInterfaces;
{ TTiposPresupuestoBusinessProcessorRules }
constructor TTiposPresupuestoBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
inherited;
end;
destructor TTiposPresupuestoBusinessProcessorRules.Destroy;
begin
inherited;
end;
function TTiposPresupuestoBusinessProcessorRules.GetIDValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_TiposPresupuestoID];
end;
function TTiposPresupuestoBusinessProcessorRules.GetIDIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_TiposPresupuestoID]);
end;
function TTiposPresupuestoBusinessProcessorRules.GetOldIDValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_TiposPresupuestoID];
end;
function TTiposPresupuestoBusinessProcessorRules.GetOldIDIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_TiposPresupuestoID]);
end;
procedure TTiposPresupuestoBusinessProcessorRules.SetIDValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_TiposPresupuestoID] := aValue;
end;
procedure TTiposPresupuestoBusinessProcessorRules.SetIDIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_TiposPresupuestoID] := Null;
end;
function TTiposPresupuestoBusinessProcessorRules.GetDESCRIPCIONValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_TiposPresupuestoDESCRIPCION];
end;
function TTiposPresupuestoBusinessProcessorRules.GetDESCRIPCIONIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_TiposPresupuestoDESCRIPCION]);
end;
function TTiposPresupuestoBusinessProcessorRules.GetOldDESCRIPCIONValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_TiposPresupuestoDESCRIPCION];
end;
function TTiposPresupuestoBusinessProcessorRules.GetOldDESCRIPCIONIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_TiposPresupuestoDESCRIPCION]);
end;
procedure TTiposPresupuestoBusinessProcessorRules.SetDESCRIPCIONValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_TiposPresupuestoDESCRIPCION] := aValue;
end;
procedure TTiposPresupuestoBusinessProcessorRules.SetDESCRIPCIONIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_TiposPresupuestoDESCRIPCION] := Null;
end;
{ TListaAnosPresupuestosBusinessProcessorRules }
constructor TListaAnosPresupuestosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
@ -1711,66 +1868,66 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteID_FORMA_PAGO] := Null;
end;
function TPresupuestosClienteBusinessProcessorRules.GetID_FACTURAValue: Integer;
function TPresupuestosClienteBusinessProcessorRules.GetID_FACTURA_PROFORMAValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteID_FACTURA];
result := BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteID_FACTURA_PROFORMA];
end;
function TPresupuestosClienteBusinessProcessorRules.GetID_FACTURAIsNull: Boolean;
function TPresupuestosClienteBusinessProcessorRules.GetID_FACTURA_PROFORMAIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteID_FACTURA]);
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteID_FACTURA_PROFORMA]);
end;
function TPresupuestosClienteBusinessProcessorRules.GetOldID_FACTURAValue: Integer;
function TPresupuestosClienteBusinessProcessorRules.GetOldID_FACTURA_PROFORMAValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteID_FACTURA];
result := BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteID_FACTURA_PROFORMA];
end;
function TPresupuestosClienteBusinessProcessorRules.GetOldID_FACTURAIsNull: Boolean;
function TPresupuestosClienteBusinessProcessorRules.GetOldID_FACTURA_PROFORMAIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteID_FACTURA]);
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteID_FACTURA_PROFORMA]);
end;
procedure TPresupuestosClienteBusinessProcessorRules.SetID_FACTURAValue(const aValue: Integer);
procedure TPresupuestosClienteBusinessProcessorRules.SetID_FACTURA_PROFORMAValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteID_FACTURA] := aValue;
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteID_FACTURA_PROFORMA] := aValue;
end;
procedure TPresupuestosClienteBusinessProcessorRules.SetID_FACTURAIsNull(const aValue: Boolean);
procedure TPresupuestosClienteBusinessProcessorRules.SetID_FACTURA_PROFORMAIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteID_FACTURA] := Null;
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteID_FACTURA_PROFORMA] := Null;
end;
function TPresupuestosClienteBusinessProcessorRules.GetFACTURAValue: String;
function TPresupuestosClienteBusinessProcessorRules.GetFACTURA_PROFORMAValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteFACTURA];
result := BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteFACTURA_PROFORMA];
end;
function TPresupuestosClienteBusinessProcessorRules.GetFACTURAIsNull: Boolean;
function TPresupuestosClienteBusinessProcessorRules.GetFACTURA_PROFORMAIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteFACTURA]);
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteFACTURA_PROFORMA]);
end;
function TPresupuestosClienteBusinessProcessorRules.GetOldFACTURAValue: String;
function TPresupuestosClienteBusinessProcessorRules.GetOldFACTURA_PROFORMAValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteFACTURA];
result := BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteFACTURA_PROFORMA];
end;
function TPresupuestosClienteBusinessProcessorRules.GetOldFACTURAIsNull: Boolean;
function TPresupuestosClienteBusinessProcessorRules.GetOldFACTURA_PROFORMAIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteFACTURA]);
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteFACTURA_PROFORMA]);
end;
procedure TPresupuestosClienteBusinessProcessorRules.SetFACTURAValue(const aValue: String);
procedure TPresupuestosClienteBusinessProcessorRules.SetFACTURA_PROFORMAValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteFACTURA] := aValue;
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteFACTURA_PROFORMA] := aValue;
end;
procedure TPresupuestosClienteBusinessProcessorRules.SetFACTURAIsNull(const aValue: Boolean);
procedure TPresupuestosClienteBusinessProcessorRules.SetFACTURA_PROFORMAIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteFACTURA] := Null;
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteFACTURA_PROFORMA] := Null;
end;
function TPresupuestosClienteBusinessProcessorRules.GetPERSONA_CONTACTOValue: String;
@ -1866,6 +2023,99 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteIMPORTE_BONIFICACION] := Null;
end;
function TPresupuestosClienteBusinessProcessorRules.GetFECHA_VIGENCIAValue: DateTime;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteFECHA_VIGENCIA];
end;
function TPresupuestosClienteBusinessProcessorRules.GetFECHA_VIGENCIAIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteFECHA_VIGENCIA]);
end;
function TPresupuestosClienteBusinessProcessorRules.GetOldFECHA_VIGENCIAValue: DateTime;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteFECHA_VIGENCIA];
end;
function TPresupuestosClienteBusinessProcessorRules.GetOldFECHA_VIGENCIAIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteFECHA_VIGENCIA]);
end;
procedure TPresupuestosClienteBusinessProcessorRules.SetFECHA_VIGENCIAValue(const aValue: DateTime);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteFECHA_VIGENCIA] := aValue;
end;
procedure TPresupuestosClienteBusinessProcessorRules.SetFECHA_VIGENCIAIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteFECHA_VIGENCIA] := Null;
end;
function TPresupuestosClienteBusinessProcessorRules.GetTIPO_PRESUPUESTOValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteTIPO_PRESUPUESTO];
end;
function TPresupuestosClienteBusinessProcessorRules.GetTIPO_PRESUPUESTOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteTIPO_PRESUPUESTO]);
end;
function TPresupuestosClienteBusinessProcessorRules.GetOldTIPO_PRESUPUESTOValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteTIPO_PRESUPUESTO];
end;
function TPresupuestosClienteBusinessProcessorRules.GetOldTIPO_PRESUPUESTOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteTIPO_PRESUPUESTO]);
end;
procedure TPresupuestosClienteBusinessProcessorRules.SetTIPO_PRESUPUESTOValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteTIPO_PRESUPUESTO] := aValue;
end;
procedure TPresupuestosClienteBusinessProcessorRules.SetTIPO_PRESUPUESTOIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteTIPO_PRESUPUESTO] := Null;
end;
function TPresupuestosClienteBusinessProcessorRules.GetID_TIPO_IVAValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteID_TIPO_IVA];
end;
function TPresupuestosClienteBusinessProcessorRules.GetID_TIPO_IVAIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteID_TIPO_IVA]);
end;
function TPresupuestosClienteBusinessProcessorRules.GetOldID_TIPO_IVAValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteID_TIPO_IVA];
end;
function TPresupuestosClienteBusinessProcessorRules.GetOldID_TIPO_IVAIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PresupuestosClienteID_TIPO_IVA]);
end;
procedure TPresupuestosClienteBusinessProcessorRules.SetID_TIPO_IVAValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteID_TIPO_IVA] := aValue;
end;
procedure TPresupuestosClienteBusinessProcessorRules.SetID_TIPO_IVAIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_PresupuestosClienteID_TIPO_IVA] := Null;
end;
{ TPresupuestosCliente_DetallesBusinessProcessorRules }
constructor TPresupuestosCliente_DetallesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
@ -2345,6 +2595,7 @@ end;
initialization
RegisterBusinessProcessorRules(RID_TiposPresupuestoDelta, TTiposPresupuestoBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_ListaAnosPresupuestosDelta, TListaAnosPresupuestosBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_PresupuestosClienteDelta, TPresupuestosClienteBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_PresupuestosCliente_DetallesDelta, TPresupuestosCliente_DetallesBusinessProcessorRules);

View File

@ -42,6 +42,8 @@ type
private
procedure CalcularBaseImponible;
procedure CalcularIVA;
procedure AsignarTipoIVA (IDTipoIVA : Integer);
protected
FSeleccionableInterface : ISeleccionable;
FCliente : IBizCliente;
@ -60,6 +62,7 @@ type
function GetSITUACIONValue: String; override;
procedure SetFECHA_PRESUPUESTOValue(const aValue: TDateTime); override;
procedure SetID_FORMA_PAGOValue(const aValue: Integer); override;
procedure SetID_TIPO_IVAValue(const aValue: Integer); override;
procedure OnNewRecord(Sender: TDADataTable); override;
procedure IniciarValoresPresupuestoNuevo;
@ -69,6 +72,9 @@ type
procedure IMPORTE_PORTEOnChange(Sender: TDACustomField);
procedure DESCUENTOOnChange(Sender: TDACustomField);
procedure IVAOnChange(Sender: TDACustomField);
procedure ID_TIPO_IVAOnChange(Sender: TDACustomField);
public
function DarListaSituaciones: TStringList;
@ -90,11 +96,38 @@ type
implementation
uses
SysUtils, Variants, uDataModuleConfiguracion, uDataModuleUsuarios, Dialogs,
uDataTableUtils, DateUtils, uDateUtils, DB, uFactuGES_App;
SysUtils, Variants, uDataModuleConfiguracion, uDataModuleUsuarios, Dialogs,
uDataTableUtils, DateUtils, uDateUtils, DB, uFactuGES_App, uTiposIVAController, uBizTiposIVA;
{ TBizPresupuestoCliente }
procedure TBizPresupuestoCliente.AsignarTipoIVA(IDTipoIVA: Integer);
var
ATiposIVAController : ITiposIVAController;
ATipoIVA : IBizTipoIVA;
begin
inherited;
ATiposIVAController := TTiposIVAController.Create;
try
ATipoIVA := ATiposIVAController.Buscar(IDTipoIVA);
ATipoIVA.DataTable.Active := True;
if Assigned(ATipoIVA) then
begin
Edit;
IVA := ATipoIVA.IVA;
{
if (RECARGO_EQUIVALENCIA = 1) then
RE := ATipoIVA.RE
else
RE := 0;
}
end;
finally
ATiposIVAController := NIL;
end;
end;
procedure TBizPresupuestoCliente.CalcularBaseImponible;
begin
if not Self.DataTable.Editing then
@ -134,6 +167,7 @@ begin
with DataTable do
begin
FieldByName(fld_PresupuestosClienteID_TIPO_IVA).OnChange := ID_TIPO_IVAOnChange;
FieldByName(fld_PresupuestosClienteIMPORTE_NETO).OnChange := IMPORTE_NETOOnChange;
FieldByName(fld_PresupuestosClienteIMPORTE_BONIFICACION).OnChange := IMPORTE_BONIFICACIONOnChange;
FieldByName(fld_PresupuestosClienteIMPORTE_PORTE).OnChange := IMPORTE_PORTEOnChange;
@ -183,6 +217,11 @@ begin
Result := FCliente;
end;
procedure TBizPresupuestoCliente.ID_TIPO_IVAOnChange(Sender: TDACustomField);
begin
AsignarTipoIVA(ID_TIPO_IVA);
end;
procedure TBizPresupuestoCliente.IMPORTE_BONIFICACIONOnChange(Sender: TDACustomField);
begin
CalcularImporteTotal;
@ -202,6 +241,8 @@ procedure TBizPresupuestoCliente.IniciarValoresPresupuestoNuevo;
begin
ID_EMPRESA := AppFactuGES.EmpresaActiva.ID;
USUARIO := AppFactuGES.UsuarioActivo.UserName;
ID_TIPO_IVA := AppFactuGES.EmpresaActiva.ID_TIPO_IVA;
FECHA_PRESUPUESTO := DateOf(Date);
INCIDENCIAS_ACTIVAS := 0;
// INCIDENCIAS := NIL;
@ -254,6 +295,9 @@ begin
ID_FORMA_PAGO := FCliente.ID_FORMA_PAGO;
DESCUENTO := FCliente.DESCUENTO;
if FCliente.ID_TIPO_IVA > 0 then
ID_TIPO_IVA := FCliente.ID_TIPO_IVA;
DataTable.Post; //Muy importante ya que es necesario hacer un post de la cabecera antes de añadir detalles
//si se quita el id de la cabecera y los detalles se desincroniza
if bEnEdicion then
@ -283,6 +327,14 @@ begin
else
inherited;
end;
procedure TBizPresupuestoCliente.SetID_TIPO_IVAValue(const aValue: Integer);
begin
if (aValue = 0) then
SetFieldNull(DataTable, fld_PresupuestosClienteID_TIPO_IVA)
else
inherited;
end;
{
procedure TBizPresupuestoCliente.SetINCIDENCIASValue(const aValue: IROStrings);
begin

View File

@ -0,0 +1,37 @@
unit uBizTiposPresupuesto;
interface
uses
uDAInterfaces, uDADataTable, schPresupuestosClienteClient_Intf;
const
BIZ_CLIENT_TIPOSPRESUPUESTO = 'Client.TipoPresupuesto';
type
IBizTipoPresupuesto = interface(ITiposPresupuesto)
['{67DFD7A3-DFAD-4592-9D33-9258FE78E47C}']
end;
TBizTipoPresupuesto = class(TTiposPresupuestoDataTableRules, IBizTipoPresupuesto)
protected
procedure AfterOpen(Sender: TDADataTable); override;
end;
implementation
{ TBizTiposPresupuesto }
procedure TBizTipoPresupuesto.AfterOpen(Sender: TDADataTable);
begin
inherited;
DataTable.Sort([fld_TiposPresupuestoDESCRIPCION], [sdAscending]);
end;
initialization
RegisterDataTableRules(BIZ_CLIENT_TIPOSPRESUPUESTO, TBizTipoPresupuesto);
finalization
end.

View File

@ -17,13 +17,16 @@
<Projects Include="..\Contactos\Data\Contactos_data.dproj" />
<Projects Include="..\Contactos\Model\Contactos_model.dproj" />
<Projects Include="..\Contactos\Views\Contactos_view.dproj" />
<Projects Include="..\Facturas de cliente\Model\FacturasCliente_model.dproj" />
<Projects Include="..\Facturas de cliente\Views\FacturasCliente_view.dproj" />
<Projects Include="..\Facturas proforma\Plugin\FacturasProforma_plugin.dproj" />
<Projects Include="..\Gestion de documentos\Controller\GestorDocumentos_controller.dproj" />
<Projects Include="..\Gestion de documentos\Data\GestorDocumentos_data.dproj" />
<Projects Include="..\Gestor de informes\Views\GestorInformes_view.dproj" />
<Projects Include="..\Pedidos a proveedor\Views\PedidosProveedor_view.dproj" />
<Projects Include="..\Relaciones\Presupuestos de cliente - Albaranes de cliente\PreCli_AlbCli_relation.dproj" />
<Projects Include="..\Relaciones\Presupuestos de cliente - Facturas de cliente\PreCli_FacCli_relation.dproj" />
<Projects Include="..\Pedidos de cliente\Views\PedidosCliente_view.dproj" />
<Projects Include="..\Relaciones\Presupuestos de cliente - Facturas proforma\PreCli_FacPro_relation.dproj" />
<Projects Include="..\Relaciones\Presupuestos de cliente - Pedidos de cliente\PreCli_PedCli_relation.dproj" />
<Projects Include="Controller\PresupuestosCliente_controller.dproj" />
<Projects Include="Data\PresupuestosCliente_data.dproj" />
<Projects Include="Model\PresupuestosCliente_model.dproj" />
@ -171,23 +174,23 @@
<Target Name="PresupuestosCliente_controller:Make">
<MSBuild Projects="Controller\PresupuestosCliente_controller.dproj" Targets="Make" />
</Target>
<Target Name="PreCli_FacCli_relation">
<MSBuild Projects="..\Relaciones\Presupuestos de cliente - Facturas de cliente\PreCli_FacCli_relation.dproj" Targets="" />
<Target Name="PreCli_FacPro_relation">
<MSBuild Projects="..\Relaciones\Presupuestos de cliente - Facturas proforma\PreCli_FacPro_relation.dproj" Targets="" />
</Target>
<Target Name="PreCli_FacCli_relation:Clean">
<MSBuild Projects="..\Relaciones\Presupuestos de cliente - Facturas de cliente\PreCli_FacCli_relation.dproj" Targets="Clean" />
<Target Name="PreCli_FacPro_relation:Clean">
<MSBuild Projects="..\Relaciones\Presupuestos de cliente - Facturas proforma\PreCli_FacPro_relation.dproj" Targets="Clean" />
</Target>
<Target Name="PreCli_FacCli_relation:Make">
<MSBuild Projects="..\Relaciones\Presupuestos de cliente - Facturas de cliente\PreCli_FacCli_relation.dproj" Targets="Make" />
<Target Name="PreCli_FacPro_relation:Make">
<MSBuild Projects="..\Relaciones\Presupuestos de cliente - Facturas proforma\PreCli_FacPro_relation.dproj" Targets="Make" />
</Target>
<Target Name="PreCli_AlbCli_relation">
<MSBuild Projects="..\Relaciones\Presupuestos de cliente - Albaranes de cliente\PreCli_AlbCli_relation.dproj" Targets="" />
<Target Name="PreCli_PedCli_relation">
<MSBuild Projects="..\Relaciones\Presupuestos de cliente - Pedidos de cliente\PreCli_PedCli_relation.dproj" Targets="" />
</Target>
<Target Name="PreCli_AlbCli_relation:Clean">
<MSBuild Projects="..\Relaciones\Presupuestos de cliente - Albaranes de cliente\PreCli_AlbCli_relation.dproj" Targets="Clean" />
<Target Name="PreCli_PedCli_relation:Clean">
<MSBuild Projects="..\Relaciones\Presupuestos de cliente - Pedidos de cliente\PreCli_PedCli_relation.dproj" Targets="Clean" />
</Target>
<Target Name="PreCli_AlbCli_relation:Make">
<MSBuild Projects="..\Relaciones\Presupuestos de cliente - Albaranes de cliente\PreCli_AlbCli_relation.dproj" Targets="Make" />
<Target Name="PreCli_PedCli_relation:Make">
<MSBuild Projects="..\Relaciones\Presupuestos de cliente - Pedidos de cliente\PreCli_PedCli_relation.dproj" Targets="Make" />
</Target>
<Target Name="PresupuestosCliente_view">
<MSBuild Projects="Views\PresupuestosCliente_view.dproj" Targets="" />
@ -261,14 +264,41 @@
<Target Name="Articulos_model:Make">
<MSBuild Projects="..\Articulos\Model\Articulos_model.dproj" Targets="Make" />
</Target>
<Target Name="FacturasProforma_plugin">
<MSBuild Projects="..\Facturas proforma\Plugin\FacturasProforma_plugin.dproj" Targets="" />
</Target>
<Target Name="FacturasProforma_plugin:Clean">
<MSBuild Projects="..\Facturas proforma\Plugin\FacturasProforma_plugin.dproj" Targets="Clean" />
</Target>
<Target Name="FacturasProforma_plugin:Make">
<MSBuild Projects="..\Facturas proforma\Plugin\FacturasProforma_plugin.dproj" Targets="Make" />
</Target>
<Target Name="PedidosCliente_view">
<MSBuild Projects="..\Pedidos de cliente\Views\PedidosCliente_view.dproj" Targets="" />
</Target>
<Target Name="PedidosCliente_view:Clean">
<MSBuild Projects="..\Pedidos de cliente\Views\PedidosCliente_view.dproj" Targets="Clean" />
</Target>
<Target Name="PedidosCliente_view:Make">
<MSBuild Projects="..\Pedidos de cliente\Views\PedidosCliente_view.dproj" Targets="Make" />
</Target>
<Target Name="FacturasCliente_model">
<MSBuild Projects="..\Facturas de cliente\Model\FacturasCliente_model.dproj" Targets="" />
</Target>
<Target Name="FacturasCliente_model:Clean">
<MSBuild Projects="..\Facturas de cliente\Model\FacturasCliente_model.dproj" Targets="Clean" />
</Target>
<Target Name="FacturasCliente_model:Make">
<MSBuild Projects="..\Facturas de cliente\Model\FacturasCliente_model.dproj" Targets="Make" />
</Target>
<Target Name="Build">
<CallTarget Targets="Base;GUIBase;ApplicationBase;Contactos_model;Contactos_data;Contactos_controller;Contactos_view;Articulos_data;Articulos_controller;Articulos_view;PresupuestosCliente_model;PresupuestosCliente_data;GestorDocumentos_data;GestorDocumentos_controller;PresupuestosCliente_controller;PreCli_FacCli_relation;PreCli_AlbCli_relation;PresupuestosCliente_view;PresupuestosCliente_plugin;FactuGES;FactuGES_Server;FacturasCliente_view;GestorInformes_view;PedidosProveedor_view;Articulos_model" />
<CallTarget Targets="Base;GUIBase;ApplicationBase;Contactos_model;Contactos_data;Contactos_controller;Contactos_view;Articulos_data;Articulos_controller;Articulos_view;PresupuestosCliente_model;PresupuestosCliente_data;GestorDocumentos_data;GestorDocumentos_controller;PresupuestosCliente_controller;PreCli_FacPro_relation;PreCli_PedCli_relation;PresupuestosCliente_view;PresupuestosCliente_plugin;FactuGES;FactuGES_Server;FacturasCliente_view;GestorInformes_view;PedidosProveedor_view;Articulos_model;FacturasProforma_plugin;PedidosCliente_view;FacturasCliente_model" />
</Target>
<Target Name="Clean">
<CallTarget Targets="Base:Clean;GUIBase:Clean;ApplicationBase:Clean;Contactos_model:Clean;Contactos_data:Clean;Contactos_controller:Clean;Contactos_view:Clean;Articulos_data:Clean;Articulos_controller:Clean;Articulos_view:Clean;PresupuestosCliente_model:Clean;PresupuestosCliente_data:Clean;GestorDocumentos_data:Clean;GestorDocumentos_controller:Clean;PresupuestosCliente_controller:Clean;PreCli_FacCli_relation:Clean;PreCli_AlbCli_relation:Clean;PresupuestosCliente_view:Clean;PresupuestosCliente_plugin:Clean;FactuGES:Clean;FactuGES_Server:Clean;FacturasCliente_view:Clean;GestorInformes_view:Clean;PedidosProveedor_view:Clean;Articulos_model:Clean" />
<CallTarget Targets="Base:Clean;GUIBase:Clean;ApplicationBase:Clean;Contactos_model:Clean;Contactos_data:Clean;Contactos_controller:Clean;Contactos_view:Clean;Articulos_data:Clean;Articulos_controller:Clean;Articulos_view:Clean;PresupuestosCliente_model:Clean;PresupuestosCliente_data:Clean;GestorDocumentos_data:Clean;GestorDocumentos_controller:Clean;PresupuestosCliente_controller:Clean;PreCli_FacPro_relation:Clean;PreCli_PedCli_relation:Clean;PresupuestosCliente_view:Clean;PresupuestosCliente_plugin:Clean;FactuGES:Clean;FactuGES_Server:Clean;FacturasCliente_view:Clean;GestorInformes_view:Clean;PedidosProveedor_view:Clean;Articulos_model:Clean;FacturasProforma_plugin:Clean;PedidosCliente_view:Clean;FacturasCliente_model:Clean" />
</Target>
<Target Name="Make">
<CallTarget Targets="Base:Make;GUIBase:Make;ApplicationBase:Make;Contactos_model:Make;Contactos_data:Make;Contactos_controller:Make;Contactos_view:Make;Articulos_data:Make;Articulos_controller:Make;Articulos_view:Make;PresupuestosCliente_model:Make;PresupuestosCliente_data:Make;GestorDocumentos_data:Make;GestorDocumentos_controller:Make;PresupuestosCliente_controller:Make;PreCli_FacCli_relation:Make;PreCli_AlbCli_relation:Make;PresupuestosCliente_view:Make;PresupuestosCliente_plugin:Make;FactuGES:Make;FactuGES_Server:Make;FacturasCliente_view:Make;GestorInformes_view:Make;PedidosProveedor_view:Make;Articulos_model:Make" />
<CallTarget Targets="Base:Make;GUIBase:Make;ApplicationBase:Make;Contactos_model:Make;Contactos_data:Make;Contactos_controller:Make;Contactos_view:Make;Articulos_data:Make;Articulos_controller:Make;Articulos_view:Make;PresupuestosCliente_model:Make;PresupuestosCliente_data:Make;GestorDocumentos_data:Make;GestorDocumentos_controller:Make;PresupuestosCliente_controller:Make;PreCli_FacPro_relation:Make;PreCli_PedCli_relation:Make;PresupuestosCliente_view:Make;PresupuestosCliente_plugin:Make;FactuGES:Make;FactuGES_Server:Make;FacturasCliente_view:Make;GestorInformes_view:Make;PedidosProveedor_view:Make;Articulos_model:Make;FacturasProforma_plugin:Make;PedidosCliente_view:Make;FacturasCliente_model:Make" />
</Target>
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />
</Project>

View File

@ -39,8 +39,6 @@ type
resumenCONCEPTO: TIBStringField;
resumenIMPORTE_TOTAL: TIBBCDField;
resumenVISIBLE: TSmallintField;
frxDBCapitulos: TfrxDBDataset;
frxDBResumen: TfrxDBDataset;
DABin2DataStreamer1: TDABin2DataStreamer;
cabecera: TIBQuery;
cabeceraID: TIntegerField;
@ -68,10 +66,6 @@ type
cabeceraPOBLACION: TIBStringField;
cabeceraPROVINCIA: TIBStringField;
cabeceraCODIGO_POSTAL: TIBStringField;
DADSCapitulos: TDADataSource;
tbl_Capitulos: TDAMemDataTable;
DADSResumen: TDADataSource;
tbl_Resumen: TDAMemDataTable;
frxPDFExport1: TfrxPDFExport;
DADSInformeListadoPresupuestos: TDADataSource;
tbl_InformeListadoPresupuestos: TDAMemDataTable;
@ -79,9 +73,9 @@ type
frxDBInformeListadoPresupuestosResumen: TfrxDBDataset;
DADSInformeListadoPresupuestosResumen: TDADataSource;
tbl_InformeListadoPresupuestosResumen: TDAMemDataTable;
tbl_Detalles: TDAMemDataTable;
schReport: TDASchema;
DataDictionary: TDADataDictionary;
tbl_Detalles: TDAMemDataTable;
procedure DataModuleCreate(Sender: TObject);
procedure DataModuleDestroy(Sender: TObject);
function frxReportUserFunction(const MethodName: string;
@ -137,24 +131,10 @@ begin
frxDBCabecera.DataSource := DADSCabecera;
frxDBCabecera.CloseDataSource := False;
frxDBCapitulos.DataSource := DADSCapitulos;
frxDBCapitulos.CloseDataSource := False;
frxDBDetalles.DataSource := DADSDetalles;
frxDBDetalles.CloseDataSource := False;
frxDBResumen.DataSource := DADSResumen;
frxDBResumen.CloseDataSource := False;
FListaNombresClientes := TStringList.Create;
with tbl_Detalles do
begin
MasterSource := DADSCapitulos;
MasterFields := 'ID';
DetailFields := 'ID_CAPITULO';
MasterMappingMode := mmWhere;
end;
end;
function TRptPresupuestosCliente.GenerarPresupuestoEnPDF(const ListaID: TIntegerArray; const VerSello: Integer): Binary;
@ -414,9 +394,7 @@ end;
procedure TRptPresupuestosCliente.DataModuleDestroy(Sender: TObject);
begin
tbl_Cabecera.Active := False;
tbl_Capitulos.Active := False;
tbl_Detalles.Active := False;
tbl_Resumen.Active := False;
FreeANDNIL(FListaNombresClientes);
end;
@ -533,32 +511,18 @@ begin
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
try
tbl_Cabecera.Active := False;
tbl_Capitulos.Active := False;
tbl_Detalles.Active := False;
tbl_Resumen.Active := False;
tbl_Cabecera.ParamByName('ID').AsInteger := AID;
tbl_Capitulos.ParamByName('ID_PRESUPUESTO').AsInteger := AID;
tbl_Detalles.ParamByName('ID_PRESUPUESTO').AsInteger := AID;
tbl_Resumen.ParamByName('ID_PRESUPUESTO').AsInteger := AID;
// Se asignan los parametros en este orden para que funcionen
// dentro de las relaciones maestro-detalle (capítulos y conceptos).
tbl_Cabecera.Active := True;
tbl_Capitulos.Active := True;
tbl_Detalles.Active := True;
tbl_Resumen.Active := True;
AInforme := DarRutaFichero(DarRutaInformes, rptInforme, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString);
if VarIsNull(AInforme) then
raise Exception.Create (('Error Servidor: _GenerarPresupuesto, no encuentra informe ' + rptInforme));
frxReport.LoadFromFile(AInforme, True);
frxReport.Variables.Variables['VerSello'] := IntToStr(VerSello);
frxReport.AddFunction('function PONERJUSTIFICACIONCOMPLETA(ARTFText : String): String', 'User Function','');
frxReport.PrepareReport(False);
finally
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"

View File

@ -11,6 +11,41 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
ConnectionManager = dmServer.ConnectionManager
DataDictionary = DADataDictionary
Datasets = <
item
Params = <>
Statements = <
item
ConnectionType = 'Interbase'
Default = True
TargetTable = 'PRESUPUESTOS_TIPOS'
Name = 'IBX'
StatementType = stAutoSQL
ColumnMappings = <
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'DESCRIPCION'
TableField = 'DESCRIPCION'
end>
end>
Name = 'TiposPresupuesto'
Fields = <
item
Name = 'ID'
DataType = datAutoInc
GeneratorName = 'GEN_PRESUPUESTOS_TIPOS_ID'
DictionaryEntry = 'TiposPresupuesto_ID'
InPrimaryKey = True
end
item
Name = 'DESCRIPCION'
DataType = datString
Size = 255
DictionaryEntry = 'TiposPresupuesto_DESCRIPCION'
end>
end
item
Params = <>
Statements = <
@ -79,6 +114,10 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
DatasetField = 'ID_CLIENTE'
TableField = 'ID_CLIENTE'
end
item
DatasetField = 'ID_DIRECCION'
TableField = 'ID_DIRECCION'
end
item
DatasetField = 'NIF_CIF'
TableField = 'NIF_CIF'
@ -163,22 +202,10 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
DatasetField = 'ID_FORMA_PAGO'
TableField = 'ID_FORMA_PAGO'
end
item
DatasetField = 'ID_FACTURA'
TableField = 'ID_FACTURA'
end
item
DatasetField = 'FACTURA'
TableField = 'FACTURA'
end
item
DatasetField = 'PERSONA_CONTACTO'
TableField = 'PERSONA_CONTACTO'
end
item
DatasetField = 'ID_DIRECCION'
TableField = 'ID_DIRECCION'
end
item
DatasetField = 'DESCRIPCION_BONIFICACION'
TableField = 'DESCRIPCION_BONIFICACION'
@ -186,6 +213,26 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
item
DatasetField = 'IMPORTE_BONIFICACION'
TableField = 'IMPORTE_BONIFICACION'
end
item
DatasetField = 'FECHA_VIGENCIA'
TableField = 'FECHA_VIGENCIA'
end
item
DatasetField = 'TIPO_PRESUPUESTO'
TableField = 'TIPO_PRESUPUESTO'
end
item
DatasetField = 'ID_TIPO_IVA'
TableField = 'ID_TIPO_IVA'
end
item
DatasetField = 'ID_FACTURA_PROFORMA'
TableField = 'ID_FACTURA_PROFORMA'
end
item
DatasetField = 'FACTURA_PROFORMA'
TableField = 'FACTURA_PROFORMA'
end>
end>
Name = 'PresupuestosCliente'
@ -353,11 +400,11 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
DictionaryEntry = 'PresupuestosCliente_ID_FORMA_PAGO'
end
item
Name = 'ID_FACTURA'
Name = 'ID_FACTURA_PROFORMA'
DataType = datInteger
end
item
Name = 'FACTURA'
Name = 'FACTURA_PROFORMA'
DataType = datString
Size = 255
end
@ -376,6 +423,19 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
Name = 'IMPORTE_BONIFICACION'
DataType = datCurrency
ServerAutoRefresh = True
end
item
Name = 'FECHA_VIGENCIA'
DataType = datDateTime
end
item
Name = 'TIPO_PRESUPUESTO'
DataType = datString
Size = 255
end
item
Name = 'ID_TIPO_IVA'
DataType = datInteger
end>
end
item
@ -565,118 +625,171 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
Value = ''
end
item
Name = 'FECHA_PRESUPUESTO'
DataType = datDateTime
Value = ''
end
item
Name = 'FECHA_DECISION'
DataType = datDateTime
Value = ''
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'REFERENCIA_AUX'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'SITUACION'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'ID_CLIENTE'
DataType = datInteger
Value = ''
end
item
Name = 'ID_DIRECCION'
DataType = datInteger
Value = ''
end
item
Name = 'REFERENCIA_CLIENTE'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'CLIENTE_FINAL'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'PORTADA'
DataType = datMemo
Value = ''
end
item
Name = 'MEMORIA'
DataType = datMemo
Value = ''
end
item
Name = 'OBSERVACIONES'
DataType = datMemo
Value = ''
end
item
Name = 'INCIDENCIAS'
DataType = datMemo
Value = ''
end
item
Name = 'INCIDENCIAS_ACTIVAS'
DataType = datSmallInt
Value = ''
end
item
Name = 'USUARIO'
DataType = datString
Size = 30
Value = ''
end
item
Name = 'IMPORTE_NETO'
DataType = datCurrency
Value = ''
end
item
Name = 'IMPORTE_PORTE'
DataType = datCurrency
Value = ''
end
item
Name = 'DESCUENTO'
DataType = datFloat
Value = ''
end
item
Name = 'IMPORTE_DESCUENTO'
DataType = datCurrency
Value = ''
end
item
Name = 'BASE_IMPONIBLE'
DataType = datCurrency
Value = ''
end
item
Name = 'IVA'
DataType = datFloat
Value = ''
end
item
Name = 'IMPORTE_IVA'
DataType = datCurrency
Value = ''
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
Value = ''
end
item
Name = 'ID_FORMA_PAGO'
DataType = datInteger
Value = ''
end
item
Name = 'ID_FACTURA'
Name = 'ID_FACTURA_PROFORMA'
DataType = datInteger
Value = ''
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'DESCRIPCION_BONIFICACION'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'IMPORTE_BONIFICACION'
DataType = datCurrency
Value = ''
end
item
Name = 'FECHA_VIGENCIA'
DataType = datDateTime
Value = ''
end
item
Name = 'TIPO_PRESUPUESTO'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'ID_TIPO_IVA'
DataType = datInteger
Value = ''
end>
Statements = <
@ -691,17 +804,19 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
'E_FINAL, PORTADA, MEMORIA, OBSERVACIONES, INCIDENCIAS, '#10' INC' +
'IDENCIAS_ACTIVAS, FECHA_ALTA,'#10' USUARIO, IMPORTE_NETO, IMPORT' +
'E_PORTE, DESCUENTO, IMPORTE_DESCUENTO, '#10' BASE_IMPONIBLE, IVA' +
', IMPORTE_IVA, IMPORTE_TOTAL, ID_FORMA_PAGO, ID_FACTURA,'#10' PE' +
'RSONA_CONTACTO, DESCRIPCION_BONIFICACION, IMPORTE_BONIFICACION)'#10 +
' VALUES'#10' (:ID, :ID_EMPRESA, :FECHA_PRESUPUESTO, :FECHA_DECIS' +
'ION, :REFERENCIA,'#10' :REFERENCIA_AUX, :SITUACION, :ID_CLIENTE,' +
' :ID_DIRECCION, :REFERENCIA_CLIENTE,'#10' :CLIENTE_FINAL, :PORTA' +
'DA, :MEMORIA, :OBSERVACIONES, '#10' :INCIDENCIAS, :INCIDENCIAS_A' +
'CTIVAS, CURRENT_TIMESTAMP,'#10' :USUARIO, :IMPORTE_NETO, :IMPORT' +
'E_PORTE, :DESCUENTO, '#10' :IMPORTE_DESCUENTO, :BASE_IMPONIBLE, ' +
':IVA, :IMPORTE_IVA, '#10' :IMPORTE_TOTAL, :ID_FORMA_PAGO, :ID_FA' +
'CTURA, :PERSONA_CONTACTO,'#10' :DESCRIPCION_BONIFICACION, :IMPOR' +
'TE_BONIFICACION)'#10
', IMPORTE_IVA, IMPORTE_TOTAL, ID_FORMA_PAGO, ID_FACTURA_PROFORMA' +
','#10' PERSONA_CONTACTO, DESCRIPCION_BONIFICACION, IMPORTE_BONIF' +
'ICACION, FECHA_VIGENCIA,'#10' TIPO_PRESUPUESTO, ID_TIPO_IVA)'#10' V' +
'ALUES'#10' (:ID, :ID_EMPRESA, :FECHA_PRESUPUESTO, :FECHA_DECISION' +
', :REFERENCIA,'#10' :REFERENCIA_AUX, :SITUACION, :ID_CLIENTE, :I' +
'D_DIRECCION, :REFERENCIA_CLIENTE,'#10' :CLIENTE_FINAL, :PORTADA,' +
' :MEMORIA, :OBSERVACIONES, '#10' :INCIDENCIAS, :INCIDENCIAS_ACTI' +
'VAS, CURRENT_TIMESTAMP,'#10' :USUARIO, :IMPORTE_NETO, :IMPORTE_P' +
'ORTE, :DESCUENTO, '#10' :IMPORTE_DESCUENTO, :BASE_IMPONIBLE, :IV' +
'A, :IMPORTE_IVA, '#10' :IMPORTE_TOTAL, :ID_FORMA_PAGO, :ID_FACTU' +
'RA_PROFORMA, :PERSONA_CONTACTO,'#10' :DESCRIPCION_BONIFICACION, ' +
':IMPORTE_BONIFICACION, :FECHA_VIGENCIA, :TIPO_PRESUPUESTO,'#10' ' +
':ID_TIPO_IVA)'#10
StatementType = stSQL
ColumnMappings = <>
end>
@ -731,122 +846,176 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
Params = <
item
Name = 'ID'
DataType = datInteger
Value = ''
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
Value = ''
end
item
Name = 'FECHA_PRESUPUESTO'
DataType = datDateTime
Value = ''
end
item
Name = 'FECHA_DECISION'
DataType = datDateTime
Value = ''
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'REFERENCIA_AUX'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'SITUACION'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'ID_CLIENTE'
DataType = datInteger
Value = ''
end
item
Name = 'ID_DIRECCION'
DataType = datInteger
Value = ''
end
item
Name = 'REFERENCIA_CLIENTE'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'CLIENTE_FINAL'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'PORTADA'
DataType = datMemo
Value = ''
end
item
Name = 'MEMORIA'
DataType = datMemo
Value = ''
end
item
Name = 'OBSERVACIONES'
DataType = datMemo
Value = ''
end
item
Name = 'INCIDENCIAS'
DataType = datMemo
Value = ''
end
item
Name = 'INCIDENCIAS_ACTIVAS'
DataType = datSmallInt
Value = ''
end
item
Name = 'USUARIO'
DataType = datString
Size = 30
Value = ''
end
item
Name = 'IMPORTE_NETO'
DataType = datCurrency
Value = ''
end
item
Name = 'IMPORTE_PORTE'
DataType = datCurrency
Value = ''
end
item
Name = 'DESCUENTO'
DataType = datFloat
Value = ''
end
item
Name = 'IMPORTE_DESCUENTO'
DataType = datCurrency
Value = ''
end
item
Name = 'BASE_IMPONIBLE'
DataType = datCurrency
Value = ''
end
item
Name = 'IVA'
DataType = datFloat
Value = ''
end
item
Name = 'IMPORTE_IVA'
DataType = datCurrency
Value = ''
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
Value = ''
end
item
Name = 'ID_FORMA_PAGO'
DataType = datInteger
Value = ''
end
item
Name = 'ID_FACTURA'
Name = 'ID_FACTURA_PROFORMA'
DataType = datInteger
Value = ''
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'DESCRIPCION_BONIFICACION'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'IMPORTE_BONIFICACION'
DataType = datCurrency
Value = ''
end
item
Name = 'FECHA_VIGENCIA'
DataType = datDateTime
Value = ''
end
item
Name = 'TIPO_PRESUPUESTO'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'ID_TIPO_IVA'
DataType = datInteger
Value = ''
end
item
@ -874,10 +1043,12 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
'TO = :IMPORTE_DESCUENTO, '#10' BASE_IMPONIBLE = :BASE_IMPONIBLE, ' +
#10' IVA = :IVA, '#10' IMPORTE_IVA = :IMPORTE_IVA, '#10' IMPORTE_T' +
'OTAL = :IMPORTE_TOTAL, '#10' ID_FORMA_PAGO = :ID_FORMA_PAGO,'#10' ' +
'ID_FACTURA = :ID_FACTURA,'#10' PERSONA_CONTACTO = :PERSONA_CONTAC' +
'TO,'#10' DESCRIPCION_BONIFICACION = :DESCRIPCION_BONIFICACION,'#10' ' +
' IMPORTE_BONIFICACION = :IMPORTE_BONIFICACION'#10' WHERE'#10' (ID =' +
' :OLD_ID)'#10
'ID_FACTURA_PROFORMA = :ID_FACTURA_PROFORMA,'#10' PERSONA_CONTACTO' +
' = :PERSONA_CONTACTO,'#10' DESCRIPCION_BONIFICACION = :DESCRIPCIO' +
'N_BONIFICACION,'#10' IMPORTE_BONIFICACION = :IMPORTE_BONIFICACION' +
','#10' FECHA_VIGENCIA = :FECHA_VIGENCIA,'#10' TIPO_PRESUPUESTO = :' +
'TIPO_PRESUPUESTO,'#10' ID_TIPO_IVA = :ID_TIPO_IVA'#10' WHERE'#10' (ID' +
' = :OLD_ID)'#10
StatementType = stSQL
ColumnMappings = <>
end>
@ -1361,6 +1532,17 @@ object srvPresupuestosCliente: TsrvPresupuestosCliente
DataType = datString
Size = 255
DisplayLabel = 'Unidad de medida'
end
item
Name = 'TiposPresupuesto_ID'
DataType = datAutoInc
GeneratorName = 'GEN_PRESUPUESTOS_TIPOS_ID'
Required = True
end
item
Name = 'TiposPresupuesto_DESCRIPCION'
DataType = datString
Size = 255
end>
Left = 48
Top = 152

View File

@ -30,8 +30,6 @@ requires
PresupuestosCliente_model,
PresupuestosCliente_controller,
Articulos_view,
PreCli_AlbCli_relation,
PreCli_FacCli_relation,
GestorInformes_controller,
vcl,
rtl,
@ -50,7 +48,10 @@ requires
dxLayoutControlD11,
dxComnD11,
dxCoreD11,
vclx;
vclx,
ApplicationBase,
PreCli_FacPro_relation,
PreCli_PedCli_relation;
contains
uPresupuestosClienteViewRegister in 'uPresupuestosClienteViewRegister.pas',

View File

@ -49,32 +49,39 @@
<DelphiCompile Include="PresupuestosCliente_view.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="adortl.dcp" />
<DCCReference Include="Articulos_view.dcp" />
<DCCReference Include="Base.dcp" />
<DCCReference Include="cxDataD11.dcp" />
<DCCReference Include="cxEditorsD11.dcp" />
<DCCReference Include="cxLibraryD11.dcp" />
<DCCReference Include="DataAbstract_Core_D11.dcp" />
<DCCReference Include="dbrtl.dcp" />
<DCCReference Include="dsnap.dcp" />
<DCCReference Include="dxComnD11.dcp" />
<DCCReference Include="dxCoreD11.dcp" />
<DCCReference Include="dxGDIPlusD11.dcp" />
<DCCReference Include="dxLayoutControlD11.dcp" />
<DCCReference Include="dxThemeD11.dcp" />
<DCCReference Include="GestorInformes_controller.dcp" />
<DCCReference Include="GUIBase.dcp" />
<DCCReference Include="PreCli_AlbCli_relation.dcp" />
<DCCReference Include="PreCli_FacCli_relation.dcp" />
<DCCReference Include="PresupuestosCliente_controller.dcp" />
<DCCReference Include="PresupuestosCliente_model.dcp" />
<DCCReference Include="RemObjects_Core_D11.dcp" />
<DCCReference Include="rtl.dcp" />
<DCCReference Include="..\..\Lib\adortl.dcp" />
<DCCReference Include="..\..\Lib\ApplicationBase.dcp" />
<DCCReference Include="..\..\Lib\Articulos_view.dcp" />
<DCCReference Include="..\..\Lib\Base.dcp" />
<DCCReference Include="..\..\Lib\cxDataD11.dcp" />
<DCCReference Include="..\..\Lib\cxEditorsD11.dcp" />
<DCCReference Include="..\..\Lib\cxLibraryD11.dcp" />
<DCCReference Include="..\..\Lib\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\..\Lib\dbrtl.dcp" />
<DCCReference Include="..\..\Lib\dsnap.dcp" />
<DCCReference Include="..\..\Lib\dxComnD11.dcp" />
<DCCReference Include="..\..\Lib\dxCoreD11.dcp" />
<DCCReference Include="..\..\Lib\dxGDIPlusD11.dcp" />
<DCCReference Include="..\..\Lib\dxLayoutControlD11.dcp" />
<DCCReference Include="..\..\Lib\dxThemeD11.dcp" />
<DCCReference Include="..\..\Lib\GestorInformes_controller.dcp" />
<DCCReference Include="..\..\Lib\GUIBase.dcp" />
<DCCReference Include="..\..\Lib\PreCli_FacPro_relation.dcp" />
<DCCReference Include="..\..\Lib\PreCli_PedCli_relation.dcp" />
<DCCReference Include="..\..\Lib\PresupuestosCliente_controller.dcp" />
<DCCReference Include="..\..\Lib\PresupuestosCliente_model.dcp" />
<DCCReference Include="..\..\Lib\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\..\Lib\rtl.dcp" />
<DCCReference Include="..\..\Lib\vcl.dcp" />
<DCCReference Include="..\..\Lib\vcldb.dcp" />
<DCCReference Include="..\..\Lib\vcljpg.dcp" />
<DCCReference Include="..\..\Lib\vclx.dcp" />
<DCCReference Include="uDialogListaPresupuestosEnvioEMail.pas">
<Form>fDialogListaPresupuestosEnvioEMail</Form>
</DCCReference>
<DCCReference Include="uDialogOpcionesImpresionPresupuestosCliente.pas" />
<DCCReference Include="uDialogOpcionesImpresionPresupuestosCliente.pas">
<Form>fDialogOpcionesImpresionPresupuestosCliente</Form>
</DCCReference>
<DCCReference Include="uEditorElegirArticulosPresupuestoCliente.pas">
<Form>fEditorElegirArticulosPresupuestoCliente</Form>
<DesignClass>TfEditorElegirArticulosPedidoCliente</DesignClass>
@ -135,10 +142,6 @@
<Form>frViewTotalesPresupuesto</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="vcl.dcp" />
<DCCReference Include="vcldb.dcp" />
<DCCReference Include="vcljpg.dcp" />
<DCCReference Include="vclx.dcp" />
</ItemGroup>
</Project>
<!-- EurekaLog First Line

View File

@ -1,6 +1,15 @@
inherited fEditorElegirArticulosPresupuestoCliente: TfEditorElegirArticulosPresupuestoCliente
Caption = 'fEditorElegirArticulosPresupuestoCliente'
ExplicitHeight = 478
ExplicitHeight = 538
PixelsPerInch = 96
TextHeight = 13
inherited pnlHeader: TPanel
inherited lblTitle: TLabel
Width = 606
end
inherited lblComments: TLabel
Width = 581
Height = 24
end
end
end

View File

@ -10,7 +10,7 @@ uses
JvExComCtrls, JvStatusBar, TBX, TB2ExtItems, TBXExtItems, TB2Item, TB2Dock,
TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent, JvNavigationPane,
uIEditorElegirArticulosPresupuestosCliente, uDAInterfaces,
uViewGridBase, uViewGrid, uViewArticulos;
uViewGridBase, uViewGrid, uViewArticulos, StdCtrls;
type
TfEditorElegirArticulosPresupuestoCliente = class(TfEditorElegirArticulos, IEditorElegirArticulosPresupuestosCliente)

View File

@ -171,27 +171,25 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
end
inherited pgPaginas: TPageControl
Width = 758
Height = 366
Height = 262
TabOrder = 1
OnChanging = pgPaginasChanging
ExplicitWidth = 758
ExplicitHeight = 366
ExplicitHeight = 262
inherited pagGeneral: TTabSheet
ExplicitLeft = 4
ExplicitTop = 24
ExplicitWidth = 750
ExplicitHeight = 338
ExplicitHeight = 234
end
object pagContenido: TTabSheet
Caption = 'Contenido'
ImageIndex = 1
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
inline frViewDetallesPresupuestoCliente1: TfrViewDetallesPresupuestoCliente
Left = 0
Top = 0
Width = 750
Height = 338
Height = 234
Align = alClient
BiDiMode = bdLeftToRight
Font.Charset = DEFAULT_CHARSET
@ -204,111 +202,114 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
TabOrder = 0
ReadOnly = False
ExplicitWidth = 750
ExplicitHeight = 338
ExplicitHeight = 234
inherited ToolBar1: TToolBar
Width = 750
Height = 46
Height = 51
ExplicitWidth = 750
ExplicitHeight = 46
ExplicitHeight = 51
inherited ToolButton3: TToolButton
Wrap = False
end
inherited ToolButton4: TToolButton
Left = 278
Top = 0
Wrap = True
ExplicitLeft = 278
ExplicitTop = 0
end
inherited ToolButton14: TToolButton
Left = 0
Wrap = False
ExplicitLeft = 0
end
inherited FontName: TJvFontComboBox
Left = 65
Top = 22
ExplicitLeft = 65
ExplicitTop = 22
end
inherited FontSize: TEdit
Left = 210
Top = 22
Width = 200
ExplicitLeft = 210
ExplicitTop = 22
ExplicitWidth = 200
end
inherited UpDown1: TUpDown
Left = 410
Top = 22
ExplicitLeft = 410
ExplicitTop = 22
end
inherited ToolButton13: TToolButton
Left = 427
Top = 22
ExplicitLeft = 427
ExplicitTop = 22
end
inherited ToolButton6: TToolButton
Left = 435
Top = 22
ExplicitLeft = 435
ExplicitTop = 22
end
inherited ToolButton7: TToolButton
Left = 501
Top = 22
ExplicitLeft = 501
ExplicitTop = 22
end
inherited ToolButton8: TToolButton
Left = 568
Top = 22
ExplicitLeft = 568
ExplicitTop = 22
end
inherited ToolButton12: TToolButton
Left = 651
Top = 22
ExplicitLeft = 651
ExplicitTop = 22
Left = 334
Top = 0
ExplicitLeft = 334
ExplicitTop = 0
end
inherited ToolButton9: TToolButton
Left = 659
Top = 22
ExplicitLeft = 659
ExplicitTop = 22
Left = 399
Top = 0
ExplicitLeft = 399
ExplicitTop = 0
end
inherited ToolButton10: TToolButton
Left = 804
Top = 22
ExplicitLeft = 804
ExplicitTop = 22
inherited FontName: TJvFontComboBox
Left = 544
Top = 0
ExplicitLeft = 544
ExplicitTop = 0
end
inherited ToolButton13: TToolButton [7]
Left = 689
Top = 0
ExplicitLeft = 689
ExplicitTop = 0
ExplicitHeight = 22
end
inherited ToolButton6: TToolButton [8]
Left = 697
Top = 0
ExplicitLeft = 697
ExplicitTop = 0
end
inherited FontSize: TEdit [9]
Left = 763
Top = 0
Width = 216
ExplicitLeft = 763
ExplicitTop = 0
ExplicitWidth = 216
end
inherited UpDown1: TUpDown [10]
Left = 979
Top = 0
ExplicitLeft = 979
ExplicitTop = 0
end
inherited ToolButton7: TToolButton
Left = 996
Top = 0
ExplicitLeft = 996
ExplicitTop = 0
end
inherited ToolButton11: TToolButton
Left = 929
Top = 22
ExplicitLeft = 929
ExplicitTop = 22
Left = 1063
Top = 0
ExplicitLeft = 1063
ExplicitTop = 0
end
inherited ToolButton12: TToolButton
Left = 1204
Top = 0
Wrap = False
ExplicitLeft = 1204
ExplicitTop = 0
ExplicitHeight = 22
end
inherited ToolButton10: TToolButton
Left = 1212
Top = 0
ExplicitLeft = 1212
ExplicitTop = 0
end
inherited ToolButton8: TToolButton
Left = 1337
Top = 0
ExplicitLeft = 1337
ExplicitTop = 0
end
end
inherited cxGrid: TcxGrid
Top = 72
Top = 77
Width = 750
Height = 266
ExplicitTop = 104
Height = 157
ExplicitTop = 77
ExplicitWidth = 750
ExplicitHeight = 234
ExplicitHeight = 157
end
inherited TBXDock1: TTBXDock
Top = 46
Top = 51
Width = 750
ExplicitTop = 78
ExplicitTop = 51
ExplicitWidth = 750
inherited TBXToolbar1: TTBXToolbar
ExplicitWidth = 750
ExplicitWidth = 566
end
end
inherited cxGridPopupMenu: TcxGridPopupMenu
@ -325,106 +326,27 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
object pagPortada: TTabSheet
Caption = 'Portada'
ImageIndex = 3
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
TabVisible = False
object Panel1: TPanel
Left = 0
Top = 0
Width = 145
Height = 338
Height = 234
Align = alLeft
TabOrder = 0
ExplicitHeight = 398
object Image2: TImage
Left = 16
Top = 16
Width = 115
Height = 170
AutoSize = True
Picture.Data = {
0B544A76474946496D6167651C0900004749463839617300AA00C400008E8E8E
CFD3CF8C8C8CFF0000BDD6C697A997ABB9AB8997897888786874688689865763
574950493944393539355F5F5F8A8C8A898B89878B87868A86888B88B7CCB7DA
EADADEEFE7FBFEFB0000000000000000000000000000000000000000002C0000
00007300AA000005FFE0238C64699E68AAAE6CEBBEE90360746DDF78AEEF7CEF
FF401D60162C1A8FC8646EA86C3A9F4E26744AADE2A4D6AC5689DD1A2FB48BC5
1B25928104CB187309D002E973B12BBFA9DDB4CADA8227D8EB3C74806F703501
6B62346A35177E834B668F6169783C6018049717979282646A9C95407B996B8F
9E5E171518A649019B8EA7917516993B7C04B9048739B59C83A856AD3A1615C6
C7C8C6C38CB675C154B515B13701C9D6C9C36A71CEB35B63CBAAD7E2C7BF62AB
80CF55CBC5E3EDC39BC0DD80ECC9BB8770E2CBB2928AC8DBC4048E4DE38721DD
168160E088C221465F27796702EAA121D11841230685496394ECD7C51E19AB6C
AC51D198C78F3B42FF4E6974C31A4A202AA1BCB241CFD8C230B572CDFC18F3C9
B06AC84E9644C61322A0A137C2E5BBD8D34A3D1BE178D5C85914653251BB3055
B859F523364663C20D44D9B44A49536B803A245896CA591C125FDE683BA5E6CD
B8726BD085A274A40DBC790B1A05E40F07BBC034F6FE68C3B5DF3186167BC03A
9945B1E47F3A902D0BB8F6CDAECE532CFB149823F20E31F0CE887E12D4F0D6C0
AB2F77260D1934BAC1753148D5A1D4A18593BFF7D5C19C4329E5E2718E57C6BD
328844E57626DE96947A0750E850853F6AC6A39A6D7EB1D154974C99FBC34789
182551357EFAC55ADF15D1C4BE25BC9134F4498E05CFDCCB34969CA481565664
F597CA54BF99220DFF5A79D9D74400BB65720E620E22569F8116BE546186566C
C821151E7E084588229651A288249E98448AC5BDE2E26F2EB621231EBC3416CF
45066060C00539F2A8A38E3CAA42C88F055EE446056DC028648C48B202E13D5D
A968618A09B66198298CEDC1871850BAF8061BC1A98661125A426881014F9A89
871A88F0718F9569C6999F896754E9E22B5CDEB1C96FF0BCC2279B6C38790897
DC1034E7872C32F224186C26740F8CC1F1B1C8185E9EF7889E6CE099259F8BCA
C8A86E7CF047DD266090CA28A98AA4875AA0AB5A2AC94EEA95CA6918F06C02AB
AB83C0896AA56EBAC198AC36CA9128549B18C0272B3252DA68A7A03035A69485
5E945E526069A29EFFB38040F8AB998E429A66318CA509AAB637D631289BDCEA
36E821BD6AABEDA6E9BA57E2A1F242DBE0B3F692316CBE20E1CBAF16FBFE2B84
BF02571170C173118CF0880A2F4CA7C3B8425CAFC4D1523CB1C5FA368CF11C1A
6F0C53C71EFB7030C4233B5CF2C20635C4E6CA2CB7ECF2CB30C72CF3CC31D397
4EB021B3D2AF2539FB00DD335A4A0A69927B32A69B1871F0122ABB1F76164C7A
AB2893861FECAAA1C7677A540306928446DDB4724F5FB2553102FAB1891EC5A4
8D41D64D0A7DE4DA1FB66743D8F2E93CF4224A2BE286D2BE7EB3088772EB6554
E03D139BD2E009B5A3F8E28C37EEF8E2B41E7E1ABD18132ED8E4855B0236E299
633EB0E79D33B439FFE83A534E6BA9C85A8E92E5741B220D3EBA4843602F4BDB
1A2AE0A3F3F6CB6F2519E0FB613ABCB9EEB416B2CE7916A68F2AB9EEA11797BB
F3D44EF5051B9C6019A85CC693FE5982C6866989A48BC2F8E4ECAB3F2FFA5FF4
AC6D80693C24780FBB6D50823320D9337F6D58A6FA8CAAACFB5FFF52FDD06B5E
52CC37C0E26C21795A00E0F9A6720863F10F3B59A144A8D6E72624ED4D52A0BA
839BD8648F1AED4D5BDBABDA1B2865B8CFD98F229B2840019261ACF6A96147C6
3AC4D8140207D4ECC849C56A081CD0B4153F7DC600014952350695883BCC4E81
05ACD6F6D0059D49C187524CE3459226D510D4A16A68994A88BA6C072818212B
72260CA0001941C0FF128E118C90205D1206C0C636BAF18D708CA31CE748473A
A2F10AC76BC200F2B547EA2D4F8C4A1880A90649C8421AF290884C24A9FA8844
3306F2022A24640114A9C84952F2928C2C23199F20480454E00007300002CE84
8050FA6E01A034400110A0C20310E000AC2C80010E508054AE7047974C6426FF
B8403D5E2096A15C00016A09CC06B49296A13C40058889CC55264095B0CCA52E
EF983035224190D2A46410B349C95D86B1978F648FA9F8D40870719390E43CA7
37D378C247568095BE83E62DE37900DEC952952AFCA431F019CA02B0E302B454
A5EF4CE9CF6E52736E797C642D17504B5082B2A10F5DDF2C59998002240096A0
4CC0026659CB65EEFFA8000DA8A80A1180CA02644291EBC4A3358F20C89509C8
02FE64591A9451CE5A1CA09C2FFD8D25B5C1A67AFAC2A07EFC66127DD988429E
D454472DAA528D3A4E7226B5A8494D6A4AABD9CE353602013B2A060C55F8BBF5
AD301304C02A24D1764F597A9447AA34C92CB35A01510ED3586D95E5220F2AB8
951A4190B57CE6442D5A4B675A80A1B48424031000D05AFE7585B2BC68011670
818A5614920B18A549159B00563294A1279D2A42ED5A04410604882F8429017C
578000A0094D6055651B4C220D202ED3B4A38DAD848669B5AF8E16A640C4E505
345BD7AA5EB368874C6721854B2A7212979BBC4D4C42AD6A0157A266A6A44200
67B6A7329F9E366DFFA3AC8525CF39D7A0B21390565DE84091A9530420A0A2A0
0C08614BE90056821298C90C2C77BBDBC84D3A4190CB34E999D617CA46047499
6D6DAE2AD62AD17D7E92B45C9BEF6EE9AA5CCE06019B97D41428141CDCE326F7
72BE65298FD296861D6DA59E60F524402B3BD2551E200122150368D5CA80775A
F4C4154880031AEA580B50D49F176E9D2F69B95863A890C4A504E86055B14A7F
0E53BAAB9C2591CDEB5E022480000DA84003D24B52596E94C9FE64C02473BCDC
DF2200B6AAA8A749E130C9D14E52BB6D15686BEFA9CFDCFAB8111C9D24478D15
C9D17AD5025C7630105A4AE13E6392C11806EF6F555862589256A48FC5EA682B
7AE459D212C07E36A1559E337CD7304FD201B965684819806220A2D8A2327631
8A09CB0048469ABE9A04F48379244BB946A3AD000DEB0A893CC99BD6D2581515
6D82FD7C61087459C3A70E76212F2C81C1C48707754CB6B297CDECBAE9C0D7ED
3BA3F478D90B6983C620DECB1CF184CA1B9A79FBDBE00E77CD7E70328495BB60
E71658BAFFB56E7EB53B5FEFB617004400837ADBFBDE2788C00414C0EF7EFBFB
DF0AA000BE47F0801000003B}
end
end
inline frViewRichEditor1: TfrViewRichEditor
Left = 145
Top = 0
Width = 605
Height = 338
Height = 234
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@ -436,7 +358,7 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
ReadOnly = False
ExplicitLeft = 145
ExplicitWidth = 605
ExplicitHeight = 338
ExplicitHeight = 234
inherited TBXDock1: TTBXDock
Width = 605
ExplicitWidth = 605
@ -452,8 +374,8 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
DataBinding.DataSource = dsDataTable
Style.IsFontAssigned = True
ExplicitWidth = 605
ExplicitHeight = 312
Height = 312
ExplicitHeight = 208
Height = 208
Width = 605
end
end
@ -461,277 +383,27 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
object pagMemoria: TTabSheet
Caption = 'Memoria'
ImageIndex = 4
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
TabVisible = False
object Panel2: TPanel
Left = 0
Top = 0
Width = 145
Height = 338
Height = 234
Align = alLeft
TabOrder = 0
ExplicitHeight = 398
object Image3: TImage
Left = 16
Top = 16
Width = 115
Height = 170
AutoSize = True
Picture.Data = {
0B544A76474946496D616765821E00004749463839617300AA00F70000DEE6DE
E0E8E09C9C9CCDD5CDDAE2DAB1B1B1E4ECE4CDCDCDECF1ECE2EAE2D2DDC79FBB
9FD2D3D2EAF2EAC4CBC4F2F5F2DCE4DCF7FCF7E5EEE5606160ADADADD4D9D4C4
D5C4D0D8D0939593D8E0D8A4AAA4CCD2CCD1D5D1E6EFE6D6DED6E2EDE2C2D0B3
E9EEE9C1C1C1BDBDBDE4EAE4D0D0D0CAD1CAD8E1CEB2C5A1DCE2DC979B97D3DA
D3E8F0E8B5B5B5ABC4ABD6E2D6F8FAF8CACACAFBFEFBC6C6C6D4DCD4F0FAF0EC
F4ECA5BB90BCC3BC868986C8C8C8EAF0EAA6A6A6D4D6D4B0C39EC4C4C4ACB2AC
E1E6E18A8E8AB8B8B8DBE0DBDFE4DFE9F4E9D1D3D1F5F8F5D0DED0888A88D8DE
D8E0EAE0DBE4D3DFE0DFA0A5A0EBF6EBE3E7E3DEE7DAF4F7F4DCE0DCCCDBCCC5
D3B8F6F9F6B5CBB5A3A3A3E0E5E0E6ECE6E1E9E1797D79D7E3D7A8AEA8EEF3EE
E5E7E5D7DCD7B9CAA9E1E2E1D2D7D2CBD8BFC9D6BCB7C9A78E8E8EF2FFF2F1FF
F18C8C8CEEF7EEFCFCFCFDFDFDFBFBFBFAFAFAFEFFFEF9F9F9F5F5F5F8F8F8EF
F7EFF6F6F6F3F3F3F7F7F7EFEFEFEEF8EEF1F1F1E5E5E5FDFEFDE3E3E3EEEEEE
F2F2F2EBEBEBF4F4F4E9E9E9F0F0F0E2E2E2DBDBDBE7E7E7E4E4E4EDEDEDEAEA
EAE6E6E6DDDDDDECECECE1E1E1E8E8E8F0F8F0DEDEDEE0E0E0D4D4D4F0FCF0F1
FDF1DADADAF0FDF0DFDFDFF2FBF2F4FAF4ECEBECDCDCDCEFFBEFF2F9F2D7D7D7
F1F9F1D8D8D8FCFEFCFAFDFAF6FBF6F5FBF5D9D9D9F1FEF1D6D7D6F8FCF8EDF8
EDF9FDF9F2FEF2F3FAF3F7FBF7EEFAEEFBFDFBEAF3EAEBF4EBF3F9F3F1F8F1EC
F7ECEBF5EBE9F2E9F9FCF9E8F2E8E6F0E6E7F1E7EDF9EDD5D5D5EFFAEFFCFDFC
D6D6D6F5FAF5EEF9EEEAF5EAE7F0E7F0F9F0E8F3E8EDF6EDECF8ECFAFCFAECF6
ECEFFCEFF8FDF8EAF4EADBE3DBF4FBF4FBFCFBDFE7DFEDF7EDF1FCF1F2FAF2EF
F9EFDDDEDDE4E5E4CEDAC2E9EAE9F6FAF6E7F2E7F2FDF2FDFFFDD8D9D8E3E4E3
8D928DB1B3B1F4F5F4F5F4F5C8CFC8F2F3F2F0F4F0BFD2BFB1B8B1F0F1F0E2E3
E2F7FAF8EAECEAE8E9E8E6E7E6EDEEED838683D1D9D1E8EEE8D5DDD5BBCFBBEE
FBEEBFCFB2AAAAAADFE3DFF3FBF3F3F6F3FEFEFEEFF8EFFF0000FFFFFF2C0000
00007300AA000008FF0027B01948B0A0C18308132A5CC8B0A1C3870927A4F947
B1A2C58B18336ADCC8B1A3C78F2035A69918B2A4C9932853661CA9915F2E2453
A6F0B378274F9D3973EAD0B1C90F8E9B372A4BBA7192AAA8D1A348932A5DFA6D
D045961891EC98F7601F821DE72A3A8244E80E224384202DE2A7884FA099413D
D229630413264B6EE1BE8D2BB76E5CB773F3D6B5E42903368B502DEE9B87C400
3A2C1642EC4040710E9E42780229AA2399CFA0418EF2A4F5D803D51A356B3E83
E65B0953255895520FAB64A95725359E2A7942C52CF6306B9652F3C5E4698D3C
381503578C0623890B0B168EBF414231CF1D3A6F0205CA4387CE1D3C7CDC6CF6
282F3468D16B8C10FF10F3C10000004B123C83E00C420654093248B8C5C54006
6901022C799680C0870E6B30734870245D8480175854C18F1B6EA0F5CF1C79FC
54C78470C411471E11F2A3E186FF70B89D3C6A8016A277B648B00B14BA24B0CA
07C57041CC325C1C838901BAEC328C2C461C634932B2F062C48F46F0A2062603
52245C45485CB140005BA0530F0C15E581131E71D491071F70BC31481C6E4486
C71D730C42591D786CF74F779F7927E29ADEA9B9C631B874B08B2C0068210131
1DE82201149518E04907A01149A046FB2C8000005500E32085D439F7251C135E
78474D6E8449251D66A2F9DD889C6EEA2617120010807A19A46000171D182001
33104800412F6B08FF6A64811581F10F302E6CB1C30B149D03CC3F79C4810783
77D471C720C50E02C74E6E5C3887991681C8669A9FCDC61A2AA8CCE6C96C9674
63092AB2A566CD2FA8FC62095FDDA0326491FF1CF9CF14FBFCE385056F78110D
3008FC0A07753F15AB93855B4E1A071C60425B91A66E8688CA2EBCEC22C12F25
CA72CB07BAF0520C2FC9AC620431B7C8224B321D48204B071D58122BBBEEE672
0E0C7EBC10801FC0EC632BB003BF01661C81D0E1061D37DDA1A1C117210C9EC2
9530630F6ABCC5068B27C9C0C2CC30B9A5E6492BDB9ABBADC9B2B64B6B455320
8084324982C11845C242B7D31CC77699AC834053242D78D4760AF7A66AF4E20C
2EDC3823712F124CFF03C52DB7F4B2EEA019C1C0CEA9F05AB4614F6FBCA16196
3E35CE8FE39303FDF68871B38939DD9E2CF32214BC2CE3092EB0AC720B31B00C
3E2B471E5614C8757AE0314720783C163B1D7AF0C1C7B1AF5BDEE6D0D3D20DF7
34B6FCBDCA30B610F3B72DC72CF3CBC9849744B9E48D579F65F58E3B6EB9DC99
03FF7B88B354BC8B2D9EE0C98B2C293A638BEA5A5BE40B25F0C72FFFFCF4D76F
3F25DAA575396BAD284C748896E89F35FA1722354CA312ADB0C4305AC1C06178
822F0C649F701647C10A5AF08218DC4C19BC83895DAC82179ED8450270A18B8A
C9A21706E8C02F02601E26F0E73CD2480100B8C0055E188005A24A4002D6E009
946D2D0E9C08A210FF8748C4221AB188803013254664895F5462159858852D96
B68A5E30E389ABF004C66E0105092C8317B6E8D82DF406B86570D116AB504319
F2D73ED71D21050420400AE0384739C2D18E78AC631DF348C71464007F9BB9C3
063AA089421AF290884CA42217698C0AAC0330B4E280E63CE5BDEE716F5335F8
C676DC2089233080019E04652847F9C95082B294A814652A7B408EA7D0AA023C
EC00FA48808B5540A103683400C348D0014F042F61D3AA40DB86B911E154400D
C9D0A134A44100092400541D1055312490424BFE5234C224A63621699163628B
2FD370E20353B307A835D133C2BBA49AB2B9CD6D1AF333B961A03C19882D0656
A25CDB8A4D25C805FF4CB8B1B39DC43426686C71A20F10037D1238460778D18B
1EA11002D200C031B8F08C345E3344FF0468DB04BA86D454A217C980022C6C31
8C55AC42367C59853358B08555C08217D350273635AACD77AA0116A8C1296B24
80CB63F054630630002F704149E1512BA33485D63BD710D25D1443A8B0508F34
B8A10500E8491A44606668B6CAD5AE8606A949DD0E47CFE5096A50E35BD4A841
6C3C610DD93C30ADDEDBDC3AC3BAD1577EC616BCE0852E8861005804A917BB38
463A8B3AC9AFD21568C6B4841A52A3314FC84236BC99C52C06FBBD49AA41164E
38ACC18433070E6CE0B3A00DAD68474B5AD25E836D9A4D8BBB52CBDA93ACB6B5
B0FDC86B634B5B91FF6CADB6B85DC96D73CBDBD561C41FC00DAE70874BDCE21A
F7B8C84DAE72977B5C8CACD61F14E1D0E23A5411D462E467D48DAE83AC7B11EE
5E37BB8A0B0A745D9991F1766212238084284A3082479C62048E98011C18C087
12F0036D7198541D06F1BA42CC010E5F82D0630AC1B3C9C0212737A9501DB234
999C70E90D7A98D44E60978742C0C111C822D322ACE386053F2B24E3E5E66F29
C208465060129DF0050F1621890224A2058A388021860088AFF061128798C425
1E010A5F64621093C84420503C0944640214C1304421FAD08844FC41107D48C4
230A7189433C22118458C49019D1883FFC21C79710C5250AC188415CB9CB97E8
83200CD108449424FFC4D1B3C8783148E73E14E0CE78CEB39EF7CCE73EFBF9CE
83A03376410267DF5EA4D02019F445805211467BC4BB1B51F47610FD5C8AF041
0F83E00324F080E9400C623252CA0320F4C0083D4CA7108AC0031D1441084014
820F74280464F800884CF357117A18F520E8100742142277778803AEF150162C
717A1080B0892376470738B8BA1081885D1D4E42E9DD8E97108FE803930FC188
3F8005118270041C08D107423819128280042020C108AE983B1382D0C3220C71
09733F82109930C424B44D883F00421284D0C324BAF2874CF4E11108E7C39517
D1874538C2DF8A484420FA60883F2022DB8C80B446AA5DDEF066841F71E08866
CCB45DED7A1CBC51FF020EB59D6BEDDEA696E32376F961617E6899CF9CE51DB7
7958692E678AA83A0E93D350F53434B00635EE1F0D0A3A3F7CB6F40A4AEEBE4A
AF125022B46090E7E16714A49CCFDE7075A04CCF7152D77845783E768A0C4214
92B844230E710A4628E2108D78049B3BE1884C48C2BDA7F0F1214051023D1CDC
11A09004BDF3DD0847D43D116ADFFB244E510724EBE1125F3944261AF1864474
821292100524324188BE23A204A2F8B22FE82D8A465C22C8A020C447C84E91F1
BEA1427328BA4F642F7B38544810033BF01CDC607B45708952161A56202A64A1
E2DF77F7737843EEAD64FBFF6A7A60C93F30EC0766A1FFFE7760ABC779CC754E
53D6FFC3F50C2258FFB3DF50870569C80D816010EFF9016B30F1830EFF65D082
DEE00629D19FF7AF577FE3F870FF37C43EF971001D3EC17BE1871375807F0DA2
7F70C00F81B06007887F1BA77D35F70F7AC00092D009A2000A8D60777FD0085A
76088740098F200987E0159D500892A0083D667A99700755760A97D00980D009
24780A69C76486B0088D500887700986D00797700A8BF0070C508189100CA000
0A7D100C9770090C700AA030828EE0838840837AE00B9DD008A7B081A0500811
485E31777FBC677BF4477F3A337C0C528669D82003786079907EFAA77E0AD838
3F9186FDB77EE1B7867958870BA27E0B388072E86813286283D868D9F30F82C8
7D69E17DE3450790FF806B89D0707DE008E556268AB88812D873FF8007D8D607
935071FAF6088BB0086C748928C188A60850A8988ADBB48AAC484CAEF88A6D13
8BDAA57183365D64738BADC33A92A68A995876FFD00999100382700AA2100399
700931E00825F00F8DC00025A08307000925D008345865815002A0C0004E3603
80700062168383700878500207C000811003A2F0083B66088790088C4057ABF8
078990059D000A0720008870083CF00714900833400114D008253003A0500023
A0033FF0033340073A500222C00088100307C003A030030C9907220007053004
F0350323100318A903EB1503F2F88BAD47118DC325BC1707F4C725F157218068
7B75C886CDF27AF4FF4793F2F7870F46800B887F89E88B603881BD9868DFA512
6C2376D0B28AC83607BC06213A91134B8707792008D6012115126139A10711F2
188E21257560217AE094569207CA1296B16725846019D3E60871107B0213086F
591DF0F7967300080473070DF87E6199251CB18A7A7008E7657A7DC000A5D709
70000A7A708159980999C007832909806008A7B098BEC08E87F007A080088B40
8377678C93F007A2B0085C368293608D8F900788B0856AD7099080085E060A3D
28097CD00799D0839DA0768F197782D0087AF09728F97DD545398B1669A8855D
82189416A1252AD96821D721DCA57CCDB911CA598886A689E7373949B7219473
7EAFD713D029740BFFD8138FF31382365D4F677E146474DD295D20B738DB898B
9A48889AF870DE168989509B178708885008AED608B699088640077F50647FC0
08864089997925DC069B35466E78C008E4F607ECD60777200825C608892016B9
D30707AA6D88C06E4A666EEDC60F84400892108970F0087EB7A11AFA077C805A
4C59088ED06A7AF06A8C100880B0A374403B8B906E84E00875E0083BCA078A20
088010167C40259726083973695C190890000998366A61826A80106F99460780
A0088510A43B9A6B833089F29669A6060867010877F06BD211088BA0082A078C
F429A7D7A594695194268116787A94F31967C07807E3494157C70FE5B7387D79
9E42C7741EB22185FF4AA8BB878B19549E174468C1395E9E6808FF9607535A70
93C0071D4807882009A27A0888609B1407081AFA088C300993706586908CD8D6
0893000975206F9DE06D93E0088B300917A86D8FA0088AF0070E07A058260951
866A8F9009BC2A7817C7A5A479071EC194D371077C1007C84260BC0619CB026D
D0066BAA762974300879801D5639087AA007E14A3B3D83083D5A3BC66216C782
3B68036B9B560780E018BBF6967CD0ADB4731D36E1181F069C43D9A7D465A7B2
D811AB08217980AE80007407AB12AB6808A2D00930780A99508A0FFB66959AB1
40438BAF2807201BB2220BB21A3BB0746A8A72E007A3200311500A9BF0B2B460
0A2F6B0A11C00A06FF2B9C269B928A28071A2203AA1001D5600776D006445BB4
46DB0676B009369B7D398BB33697B2AC1001AE100942DB067BB007FD90B55ABB
B5FDB0076DD00FAAA094AB480850E6888290088B00097D800790F00F82106E7D
A0339080136B59668810A18970B683F083A00A084BBA8974A0A18AF0087C3021
88A0086576A46180004B601F4175B55C1BB95CDB0691A00A7280B01BFB0F3F98
052418032AD099592008148007943003EC25026F30903140018640010C300407
80073170081860BA2320020570008230046F70BB7870007FD0023360083A5000
C12000DA30025FF00419A0010E80012B8003923BBD5BDB06A1300A98DBB4E335
087860083A0A0889FF300885F0077AF008D8816B5CEA0693F0B690F0704E8607
493A087F106D5C8A086E2A087050086FDA158010AE8280088E602ACC741F2B60
002B90001D40BD0ADC0F7610011AE7B1A9C50F7EF00AA130B45FBBC018BCB576
F0090F9CB973C007D079604107601A8207DA632142179E33D19E41A77542777E
D1F000AE40B41EF3B5BC800CC5D00612800CFD50B45A4BB4597BC13ADCC335DC
0F0D300E92039D04DB461368088B5965A040098E60798A8063A0700A7B370763
26091BB87689000A89E0068690827FF00894700A88200A856008ABAA08929009
A2700D62E00003E00117200F17300010600226F00C34300019300003B001B270
0126B0022B000007FF3C001770C7805C0E2B90C70460006A7B0882F007C68A29
3A3BA73AEB7F398160CDC2256FF9AFE5F75F6E8933D4875FB95725C817CA0038
075360030D800BB220591E230B36800B0D6003B3800BB3E0310D800C00E0CBB5
2C31C5200DBF2C590D70CBB260073000290C62218E06C18A76B32121C1A5D0C3
19BCCD0ACCC102CBC9387B0737FA6A347A078EE094397A168E701D8570198A00
08E7EB5FB33329B486AE7C90071746950F4002D2204B09404D12C005FF6C0023
032AB3F00C06300B0630C9CF104D3AFC543A6400C5201F290401BC200DE7D0C1
DA4B11A4160CDE067753BC6688109A7C406E8B8070BDE98EDC36096C9BA598CC
AA3FAA08812009EFFF10058A0CC8CC440F1B9001047001CF201F1910D4D26002
06F0D317B00282BC0201200FEE71D419400319B002F23000E50000414006D90B
CE88C611A5C85D58A711721001D5ABB53BFCC341ACC0C870C13D8C0B921B09A4
10AD994B9E2D8C88953313DB65D76CC368DCE507628DB592FBB56A2DB97630B9
DAACB583ADCD76F00A779D735A4D1185C09991486E889B0789A00782A03B8200
AC7D20D3642B0879E0A54E3C088BE09F6E90D982E00E3B202AB8800B09302AE7
0101140500100000D250435C304300A02A1ED001CFE02A10150019D00114250D
1EF00C0130C90FA00E5FEA6BC7B67D7EAAB36E6A085056C6AD7A6334AA6E88C0
081727DD7F40088CFF10B889E081962D167320A089900FF6F10CCF0000F4400F
EC4D001900011E4000F4B002F07D0BF2ED1E0170DB450DDFCF104344A02B5A50
015AA00554E004D8400769EB64F6EB088AE0DCD779B21FA1947A4A116E900B91
F0C3B7C0C3DCECC3A1E00A11400A32E0071B02B27020B225DBD816BE38B18788
4E0114EF973DE8F920D49A256FF90F72A00CB510D8197CB5401C0AA5C00AC040
E2B398B953080A97100C6E4C0943D807A1C7078210780C000A5F160C793BC668
979B93200AA2A00832B0E3DC1CC4941B09A6400A247EB9B098B990C23307682C
FEA77BB283211862802E8936A48C213CB3093CBEC05E6B07A630E4D60CB1994B
4CFC100187BDCD48FFFB09618BE61A05C1662207B110097B2EB97D4E0B361BE8
9BE1E8DBE107339CC15F1B0A11E0072F37E840C30FA570E8D40BC4A540E4A3BE
D188983FDCA911DD69E1D7F50A5D9BD6918BEB485B0BB9B08B18C1465D8D7D16
AE9C95831129EB0FAC1EE13ABB845BC1078E00AA8370A20ED76A7880A17CB008
E60A6EFD9BB661110501200DF1DD0FEA510CB24D03060001101002F0F0078AC0
15E7EAD9D37D0A89F079161708D3C86AB67900B9FA648FD00886503BCF4EA4FC
F9A38EC00FA4F00AA5600AAEE00F9F200C367BB995F60FC9E608A8C60864266F
AFB9667D90A493A09A492AA57ECB0886F707EBED011E60EE0100001210511E90
0044E004593A098BFFC099E966BFAFFA07C100098F200AEEB808944008EDAEA1
B22A9A87F0AA7217088850957C600888800DEB1005A1C0C045EB0F406C0A3311
F11FE192137EEA635DBDA1400A982E3DD5E507ACB009190EC45BEB0F411C09D8
1BF1ED19A81504F7EED921A490D693DEC36ECDB3189474404767B6B721D00174
7DDFB36060035F3B0B92ABF6599BD84CAC89AC9608851003675C8D9770073170
0AE7B58D93000AB9D9097480078320088F9D02ED6D001E304310B0025C400FCF
400451B0086B1A052140054510045A000EF1E6768CF0038D00BEBE20021B187A
A28008BEC0E5A439038E89C505070E1C400338E00004500E783C00BC90F63FFC
0A8D0F8C5C3A6AC1FFE0A14516B794B0D9E0DBDD795B62171A6B7A4008B70D01
2C900029D4DACE4402DA406BED800001D000CF1454195004EA00108AF82C9AC4
480FA147A7FE2842B4E811A43E841205D2F3E78F4347DA9C2420106045066919
00702190A0DFC97EFE50F653F52F4D9A7F3165FEF337F31FBF373671DAD4C92F
263F552B85B6F9344A0E3F52B5DAEC19DAA6962A9F3CA54A95E3479552A15951
FADBB3A74D283F2E61F2AC39D5EC593FB4DA68FD1A4BCEBF58A1D66AEDB79655
D4B353FD98B233376BD73681DBD8F167C74E24A862A596CDDB38A61C6576B432
55F596DF36C9744F120DEB5867AEBA6C07F7AB456B53A966FE22348B15F5E562
CF8EF9BD9A6CA754FFD45891986A3E6927D7DBD8379545F27BD26B9B489B7291
F2C3CF393F7FCE812B261B3C2F3F5A9957B6D9D4F95F50DE28F798C2EBD9CFA7
E2750F9B6A0DDBE6EBEAD6CD8EAAB51BA59D4F32666ED2CEBB0DADF2F23A6A9B
E2BC8AA41419F899CE26C664828F41F9CCA26DA848DC9AC995F0C4033036A084
F2EA935C028C6FA607676A304299E428A5BFBA220890BF0CFBB16343CF46210E
A5C13631AAB113A98310459D4CB1AFAE4FBC9389AF186714D12CF036B34398E6
9E3BABC71265EA11453F3014CF8E08168CC994184FDA6449AA84F1EB493F72D9
64135364F0D2449EAA8CE9CA086DDCAE3BA93609B39F311D9363945098F20ACA
08EA0AACA837E78CFF73AC1F81948914EDF640542A2D335452B615FBF1AA3B52
42DB6C9344695AD43D47632AF4BE6DC8443243498D348B9F5A24FB6F147EC014
AAC2A9A86414CE52FF91E354944831AB993D43D1AF313F02DDA316A3F8D15328
3B5A22D5C15DADECD5D74D769394CC7F3A0D3312611B6305A5CA6E7A76A56813
D5755A20E5F864256542ED76CF7E72698C9F526474A5337E5C61718F2ED9F591
D752DDDD8CC6A9720BB38D72D1AA662D69CDD5AA1475471DD151834F8A20AF2C
87E4ADCFB3F88186B451647296C57EA05972DD8B81F42694932229F92C1551A6
0B2C8EF569E315BCF0D50AE79607B6B6D7973555B9B1096394594068704DB149
A18011584E9AFCB1FFFA6AACB3D67A6BAEBBF6FA6BB0C3E6DAE26B7992434B65
6483394961E4F5D51461021C05BDAC4CF18CEAB2E5D0339499AF73C563BA5AA5
B91456BCF419DA221DC3FB5A39A0B9B4313972B199AE70A792E315A979EA74C8
3D7C733BA6C57B9503CCBB3C8B45D330793E8B15577FA27B3B57B8A5B66CAA4A
59DABC8763FCAAF5999CA36A5C0FFB21E5F3D00B56E5763F0B059CAE80E53B2F
3D3E6517DA51DF7FE267947D834B167AADF0E3B7FA9B681E97F37A652F3EB626
4E00E10614501803847BD0F0211B1F3C9BCD8EE53DB4A374054E18E3867BDC00
0456F0011AC660053304A92F2BD983B1E4753ECF48E1046700810F4E70023364
C30A2750C0186243FF9FC90D2576FFE81F08E8D7040564C3841354004FFC00A3
EDD0A26F64A3DD4CE4F039AAAC2A3C7B00178AFEF43A1CD18277D3AB219064A0
1BDDE12942FC88051051678AE6D0B088D4D3216F3AD7BC0891E24638E28E8820
3845C8B10289AC4A1C8A90E28AC088A71FC2481089AA054633662A75D2A3991F
68B314E37C25027E00CE17E1C831276A06399533E32B42B140279982143EF1E3
1FCD220731722F2B6DC81EF546510AA5CC25309188C0281AE9C8A9E00B7FAC8A
161D1D23834D44C2505EB14328D8F046505AA72A68D45D2D4224BAEB91E215D5
E84B609400CB5806470EC008E46490533AC6F1C30FA460052954F1CA60968A1F
A0B18F3162668C48FF182314C668032F3E110B9399524037E4C727A73284028C
E00092D0410C78400149FCC317824004F584B14013A84005E9D08000C2F1040C
7CE10B40C001070A2000431460080260280F664081188C40051132A7540E5100
0A9420064A98810E04808F42B4600605B884A3FC90AF3638400542D0800A9E90
03210801084F8887061C00D0446060083C10C42918AA84110C211C1405A675E2
C0074838020F8A28441D0CD1073AE8210F845884345F21196C66139BA108C500
8A0080010CC004E2B80603245102DA55349A52F119F4243081814EE0095D8847
17C491862CC0A16C6A5D2B4FF851A8F434A0010648802C0C908172B0A00CE6A8
E75E8BDA57EBF0A367195BB4225194C1C76BF115B23691C364F1181EE4EC519C
67D1EC667BD70CB948723B078AA2A34A6B5A93C5C214C4C91F8EECB089458E56
8AB0A55E2EB09221E4B047B7249A001B8C7B5CE42657B9CB656E739DFBDCE52A
2107D3A56E75AD3B5D2540B7B9130808003B}
end
end
inline frViewRichEditor2: TfrViewRichEditor
Left = 145
Top = 0
Width = 605
Height = 338
Height = 234
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@ -743,7 +415,7 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
ReadOnly = False
ExplicitLeft = 145
ExplicitWidth = 605
ExplicitHeight = 338
ExplicitHeight = 234
inherited TBXDock1: TTBXDock
Width = 605
ExplicitWidth = 605
@ -759,8 +431,8 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
DataBinding.DataSource = dsDataTable
Style.IsFontAssigned = True
ExplicitWidth = 605
ExplicitHeight = 312
Height = 312
ExplicitHeight = 208
Height = 208
Width = 605
end
end
@ -768,15 +440,11 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
object pagInicidencias: TTabSheet
Caption = 'Incidencias'
ImageIndex = 2
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
inline frViewIncidenciasCli: TfrViewIncidencias
Left = 0
Top = 0
Width = 750
Height = 338
Height = 234
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@ -787,7 +455,7 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
TabOrder = 0
ReadOnly = False
ExplicitWidth = 750
ExplicitHeight = 338
ExplicitHeight = 234
inherited pnlSup: TPanel
Width = 750
ExplicitWidth = 750
@ -797,13 +465,13 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
end
inherited GroupBox1: TGroupBox
Width = 750
Height = 310
Height = 206
ExplicitWidth = 750
ExplicitHeight = 310
ExplicitHeight = 206
inherited eIncidencias: TcxDBMemo
ExplicitWidth = 727
ExplicitHeight = 277
Height = 277
ExplicitHeight = 173
Height = 173
Width = 727
end
end
@ -816,7 +484,7 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
Left = 0
Top = 0
Width = 750
Height = 338
Height = 234
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@ -827,16 +495,16 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
TabOrder = 0
ReadOnly = False
ExplicitWidth = 750
ExplicitHeight = 338
ExplicitHeight = 234
inherited TBXDock: TTBXDock
Width = 750
ExplicitWidth = 750
end
inherited ListView1: TListView
Width = 750
Height = 315
Height = 211
ExplicitWidth = 750
ExplicitHeight = 375
ExplicitHeight = 211
end
end
end
@ -853,9 +521,9 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
end
inline frViewTotalesPresupuesto1: TfrViewTotalesPresupuesto [4]
Left = 0
Top = 448
Top = 344
Width = 764
Height = 125
Height = 229
Align = alBottom
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@ -865,38 +533,38 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
ParentFont = False
TabOrder = 4
ReadOnly = False
ExplicitTop = 448
ExplicitTop = 344
ExplicitWidth = 764
ExplicitHeight = 125
ExplicitHeight = 229
inherited dxLayoutControl1: TdxLayoutControl
Width = 764
Height = 125
Height = 229
AutoContentSizes = [acsWidth]
ExplicitWidth = 764
ExplicitHeight = 125
ExplicitHeight = 229
inherited Bevel3: TBevel
Left = 358
Left = 385
Top = 80
Height = 75
ExplicitLeft = 358
ExplicitLeft = 385
ExplicitTop = 80
ExplicitHeight = 75
end
inherited Bevel4: TBevel
Left = 470
Left = 497
Top = 122
Width = 192
ExplicitLeft = 470
Width = 147
ExplicitLeft = 497
ExplicitTop = 122
ExplicitWidth = 192
ExplicitWidth = 147
end
inherited Bevel1: TBevel
Left = 470
Left = 497
Top = 238
Width = 73
ExplicitLeft = 470
Width = 147
ExplicitLeft = 497
ExplicitTop = 238
ExplicitWidth = 73
ExplicitWidth = 147
end
inherited Bevel2: TBevel
Left = 130
@ -920,27 +588,28 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
Width = 87
end
inherited ImporteIVA: TcxDBCurrencyEdit
Left = 541
Left = 568
Top = 157
DataBinding.DataField = 'IMPORTE_IVA'
Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 541
ExplicitLeft = 568
ExplicitTop = 157
ExplicitWidth = 20
Width = 20
end
inherited ImporteTotal: TcxDBCurrencyEdit
Left = 471
Left = 498
Top = 211
Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 471
ExplicitLeft = 498
ExplicitTop = 211
ExplicitWidth = 90
Width = 90
@ -957,49 +626,49 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
ExplicitTop = 107
end
inherited edtIVA: TcxDBSpinEdit
Left = 470
Left = 497
Top = 157
Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 470
ExplicitLeft = 497
ExplicitTop = 157
end
inherited ImporteBase: TcxDBCurrencyEdit
Left = 470
Left = 497
Top = 80
Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 470
ExplicitLeft = 497
ExplicitTop = 80
ExplicitWidth = 91
Width = 91
end
inherited edtRE: TcxDBSpinEdit
Left = 470
Left = 497
Top = 184
Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 470
ExplicitLeft = 497
ExplicitTop = 184
end
inherited ImporteRE: TcxDBCurrencyEdit
Left = 541
Left = 568
Top = 184
Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 541
ExplicitLeft = 568
ExplicitTop = 184
ExplicitWidth = 20
Width = 20
@ -1033,6 +702,7 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
inherited eIVA: TcxDBLookupComboBox
Left = 130
Top = 161
DataBinding.DataField = 'ID_TIPO_IVA'
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
@ -1043,9 +713,10 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
Width = 20
end
inherited bTiposIVA: TButton
Left = 210
Left = 237
Top = 161
ExplicitLeft = 210
OnClick = frViewTotalesPresupuesto1bTiposIVAClick
ExplicitLeft = 237
ExplicitTop = 161
end
inherited cbRecargoEquivalencia: TcxDBCheckBox
@ -1061,25 +732,25 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
Width = 158
end
inherited edtRetencion: TcxDBSpinEdit
Left = 470
Left = 497
Top = 258
Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 470
ExplicitLeft = 497
ExplicitTop = 258
end
inherited edtImporteRetencion: TcxDBCurrencyEdit
Left = 541
Left = 568
Top = 258
Style.LookAndFeel.SkinName = ''
Style.IsFontAssigned = True
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 541
ExplicitLeft = 568
ExplicitTop = 258
ExplicitWidth = 20
Width = 20
@ -1099,6 +770,7 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
inherited cbBonificacion: TcxCheckBox
Left = 21
Top = 29
Enabled = False
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
@ -1106,7 +778,6 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
ExplicitLeft = 21
ExplicitTop = 29
ExplicitWidth = 277
ExplicitHeight = 0
Width = 277
end
inherited eDescripcionBonificacion: TcxDBTextEdit
@ -1137,6 +808,21 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
AlignVert = avBottom
LookAndFeel = dxLayoutOfficeLookAndFeel1
inherited dxLayoutControl1Group2: TdxLayoutGroup
inherited dxLayoutControl1Item8: TdxLayoutItem
Visible = True
end
inherited dxLayoutControl1Group7: TdxLayoutGroup
Visible = True
inherited dxLayoutControl1Group10: TdxLayoutGroup
Visible = False
end
inherited dxLayoutControl1Item9: TdxLayoutItem
Visible = True
end
end
inherited dxLayoutControl1Group6: TdxLayoutGroup
Visible = True
end
inherited dxLayoutControl1Item19: TdxLayoutItem
Visible = False
end
@ -1145,10 +831,20 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
inherited dxLayoutControl1Item13: TdxLayoutItem
Visible = False
end
inherited dxLayoutControl1Group3: TdxLayoutGroup
inherited dxLayoutControl1Item12: TdxLayoutItem
Visible = True
end
inherited dxLayoutControl1Group9: TdxLayoutGroup
Visible = True
end
end
end
end
inherited dxLayoutControl1Group13: TdxLayoutGroup
Enabled = False
LookAndFeel = dxLayoutOfficeLookAndFeel1
Visible = False
end
end
end

View File

@ -19,7 +19,7 @@ uses
uDAInterfaces, cxRichEdit, cxDBRichEdit, JvGIF, uViewRichEditor, cxPC,
uViewDetallesArticulosParaVenta, uViewDocumentos,
uViewDocumentosPresupuestoCliente, uViewDatosYSeleccionClientePresupuesto,
cxLabel, uViewTotalesPresupuesto;
cxLabel, uViewTotalesPresupuesto, uBizTiposIVA, uTiposIVAController;
type
TfEditorPresupuestoCliente = class(TfEditorDBItem, IEditorPresupuestoCliente)
@ -59,11 +59,14 @@ type
procedure actEnviarPorEMailExecute(Sender: TObject);
procedure actEnviarPorEMailUpdate(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
procedure frViewTotalesPresupuesto1bTiposIVAClick(Sender: TObject);
private
procedure RecalcularPortePorUnidad;
protected
FPresupuesto: IBizPresupuestoCliente;
FTiposIVAController : ITiposIVAController;
FTiposIVA: IBizTipoIVA;
FViewPresupuesto: IViewPresupuestoCliente;
FViewClientePresupuesto :IViewDatosYSeleccionClientePresupuesto;
FController : IPresupuestosClienteController;
@ -101,6 +104,7 @@ type
property Presupuesto: IBizPresupuestoCliente read GetPresupuesto write SetPresupuesto;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); override; //Importante en este punto se deben de quitar los eventos que puedan afectar a la tabla una vez se cierre el editor.
end;
implementation
@ -185,6 +189,7 @@ begin
inherited;
pgPaginas.ActivePageIndex := 0;
AsignarVista;
FTiposIVAController := TTiposIVAController.Create;
end;
procedure TfEditorPresupuestoCliente.CustomEditorClose(Sender: TObject;
@ -195,6 +200,8 @@ begin
//Este método eliminará el directorio temporal si se ha creado
frViewDocumentosPresupuestoCliente1.actEliminarTodo.Execute;
FTiposIVA := NIL;
FTiposIVAController := Nil;
FViewPresupuesto := NIL;
FViewClientePresupuesto := NIL;
FPresupuesto := NIL;
@ -215,6 +222,15 @@ begin
end
end;
procedure TfEditorPresupuestoCliente.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
inherited;
frViewTotalesPresupuesto1.cbRecargoEquivalencia.Properties.OnEditValueChanged := nil;
frViewTotalesPresupuesto1.eIVA.Properties.OnValidate := nil;
frViewTotalesPresupuesto1.ePorte.Properties.OnValidate := nil;
end;
procedure TfEditorPresupuestoCliente.FormShow(Sender: TObject);
begin
inherited;
@ -242,6 +258,12 @@ begin
// RecalcularPortePorUnidad; En los documentos de cliente no se desglosa el porte por articulo
end;
procedure TfEditorPresupuestoCliente.frViewTotalesPresupuesto1bTiposIVAClick(Sender: TObject);
begin
inherited;
FTiposIVAController.VerTodos(FTiposIVA);
end;
function TfEditorPresupuestoCliente.GetController: IPresupuestosClienteController;
begin
Result := FController;
@ -304,14 +326,9 @@ begin
inherited;
bPrevisualizar := True;
if (AppFactuGES.EmpresaActiva.ID = 1) then
//Preguntamos si desea que en los presupuestos se vea el Sello de Paco u Oscar,
//solo para empresa Tecsitel
bPrevisualizar := ElegirOpcionesImpresionPresupuestoCliente(AVerSello);
if bPrevisualizar and Assigned(FPresupuesto) then
if not Modified then
FController.Print(FPresupuesto, False, AVerSello);
FController.Print(FPresupuesto, False);
end;
procedure TfEditorPresupuestoCliente.OnClienteChanged(Sender: TObject);
@ -320,9 +337,24 @@ begin
begin
FPresupuesto.Cliente := ViewPresupuesto.ViewClientePresupuesto.Cliente;
//Desactivado porque en presupuestos no utilizan el catálogo de clientes
// if (FPresupuesto.Detalles.RecordCount > 0) then
// FController.DetallesController.ActualizarDetalles(FPresupuesto.Detalles, FPresupuesto.Cliente);
if FPresupuesto.Cliente.Direcciones.RecordCount = 0 then
begin
MessageBox(0, '¡Atención! Este cliente no tiene ' + #10#13 + 'ninguna dirección de envío en su ficha', 'Atención', MB_ICONWARNING or MB_OK);
FPresupuesto.Edit;
FPresupuesto.IMPORTE_PORTE := 0;
end;
// Actualizar IVA y RE a partir del tipo de IVA del cliente.
FPresupuesto.IVA := ((frViewTotalesPresupuesto1.dsTiposIVA.DataTable) as IBizTipoIVA).IVA;
// if FPresupuesto.Cliente.RECARGO_EQUIVALENCIA = 1 then
// FPresupuesto.RE := ((frViewTotalesPresupuesto1.dsTiposIVA.DataTable) as IBizTipoIVA).RE
// else
// FPresupuesto.RE := 0;
// Si el pedido tiene detalles hay que mirar si los descuentos y otros campos
// para los artículos hay que cambiarlos.
if (FPresupuesto.Detalles.RecordCount > 0) then
FController.DetallesController.ActualizarDetalles(FPresupuesto.Detalles, FPresupuesto.Cliente);
end;
end;
@ -365,14 +397,9 @@ begin
inherited;
bPrevisualizar := True;
if (AppFactuGES.EmpresaActiva.ID = 1) then
//Preguntamos si desea que en los presupuestos se vea el Sello de Paco u Oscar,
//solo para empresa Tecsitel
bPrevisualizar := ElegirOpcionesImpresionPresupuestoCliente(AVerSello);
if bPrevisualizar and Assigned(FPresupuesto) then
if not Modified then
FController.Preview(FPresupuesto, False, AVerSello);
FController.Preview(FPresupuesto, False);
end;
function TfEditorPresupuestoCliente.PuedoEnviar: Boolean;
@ -426,6 +453,10 @@ begin
frViewIncidenciasCli.DADataSource.DataTable := dsDataTable.DataTable;
frViewTotalesPresupuesto1.DADataSource.DataTable := dsDataTable.DataTable;
FTiposIVA := FTiposIVAController.BuscarTodos;
frViewTotalesPresupuesto1.dsTiposIVA.DataTable := FTiposIVA.DataTable;
FTiposIVA.DataTable.Active := True;
if Assigned(FViewPresupuesto) then
begin
ViewPresupuesto.ViewClientePresupuesto.OnClienteChanged := NIL;
@ -442,6 +473,13 @@ begin
finally
ViewPresupuesto.ViewClientePresupuesto.OnClienteChanged := OnClienteChanged;
end;
end
else
begin
ViewPresupuesto.ViewClientePresupuesto.OnClienteChanged := NIL;
dsDataTable.DataTable := NIL;
frViewTotalesPresupuesto1.DADataSource.DataTable := NIL;
frViewTotalesPresupuesto1.dsTiposIVA.DataTable := NIL;
end;
end;
end;

View File

@ -124,7 +124,7 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
Width = 805
ExplicitWidth = 805
inherited tbxMain: TTBXToolbar
ExplicitWidth = 805
ExplicitWidth = 740
object TBXItem47: TTBXItem [13]
Action = actEnviarEMail
DisplayMode = nbdmImageAndText
@ -150,7 +150,7 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
Action = actGenerarAlbaranCli
end
object TBXItem38: TTBXItem
Action = actGenerarFactura
Action = actGenerarFacturaProforma
end
object TBXSeparatorItem17: TTBXSeparatorItem
end
@ -179,11 +179,11 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
object TBXSeparatorItem18: TTBXSeparatorItem
end
object TBXItem42: TTBXItem
Action = actGenerarCertificado
Action = actGenerarPedido
DisplayMode = nbdmImageAndText
end
object TBXItem40: TTBXItem
Action = actGenerarFactura
Action = actGenerarFacturaProforma
DisplayMode = nbdmImageAndText
end
object TBXItem46: TTBXItem
@ -211,17 +211,19 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
ImageIndex = 23
OnExecute = actGenerarAlbaranCliExecute
end
object actGenerarFactura: TAction
object actGenerarFacturaProforma: TAction
Category = 'Acciones'
Caption = 'Generar factura'
Caption = 'Generar factura proforma'
ImageIndex = 24
OnExecute = actGenerarFacturaExecute
OnUpdate = actGenerarFacturaUpdate
OnExecute = actGenerarFacturaProformaExecute
OnUpdate = actGenerarFacturaProformaUpdate
end
object actGenerarCertificado: TAction
Category = 'Acciones'
Caption = 'Generar certificado'
Enabled = False
ImageIndex = 26
Visible = False
OnExecute = actGenerarCertificadoExecute
OnUpdate = actGenerarCertificadoUpdate
end
@ -249,8 +251,17 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
object actInformes: TAction
Category = 'Acciones'
Caption = 'Informes'
Enabled = False
Visible = False
OnExecute = actInformesExecute
end
object actGenerarPedido: TAction
Category = 'Acciones'
Caption = 'Generar pedido'
ImageIndex = 23
OnExecute = actGenerarPedidoExecute
OnUpdate = actGenerarPedidoUpdate
end
end
inherited SmallImages: TPngImageList
PngImages = <

View File

@ -18,7 +18,7 @@ uses
type
TfEditorPresupuestosCliente = class(TfEditorGridBase, IEditorPresupuestosCliente)
actGenerarAlbaranCli: TAction;
actGenerarFactura: TAction;
actGenerarFacturaProforma: TAction;
TBXSubmenuItem2: TTBXSubmenuItem;
TBXSeparatorItem17: TTBXSeparatorItem;
TBXItem38: TTBXItem;
@ -46,11 +46,12 @@ type
TBXItem46: TTBXItem;
JSInformesDialog: TJSDialog;
TBXItem47: TTBXItem;
actGenerarPedido: TAction;
procedure FormShow(Sender: TObject);
procedure actGenerarAlbaranCliExecute(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
procedure actGenerarFacturaUpdate(Sender: TObject);
procedure actGenerarFacturaExecute(Sender: TObject);
procedure actGenerarFacturaProformaUpdate(Sender: TObject);
procedure actGenerarFacturaProformaExecute(Sender: TObject);
procedure actGenerarPresupuestoProvExecute(Sender: TObject);
procedure actGenerarExecute(Sender: TObject);
procedure actGenerarCertificadoUpdate(Sender: TObject);
@ -63,6 +64,8 @@ type
procedure actEnviarEMailUpdate(Sender: TObject);
procedure actInformesExecute(Sender: TObject);
procedure OnListaAnosChange(Sender: TObject; const Text: string);
procedure actGenerarPedidoExecute(Sender: TObject);
procedure actGenerarPedidoUpdate(Sender: TObject);
protected
FPresupuestos: IBizPresupuestoCliente;
@ -100,10 +103,10 @@ uses
uDataModulePresupuestosCliente, uDataModuleUsuarios, uFactuGES_App,
uEditorBase, uEditorDBBase, uDialogUtils, Dialogs,
uDBSelectionListUtils, uGridStatusUtils, uDialogOpcionesImpresionPresupuestosCliente,
uGenerarFacturasCliPreCliUtils, uEditorFechaDecision,
uGenerarFacturasProPreCliUtils, uEditorFechaDecision,
// uBizAlbaranesCliente, uAlbaranesClienteController,
// uFacturasClienteController, uBizFacturasCliente,
uGenerarAlbaranesCliUtils, uGestorInformesController;
uGenerarPedidosCliUtils, uGestorInformesController;
{$R *.dfm}
@ -258,7 +261,7 @@ end;
procedure TfEditorPresupuestosCliente.actGenerarAlbaranCliExecute(Sender: TObject);
begin
inherited;
GenerarAlbaranCli(FPresupuestos.ID);
// GenerarAlbaranCli(FPresupuestos.ID);
end;
procedure TfEditorPresupuestosCliente.actGenerarCertificadoExecute(
@ -322,24 +325,37 @@ begin
}
end;
procedure TfEditorPresupuestosCliente.actGenerarFacturaExecute(Sender: TObject);
procedure TfEditorPresupuestosCliente.actGenerarFacturaProformaExecute(Sender: TObject);
begin
inherited;
if (ShowConfirmMessage('Generar factura', Format('¿Desea copiar todos los conceptos del presupuesto %s a la factura?', [Presupuestos.REFERENCIA])) = IDYES) then
GenerarFacturaCliPre(Presupuestos.ID)
else
GenerarFacturaCliPre(Presupuestos.ID, False);
// if (ShowConfirmMessage('Generar factura', Format('¿Desea copiar todos los conceptos del presupuesto %s a la factura?', [Presupuestos.REFERENCIA])) = IDYES) then
GenerarFacturaProPre(Presupuestos.ID);
// else
// GenerarFacturaCliPre(Presupuestos.ID, False);
actRefrescar.Execute;
end;
procedure TfEditorPresupuestosCliente.actGenerarFacturaUpdate(Sender: TObject);
procedure TfEditorPresupuestosCliente.actGenerarFacturaProformaUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := HayDatos
and not (ViewGrid.NumSeleccionados > 1)
and (FPresupuestos.FACTURA_PROFORMA = '')
and ViewGrid.esSeleccionCeldaDatos
and (FPresupuestos.SITUACION = SITUACION_PRESUPUESTO_ACEPTADO);
end;
procedure TfEditorPresupuestosCliente.actGenerarPedidoExecute(Sender: TObject);
begin
inherited;
GenerarPedidoCliPre(Presupuestos.ID);
end;
procedure TfEditorPresupuestosCliente.actGenerarPedidoUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := HayDatos
and not (ViewGrid.NumSeleccionados > 1)
and (FPresupuestos.FACTURA = '')
and ViewGrid.esSeleccionCeldaDatos
and (FPresupuestos.SITUACION = SITUACION_PRESUPUESTO_ACEPTADO);
end;
@ -520,14 +536,8 @@ begin
end
else
APresupuestos := Presupuestos;
if (AppFactuGES.EmpresaActiva.ID = 1) then
//Preguntamos si desea que en los presupuestos se vea el Sello de Paco u Oscar,
//solo para empresa Tecsitel
bPrevisualizar := ElegirOpcionesImpresionPresupuestoCliente(AVerSello);
if bPrevisualizar and Assigned(APresupuestos) then
FController.Print(APresupuestos, AllItems, AVerSello);
FController.Print(APresupuestos, AllItems);
end;
end;
end;
@ -598,13 +608,8 @@ begin
else
APresupuestos := Presupuestos;
if (AppFactuGES.EmpresaActiva.ID = 1) then
//Preguntamos si desea que en los presupuestos se vea el Sello de Paco u Oscar,
//solo para empresa Tecsitel
bPrevisualizar := ElegirOpcionesImpresionPresupuestoCliente(AVerSello);
if bPrevisualizar and Assigned(APresupuestos) then
FController.Preview(APresupuestos, AllItems, AVerSello);
FController.Preview(APresupuestos, AllItems);
end;
end;
end;

View File

@ -1,5 +1,7 @@
inherited fEditorPresupuestosClientePreview: TfEditorPresupuestosClientePreview
Caption = 'Previsualizar el pedidos proveedor'
ExplicitWidth = 320
ExplicitHeight = 240
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
@ -9,7 +11,6 @@ inherited fEditorPresupuestosClientePreview: TfEditorPresupuestosClientePreview
end
inherited TBXDock: TTBXDock
inherited TBXToolbar1: TTBXToolbar
ExplicitWidth = 540
object TBXItem58: TTBXItem [1]
Action = actExportarRTF
DisplayMode = nbdmTextOnlyInMenus

View File

@ -34,21 +34,19 @@ var
bPrevisualizar: Boolean;
begin
{
bPrevisualizar := True;
aVerSello := TRue;
// inherited; <- No llamar al padre
if not Assigned(Controller) then
raise Exception.Create('No se ha asignado el controlador necesario');
if (AppFactuGES.EmpresaActiva.ID = 1) then
//Preguntamos si desea que en los presupuestos se vea el Sello de Paco u Oscar,
//solo para empresa Tecsitel
bPrevisualizar := ElegirOpcionesImpresionPresupuestoCliente(AVerSello);
if bPrevisualizar then
for I := 0 to ListaID.Count - 1 do
if (Controller as IPresupuestosClienteReportController).ExportToWord(ListaID[I], '', AVerSello) then
ShowInfoMessage('El presupuesto se ha exportado correctamente.');
}
end;
end.

View File

@ -1,13 +1,13 @@
inherited frViewDatosYSeleccionClientePresupuesto: TfrViewDatosYSeleccionClientePresupuesto
Width = 505
Height = 165
ExplicitWidth = 505
ExplicitHeight = 165
Width = 638
Height = 310
ExplicitWidth = 638
ExplicitHeight = 310
object dxLayoutControl1: TdxLayoutControl
Left = 0
Top = 0
Width = 505
Height = 165
Width = 638
Height = 310
Margins.Left = 0
Margins.Top = 0
Margins.Right = 0
@ -17,9 +17,11 @@ inherited frViewDatosYSeleccionClientePresupuesto: TfrViewDatosYSeleccionCliente
TabOrder = 0
TabStop = False
AutoContentSizes = [acsWidth, acsHeight]
ExplicitWidth = 505
ExplicitHeight = 165
DesignSize = (
505
165)
638
310)
object edtlNombre: TcxDBTextEdit
Left = 63
Top = 41
@ -48,7 +50,7 @@ inherited frViewDatosYSeleccionClientePresupuesto: TfrViewDatosYSeleccionCliente
Width = 224
end
object edtNIFCIF: TcxDBTextEdit
Left = 392
Left = 525
Top = 41
Anchors = [akLeft, akTop, akRight]
AutoSize = False
@ -163,13 +165,13 @@ inherited frViewDatosYSeleccionClientePresupuesto: TfrViewDatosYSeleccionCliente
FF00FF00FF00006000000060000000600000FF00FF00FF00FF00}
end
object Button3: TBitBtn
Left = 303
Top = 130
Left = 436
Top = 197
Width = 192
Height = 25
Action = actVerContacto
Caption = 'Ver ficha completa del cliente...'
TabOrder = 8
TabOrder = 9
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000000000000000000000000000000000000FF00FF00FF00
@ -208,7 +210,7 @@ inherited frViewDatosYSeleccionClientePresupuesto: TfrViewDatosYSeleccionCliente
end
object edtPersonaContacto: TcxDBTextEdit
Left = 63
Top = 101
Top = 168
Anchors = [akLeft, akTop, akRight]
AutoSize = False
DataBinding.DataField = 'PERSONA_CONTACTO'
@ -226,13 +228,52 @@ inherited frViewDatosYSeleccionClientePresupuesto: TfrViewDatosYSeleccionCliente
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 6
TabOrder = 7
Height = 21
Width = 283
end
object edtDireccion: TcxTextEdit
object edtDireccion2: TcxTextEdit
Left = 63
Top = 70
Top = 137
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.SkinName = ''
StyleDisabled.TextColor = clWindowText
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 5
Width = 121
end
object Button4: TButton
Left = 605
Top = 135
Width = 23
Height = 25
Action = actElegirDireccion
TabOrder = 6
end
object Button5: TButton
Left = 605
Top = 166
Width = 23
Height = 25
Action = actElegirPersonaContacto
TabOrder = 8
end
object edtDireccion: TcxMemo
Left = 63
Top = 68
Enabled = False
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
@ -250,23 +291,8 @@ inherited frViewDatosYSeleccionClientePresupuesto: TfrViewDatosYSeleccionCliente
StyleHot.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 4
Width = 121
end
object Button4: TButton
Left = 472
Top = 68
Width = 23
Height = 25
Action = actElegirDireccion
TabOrder = 5
end
object Button5: TButton
Left = 472
Top = 99
Width = 23
Height = 25
Action = actElegirPersonaContacto
TabOrder = 7
Height = 61
Width = 403
end
object dxLayoutControl1Group_Root: TdxLayoutGroup
ShowCaption = False
@ -317,27 +343,39 @@ inherited frViewDatosYSeleccionClientePresupuesto: TfrViewDatosYSeleccionCliente
object dxLayoutControl1Group3: TdxLayoutGroup
ShowCaption = False
Hidden = True
LayoutDirection = ldHorizontal
ShowBorder = False
object dxLayoutControl1Item4: TdxLayoutItem
AutoAligns = []
AlignHorz = ahClient
AlignVert = avCenter
Caption = 'Direcci'#243'n'
object dxLayoutControl1Item10: TdxLayoutItem
Caption = 'Direcci'#243'n:'
Control = edtDireccion
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item5: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahRight
Caption = 'Button4'
object dxLayoutControl1Group6: TdxLayoutGroup
ShowCaption = False
Control = Button4
ControlOptions.ShowBorder = False
Visible = False
Hidden = True
LayoutDirection = ldHorizontal
ShowBorder = False
object dxLayoutControl1Item4: TdxLayoutItem
AutoAligns = []
AlignHorz = ahClient
AlignVert = avCenter
Caption = 'Direcci'#243'n'
Control = edtDireccion2
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item5: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahRight
Caption = 'Button4'
ShowCaption = False
Control = Button4
ControlOptions.ShowBorder = False
end
end
end
object dxLayoutControl1Group5: TdxLayoutGroup
ShowCaption = False
Visible = False
Hidden = True
LayoutDirection = ldHorizontal
ShowBorder = False

View File

@ -10,7 +10,8 @@ uses
pngimage, JvExControls, JvComponent, JvButton, JvTransparentButton, Mask,
DBCtrls, uClientesController, dxLayoutControl, Buttons, uDAInterfaces,
cxMaskEdit, cxButtonEdit, uBizPresupuestosCliente, uBizDireccionesContacto,
uDireccionesContactoController, Menus, cxLookAndFeelPainters, cxButtons;
uDireccionesContactoController, Menus, cxLookAndFeelPainters, cxButtons,
cxMemo;
type
IViewDatosYSeleccionClientePresupuesto = interface(IViewBase)
@ -68,13 +69,16 @@ type
edtPersonaContacto: TcxDBTextEdit;
dxLayoutControl1Group4: TdxLayoutGroup;
dxLayoutControl1Item4: TdxLayoutItem;
edtDireccion: TcxTextEdit;
edtDireccion2: TcxTextEdit;
Button4: TButton;
dxLayoutControl1Item5: TdxLayoutItem;
dxLayoutControl1Group3: TdxLayoutGroup;
dxLayoutControl1Item6: TdxLayoutItem;
Button5: TButton;
dxLayoutControl1Group5: TdxLayoutGroup;
dxLayoutControl1Item10: TdxLayoutItem;
edtDireccion: TcxMemo;
dxLayoutControl1Group6: TdxLayoutGroup;
procedure actElegirContactoExecute(Sender: TObject);
procedure actAnadirContactoExecute(Sender: TObject);
procedure actVerContactoUpdate(Sender: TObject);
@ -242,15 +246,12 @@ begin
end;
procedure TfrViewDatosYSeleccionClientePresupuesto.ElegirDireccionCliente;
var
ADireccion : IBizDireccionesContacto;
begin
inherited;
ADireccion := FClientesController.ElegirDireccionEntrega(FCliente, ' ');
FDireccionesController.CopiarDireccionFiscal(FCliente, FDireccion);
if Assigned(ADireccion) then
if Assigned(FDireccion) then
begin
FDireccion := ADireccion;
FPresupuesto.Edit;
if FDireccion.IDIsNull then
@ -288,10 +289,18 @@ begin
ACadena := '';
if Assigned(FDireccion) then
begin
ACadena := Format('%s %s %s %s',
[FDireccion.CALLE, FDireccion.POBLACION,
FDireccion.CODIGO_POSTAL, FDireccion.PROVINCIA]);
if (not FDireccion.TELEFONOIsNull) and (FDireccion.TELEFONO <> '') then
ACadena := ACadena + #13#10 + 'Teléfono: ' + FDireccion.TELEFONO;
if (not FDireccion.FAXIsNull) and (FDireccion.FAX <> '') then
ACadena := ACadena + #13#10 + 'Fax: ' + FDireccion.FAX;
end;
edtDireccion.Text := ACadena;
end;
@ -321,13 +330,13 @@ begin
if FCliente.ID > 0 then
edtPersonaContacto.Enabled := True;
if FCliente.Direcciones.RecordCount > 0 then
ElegirDireccionCliente
else begin
FPresupuesto.Edit;
FPresupuesto.PERSONA_CONTACTO := FCliente.PERSONA_CONTACTO;
RefrescarDireccion;
end;
// if FCliente.Direcciones.RecordCount > 0 then
ElegirDireccionCliente;
// else begin
// FPresupuesto.Edit;
// FPresupuesto.PERSONA_CONTACTO := FCliente.PERSONA_CONTACTO;
// RefrescarDireccion;
// end;
end
else begin
dsCliente.DataTable := NIL;

View File

@ -1,25 +1,124 @@
inherited frViewDetallesPresupuestoCliente: TfrViewDetallesPresupuestoCliente
Width = 673
inherited ToolBar1: TToolBar
inherited FontSize: TEdit
Width = 673
Height = 73
ExplicitHeight = 100
inherited ToolButton3: TToolButton
Wrap = False
end
inherited ToolButton4: TToolButton
Left = 278
Top = 0
ExplicitLeft = 278
ExplicitTop = 0
end
inherited ToolButton14: TToolButton
Left = 334
Top = 0
Wrap = False
ExplicitLeft = 334
ExplicitTop = 0
end
inherited ToolButton9: TToolButton [5]
Left = 399
Top = 0
Wrap = True
ExplicitLeft = 399
ExplicitTop = 0
end
inherited FontName: TJvFontComboBox [6]
Top = 22
ExplicitTop = 22
end
inherited ToolButton13: TToolButton [7]
Left = 145
Top = 22
Enabled = False
ExplicitLeft = 145
ExplicitTop = 22
end
inherited ToolButton6: TToolButton [8]
Left = 153
Top = 22
ExplicitLeft = 153
ExplicitTop = 22
end
inherited FontSize: TEdit [9]
Left = 219
Top = 22
Width = 58
ExplicitLeft = 219
ExplicitTop = 22
ExplicitWidth = 58
end
inherited UpDown1: TUpDown [10]
Left = 277
Top = 22
ExplicitLeft = 277
ExplicitTop = 22
end
inherited ToolButton7: TToolButton [11]
Left = 294
Top = 22
ExplicitLeft = 294
ExplicitTop = 22
end
inherited ToolButton11: TToolButton [12]
Left = 361
Top = 22
ExplicitLeft = 361
ExplicitTop = 22
end
inherited ToolButton12: TToolButton [13]
Left = 0
Top = 22
Wrap = True
ExplicitLeft = 0
ExplicitTop = 22
ExplicitHeight = 27
end
inherited ToolButton10: TToolButton
Left = 0
Top = 49
ExplicitLeft = 0
ExplicitTop = 49
end
inherited ToolButton8: TToolButton [15]
Left = 125
Top = 49
ExplicitLeft = 125
ExplicitTop = 49
end
end
inherited cxGrid: TcxGrid
Top = 99
Width = 673
Height = 205
ExplicitTop = 126
ExplicitHeight = 178
inherited cxGridView: TcxGridDBTableView
inherited cxGridViewREFERENCIA_PROVEEDOR: TcxGridDBColumn
DataBinding.FieldName = ''
end
inherited cxGridViewDESCUENTO: TcxGridDBColumn
Visible = True
end
inherited cxGridViewIMPORTENETO: TcxGridDBColumn
Visible = True
end
end
end
inherited TBXDock1: TTBXDock
Top = 73
Width = 673
ExplicitTop = 100
inherited TBXToolbar1: TTBXToolbar
ExplicitWidth = 566
inherited TBXSubmenuItem1: TTBXSubmenuItem
Enabled = False
Visible = False
end
object TBXItem19: TTBXItem [1]
Action = actAnadirArticulos
Caption = 'A'#241'adir art'#237'culos...'
DisplayMode = nbdmImageAndText
end
object TBXSeparatorItem9: TTBXSeparatorItem
end
object TBXItem18: TTBXItem
@ -34,6 +133,8 @@ inherited frViewDetallesPresupuestoCliente: TfrViewDetallesPresupuestoCliente
object actVariarPrecios: TAction
Category = 'Operaciones'
Caption = 'Variar precios'
Enabled = False
Visible = False
OnExecute = actVariarPreciosExecute
OnUpdate = actVariarPreciosUpdate
end

View File

@ -28,6 +28,7 @@ type
actVariarPrecios: TAction;
TBXItem18: TTBXItem;
TBXSeparatorItem9: TTBXSeparatorItem;
TBXItem19: TTBXItem;
procedure actVariarPreciosExecute(Sender: TObject);
procedure actVariarPreciosUpdate(Sender: TObject);
protected

View File

@ -1,4 +1,76 @@
inherited frViewElegirArticulosPresupuestosCliente: TfrViewElegirArticulosPresupuestosCliente
inherited cxGrid: TcxGrid
inherited cxGridView: TcxGridDBTableView
inherited cxGridViewINVENTARIABLE: TcxGridDBColumn
Visible = False
VisibleForCustomization = False
end
inherited cxGridViewCOMISIONABLE: TcxGridDBColumn
Visible = False
VisibleForCustomization = False
end
inherited cxGridViewTIENDA_WEB: TcxGridDBColumn
Visible = False
VisibleForCustomization = False
end
inherited cxGridViewREFERENCIA: TcxGridDBColumn
Caption = 'Referencia'
end
inherited cxGridViewDESCRIPCION: TcxGridDBColumn
Caption = 'Descripci'#243'n'
end
inherited cxGridViewFAMILIA: TcxGridDBColumn
Caption = 'Familia'
end
inherited cxGridViewREFERENCIA_PROV: TcxGridDBColumn
Caption = 'Ref. proveedor'
end
inherited cxGridViewPRECIO_COSTE: TcxGridDBColumn
Caption = 'Precio coste'
end
inherited cxGridViewDESCUENTO: TcxGridDBColumn
Caption = 'Descuento'
end
inherited cxGridViewPRECIO_NETO: TcxGridDBColumn
Visible = False
VisibleForCustomization = False
end
inherited cxGridViewPRECIO_PORTE: TcxGridDBColumn
Visible = False
VisibleForCustomization = False
end
end
end
inherited frViewFiltroBase1: TfrViewFiltroBase
inherited TBXDockablePanel1: TTBXDockablePanel
inherited dxLayoutControl1: TdxLayoutControl
inherited txtFiltroTodo: TcxTextEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
end
inherited edtFechaIniFiltro: TcxDateEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
end
inherited edtFechaFinFiltro: TcxDateEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
end
inherited eLista: TcxComboBox
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
end
end
end
end
inherited dxComponentPrinter: TdxComponentPrinter
inherited dxComponentPrinterLink: TdxGridReportLink
ReportDocument.CreationDate = 39297.755936412040000000

View File

@ -12,7 +12,7 @@ uses
uDADataTable, cxGridLevel, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, dxPgsDlg,
ActnList, TB2Item, TBX, TB2Toolbar, TBXDkPanels, TB2Dock, uViewFiltroBase,
uDAInterfaces;
uDAInterfaces, uCustomView, uViewBase;
type
IViewElegirArticulosPresupuestosCliente = interface(IViewArticulos)

View File

@ -19,18 +19,19 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
929
459)
object Label1: TLabel
Left = 480
Top = 229
Left = 614
Top = 234
Width = 383
Height = 26
Caption =
'Opcionalmente, puede escribir el nombre del cliente final de est' +
'e presupuesto o elegirlo de la lista de clientes.'
Enabled = False
WordWrap = True
end
object edtFechaPresupuesto: TcxDBDateEdit
Left = 123
Top = 82
Top = 109
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FECHA_PRESUPUESTO'
DataBinding.DataSource = DADataSource
@ -52,12 +53,12 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 3
TabOrder = 4
Width = 260
end
object memObservaciones: TcxDBMemo
Left = 22
Top = 220
Top = 247
Anchors = [akLeft, akTop, akRight, akBottom]
DataBinding.DataField = 'OBSERVACIONES'
DataBinding.DataSource = DADataSource
@ -77,7 +78,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 8
TabOrder = 10
Height = 217
Width = 507
end
@ -113,7 +114,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
end
object cbFormaPago: TcxDBLookupComboBox
Left = 123
Top = 163
Top = 190
DataBinding.DataField = 'ID_FORMA_PAGO'
DataBinding.DataSource = DADataSource
Properties.KeyFieldNames = 'ID'
@ -142,21 +143,21 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 6
TabOrder = 8
Width = 122
end
object bFormasPago: TButton
Left = 318
Top = 163
Left = 452
Top = 190
Width = 132
Height = 21
Caption = 'Ver las formas de pago...'
TabOrder = 7
TabOrder = 9
OnClick = bFormasPagoClick
end
object edtFechaDecision: TcxDBDateEdit
Left = 123
Top = 109
Left = 428
Top = 136
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FECHA_DECISION'
DataBinding.DataSource = DADataSource
@ -177,7 +178,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 4
TabOrder = 6
Width = 260
end
object eRefCliente: TcxDBTextEdit
@ -210,11 +211,12 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
Width = 260
end
object cbClienteFinal: TcxDBTextEdit
Left = 480
Top = 263
Left = 614
Top = 268
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'CLIENTE_FINAL'
DataBinding.DataSource = DADataSource
Enabled = False
Properties.ReadOnly = False
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
@ -234,12 +236,12 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 10
TabOrder = 12
Width = 350
end
object cbSituacion: TcxDBImageComboBox
Left = 123
Top = 136
Top = 163
DataBinding.DataField = 'SITUACION'
DataBinding.DataSource = DADataSource
Properties.Items = <
@ -268,11 +270,11 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 5
TabOrder = 7
Width = 260
end
object eReferenciaAux: TcxDBTextEdit
Left = 293
Left = 377
Top = 28
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'REFERENCIA_AUX'
@ -301,21 +303,27 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
Width = 132
end
inline frViewDatosYSeleccionClientePresupuesto1: TfrViewDatosYSeleccionClientePresupuesto
Left = 480
Left = 614
Top = 28
Width = 505
Height = 165
Width = 427
Height = 170
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 9
TabOrder = 11
ReadOnly = False
ExplicitLeft = 480
ExplicitLeft = 614
ExplicitTop = 28
ExplicitWidth = 427
ExplicitHeight = 170
inherited dxLayoutControl1: TdxLayoutControl
Width = 427
Height = 170
ExplicitWidth = 427
ExplicitHeight = 170
inherited edtlNombre: TcxDBTextEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
@ -325,16 +333,16 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
Width = 224
end
inherited edtNIFCIF: TcxDBTextEdit
Left = 314
Left = 171
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 314
ExplicitLeft = 171
end
inherited Button3: TBitBtn
Left = 225
ExplicitLeft = 225
Left = 82
ExplicitLeft = 82
end
inherited edtPersonaContacto: TcxDBTextEdit
Style.LookAndFeel.SkinName = ''
@ -344,7 +352,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
ExplicitWidth = 283
Width = 283
end
inherited edtDireccion: TcxTextEdit
inherited edtDireccion2: TcxTextEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
@ -353,22 +361,81 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
Width = 121
end
inherited Button4: TButton
Left = 394
ExplicitLeft = 394
Left = 251
ExplicitLeft = 251
end
inherited Button5: TButton
Left = 394
ExplicitLeft = 394
Left = 251
ExplicitLeft = 251
end
inherited edtDireccion: TcxMemo
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 121
Width = 121
end
end
end
object bElegirClienteFinal: TButton
Left = 884
Top = 261
Top = 266
Width = 23
Height = 25
Action = actElegirClienteFinal
TabOrder = 11
Enabled = False
TabOrder = 13
end
object edtFechaVigencia: TcxDBDateEdit
Left = 123
Top = 136
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FECHA_VIGENCIA'
DataBinding.DataSource = DADataSource
Properties.ImmediatePost = True
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.Color = clWindow
Style.HotTrack = False
Style.LookAndFeel.NativeStyle = True
Style.LookAndFeel.SkinName = ''
Style.Shadow = False
Style.ButtonStyle = bts3D
Style.ButtonTransparency = ebtNone
Style.PopupBorderStyle = epbsFrame3D
StyleDisabled.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.SkinName = ''
TabOrder = 5
Width = 363
end
object cbTipoPresupuesto: TcxDBComboBox
Left = 123
Top = 82
DataBinding.DataField = 'TIPO_PRESUPUESTO'
DataBinding.DataSource = DADataSource
Properties.ImmediatePost = True
Properties.OnInitPopup = cbTipoPresupuestoPropertiesInitPopup
Properties.OnValidate = cbTipoPresupuestoPropertiesValidate
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
Style.ButtonStyle = bts3D
Style.PopupBorderStyle = epbsFrame3D
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 = 369
end
object dxLayoutControl1Group_Root: TdxLayoutGroup
ShowCaption = False
@ -400,6 +467,7 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
object dxLayoutControl1Item9: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahClient
Visible = False
Control = eReferenciaAux
ControlOptions.ShowBorder = False
end
@ -409,15 +477,35 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
Control = eRefCliente
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item14: TdxLayoutItem
Caption = 'Tipo presupuesto:'
Control = cbTipoPresupuesto
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item2: TdxLayoutItem
Caption = 'Fecha presupuesto:'
Control = edtFechaPresupuesto
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item7: TdxLayoutItem
Caption = 'Fecha decisi'#243'n:'
Control = edtFechaDecision
ControlOptions.ShowBorder = False
object dxLayoutControl1Group10: TdxLayoutGroup
ShowCaption = False
Hidden = True
LayoutDirection = ldHorizontal
ShowBorder = False
object dxLayoutControl1Item13: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahClient
Caption = 'Fecha vigencia:'
Control = edtFechaVigencia
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item7: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahClient
Caption = 'Fecha decisi'#243'n:'
Control = edtFechaDecision
ControlOptions.ShowBorder = False
end
end
object dxLayoutControl1Item10: TdxLayoutItem
Caption = 'Situaci'#243'n:'
@ -476,6 +564,8 @@ inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
end
object dxLayoutControl1Group4: TdxLayoutGroup
Caption = 'Cliente final'
Enabled = False
Visible = False
object dxLayoutControl1Item12: TdxLayoutItem
ShowCaption = False
Control = Label1

View File

@ -11,7 +11,8 @@ uses
cxTextEdit, cxMaskEdit, cxCalendar, dxLayoutControl, cxControls, cxMemo,
uViewDireccionEntregaPresupuestoCliente, Buttons, ActnList, cxLookupEdit,
cxDBLookupEdit, cxDBLookupComboBox, uFormasPagoController, uDAInterfaces,
uBizFormasPago, cxButtonEdit, uViewDatosYSeleccionClientePresupuesto;
uBizFormasPago, cxButtonEdit, uViewDatosYSeleccionClientePresupuesto,
uTiposPresupuestoController;
type
IViewPresupuestoCliente = interface(IViewBase)
@ -66,6 +67,11 @@ type
dxLayoutControl1Item12: TdxLayoutItem;
Label1: TLabel;
dxLayoutControl1Group9: TdxLayoutGroup;
dxLayoutControl1Item13: TdxLayoutItem;
edtFechaVigencia: TcxDBDateEdit;
dxLayoutControl1Group10: TdxLayoutGroup;
dxLayoutControl1Item14: TdxLayoutItem;
cbTipoPresupuesto: TcxDBComboBox;
procedure CustomViewCreate(Sender: TObject);
procedure CustomViewDestroy(Sender: TObject);
procedure bFormasPagoClick(Sender: TObject);
@ -75,11 +81,15 @@ type
AButtonIndex: Integer);
procedure actElegirClienteFinalExecute(Sender: TObject);
procedure actElegirClienteFinalUpdate(Sender: TObject);
procedure cbTipoPresupuestoPropertiesInitPopup(Sender: TObject);
procedure cbTipoPresupuestoPropertiesValidate(Sender: TObject;
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
protected
FPresupuesto : IBizPresupuestoCliente;
FFormasPago : IBizFormaPago;
FFormasPagoController : IFormasPagoController;
FViewClientePresupuesto : IViewDatosYSeleccionClientePresupuesto;
FTipoController: ITiposPresupuestoController;
function GetPresupuesto: IBizPresupuestoCliente;
procedure SetPresupuesto(const Value: IBizPresupuestoCliente); virtual;
@ -97,7 +107,7 @@ implementation
uses
uClientesController, uBizContactos, uBizDireccionesContacto,
uPresupuestosClienteController;
uPresupuestosClienteController, uBizTiposPresupuesto;
procedure TfrViewPresupuestoCliente.actElegirClienteFinalExecute(
@ -168,11 +178,55 @@ begin
end;
end;
procedure TfrViewPresupuestoCliente.cbTipoPresupuestoPropertiesInitPopup(
Sender: TObject);
begin
with cbTipoPresupuesto.Properties.Items do
begin
BeginUpdate;
try
Clear;
AddStrings(FTipoController.DarListaTiposPresupuesto);
finally
EndUpdate;
end;
end;
end;
procedure TfrViewPresupuestoCliente.cbTipoPresupuestoPropertiesValidate(
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
var Error: Boolean);
var
ATipo : IBizTipoPresupuesto;
begin
inherited;
with (Sender as TcxDBComboBox) do
begin
if (Length(DisplayValue) > 0) and (DisplayValue <> (Presupuesto as IBizPresupuestoCliente).TIPO_PRESUPUESTO) then
if Properties.LookupItems.IndexOf(DisplayValue) < 0 then
begin
Properties.LookupItems.BeginUpdate;
ATipo := FTipoController.BuscarTodos;
ATipo.DataTable.Active := True;
try
FTipoController.Anadir(ATipo);
ATipo.DESCRIPCION := DisplayValue;
FTipoController.Guardar(ATipo);
Properties.LookupItems.Add(DisplayValue);
finally
Properties.LookupItems.EndUpdate;
ATipo := NIL;
end;
end;
end;
end;
procedure TfrViewPresupuestoCliente.CustomViewCreate(Sender: TObject);
begin
inherited;
FFormasPago := Nil;
FFormasPagoController := TFormasPagoController.Create;
FTipoController := TTiposPresupuestoController.Create;
FViewClientePresupuesto := frViewDatosYSeleccionClientePresupuesto1;
end;
@ -180,6 +234,7 @@ procedure TfrViewPresupuestoCliente.CustomViewDestroy(Sender: TObject);
begin
inherited;
FFormasPago := Nil;
FTipoController := NIL;
FFormasPagoController := NIL;
FViewClientePresupuesto := NIL;
end;

View File

@ -91,6 +91,12 @@ inherited frViewPresupuestosCliente: TfrViewPresupuestosCliente
BestFitMaxWidth = 25
Width = 185
end
object cxGridViewREFERENCIA_CLIENTE: TcxGridDBColumn
Caption = 'Ref. Cliente'
DataBinding.FieldName = 'REFERENCIA_CLIENTE'
BestFitMaxWidth = 80
Width = 140
end
object cxGridViewNIF_CIF: TcxGridDBColumn
Caption = 'NIF/CIF'
DataBinding.FieldName = 'NIF_CIF'
@ -102,11 +108,16 @@ inherited frViewPresupuestosCliente: TfrViewPresupuestosCliente
DataBinding.FieldName = 'NOMBRE'
Width = 161
end
object cxGridViewCLIENTE_FINAL: TcxGridDBColumn
Caption = 'Cliente final'
DataBinding.FieldName = 'CLIENTE_FINAL'
BestFitMaxWidth = 80
Width = 140
object cxGridViewBASE_IMPONIBLE: TcxGridDBColumn
Caption = 'Base Imponible'
DataBinding.FieldName = 'BASE_IMPONIBLE'
end
object cxGridViewIVA: TcxGridDBColumn
DataBinding.FieldName = 'IVA'
end
object cxGridViewIMPORTE_IVA: TcxGridDBColumn
Caption = 'Importe IVA'
DataBinding.FieldName = 'IMPORTE_IVA'
end
object cxGridViewIMPORTE_TOTAL: TcxGridDBColumn
Caption = 'Importe total'
@ -118,10 +129,9 @@ inherited frViewPresupuestosCliente: TfrViewPresupuestosCliente
HeaderAlignmentHorz = taRightJustify
Width = 63
end
object cxGridViewFACTURA: TcxGridDBColumn
Caption = 'Ref. factura'
DataBinding.FieldName = 'FACTURA'
Visible = False
object cxGridViewFACTURA_PROFORMA: TcxGridDBColumn
Caption = 'Ref. factura proforma'
DataBinding.FieldName = 'FACTURA_PROFORMA'
BestFitMaxWidth = 25
Width = 25
end

View File

@ -11,7 +11,8 @@ uses
cxGridCustomPopupMenu, cxGridPopupMenu, dxPSCore, dxPScxCommon, dxPScxGrid6Lnk,
uDADataTable, cxGridLevel, cxClasses, cxControls, cxGridCustomView, Classes,
cxGrid, uBizPresupuestosCliente, cxCurrencyEdit, Forms, uViewFiltroBase, ActnList, TB2Item,
TBX, TB2Toolbar, TBXDkPanels, TB2Dock, dxPgsDlg, uDAInterfaces, Windows;
TBX, TB2Toolbar, TBXDkPanels, TB2Dock, dxPgsDlg, uDAInterfaces, Windows,
uCustomView, uViewBase;
type
IViewPresupuestosCliente = interface(IViewGrid)
@ -28,8 +29,8 @@ type
cxGridViewNOMBRE: TcxGridDBColumn;
cxGridViewSITUACION: TcxGridDBColumn;
cxGridViewFECHA_PRESUPUESTO: TcxGridDBColumn;
cxGridViewCLIENTE_FINAL: TcxGridDBColumn;
cxGridViewFACTURA: TcxGridDBColumn;
cxGridViewREFERENCIA_CLIENTE: TcxGridDBColumn;
cxGridViewFACTURA_PROFORMA: TcxGridDBColumn;
cxGridViewIMPORTE_TOTAL: TcxGridDBColumn;
cxGridLevelPendientes: TcxGridLevel;
cxGridLevelEnProceso: TcxGridLevel;
@ -46,6 +47,9 @@ type
cxGridViewNIF_CIF: TcxGridDBColumn;
cxGridViewINCIDENCIAS: TcxGridDBColumn;
cxStyleRECHAZADO: TcxStyle;
cxGridViewBASE_IMPONIBLE: TcxGridDBColumn;
cxGridViewIVA: TcxGridDBColumn;
cxGridViewIMPORTE_IVA: TcxGridDBColumn;
procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel:
TcxGridLevel);
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
@ -171,13 +175,13 @@ begin
//Sin facturar
1 : begin
FFiltro := AddFilterGrid(fboAnd);
FFiltro.AddItem(cxGridViewFACTURA, foEqual, NULL, 'NoFacturado');
FFiltro.AddItem(cxGridViewFACTURA_PROFORMA, foEqual, NULL, 'NoFacturado');
end;
//Facturados
2: begin
FFiltro := AddFilterGrid(fboAnd);
FFiltro.AddItem(cxGridViewFACTURA, foNotEqual, NULL, 'Facturado');
FFiltro.AddItem(cxGridViewFACTURA_PROFORMA, foNotEqual, NULL, 'Facturado');
end;
end;
end;

View File

@ -73,7 +73,7 @@ begin
with dmGenerarFacturasCliAlbCli.JsCambioSucursalCentral do
begin
Instruction.Text := 'Cambio de cliente en la factura generada';
Content.Text := 'El cliente "' + ACliente.NOMBRE + '" tiene como sucursal central a "' + ACentral.NOMBRE + '". Puede cambiar la factura para cambiar el cliente a la central.';
Content.Text := 'El cliente "' + ACliente.NOMBRE + '" tiene como sucursal central a "' + ACentral.NOMBRE + '". Puede cambiar la factura para cambiar el cliente a la central, se aplicarán los descuentos de la central.';
CustomButtons[0].Caption := 'No cambiar la factura';
CustomButtons[0].Info.Clear;
@ -91,6 +91,7 @@ begin
if dmGenerarFacturasCliAlbCli.JsCambioSucursalCentral.CustomButtonResult = 1 then
begin
AListaFacturas.Cliente := ACentral;
AFacturasClienteController.Guardar(AListaFacturas);
end;
end;

View File

@ -1,530 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<BorlandProject>
<PersonalityInfo>
<Option>
<Option Name="Personality">Delphi.Personality</Option>
<Option Name="ProjectType"></Option>
<Option Name="Version">1.0</Option>
<Option Name="GUID">{69494A8C-0A35-41EA-B8EC-EA790BFC0662}</Option>
</Option>
</PersonalityInfo>
<Delphi.Personality>
<Source>
<Source Name="MainSource">PedProv_FacProv_relation.dpk</Source>
</Source>
<FileVersion>
<FileVersion Name="Version">7.0</FileVersion>
</FileVersion>
<Compiler>
<Compiler Name="A">8</Compiler>
<Compiler Name="B">0</Compiler>
<Compiler Name="C">1</Compiler>
<Compiler Name="D">1</Compiler>
<Compiler Name="E">0</Compiler>
<Compiler Name="F">0</Compiler>
<Compiler Name="G">1</Compiler>
<Compiler Name="H">1</Compiler>
<Compiler Name="I">1</Compiler>
<Compiler Name="J">0</Compiler>
<Compiler Name="K">0</Compiler>
<Compiler Name="L">1</Compiler>
<Compiler Name="M">0</Compiler>
<Compiler Name="N">1</Compiler>
<Compiler Name="O">1</Compiler>
<Compiler Name="P">1</Compiler>
<Compiler Name="Q">0</Compiler>
<Compiler Name="R">0</Compiler>
<Compiler Name="S">0</Compiler>
<Compiler Name="T">0</Compiler>
<Compiler Name="U">0</Compiler>
<Compiler Name="V">1</Compiler>
<Compiler Name="W">0</Compiler>
<Compiler Name="X">1</Compiler>
<Compiler Name="Y">1</Compiler>
<Compiler Name="Z">1</Compiler>
<Compiler Name="ShowHints">True</Compiler>
<Compiler Name="ShowWarnings">True</Compiler>
<Compiler Name="UnitAliases">WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;</Compiler>
<Compiler Name="NamespacePrefix"></Compiler>
<Compiler Name="GenerateDocumentation">False</Compiler>
<Compiler Name="DefaultNamespace"></Compiler>
<Compiler Name="SymbolDeprecated">True</Compiler>
<Compiler Name="SymbolLibrary">True</Compiler>
<Compiler Name="SymbolPlatform">True</Compiler>
<Compiler Name="SymbolExperimental">True</Compiler>
<Compiler Name="UnitLibrary">True</Compiler>
<Compiler Name="UnitPlatform">True</Compiler>
<Compiler Name="UnitDeprecated">True</Compiler>
<Compiler Name="UnitExperimental">True</Compiler>
<Compiler Name="HResultCompat">True</Compiler>
<Compiler Name="HidingMember">True</Compiler>
<Compiler Name="HiddenVirtual">True</Compiler>
<Compiler Name="Garbage">True</Compiler>
<Compiler Name="BoundsError">True</Compiler>
<Compiler Name="ZeroNilCompat">True</Compiler>
<Compiler Name="StringConstTruncated">True</Compiler>
<Compiler Name="ForLoopVarVarPar">True</Compiler>
<Compiler Name="TypedConstVarPar">True</Compiler>
<Compiler Name="AsgToTypedConst">True</Compiler>
<Compiler Name="CaseLabelRange">True</Compiler>
<Compiler Name="ForVariable">True</Compiler>
<Compiler Name="ConstructingAbstract">True</Compiler>
<Compiler Name="ComparisonFalse">True</Compiler>
<Compiler Name="ComparisonTrue">True</Compiler>
<Compiler Name="ComparingSignedUnsigned">True</Compiler>
<Compiler Name="CombiningSignedUnsigned">True</Compiler>
<Compiler Name="UnsupportedConstruct">True</Compiler>
<Compiler Name="FileOpen">True</Compiler>
<Compiler Name="FileOpenUnitSrc">True</Compiler>
<Compiler Name="BadGlobalSymbol">True</Compiler>
<Compiler Name="DuplicateConstructorDestructor">True</Compiler>
<Compiler Name="InvalidDirective">True</Compiler>
<Compiler Name="PackageNoLink">True</Compiler>
<Compiler Name="PackageThreadVar">True</Compiler>
<Compiler Name="ImplicitImport">True</Compiler>
<Compiler Name="HPPEMITIgnored">True</Compiler>
<Compiler Name="NoRetVal">True</Compiler>
<Compiler Name="UseBeforeDef">True</Compiler>
<Compiler Name="ForLoopVarUndef">True</Compiler>
<Compiler Name="UnitNameMismatch">True</Compiler>
<Compiler Name="NoCFGFileFound">True</Compiler>
<Compiler Name="ImplicitVariants">True</Compiler>
<Compiler Name="UnicodeToLocale">True</Compiler>
<Compiler Name="LocaleToUnicode">True</Compiler>
<Compiler Name="ImagebaseMultiple">True</Compiler>
<Compiler Name="SuspiciousTypecast">True</Compiler>
<Compiler Name="PrivatePropAccessor">True</Compiler>
<Compiler Name="UnsafeType">False</Compiler>
<Compiler Name="UnsafeCode">False</Compiler>
<Compiler Name="UnsafeCast">False</Compiler>
<Compiler Name="OptionTruncated">True</Compiler>
<Compiler Name="WideCharReduced">True</Compiler>
<Compiler Name="DuplicatesIgnored">True</Compiler>
<Compiler Name="UnitInitSeq">True</Compiler>
<Compiler Name="LocalPInvoke">True</Compiler>
<Compiler Name="MessageDirective">True</Compiler>
<Compiler Name="CodePage"></Compiler>
</Compiler>
<Linker>
<Linker Name="MapFile">0</Linker>
<Linker Name="OutputObjs">0</Linker>
<Linker Name="GenerateHpps">False</Linker>
<Linker Name="ConsoleApp">1</Linker>
<Linker Name="DebugInfo">False</Linker>
<Linker Name="RemoteSymbols">False</Linker>
<Linker Name="GenerateDRC">False</Linker>
<Linker Name="MinStackSize">16384</Linker>
<Linker Name="MaxStackSize">1048576</Linker>
<Linker Name="ImageBase">4194304</Linker>
<Linker Name="ExeDescription"></Linker>
</Linker>
<Directories>
<Directories Name="OutputDir"></Directories>
<Directories Name="UnitOutputDir">.\</Directories>
<Directories Name="PackageDLLOutputDir">..\..\..\..\Output\Debug\Cliente</Directories>
<Directories Name="PackageDCPOutputDir">..\..\Lib</Directories>
<Directories Name="SearchPath">..\..\..\Lib;..\..\Lib</Directories>
<Directories Name="Packages"></Directories>
<Directories Name="Conditionals"></Directories>
<Directories Name="DebugSourceDirs"></Directories>
<Directories Name="UsePackages">False</Directories>
</Directories>
<Parameters>
<Parameters Name="RunParams"></Parameters>
<Parameters Name="HostApplication"></Parameters>
<Parameters Name="Launcher"></Parameters>
<Parameters Name="UseLauncher">False</Parameters>
<Parameters Name="DebugCWD"></Parameters>
<Parameters Name="Debug Symbols Search Path"></Parameters>
<Parameters Name="LoadAllSymbols">True</Parameters>
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
</Parameters>
<VersionInfo>
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
<VersionInfo Name="MajorVer">1</VersionInfo>
<VersionInfo Name="MinorVer">0</VersionInfo>
<VersionInfo Name="Release">0</VersionInfo>
<VersionInfo Name="Build">0</VersionInfo>
<VersionInfo Name="Debug">False</VersionInfo>
<VersionInfo Name="PreRelease">False</VersionInfo>
<VersionInfo Name="Special">False</VersionInfo>
<VersionInfo Name="Private">False</VersionInfo>
<VersionInfo Name="DLL">False</VersionInfo>
<VersionInfo Name="Locale">3082</VersionInfo>
<VersionInfo Name="CodePage">1252</VersionInfo>
</VersionInfo>
<VersionInfoKeys>
<VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="InternalName"></VersionInfoKeys>
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
<VersionInfoKeys Name="ProductName"></VersionInfoKeys>
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
</VersionInfoKeys>
<Language>
<Language Name="ActiveLang"></Language>
<Language Name="ProjectLang">$00000000</Language>
<Language Name="RootDir"></Language>
</Language>
<Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dclsmp100.bpl">Borland Sample Components</Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dcl31w100.bpl">Delphi 1.0 Compatibility Components</Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dclmid100.bpl">Borland MyBase DataAccess Components</Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dcltee100.bpl">TeeChart Components</Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dcldbxcds100.bpl">Borland SimpleDataset Component (DBX)</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\dcldxBarExtItemsD10.bpl">ExpressBars extended items by Developer Express Inc.</Excluded_Packages>
<Excluded_Packages Name="T:\BPL_D10\dcldxBarD10.bpl">ExpressBars by Developer Express Inc.</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\dclcxSchedulerD10.bpl">ExpressScheduler 2 by Developer Express Inc.</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\dclcxVerticalGridD10.bpl">ExpressVerticalGrid by Developer Express Inc.</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\dcldxBarDBNavD10.bpl">ExpressBars DBNavigator by Developer Express Inc.</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\dcldxBarExtDBItemsD10.bpl">ExpressBars extended DB items by Developer Express Inc.</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\dcldxsbD10.bpl">ExpressSideBar by Developer Express Inc.</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvBandsD10D.bpl">JVCL Band Objects</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvCmpD10D.bpl">JVCL Non-Visual Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvCryptD10D.bpl">JVCL Encryption and Compression Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvDlgsD10D.bpl">JVCL Dialog Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvDockingD10D.bpl">JVCL Docking Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvDotNetCtrlsD10D.bpl">JVCL DotNet Controls</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvEDID10D.bpl">JVCL EDI Components Designtime Package</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvHMID10D.bpl">JVCL HMI Controls design time unit</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvInterpreterD10D.bpl">JVCL Interpreter Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvJansD10D.bpl">JVCL Jans Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvManagedThreadsD10D.bpl">JVCL Managed Threads</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvMMD10D.bpl">JVCL Multimedia and Image Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvNetD10D.bpl">JVCL Network Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvPageCompsD10D.bpl">JVCL Page Style Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvPluginD10D.bpl">JVCL Plugin Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvPrintPreviewD10D.bpl">JVCL Print Preview Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvRuntimeDesignD10D.bpl">JVCL Runtime Design Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvTimeFrameworkD10D.bpl">JVCL Time Framework</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvUIBD10D.bpl">JVCL Unified Interbase Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvValidatorsD10D.bpl">JVCL Validators and Error Provider Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\SMImportD2006.bpl">SMImport suite: data importing into dataset. Scalabium/Mike Shkolnik, 2000-2005</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\SMExportD2006.bpl">SMExport suite: data export from dataset. Written by Mike Shkolnik/Scalabium, 1998-2004.</Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dclIntraweb_80_100.bpl">Intraweb 8.0 Design Package for Borland Development Studio 2006</Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dclie100.bpl">Internet Explorer Components</Excluded_Packages>
</Excluded_Packages>
</Delphi.Personality>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=519
Activate=0
Activate Handle=1
Save Log File=1
Foreground Tab=0
Freeze Activate=0
Freeze Timeout=0
Freeze Message=The application seems to be frozen.
SMTP From=eurekalog@email.com
SMTP Host=
SMTP Port=25
SMTP UserID=
SMTP Password=
Append to Log=0
Show TerminateBtn=1
TerminateBtn Operation=1
Errors Number=32
Errors Terminate=3
Email Address=
Email Object=
Email Send Options=0
Output Path=
Encrypt Password=
AutoCloseDialogSecs=0
WebSendMode=0
SupportULR=
HTMLLayout Count=15
HTMLLine0="%3Chtml%3E"
HTMLLine1=" %3Chead%3E"
HTMLLine2=" %3C/head%3E"
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
HTMLLine5=" %3Ctr%3E"
HTMLLine6=" %3Ctd nowrap%3E"
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
HTMLLine8=" %3C%%HTML_TAG%%%3E"
HTMLLine9=" %3C/font%3E"
HTMLLine10=" %3C/td%3E"
HTMLLine11=" %3C/tr%3E"
HTMLLine12=" %3C/table%3E"
HTMLLine13=" %3C/body%3E"
HTMLLine14="%3C/html%3E"
AutoCrashOperation=1
AutoCrashNumber=10
AutoCrashMinutes=1
WebURL=
WebUserID=
WebPassword=
WebPort=0
AttachedFiles=
Count=0
EMail Message Line Count=0
loNoDuplicateErrors=0
loAppendReproduceText=0
loDeleteLogAtVersionChange=0
loAddComputerNameInLogFileName=0
loSaveModulesSection=1
loSaveCPUSection=1
soAppStartDate=1
soAppName=1
soAppVersionNumber=1
soAppParameters=1
soAppCompilationDate=1
soExcDate=1
soExcAddress=1
soExcModule=1
soExcType=1
soExcMessage=1
soActCtlsFormClass=1
soActCtlsFormText=1
soActCtlsControlClass=1
soActCtlsControlText=1
soCmpName=1
soCmpUser=1
soCmpTotalMemory=1
soCmpFreeMemory=1
soCmpTotalDisk=1
soCmpFreeDisk=1
soCmpSysUpTime=1
soCmpProcessor=1
soCmpDisplayMode=1
soOSType=1
soOSBuildN=1
soOSUpdate=1
soOSLanguage=1
soNetIP=1
soNetSubmask=1
soNetGateway=1
soNetDNS1=1
soNetDNS2=1
soNetDHCP=1
sndShowSendDialog=1
sndShowSuccessFailureMsg=0
sndSendEntireLog=0
sndSendXMLLogCopy=0
sndSendScreenshot=0
sndUseOnlyActiveWindow=0
sndSendLastHTMLPage=1
sndSendInSeparatedThread=0
sndAddDateInFileName=0
sndCompressAllFiles=0
edoShowExceptionDialog=1
edoSendEmailChecked=1
edoAttachScreenshotChecked=1
edoShowCopyToClipOption=1
edoShowDetailsButton=1
edoShowInDetailedMode=0
edoShowInTopMostMode=0
edoUseEurekaLogLookAndFeel=1
csoShowDLLs=1
csoShowBPLs=1
csoShowBorlandThreads=1
csoShowWindowsThreads=1
csoShowProcedureOffset=0
boActivateCrashDetection=0
boPauseBorlandThreads=0
boDoNotPauseMainThread=0
boPauseWindowsThreads=0
boUseMainModuleOptions=1
boCopyLogInCaseOfError=1
boSaveCompressedCopyInCaseOfError=0
Count mtInformationMsgCaption=1
mtInformationMsgCaption0="Information."
Count mtQuestionMsgCaption=1
mtQuestionMsgCaption0="Question."
Count mtDialog_Caption=1
mtDialog_Caption0="Error."
Count mtDialog_ErrorMsgCaption=2
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
Count mtDialog_GeneralCaption=1
mtDialog_GeneralCaption0="General"
Count mtDialog_GeneralHeader=1
mtDialog_GeneralHeader0="General Information"
Count mtDialog_CallStackCaption=1
mtDialog_CallStackCaption0="Call Stack"
Count mtDialog_CallStackHeader=1
mtDialog_CallStackHeader0="Call Stack Information"
Count mtDialog_ModulesCaption=1
mtDialog_ModulesCaption0="Modules"
Count mtDialog_ModulesHeader=1
mtDialog_ModulesHeader0="Modules Information"
Count mtDialog_CPUCaption=1
mtDialog_CPUCaption0="CPU"
Count mtDialog_CPUHeader=1
mtDialog_CPUHeader0="CPU Information"
Count mtDialog_CustomDataCaption=1
mtDialog_CustomDataCaption0="Other"
Count mtDialog_CustomDataHeader=1
mtDialog_CustomDataHeader0="Other Information"
Count mtDialog_OKButtonCaption=1
mtDialog_OKButtonCaption0="%26OK"
Count mtDialog_TerminateButtonCaption=1
mtDialog_TerminateButtonCaption0="%26Terminate"
Count mtDialog_RestartButtonCaption=1
mtDialog_RestartButtonCaption0="%26Restart"
Count mtDialog_DetailsButtonCaption=1
mtDialog_DetailsButtonCaption0="%26Details"
Count mtDialog_SendMessage=1
mtDialog_SendMessage0="%26Send this error via Internet"
Count mtDialog_ScreenshotMessage=1
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
Count mtDialog_CopyMessage=1
mtDialog_CopyMessage0="%26Copy to Clipboard"
Count mtDialog_SupportMessage=1
mtDialog_SupportMessage0="Go to the Support Page"
Count mtLog_AppHeader=1
mtLog_AppHeader0="Application"
Count mtLog_AppStartDate=1
mtLog_AppStartDate0="Start Date"
Count mtLog_AppName=1
mtLog_AppName0="Name/Description"
Count mtLog_AppVersionNumber=1
mtLog_AppVersionNumber0="Version Number"
Count mtLog_AppParameters=1
mtLog_AppParameters0="Parameters"
Count mtLog_AppCompilationDate=1
mtLog_AppCompilationDate0="Compilation Date"
Count mtLog_ExcHeader=1
mtLog_ExcHeader0="Exception"
Count mtLog_ExcDate=1
mtLog_ExcDate0="Date"
Count mtLog_ExcAddress=1
mtLog_ExcAddress0="Address"
Count mtLog_ExcModule=1
mtLog_ExcModule0="Module"
Count mtLog_ExcType=1
mtLog_ExcType0="Type"
Count mtLog_ExcMessage=1
mtLog_ExcMessage0="Message"
Count mtLog_ActCtrlsHeader=1
mtLog_ActCtrlsHeader0="Active Controls"
Count mtLog_ActCtrlsFormClass=1
mtLog_ActCtrlsFormClass0="Form Class"
Count mtLog_ActCtrlsFormText=1
mtLog_ActCtrlsFormText0="Form Text"
Count mtLog_ActCtrlsControlClass=1
mtLog_ActCtrlsControlClass0="Control Class"
Count mtLog_ActCtrlsControlText=1
mtLog_ActCtrlsControlText0="Control Text"
Count mtLog_CmpHeader=1
mtLog_CmpHeader0="Computer"
Count mtLog_CmpName=1
mtLog_CmpName0="Name"
Count mtLog_CmpUser=1
mtLog_CmpUser0="User"
Count mtLog_CmpTotalMemory=1
mtLog_CmpTotalMemory0="Total Memory"
Count mtLog_CmpFreeMemory=1
mtLog_CmpFreeMemory0="Free Memory"
Count mtLog_CmpTotalDisk=1
mtLog_CmpTotalDisk0="Total Disk"
Count mtLog_CmpFreeDisk=1
mtLog_CmpFreeDisk0="Free Disk"
Count mtLog_CmpSystemUpTime=1
mtLog_CmpSystemUpTime0="System Up Time"
Count mtLog_CmpProcessor=1
mtLog_CmpProcessor0="Processor"
Count mtLog_CmpDisplayMode=1
mtLog_CmpDisplayMode0="Display Mode"
Count mtLog_OSHeader=1
mtLog_OSHeader0="Operating System"
Count mtLog_OSType=1
mtLog_OSType0="Type"
Count mtLog_OSBuildN=1
mtLog_OSBuildN0="Build #"
Count mtLog_OSUpdate=1
mtLog_OSUpdate0="Update"
Count mtLog_OSLanguage=1
mtLog_OSLanguage0="Language"
Count mtLog_NetHeader=1
mtLog_NetHeader0="Network"
Count mtLog_NetIP=1
mtLog_NetIP0="IP Address"
Count mtLog_NetSubmask=1
mtLog_NetSubmask0="Submask"
Count mtLog_NetGateway=1
mtLog_NetGateway0="Gateway"
Count mtLog_NetDNS1=1
mtLog_NetDNS10="DNS 1"
Count mtLog_NetDNS2=1
mtLog_NetDNS20="DNS 2"
Count mtLog_NetDHCP=1
mtLog_NetDHCP0="DHCP"
Count mtLog_CustInfoHeader=1
mtLog_CustInfoHeader0="Custom Information"
Count mtCallStack_Address=1
mtCallStack_Address0="Address"
Count mtCallStack_Name=1
mtCallStack_Name0="Module"
Count mtCallStack_Unit=1
mtCallStack_Unit0="Unit"
Count mtCallStack_Class=1
mtCallStack_Class0="Class"
Count mtCallStack_Procedure=1
mtCallStack_Procedure0="Procedure/Method"
Count mtCallStack_Line=1
mtCallStack_Line0="Line"
Count mtCallStack_MainThread=1
mtCallStack_MainThread0="Main"
Count mtCallStack_ExceptionThread=1
mtCallStack_ExceptionThread0="Exception Thread"
Count mtCallStack_RunningThread=1
mtCallStack_RunningThread0="Running Thread"
Count mtCallStack_CallingThread=1
mtCallStack_CallingThread0="Calling Thread"
Count mtCallStack_ThreadID=1
mtCallStack_ThreadID0="ID"
Count mtCallStack_ThreadPriority=1
mtCallStack_ThreadPriority0="Priority"
Count mtCallStack_ThreadClass=1
mtCallStack_ThreadClass0="Class"
Count mtSendDialog_Caption=1
mtSendDialog_Caption0="Send."
Count mtSendDialog_Message=1
mtSendDialog_Message0="Message"
Count mtSendDialog_Resolving=1
mtSendDialog_Resolving0="Resolving DNS..."
Count mtSendDialog_Connecting=1
mtSendDialog_Connecting0="Connecting with server..."
Count mtSendDialog_Connected=1
mtSendDialog_Connected0="Connected with server."
Count mtSendDialog_Sending=1
mtSendDialog_Sending0="Sending message..."
Count mtReproduceDialog_Caption=1
mtReproduceDialog_Caption0="Request"
Count mtReproduceDialog_Request=1
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
Count mtReproduceDialog_OKButtonCaption=1
mtReproduceDialog_OKButtonCaption0="%26OK"
Count mtModules_Handle=1
mtModules_Handle0="Handle"
Count mtModules_Name=1
mtModules_Name0="Name"
Count mtModules_Description=1
mtModules_Description0="Description"
Count mtModules_Version=1
mtModules_Version0="Version"
Count mtModules_Size=1
mtModules_Size0="Size"
Count mtModules_LastModified=1
mtModules_LastModified0="Modified"
Count mtModules_Path=1
mtModules_Path0="Path"
Count mtCPU_Registers=1
mtCPU_Registers0="Registers"
Count mtCPU_Stack=1
mtCPU_Stack0="Stack"
Count mtCPU_MemoryDump=1
mtCPU_MemoryDump0="Memory Dump"
Count mtSend_SuccessMsg=1
mtSend_SuccessMsg0="The message was sent successfully."
Count mtSend_FailureMsg=1
mtSend_FailureMsg0="Sorry, sending the message didn't work."
EurekaLog Last Line -->
</BorlandProject>

View File

@ -1,48 +0,0 @@
package PedProv_FacProv_relation;
{$R *.res}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$IMPLICITBUILD OFF}
requires
rtl,
Base,
ControllerBase,
Contactos_model,
Contactos_controller,
PNG_D10,
vcl,
JSDialog100,
vclx,
vclactnband,
xmlrtl,
designide,
FacturasProveedor_model,
FacturasProveedor_controller,
PedidosProveedor_controller,
PedidosProveedor_model;
contains
uGenerarFacturasProvPedProvUtils in 'uGenerarFacturasProvPedProvUtils.pas';
end.

View File

@ -1,219 +0,0 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{69494a8c-0a35-41ea-b8ec-ea790bfc0662}</ProjectGuid>
<MainSource>PedProv_FacProv_relation.dpk</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\..\..\Output\Debug\Cliente\PedProv_FacProv_relation.bpl</DCC_DependencyCheckOutputName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Version>7.0</Version>
<DCC_DebugInformation>False</DCC_DebugInformation>
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_DcuOutput>.\</DCC_DcuOutput>
<DCC_ObjOutput>.\</DCC_ObjOutput>
<DCC_HppOutput>.\</DCC_HppOutput>
<DCC_BplOutput>..\..\..\..\Output\Debug\Cliente</DCC_BplOutput>
<DCC_DcpOutput>..\..\Lib</DCC_DcpOutput>
<DCC_UnitSearchPath>..\..\..\Lib;..\..\Lib</DCC_UnitSearchPath>
<DCC_ResourcePath>..\..\..\Lib;..\..\Lib</DCC_ResourcePath>
<DCC_ObjPath>..\..\..\Lib;..\..\Lib</DCC_ObjPath>
<DCC_IncludePath>..\..\..\Lib;..\..\Lib</DCC_IncludePath>
<DCC_Define>RELEASE</DCC_Define>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Version>7.0</Version>
<DCC_DcuOutput>.\</DCC_DcuOutput>
<DCC_ObjOutput>.\</DCC_ObjOutput>
<DCC_HppOutput>.\</DCC_HppOutput>
<DCC_BplOutput>..\..\..\..\Output\Debug\Cliente</DCC_BplOutput>
<DCC_DcpOutput>..\..\Lib</DCC_DcpOutput>
<DCC_UnitSearchPath>..\..\..\Lib;..\..\Lib</DCC_UnitSearchPath>
<DCC_ResourcePath>..\..\..\Lib;..\..\Lib</DCC_ResourcePath>
<DCC_ObjPath>..\..\..\Lib;..\..\Lib</DCC_ObjPath>
<DCC_IncludePath>..\..\..\Lib;..\..\Lib</DCC_IncludePath>
<DCC_Define>DEBUG</DCC_Define>
</PropertyGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject>
<BorlandProject xmlns=""> <Delphi.Personality> <Parameters>
<Parameters Name="UseLauncher">False</Parameters>
<Parameters Name="LoadAllSymbols">True</Parameters>
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
</Parameters>
<Package_Options>
<Package_Options Name="ImplicitBuild">False</Package_Options>
<Package_Options Name="DesigntimeOnly">False</Package_Options>
<Package_Options Name="RuntimeOnly">False</Package_Options>
</Package_Options>
<VersionInfo>
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
<VersionInfo Name="MajorVer">1</VersionInfo>
<VersionInfo Name="MinorVer">0</VersionInfo>
<VersionInfo Name="Release">0</VersionInfo>
<VersionInfo Name="Build">0</VersionInfo>
<VersionInfo Name="Debug">False</VersionInfo>
<VersionInfo Name="PreRelease">False</VersionInfo>
<VersionInfo Name="Special">False</VersionInfo>
<VersionInfo Name="Private">False</VersionInfo>
<VersionInfo Name="DLL">False</VersionInfo>
<VersionInfo Name="Locale">3082</VersionInfo>
<VersionInfo Name="CodePage">1252</VersionInfo>
</VersionInfo>
<VersionInfoKeys>
<VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="InternalName"></VersionInfoKeys>
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
<VersionInfoKeys Name="ProductName"></VersionInfoKeys>
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
</VersionInfoKeys>
<Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dclsmp100.bpl">Borland Sample Components</Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dcl31w100.bpl">Delphi 1.0 Compatibility Components</Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dclmid100.bpl">Borland MyBase DataAccess Components</Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dcltee100.bpl">TeeChart Components</Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dcldbxcds100.bpl">Borland SimpleDataset Component (DBX)</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\dcldxBarExtItemsD10.bpl">ExpressBars extended items by Developer Express Inc.</Excluded_Packages>
<Excluded_Packages Name="T:\BPL_D10\dcldxBarD10.bpl">ExpressBars by Developer Express Inc.</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\dclcxSchedulerD10.bpl">ExpressScheduler 2 by Developer Express Inc.</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\dclcxVerticalGridD10.bpl">ExpressVerticalGrid by Developer Express Inc.</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\dcldxBarDBNavD10.bpl">ExpressBars DBNavigator by Developer Express Inc.</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\dcldxBarExtDBItemsD10.bpl">ExpressBars extended DB items by Developer Express Inc.</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\dcldxsbD10.bpl">ExpressSideBar by Developer Express Inc.</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvBandsD10D.bpl">JVCL Band Objects</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvCmpD10D.bpl">JVCL Non-Visual Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvCryptD10D.bpl">JVCL Encryption and Compression Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvDlgsD10D.bpl">JVCL Dialog Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvDockingD10D.bpl">JVCL Docking Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvDotNetCtrlsD10D.bpl">JVCL DotNet Controls</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvEDID10D.bpl">JVCL EDI Components Designtime Package</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvHMID10D.bpl">JVCL HMI Controls design time unit</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvInterpreterD10D.bpl">JVCL Interpreter Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvJansD10D.bpl">JVCL Jans Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvManagedThreadsD10D.bpl">JVCL Managed Threads</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvMMD10D.bpl">JVCL Multimedia and Image Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvNetD10D.bpl">JVCL Network Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvPageCompsD10D.bpl">JVCL Page Style Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvPluginD10D.bpl">JVCL Plugin Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvPrintPreviewD10D.bpl">JVCL Print Preview Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvRuntimeDesignD10D.bpl">JVCL Runtime Design Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvTimeFrameworkD10D.bpl">JVCL Time Framework</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvUIBD10D.bpl">JVCL Unified Interbase Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\JvValidatorsD10D.bpl">JVCL Validators and Error Provider Components</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\SMImportD2006.bpl">SMImport suite: data importing into dataset. Scalabium/Mike Shkolnik, 2000-2005</Excluded_Packages>
<Excluded_Packages Name="T:\Bpl_D10\SMExportD2006.bpl">SMExport suite: data export from dataset. Written by Mike Shkolnik/Scalabium, 1998-2004.</Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dclIntraweb_80_100.bpl">Intraweb 8.0 Design Package for Borland Development Studio 2006</Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dclie100.bpl">Internet Explorer Components</Excluded_Packages>
</Excluded_Packages>
<Source>
<Source Name="MainSource">PedProv_FacProv_relation.dpk</Source>
</Source>
</Delphi.Personality> </BorlandProject></BorlandProject>
</ProjectExtensions>
<ItemGroup />
<ItemGroup>
<DelphiCompile Include="PedProv_FacProv_relation.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\..\Facturas de proveedor\Base.dcp" />
<DCCReference Include="..\..\Facturas de proveedor\Contactos_controller.dcp" />
<DCCReference Include="..\..\Facturas de proveedor\Contactos_model.dcp" />
<DCCReference Include="..\..\Facturas de proveedor\ControllerBase.dcp" />
<DCCReference Include="..\..\Facturas de proveedor\designide.dcp" />
<DCCReference Include="..\..\Facturas de proveedor\FacturasProveedor_controller.dcp" />
<DCCReference Include="..\..\Facturas de proveedor\FacturasProveedor_model.dcp" />
<DCCReference Include="..\..\Facturas de proveedor\JSDialog100.dcp" />
<DCCReference Include="..\..\Facturas de proveedor\PedidosProveedor_controller.dcp" />
<DCCReference Include="..\..\Facturas de proveedor\PedidosProveedor_model.dcp" />
<DCCReference Include="..\..\Facturas de proveedor\PNG_D10.dcp" />
<DCCReference Include="..\..\Facturas de proveedor\rtl.dcp" />
<DCCReference Include="..\..\Facturas de proveedor\vcl.dcp" />
<DCCReference Include="..\..\Facturas de proveedor\vclactnband.dcp" />
<DCCReference Include="..\..\Facturas de proveedor\vclx.dcp" />
<DCCReference Include="..\..\Facturas de proveedor\xmlrtl.dcp" />
<DCCReference Include="uGenerarFacturasProvPedProvUtils.pas" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
</Project>

View File

@ -1,315 +0,0 @@
object dmGenerarFacturasProv: TdmGenerarFacturasProv
OldCreateOrder = False
Height = 176
Width = 254
object JsListaFacturasGeneradas: TJSDialog
Glyph.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
00001C0806000000720DDF940000000970485973000017120000171201679FD2
520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14
5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD
1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2
3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD
B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010
60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3
21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045
A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8
225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281
081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87
A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F
70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B
EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F
286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8
6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10
81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8
CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF
469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32
F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF
86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165
4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF
673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2
ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312
FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312
82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA
1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082}
Instruction.Text = 'Se ha generado el albar'#195#161'n...'
Instruction.Glyph.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
00001C0806000000720DDF940000000970485973000017120000171201679FD2
520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14
5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD
1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2
3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD
B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010
60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3
21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045
A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8
225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281
081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87
A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F
70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B
EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F
286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8
6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10
81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8
CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF
469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32
F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF
86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165
4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF
673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2
ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312
FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312
82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA
1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082}
Instruction.Icon = tdiCustom
CustomButtons = <
item
Caption = 'Ver el albar'#225'n'
Value = 100
end
item
Caption = 'Continuar'
Value = 200
Cancel = True
end>
ButtonBar.Buttons = []
ButtonBar.Cancel = cbOK
ButtonBar.UseCancel = False
MainIcon = tdiCustom
Title = 'FactuGES'
Position = dpMainFormCenter
Icon.Data = {
0000010003002020100001000400E8020000360000002020000001000800A808
00001E0300002020000001002000A8100000C60B000028000000200000004000
0000010004000000000000020000000000000000000000000000000000000000
000000008000008000000080800080000000800080008080000080808000C0C0
C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000
0000000000000000000000000000000008777777777777777777777700000000
0877767777677776777767760000000008F88888888888888888888700000000
08F8FF8F8F888888888888860000000008FF8F8F88F8F8888888888C00000000
08F88888F8888888888888860000000008F8688878E8888E88E8788700000000
08F8688888F8F8FFFFFF88760000000008FF4888888F8FFFFFFF788700000000
08F8676767677677677658E50000000008FF8888888887878787888700000000
08FF8887887E8888888888860000000008FFE8E8E788C8E8FF8F8F8600000000
08FFF8F8F8F8FF8F88F8F8870000000008FFFFFF8FF8F8F8F88F888600000000
0FF8477878787878788788860000000008FF68888888F8FF8F8F788700000000
08B7588888FF8FFFFFFF78860000083008BB47887776777777776F86000000B7
8B9B73BB88788787E87878870000008BB8B9BB78888888EFF8F8FF8600000087
B8BB8B888E8E8E88FFF8F886000000088BBB888FFFFFFFFFF8F877770000B9BB
B8FFBB9B9BFFFFFFF87466460000BBB9BB8FBBBBB8FFFFFFF88F888700000008
B8BB88888FFFFFFFF88F8F7700000008BBBBBB8FFFFFFFFFFF8887700000007B
B7B98BB8FFFFFFFFF8887700000000B78B9B87B888F88F88F8877000000007B0
08BB883B78888788787700000000000000B9000000000000000000000000FFFF
FFFFF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
000FF800000FF800000F9800000FC000000FC000000FC000000FE000000F0000
000F0000000FE000000FE000001FC000003FC000007F980000FFFCFFFFFF2800
0000200000004000000001000800000000000004000000000000000000000001
00000001000000000000694731007C5D49007E604C0081635000826451008567
540085685500886B5900896D5B008A6E5D008B705F008E715F008B7260008C72
61008E74640084766C00957A6900977D6D00887B72009A8171009D8272009C84
76009D8778009F897B00A28A7900A08B7D00A18C7E00E1B06E00E1B67D003E7A
970073A0A5007AA2B70074AFBD007BB2BB003CAACE0028A5DB0020ADDF000D9A
E500209EE3000DA6E2001AA4EF0000A6FF000CABFE0009ACFE0010A4F10015AC
FA0000B5FB0000B0FD000CB6FC0000BFF90000BAFD0004BAFD0009BBFB0013B6
F40015BFFA001CBDFB0026B7FD00589EC50040A4CD0040ABCC0050A2C7005DAE
C00060A3C20062A4C60060B7CB006AB0CD007BB6C80077BAC80061BADD0044AD
E50000C3F80007C6FB0000CAF80000CFFB0000D4F90026C8FA0026CDF8002BCC
F90039C4FB0039C2FC0039CAFA003FCFFB0024D6F80030D2F80039D5F80000F8
F8001FF8F8002CF6F8003EF4F8005AC6DC0070CDDF0052C0E40054C9E3004DCE
FA005FC7FF004FD2FB004DD9F8005FD9FB006ED3E70063CDFE0060D1FB0060D8
F90060DDF80046F8F90056F0F8005FFAFA0073E3F80073E4F90073EEF80060F1
F800958A84009A918C0081999500A68F8200AD968500A3968C00AE988900AD9A
8D00B19A8B00AF9C9000B09E9200B59F9200B7A29300B2A19600B5A19400B7A4
9700BDA79700B4A39800B1A59D00B4A79F00BAA69800BCA79900B4A89F00BCA8
9900BAA89C00BDAA9D00BEAC9E0083ADBD00B5A9A100BDABA000BEADA100BFAF
A500A0BABE00C0AB9E00C1AC9E00C6AE9F00E2B98100E4BA8300E4BB8400E5BC
8500E1BD8E00E3BF9000C0ADA000C2B0A300C2B1A500C4B2A600C1B2A800C3B5
AB00C8B4A800CCB9AD00CEBCB100D0BEB200D1BFB400E4C19300E5C29400E6C4
9600E8C69900D0C9A300CFC1B800D2C1B600D3C3B800D5C4B900D6C6BC00D8C6
BC00D6C8BE00DAC9BF00ECD3B000EDD4B200EFD6B500E7D1B800E7D3BD00F0D8
B6008CB7C40080BEC70097C3C70099C3C900ABD7CF00AFD9DD0086E3F90086E7
F90086ECF8009EE5FB0090E8F900ACEDFC00BCEAFD00BCF1FB00BFF1FD00D7C9
C000D9CAC100DCCBC200DACCC200DDCCC300DACCC400DDCEC400DED0C600DED1
C900DED3CC00DFD4CD00E1D1C900E2D5CD00F0DCC200E3D8D200E5D9D200E2DA
D500E6DBD400E5DCD500E8DDD600E6DDD800E9DFD900E6E0DB00EAE0DA00EAE2
DD00ECE3DE00EBE4DE00ECE4DE00F3E7D900C6E1EF00C9EFFD00D7F6FD00DFF3
FF00DFFEFE00EBE7E300EDE6E100EFE7E400EEE8E400F0EAE600F2EDE900F2EE
EC00F4EFEC00F5F0EE00F9F4ED00E7FAFD00EBF8FF00F6F2F000F7F4F100F8F4
F200F9F7F500FAF8F600FBF9F900FCFBFA00FCFCFB00FEFEFE00000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000007D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D
0D0D0000000000000000009C9C19191919191919191919191919191919191919
1903000000000000000000ABDECBCBC7C7AFABABABABAAA3A2A2A0A0A0A0A0A0
8607000000000000000000ABECEAE9DEDEDEDED7D5D2D2D2CBCBCBCBB0CBB0CB
9007000000000000000000ABEDECEAE9DEDEDBD7D7D5D2D2D2CDCDCBB0B0B0B0
9007000000000000000000AFEDE9A9CFD2CFD2CDCBCBCBB0B0ABACA3A3A3A3B0
9007000000000000000000AFF0D5017783838386868686869099909999907BB0
9007000000000000000000B0F4D501A0B0CBD2D5DEECEDF7FAFAFAFAFAF77BAA
9007000000000000000000CBF4DC01A0B0B0B0D2D5DBEAEDF7FAFAFAFAF47BB0
9007000000000000000000CBF8DC010404070604090909090D0D110D110D02A3
9007000000000000000000CBFAED9E9E9E9C999E8C8C8C868683837E7D7D7ACB
9007000000000000000000CBFAF1A7A7A6A6A6A69898989898B5DBDBD5D5D2D2
9907000000000000000000CDFAF796969696961D961D931D1DB4DEDBD7D5D5D2
9C07000000000000000000CFFAFAFAFAF8F7F0F0EDEDEDECE9E9DEDEDED7D5D5
9907000000000000000000CDFAFAEAF0EDEDECEAEAE9DEDEDBDCD5D5D5D5D2D5
9C07000000000000000000D2FAEC01737D7D7B7D7D7B7D7B7D7B7B7B7D7B7DD2
9907000000000000000000CFFAEC019EABB0CBD2D5DCDEECEDF4F4F4F4EA7BD2
9C07000000000000000000B9524601A0B0B0CBB5D5DEEAEDF7FAFAFAFAF47DD5
9C070000000000213F0000B83226010C3F5C1F111214141616191B1B1B1807D2
9C07000000000000253D8A5B322D711E2860BA7E7E7A7E797A797979767676D5
9E0700000000000041375E662F2B65314EBBB6B6B6B6B4B4B1E2F4EDEDEDECEA
9C070000000000008F5D66663232394EC1A81C1C1C1C1C1C1CD3F7F4EDDED7D5
9C0700000000000000B7BE6E5758BEBDE4E6E6F3FAFAFAFAFAFAF7F4D5928675
7304000000002A2A2A2A4A6AFAE7562F2A2A2A5FFAFAFAFAFAFAF8D577010101
0101000000004747472F4A59C5E7564A32474766FAFAFAFAFAFAFADCA0D2CFB0
A20C00000000000000436C6958686D6BC2C5C5E7FAFAFAFAFAFAFADEAADEDBCB
1470000000000000004551534A4A5250C0E7FAFAFAFAFAFAFAFAFADEAAD7B514
700000000000000042384C54472B613550C3FAFAFAFAFAFAFAFAFADEA1B0196F
000000000000000024234463322EBC5A3664E3ECE9E9E9E9E9E9E9CF90731300
000000000000003A3C00002232298B8B3E3B207E8B7E8B7E827E817E74100000
0000000000000000000000003227000000000000000000000000000000000000
000000000000FFFFFFFFF800000FF800000FF800000FF800000FF800000FF800
000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
000FF800000FF800000FF800000FF800000F9800000FC000000FC000000FC000
000FE000000F0000000F0000000FE000000FE000001FC000003FC000007F9800
00FFFCFFFFFF2800000020000000400000000100200000000000801000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000007067
5F70AA9382E570513CE3735540E3735540E3735540E3735540E3735540E37355
40E3735540E3735540E3735540E3735540E3735540E3735540E3735540E37355
40E3735540E3735540E3735540E3735540E3735540E3735540E372533EE5BAAB
A070000000000000000000000000000000000000000000000000000000005E54
4C7FCAB7ABFFC5B5AAFFA18877FFA28A78FFA28A79FFA28A79FFA28A79FFA28A
79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A
79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA58D7CFF7A5B46FFB2A1
967F000000000000000000000000000000000000000000000000000000006055
4D7ED7C6BBFFEDE4E0FFD9CCC4FFD9CCC4FFD9CBC3FFD8CAC1FFD7C9BFFFD6C7
BDFFD5C6BBFFD4C4BAFFD3C3B8FFD2C1B7FFD1C0B5FFD0BEB3FFCFBDB2FFCEBC
B0FFCEBBAFFFCEBBAFFFCEBBAFFFCEBBAFFFCEBCB0FFBEAA9CFF82644FFFB2A1
967E000000000000000000000000000000000000000000000000000000006056
4D7ED7C8BCFFF2EBE8FFEFE9E5FFEEE7E2FFECE5E0FFEBE2DEFFEAE0DBFFE9DE
D8FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCDC4FFDCCB
C2FFDBC9BFFFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC1FFC1AC9FFF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006155
4E7ED8C9BDFFF3EDE9FFF1EAE6FFF0E9E6FFEEE6E1FFECE4DFFFEBE2DDFFEAE0
DAFFE9DED7FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCD
C4FFDCCBC2FFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC0FFC1AC9FFF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006157
4E7ED9C9BFFFF4EFEDFFEFE8E3FFD0C2B9FFDFD5CEFFE0D5CEFFE0D4CCFFDED3
CBFFDDD1C8FFDCCFC6FFDACCC4FFD9CBC1FFD8C9BFFFD7C7BDFFD6C5BBFFD5C4
B9FFD3C2B7FFD2C0B5FFD2BFB4FFD2BFB4FFDAC8BEFFC1AC9FFF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006256
4F7EDACCC0FFF5F2EFFFE5DDD9FF5C3821FFB0998AFFB8A394FFB8A394FFB9A3
94FFB8A495FFB9A597FFB9A698FFBAA698FFBBA799FFBBA89AFFBBA89BFFBCA8
9BFFBCA89BFFBCA89BFFBBA89AFFB49E8FFFD8C6BBFFC1AC9FFF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006256
4F7EDBCBC1FFF8F4F3FFE7E0DBFF5F3C24FFD0BDB2FFDCCBC1FFDDCCC3FFE2D2
CBFFE7DBD4FFEDE2DEFFF0E8E6FFF5F0EDFFF9F7F4FFFDFDFDFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFAF8F7FFB39D8DFFD8C6BBFFC1AC9FFF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006256
4F7EDCCEC3FFFAF6F5FFE9E2DDFF5F3C24FFD2BFB5FFDFCDC4FFDECCC3FFE0CE
C6FFE4D4CDFFE9DDD6FFEFE4E0FFF1EAE8FFF7F1EFFFFBF8F6FFFFFEFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFCFBFAFFB5A090FFD9C7BEFFC1AD9FFF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006257
4F7EDDCFC4FFFCF9F9FFE9E4E0FF5F3A23FF7C5D49FF7F5F4CFF7E5F4CFF7E60
4DFF7F614DFF816350FF826552FF836654FF846856FF856A57FF866B59FF876C
5BFF876D5BFF876D5BFF866B59FF72523DFFD5C3B9FFC1AFA1FF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006357
507EDECFC6FFFCFCFBFFF4F1F0FFC3B6AEFFC3B5ADFFC1B4ACFFC0B3AAFFBFB1
A9FFBEB0A6FFBDAEA5FFBDACA3FFBCABA2FFBBAAA0FFBAA99FFFB8A69AFFB8A4
98FFB6A396FFB5A194FFB49F93FFB39D90FFDCCDC4FFC2AEA1FF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006357
507EDFD2C7FFFEFEFDFFF9F5EFFFE8C696FFE9C799FFE8C697FFE7C596FFE7C4
95FFE6C394FFE5C293FFE4C091FFE4C090FFE3BF8FFFE2BD8CFFE9D5BFFFEBE1
DCFFEADFD8FFE7DCD5FFE5DAD3FFE4D8D0FFE3D4CCFFC2AFA2FF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006458
517EE0D3C8FFFFFFFFFFFAF5EFFFE3B77CFFE4B97FFFE2B87EFFE3B77DFFE2B7
7CFFE2B67BFFE1B57AFFE1B479FFE0B478FFE0B377FFDFB174FFE6D0B7FFEBE1
DCFFE8DFD9FFE8DDD6FFE6D9D2FFE3D8D1FFE4D7CFFFC3AFA2FF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006458
517EE1D2C9FFFFFFFFFFFEFEFDFFFEFFFFFFFCFDFEFFFBFBFBFFF9F7F8FFF8F5
F6FFF7F3F2FFF5F1F0FFF4EFEEFFF1EDEBFFF0EBE9FFEEE9E6FFEDE6E2FFECE3
DEFFEBE1DBFFE9DFD9FFE8DDD6FFE6DAD3FFE5D9D2FFC3B0A3FF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006459
517EE1D4CAFFFFFFFFFFFDFDFCFFEEEBE8FFF5F2F0FFF4F0EFFFF3EFECFFF2ED
EAFFF1EBE8FFEEE9E5FFEFE7E3FFECE5E1FFEAE4DEFFEAE1DCFFE8E0DAFFE7DE
D8FFE6DDD6FFE5DBD4FFE4D8D1FFE2D6CEFFE6DBD4FFC3B1A4FF81634EFFB2A1
967E000000000000000000000000000000000000000000000000000000006559
527EE2D4CAFFFFFFFFFFF0ECEAFF5B361EFFAB9383FFB39D8EFFB39D8DFFB39D
8DFFB29D8DFFB29C8DFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C
8CFFB29C8CFFB29C8CFFB29C8DFFB39D8EFFE3D8D0FFC4B1A4FF81634EFFB2A1
967E000000000000000000000000000000000000000000000000000000006559
527EE5D4CAFFFFFFFFFFF7F0EBFF5F3B24FFCCB8ADFFD7C5BAFFD9C7BDFFDCCC
C3FFE1D4CCFFE5DAD4FFE8E0DBFFEDE5E1FFF1EBE9FFF5F2EFFFF7F5F3FFF8F6
F4FFF8F5F4FFF8F6F4FFF1EEEAFFB29C8DFFE6DAD3FFC4B2A5FF81634EFFB2A1
967E00000000000000000000000000000000000000000000000000000000685A
527E9AC6C9FF35CFFEFF3DAEEBFF663E24FFD2BFB4FFE0CBBFFFE0C9BDFFE1CD
C4FFE4D5CDFFE9DED7FFEEE5E0FFF2EBE8FFF6F2F0FFFCF8F8FFFFFFFEFFFFFF
FFFFFFFFFFFFFFFFFFFFFCFAF9FFB49E8FFFE7DED7FFC5B3A6FF81634EFFB2A1
967E00000000000000000000000000000000007792910072A7A3001E33366957
4C7C86C1C8FF00BFFBFF079AEBFF6A3E23FF926D57FF5FA3C8FF4AC1E8FF6C9C
A2FF917260FF927767FF947A69FF957C6CFF977E6FFF998171FF9A8374FF9B85
76FF9C8678FF9C8678FF998274FF7D5E49FFE3D9D4FFC5B3A7FF81634EFFB2A1
967E00000000000000000000000000000000005A6F7000A9E5E40075AEAE5C90
A5BD75D0E0FF00BFFAFF0CA3F4FF8A9A91FF3C7492FF03A4E4FF4AD5FFFF98C4
CBFFB3A196FFB1A197FFB0A096FFB09F95FFAF9D92FFAF9C91FFAD9A8EFFAC99
8CFFAB988AFFAB9789FFAA9688FFA99386FFE8E0DAFFC5B4A7FF81634EFFB2A1
967E00000000000000000000000000000000000000002DA5BFC110C2FFFF4DD0
FDFF64DBF9FF00B3FAFF09A8FEFF68D7FFFF04B5FFFF24CCFBFFAFD8CEFFF7DA
B8FFF3DBBBFFF3DBBAFFF2D9B9FFF1D8B7FFF0D7B4FFEED5B2FFF6EADDFFF9F6
F4FFF7F3F1FFF5F1EEFFF5EFECFFF4EDEAFFF1EBE7FFC6B4A8FF81634EFFB2A1
967E00000000000000000000000000000000000000005F8A909142C7E4E960DE
F8FF64D7FAFF00B6FDFF00B8FDFF21B2FDFF1ECCF7FF93EBFCFFD2C69BFFE1AB
63FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDEA961FFEFDBC0FFF8F6
F5FFF6F2F0FFF3EDEBFFECE2DCFFE9DFD9FFE5DBD6FFC2B1A4FF81634FFFB2A1
967E000000000000000000000000000E171A000E171A00040B145994A4A990EB
FCFF61F1F7FF13FAF7FF23F9F7FF93EDF7FF8CE5F8FFD5F2FDFFE9F8FFFFE7F8
FFFFF0FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFDFEFFFFFAFAF9FFF9F7
F5FFF7F2F0FFE8DFD8FFC7AE9FFFBEA998FFAF9888FFB09A8AFF7F604DFFB2A1
967E00000000000000000000000000AAFFFF00AAFFFF00AAFFFF00A4FFFF00CD
FAFF5DFCF9FFFFFFFFFFEEFEFEFF00FBF7FF00AAFEFF00A1FFFF00A1FFFF00A0
FFFF56C3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFDFBFFFCFBFAFFFBFA
F8FFE6DDD6FFAA9180FF5D3922FF603D26FF613E27FF613E28FF634029FFB4A3
987E00000000000000000000000000CAFFFF00CAFFFF00CBFFFF00B0FFFF00CD
FBFF38F5F7FFC3EFFAFFF0FFFEFF00FAF7FF00C8F7FF00C2F7FF00C2F7FF00C1
F7FF57D7FAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFDFDFCFFFCFC
FBFFE7DED8FFCCB9ACFFE6DBD5FFE2D7D0FFDCCFC5FFD7C5BBFF8E705DFFB4A2
9680000000000000000000000000002E383C002E383C00252F364C99B0B57DE8
FBFF59F1F7FF25F7F7FF41FAF8FF7CEEF7FF77E4F7FFB5EFFCFFC6F2FDFFC3F2
FDFFD9F6FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFEFFFEFE
FEFFE9E1DAFFCEBCAFFFF1E9E3FFEADFD8FFE4D5CCFF9D816FFF3A291F868985
831C00000000000000000000000000000000000000004E7073774AB0DADC37C9
FBFF22D5F7FF00D3F9FF02C3FBFF37D5F7FF34BEFCFFA2E6FAFFECFBFDFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF
FFFFEAE2DCFFCDBBADFFEADFD8FFE3D5CBFF9F8271FF3E2D2386050100200000
000000000000000000000000000000000000000000003E9CC4C219C0FFFF23C9
FCFF30D3F8FF00BEF8FF06A8FEFF4FDCF8FF00B8FCFF32C2FBFFC0EBFCFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFEAE3DEFFCDB9ABFFDDCEC4FFA58979FF3E2C1F8F0905041B000000000000
000000000000000000000000000000000000003451510099DDDB0091C0C35DAD
BCCF76D7E9FF00BEF9FF10A9FBFFBDDEDEFF5AC8DDFF0AB5F7FF62CEFFFFCBE4
F1FFF1E7E0FFEFE7E1FFEEE6E1FFEEE6E1FFEEE6E0FFEDE6E0FFEDE5E0FFEEE6
E1FFE1D4CCFFC5AE9FFFA68D7FF53E2718A10402000E00000000000000000000
0000000000000000000000000000000000000075B7AF0099C7C500323E425442
3B5C6BA8B1DA00C1FCFF0EA1F3F8A98E80C0AB9081C12698B1C10088C4C14C85
A3C1A18D80C19E8D81C19E8B81C19D8C80C19B8C7FC19B8A7FC19C897FC19A89
7EC19B8B7EC1897769C2432B1BAC000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000045565A00C5FFFF0094E6E2000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000FFFFFFFFF0000007F0000007F0000007F000
0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000
0007F0000007F0000007F0000007F0000007F0000007F0000007800000078000
0007C0000007C000000700000007000000070000000700000007C000000FC000
001F8000003F800000FFF8FFFFFF}
Width = 450
Left = 72
Top = 16
end
end

View File

@ -1,234 +0,0 @@
unit uGenerarFacturasProvPedProvUtils;
interface
uses
Windows, SysUtils, Classes, uBizPedidosProveedor, pngimage, JSDialog;
type
TdmGenerarFacturasProv = class(TDataModule)
JsListaFacturasGeneradas: TJSDialog;
end;
function GenerarFacturaProv(const IDPedido : Integer) : Boolean; overload;
function GenerarFacturaProv(APedidos : IBizPedidoProveedor) : Boolean; overload;
function GenerarFacturaProv : Boolean; overload;
implementation
{$R *.dfm}
uses
uDialogUtils,
uBizDetallesPedidoProveedor,
uPedidosProveedorController, uDetallesPedidoProveedorController,
uFacturasProveedorController, uBizFacturasProveedor, uBizDetallesFacturaProveedor;
// ,
// , uProveedoresController,
// , uControllerDetallesBase,
// , uBizContactos, schPedidosClienteClient_Intf,
// schPedidosProveedorClient_Intf;
var
dmGenerarFacturasProv: TdmGenerarFacturasProv;
APedidosProveedorController : IPedidosProveedorController;
ADetallesPedidosProveedorController : IDetallesPedidoProveedorController;
AFacturasProveedorController : IFacturasProveedorController;
// AProveedoresController : IProveedoresController;
{ Métodos auxiliares }
{procedure CopiarPedidoAPedido(APedido: IBizPedidoCliente;
APedido : IBizFacturaProveedor);
begin
if not Assigned(APedido) then
raise Exception.Create ('Albarán no asignado (CopiarPedidoAPedido)');
if not Assigned(APedido) then
raise Exception.Create ('Pedido no asignado (CopiarPedidoAPedido)');
if not APedido.DataTable.Active then
APedido.DataTable.Active := True;
// El albarán tiene que venir ya abierto y posicionado donde hay que copiar
APedido.ID_CLIENTE := APedido.ID_CLIENTE;
APedido.ID_PEDIDO := APedido.ID;
APedido.CALLE := APedido.CALLE;
APedido.CODIGO_POSTAL := APedido.CODIGO_POSTAL;
APedido.POBLACION := APedido.POBLACION;
APedido.PROVINCIA := APedido.PROVINCIA;
APedido.PERSONA_CONTACTO := APedido.PERSONA_CONTACTO;
APedido.TELEFONO := APedido.TELEFONO;
APedido.IMPORTE_NETO := APedido.IMPORTE_NETO;
APedido.IMPORTE_PORTE := APedido.IMPORTE_PORTE;
APedido.DESCUENTO := APedido.DESCUENTO;
APedido.IMPORTE_DESCUENTO := APedido.IMPORTE_DESCUENTO;
APedido.BASE_IMPONIBLE := APedido.BASE_IMPONIBLE;
APedido.IVA := APedido.IVA;
APedido.IMPORTE_IVA := APedido.IMPORTE_IVA;
APedido.IMPORTE_TOTAL := APedido.IMPORTE_TOTAL;
APedido.DataTable.FieldByName(fld_PedidosClienteOBSERVACIONES).AsVariant := APedido.DataTable.FieldByName(fld_PedidosClienteOBSERVACIONES).AsVariant;
APedido.ID_FORMA_PAGO := APedido.ID_FORMA_PAGO;
end;
procedure CopiarArticulosPendAPedido(
APedido: IBizPedidoCliente;
APedido: IBizFacturaProveedor;
AArticulosPendientes: IBizPedidoClienteArticulosPend);
var
i : integer;
ADetalles : IBizDetallesFacturaProveedor;
ADetallesController : IDetallesFacturaProveedorController;
begin
if not Assigned(APedido) then
raise Exception.Create ('Albarán no asignado (CopiarArticulosPendAPedido)');
if not Assigned(APedido) then
raise Exception.Create ('Pedido no asignado (CopiarArticulosPendAPedido)');
if not Assigned(AArticulosPendientes) then
raise Exception.Create ('Artículos pendientes no asignado (CopiarArticulosPendAPedido)');
if not AArticulosPendientes.DataTable.Active then
AArticulosPendientes.DataTable.Active := True;
// El albarán tiene que venir ya abierto y posicionado donde hay que copiar
ADetalles := APedido.Detalles;
ADetallesController := TDetallesFacturaProveedorController.Create;
try
//OJO IMPORTANTE
//Siempre que vayamos a trabajar con los detalles debemos hacer un beginupdate de los mismos y un endupdate para
//obligarle siempre a recalcular los detalles una sola vez
ADetallesController.BeginUpdate(ADetalles);
AArticulosPendientes.DataTable.First;
for i := 0 to AArticulosPendientes.DataTable.RecordCount - 1 do
begin
APedido.Detalles.First;
if (APedido.Detalles.Locate('ID_ARTICULO', AArticulosPendientes.ID_ARTICULO, [])) then
if (AArticulosPendientes.CANTIDAD_PENDIENTE > 0) then
begin
ADetallesController.Add(ADetalles, TIPO_DETALLE_CONCEPTO);
ADetalles.Edit;
ADetalles.REFERENCIA := APedido.Detalles.REFERENCIA;
ADetalles.ID_ARTICULO := APedido.Detalles.ID_ARTICULO;
ADetalles.CONCEPTO := APedido.Detalles.CONCEPTO;
ADetalles.CANTIDAD := AArticulosPendientes.CANTIDAD_PENDIENTE;
ADetalles.IMPORTE_UNIDAD := APedido.Detalles.IMPORTE_UNIDAD;
ADetalles.IMPORTE_TOTAL := APedido.Detalles.IMPORTE_TOTAL;
ADetalles.DESCUENTO := APedido.Detalles.DESCUENTO;
ADetalles.IMPORTE_PORTE := APedido.Detalles.IMPORTE_PORTE;
ADetalles.VISIBLE := APedido.Detalles.VISIBLE;
ADetalles.REFERENCIA_PROVEEDOR := APedido.Detalles.REFERENCIA_PROVEEDOR;
ADetalles.Post;
AArticulosPendientes.Next;
end;
end;
finally
ADetallesController.EndUpdate(ADetalles);
ADetallesController := NIL;
end;
end; }
procedure Inicializar;
begin
dmGenerarFacturasProv := TdmGenerarFacturasProv.Create(nil);
APedidosProveedorController := TPedidosProveedorController.Create;
ADetallesPedidosProveedorController := TDetallesPedidoProveedorController.Create;
AFacturasProveedorController := TFacturasProveedorController.Create;
// AProveedoresController := TProveedoresController.Create;
end;
procedure Finalizar;
begin
FreeAndNIL(dmGenerarFacturasProv);
APedidosProveedorController := nil;
ADetallesPedidosProveedorController := nil;
AFacturasProveedorController := nil;
// AProveedoresController := nil;
end;
function GenerarFacturaProv(const IDPedido : Integer) : Boolean; overload;
var
APedido : IBizPedidoProveedor;
begin
Result := False;
if not Assigned(APedidosProveedorController) then
Inicializar;
APedido := APedidosProveedorController.Buscar(IDPedido);
Result := GenerarFacturaProv(APedido);
if Assigned(APedidosProveedorController) then
Finalizar;
end;
function GenerarFacturaProv(APedidos : IBizPedidoProveedor) : Boolean; overload;
var
ARespuesta : Integer;
AFacturasNuevas : IBizFacturaProveedor;
// AArticulos: IBizPedidoClienteArticulosPend;
i: Integer;
begin
Result := False;
if not Assigned(APedidosProveedorController) then
Inicializar;
if not Assigned(APedidos) then
raise Exception.Create('Albarán de proveedor no asignado (GenerarFacturaProv)');
if not APedidos.DataTable.Active then
APedidos.DataTable.Active := True;
try
AFacturasNuevas := AFacturasProveedorController.Nuevo(False);
if AFacturasProveedorController.Anadir(AFacturasNuevas, APedidos.ID) then
begin
if AFacturasNuevas.DataTable.RecordCount = 1 then
AFacturasProveedorController.Ver(AFacturasNuevas)
else begin
with dmGenerarFacturasProv.JsListaFacturasGeneradas.Content do
begin
Clear;
AFacturasNuevas.DataTable.Last;
for i := 0 to AFacturasNuevas.DataTable.RecordCount - 1 do
begin
if Length(AFacturasNuevas.REFERENCIA) > 0 then
Add(AFacturasNuevas.REFERENCIA + ': ' + AFacturasNuevas.NOMBRE);
AFacturasNuevas.DataTable.Prior;
end;
end;
dmGenerarFacturasProv.JsListaFacturasGeneradas.Execute;
end;
// actRefrescar.Execute;
end;
finally
AFacturasNuevas := NIL;
end;
end;
function GenerarFacturaProv : Boolean; overload;
var
APedidos : IBizPedidoProveedor;
begin
{
Result := False;
if not Assigned(APedidosProveedorController) then
Inicializar;
APedidos := APedidosProveedorController.ElegirPedidos(APedidosProveedorController.BuscarSinFacturar,
'Elija el albarán o Pedidos de proveedor que desea utilizar para dar de alta la factura.'
+ #10#13 + 'Si elige Pedidos de proveedores diferentes se dará de alta una factura por cada uno de ellos.' , True);
Result := GenerarFacturaProv(APedidos);
if Assigned(APedidosProveedorController) then
Finalizar;
}
end;
end.

View File

@ -1,315 +0,0 @@
object dmGenerarFacturasProv: TdmGenerarFacturasProv
OldCreateOrder = False
Height = 176
Width = 254
object JsListaFacturasGeneradas: TJSDialog
Glyph.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
00001C0806000000720DDF940000000970485973000017120000171201679FD2
520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14
5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD
1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2
3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD
B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010
60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3
21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045
A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8
225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281
081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87
A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F
70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B
EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F
286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8
6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10
81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8
CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF
469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32
F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF
86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165
4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF
673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2
ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312
FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312
82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA
1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082}
Instruction.Text = 'Se ha generado el albar'#195#161'n...'
Instruction.Glyph.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
00001C0806000000720DDF940000000970485973000017120000171201679FD2
520000000467414D410000B18E7CFB5193000003104944415478DAAD96FB4B14
5114C7CFE463DC1E606444BFF54424D3DC55CA52B1CCD7165A219905054182FD
1452FD5810FD100406610A669A998FC4F5BDB6266265DAB60F5DD15E58FE03B2
3F99D29ABBA7B9779C71C61D9D6177CFCE70CFDCB97B3EF7DCF3BD33C38082FD
B502B2B300CC656020048688A24F036233A0671F40D43160BA87BF62AEEE1010
60D7AE293AD8B835815E9B625C80DC8F1E88D4A7C1E8C1FB8F9FD6C3C44035B3
21500A65F6D700FE2EA580A5EC551F4A50359316B31D76EFDC0EE5F72A645045
A067AE0623074B8140891108F1057064CC0D556053DF173812B707E6DCF332A8
225080D201DB4AF99BF335B4D502F371415BCC364833C4C29F458F0C2A031281
081734AB0B3C88403C1E6E3E2E7960F6A8FFD27A7D3EF07A11DA2C76C84A8D87
A57FCB32E8B8A54A4C8C21B59365C9015996EF2240B6634DF435B51460A46D1F
70C093AA46BF09C980C12CA914E6F371ADD707EF1DB3B0B0B8006EB79B8EA96B
EA5106121851245129118FD8BFA2DC5C53C6BAF5EBBBBA97C2D64EC064195B1F
286C76E956A0EA5C51AEB4764A9929F5750D5A9581D2274B9B651C0BA2F514A8
6F28E36B70AD9A4253EF97A9AA55B0CEBA87D03B645B3F43C1DE589C58186D10
81150FCAC57B11E161B04517099BB953C78643141B01BA28EEE4DAB0B04DE2B8
CA460B9C399902E661BB3AB0F5AD038BF30CD4D7E7DD14815A61023027DD00EF
469C1A80FD1C307F1578FD4A81E665945AD68924181A9D5007B6F4DBF1527E32
F5C9D3632351F8F549AEE916B14EAA039BCD362C31A6040D23E7887D4A03B0CF
86C5C6641A24BB7646D3F2D51A77F8C1BCDCFFC79CD3EAC0D7BD56AE86294165
4660CB5C6B737DD3062CCA31D00069E76E05241862CF1EDD05E7D40F756063CF
673C7F5A4F679A59541EF03E4C8C3B0893DF67D481AFBAC7B0F05412CD30EBE2
ED80F7617CEC0198FEF94B1BF06C6622AD4B4EC99D80F7A1666043D7281A3312
FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312
82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA
1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082}
Instruction.Icon = tdiCustom
CustomButtons = <
item
Caption = 'Ver el albar'#225'n'
Value = 100
end
item
Caption = 'Continuar'
Value = 200
Cancel = True
end>
ButtonBar.Buttons = []
ButtonBar.Cancel = cbOK
ButtonBar.UseCancel = False
MainIcon = tdiCustom
Title = 'FactuGES'
Position = dpMainFormCenter
Icon.Data = {
0000010003002020100001000400E8020000360000002020000001000800A808
00001E0300002020000001002000A8100000C60B000028000000200000004000
0000010004000000000000020000000000000000000000000000000000000000
000000008000008000000080800080000000800080008080000080808000C0C0
C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000
0000000000000000000000000000000008777777777777777777777700000000
0877767777677776777767760000000008F88888888888888888888700000000
08F8FF8F8F888888888888860000000008FF8F8F88F8F8888888888C00000000
08F88888F8888888888888860000000008F8688878E8888E88E8788700000000
08F8688888F8F8FFFFFF88760000000008FF4888888F8FFFFFFF788700000000
08F8676767677677677658E50000000008FF8888888887878787888700000000
08FF8887887E8888888888860000000008FFE8E8E788C8E8FF8F8F8600000000
08FFF8F8F8F8FF8F88F8F8870000000008FFFFFF8FF8F8F8F88F888600000000
0FF8477878787878788788860000000008FF68888888F8FF8F8F788700000000
08B7588888FF8FFFFFFF78860000083008BB47887776777777776F86000000B7
8B9B73BB88788787E87878870000008BB8B9BB78888888EFF8F8FF8600000087
B8BB8B888E8E8E88FFF8F886000000088BBB888FFFFFFFFFF8F877770000B9BB
B8FFBB9B9BFFFFFFF87466460000BBB9BB8FBBBBB8FFFFFFF88F888700000008
B8BB88888FFFFFFFF88F8F7700000008BBBBBB8FFFFFFFFFFF8887700000007B
B7B98BB8FFFFFFFFF8887700000000B78B9B87B888F88F88F8877000000007B0
08BB883B78888788787700000000000000B9000000000000000000000000FFFF
FFFFF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
000FF800000FF800000F9800000FC000000FC000000FC000000FE000000F0000
000F0000000FE000000FE000001FC000003FC000007F980000FFFCFFFFFF2800
0000200000004000000001000800000000000004000000000000000000000001
00000001000000000000694731007C5D49007E604C0081635000826451008567
540085685500886B5900896D5B008A6E5D008B705F008E715F008B7260008C72
61008E74640084766C00957A6900977D6D00887B72009A8171009D8272009C84
76009D8778009F897B00A28A7900A08B7D00A18C7E00E1B06E00E1B67D003E7A
970073A0A5007AA2B70074AFBD007BB2BB003CAACE0028A5DB0020ADDF000D9A
E500209EE3000DA6E2001AA4EF0000A6FF000CABFE0009ACFE0010A4F10015AC
FA0000B5FB0000B0FD000CB6FC0000BFF90000BAFD0004BAFD0009BBFB0013B6
F40015BFFA001CBDFB0026B7FD00589EC50040A4CD0040ABCC0050A2C7005DAE
C00060A3C20062A4C60060B7CB006AB0CD007BB6C80077BAC80061BADD0044AD
E50000C3F80007C6FB0000CAF80000CFFB0000D4F90026C8FA0026CDF8002BCC
F90039C4FB0039C2FC0039CAFA003FCFFB0024D6F80030D2F80039D5F80000F8
F8001FF8F8002CF6F8003EF4F8005AC6DC0070CDDF0052C0E40054C9E3004DCE
FA005FC7FF004FD2FB004DD9F8005FD9FB006ED3E70063CDFE0060D1FB0060D8
F90060DDF80046F8F90056F0F8005FFAFA0073E3F80073E4F90073EEF80060F1
F800958A84009A918C0081999500A68F8200AD968500A3968C00AE988900AD9A
8D00B19A8B00AF9C9000B09E9200B59F9200B7A29300B2A19600B5A19400B7A4
9700BDA79700B4A39800B1A59D00B4A79F00BAA69800BCA79900B4A89F00BCA8
9900BAA89C00BDAA9D00BEAC9E0083ADBD00B5A9A100BDABA000BEADA100BFAF
A500A0BABE00C0AB9E00C1AC9E00C6AE9F00E2B98100E4BA8300E4BB8400E5BC
8500E1BD8E00E3BF9000C0ADA000C2B0A300C2B1A500C4B2A600C1B2A800C3B5
AB00C8B4A800CCB9AD00CEBCB100D0BEB200D1BFB400E4C19300E5C29400E6C4
9600E8C69900D0C9A300CFC1B800D2C1B600D3C3B800D5C4B900D6C6BC00D8C6
BC00D6C8BE00DAC9BF00ECD3B000EDD4B200EFD6B500E7D1B800E7D3BD00F0D8
B6008CB7C40080BEC70097C3C70099C3C900ABD7CF00AFD9DD0086E3F90086E7
F90086ECF8009EE5FB0090E8F900ACEDFC00BCEAFD00BCF1FB00BFF1FD00D7C9
C000D9CAC100DCCBC200DACCC200DDCCC300DACCC400DDCEC400DED0C600DED1
C900DED3CC00DFD4CD00E1D1C900E2D5CD00F0DCC200E3D8D200E5D9D200E2DA
D500E6DBD400E5DCD500E8DDD600E6DDD800E9DFD900E6E0DB00EAE0DA00EAE2
DD00ECE3DE00EBE4DE00ECE4DE00F3E7D900C6E1EF00C9EFFD00D7F6FD00DFF3
FF00DFFEFE00EBE7E300EDE6E100EFE7E400EEE8E400F0EAE600F2EDE900F2EE
EC00F4EFEC00F5F0EE00F9F4ED00E7FAFD00EBF8FF00F6F2F000F7F4F100F8F4
F200F9F7F500FAF8F600FBF9F900FCFBFA00FCFCFB00FEFEFE00000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000007D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D
0D0D0000000000000000009C9C19191919191919191919191919191919191919
1903000000000000000000ABDECBCBC7C7AFABABABABAAA3A2A2A0A0A0A0A0A0
8607000000000000000000ABECEAE9DEDEDEDED7D5D2D2D2CBCBCBCBB0CBB0CB
9007000000000000000000ABEDECEAE9DEDEDBD7D7D5D2D2D2CDCDCBB0B0B0B0
9007000000000000000000AFEDE9A9CFD2CFD2CDCBCBCBB0B0ABACA3A3A3A3B0
9007000000000000000000AFF0D5017783838386868686869099909999907BB0
9007000000000000000000B0F4D501A0B0CBD2D5DEECEDF7FAFAFAFAFAF77BAA
9007000000000000000000CBF4DC01A0B0B0B0D2D5DBEAEDF7FAFAFAFAF47BB0
9007000000000000000000CBF8DC010404070604090909090D0D110D110D02A3
9007000000000000000000CBFAED9E9E9E9C999E8C8C8C868683837E7D7D7ACB
9007000000000000000000CBFAF1A7A7A6A6A6A69898989898B5DBDBD5D5D2D2
9907000000000000000000CDFAF796969696961D961D931D1DB4DEDBD7D5D5D2
9C07000000000000000000CFFAFAFAFAF8F7F0F0EDEDEDECE9E9DEDEDED7D5D5
9907000000000000000000CDFAFAEAF0EDEDECEAEAE9DEDEDBDCD5D5D5D5D2D5
9C07000000000000000000D2FAEC01737D7D7B7D7D7B7D7B7D7B7B7B7D7B7DD2
9907000000000000000000CFFAEC019EABB0CBD2D5DCDEECEDF4F4F4F4EA7BD2
9C07000000000000000000B9524601A0B0B0CBB5D5DEEAEDF7FAFAFAFAF47DD5
9C070000000000213F0000B83226010C3F5C1F111214141616191B1B1B1807D2
9C07000000000000253D8A5B322D711E2860BA7E7E7A7E797A797979767676D5
9E0700000000000041375E662F2B65314EBBB6B6B6B6B4B4B1E2F4EDEDEDECEA
9C070000000000008F5D66663232394EC1A81C1C1C1C1C1C1CD3F7F4EDDED7D5
9C0700000000000000B7BE6E5758BEBDE4E6E6F3FAFAFAFAFAFAF7F4D5928675
7304000000002A2A2A2A4A6AFAE7562F2A2A2A5FFAFAFAFAFAFAF8D577010101
0101000000004747472F4A59C5E7564A32474766FAFAFAFAFAFAFADCA0D2CFB0
A20C00000000000000436C6958686D6BC2C5C5E7FAFAFAFAFAFAFADEAADEDBCB
1470000000000000004551534A4A5250C0E7FAFAFAFAFAFAFAFAFADEAAD7B514
700000000000000042384C54472B613550C3FAFAFAFAFAFAFAFAFADEA1B0196F
000000000000000024234463322EBC5A3664E3ECE9E9E9E9E9E9E9CF90731300
000000000000003A3C00002232298B8B3E3B207E8B7E8B7E827E817E74100000
0000000000000000000000003227000000000000000000000000000000000000
000000000000FFFFFFFFF800000FF800000FF800000FF800000FF800000FF800
000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800
000FF800000FF800000FF800000FF800000F9800000FC000000FC000000FC000
000FE000000F0000000F0000000FE000000FE000001FC000003FC000007F9800
00FFFCFFFFFF2800000020000000400000000100200000000000801000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000007067
5F70AA9382E570513CE3735540E3735540E3735540E3735540E3735540E37355
40E3735540E3735540E3735540E3735540E3735540E3735540E3735540E37355
40E3735540E3735540E3735540E3735540E3735540E3735540E372533EE5BAAB
A070000000000000000000000000000000000000000000000000000000005E54
4C7FCAB7ABFFC5B5AAFFA18877FFA28A78FFA28A79FFA28A79FFA28A79FFA28A
79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A
79FFA28A79FFA28A79FFA28A79FFA28A79FFA28A79FFA58D7CFF7A5B46FFB2A1
967F000000000000000000000000000000000000000000000000000000006055
4D7ED7C6BBFFEDE4E0FFD9CCC4FFD9CCC4FFD9CBC3FFD8CAC1FFD7C9BFFFD6C7
BDFFD5C6BBFFD4C4BAFFD3C3B8FFD2C1B7FFD1C0B5FFD0BEB3FFCFBDB2FFCEBC
B0FFCEBBAFFFCEBBAFFFCEBBAFFFCEBBAFFFCEBCB0FFBEAA9CFF82644FFFB2A1
967E000000000000000000000000000000000000000000000000000000006056
4D7ED7C8BCFFF2EBE8FFEFE9E5FFEEE7E2FFECE5E0FFEBE2DEFFEAE0DBFFE9DE
D8FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCDC4FFDCCB
C2FFDBC9BFFFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC1FFC1AC9FFF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006155
4E7ED8C9BDFFF3EDE9FFF1EAE6FFF0E9E6FFEEE6E1FFECE4DFFFEBE2DDFFEAE0
DAFFE9DED7FFE7DBD4FFE5D9D1FFE3D7CFFFE2D4CCFFE1D2C9FFDFD0C7FFDDCD
C4FFDCCBC2FFDBC9BFFFDBC9BFFFDBC9BFFFDCCAC0FFC1AC9FFF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006157
4E7ED9C9BFFFF4EFEDFFEFE8E3FFD0C2B9FFDFD5CEFFE0D5CEFFE0D4CCFFDED3
CBFFDDD1C8FFDCCFC6FFDACCC4FFD9CBC1FFD8C9BFFFD7C7BDFFD6C5BBFFD5C4
B9FFD3C2B7FFD2C0B5FFD2BFB4FFD2BFB4FFDAC8BEFFC1AC9FFF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006256
4F7EDACCC0FFF5F2EFFFE5DDD9FF5C3821FFB0998AFFB8A394FFB8A394FFB9A3
94FFB8A495FFB9A597FFB9A698FFBAA698FFBBA799FFBBA89AFFBBA89BFFBCA8
9BFFBCA89BFFBCA89BFFBBA89AFFB49E8FFFD8C6BBFFC1AC9FFF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006256
4F7EDBCBC1FFF8F4F3FFE7E0DBFF5F3C24FFD0BDB2FFDCCBC1FFDDCCC3FFE2D2
CBFFE7DBD4FFEDE2DEFFF0E8E6FFF5F0EDFFF9F7F4FFFDFDFDFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFAF8F7FFB39D8DFFD8C6BBFFC1AC9FFF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006256
4F7EDCCEC3FFFAF6F5FFE9E2DDFF5F3C24FFD2BFB5FFDFCDC4FFDECCC3FFE0CE
C6FFE4D4CDFFE9DDD6FFEFE4E0FFF1EAE8FFF7F1EFFFFBF8F6FFFFFEFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFCFBFAFFB5A090FFD9C7BEFFC1AD9FFF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006257
4F7EDDCFC4FFFCF9F9FFE9E4E0FF5F3A23FF7C5D49FF7F5F4CFF7E5F4CFF7E60
4DFF7F614DFF816350FF826552FF836654FF846856FF856A57FF866B59FF876C
5BFF876D5BFF876D5BFF866B59FF72523DFFD5C3B9FFC1AFA1FF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006357
507EDECFC6FFFCFCFBFFF4F1F0FFC3B6AEFFC3B5ADFFC1B4ACFFC0B3AAFFBFB1
A9FFBEB0A6FFBDAEA5FFBDACA3FFBCABA2FFBBAAA0FFBAA99FFFB8A69AFFB8A4
98FFB6A396FFB5A194FFB49F93FFB39D90FFDCCDC4FFC2AEA1FF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006357
507EDFD2C7FFFEFEFDFFF9F5EFFFE8C696FFE9C799FFE8C697FFE7C596FFE7C4
95FFE6C394FFE5C293FFE4C091FFE4C090FFE3BF8FFFE2BD8CFFE9D5BFFFEBE1
DCFFEADFD8FFE7DCD5FFE5DAD3FFE4D8D0FFE3D4CCFFC2AFA2FF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006458
517EE0D3C8FFFFFFFFFFFAF5EFFFE3B77CFFE4B97FFFE2B87EFFE3B77DFFE2B7
7CFFE2B67BFFE1B57AFFE1B479FFE0B478FFE0B377FFDFB174FFE6D0B7FFEBE1
DCFFE8DFD9FFE8DDD6FFE6D9D2FFE3D8D1FFE4D7CFFFC3AFA2FF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006458
517EE1D2C9FFFFFFFFFFFEFEFDFFFEFFFFFFFCFDFEFFFBFBFBFFF9F7F8FFF8F5
F6FFF7F3F2FFF5F1F0FFF4EFEEFFF1EDEBFFF0EBE9FFEEE9E6FFEDE6E2FFECE3
DEFFEBE1DBFFE9DFD9FFE8DDD6FFE6DAD3FFE5D9D2FFC3B0A3FF81634FFFB2A1
967E000000000000000000000000000000000000000000000000000000006459
517EE1D4CAFFFFFFFFFFFDFDFCFFEEEBE8FFF5F2F0FFF4F0EFFFF3EFECFFF2ED
EAFFF1EBE8FFEEE9E5FFEFE7E3FFECE5E1FFEAE4DEFFEAE1DCFFE8E0DAFFE7DE
D8FFE6DDD6FFE5DBD4FFE4D8D1FFE2D6CEFFE6DBD4FFC3B1A4FF81634EFFB2A1
967E000000000000000000000000000000000000000000000000000000006559
527EE2D4CAFFFFFFFFFFF0ECEAFF5B361EFFAB9383FFB39D8EFFB39D8DFFB39D
8DFFB29D8DFFB29C8DFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C8CFFB29C
8CFFB29C8CFFB29C8CFFB29C8DFFB39D8EFFE3D8D0FFC4B1A4FF81634EFFB2A1
967E000000000000000000000000000000000000000000000000000000006559
527EE5D4CAFFFFFFFFFFF7F0EBFF5F3B24FFCCB8ADFFD7C5BAFFD9C7BDFFDCCC
C3FFE1D4CCFFE5DAD4FFE8E0DBFFEDE5E1FFF1EBE9FFF5F2EFFFF7F5F3FFF8F6
F4FFF8F5F4FFF8F6F4FFF1EEEAFFB29C8DFFE6DAD3FFC4B2A5FF81634EFFB2A1
967E00000000000000000000000000000000000000000000000000000000685A
527E9AC6C9FF35CFFEFF3DAEEBFF663E24FFD2BFB4FFE0CBBFFFE0C9BDFFE1CD
C4FFE4D5CDFFE9DED7FFEEE5E0FFF2EBE8FFF6F2F0FFFCF8F8FFFFFFFEFFFFFF
FFFFFFFFFFFFFFFFFFFFFCFAF9FFB49E8FFFE7DED7FFC5B3A6FF81634EFFB2A1
967E00000000000000000000000000000000007792910072A7A3001E33366957
4C7C86C1C8FF00BFFBFF079AEBFF6A3E23FF926D57FF5FA3C8FF4AC1E8FF6C9C
A2FF917260FF927767FF947A69FF957C6CFF977E6FFF998171FF9A8374FF9B85
76FF9C8678FF9C8678FF998274FF7D5E49FFE3D9D4FFC5B3A7FF81634EFFB2A1
967E00000000000000000000000000000000005A6F7000A9E5E40075AEAE5C90
A5BD75D0E0FF00BFFAFF0CA3F4FF8A9A91FF3C7492FF03A4E4FF4AD5FFFF98C4
CBFFB3A196FFB1A197FFB0A096FFB09F95FFAF9D92FFAF9C91FFAD9A8EFFAC99
8CFFAB988AFFAB9789FFAA9688FFA99386FFE8E0DAFFC5B4A7FF81634EFFB2A1
967E00000000000000000000000000000000000000002DA5BFC110C2FFFF4DD0
FDFF64DBF9FF00B3FAFF09A8FEFF68D7FFFF04B5FFFF24CCFBFFAFD8CEFFF7DA
B8FFF3DBBBFFF3DBBAFFF2D9B9FFF1D8B7FFF0D7B4FFEED5B2FFF6EADDFFF9F6
F4FFF7F3F1FFF5F1EEFFF5EFECFFF4EDEAFFF1EBE7FFC6B4A8FF81634EFFB2A1
967E00000000000000000000000000000000000000005F8A909142C7E4E960DE
F8FF64D7FAFF00B6FDFF00B8FDFF21B2FDFF1ECCF7FF93EBFCFFD2C69BFFE1AB
63FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDFAC66FFDEA961FFEFDBC0FFF8F6
F5FFF6F2F0FFF3EDEBFFECE2DCFFE9DFD9FFE5DBD6FFC2B1A4FF81634FFFB2A1
967E000000000000000000000000000E171A000E171A00040B145994A4A990EB
FCFF61F1F7FF13FAF7FF23F9F7FF93EDF7FF8CE5F8FFD5F2FDFFE9F8FFFFE7F8
FFFFF0FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFDFEFFFFFAFAF9FFF9F7
F5FFF7F2F0FFE8DFD8FFC7AE9FFFBEA998FFAF9888FFB09A8AFF7F604DFFB2A1
967E00000000000000000000000000AAFFFF00AAFFFF00AAFFFF00A4FFFF00CD
FAFF5DFCF9FFFFFFFFFFEEFEFEFF00FBF7FF00AAFEFF00A1FFFF00A1FFFF00A0
FFFF56C3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFDFBFFFCFBFAFFFBFA
F8FFE6DDD6FFAA9180FF5D3922FF603D26FF613E27FF613E28FF634029FFB4A3
987E00000000000000000000000000CAFFFF00CAFFFF00CBFFFF00B0FFFF00CD
FBFF38F5F7FFC3EFFAFFF0FFFEFF00FAF7FF00C8F7FF00C2F7FF00C2F7FF00C1
F7FF57D7FAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFDFDFCFFFCFC
FBFFE7DED8FFCCB9ACFFE6DBD5FFE2D7D0FFDCCFC5FFD7C5BBFF8E705DFFB4A2
9680000000000000000000000000002E383C002E383C00252F364C99B0B57DE8
FBFF59F1F7FF25F7F7FF41FAF8FF7CEEF7FF77E4F7FFB5EFFCFFC6F2FDFFC3F2
FDFFD9F6FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFEFFFEFE
FEFFE9E1DAFFCEBCAFFFF1E9E3FFEADFD8FFE4D5CCFF9D816FFF3A291F868985
831C00000000000000000000000000000000000000004E7073774AB0DADC37C9
FBFF22D5F7FF00D3F9FF02C3FBFF37D5F7FF34BEFCFFA2E6FAFFECFBFDFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF
FFFFEAE2DCFFCDBBADFFEADFD8FFE3D5CBFF9F8271FF3E2D2386050100200000
000000000000000000000000000000000000000000003E9CC4C219C0FFFF23C9
FCFF30D3F8FF00BEF8FF06A8FEFF4FDCF8FF00B8FCFF32C2FBFFC0EBFCFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFEAE3DEFFCDB9ABFFDDCEC4FFA58979FF3E2C1F8F0905041B000000000000
000000000000000000000000000000000000003451510099DDDB0091C0C35DAD
BCCF76D7E9FF00BEF9FF10A9FBFFBDDEDEFF5AC8DDFF0AB5F7FF62CEFFFFCBE4
F1FFF1E7E0FFEFE7E1FFEEE6E1FFEEE6E1FFEEE6E0FFEDE6E0FFEDE5E0FFEEE6
E1FFE1D4CCFFC5AE9FFFA68D7FF53E2718A10402000E00000000000000000000
0000000000000000000000000000000000000075B7AF0099C7C500323E425442
3B5C6BA8B1DA00C1FCFF0EA1F3F8A98E80C0AB9081C12698B1C10088C4C14C85
A3C1A18D80C19E8D81C19E8B81C19D8C80C19B8C7FC19B8A7FC19C897FC19A89
7EC19B8B7EC1897769C2432B1BAC000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000045565A00C5FFFF0094E6E2000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000FFFFFFFFF0000007F0000007F0000007F000
0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000
0007F0000007F0000007F0000007F0000007F0000007F0000007800000078000
0007C0000007C000000700000007000000070000000700000007C000000FC000
001F8000003F800000FFF8FFFFFF}
Width = 450
Left = 72
Top = 16
end
end

View File

@ -1,234 +0,0 @@
unit uGenerarFacturasProvUtils;
interface
uses
Windows, SysUtils, Classes, uBizAlbaranesProveedor, pngimage, JSDialog;
type
TdmGenerarFacturasProv = class(TDataModule)
JsListaFacturasGeneradas: TJSDialog;
end;
function GenerarFacturaProv(const IDAlbaran : Integer) : Boolean; overload;
function GenerarFacturaProv(AAlbaranes : IBizAlbaranProveedor) : Boolean; overload;
function GenerarFacturaProv : Boolean; overload;
implementation
{$R *.dfm}
uses
uDialogUtils,
uBizDetallesAlbaranProveedor,
uAlbaranesProveedorController, uDetallesAlbaranProveedorController,
uFacturasProveedorController, uBizFacturasProveedor, uBizDetallesFacturaProveedor;
// ,
// , uProveedoresController,
// , uControllerDetallesBase,
// , uBizContactos, schPedidosClienteClient_Intf,
// schAlbaranesProveedorClient_Intf;
var
dmGenerarFacturasProv: TdmGenerarFacturasProv;
AAlbaranesProveedorController : IAlbaranesProveedorController;
ADetallesAlbaranesProveedorController : IDetallesAlbaranProveedorController;
AFacturasProveedorController : IFacturasProveedorController;
// AProveedoresController : IProveedoresController;
{ Métodos auxiliares }
{procedure CopiarPedidoAAlbaran(APedido: IBizPedidoCliente;
AAlbaran : IBizFacturaProveedor);
begin
if not Assigned(AAlbaran) then
raise Exception.Create ('Albarán no asignado (CopiarPedidoAAlbaran)');
if not Assigned(APedido) then
raise Exception.Create ('Pedido no asignado (CopiarPedidoAAlbaran)');
if not APedido.DataTable.Active then
APedido.DataTable.Active := True;
// El albarán tiene que venir ya abierto y posicionado donde hay que copiar
AAlbaran.ID_CLIENTE := APedido.ID_CLIENTE;
AAlbaran.ID_PEDIDO := APedido.ID;
AAlbaran.CALLE := APedido.CALLE;
AAlbaran.CODIGO_POSTAL := APedido.CODIGO_POSTAL;
AAlbaran.POBLACION := APedido.POBLACION;
AAlbaran.PROVINCIA := APedido.PROVINCIA;
AAlbaran.PERSONA_CONTACTO := APedido.PERSONA_CONTACTO;
AAlbaran.TELEFONO := APedido.TELEFONO;
AAlbaran.IMPORTE_NETO := APedido.IMPORTE_NETO;
AAlbaran.IMPORTE_PORTE := APedido.IMPORTE_PORTE;
AAlbaran.DESCUENTO := APedido.DESCUENTO;
AAlbaran.IMPORTE_DESCUENTO := APedido.IMPORTE_DESCUENTO;
AAlbaran.BASE_IMPONIBLE := APedido.BASE_IMPONIBLE;
AAlbaran.IVA := APedido.IVA;
AAlbaran.IMPORTE_IVA := APedido.IMPORTE_IVA;
AAlbaran.IMPORTE_TOTAL := APedido.IMPORTE_TOTAL;
AAlbaran.DataTable.FieldByName(fld_AlbaranesClienteOBSERVACIONES).AsVariant := APedido.DataTable.FieldByName(fld_PedidosClienteOBSERVACIONES).AsVariant;
AAlbaran.ID_FORMA_PAGO := APedido.ID_FORMA_PAGO;
end;
procedure CopiarArticulosPendAAlbaran(
APedido: IBizPedidoCliente;
AAlbaran: IBizFacturaProveedor;
AArticulosPendientes: IBizPedidoClienteArticulosPend);
var
i : integer;
ADetalles : IBizDetallesFacturaProveedor;
ADetallesController : IDetallesFacturaProveedorController;
begin
if not Assigned(AAlbaran) then
raise Exception.Create ('Albarán no asignado (CopiarArticulosPendAAlbaran)');
if not Assigned(APedido) then
raise Exception.Create ('Pedido no asignado (CopiarArticulosPendAAlbaran)');
if not Assigned(AArticulosPendientes) then
raise Exception.Create ('Artículos pendientes no asignado (CopiarArticulosPendAAlbaran)');
if not AArticulosPendientes.DataTable.Active then
AArticulosPendientes.DataTable.Active := True;
// El albarán tiene que venir ya abierto y posicionado donde hay que copiar
ADetalles := AAlbaran.Detalles;
ADetallesController := TDetallesFacturaProveedorController.Create;
try
//OJO IMPORTANTE
//Siempre que vayamos a trabajar con los detalles debemos hacer un beginupdate de los mismos y un endupdate para
//obligarle siempre a recalcular los detalles una sola vez
ADetallesController.BeginUpdate(ADetalles);
AArticulosPendientes.DataTable.First;
for i := 0 to AArticulosPendientes.DataTable.RecordCount - 1 do
begin
APedido.Detalles.First;
if (APedido.Detalles.Locate('ID_ARTICULO', AArticulosPendientes.ID_ARTICULO, [])) then
if (AArticulosPendientes.CANTIDAD_PENDIENTE > 0) then
begin
ADetallesController.Add(ADetalles, TIPO_DETALLE_CONCEPTO);
ADetalles.Edit;
ADetalles.REFERENCIA := APedido.Detalles.REFERENCIA;
ADetalles.ID_ARTICULO := APedido.Detalles.ID_ARTICULO;
ADetalles.CONCEPTO := APedido.Detalles.CONCEPTO;
ADetalles.CANTIDAD := AArticulosPendientes.CANTIDAD_PENDIENTE;
ADetalles.IMPORTE_UNIDAD := APedido.Detalles.IMPORTE_UNIDAD;
ADetalles.IMPORTE_TOTAL := APedido.Detalles.IMPORTE_TOTAL;
ADetalles.DESCUENTO := APedido.Detalles.DESCUENTO;
ADetalles.IMPORTE_PORTE := APedido.Detalles.IMPORTE_PORTE;
ADetalles.VISIBLE := APedido.Detalles.VISIBLE;
ADetalles.REFERENCIA_PROVEEDOR := APedido.Detalles.REFERENCIA_PROVEEDOR;
ADetalles.Post;
AArticulosPendientes.Next;
end;
end;
finally
ADetallesController.EndUpdate(ADetalles);
ADetallesController := NIL;
end;
end; }
procedure Inicializar;
begin
dmGenerarFacturasProv := TdmGenerarFacturasProv.Create(nil);
AAlbaranesProveedorController := TAlbaranesProveedorController.Create;
ADetallesAlbaranesProveedorController := TDetallesAlbaranProveedorController.Create;
AFacturasProveedorController := TFacturasProveedorController.Create;
// AProveedoresController := TProveedoresController.Create;
end;
procedure Finalizar;
begin
FreeAndNIL(dmGenerarFacturasProv);
AAlbaranesProveedorController := nil;
ADetallesAlbaranesProveedorController := nil;
AFacturasProveedorController := nil;
// AProveedoresController := nil;
end;
function GenerarFacturaProv(const IDAlbaran : Integer) : Boolean; overload;
var
AAlbaran : IBizAlbaranProveedor;
begin
Result := False;
if not Assigned(AAlbaranesProveedorController) then
Inicializar;
AAlbaran := AAlbaranesProveedorController.Buscar(IDAlbaran);
Result := GenerarFacturaProv(AAlbaran);
if Assigned(AAlbaranesProveedorController) then
Finalizar;
end;
function GenerarFacturaProv(AAlbaranes : IBizAlbaranProveedor) : Boolean; overload;
var
ARespuesta : Integer;
AFacturasNuevas : IBizFacturaProveedor;
// AArticulos: IBizPedidoClienteArticulosPend;
i: Integer;
begin
{
Result := False;
if not Assigned(AAlbaranesProveedorController) then
Inicializar;
if not Assigned(AAlbaranes) then
raise Exception.Create('Albarán de proveedor no asignado (GenerarFacturaProv)');
if not AAlbaranes.DataTable.Active then
AAlbaranes.DataTable.Active := True;
try
AFacturasNuevas := AFacturasProveedorController.Nuevo(False);
if AFacturasProveedorController.Anadir(AFacturasNuevas, AAlbaranes) then
begin
if AFacturasNuevas.DataTable.RecordCount = 1 then
AFacturasProveedorController.Ver(AFacturasNuevas)
else begin
with dmGenerarFacturasProv.JsListaFacturasGeneradas.Content do
begin
Clear;
AFacturasNuevas.DataTable.Last;
for i := 0 to AFacturasNuevas.DataTable.RecordCount - 1 do
begin
if Length(AFacturasNuevas.REFERENCIA) > 0 then
Add(AFacturasNuevas.REFERENCIA + ': ' + AFacturasNuevas.NOMBRE);
AFacturasNuevas.DataTable.Prior;
end;
end;
dmGenerarFacturasProv.JsListaFacturasGeneradas.Execute;
end;
// actRefrescar.Execute;
end;
finally
AFacturasNuevas := NIL;
end;
}
end;
function GenerarFacturaProv : Boolean; overload;
var
AAlbaranes : IBizAlbaranProveedor;
begin
Result := False;
if not Assigned(AAlbaranesProveedorController) then
Inicializar;
AAlbaranes := AAlbaranesProveedorController.ElegirAlbaranes(AAlbaranesProveedorController.BuscarSinFacturar,
'Elija el albarán o albaranes de proveedor que desea utilizar para dar de alta la factura.'
+ #10#13 + 'Si elige albaranes de proveedores diferentes se dará de alta una factura por cada uno de ellos.' , True);
Result := GenerarFacturaProv(AAlbaranes);
if Assigned(AAlbaranesProveedorController) then
Finalizar;
end;
end.

View File

@ -1,4 +1,4 @@
package PreCli_FacCli_relation;
package PreCli_FacPro_relation;
{$R *.res}
{$ALIGN 8}
@ -27,10 +27,10 @@ package PreCli_FacCli_relation;
requires
PresupuestosCliente_model,
PresupuestosCliente_controller,
FacturasCliente_controller,
FacturasCliente_model;
FacturasProforma_controller,
FacturasProforma_model;
contains
uGenerarFacturasCliPreCliUtils in 'uGenerarFacturasCliPreCliUtils.pas' {dmGenerarFacturasCli};
uGenerarFacturasProPreCliUtils in 'uGenerarFacturasProPreCliUtils.pas' {dmGenerarFacturasProPre};
end.

View File

@ -1,11 +1,11 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{69494a8c-0a35-41ea-b8ec-ea790bfc0662}</ProjectGuid>
<MainSource>PreCli_AlbCli_relation.dpk</MainSource>
<MainSource>PreCli_FacPro_relation.dpk</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\..\..\Output\Debug\Cliente\PreCli_AlbCli_relation.bpl</DCC_DependencyCheckOutputName>
<DCC_DependencyCheckOutputName>..\..\..\..\Output\Debug\Cliente\PreCli_FacPro_relation.bpl</DCC_DependencyCheckOutputName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Version>7.0</Version>
@ -39,188 +39,7 @@
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject>
<BorlandProject xmlns=""> <Delphi.Personality> <Parameters>
<Parameters Name="UseLauncher">False</Parameters>
<Parameters Name="LoadAllSymbols">True</Parameters>
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
</Parameters>
<Package_Options>
<Package_Options Name="ImplicitBuild">False</Package_Options>
<Package_Options Name="DesigntimeOnly">False</Package_Options>
<Package_Options Name="RuntimeOnly">False</Package_Options>
</Package_Options>
<VersionInfo>
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
<VersionInfo Name="MajorVer">1</VersionInfo>
<VersionInfo Name="MinorVer">0</VersionInfo>
<VersionInfo Name="Release">0</VersionInfo>
<VersionInfo Name="Build">0</VersionInfo>
<VersionInfo Name="Debug">False</VersionInfo>
<VersionInfo Name="PreRelease">False</VersionInfo>
<VersionInfo Name="Special">False</VersionInfo>
<VersionInfo Name="Private">False</VersionInfo>
<VersionInfo Name="DLL">False</VersionInfo>
<VersionInfo Name="Locale">3082</VersionInfo>
<VersionInfo Name="CodePage">1252</VersionInfo>
</VersionInfo>
<VersionInfoKeys>
<VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="InternalName"></VersionInfoKeys>
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
<VersionInfoKeys Name="ProductName"></VersionInfoKeys>
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
</VersionInfoKeys>
<Excluded_Packages>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dclsmp100.bpl">Borland Sample Components</Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dcl31w100.bpl">Delphi 1.0 Compatibility Components</Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dclmid100.bpl">Borland MyBase DataAccess Components</Excluded_Packages>
@ -257,28 +76,22 @@
<Excluded_Packages Name="T:\Bpl_D10\SMExportD2006.bpl">SMExport suite: data export from dataset. Written by Mike Shkolnik/Scalabium, 1998-2004.</Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dclIntraweb_80_100.bpl">Intraweb 8.0 Design Package for Borland Development Studio 2006</Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dclie100.bpl">Internet Explorer Components</Excluded_Packages>
</Excluded_Packages>
<Source>
<Source Name="MainSource">PreCli_AlbCli_relation.dpk</Source>
</Source>
</Delphi.Personality> </BorlandProject></BorlandProject>
</Excluded_Packages><Source><Source Name="MainSource">PreCli_FacPro_relation.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
<ItemGroup />
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
<DelphiCompile Include="PreCli_AlbCli_relation.dpk">
<DelphiCompile Include="PreCli_FacPro_relation.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\..\Lib\AlbaranesCliente_controller.dcp" />
<DCCReference Include="..\..\Lib\AlbaranesCliente_model.dcp" />
<DCCReference Include="..\..\Lib\Contactos_controller.dcp" />
<DCCReference Include="..\..\Lib\Contactos_model.dcp" />
<DCCReference Include="..\..\Lib\FacturasProforma_controller.dcp" />
<DCCReference Include="..\..\Lib\FacturasProforma_model.dcp" />
<DCCReference Include="..\..\Lib\PresupuestosCliente_controller.dcp" />
<DCCReference Include="..\..\Lib\PresupuestosCliente_model.dcp" />
<DCCReference Include="uGenerarAlbaranesCliUtils.pas" />
<DCCReference Include="uGenerarFacturasProPreCliUtils.pas">
<Form>dmGenerarFacturasProPre</Form>
</DCCReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
</Project>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=6011

View File

@ -1,4 +1,4 @@
object dmGenerarFacturasCliPre: TdmGenerarFacturasCliPre
object dmGenerarFacturasProPre: TdmGenerarFacturasProPre
OldCreateOrder = False
Height = 176
Width = 254

View File

@ -1,20 +1,20 @@
unit uGenerarFacturasCliPreCliUtils;
unit uGenerarFacturasProPreCliUtils;
interface
uses
Windows, SysUtils, Classes, uBizFacturasCliente, uBizPresupuestosCliente, pngimage, JSDialog;
Windows, SysUtils, Classes, uBizFacturasProforma, uBizPresupuestosCliente, pngimage, JSDialog;
type
TdmGenerarFacturasCliPre = class(TDataModule)
TdmGenerarFacturasProPre = class(TDataModule)
JsListaFacturasGeneradas: TJSDialog;
end;
function GenerarFacturaCliPre(const IDPresupuesto : Integer; const CopiarDetalles: Boolean = True) : Boolean; overload;
function GenerarFacturaCliPre(APresupuestos : IBizPresupuestoCliente; const CopiarDetalles: Boolean = True) : Boolean; overload;
function GenerarFacturaCliPre : Boolean; overload;
function GenerarFacturaProPre(const IDPresupuesto : Integer; const CopiarDetalles: Boolean = True) : Boolean; overload;
function GenerarFacturaProPre(APresupuestos : IBizPresupuestoCliente; const CopiarDetalles: Boolean = True) : Boolean; overload;
function GenerarFacturaProPre : Boolean; overload;
function GenerarFacturas(AFacturas : IBizFacturaCliente; AListaPresupuestos : IBizPresupuestoCliente; const CopiarDetalles: Boolean = True): Boolean;
function GenerarFacturas(AFacturas : IBizFacturaProforma; AListaPresupuestos : IBizPresupuestoCliente; const CopiarDetalles: Boolean = True): Boolean;
implementation
@ -23,116 +23,23 @@ implementation
uses
uDialogUtils, uDADataTable, uControllerDetallesBase,
uBizDetallesPresupuestoCliente, schPresupuestosClienteClient_Intf,
schFacturasClienteClient_Intf, uDetallesFacturaClienteController,
schFacturasProformaClient_Intf, uDetallesFacturaProformaController,
uPresupuestosClienteController, uDetallesPresupuestoClienteController,
uFacturasClienteController, uBizDetallesFacturaCliente;
uFacturasProformaController, uBizDetallesFacturaProforma;
var
dmGenerarFacturasCliPre: TdmGenerarFacturasCliPre;
dmGenerarFacturasProPre: TdmGenerarFacturasProPre;
APresupuestosClienteController : IPresupuestosClienteController;
ADetallesPresupuestosClienteController : IDetallesPresupuestoClienteController;
AFacturasClienteController : IFacturasClienteController;
// AProveedoresController : IProveedoresController;
AFacturasProformaController : IFacturasProformaController;
{ Métodos auxiliares }
{procedure CopiarPedidoAPedido(APedido: IBizPedidoCliente;
APedido : IBizFacturaProveedor);
begin
if not Assigned(APedido) then
raise Exception.Create ('Presupuesto no asignado (CopiarPedidoAPedido)');
if not Assigned(APedido) then
raise Exception.Create ('Pedido no asignado (CopiarPedidoAPedido)');
if not APedido.DataTable.Active then
APedido.DataTable.Active := True;
// El presupuesto tiene que venir ya abierto y posicionado donde hay que copiar
APedido.ID_CLIENTE := APedido.ID_CLIENTE;
APedido.ID_PEDIDO := APedido.ID;
APedido.CALLE := APedido.CALLE;
APedido.CODIGO_POSTAL := APedido.CODIGO_POSTAL;
APedido.POBLACION := APedido.POBLACION;
APedido.PROVINCIA := APedido.PROVINCIA;
APedido.PERSONA_CONTACTO := APedido.PERSONA_CONTACTO;
APedido.TELEFONO := APedido.TELEFONO;
APedido.IMPORTE_NETO := APedido.IMPORTE_NETO;
APedido.IMPORTE_PORTE := APedido.IMPORTE_PORTE;
APedido.DESCUENTO := APedido.DESCUENTO;
APedido.IMPORTE_DESCUENTO := APedido.IMPORTE_DESCUENTO;
APedido.BASE_IMPONIBLE := APedido.BASE_IMPONIBLE;
APedido.IVA := APedido.IVA;
APedido.IMPORTE_IVA := APedido.IMPORTE_IVA;
APedido.IMPORTE_TOTAL := APedido.IMPORTE_TOTAL;
APedido.DataTable.FieldByName(fld_PedidosClienteOBSERVACIONES).AsVariant := APedido.DataTable.FieldByName(fld_PedidosClienteOBSERVACIONES).AsVariant;
APedido.ID_FORMA_PAGO := APedido.ID_FORMA_PAGO;
end;
procedure CopiarArticulosPendAPedido(
APedido: IBizPedidoCliente;
APedido: IBizFacturaProveedor;
AArticulosPendientes: IBizPedidoClienteArticulosPend);
var
i : integer;
ADetalles : IBizDetallesFacturaProveedor;
ADetallesController : IDetallesFacturaProveedorController;
begin
if not Assigned(APedido) then
raise Exception.Create ('Presupuesto no asignado (CopiarArticulosPendAPedido)');
if not Assigned(APedido) then
raise Exception.Create ('Pedido no asignado (CopiarArticulosPendAPedido)');
if not Assigned(AArticulosPendientes) then
raise Exception.Create ('Artículos pendientes no asignado (CopiarArticulosPendAPedido)');
if not AArticulosPendientes.DataTable.Active then
AArticulosPendientes.DataTable.Active := True;
// El presupuesto tiene que venir ya abierto y posicionado donde hay que copiar
ADetalles := APedido.Detalles;
ADetallesController := TDetallesFacturaProveedorController.Create;
try
//OJO IMPORTANTE
//Siempre que vayamos a trabajar con los detalles debemos hacer un beginupdate de los mismos y un endupdate para
//obligarle siempre a recalcular los detalles una sola vez
ADetallesController.BeginUpdate(ADetalles);
AArticulosPendientes.DataTable.First;
for i := 0 to AArticulosPendientes.DataTable.RecordCount - 1 do
begin
APedido.Detalles.First;
if (APedido.Detalles.Locate('ID_ARTICULO', AArticulosPendientes.ID_ARTICULO, [])) then
if (AArticulosPendientes.CANTIDAD_PENDIENTE > 0) then
begin
ADetallesController.Add(ADetalles, TIPO_DETALLE_CONCEPTO);
ADetalles.Edit;
ADetalles.REFERENCIA := APedido.Detalles.REFERENCIA;
ADetalles.ID_ARTICULO := APedido.Detalles.ID_ARTICULO;
ADetalles.CONCEPTO := APedido.Detalles.CONCEPTO;
ADetalles.CANTIDAD := AArticulosPendientes.CANTIDAD_PENDIENTE;
ADetalles.IMPORTE_UNIDAD := APedido.Detalles.IMPORTE_UNIDAD;
ADetalles.IMPORTE_TOTAL := APedido.Detalles.IMPORTE_TOTAL;
ADetalles.DESCUENTO := APedido.Detalles.DESCUENTO;
ADetalles.IMPORTE_PORTE := APedido.Detalles.IMPORTE_PORTE;
ADetalles.VISIBLE := APedido.Detalles.VISIBLE;
ADetalles.REFERENCIA_PROVEEDOR := APedido.Detalles.REFERENCIA_PROVEEDOR;
ADetalles.Post;
AArticulosPendientes.Next;
end;
end;
finally
ADetallesController.EndUpdate(ADetalles);
ADetallesController := NIL;
end;
end; }
procedure CopiarArticulosPresupuesto(AOrigen: IBizDetallesPresupuestoCliente;
ADestino : IBizDetallesFacturaCliente);
ADestino : IBizDetallesFacturaProforma);
var
i : integer;
ADetallesController : IDetallesFacturaClienteController;
ADetallesController : IDetallesFacturaProformaController;
begin
if not Assigned(AOrigen) then
raise Exception.Create ('Origen no asignado (CopiarArticulosPresupuesto)');
@ -146,7 +53,7 @@ begin
if not ADestino.DataTable.Active then
ADestino.DataTable.Active := True;
ADetallesController := TDetallesFacturaClienteController.Create;
ADetallesController := TDetallesFacturaProformaController.Create;
try
//OJO IMPORTANTE
//Siempre que vayamos a trabajar con los detalles debemos hacer un beginupdate de los mismos y un endupdate para
@ -181,22 +88,22 @@ end;
procedure Inicializar;
begin
dmGenerarFacturasCliPre := TdmGenerarFacturasCliPre.Create(nil);
dmGenerarFacturasProPre := TdmGenerarFacturasProPre.Create(nil);
APresupuestosClienteController := TPresupuestosClienteController.Create;
ADetallesPresupuestosClienteController := TDetallesPresupuestoClienteController.Create;
AFacturasClienteController := TFacturasClienteController.Create;
AFacturasProformaController := TFacturasProformaController.Create;
end;
procedure Finalizar;
begin
FreeAndNIL(dmGenerarFacturasCliPre);
FreeAndNIL(dmGenerarFacturasProPre);
APresupuestosClienteController := nil;
ADetallesPresupuestosClienteController := nil;
AFacturasClienteController := nil;
AFacturasProformaController := nil;
end;
function GenerarFacturaCliPre(const IDPresupuesto : Integer; const CopiarDetalles: Boolean = True) : Boolean; overload;
function GenerarFacturaProPre(const IDPresupuesto : Integer; const CopiarDetalles: Boolean = True) : Boolean; overload;
var
APresupuesto : IBizPresupuestoCliente;
begin
@ -205,22 +112,22 @@ begin
Inicializar;
APresupuesto := APresupuestosClienteController.Buscar(IDPresupuesto);
Result := GenerarFacturaCliPre(APresupuesto, CopiarDetalles);
Result := GenerarFacturaProPre(APresupuesto, CopiarDetalles);
if Assigned(APresupuestosClienteController) then
Finalizar;
end;
function GenerarFacturaCliPre(APresupuestos : IBizPresupuestoCliente; const CopiarDetalles: Boolean = True) : Boolean; overload;
function GenerarFacturaProPre(APresupuestos : IBizPresupuestoCliente; const CopiarDetalles: Boolean = True) : Boolean; overload;
var
ARespuesta : Integer;
AFacturasNuevas : IBizFacturaCliente;
AFacturasNuevas : IBizFacturaProforma;
i: Integer;
begin
Result := False;
if not Assigned(APresupuestos) then
raise Exception.Create('Presupuesto de cliente no asignado (GenerarFacturaCliPre)');
raise Exception.Create('Presupuesto de cliente no asignado (GenerarFacturaProPre)');
if not APresupuestos.DataTable.Active then
APresupuestos.DataTable.Active := True;
@ -229,18 +136,15 @@ begin
Inicializar;
try
AFacturasNuevas := AFacturasClienteController.Nuevo(False);
AFacturasNuevas := AFacturasProformaController.Nuevo(False);
if GenerarFacturas(AFacturasNuevas, APresupuestos, CopiarDetalles) then
begin
if AFacturasNuevas.DataTable.RecordCount = 1 then
begin
if AFacturasNuevas.TIPO = CTE_TIPO_FACTURA then
ShowInfoMessage('La factura se ha dado de alta con el código ' + AFacturasNuevas.REFERENCIA)
else
ShowInfoMessage('El abono se ha dado de alta con el código ' + AFacturasNuevas.REFERENCIA);
ShowInfoMessage('La factura proforma se ha dado de alta con el código ' + AFacturasNuevas.REFERENCIA)
end
else begin
with dmGenerarFacturasCliPre.JsListaFacturasGeneradas.Content do
with dmGenerarFacturasProPre.JsListaFacturasGeneradas.Content do
begin
Clear;
AFacturasNuevas.DataTable.Last;
@ -251,7 +155,7 @@ begin
AFacturasNuevas.DataTable.Prior;
end;
end;
dmGenerarFacturasCliPre.JsListaFacturasGeneradas.Execute;
dmGenerarFacturasProPre.JsListaFacturasGeneradas.Execute;
end;
Result := True;
@ -264,7 +168,7 @@ begin
end;
end;
function GenerarFacturaCliPre : Boolean; overload;
function GenerarFacturaProPre : Boolean; overload;
var
APresupuestos : IBizPresupuestoCliente;
begin
@ -280,9 +184,9 @@ begin
if Assigned(APresupuestos) then
begin
if (ShowConfirmMessage('Generar factura', Format('¿Desea copiar todos los conceptos de/los presupuesto/s seleccionados a sus facturas correspondientes?', [])) = IDYES) then
Result := GenerarFacturaCliPre(APresupuestos)
Result := GenerarFacturaProPre(APresupuestos)
else
Result := GenerarFacturaCliPre(APresupuestos, False);
Result := GenerarFacturaProPre(APresupuestos, False);
end;
if Assigned(APresupuestosClienteController) then
@ -292,9 +196,9 @@ begin
end;
end;
function GenerarFacturas(AFacturas : IBizFacturaCliente; AListaPresupuestos : IBizPresupuestoCliente; const CopiarDetalles: Boolean = True): Boolean;
function GenerarFacturas(AFacturas : IBizFacturaProforma; AListaPresupuestos : IBizPresupuestoCliente; const CopiarDetalles: Boolean = True): Boolean;
var
AFacturaActual : IBizFacturaCliente;
AFacturaActual : IBizFacturaProforma;
APresupuestosController : IPresupuestosClienteController;
I: Integer;
bEnEdicion : Boolean;
@ -326,18 +230,18 @@ begin
// Busco si hay alguna factura ya hecha de ese Cliente
AFacturas.DataTable.First;
if AFacturas.DataTable.Locate(fld_FacturasClienteID_CLIENTE, AListaPresupuestos.ID_Cliente, []) then
if AFacturas.DataTable.Locate(fld_FacturasProformaID_CLIENTE, AListaPresupuestos.ID_Cliente, []) then
begin
AFacturaActual := AFacturas;
AFacturasClienteController.RecuperarCliente(AFacturaActual);
AFacturasProformaController.RecuperarCliente(AFacturaActual);
AFacturaActual.Cliente.DataTable.Active := True;
end
else begin
// No hay factura de ese Cliente. Creo una nueva
AFacturasClienteController.Anadir(AFacturas);
AFacturasProformaController.Anadir(AFacturas);
APresupuestosController.RecuperarCliente(AListaPresupuestos);
AFacturas.Cliente := AListaPresupuestos.Cliente;
AFacturas.OBSERVACIONES.Add('Importe de factura por trabajos realizados según indicaciones de nuestro presupuesto ' + AListaPresupuestos.REFERENCIA + ' con fecha ' + DateToStr(AListaPresupuestos.FECHA_PRESUPUESTO));
// AFacturas.OBSERVACIONES.Add('Importe de factura por trabajos realizados según indicaciones de nuestro presupuesto ' + AListaPresupuestos.REFERENCIA + ' con fecha ' + DateToStr(AListaPresupuestos.FECHA_PRESUPUESTO));
AFacturaActual := AFacturas;
end;
@ -347,7 +251,7 @@ begin
//Se pone la referencia del presupuesto y el total y nos olvidamos de los detalles
if not CopiarDetalles then
begin
AFacturasClienteController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_CONCEPTO);
AFacturasProformaController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_CONCEPTO);
with AFacturaActual.Detalles do
begin
Edit;
@ -362,7 +266,7 @@ begin
else
begin
// Añado el título
AFacturasClienteController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_TITULO);
AFacturasProformaController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_TITULO);
with AFacturaActual.Detalles do
begin
Edit;
@ -375,7 +279,7 @@ begin
//En el caso de tener porte el presupuesto se añade una fila con el importe
if (AListaPresupuestos.IMPORTE_PORTE > 0) then
begin
AFacturasClienteController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_CONCEPTO);
AFacturasProformaController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_CONCEPTO);
with AFacturaActual.Detalles do
begin
Edit;
@ -389,7 +293,7 @@ begin
//En el caso de tener descuento (bonificación) el presupuesto se añade una fila con el importe
if (AListaPresupuestos.IMPORTE_DESCUENTO > 0) then
begin
AFacturasClienteController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_CONCEPTO);
AFacturasProformaController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_CONCEPTO);
with AFacturaActual.Detalles do
begin
Edit;
@ -401,7 +305,7 @@ begin
end;
// Añado el resumen
AFacturasClienteController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_SUBTOTAL);
AFacturasProformaController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_SUBTOTAL);
with AFacturaActual.Detalles do
begin
Edit;
@ -411,7 +315,7 @@ begin
end;
// Añado una línea en blanco
AFacturasClienteController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_CONCEPTO);
AFacturasProformaController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_CONCEPTO);
with AFacturaActual.Detalles do
begin
Edit;
@ -421,10 +325,10 @@ begin
// Guardo la factura que acabo de generar o editar
AFacturaActual.CalcularImporteTotal;
AFacturasClienteController.Guardar(AFacturaActual);
AFacturasProformaController.Guardar(AFacturaActual);
// Asocio la factura con el presupuesto
AListaPresupuestos.Edit;
AListaPresupuestos.ID_FACTURA := AFacturaActual.ID;
AListaPresupuestos.ID_FACTURA_PROFORMA := AFacturaActual.ID;
AListaPresupuestos.Post;
APresupuestosController.Guardar(AListaPresupuestos);

View File

@ -1,4 +1,4 @@
package PreCli_AlbCli_relation;
package PreCli_PedCli_relation;
{$R *.res}
{$ALIGN 8}
@ -29,10 +29,10 @@ requires
Contactos_model,
PresupuestosCliente_controller,
PresupuestosCliente_model,
AlbaranesCliente_controller,
AlbaranesCliente_model;
PedidosCliente_controller,
PedidosCliente_model;
contains
uGenerarAlbaranesCliUtils in 'uGenerarAlbaranesCliUtils.pas';
uGenerarPedidosCliUtils in 'uGenerarPedidosCliUtils.pas' {dmGenerarPedidosCli};
end.

View File

@ -1,11 +1,11 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{69494a8c-0a35-41ea-b8ec-ea790bfc0662}</ProjectGuid>
<MainSource>PreCli_FacCli_relation.dpk</MainSource>
<MainSource>PreCli_PedCli_relation.dpk</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\..\..\Output\Debug\Cliente\PreCli_FacCli_relation.bpl</DCC_DependencyCheckOutputName>
<DCC_DependencyCheckOutputName>..\..\..\..\Output\Debug\Cliente\PreCli_PedCli_relation.bpl</DCC_DependencyCheckOutputName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Version>7.0</Version>
@ -148,23 +148,24 @@
<Excluded_Packages Name="T:\Bpl_D10\SMExportD2006.bpl">SMExport suite: data export from dataset. Written by Mike Shkolnik/Scalabium, 1998-2004.</Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dclIntraweb_80_100.bpl">Intraweb 8.0 Design Package for Borland Development Studio 2006</Excluded_Packages>
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dclie100.bpl">Internet Explorer Components</Excluded_Packages>
</Excluded_Packages><Source><Source Name="MainSource">PreCli_FacCli_relation.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</Excluded_Packages><Source><Source Name="MainSource">PreCli_PedCli_relation.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
<DelphiCompile Include="PreCli_FacCli_relation.dpk">
<DelphiCompile Include="PreCli_PedCli_relation.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\..\Lib\FacturasCliente_controller.dcp" />
<DCCReference Include="..\..\Lib\FacturasCliente_model.dcp" />
<DCCReference Include="..\..\Lib\Contactos_controller.dcp" />
<DCCReference Include="..\..\Lib\Contactos_model.dcp" />
<DCCReference Include="..\..\Lib\PedidosCliente_controller.dcp" />
<DCCReference Include="..\..\Lib\PedidosCliente_model.dcp" />
<DCCReference Include="..\..\Lib\PresupuestosCliente_controller.dcp" />
<DCCReference Include="..\..\Lib\PresupuestosCliente_model.dcp" />
<DCCReference Include="uGenerarFacturasCliPreCliUtils.pas">
<Form>dmGenerarFacturasCli</Form>
<DCCReference Include="uGenerarPedidosCliUtils.pas">
<Form>dmGenerarPedidosCli</Form>
</DCCReference>
</ItemGroup>
</Project>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=6011

View File

@ -1,8 +1,8 @@
object dmGenerarAlbaranesCli: TdmGenerarAlbaranesCli
object dmGenerarPedidosCli: TdmGenerarPedidosCli
OldCreateOrder = False
Height = 176
Width = 254
object JsListaAlbaranesGenerados: TJSDialog
object JsListaPedidosGenerados: TJSDialog
DialogOptions = [doCommandLinks, doModal]
Glyph.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00

View File

@ -1,158 +1,143 @@
unit uGenerarAlbaranesCliUtils;
unit uGenerarPedidosCliUtils;
interface
uses
Windows, SysUtils, Classes, pngimage, JSDialog,
uBizPresupuestosCliente, uBizAlbaranesCliente;
uBizPresupuestosCliente, uBizPedidosCliente;
type
TdmGenerarAlbaranesCli = class(TDataModule)
JsListaAlbaranesGenerados: TJSDialog;
TdmGenerarPedidosCli = class(TDataModule)
JsListaPedidosGenerados: TJSDialog;
end;
function GenerarAlbaranCli(const IDPresupuesto : Integer) : Boolean; overload;
function GenerarAlbaranCli(APresupuesto : IBizPresupuestoCliente) : Boolean; overload;
// function ElegirPedidoYGenerarAlbaranCli(var IDAlbaran: Integer) : Boolean;
// function GenerarAlbaranes(AAlbaranes : IBizAlbaraneCliente; AListaPresupuestos : IBizPresupuestoCliente): Boolean;
function GenerarPedidoCliPre(const IDPresupuesto : Integer) : Boolean; overload;
function GenerarPedidoCliPre(APresupuesto : IBizPresupuestoCliente) : Boolean; overload;
implementation
{$R *.dfm}
uses
uDialogUtils, uBizDetallesPresupuestoCliente, uBizDetallesAlbaranCliente,
uPresupuestosClienteController, uAlbaranesClienteController, uClientesController,
uDetallesAlbaranClienteController, uControllerDetallesBase,
uDialogUtils, uBizDetallesPresupuestoCliente, uBizDetallesPedidoCliente,
uPresupuestosClienteController, uPedidosClienteController, uClientesController,
uDetallesPedidoClienteController, uControllerDetallesBase,
uBizContactos, schPresupuestosClienteClient_Intf,
schAlbaranesClienteClient_Intf;
schPedidosClienteClient_Intf;
var
dmGenerarAlbaranesCli: TdmGenerarAlbaranesCli;
dmGenerarPedidosCli: TdmGenerarPedidosCli;
APresupuestosClienteController : IPresupuestosClienteController;
AAlbaranesClienteController : IAlbaranesClienteController;
ADetallesAlbaranesCliController : IDetallesAlbaranClienteController;
APedidosClienteController : IPedidosClienteController;
ADetallesPedidosCliController : IDetallesPedidoClienteController;
AClientesController : IClientesController;
{ Métodos auxiliares }
procedure CopiarPresupuestoAAlbaran(APresupuesto: IBizPresupuestoCliente; AAlbaran : IBizAlbaranCliente);
procedure CopiarPresupuestoAPedido(APresupuesto: IBizPresupuestoCliente; APedido : IBizPedidoCliente);
begin
if not Assigned(AAlbaran) then
raise Exception.Create ('Albarán no asignado (CopiarPresupuestoAAlbaran)');
if not Assigned(APedido) then
raise Exception.Create ('Albarán no asignado (CopiarPresupuestoAPedido)');
if not Assigned(APresupuesto) then
raise Exception.Create ('Pedido no asignado (CopiarPresupuestoAAlbaran)');
raise Exception.Create ('Pedido no asignado (CopiarPresupuestoAPedido)');
if not APresupuesto.DataTable.Active then
APresupuesto.DataTable.Active := True;
// El albarán tiene que venir ya abierto y posicionado donde hay que copiar
AAlbaran.ID_CLIENTE := APresupuesto.ID_CLIENTE;
AAlbaran.ID_PEDIDO := APresupuesto.ID;
AAlbaran.REFERENCIA_CLIENTE := APresupuesto.REFERENCIA_CLIENTE;
// AAlbaran.CALLE := APresupuesto.CALLE;
// AAlbaran.CODIGO_POSTAL := APresupuesto.CODIGO_POSTAL;
// AAlbaran.POBLACION := APresupuesto.POBLACION;
// AAlbaran.PROVINCIA := APresupuesto.PROVINCIA;
// AAlbaran.PERSONA_CONTACTO := APresupuesto.PERSONA_CONTACTO;
// AAlbaran.TELEFONO := APresupuesto.TELEFONO;
AAlbaran.IMPORTE_NETO := APresupuesto.IMPORTE_NETO;
AAlbaran.IMPORTE_PORTE := APresupuesto.IMPORTE_PORTE;
AAlbaran.DESCUENTO := APresupuesto.DESCUENTO;
AAlbaran.IMPORTE_DESCUENTO := APresupuesto.IMPORTE_DESCUENTO;
AAlbaran.BASE_IMPONIBLE := APresupuesto.BASE_IMPONIBLE;
AAlbaran.IVA := APresupuesto.IVA;
AAlbaran.IMPORTE_IVA := APresupuesto.IMPORTE_IVA;
AAlbaran.IMPORTE_TOTAL := APresupuesto.IMPORTE_TOTAL;
AAlbaran.DataTable.FieldByName(fld_AlbaranesClienteOBSERVACIONES).AsVariant := APresupuesto.DataTable.FieldByName(fld_PresupuestosClienteOBSERVACIONES).AsVariant;
AAlbaran.ID_FORMA_PAGO := APresupuesto.ID_FORMA_PAGO;
// AAlbaran.FECHA_PREVISTA_ENVIO := APresupuesto.FECHA_PREVISTA_ENVIO;
APedido.ID_CLIENTE := APresupuesto.ID_CLIENTE;
APedido.ID_PRESUPUESTO := APresupuesto.ID;
APedido.REFERENCIA_CLIENTE := APresupuesto.REFERENCIA_CLIENTE;
// APedido.CALLE := APresupuesto.CALLE;
// APedido.CODIGO_POSTAL := APresupuesto.CODIGO_POSTAL;
// APedido.POBLACION := APresupuesto.POBLACION;
// APedido.PROVINCIA := APresupuesto.PROVINCIA;
// APedido.PERSONA_CONTACTO := APresupuesto.PERSONA_CONTACTO;
// APedido.TELEFONO := APresupuesto.TELEFONO;
APedido.IMPORTE_NETO := APresupuesto.IMPORTE_NETO;
APedido.IMPORTE_PORTE := APresupuesto.IMPORTE_PORTE;
APedido.DESCUENTO := APresupuesto.DESCUENTO;
APedido.IMPORTE_DESCUENTO := APresupuesto.IMPORTE_DESCUENTO;
APedido.BASE_IMPONIBLE := APresupuesto.BASE_IMPONIBLE;
APedido.IVA := APresupuesto.IVA;
APedido.IMPORTE_IVA := APresupuesto.IMPORTE_IVA;
APedido.IMPORTE_TOTAL := APresupuesto.IMPORTE_TOTAL;
APedido.DataTable.FieldByName(fld_PedidosClienteOBSERVACIONES).AsVariant := APresupuesto.DataTable.FieldByName(fld_PresupuestosClienteOBSERVACIONES).AsVariant;
APedido.ID_FORMA_PAGO := APresupuesto.ID_FORMA_PAGO;
// APedido.FECHA_PREVISTA_ENVIO := APresupuesto.FECHA_PREVISTA_ENVIO;
end;
{
procedure CopiarArticulosPendAAlbaran(
APedido: IBizPedidoCliente;
AAlbaran: IBizAlbaranCliente;
AArticulosPendientes: IBizPedidoClienteArticulosPend);
procedure CopiarArticulosPresupuesto(AOrigen: IBizDetallesPresupuestoCliente;
ADestino : IBizDetallesPedidoCliente);
var
i : integer;
ADetalles : IBizDetallesAlbaranCliente;
ADetallesController : IDetallesAlbaranClienteController;
ADetallesController : IDetallesPedidoClienteController;
begin
if not Assigned(AAlbaran) then
raise Exception.Create ('Albarán no asignado (CopiarArticulosPendAAlbaran)');
if not Assigned(AOrigen) then
raise Exception.Create ('Origen no asignado (CopiarArticulosPresupuesto)');
if not Assigned(APedido) then
raise Exception.Create ('Pedido no asignado (CopiarArticulosPendAAlbaran)');
if not Assigned(ADestino) then
raise Exception.Create ('Destino no asignado (CopiarArticulosPresupuesto)');
if not Assigned(AArticulosPendientes) then
raise Exception.Create ('Artículos pendientes no asignado (CopiarArticulosPendAAlbaran)');
if not AOrigen.DataTable.Active then
AOrigen.DataTable.Active := True;
if not AArticulosPendientes.DataTable.Active then
AArticulosPendientes.DataTable.Active := True;
if not ADestino.DataTable.Active then
ADestino.DataTable.Active := True;
// El albarán tiene que venir ya abierto y posicionado donde hay que copiar
ADetalles := AAlbaran.Detalles;
ADetallesController := TDetallesAlbaranClienteController.Create;
ADetallesController := TDetallesPedidoClienteController.Create;
try
//OJO IMPORTANTE
//Siempre que vayamos a trabajar con los detalles debemos hacer un beginupdate de los mismos y un endupdate para
//obligarle siempre a recalcular los detalles una sola vez
ADetallesController.BeginUpdate(ADetalles);
ADetallesController.BeginUpdate(ADestino);
AArticulosPendientes.DataTable.First;
for i := 0 to AArticulosPendientes.DataTable.RecordCount - 1 do
AOrigen.DataTable.First;
for i := 0 to AOrigen.DataTable.RecordCount - 1 do
begin
APedido.Detalles.First;
if (APedido.Detalles.Locate('ID_ARTICULO', AArticulosPendientes.ID_ARTICULO, [])) then
if (AArticulosPendientes.CANTIDAD_PENDIENTE > 0) then
begin
ADetallesController.Add(ADetalles, TIPO_DETALLE_CONCEPTO);
ADetalles.Edit;
ADetalles.ID_PEDIDO := APedido.Detalles.ID_PEDIDO;
ADetalles.REFERENCIA := APedido.Detalles.REFERENCIA;
ADetalles.ID_ARTICULO := APedido.Detalles.ID_ARTICULO;
ADetalles.CONCEPTO := APedido.Detalles.CONCEPTO;
ADetalles.CANTIDAD := AArticulosPendientes.CANTIDAD_PENDIENTE;
ADetalles.IMPORTE_UNIDAD := APedido.Detalles.IMPORTE_UNIDAD;
ADetalles.IMPORTE_TOTAL := APedido.Detalles.IMPORTE_TOTAL;
ADetalles.DESCUENTO := APedido.Detalles.DESCUENTO;
ADetalles.IMPORTE_PORTE := APedido.Detalles.IMPORTE_PORTE;
ADetalles.VISIBLE := APedido.Detalles.VISIBLE;
ADetalles.REFERENCIA_PROVEEDOR := APedido.Detalles.REFERENCIA_PROVEEDOR;
ADetalles.Post;
AArticulosPendientes.Next;
end;
ADetallesController.Add(ADestino, TIPO_DETALLE_CONCEPTO);
ADestino.Edit;
ADestino.REFERENCIA := AOrigen.REFERENCIA;
if AOrigen.ID_ARTICULO > 0 then
ADestino.ID_ARTICULO := AOrigen.ID_ARTICULO;
ADestino.CONCEPTO := AOrigen.CONCEPTO;
ADestino.CANTIDAD := AOrigen.CANTIDAD;
ADestino.IMPORTE_UNIDAD := AOrigen.IMPORTE_UNIDAD;
ADestino.IMPORTE_TOTAL := AOrigen.IMPORTE_TOTAL;
ADestino.DESCUENTO := AOrigen.DESCUENTO;
ADestino.IMPORTE_PORTE := AOrigen.IMPORTE_PORTE;
ADestino.VISIBLE := AOrigen.VISIBLE;
ADestino.REFERENCIA_PROVEEDOR := AOrigen.REFERENCIA_PROVEEDOR;
ADestino.Post;
AOrigen.Next;
end;
finally
ADetallesController.EndUpdate(ADetalles);
ADetallesController.EndUpdate(ADestino);
ADetallesController := NIL;
end;
end;
}
procedure Inicializar;
begin
dmGenerarAlbaranesCli := TdmGenerarAlbaranesCli.Create(nil);
dmGenerarPedidosCli := TdmGenerarPedidosCli.Create(nil);
APresupuestosClienteController := TPresupuestosClienteController.Create;
AAlbaranesClienteController := TAlbaranesClienteController.Create;
ADetallesAlbaranesCliController := TDetallesAlbaranClienteController.Create;
APedidosClienteController := TPedidosClienteController.Create;
ADetallesPedidosCliController := TDetallesPedidoClienteController.Create;
AClientesController := TClientesController.Create;
end;
procedure Finalizar;
begin
FreeAndNIL(dmGenerarAlbaranesCli);
FreeAndNIL(dmGenerarPedidosCli);
APresupuestosClienteController := nil;
AAlbaranesClienteController := nil;
ADetallesAlbaranesCliController := nil;
APedidosClienteController := nil;
ADetallesPedidosCliController := nil;
AClientesController := nil;
end;
function GenerarAlbaranCli(const IDPresupuesto : Integer) : Boolean; overload;
function GenerarPedidoCliPre(const IDPresupuesto : Integer) : Boolean; overload;
var
APresupuesto : IBizPresupuestoCliente;
@ -166,7 +151,7 @@ begin
APresupuesto := APresupuestosClienteController.Buscar(IDPresupuesto);
if Assigned(APresupuesto) then
Result := GenerarAlbaranCli(APresupuesto);
Result := GenerarPedidoCliPre(APresupuesto);
if Assigned(APresupuestosClienteController) then
Finalizar;
@ -177,30 +162,34 @@ begin
end;
function GenerarAlbaranCli(APresupuesto : IBizPresupuestoCliente) : Boolean; overload;
function GenerarPedidoCliPre(APresupuesto : IBizPresupuestoCliente) : Boolean; overload;
var
i: Integer;
AlbaranesNuevos: IBizAlbaranCliente;
PedidosNuevos: IBizPedidoCliente;
begin
Result := False;
{
if not Assigned(APresupuesto) then
raise Exception.Create('Presupuesto de cliente no asignado (GenerarAlbaranCli)');
raise Exception.Create('Presupuesto de cliente no asignado (GenerarPedidoCliPre)');
if not APresupuesto.DataTable.Active then
APresupuesto.DataTable.Active := True;
if not Assigned(APresupuestosClienteController) then
Inicializar;
try
AlbaranesNuevos := AAlbaranesClienteController.Nuevo(False);
if GenerarAlbaranes(AlbaranesNuevos, APresupuesto) then
begin
if AlbaranesNuevos.DataTable.RecordCount = 1 then
ShowInfoMessage('El albarán se ha dado de alta con el código ' + AlbaranesNuevos.REFERENCIA)
else begin
PedidosNuevos := APedidosClienteController.Nuevo; //(False);
CopiarPresupuestoAPedido(APresupuesto, PedidosNuevos);
CopiarArticulosPresupuesto(APresupuesto.Detalles, PedidosNuevos.Detalles);
// PedidosNuevos.CalcularImporteTotal;
APedidosClienteController.Guardar(PedidosNuevos);
if PedidosNuevos.DataTable.RecordCount = 1 then
ShowInfoMessage('El pedido se ha dado de alta con el código ' + PedidosNuevos.REFERENCIA);
{
else begin
with dmGenerarAlbaranesCli.JsListaAlbaranesGenerados.Content do
begin
Clear;
@ -217,17 +206,16 @@ begin
Result := True;
end;
}
finally
AlbaranesNuevos := NIL;
PedidosNuevos := NIL;
if Assigned(APresupuestosClienteController) then
Finalizar;
end;
}
end;
{
function ElegirPedidoYGenerarAlbaranCli(var IDAlbaran: Integer) : Boolean; overload;
function ElegirPedidoYGenerarPedidoCliPre(var IDAlbaran: Integer) : Boolean; overload;
var
APedido : IBizPedidoCliente;
AAlbaran : IBizAlbaranCliente;
@ -246,7 +234,7 @@ begin
if Assigned(APedido) then
begin
Result := GenerarAlbaranCli(APedido, AAlbaran);
Result := GenerarPedidoCliPre(APedido, AAlbaran);
if Result then
IDAlbaran := AAlbaran.ID;
end;

Binary file not shown.

View File

@ -99,8 +99,6 @@ uses
schObrasServer_Intf in '..\Modulos\Obras\Model\schObrasServer_Intf.pas',
uRptFacturasProveedor_Server in '..\Modulos\Facturas de proveedor\Reports\uRptFacturasProveedor_Server.pas' {RptFacturasProveedor: TDataModule},
uRptRecibosProveedor_Server in '..\Modulos\Recibos de proveedor\Reports\uRptRecibosProveedor_Server.pas' {RptRecibosProveedor: TDataModule},
schPresupuestosClienteClient_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas',
schPresupuestosClienteServer_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas',
uRptAlbaranesProveedor_Server in '..\Modulos\Albaranes de proveedor\Reports\uRptAlbaranesProveedor_Server.pas' {RptAlbaranesProveedor: TDataModule},
MidasSpeedFix in 'Utiles\MidasSpeedFix.pas',
uBizAgentesServer in '..\Modulos\Contactos\Model\uBizAgentesServer.pas',
@ -152,8 +150,6 @@ uses
schAlbaranesProveedorServer_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas',
schPedidosProveedorClient_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas',
schPedidosProveedorServer_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas',
schPedidosClienteClient_Intf in '..\Modulos\Pedidos de cliente\Model\schPedidosClienteClient_Intf.pas',
schPedidosClienteServer_Intf in '..\Modulos\Pedidos de cliente\Model\schPedidosClienteServer_Intf.pas',
schFacturasProveedorClient_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas',
schFacturasProveedorServer_Intf in '..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas',
schFacturasClienteClient_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas',
@ -168,7 +164,11 @@ uses
schFacturasProformaClient_Intf in '..\Modulos\Facturas proforma\Model\schFacturasProformaClient_Intf.pas',
schFacturasProformaServer_Intf in '..\Modulos\Facturas proforma\Model\schFacturasProformaServer_Intf.pas',
schContactosClient_Intf in '..\Modulos\Contactos\Model\schContactosClient_Intf.pas',
schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas';
schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas',
schPresupuestosClienteClient_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas',
schPresupuestosClienteServer_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas',
schPedidosClienteClient_Intf in '..\Modulos\Pedidos de cliente\Model\schPedidosClienteClient_Intf.pas',
schPedidosClienteServer_Intf in '..\Modulos\Pedidos de cliente\Model\schPedidosClienteServer_Intf.pas';
{$R *.res}
{$R ..\Servicios\RODLFile.res}

View File

@ -14,7 +14,7 @@ BEGIN
BEGIN
VALUE "FileVersion", "4.3.6.0\0"
VALUE "ProductVersion", "4.3.6.0\0"
VALUE "CompileDate", "viernes, 17 de enero de 2014 17:14\0"
VALUE "CompileDate", "jueves, 06 de febrero de 2014 18:52\0"
END
END
BLOCK "VarFileInfo"