Version 5.2.4.

Se permite liminación multiple de articulos, aregla inventario para ponder cambiar cantidad de entrada y salida, se cambia estructura de datos de articulo para imagen a la derecha se añade campo notas en articulos. en pedidos se añade ref. proveedor en informe y detalles.
This commit is contained in:
roberto 2026-01-22 11:41:01 +01:00
parent 0f872ca3f2
commit 4dacab37df
69 changed files with 2144 additions and 596 deletions

View File

@ -65,56 +65,56 @@
<DelphiCompile Include="Base.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="$(SystemRoot)\system32\adortl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxDataD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxEditorsD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxExtEditorsD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxGridD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxLibraryD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxPageControlD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\DataAbstract_Core_D11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dbrtl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dclIndyCore.dcp" />
<DCCReference Include="$(SystemRoot)\system32\designide.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dsnap.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxCoreD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxGDIPlusD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxPSCoreD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxThemeD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\GUISDK_D11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\IndyCore.dcp" />
<DCCReference Include="$(SystemRoot)\system32\IndyProtocols.dcp" />
<DCCReference Include="$(SystemRoot)\system32\IndySystem.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Jcl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JclVcl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JSDialog100.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvCmpD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvCoreD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvCtrlsD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvDlgsD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvMMD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvNetD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvPageCompsD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvStdCtrlsD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvSystemD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\pckMD5.dcp" />
<DCCReference Include="$(SystemRoot)\system32\pckUCDataConnector.dcp" />
<DCCReference Include="$(SystemRoot)\system32\pckUserControl_RT.dcp" />
<DCCReference Include="$(SystemRoot)\system32\PluginSDK_D11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\PngComponentsD10.dcp" />
<DCCReference Include="$(SystemRoot)\system32\PNG_D10.dcp" />
<DCCReference Include="$(SystemRoot)\system32\RemObjects_Core_D11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\rtl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\TB2k_D10.dcp" />
<DCCReference Include="$(SystemRoot)\system32\tbx_d10.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vcl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vclactnband.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vcldb.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vcljpg.dcp" />
<DCCReference Include="$(SystemRoot)\system32\VclSmp.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vclx.dcp" />
<DCCReference Include="$(SystemRoot)\system32\xmlrtl.dcp" />
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
<DCCReference Include="..\Servidor\adortl.dcp" />
<DCCReference Include="..\Servidor\cxDataD11.dcp" />
<DCCReference Include="..\Servidor\cxEditorsD11.dcp" />
<DCCReference Include="..\Servidor\cxExtEditorsD11.dcp" />
<DCCReference Include="..\Servidor\cxGridD11.dcp" />
<DCCReference Include="..\Servidor\cxLibraryD11.dcp" />
<DCCReference Include="..\Servidor\cxPageControlD11.dcp" />
<DCCReference Include="..\Servidor\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\Servidor\dbrtl.dcp" />
<DCCReference Include="..\Servidor\dclIndyCore.dcp" />
<DCCReference Include="..\Servidor\designide.dcp" />
<DCCReference Include="..\Servidor\dsnap.dcp" />
<DCCReference Include="..\Servidor\dxCoreD11.dcp" />
<DCCReference Include="..\Servidor\dxGDIPlusD11.dcp" />
<DCCReference Include="..\Servidor\dxPSCoreD11.dcp" />
<DCCReference Include="..\Servidor\dxThemeD11.dcp" />
<DCCReference Include="..\Servidor\GUISDK_D11R.dcp" />
<DCCReference Include="..\Servidor\IndyCore.dcp" />
<DCCReference Include="..\Servidor\IndyProtocols.dcp" />
<DCCReference Include="..\Servidor\IndySystem.dcp" />
<DCCReference Include="..\Servidor\Jcl.dcp" />
<DCCReference Include="..\Servidor\JclVcl.dcp" />
<DCCReference Include="..\Servidor\JSDialog100.dcp" />
<DCCReference Include="..\Servidor\JvCmpD11R.dcp" />
<DCCReference Include="..\Servidor\JvCoreD11R.dcp" />
<DCCReference Include="..\Servidor\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Servidor\JvDlgsD11R.dcp" />
<DCCReference Include="..\Servidor\JvMMD11R.dcp" />
<DCCReference Include="..\Servidor\JvNetD11R.dcp" />
<DCCReference Include="..\Servidor\JvPageCompsD11R.dcp" />
<DCCReference Include="..\Servidor\JvStdCtrlsD11R.dcp" />
<DCCReference Include="..\Servidor\JvSystemD11R.dcp" />
<DCCReference Include="..\Servidor\pckMD5.dcp" />
<DCCReference Include="..\Servidor\pckUCDataConnector.dcp" />
<DCCReference Include="..\Servidor\pckUserControl_RT.dcp" />
<DCCReference Include="..\Servidor\PluginSDK_D11R.dcp" />
<DCCReference Include="..\Servidor\PngComponentsD10.dcp" />
<DCCReference Include="..\Servidor\PNG_D10.dcp" />
<DCCReference Include="..\Servidor\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\Servidor\rtl.dcp" />
<DCCReference Include="..\Servidor\TB2k_D10.dcp" />
<DCCReference Include="..\Servidor\tbx_d10.dcp" />
<DCCReference Include="..\Servidor\vcl.dcp" />
<DCCReference Include="..\Servidor\vclactnband.dcp" />
<DCCReference Include="..\Servidor\vcldb.dcp" />
<DCCReference Include="..\Servidor\vcljpg.dcp" />
<DCCReference Include="..\Servidor\VclSmp.dcp" />
<DCCReference Include="..\Servidor\vclx.dcp" />
<DCCReference Include="..\Servidor\xmlrtl.dcp" />
<DCCReference Include="Conexion\uConfigurarConexion.pas">
<Form>fConfigurarConexion</Form>
<DesignClass>TForm</DesignClass>

View File

@ -52,8 +52,7 @@
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>VCLApplication</Borland.ProjectType>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Language><Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language></Language><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">5</VersionInfo><VersionInfo Name="MinorVer">2</VersionInfo><VersionInfo Name="Release">2</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">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">5.2.2.0</VersionInfoKeys><VersionInfoKeys Name="InternalName">FactuGES</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">5.2.2.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><Language><Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language></Language><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">5</VersionInfo><VersionInfo Name="MinorVer">2</VersionInfo><VersionInfo Name="Release">4</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">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">5.2.4.0</VersionInfoKeys><VersionInfoKeys Name="InternalName">FactuGES</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">5.2.4.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl">File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found</Excluded_Packages>
</Excluded_Packages><Source><Source Name="MainSource">FactuGES.dpr</Source></Source></Delphi.Personality><ModelSupport>False</ModelSupport></BorlandProject></BorlandProject>

View File

@ -1,7 +1,7 @@
MAINICON ICON "C:\Codigo Acana\Resources\Iconos\Factuges.ico"
1 VERSIONINFO
FILEVERSION 5,2,2,0
PRODUCTVERSION 5,2,2,0
FILEVERSION 5,2,4,0
PRODUCTVERSION 5,2,4,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L
FILEOS 0x40004L
@ -13,10 +13,10 @@ BEGIN
BLOCK "0C0A04E4"
BEGIN
VALUE "CompanyName", "Rodax Software S.L.\0"
VALUE "FileVersion", "5.2.2.0\0"
VALUE "FileVersion", "5.2.4.0\0"
VALUE "InternalName", "FactuGES\0"
VALUE "ProductName", "FactuGES\0"
VALUE "ProductVersion", "5.2.2.0\0"
VALUE "ProductVersion", "5.2.4.0\0"
END
END
BLOCK "VarFileInfo"

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -4,7 +4,7 @@ interface
uses
SysUtils, uDADataTable, uEditorDBItem,
SysUtils, uDADataTable, uEditorDBItem, Classes,
uControllerBase, uIDataModuleAlbaranesProveedor, uProveedoresController,
uDetallesAlbaranProveedorController, uBizAlbaranesProveedor,
uBizDireccionesContacto, uBizPedidosProveedor;
@ -56,6 +56,9 @@ type
procedure Preview(AAlbaran : IBizAlbaranProveedor; AllItems: Boolean = false);
procedure Print(AAlbaran : IBizAlbaranProveedor; AllItems: Boolean = false);
function DarListaAnosAlbaranes: TStringList;
procedure FiltrarAno(AAlbaran: IBizAlbaranProveedor; ADynWhereDataTable: WideString; const Ano: String);
end;
TAlbaranesProveedorController = class(TControllerBase, IAlbaranesProveedorController)
@ -122,6 +125,9 @@ type
procedure Preview(AAlbaran : IBizAlbaranProveedor; AllItems: Boolean = false);
procedure Print(AAlbaran : IBizAlbaranProveedor; AllItems: Boolean = false);
function DarListaAnosAlbaranes: TStringList;
procedure FiltrarAno(AAlbaran: IBizAlbaranProveedor; ADynWhereDataTable: WideString; const Ano: String);
end;
implementation
@ -136,7 +142,7 @@ uses
schContactosClient_Intf, Forms, schPedidosProveedorClient_Intf, uFactuGES_App,
uPedidosProveedorController, uBizDetallesPedidoProveedor,
// schInventarioClient_Intf,
uArticulosController, uBizArticulos, uControllerDetallesBase, Classes,
uArticulosController, uBizArticulos, uControllerDetallesBase,
schArticulosClient_Intf, uControllerDetallesArticulos, Variants, uDialogUtils,
uIEditorAlbaranDevProveedor, uAlbaranesProveedorReportController;
@ -756,6 +762,11 @@ begin
Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
end;
function TAlbaranesProveedorController.DarListaAnosAlbaranes: TStringList;
begin
Result := FDataModule.GetAnosItems;
end;
procedure TAlbaranesProveedorController.DescartarCambios(AAlbaran: IBizAlbaranProveedor);
begin
if not Assigned(AAlbaran) then
@ -1151,6 +1162,35 @@ begin
Result := ASeleccionados;
end;
procedure TAlbaranesProveedorController.FiltrarAno(AAlbaran: IBizAlbaranProveedor; ADynWhereDataTable: WideString; const Ano: String);
var
Condicion: TDAWhereExpression;
FechaIni: String;
FechaFin: String;
begin
AAlbaran.DataTable.DynamicWhere.Clear;
AAlbaran.DataTable.DynamicWhere.Xml := ADynWhereDataTable;
if (Ano <> 'Todos') then
begin
// Filtrar las facturas actuales por empresa
FechaIni := '01/01/' + Ano;
FechaFin := '31/12/' + Ano;
with AAlbaran.DataTable.DynamicWhere do
begin
// (FECHA_INICIO between FECHA_FIN)
Condicion := NewBinaryExpression(NewField('', fld_AlbaranesProveedorFECHA_ALBARAN), NewConstant(FechaIni, datString), dboGreaterOrEqual);
Condicion := NewBinaryExpression(NewBinaryExpression(NewField('', fld_AlbaranesProveedorFECHA_ALBARAN), NewConstant(FechaFin, datString), dboLessOrEqual), Condicion, dboAnd);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Condicion, Expression, dboAnd);
end;
end;
end;
procedure TAlbaranesProveedorController.FiltrarEmpresa(AAlbaran: IBizAlbaranProveedor);
var
Condicion: TDAWhereExpression;

View File

@ -1,5 +1,6 @@
inherited DataModuleAlbaranesProveedor: TDataModuleAlbaranesProveedor
OnCreate = DAClientDataModuleCreate
Height = 294
Width = 462
object RORemoteService: TRORemoteService
Message = dmConexion.ROMessage
@ -398,4 +399,26 @@ inherited DataModuleAlbaranesProveedor: TDataModuleAlbaranesProveedor
Left = 328
Top = 40
end
object tbl_ListaAnosAlbaranes: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ANO'
DataType = datString
Size = 255
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_AlbaranesProveedor
LogicalName = 'ListaAnosAlbaranes'
IndexDefs = <>
Left = 240
Top = 200
end
object ds_ListaAnosAlbaranes: TDADataSource
DataSet = tbl_ListaAnosAlbaranes.Dataset
DataTable = tbl_ListaAnosAlbaranes
Left = 240
Top = 152
end
end

View File

@ -20,6 +20,8 @@ type
ds_AlbaranesProveedor: TDADataSource;
tbl_AlbaranesProveedor_Detalles: TDAMemDataTable;
ds_AlbaranesProveedor_Detalles: TDADataSource;
tbl_ListaAnosAlbaranes: TDAMemDataTable;
ds_ListaAnosAlbaranes: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject);
private
@ -29,6 +31,7 @@ type
procedure AsignarClaseNegocio(var APedido: TDAMemDataTable); virtual;
public
function GetAnosItems : TStringList;
function GetItems : IBizAlbaranProveedor; virtual;
function GetItem(const ID : Integer) : IBizAlbaranProveedor;
function NewItem : IBizAlbaranProveedor;
@ -86,6 +89,30 @@ begin
end;
end;
function TDataModuleAlbaranesProveedor.GetAnosItems: TStringList;
var
AListaAnos: TStringList;
begin
AListaAnos := TStringList.Create;
ShowHourglassCursor;
try
with tbl_ListaAnosAlbaranes do
begin
Open;
First;
while not eof do
begin
AListaAnos.Add(Format('%s=%s', [Fields[0].AsString, Fields[0].AsString]));
Next;
end;
Close;
end;
Result := AListaAnos;
finally
HideHourglassCursor;
end;
end;
function TDataModuleAlbaranesProveedor.GetItem(const ID: Integer): IBizAlbaranProveedor;
var
Condicion: TDAWhereExpression;

View File

@ -3,11 +3,12 @@ unit uIDataModuleAlbaranesProveedor;
interface
uses
uBizAlbaranesProveedor;
Classes, uBizAlbaranesProveedor;
type
IDataModuleAlbaranesProveedor = interface
['{2BAD8B3B-B57D-475C-B528-F82B320B2332}']
function GetAnosItems : TStringList;
function GetItems: IBizAlbaranProveedor;
function GetItem(const ID : Integer) : IBizAlbaranProveedor;
function NewItem : IBizAlbaranProveedor;

View File

@ -9,13 +9,21 @@ 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_AlbaranesProveedor = '{8BE31A69-3F96-4428-A51C-774590E24FA1}';
RID_AlbaranesProveedor_Detalles = '{87E2A4FF-4130-4DA0-BCBC-EFED39A33D83}';
RID_ListaAnosAlbaranes = '{857403FF-F05F-49ED-90E6-ADCAAA5AB48D}';
RID_AlbaranesProveedor = '{E29E5C9B-5EC8-4005-8662-DB5944C8A0A1}';
RID_AlbaranesProveedor_Detalles = '{9A1F1517-1524-4C14-9620-B043565B76FC}';
{ Data table names }
nme_ListaAnosAlbaranes = 'ListaAnosAlbaranes';
nme_AlbaranesProveedor = 'AlbaranesProveedor';
nme_AlbaranesProveedor_Detalles = 'AlbaranesProveedor_Detalles';
{ ListaAnosAlbaranes fields }
fld_ListaAnosAlbaranesANO = 'ANO';
{ ListaAnosAlbaranes field indexes }
idx_ListaAnosAlbaranesANO = 0;
{ AlbaranesProveedor fields }
fld_AlbaranesProveedorID = 'ID';
fld_AlbaranesProveedorID_EMPRESA = 'ID_EMPRESA';
@ -133,9 +141,44 @@ const
idx_AlbaranesProveedor_DetallesID_PEDIDO = 14;
type
{ IListaAnosAlbaranes }
IListaAnosAlbaranes = interface(IDAStronglyTypedDataTable)
['{1928B838-B4EA-4496-827E-9D63EABBDAE7}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
function GetANOIsNull: Boolean;
procedure SetANOIsNull(const aValue: Boolean);
{ Properties }
property ANO: String read GetANOValue write SetANOValue;
property ANOIsNull: Boolean read GetANOIsNull write SetANOIsNull;
end;
{ TListaAnosAlbaranesDataTableRules }
TListaAnosAlbaranesDataTableRules = class(TIntfObjectDADataTableRules, IListaAnosAlbaranes)
private
protected
{ Property getters and setters }
function GetANOValue: String; virtual;
procedure SetANOValue(const aValue: String); virtual;
function GetANOIsNull: Boolean; virtual;
procedure SetANOIsNull(const aValue: Boolean); virtual;
{ Properties }
property ANO: String read GetANOValue write SetANOValue;
property ANOIsNull: Boolean read GetANOIsNull write SetANOIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
destructor Destroy; override;
end;
{ IAlbaranesProveedor }
IAlbaranesProveedor = interface(IDAStronglyTypedDataTable)
['{E272858C-E2C0-4D50-AD8C-16F07C262B1A}']
['{A2303506-30C8-4485-BFF0-ECE18AB355EC}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -626,7 +669,7 @@ type
{ IAlbaranesProveedor_Detalles }
IAlbaranesProveedor_Detalles = interface(IDAStronglyTypedDataTable)
['{80D018EE-3C58-4900-93BF-5571F03F2DD6}']
['{AB431777-BD0A-44A9-A7B4-87BE4C2FEC34}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -831,6 +874,39 @@ implementation
uses Variants, uROBinaryHelpers;
{ TListaAnosAlbaranesDataTableRules }
constructor TListaAnosAlbaranesDataTableRules.Create(aDataTable: TDADataTable);
begin
inherited;
end;
destructor TListaAnosAlbaranesDataTableRules.Destroy;
begin
inherited;
end;
function TListaAnosAlbaranesDataTableRules.GetANOValue: String;
begin
result := DataTable.Fields[idx_ListaAnosAlbaranesANO].AsString;
end;
procedure TListaAnosAlbaranesDataTableRules.SetANOValue(const aValue: String);
begin
DataTable.Fields[idx_ListaAnosAlbaranesANO].AsString := aValue;
end;
function TListaAnosAlbaranesDataTableRules.GetANOIsNull: boolean;
begin
result := DataTable.Fields[idx_ListaAnosAlbaranesANO].IsNull;
end;
procedure TListaAnosAlbaranesDataTableRules.SetANOIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_ListaAnosAlbaranesANO].AsVariant := Null;
end;
{ TAlbaranesProveedorDataTableRules }
constructor TAlbaranesProveedorDataTableRules.Create(aDataTable: TDADataTable);
var
@ -2002,6 +2078,7 @@ end;
initialization
RegisterDataTableRules(RID_ListaAnosAlbaranes, TListaAnosAlbaranesDataTableRules);
RegisterDataTableRules(RID_AlbaranesProveedor, TAlbaranesProveedorDataTableRules);
RegisterDataTableRules(RID_AlbaranesProveedor_Detalles, TAlbaranesProveedor_DetallesDataTableRules);

View File

@ -9,13 +9,48 @@ 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_AlbaranesProveedorDelta = '{77DA50AC-7040-4020-9694-EC017C25527D}';
RID_AlbaranesProveedor_DetallesDelta = '{EF2BF457-C37A-4FBE-8014-2F3A298125C8}';
RID_ListaAnosAlbaranesDelta = '{9953F25F-4C3F-4AB3-B6F7-F3B6BE9FC6B1}';
RID_AlbaranesProveedorDelta = '{E8BAFAD8-0AE9-4773-B7AB-707958D400E3}';
RID_AlbaranesProveedor_DetallesDelta = '{ABC18C65-391D-4535-9A05-F8D9D6517970}';
type
{ IListaAnosAlbaranesDelta }
IListaAnosAlbaranesDelta = interface(IListaAnosAlbaranes)
['{9953F25F-4C3F-4AB3-B6F7-F3B6BE9FC6B1}']
{ Property getters and setters }
function GetOldANOValue : String;
{ Properties }
property OldANO : String read GetOldANOValue;
end;
{ TListaAnosAlbaranesBusinessProcessorRules }
TListaAnosAlbaranesBusinessProcessorRules = class(TDABusinessProcessorRules, IListaAnosAlbaranes, IListaAnosAlbaranesDelta)
private
protected
{ Property getters and setters }
function GetANOValue: String; virtual;
function GetANOIsNull: Boolean; virtual;
function GetOldANOValue: String; virtual;
function GetOldANOIsNull: Boolean; virtual;
procedure SetANOValue(const aValue: String); virtual;
procedure SetANOIsNull(const aValue: Boolean); virtual;
{ Properties }
property ANO : String read GetANOValue write SetANOValue;
property ANOIsNull : Boolean read GetANOIsNull write SetANOIsNull;
property OldANO : String read GetOldANOValue;
property OldANOIsNull : Boolean read GetOldANOIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
destructor Destroy; override;
end;
{ IAlbaranesProveedorDelta }
IAlbaranesProveedorDelta = interface(IAlbaranesProveedor)
['{77DA50AC-7040-4020-9694-EC017C25527D}']
['{E8BAFAD8-0AE9-4773-B7AB-707958D400E3}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@ -507,7 +542,7 @@ type
{ IAlbaranesProveedor_DetallesDelta }
IAlbaranesProveedor_DetallesDelta = interface(IAlbaranesProveedor_Detalles)
['{EF2BF457-C37A-4FBE-8014-2F3A298125C8}']
['{ABC18C65-391D-4535-9A05-F8D9D6517970}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_ALBARANValue : Integer;
@ -712,6 +747,49 @@ implementation
uses
Variants, uROBinaryHelpers, uDAInterfaces;
{ TListaAnosAlbaranesBusinessProcessorRules }
constructor TListaAnosAlbaranesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
inherited;
end;
destructor TListaAnosAlbaranesBusinessProcessorRules.Destroy;
begin
inherited;
end;
function TListaAnosAlbaranesBusinessProcessorRules.GetANOValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosAlbaranesANO];
end;
function TListaAnosAlbaranesBusinessProcessorRules.GetANOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosAlbaranesANO]);
end;
function TListaAnosAlbaranesBusinessProcessorRules.GetOldANOValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosAlbaranesANO];
end;
function TListaAnosAlbaranesBusinessProcessorRules.GetOldANOIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosAlbaranesANO]);
end;
procedure TListaAnosAlbaranesBusinessProcessorRules.SetANOValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosAlbaranesANO] := aValue;
end;
procedure TListaAnosAlbaranesBusinessProcessorRules.SetANOIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosAlbaranesANO] := Null;
end;
{ TAlbaranesProveedorBusinessProcessorRules }
constructor TAlbaranesProveedorBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
var
@ -2425,6 +2503,7 @@ end;
initialization
RegisterBusinessProcessorRules(RID_ListaAnosAlbaranesDelta, TListaAnosAlbaranesBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_AlbaranesProveedorDelta, TAlbaranesProveedorBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_AlbaranesProveedor_DetallesDelta, TAlbaranesProveedor_DetallesBusinessProcessorRules);

View File

@ -12,6 +12,32 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
ConnectionManager = dmServer.ConnectionManager
DataDictionary = DADataDictionary
Datasets = <
item
Params = <>
Statements = <
item
ConnectionType = 'Interbase'
Default = True
Name = 'IBX'
SQL =
'select ANO from'#10'(select distinct(substr(FECHA_ALBARAN, 1,4)) as ' +
'ANO'#10'from albaranes_proveedor'#10'order by 1 desc)'#10#10'UNION ALL'#10#10'select' +
' distinct '#39'Todos'#39' as ANO'#10'from empresas'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ANO'
TableField = 'ANO'
end>
end>
Name = 'ListaAnosAlbaranes'
Fields = <
item
Name = 'ANO'
DataType = datString
Size = 255
end>
end
item
Params = <>
Statements = <

View File

@ -1,7 +1,7 @@
inherited fEditorAlbaranesProveedor: TfEditorAlbaranesProveedor
Caption = 'Lista de albaranes de proveedor'
ClientWidth = 606
ExplicitWidth = 614
ExplicitWidth = 622
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
@ -126,12 +126,24 @@ inherited fEditorAlbaranesProveedor: TfEditorAlbaranesProveedor
inherited tbxMain: TTBXToolbar
ExplicitWidth = 606
end
inherited tbxFiltro: TTBXToolbar
ExplicitWidth = 362
inherited lblAno: TTBXLabelItem
Visible = True
end
inherited cbxListaAnos: TTBXComboBoxItem
Visible = True
end
inherited sepAno: TTBXSeparatorItem
Visible = True
end
end
inherited tbxMenu: TTBXToolbar
ExplicitWidth = 606
end
inherited TBXTMain2: TTBXToolbar
Visible = True
ExplicitWidth = 117
Left = 362
ExplicitLeft = 362
object TBXItem39: TTBXItem
Action = actGenerarFactura
DisplayMode = nbdmImageAndText
@ -160,7 +172,9 @@ inherited fEditorAlbaranesProveedor: TfEditorAlbaranesProveedor
end
object actGenerarFactura: TAction
Caption = 'Generar factura'
Enabled = False
ImageIndex = 23
Visible = False
OnExecute = actGenerarFacturaExecute
OnUpdate = actGenerarFacturaUpdate
end

View File

@ -23,6 +23,7 @@ type
TBXItem39: TTBXItem;
JsListaAlbaranesNoEliminados: TJSDialog;
procedure FormShow(Sender: TObject);
procedure OnListaAnosChange(Sender: TObject; const Text: string);
procedure actGenerarFacturaExecute(Sender: TObject);
procedure actGenerarFacturaUpdate(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
@ -43,6 +44,7 @@ type
procedure DuplicarInterno; override;
procedure PrevisualizarInterno; override;
procedure ImprimirInterno; override;
procedure RefrescarInterno; override;
//Si queremos crear otra vista para el editor heredado solo tendriamos que
//sobreescribir este metodo
@ -79,11 +81,9 @@ end;
procedure TfEditorAlbaranesProveedor.actGenerarFacturaExecute(Sender: TObject);
begin
{
inherited;
// GenerarFacturaProv(Albaranes.ID);
actRefrescar.Execute;
}
// actRefrescar.Execute;
end;
procedure TfEditorAlbaranesProveedor.actGenerarFacturaUpdate(Sender: TObject);
@ -179,6 +179,8 @@ end;
procedure TfEditorAlbaranesProveedor.FormShow(Sender: TObject);
begin
cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED
inherited;
if not Assigned(ViewGrid) then
@ -275,6 +277,13 @@ begin
end;
end;
procedure TfEditorAlbaranesProveedor.OnListaAnosChange(Sender: TObject; const Text: string);
begin
Controller.FiltrarAno(Albaranes, DynWhereDataTable, Text);
if Albaranes.DataTable.Active then
RefrescarInterno;
end;
procedure TfEditorAlbaranesProveedor.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
@ -330,17 +339,37 @@ begin
}
end;
procedure TfEditorAlbaranesProveedor.RefrescarInterno;
begin
//Volvemos a cargar los años de las facturas
if Assigned(FController) then
ListaAnos := FController.DarListaAnosAlbaranes;
inherited;
end;
procedure TfEditorAlbaranesProveedor.SetController(const Value: IAlbaranesProveedorController);
begin
FController := Value;
if Assigned(FController) then
ListaAnos := FController.DarListaAnosAlbaranes;
end;
procedure TfEditorAlbaranesProveedor.SetAlbaranes(const Value: IBizAlbaranProveedor);
begin
FAlbaranes := Value;
dsDataTable.DataTable := FAlbaranes.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewAlbaranesProveedor).Albaranes := Albaranes;
if Assigned(FAlbaranes) then
begin
//Se guarda el where de la sentencia origen, por si el editor tiene filtros que
//afecten a este where y en un futuro se desea volver al where origen (filtro de año))
DynWhereDataTable := FAlbaranes.DataTable.DynamicWhere.Xml;
dsDataTable.DataTable := FAlbaranes.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewAlbaranesProveedor).Albaranes := Albaranes;
end;
end;
end.

View File

@ -24,7 +24,7 @@ type
function Nuevo : IBizArticulo;
procedure Anadir(AArticulo : IBizArticulo);
function Eliminar(const ID : Integer): Boolean; overload;
function Eliminar(AArticulo : IBizArticulo): Boolean; overload;
function Eliminar(AArticulo : IBizArticulo; AllItems: Boolean = false): Boolean; overload;
function Guardar(AArticulo : IBizArticulo): Boolean;
procedure DescartarCambios(AArticulo : IBizArticulo);
function Existe(const ID: Integer) : Boolean;
@ -32,6 +32,8 @@ type
procedure Preview(AArticulo : IBizArticulo);
procedure Print(AArticulo : IBizArticulo);
function EsEliminable(AArticulo : IBizArticulo): Boolean;
function EsModificable(AArticulo : IBizArticulo): Boolean;
procedure ElegirProveedor(AArticulo : IBizArticulo);
procedure AnadirProveedor(AArticulo : IBizArticulo);
procedure VerProveedor(AArticulo : IBizArticulo);
@ -71,7 +73,7 @@ type
destructor Destroy; override;
function Eliminar(const ID : Integer): Boolean; overload;
function Eliminar(AArticulo : IBizArticulo): Boolean; overload;
function Eliminar(AArticulo : IBizArticulo; AllItems: Boolean = false): Boolean; overload;
function Guardar(AArticulo : IBizArticulo): Boolean;
procedure DescartarCambios(AArticulo : IBizArticulo); virtual;
function Existe(const ID: Integer) : Boolean; virtual;
@ -95,6 +97,8 @@ type
function ElegirArticulos(AArticulos : IBizArticulo; AMensaje: String; AMultiSelect: Boolean): IBizArticulo; virtual;
procedure CalcularPrecioNeto(AArticulos: IBizArticulo);
function EsEliminable(AArticulo : IBizArticulo): Boolean;
function EsModificable(AArticulo : IBizArticulo): Boolean;
procedure ElegirProveedor(AArticulo : IBizArticulo);
procedure AnadirProveedor(AArticulo : IBizArticulo);
procedure VerProveedor(AArticulo : IBizArticulo);
@ -521,23 +525,59 @@ begin
AProveedor := Nil;
end;
function TArticulosController.Eliminar(AArticulo: IBizArticulo): Boolean;
function TArticulosController.Eliminar(AArticulo: IBizArticulo; AllItems: Boolean = false): Boolean;
//En el caso de eliminar almenos un elemento del conjunto se devuelve true
var
bEliminado: Boolean;
begin
Result := False;
bEliminado := False;
if not Assigned(AArticulo) then
raise Exception.Create ('Articulo no asignada');
raise Exception.Create ('AArticulo no asignado');
ShowHourglassCursor;
try
if not AArticulo.DataTable.Active then
AArticulo.DataTable.Active := True;
if (AArticulo.State in dsEditModes) then
AArticulo.Cancel;
AArticulo.Delete;
AArticulo.DataTable.ApplyUpdates;
HideHourglassCursor;
Result := True;
except
//Siempre eliminaremos el seleccionado
if EsEliminable(AArticulo) then
begin
AArticulo.Delete;
bEliminado := True;
end;
//En el caso de querer eliminar todos los items del objeto AContrato
if AllItems then
begin
with AArticulo.DataTable do
begin
First;
while not EOF do
begin
if EsEliminable(AArticulo) then
begin
AArticulo.Delete;
bEliminado := True
end
else Next;
end;
end;
end;
if bEliminado then
begin
AArticulo.DataTable.ApplyUpdates;
Result := True;
end
else
Result := False;
{ except
on E: Exception do
begin
AArticulo.DataTable.CancelUpdates;
@ -545,10 +585,15 @@ begin
if (Pos('FOREIGN KEY', E.Message) > 0) then
MessageBox(0, 'No se puede borrar este artículo porque tiene artículos', 'Atención', MB_ICONWARNING or MB_OK);
end;
end
}
finally
HideHourglassCursor;
end;
end;
procedure TArticulosController.RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable);
procedure TArticulosController.RecibirAviso(ASujeto: ISujeto;
ADataTable: IDAStronglyTypedDataTable);
begin
inherited;
//
@ -556,7 +601,24 @@ end;
procedure TArticulosController.RecuperarObjetos(AArticulo: IBizArticulo);
begin
//
//
end;
function TArticulosController.EsEliminable(AArticulo: IBizArticulo): Boolean;
begin
if not Assigned(AArticulo) then
raise Exception.Create ('AArticulo no asignado: EsEliminable');
Result := True;
end;
function TArticulosController.EsModificable(AArticulo: IBizArticulo): Boolean;
begin
if not Assigned(AArticulo) then
raise Exception.Create ('Articulo no asignado (EsModificable)');
Result := True;
end;
function TArticulosController.SalvarImagen(AArticulo: IBizArticulo): Boolean;

View File

@ -144,6 +144,11 @@ inherited DataModuleArticulos: TDataModuleArticulos
Name = 'ELIMINADO'
DataType = datSmallInt
DisplayLabel = 'Eliminado'
end
item
Name = 'NOTAS'
DataType = datString
Size = 255
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
@ -361,6 +366,11 @@ inherited DataModuleArticulos: TDataModuleArticulos
Name = 'ELIMINADO'
DataType = datSmallInt
DisplayLabel = 'Eliminado'
end
item
Name = 'NOTAS'
DataType = datString
Size = 255
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]

View File

@ -9,10 +9,10 @@ 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_ExisteImagen = '{6C2F7E0E-E90A-4B6C-8533-E31599B007B4}';
RID_Articulos = '{AA24A4FF-2391-46FE-8233-F324AF19B184}';
RID_ArticulosParaCliente = '{176B4C13-BE2D-4DF7-9A24-AF7793F1DE0F}';
RID_ArticulosParaCompra = '{08613735-CEA3-4201-9E60-E09CC051DF7E}';
RID_ExisteImagen = '{3AD233F0-E79E-4E31-882D-43BAE44A2158}';
RID_Articulos = '{2F0FDE8A-B8A4-46BF-BAF7-046B4AAA8A03}';
RID_ArticulosParaCliente = '{195AB374-2B0F-4747-8C7A-B01C0A0793E7}';
RID_ArticulosParaCompra = '{7D256ACD-F7D1-46AF-9451-E43EFEF4DAC2}';
{ Data table names }
nme_ExisteImagen = 'ExisteImagen';
@ -47,6 +47,7 @@ const
fld_ArticulosID_PROVEEDOR = 'ID_PROVEEDOR';
fld_ArticulosNOMBRE_PROVEEDOR = 'NOMBRE_PROVEEDOR';
fld_ArticulosELIMINADO = 'ELIMINADO';
fld_ArticulosNOTAS = 'NOTAS';
{ Articulos field indexes }
idx_ArticulosID = 0;
@ -69,6 +70,7 @@ const
idx_ArticulosID_PROVEEDOR = 17;
idx_ArticulosNOMBRE_PROVEEDOR = 18;
idx_ArticulosELIMINADO = 19;
idx_ArticulosNOTAS = 20;
{ ArticulosParaCliente fields }
fld_ArticulosParaClienteID = 'ID';
@ -135,6 +137,7 @@ const
fld_ArticulosParaCompraID_PROVEEDOR = 'ID_PROVEEDOR';
fld_ArticulosParaCompraNOMBRE_PROVEEDOR = 'NOMBRE_PROVEEDOR';
fld_ArticulosParaCompraELIMINADO = 'ELIMINADO';
fld_ArticulosParaCompraNOTAS = 'NOTAS';
{ ArticulosParaCompra field indexes }
idx_ArticulosParaCompraID = 0;
@ -157,11 +160,12 @@ const
idx_ArticulosParaCompraID_PROVEEDOR = 17;
idx_ArticulosParaCompraNOMBRE_PROVEEDOR = 18;
idx_ArticulosParaCompraELIMINADO = 19;
idx_ArticulosParaCompraNOTAS = 20;
type
{ IExisteImagen }
IExisteImagen = interface(IDAStronglyTypedDataTable)
['{874B7ED1-AAA1-44E0-B59D-EA38F57AB696}']
['{749AADD1-83B8-48EB-A064-49602BFF17AD}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -196,7 +200,7 @@ type
{ IArticulos }
IArticulos = interface(IDAStronglyTypedDataTable)
['{0225A8BE-488D-4E3E-9F29-F20D572DB3AC}']
['{C7114081-6A85-4579-A1BB-1BA1D5A37528}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -277,6 +281,10 @@ type
procedure SetELIMINADOValue(const aValue: SmallInt);
function GetELIMINADOIsNull: Boolean;
procedure SetELIMINADOIsNull(const aValue: Boolean);
function GetNOTASValue: String;
procedure SetNOTASValue(const aValue: String);
function GetNOTASIsNull: Boolean;
procedure SetNOTASIsNull(const aValue: Boolean);
{ Properties }
@ -320,6 +328,8 @@ type
property NOMBRE_PROVEEDORIsNull: Boolean read GetNOMBRE_PROVEEDORIsNull write SetNOMBRE_PROVEEDORIsNull;
property ELIMINADO: SmallInt read GetELIMINADOValue write SetELIMINADOValue;
property ELIMINADOIsNull: Boolean read GetELIMINADOIsNull write SetELIMINADOIsNull;
property NOTAS: String read GetNOTASValue write SetNOTASValue;
property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull;
end;
{ TArticulosDataTableRules }
@ -408,6 +418,10 @@ type
procedure SetELIMINADOValue(const aValue: SmallInt); virtual;
function GetELIMINADOIsNull: Boolean; virtual;
procedure SetELIMINADOIsNull(const aValue: Boolean); virtual;
function GetNOTASValue: String; virtual;
procedure SetNOTASValue(const aValue: String); virtual;
function GetNOTASIsNull: Boolean; virtual;
procedure SetNOTASIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
@ -450,6 +464,8 @@ type
property NOMBRE_PROVEEDORIsNull: Boolean read GetNOMBRE_PROVEEDORIsNull write SetNOMBRE_PROVEEDORIsNull;
property ELIMINADO: SmallInt read GetELIMINADOValue write SetELIMINADOValue;
property ELIMINADOIsNull: Boolean read GetELIMINADOIsNull write SetELIMINADOIsNull;
property NOTAS: String read GetNOTASValue write SetNOTASValue;
property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
@ -459,7 +475,7 @@ type
{ IArticulosParaCliente }
IArticulosParaCliente = interface(IDAStronglyTypedDataTable)
['{E71B995E-B1A3-46EB-B6C2-500411054A5C}']
['{3879CF1A-00FB-4CD5-A2B4-5AFA21731234}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -722,7 +738,7 @@ type
{ IArticulosParaCompra }
IArticulosParaCompra = interface(IDAStronglyTypedDataTable)
['{8029B31F-8C96-457B-B9A5-944E16A3BE2C}']
['{9E50D976-2A70-4B10-ABD0-82D86C23BD36}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -803,6 +819,10 @@ type
procedure SetELIMINADOValue(const aValue: SmallInt);
function GetELIMINADOIsNull: Boolean;
procedure SetELIMINADOIsNull(const aValue: Boolean);
function GetNOTASValue: String;
procedure SetNOTASValue(const aValue: String);
function GetNOTASIsNull: Boolean;
procedure SetNOTASIsNull(const aValue: Boolean);
{ Properties }
@ -846,6 +866,8 @@ type
property NOMBRE_PROVEEDORIsNull: Boolean read GetNOMBRE_PROVEEDORIsNull write SetNOMBRE_PROVEEDORIsNull;
property ELIMINADO: SmallInt read GetELIMINADOValue write SetELIMINADOValue;
property ELIMINADOIsNull: Boolean read GetELIMINADOIsNull write SetELIMINADOIsNull;
property NOTAS: String read GetNOTASValue write SetNOTASValue;
property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull;
end;
{ TArticulosParaCompraDataTableRules }
@ -934,6 +956,10 @@ type
procedure SetELIMINADOValue(const aValue: SmallInt); virtual;
function GetELIMINADOIsNull: Boolean; virtual;
procedure SetELIMINADOIsNull(const aValue: Boolean); virtual;
function GetNOTASValue: String; virtual;
procedure SetNOTASValue(const aValue: String); virtual;
function GetNOTASIsNull: Boolean; virtual;
procedure SetNOTASIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
@ -976,6 +1002,8 @@ type
property NOMBRE_PROVEEDORIsNull: Boolean read GetNOMBRE_PROVEEDORIsNull write SetNOMBRE_PROVEEDORIsNull;
property ELIMINADO: SmallInt read GetELIMINADOValue write SetELIMINADOValue;
property ELIMINADOIsNull: Boolean read GetELIMINADOIsNull write SetELIMINADOIsNull;
property NOTAS: String read GetNOTASValue write SetNOTASValue;
property NOTASIsNull: Boolean read GetNOTASIsNull write SetNOTASIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
@ -1462,6 +1490,27 @@ begin
DataTable.Fields[idx_ArticulosELIMINADO].AsVariant := Null;
end;
function TArticulosDataTableRules.GetNOTASValue: String;
begin
result := DataTable.Fields[idx_ArticulosNOTAS].AsString;
end;
procedure TArticulosDataTableRules.SetNOTASValue(const aValue: String);
begin
DataTable.Fields[idx_ArticulosNOTAS].AsString := aValue;
end;
function TArticulosDataTableRules.GetNOTASIsNull: boolean;
begin
result := DataTable.Fields[idx_ArticulosNOTAS].IsNull;
end;
procedure TArticulosDataTableRules.SetNOTASIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_ArticulosNOTAS].AsVariant := Null;
end;
{ TArticulosParaClienteDataTableRules }
constructor TArticulosParaClienteDataTableRules.Create(aDataTable: TDADataTable);
@ -2348,6 +2397,27 @@ begin
DataTable.Fields[idx_ArticulosParaCompraELIMINADO].AsVariant := Null;
end;
function TArticulosParaCompraDataTableRules.GetNOTASValue: String;
begin
result := DataTable.Fields[idx_ArticulosParaCompraNOTAS].AsString;
end;
procedure TArticulosParaCompraDataTableRules.SetNOTASValue(const aValue: String);
begin
DataTable.Fields[idx_ArticulosParaCompraNOTAS].AsString := aValue;
end;
function TArticulosParaCompraDataTableRules.GetNOTASIsNull: boolean;
begin
result := DataTable.Fields[idx_ArticulosParaCompraNOTAS].IsNull;
end;
procedure TArticulosParaCompraDataTableRules.SetNOTASIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_ArticulosParaCompraNOTAS].AsVariant := Null;
end;
initialization
RegisterDataTableRules(RID_ExisteImagen, TExisteImagenDataTableRules);

View File

@ -9,15 +9,15 @@ 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_ExisteImagenDelta = '{B5A896BC-5ED5-4B7B-9396-00A8DB188F84}';
RID_ArticulosDelta = '{1BECC0A2-1504-4295-854F-19BE88F4B763}';
RID_ArticulosParaClienteDelta = '{97D0F613-D68C-4EAE-A832-E936284A664D}';
RID_ArticulosParaCompraDelta = '{0500756A-6CF4-4EE5-8A82-C3409D6C69AC}';
RID_ExisteImagenDelta = '{394E1C02-44F5-4370-AB37-58AB68E6F75A}';
RID_ArticulosDelta = '{3D55AF84-A384-48E7-A570-7D4A14EE4B9D}';
RID_ArticulosParaClienteDelta = '{A6BBA92D-0313-47A2-9C8C-DC429B161D37}';
RID_ArticulosParaCompraDelta = '{1CB7CDD3-8EF0-44BA-976B-CF992ABF4D00}';
type
{ IExisteImagenDelta }
IExisteImagenDelta = interface(IExisteImagen)
['{B5A896BC-5ED5-4B7B-9396-00A8DB188F84}']
['{394E1C02-44F5-4370-AB37-58AB68E6F75A}']
{ Property getters and setters }
function GetOldIDValue : Integer;
@ -51,7 +51,7 @@ type
{ IArticulosDelta }
IArticulosDelta = interface(IArticulos)
['{1BECC0A2-1504-4295-854F-19BE88F4B763}']
['{3D55AF84-A384-48E7-A570-7D4A14EE4B9D}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@ -73,6 +73,7 @@ type
function GetOldID_PROVEEDORValue : Integer;
function GetOldNOMBRE_PROVEEDORValue : String;
function GetOldELIMINADOValue : SmallInt;
function GetOldNOTASValue : String;
{ Properties }
property OldID : Integer read GetOldIDValue;
@ -95,6 +96,7 @@ type
property OldID_PROVEEDOR : Integer read GetOldID_PROVEEDORValue;
property OldNOMBRE_PROVEEDOR : String read GetOldNOMBRE_PROVEEDORValue;
property OldELIMINADO : SmallInt read GetOldELIMINADOValue;
property OldNOTAS : String read GetOldNOTASValue;
end;
{ TArticulosBusinessProcessorRules }
@ -223,6 +225,12 @@ type
function GetOldELIMINADOIsNull: Boolean; virtual;
procedure SetELIMINADOValue(const aValue: SmallInt); virtual;
procedure SetELIMINADOIsNull(const aValue: Boolean); virtual;
function GetNOTASValue: String; virtual;
function GetNOTASIsNull: Boolean; virtual;
function GetOldNOTASValue: String; virtual;
function GetOldNOTASIsNull: Boolean; virtual;
procedure SetNOTASValue(const aValue: String); virtual;
procedure SetNOTASIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
@ -305,6 +313,10 @@ type
property ELIMINADOIsNull : Boolean read GetELIMINADOIsNull write SetELIMINADOIsNull;
property OldELIMINADO : SmallInt read GetOldELIMINADOValue;
property OldELIMINADOIsNull : Boolean read GetOldELIMINADOIsNull;
property NOTAS : String read GetNOTASValue write SetNOTASValue;
property NOTASIsNull : Boolean read GetNOTASIsNull write SetNOTASIsNull;
property OldNOTAS : String read GetOldNOTASValue;
property OldNOTASIsNull : Boolean read GetOldNOTASIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
@ -314,7 +326,7 @@ type
{ IArticulosParaClienteDelta }
IArticulosParaClienteDelta = interface(IArticulosParaCliente)
['{97D0F613-D68C-4EAE-A832-E936284A664D}']
['{A6BBA92D-0313-47A2-9C8C-DC429B161D37}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@ -577,7 +589,7 @@ type
{ IArticulosParaCompraDelta }
IArticulosParaCompraDelta = interface(IArticulosParaCompra)
['{0500756A-6CF4-4EE5-8A82-C3409D6C69AC}']
['{1CB7CDD3-8EF0-44BA-976B-CF992ABF4D00}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@ -599,6 +611,7 @@ type
function GetOldID_PROVEEDORValue : Integer;
function GetOldNOMBRE_PROVEEDORValue : String;
function GetOldELIMINADOValue : SmallInt;
function GetOldNOTASValue : String;
{ Properties }
property OldID : Integer read GetOldIDValue;
@ -621,6 +634,7 @@ type
property OldID_PROVEEDOR : Integer read GetOldID_PROVEEDORValue;
property OldNOMBRE_PROVEEDOR : String read GetOldNOMBRE_PROVEEDORValue;
property OldELIMINADO : SmallInt read GetOldELIMINADOValue;
property OldNOTAS : String read GetOldNOTASValue;
end;
{ TArticulosParaCompraBusinessProcessorRules }
@ -749,6 +763,12 @@ type
function GetOldELIMINADOIsNull: Boolean; virtual;
procedure SetELIMINADOValue(const aValue: SmallInt); virtual;
procedure SetELIMINADOIsNull(const aValue: Boolean); virtual;
function GetNOTASValue: String; virtual;
function GetNOTASIsNull: Boolean; virtual;
function GetOldNOTASValue: String; virtual;
function GetOldNOTASIsNull: Boolean; virtual;
procedure SetNOTASValue(const aValue: String); virtual;
procedure SetNOTASIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
@ -831,6 +851,10 @@ type
property ELIMINADOIsNull : Boolean read GetELIMINADOIsNull write SetELIMINADOIsNull;
property OldELIMINADO : SmallInt read GetOldELIMINADOValue;
property OldELIMINADOIsNull : Boolean read GetOldELIMINADOIsNull;
property NOTAS : String read GetNOTASValue write SetNOTASValue;
property NOTASIsNull : Boolean read GetNOTASIsNull write SetNOTASIsNull;
property OldNOTAS : String read GetOldNOTASValue;
property OldNOTASIsNull : Boolean read GetOldNOTASIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
@ -1529,6 +1553,37 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosELIMINADO] := Null;
end;
function TArticulosBusinessProcessorRules.GetNOTASValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosNOTAS];
end;
function TArticulosBusinessProcessorRules.GetNOTASIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosNOTAS]);
end;
function TArticulosBusinessProcessorRules.GetOldNOTASValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosNOTAS];
end;
function TArticulosBusinessProcessorRules.GetOldNOTASIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosNOTAS]);
end;
procedure TArticulosBusinessProcessorRules.SetNOTASValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosNOTAS] := aValue;
end;
procedure TArticulosBusinessProcessorRules.SetNOTASIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosNOTAS] := Null;
end;
{ TArticulosParaClienteBusinessProcessorRules }
constructor TArticulosParaClienteBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
@ -2817,6 +2872,37 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraELIMINADO] := Null;
end;
function TArticulosParaCompraBusinessProcessorRules.GetNOTASValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraNOTAS];
end;
function TArticulosParaCompraBusinessProcessorRules.GetNOTASIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraNOTAS]);
end;
function TArticulosParaCompraBusinessProcessorRules.GetOldNOTASValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraNOTAS];
end;
function TArticulosParaCompraBusinessProcessorRules.GetOldNOTASIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ArticulosParaCompraNOTAS]);
end;
procedure TArticulosParaCompraBusinessProcessorRules.SetNOTASValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraNOTAS] := aValue;
end;
procedure TArticulosParaCompraBusinessProcessorRules.SetNOTASIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_ArticulosParaCompraNOTAS] := Null;
end;
initialization
RegisterBusinessProcessorRules(RID_ExisteImagenDelta, TExisteImagenBusinessProcessorRules);

View File

@ -53,7 +53,7 @@ object PluginArticulos: TPluginArticulos
Left = 40
Top = 16
object N1: TMenuItem
Caption = 'Datos'
Caption = 'Log'#237'stica'
object Articulos1: TMenuItem
Tag = 1000
Action = actArticulos

View File

@ -234,6 +234,10 @@ object srvArticulos: TsrvArticulos
item
DatasetField = 'PRECIO_PVP'
TableField = 'PRECIO_PVP'
end
item
DatasetField = 'NOTAS'
TableField = 'NOTAS'
end>
end>
Name = 'Articulos'
@ -346,6 +350,11 @@ object srvArticulos: TsrvArticulos
Name = 'ELIMINADO'
DataType = datSmallInt
DisplayLabel = 'Eliminado'
end
item
Name = 'NOTAS'
DataType = datString
Size = 255
end>
end
item
@ -565,9 +574,9 @@ object srvArticulos: TsrvArticulos
'CUENTO,'#10' V_ARTICULOS.PRECIO_NETO,'#10' V_ARTICULOS.PRECI' +
'O_PVP,'#10' V_ARTICULOS.INVENTARIABLE,'#10' V_ARTICULOS.ID_P' +
'ROVEEDOR,'#10' V_ARTICULOS.NOMBRE_PROVEEDOR as NOMBRE_PROVEEDO' +
'R,'#10' V_ARTICULOS.ELIMINADO'#10'FROM V_ARTICULOS'#10'LEFT JOIN PROVE' +
'EDORES_DATOS'#10'ON (PROVEEDORES_DATOS.ID_PROVEEDOR = V_ARTICULOS.ID' +
'_PROVEEDOR)'#10'where {where}'#10
'R,'#10' V_ARTICULOS.ELIMINADO,'#10' V_ARTICULOS.NOTAS'#10'FROM V' +
'_ARTICULOS'#10'LEFT JOIN PROVEEDORES_DATOS'#10'ON (PROVEEDORES_DATOS.ID_' +
'PROVEEDOR = V_ARTICULOS.ID_PROVEEDOR)'#10'where {where}'#10
StatementType = stSQL
ColumnMappings = <
item
@ -649,6 +658,10 @@ object srvArticulos: TsrvArticulos
item
DatasetField = 'PRECIO_PVP'
TableField = 'PRECIO_PVP'
end
item
DatasetField = 'NOTAS'
TableField = 'NOTAS'
end>
end>
Name = 'ArticulosParaCompra'
@ -741,6 +754,11 @@ object srvArticulos: TsrvArticulos
Name = 'ELIMINADO'
DataType = datSmallInt
DisplayLabel = 'Eliminado'
end
item
Name = 'NOTAS'
DataType = datString
Size = 255
end>
end>
JoinDataTables = <>
@ -833,6 +851,12 @@ object srvArticulos: TsrvArticulos
Name = 'ELIMINADO'
DataType = datSmallInt
Value = ''
end
item
Name = 'NOTAS'
DataType = datString
Size = 255
Value = ''
end>
Statements = <
item
@ -842,12 +866,12 @@ object srvArticulos: TsrvArticulos
'INSERT'#10' INTO ARTICULOS'#10' (ID, ID_EMPRESA, REFERENCIA, DESCRIP' +
'CION, FAMILIA,'#10' COMISIONABLE, FECHA_ALTA, USUARIO,'#10' PREC' +
'IO_COSTE, PRECIO_PORTE, DESCUENTO, ID_PROVEEDOR, '#10' PRECIO_NE' +
'TO, PRECIO_PVP, REFERENCIA_PROV, INVENTARIABLE, ELIMINADO)'#10' VAL' +
'UES'#10' (:ID, :ID_EMPRESA, :REFERENCIA, :DESCRIPCION, :FAMILIA, ' +
#10' :COMISIONABLE, CURRENT_TIMESTAMP,'#10' :USUARIO, :PRECIO_C' +
'OSTE, :PRECIO_PORTE, :DESCUENTO, '#10' :ID_PROVEEDOR, :PRECIO_NE' +
'TO, :PRECIO_PVP, :REFERENCIA_PROV,'#10' :INVENTARIABLE, :ELIMINA' +
'DO)'#10
'TO, PRECIO_PVP, REFERENCIA_PROV, INVENTARIABLE, ELIMINADO, NOTAS' +
')'#10' VALUES'#10' (:ID, :ID_EMPRESA, :REFERENCIA, :DESCRIPCION, :FA' +
'MILIA, '#10' :COMISIONABLE, CURRENT_TIMESTAMP,'#10' :USUARIO, :P' +
'RECIO_COSTE, :PRECIO_PORTE, :DESCUENTO, '#10' :ID_PROVEEDOR, :PR' +
'ECIO_NETO, :PRECIO_PVP, :REFERENCIA_PROV,'#10' :INVENTARIABLE, :' +
'ELIMINADO, :NOTAS)'#10
StatementType = stSQL
ColumnMappings = <>
end>
@ -994,6 +1018,12 @@ object srvArticulos: TsrvArticulos
DataType = datSmallInt
Value = ''
end
item
Name = 'NOTAS'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'OLD_ID'
Value = ''
@ -1011,7 +1041,8 @@ object srvArticulos: TsrvArticulos
'DESCUENTO = :DESCUENTO, '#10' ID_PROVEEDOR = :ID_PROVEEDOR, '#10' ' +
'PRECIO_NETO = :PRECIO_NETO,'#10' PRECIO_PVP = :PRECIO_PVP,'#10' IN' +
'VENTARIABLE = :INVENTARIABLE,'#10' REFERENCIA_PROV = :REFERENCIA_' +
'PROV,'#10' ELIMINADO = :ELIMINADO'#10' WHERE'#10' (ID = :OLD_ID)'#10
'PROV,'#10' ELIMINADO = :ELIMINADO,'#10' NOTAS = :NOTAS'#10' WHERE'#10' ' +
' (ID = :OLD_ID)'#10
StatementType = stSQL
ColumnMappings = <>
end>

View File

@ -4,20 +4,20 @@ inherited fEditorArticulo: TfEditorArticulo
HorzScrollBar.Visible = False
VertScrollBar.Visible = False
Caption = 'Ficha de art'#237'culo'
ClientHeight = 480
ClientWidth = 624
ClientHeight = 646
ClientWidth = 972
Scaled = False
OnClose = CustomEditorClose
ExplicitWidth = 632
ExplicitHeight = 514
ExplicitWidth = 988
ExplicitHeight = 684
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
Width = 624
Width = 972
Caption = 'Art'#237'culo'
ExplicitWidth = 624
ExplicitWidth = 972
inherited Image1: TImage
Left = 597
Left = 945
Picture.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
00001C0806000000720DDF940000000970485973000017120000171201679FD2
@ -34,12 +34,18 @@ inherited fEditorArticulo: TfEditorArticulo
4495BD38333E3DC0F0B71000FEC966E74A55381F0000000049454E44AE426082}
ExplicitLeft = 607
end
inherited lblDesbloquear: TcxLabel
Left = 847
ExplicitLeft = 847
AnchorX = 892
AnchorY = 14
end
end
inherited TBXDock: TTBXDock
Width = 624
ExplicitWidth = 624
Width = 972
ExplicitWidth = 972
inherited tbxMain: TTBXToolbar
ExplicitWidth = 400
ExplicitWidth = 423
inherited TBXItem2: TTBXItem
Visible = False
end
@ -61,7 +67,7 @@ inherited fEditorArticulo: TfEditorArticulo
end
inherited tbxMenu: TTBXToolbar
DockPos = 0
ExplicitWidth = 624
ExplicitWidth = 972
inherited TBXSubmenuItem4: TTBXSubmenuItem
inherited TBXItem8: TTBXItem
Visible = False
@ -96,32 +102,34 @@ inherited fEditorArticulo: TfEditorArticulo
end
end
inherited StatusBar: TJvStatusBar
Top = 461
Width = 624
Top = 627
Width = 972
Panels = <
item
Width = 200
end>
ExplicitTop = 461
ExplicitWidth = 624
ExplicitTop = 627
ExplicitWidth = 972
end
inherited pgPaginas: TPageControl
Width = 618
Height = 349
ExplicitWidth = 618
ExplicitHeight = 349
Width = 966
Height = 513
ExplicitTop = 111
ExplicitWidth = 966
ExplicitHeight = 513
inherited pagGeneral: TTabSheet
ExplicitLeft = 4
ExplicitTop = 24
ExplicitWidth = 610
ExplicitHeight = 321
ExplicitWidth = 958
ExplicitHeight = 485
end
end
inherited PnlComentario: TPanel
Width = 624
ExplicitWidth = 624
Width = 972
ExplicitTop = 78
ExplicitWidth = 972
inherited lbComentario: TLabel
Width = 614
Width = 962
Height = 25
end
end

View File

@ -13,7 +13,8 @@ uses
JvAppStorage, JvAppRegistryStorage, JvFormPlacement, JvComponentBase,
uViewArticulos, uIEditorArticulo, uArticulosController, JvExComCtrls,
JvStatusBar, dxLayoutLookAndFeels, uDAInterfaces;
JvStatusBar, dxLayoutLookAndFeels, uDAInterfaces, cxControls, cxContainer,
cxEdit, cxLabel;
type
TfEditorArticulo = class(TfEditorDBItem, IEditorArticulo)

View File

@ -26,7 +26,7 @@ inherited fEditorArticulos: TfEditorArticulos
end
inherited TBXDock: TTBXDock
inherited tbxFiltro: TTBXToolbar
ExplicitWidth = 319
ExplicitWidth = 320
inherited tbxEditFiltro: TTBXEditItem
EditOptions = [tboUseEditWhenVertical]
end
@ -39,9 +39,9 @@ inherited fEditorArticulos: TfEditorArticulos
end
end
inherited TBXTMain2: TTBXToolbar
Left = 319
Left = 320
DockPos = 275
ExplicitLeft = 319
ExplicitLeft = 320
end
end
inherited EditorActionList: TActionList
@ -1422,4 +1422,306 @@ inherited fEditorArticulos: TfEditorArticulos
end>
Bitmap = {}
end
object JsListaArticulosNoEliminados: 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 =
'Los siguientes pedidos no han podido ser eliminados, porque tien' +
'en albaranes asociados'
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
ButtonBar.Buttons = [cbOK]
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 = 184
Top = 112
end
end

View File

@ -12,13 +12,15 @@ uses
JvAppRegistryStorage, JvFormPlacement, ExtCtrls, uCustomView, uViewBase,
uViewBarraSeleccion, pngimage, uIEditorArticulos, uEditorGridBase,
JvComponentBase, uViewGridBase, uArticulosController, JvExComCtrls,
JvStatusBar, uDAInterfaces;
JvStatusBar, uDAInterfaces, JSDialog;
type
TfEditorArticulos = class(TfEditorGridBase, IEditorArticulos)
actFamilias: TAction;
JsListaArticulosNoEliminados: TJSDialog;
procedure FormShow(Sender: TObject);
procedure actFamiliasExecute(Sender: TObject);
procedure actModificarUpdate(Sender: TObject);
private
FArticulos: IBizArticulo;
FController : IArticulosController;
@ -52,7 +54,7 @@ implementation
uses
uCustomEditor, uDataModuleArticulos, uDataModuleUsuarios, uFactuGES_App,
uEditorArticulo, uEditorDBBase, uBizFamilias, uFamiliasController,
cxGrid, cxGridCustomTableView; //, uListaArticulos;
cxGrid, uGridUtils, uDBSelectionListUtils, cxGridCustomTableView; //, uListaArticulos;
{$R *.dfm}
@ -152,15 +154,52 @@ begin
end;
procedure TfEditorArticulos.EliminarInterno;
var
AArticulos: IBizArticulo;
AllItems: Boolean;
begin
if (Application.MessageBox('¿Desea borrar este artículo?, si hay unidades de este articulo en el almacén serán borradas.', 'Atención', MB_YESNO) = IDYES) then
AArticulos := Nil;
AllItems := False;
if MultiSelect and Assigned(ViewGrid) then
AllItems := (ViewGrid.NumSeleccionados > 1);
if AllItems then
begin
inherited;
//Para que en el caso de no poderse realizar la operación se refresquen
//los datos y no nos permita eliminar un registro a la segunda
if not FController.Eliminar(Articulos) then
actRefrescar.Execute;
if (Application.MessageBox('¿Desea borrar los artículos seleccionados?, , si hay unidades de estos articulos en el almacén serán borradas.', 'Atención', MB_YESNO) = IDYES) then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Articulos as ISeleccionable).SelectedRecords);
AArticulos := (Controller as IArticulosController).ExtraerSeleccionados(Articulos) as IBizArticulo;
end
end
else begin
if (Application.MessageBox('¿Desea borrar este artículo?, si hay unidades de este articulo en el almacén serán borradas.', 'Atención', MB_YESNO) = IDYES) then
AArticulos := Articulos;
end;
if Assigned(AArticulos) then
begin
FController.Eliminar(AArticulos, AllItems);
if AllItems then
begin
if (AArticulos.DataTable.RecordCount > 0) then
begin
with AArticulos.DataTable do
begin
First;
while not EOF do
begin
JsListaArticulosNoEliminados.Content.Add('Ref. articulo: ' + AArticulos.REFERENCIA + ' ' + AArticulos.DESCRIPCION);
Next;
end;
end;
JsListaArticulosNoEliminados.Execute;
end;
actRefrescar.Execute;
end;
end;
ViewGrid.GotoFirst;
end;
procedure TfEditorArticulos.actFamiliasExecute(Sender: TObject);
@ -178,6 +217,14 @@ begin
end;
end;
procedure TfEditorArticulos.actModificarUpdate(Sender: TObject);
begin
inherited;
if (ViewGrid.NumSeleccionados <> 1)
or (not Controller.EsModificable(FArticulos)) then
(Sender as TAction).Enabled := False;
end;
procedure TfEditorArticulos.AsignarVista;
begin
ViewGrid := CreateView(TfrViewArticulos) as IViewArticulos;

View File

@ -1,6 +1,6 @@
inherited frViewArticulo: TfrViewArticulo
Width = 814
Height = 450
Width = 1412
Height = 634
Align = alClient
OnCreate = CustomViewCreate
OnDestroy = CustomViewDestroy
@ -10,19 +10,20 @@ inherited frViewArticulo: TfrViewArticulo
object dxLayoutControlArticulo: TdxLayoutControl
Left = 0
Top = 0
Width = 814
Height = 393
Align = alTop
Width = 1412
Height = 634
Align = alClient
ParentBackground = True
TabOrder = 0
TabStop = False
AutoContentSizes = [acsWidth]
AutoContentSizes = [acsWidth, acsHeight]
ExplicitWidth = 451
ExplicitHeight = 304
DesignSize = (
814
393)
1412
634)
object PngSpeedButton2: TPngSpeedButton
Left = 752
Left = 1321
Top = 28
Width = 23
Height = 22
@ -49,8 +50,8 @@ inherited frViewArticulo: TfrViewArticulo
PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
end
object PngSpeedButton1: TPngSpeedButton
Left = 752
Top = 56
Left = 1350
Top = 28
Width = 23
Height = 22
Action = actEliminar
@ -98,8 +99,8 @@ inherited frViewArticulo: TfrViewArticulo
Width = 108
end
object eNoComisionable: TcxDBCheckBox
Left = 103
Top = 136
Left = 424
Top = 109
Caption = 'Art'#237'culo no comisionable'
DataBinding.DataField = 'COMISIONABLE'
DataBinding.DataSource = dsViewArticulo
@ -122,8 +123,10 @@ inherited frViewArticulo: TfrViewArticulo
Width = 144
end
object eImagen: TcxImage
Left = 477
Top = 28
Left = 708
Top = 56
Align = alClient
AutoSize = True
Properties.GraphicClassName = 'TJPEGImage'
Properties.PopupMenuLayout.MenuItems = []
Properties.Stretch = True
@ -138,9 +141,9 @@ inherited frViewArticulo: TfrViewArticulo
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 5
Height = 100
Width = 140
TabOrder = 13
Height = 553
Width = 500
end
object cbFamilia: TcxDBComboBox
Left = 103
@ -168,21 +171,29 @@ inherited frViewArticulo: TfrViewArticulo
Width = 70
end
inline frViewDatosYSeleccionProveedor1: TfrViewDatosYSeleccionProveedor
Left = 425
Left = 22
Top = 193
Width = 350
Height = 202
Width = 656
Height = 277
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 12
TabOrder = 6
ReadOnly = False
ExplicitLeft = 425
ExplicitLeft = 22
ExplicitTop = 193
ExplicitWidth = 656
ExplicitHeight = 277
inherited dxLayoutControl1: TdxLayoutControl
Width = 656
Height = 277
Align = alClient
ExplicitWidth = 656
ExplicitHeight = 277
inherited edtNIFCIF: TcxDBTextEdit
ExplicitWidth = 562
Width = 562
@ -199,11 +210,31 @@ inherited frViewArticulo: TfrViewArticulo
ExplicitWidth = 327
Width = 327
end
inherited edtCodigoPostal: TcxDBTextEdit
Left = 564
ExplicitLeft = 564
end
inherited Button1: TBitBtn
Width = 140
ExplicitWidth = 140
end
inherited Button2: TBitBtn
Left = 156
Width = 160
ExplicitLeft = 156
ExplicitWidth = 160
end
inherited Button3: TBitBtn
Left = 436
Width = 210
ExplicitLeft = 436
ExplicitWidth = 210
end
end
end
object eReferenciaProv: TcxDBTextEdit
Left = 103
Top = 193
Top = 506
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'REFERENCIA_PROV'
DataBinding.DataSource = dsViewArticulo
@ -215,12 +246,12 @@ inherited frViewArticulo: TfrViewArticulo
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 6
TabOrder = 7
Width = 86
end
object ePrecioCoste: TcxDBCurrencyEdit
Left = 103
Top = 220
Top = 533
DataBinding.DataField = 'PRECIO_COSTE'
DataBinding.DataSource = dsViewArticulo
Properties.Alignment.Horz = taRightJustify
@ -235,12 +266,12 @@ inherited frViewArticulo: TfrViewArticulo
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 7
TabOrder = 8
Width = 86
end
object eDescuento: TcxDBSpinEdit
Left = 103
Top = 247
Top = 560
DataBinding.DataField = 'DESCUENTO'
DataBinding.DataSource = dsViewArticulo
Properties.Alignment.Horz = taRightJustify
@ -258,12 +289,12 @@ inherited frViewArticulo: TfrViewArticulo
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 8
TabOrder = 9
Width = 86
end
object ePrecioNeto: TcxDBCurrencyEdit
Left = 103
Top = 274
Top = 587
DataBinding.DataField = 'PRECIO_NETO'
DataBinding.DataSource = dsViewArticulo
Enabled = False
@ -283,12 +314,12 @@ inherited frViewArticulo: TfrViewArticulo
StyleFocused.TextColor = clWindowText
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 9
TabOrder = 10
Width = 86
end
object ePrecioPorte: TcxDBCurrencyEdit
Left = 103
Top = 301
Top = 614
DataBinding.DataField = 'PRECIO_PORTE'
DataBinding.DataSource = dsViewArticulo
Properties.Alignment.Horz = taRightJustify
@ -303,7 +334,7 @@ inherited frViewArticulo: TfrViewArticulo
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 10
TabOrder = 11
Width = 86
end
object cbNoInventariable: TcxDBCheckBox
@ -332,7 +363,7 @@ inherited frViewArticulo: TfrViewArticulo
end
object ePrecioPVP: TcxDBCurrencyEdit
Left = 103
Top = 328
Top = 641
DataBinding.DataField = 'PRECIO_PVP'
DataBinding.DataSource = dsViewArticulo
Properties.Alignment.Horz = taRightJustify
@ -347,17 +378,38 @@ inherited frViewArticulo: TfrViewArticulo
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 11
TabOrder = 12
Width = 400
end
object eNotas: TcxDBTextEdit
Left = 103
Top = 136
DataBinding.DataField = 'NOTAS'
DataBinding.DataSource = dsViewArticulo
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.Color = 14745599
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 5
Width = 575
end
object dxLayoutControlArticuloGroup_Root: TdxLayoutGroup
ShowCaption = False
Hidden = True
LayoutDirection = ldHorizontal
ShowBorder = False
object dxLayoutControlArticuloGroup7: TdxLayoutGroup
object dxLayoutGrupoIzquierda: TdxLayoutGroup
AutoAligns = []
Caption = 'izquierda'
ShowCaption = False
Hidden = True
LayoutDirection = ldHorizontal
ShowBorder = False
object dxLayoutControlArticuloGroup1: TdxLayoutGroup
AutoAligns = []
@ -393,61 +445,46 @@ inherited frViewArticulo: TfrViewArticulo
Control = cbFamilia
ControlOptions.ShowBorder = False
end
object dxLayoutControlArticuloItem7: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahClient
Caption = ' '
Control = cbNoInventariable
ControlOptions.ShowBorder = False
object dxLayoutControlArticuloGroup2: TdxLayoutGroup
ShowCaption = False
Hidden = True
LayoutDirection = ldHorizontal
ShowBorder = False
object dxLayoutControlArticuloItem7: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahClient
Caption = ' '
Control = cbNoInventariable
ControlOptions.ShowBorder = False
end
object dxLayoutControlArticuloItem1: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahClient
Caption = ' '
Visible = False
Control = eNoComisionable
ControlOptions.ShowBorder = False
end
end
object dxLayoutControlArticuloItem1: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahClient
Caption = ' '
Visible = False
Control = eNoComisionable
object dxLayoutControlArticuloItem10: TdxLayoutItem
Caption = 'Notas:'
Control = eNotas
ControlOptions.ShowBorder = False
end
end
end
end
object dxLayoutControlArticuloGroup2: TdxLayoutGroup
object dxLayoutControlArticuloGroup12: TdxLayoutGroup
AutoAligns = []
AlignHorz = ahClient
AlignVert = avClient
Caption = 'Imagen'
LayoutDirection = ldHorizontal
object dxLayoutControlArticuloItem6: TdxLayoutItem
AutoAligns = []
AlignHorz = ahClient
AlignVert = avClient
Control = eImagen
Caption = 'Proveedor para el art'#237'culo'
object dxLayoutControlArticuloItem14: TdxLayoutItem
Control = frViewDatosYSeleccionProveedor1
ControlOptions.AutoColor = True
ControlOptions.ShowBorder = False
end
object dxLayoutControlArticuloGroup5: TdxLayoutGroup
AutoAligns = [aaVertical]
AlignHorz = ahRight
ShowCaption = False
Hidden = True
ShowBorder = False
object dxLayoutControlArticuloItem2: TdxLayoutItem
ShowCaption = False
Control = PngSpeedButton2
ControlOptions.ShowBorder = False
end
object dxLayoutControlArticuloItem5: TdxLayoutItem
ShowCaption = False
Control = PngSpeedButton1
ControlOptions.ShowBorder = False
end
end
end
end
object dxLayoutControlArticuloGroup3: TdxLayoutGroup
Caption = 'New Group'
ShowCaption = False
LayoutDirection = ldHorizontal
ShowBorder = False
object dxLayoutControlArticuloGroup11: TdxLayoutGroup
AutoAligns = [aaVertical]
AlignHorz = ahClient
@ -485,15 +522,38 @@ inherited frViewArticulo: TfrViewArticulo
ControlOptions.ShowBorder = False
end
end
object dxLayoutControlArticuloGroup12: TdxLayoutGroup
end
object dxLayoutGrupoDerecha: TdxLayoutGroup
AutoAligns = []
AlignHorz = ahClient
AlignVert = avClient
Caption = 'Imagen'
object dxLayoutControlArticuloGroup5: TdxLayoutGroup
AutoAligns = [aaVertical]
AlignHorz = ahRight
Caption = 'Proveedor para el art'#237'culo'
object dxLayoutControlArticuloItem14: TdxLayoutItem
Control = frViewDatosYSeleccionProveedor1
ControlOptions.AutoColor = True
ShowCaption = False
Hidden = True
LayoutDirection = ldHorizontal
ShowBorder = False
object dxLayoutControlArticuloItem2: TdxLayoutItem
AutoAligns = [aaHorizontal]
ShowCaption = False
Control = PngSpeedButton2
ControlOptions.ShowBorder = False
end
object dxLayoutControlArticuloItem5: TdxLayoutItem
AutoAligns = [aaHorizontal]
ShowCaption = False
Control = PngSpeedButton1
ControlOptions.ShowBorder = False
end
end
object dxLayoutControlArticuloItem6: TdxLayoutItem
AutoAligns = []
AlignHorz = ahClient
AlignVert = avClient
Control = eImagen
ControlOptions.ShowBorder = False
end
end
end

View File

@ -33,7 +33,7 @@ type
eReferencia: TcxDBTextEdit;
dxLayoutControlArticuloItem8: TdxLayoutItem;
eDescripcion: TcxDBTextEdit;
dxLayoutControlArticuloGroup2: TdxLayoutGroup;
dxLayoutGrupoDerecha: TdxLayoutGroup;
dxLayoutControlArticuloItem1: TdxLayoutItem;
eNoComisionable: TcxDBCheckBox;
dxLayoutControlArticuloGroup4: TdxLayoutGroup;
@ -46,8 +46,6 @@ type
PngSpeedButton2: TPngSpeedButton;
dxLayoutControlArticuloItem5: TdxLayoutItem;
PngSpeedButton1: TPngSpeedButton;
dxLayoutControlArticuloGroup3: TdxLayoutGroup;
dxLayoutControlArticuloGroup7: TdxLayoutGroup;
eImagen: TcxImage;
dxLayoutControlArticuloItem6: TdxLayoutItem;
dxLayoutControlArticuloGroup5: TdxLayoutGroup;
@ -72,6 +70,10 @@ type
cbNoInventariable: TcxDBCheckBox;
dxLayoutControlArticuloItem9: TdxLayoutItem;
ePrecioPVP: TcxDBCurrencyEdit;
dxLayoutGrupoIzquierda: TdxLayoutGroup;
dxLayoutControlArticuloItem10: TdxLayoutItem;
eNotas: TcxDBTextEdit;
dxLayoutControlArticuloGroup2: TdxLayoutGroup;
procedure actEliminarExecute(Sender: TObject);
procedure actAnadirExecute(Sender: TObject);
procedure cbFamiliaPropertiesInitPopup(Sender: TObject);

View File

@ -16,6 +16,7 @@ inherited frViewArticulos: TfrViewArticulos
end>
OptionsBehavior.PullFocusing = True
OptionsCustomize.ColumnHidingOnGrouping = False
OptionsSelection.MultiSelect = True
OptionsView.GroupFooters = gfAlwaysVisible
object cxGridViewINVENTARIABLE: TcxGridDBColumn
Caption = #191'Inventariable?'
@ -160,18 +161,32 @@ inherited frViewArticulos: TfrViewArticulos
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 250
Width = 250
end
inherited edtFechaIniFiltro: TcxDateEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 250
Width = 250
end
inherited edtFechaFinFiltro: TcxDateEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 250
Width = 250
end
inherited txtFiltroTodo2: TcxTextEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 250
Width = 250
end
end
end

View File

@ -1042,7 +1042,7 @@ begin
AFactura.Cancel;
//Siempre modificaremos el seleccionado tanto si es una lista de facturas a eliminar como si es la propia lista del editor.
if AFactura.VERIFACTU = 0 then
if AFactura.VERIFACTU <> 1 then
begin
if not AFactura.DataTable.Editing then
AFactura.DataTable.Edit;

View File

@ -334,6 +334,10 @@ inherited DataModuleFacturasCliente: TDataModuleFacturasCliente
item
Name = 'VERIFACTU'
DataType = datSmallInt
end
item
Name = 'VERIFACTU_NOTES'
DataType = datMemo
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]

View File

@ -9,9 +9,9 @@ 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_ListaAnosFacturas = '{B69B55BD-5E55-4B54-A51B-42A78E3A7CE9}';
RID_FacturasCliente = '{138DC6B2-AE65-442B-A817-DAF8B232F651}';
RID_FacturasCliente_Detalles = '{D46B6B5D-729B-483E-BE25-99E1C9A4479B}';
RID_ListaAnosFacturas = '{71FE2674-173D-4709-B902-4C7DFDF34522}';
RID_FacturasCliente = '{B6C04111-8712-48BF-983D-3DA435302F3B}';
RID_FacturasCliente_Detalles = '{05038E0E-9ECA-47C3-95A8-9E6BD9762D18}';
{ Data table names }
nme_ListaAnosFacturas = 'ListaAnosFacturas';
@ -78,6 +78,7 @@ const
fld_FacturasClienteTIPO_FACTURA = 'TIPO_FACTURA';
fld_FacturasClienteLISTA_NOMBRES = 'LISTA_NOMBRES';
fld_FacturasClienteVERIFACTU = 'VERIFACTU';
fld_FacturasClienteVERIFACTU_NOTES = 'VERIFACTU_NOTES';
{ FacturasCliente field indexes }
idx_FacturasClienteID = 0;
@ -133,6 +134,7 @@ const
idx_FacturasClienteTIPO_FACTURA = 50;
idx_FacturasClienteLISTA_NOMBRES = 51;
idx_FacturasClienteVERIFACTU = 52;
idx_FacturasClienteVERIFACTU_NOTES = 53;
{ FacturasCliente_Detalles fields }
fld_FacturasCliente_DetallesID = 'ID';
@ -169,7 +171,7 @@ const
type
{ IListaAnosFacturas }
IListaAnosFacturas = interface(IDAStronglyTypedDataTable)
['{0A78F7B9-733E-4E29-A0AD-C80889316AF8}']
['{3C4BE188-2809-4428-8CCB-6EAAEABFDDB1}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
@ -204,7 +206,7 @@ type
{ IFacturasCliente }
IFacturasCliente = interface(IDAStronglyTypedDataTable)
['{6D58B4D9-9AA3-4552-99A9-27A1BB728D85}']
['{0554ED96-C35C-4516-8681-82A0B77D9339}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -417,6 +419,9 @@ type
procedure SetVERIFACTUValue(const aValue: SmallInt);
function GetVERIFACTUIsNull: Boolean;
procedure SetVERIFACTUIsNull(const aValue: Boolean);
function GetVERIFACTU_NOTESValue: IROStrings;
function GetVERIFACTU_NOTESIsNull: Boolean;
procedure SetVERIFACTU_NOTESIsNull(const aValue: Boolean);
{ Properties }
@ -526,13 +531,17 @@ type
property LISTA_NOMBRESIsNull: Boolean read GetLISTA_NOMBRESIsNull write SetLISTA_NOMBRESIsNull;
property VERIFACTU: SmallInt read GetVERIFACTUValue write SetVERIFACTUValue;
property VERIFACTUIsNull: Boolean read GetVERIFACTUIsNull write SetVERIFACTUIsNull;
property VERIFACTU_NOTES: IROStrings read GetVERIFACTU_NOTESValue;
property VERIFACTU_NOTESIsNull: Boolean read GetVERIFACTU_NOTESIsNull write SetVERIFACTU_NOTESIsNull;
end;
{ TFacturasClienteDataTableRules }
TFacturasClienteDataTableRules = class(TIntfObjectDADataTableRules, IFacturasCliente)
private
f_OBSERVACIONES: IROStrings;
f_VERIFACTU_NOTES: IROStrings;
procedure OBSERVACIONES_OnChange(Sender: TObject);
procedure VERIFACTU_NOTES_OnChange(Sender: TObject);
protected
{ Property getters and setters }
function GetIDValue: Integer; virtual;
@ -746,6 +755,9 @@ type
procedure SetVERIFACTUValue(const aValue: SmallInt); virtual;
function GetVERIFACTUIsNull: Boolean; virtual;
procedure SetVERIFACTUIsNull(const aValue: Boolean); virtual;
function GetVERIFACTU_NOTESValue: IROStrings; virtual;
function GetVERIFACTU_NOTESIsNull: Boolean; virtual;
procedure SetVERIFACTU_NOTESIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
@ -854,6 +866,8 @@ type
property LISTA_NOMBRESIsNull: Boolean read GetLISTA_NOMBRESIsNull write SetLISTA_NOMBRESIsNull;
property VERIFACTU: SmallInt read GetVERIFACTUValue write SetVERIFACTUValue;
property VERIFACTUIsNull: Boolean read GetVERIFACTUIsNull write SetVERIFACTUIsNull;
property VERIFACTU_NOTES: IROStrings read GetVERIFACTU_NOTESValue;
property VERIFACTU_NOTESIsNull: Boolean read GetVERIFACTU_NOTESIsNull write SetVERIFACTU_NOTESIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
@ -863,7 +877,7 @@ type
{ IFacturasCliente_Detalles }
IFacturasCliente_Detalles = interface(IDAStronglyTypedDataTable)
['{C9F165D5-5856-41F6-A5BF-9139520624DC}']
['{2F96F605-C1B7-4D77-8688-9EEAF8BB15D0}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -1099,6 +1113,10 @@ begin
StrList := TStringList.Create;
StrList.OnChange := OBSERVACIONES_OnChange;
f_OBSERVACIONES := NewROStrings(StrList,True);
StrList := TStringList.Create;
StrList.OnChange := VERIFACTU_NOTES_OnChange;
f_VERIFACTU_NOTES := NewROStrings(StrList,True);
end;
destructor TFacturasClienteDataTableRules.Destroy;
@ -1111,6 +1129,11 @@ begin
if DataTable.Editing then DataTable.Fields[idx_FacturasClienteOBSERVACIONES].AsVariant := TStringList(Sender).Text;
end;
procedure TFacturasClienteDataTableRules.VERIFACTU_NOTES_OnChange(Sender: TObject);
begin
if DataTable.Editing then DataTable.Fields[idx_FacturasClienteVERIFACTU_NOTES].AsVariant := TStringList(Sender).Text;
end;
function TFacturasClienteDataTableRules.GetIDValue: Integer;
begin
result := DataTable.Fields[idx_FacturasClienteID].AsInteger;
@ -2220,6 +2243,23 @@ begin
DataTable.Fields[idx_FacturasClienteVERIFACTU].AsVariant := Null;
end;
function TFacturasClienteDataTableRules.GetVERIFACTU_NOTESValue: IROStrings;
begin
result := f_VERIFACTU_NOTES;
result.Text := DataTable.Fields[idx_FacturasClienteVERIFACTU_NOTES].AsString;
end;
function TFacturasClienteDataTableRules.GetVERIFACTU_NOTESIsNull: boolean;
begin
result := DataTable.Fields[idx_FacturasClienteVERIFACTU_NOTES].IsNull;
end;
procedure TFacturasClienteDataTableRules.SetVERIFACTU_NOTESIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_FacturasClienteVERIFACTU_NOTES].AsVariant := Null;
end;
{ TFacturasCliente_DetallesDataTableRules }
constructor TFacturasCliente_DetallesDataTableRules.Create(aDataTable: TDADataTable);

View File

@ -9,14 +9,14 @@ 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_ListaAnosFacturasDelta = '{8684B20C-9A58-4343-ACBF-6E788A6D9342}';
RID_FacturasClienteDelta = '{F6D07436-A868-46A4-AF86-357F3FB7A074}';
RID_FacturasCliente_DetallesDelta = '{904B050A-78E2-4159-AD88-28EB0F6F6F69}';
RID_ListaAnosFacturasDelta = '{753DC6A9-0D33-44D6-AC73-56B24BD7B037}';
RID_FacturasClienteDelta = '{C3660EB7-FB02-49EF-8909-756D1320539A}';
RID_FacturasCliente_DetallesDelta = '{339CC635-252E-414D-AFD0-10BB5CBECBB7}';
type
{ IListaAnosFacturasDelta }
IListaAnosFacturasDelta = interface(IListaAnosFacturas)
['{8684B20C-9A58-4343-ACBF-6E788A6D9342}']
['{753DC6A9-0D33-44D6-AC73-56B24BD7B037}']
{ Property getters and setters }
function GetOldANOValue : String;
@ -50,7 +50,7 @@ type
{ IFacturasClienteDelta }
IFacturasClienteDelta = interface(IFacturasCliente)
['{F6D07436-A868-46A4-AF86-357F3FB7A074}']
['{C3660EB7-FB02-49EF-8909-756D1320539A}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@ -105,6 +105,7 @@ type
function GetOldTIPO_FACTURAValue : String;
function GetOldLISTA_NOMBRESValue : String;
function GetOldVERIFACTUValue : SmallInt;
function GetOldVERIFACTU_NOTESValue : IROStrings;
{ Properties }
property OldID : Integer read GetOldIDValue;
@ -160,13 +161,16 @@ type
property OldTIPO_FACTURA : String read GetOldTIPO_FACTURAValue;
property OldLISTA_NOMBRES : String read GetOldLISTA_NOMBRESValue;
property OldVERIFACTU : SmallInt read GetOldVERIFACTUValue;
property OldVERIFACTU_NOTES : IROStrings read GetOldVERIFACTU_NOTESValue;
end;
{ TFacturasClienteBusinessProcessorRules }
TFacturasClienteBusinessProcessorRules = class(TDABusinessProcessorRules, IFacturasCliente, IFacturasClienteDelta)
private
f_OBSERVACIONES: IROStrings;
f_VERIFACTU_NOTES: IROStrings;
procedure OBSERVACIONES_OnChange(Sender: TObject);
procedure VERIFACTU_NOTES_OnChange(Sender: TObject);
protected
{ Property getters and setters }
function GetIDValue: Integer; virtual;
@ -486,6 +490,11 @@ type
function GetOldVERIFACTUIsNull: Boolean; virtual;
procedure SetVERIFACTUValue(const aValue: SmallInt); virtual;
procedure SetVERIFACTUIsNull(const aValue: Boolean); virtual;
function GetVERIFACTU_NOTESValue: IROStrings; virtual;
function GetVERIFACTU_NOTESIsNull: Boolean; virtual;
function GetOldVERIFACTU_NOTESValue: IROStrings; virtual;
function GetOldVERIFACTU_NOTESIsNull: Boolean; virtual;
procedure SetVERIFACTU_NOTESIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
@ -700,6 +709,10 @@ type
property VERIFACTUIsNull : Boolean read GetVERIFACTUIsNull write SetVERIFACTUIsNull;
property OldVERIFACTU : SmallInt read GetOldVERIFACTUValue;
property OldVERIFACTUIsNull : Boolean read GetOldVERIFACTUIsNull;
property VERIFACTU_NOTES : IROStrings read GetVERIFACTU_NOTESValue;
property VERIFACTU_NOTESIsNull : Boolean read GetVERIFACTU_NOTESIsNull write SetVERIFACTU_NOTESIsNull;
property OldVERIFACTU_NOTES : IROStrings read GetOldVERIFACTU_NOTESValue;
property OldVERIFACTU_NOTESIsNull : Boolean read GetOldVERIFACTU_NOTESIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
@ -709,7 +722,7 @@ type
{ IFacturasCliente_DetallesDelta }
IFacturasCliente_DetallesDelta = interface(IFacturasCliente_Detalles)
['{904B050A-78E2-4159-AD88-28EB0F6F6F69}']
['{339CC635-252E-414D-AFD0-10BB5CBECBB7}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_FACTURAValue : Integer;
@ -955,6 +968,10 @@ begin
StrList := TStringList.Create;
StrList.OnChange := OBSERVACIONES_OnChange;
f_OBSERVACIONES := NewROStrings(StrList,True);
StrList := TStringList.Create;
StrList.OnChange := VERIFACTU_NOTES_OnChange;
f_VERIFACTU_NOTES := NewROStrings(StrList,True);
end;
destructor TFacturasClienteBusinessProcessorRules.Destroy;
@ -967,6 +984,11 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteOBSERVACIONES] := TStringList(Sender).Text;
end;
procedure TFacturasClienteBusinessProcessorRules.VERIFACTU_NOTES_OnChange(Sender: TObject);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteVERIFACTU_NOTES] := TStringList(Sender).Text;
end;
function TFacturasClienteBusinessProcessorRules.GetIDValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteID];
@ -2607,6 +2629,34 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteVERIFACTU] := Null;
end;
function TFacturasClienteBusinessProcessorRules.GetVERIFACTU_NOTESValue: IROStrings;
begin
result := f_VERIFACTU_NOTES;
result.Text := BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteVERIFACTU_NOTES];
end;
function TFacturasClienteBusinessProcessorRules.GetVERIFACTU_NOTESIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteVERIFACTU_NOTES]);
end;
function TFacturasClienteBusinessProcessorRules.GetOldVERIFACTU_NOTESValue: IROStrings;
begin
result := NewROStrings();
result.Text := BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasClienteVERIFACTU_NOTES];
end;
function TFacturasClienteBusinessProcessorRules.GetOldVERIFACTU_NOTESIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_FacturasClienteVERIFACTU_NOTES]);
end;
procedure TFacturasClienteBusinessProcessorRules.SetVERIFACTU_NOTESIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_FacturasClienteVERIFACTU_NOTES] := Null;
end;
{ TFacturasCliente_DetallesBusinessProcessorRules }
constructor TFacturasCliente_DetallesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);

View File

@ -46,7 +46,7 @@ object PluginFacturasCliente: TPluginFacturasCliente
Top = 72
object actFacturasCliente: TAction
Category = 'Ventas'
Caption = 'Facturas de cliente'
Caption = 'Facturas proforma de cliente'
ImageIndex = 0
OnExecute = actFacturasClienteExecute
end

View File

@ -259,6 +259,10 @@ object srvFacturasCliente: TsrvFacturasCliente
item
DatasetField = 'VERIFACTU'
TableField = 'VERIFACTU'
end
item
DatasetField = 'VERIFACTU_NOTES'
TableField = 'VERIFACTU_NOTES'
end>
end>
Name = 'FacturasCliente'
@ -537,6 +541,10 @@ object srvFacturasCliente: TsrvFacturasCliente
item
Name = 'VERIFACTU'
DataType = datSmallInt
end
item
Name = 'VERIFACTU_NOTES'
DataType = datMemo
end>
end
item

View File

@ -4,7 +4,7 @@ object fEditorElegirSituacion: TfEditorElegirSituacion
BorderStyle = bsDialog
Caption = 'Elegir situaci'#243'n'
ClientHeight = 140
ClientWidth = 392
ClientWidth = 403
Color = clWindow
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@ -33,7 +33,7 @@ object fEditorElegirSituacion: TfEditorElegirSituacion
object PnlComentario: TPanel
Left = 0
Top = 0
Width = 392
Width = 403
Height = 45
Align = alTop
Alignment = taLeftJustify
@ -42,29 +42,30 @@ object fEditorElegirSituacion: TfEditorElegirSituacion
ParentBackground = False
TabOrder = 0
VerticalAlignment = taAlignTop
ExplicitWidth = 392
object lbComentario: TLabel
AlignWithMargins = True
Left = 6
Top = 4
Width = 382
Width = 393
Height = 40
Margins.Left = 5
Align = alClient
Caption =
'Seleccione la situaci'#243'n que quiere para la/s factura/s seleccion' +
'ada/s:'
'Seleccione la situaci'#243'n que quiere para la/s factura/s proforma/' +
's seleccionada/s:'
WordWrap = True
ExplicitHeight = 39
ExplicitHeight = 21
end
end
object Panel1: TPanel
Left = 0
Top = 99
Width = 392
Width = 403
Height = 41
Align = alBottom
TabOrder = 1
ExplicitTop = 138
ExplicitWidth = 392
object bAceptar: TButton
Left = 188
Top = 8

View File

@ -1,18 +1,18 @@
inherited fEditorFacturaCliente: TfEditorFacturaCliente
Left = 454
Top = 208
Caption = 'Nueva factura de cliente'
Caption = 'Nueva factura proforma de cliente'
ClientHeight = 662
ClientWidth = 860
Position = poScreenCenter
OnClose = CustomEditorClose
ExplicitWidth = 868
ExplicitHeight = 696
ExplicitWidth = 876
ExplicitHeight = 700
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
Width = 860
Caption = 'Nueva factura de cliente'
Caption = 'Nueva factura proforma de cliente'
ExplicitWidth = 860
inherited Image1: TImage
Left = 833
@ -48,7 +48,7 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
Width = 860
ExplicitWidth = 860
inherited tbxMain: TTBXToolbar
ExplicitWidth = 488
ExplicitWidth = 518
inherited TBXItem2: TTBXItem
Visible = False
end
@ -86,20 +86,20 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
end
inherited pgPaginas: TPageControl
Width = 854
Height = 368
Height = 366
OnChanging = pgPaginasChanging
ExplicitWidth = 854
ExplicitHeight = 368
ExplicitHeight = 366
inherited pagGeneral: TTabSheet
ExplicitLeft = 4
ExplicitTop = 24
ExplicitWidth = 846
ExplicitHeight = 340
ExplicitHeight = 338
inline frViewFacturaCliente1: TfrViewFacturaCliente
Left = 0
Top = 0
Width = 846
Height = 340
Height = 338
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@ -110,12 +110,12 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
TabOrder = 0
ReadOnly = False
ExplicitWidth = 846
ExplicitHeight = 340
ExplicitHeight = 338
inherited dxLayoutControl1: TdxLayoutControl
Width = 846
Height = 340
Height = 338
ExplicitWidth = 846
ExplicitHeight = 340
ExplicitHeight = 338
inherited eReferencia: TcxDBTextEdit
ExplicitWidth = 159
Width = 159
@ -218,7 +218,7 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
Left = 0
Top = 0
Width = 846
Height = 340
Height = 338
Align = alClient
BiDiMode = bdLeftToRight
Font.Charset = DEFAULT_CHARSET
@ -231,105 +231,120 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
TabOrder = 0
ReadOnly = False
ExplicitWidth = 846
ExplicitHeight = 340
ExplicitHeight = 338
inherited ToolBar1: TToolBar
Width = 846
Height = 24
ButtonWidth = 123
ExplicitWidth = 846
ExplicitHeight = 24
inherited ToolButton1: TToolButton
ExplicitWidth = 119
end
inherited ToolButton2: TToolButton
Left = 119
ExplicitLeft = 119
ExplicitWidth = 127
end
inherited ToolButton3: TToolButton
Left = 246
ExplicitLeft = 246
ExplicitWidth = 58
end
inherited ToolButton4: TToolButton
Left = 304
Wrap = False
ExplicitLeft = 304
ExplicitWidth = 57
end
inherited ToolButton14: TToolButton
Left = 334
Left = 361
Top = 0
ExplicitLeft = 334
ExplicitLeft = 361
ExplicitTop = 0
end
inherited FontName: TJvFontComboBox
Left = 368
Left = 395
Top = 0
ExplicitLeft = 368
ExplicitLeft = 395
ExplicitTop = 0
end
inherited FontSize: TEdit
Left = 513
inherited ToolButton13: TToolButton [6]
Left = 540
Top = 0
Width = 57
ExplicitLeft = 513
ExplicitTop = 0
ExplicitWidth = 57
end
inherited UpDown1: TUpDown
Left = 586
Top = 0
ExplicitLeft = 586
ExplicitLeft = 540
ExplicitTop = 0
end
inherited ToolButton13: TToolButton
Left = 603
inherited ToolButton6: TToolButton [7]
Left = 548
Top = 0
ExplicitLeft = 603
ExplicitLeft = 548
ExplicitTop = 0
end
inherited ToolButton6: TToolButton
Left = 611
inherited ToolButton7: TToolButton [8]
Left = 582
Top = 0
ExplicitLeft = 611
ExplicitLeft = 582
ExplicitTop = 0
end
inherited ToolButton7: TToolButton
Left = 645
inherited ToolButton8: TToolButton [9]
Left = 616
Top = 0
ExplicitLeft = 645
ExplicitLeft = 616
ExplicitTop = 0
end
inherited ToolButton8: TToolButton
Left = 679
inherited ToolButton12: TToolButton [10]
Left = 650
Top = 0
ExplicitLeft = 679
ExplicitLeft = 650
ExplicitTop = 0
end
inherited ToolButton12: TToolButton
Left = 713
inherited ToolButton9: TToolButton [11]
Left = 658
Top = 0
ExplicitLeft = 713
ExplicitLeft = 658
ExplicitTop = 0
end
inherited ToolButton9: TToolButton
Left = 721
inherited ToolButton10: TToolButton [12]
Left = 692
Top = 0
ExplicitLeft = 721
ExplicitLeft = 692
ExplicitTop = 0
end
inherited ToolButton10: TToolButton
Left = 755
inherited ToolButton11: TToolButton [13]
Left = 726
Top = 0
ExplicitLeft = 755
ExplicitLeft = 726
ExplicitTop = 0
end
inherited ToolButton11: TToolButton
Left = 789
inherited FontSize: TEdit [14]
Left = 760
Top = 0
ExplicitLeft = 789
Width = 73
ExplicitLeft = 760
ExplicitTop = 0
ExplicitWidth = 73
end
inherited UpDown1: TUpDown [15]
Left = 833
Top = 0
ExplicitLeft = 833
ExplicitTop = 0
end
end
inherited cxGrid: TcxGrid
Top = 50
Width = 846
Height = 290
ExplicitTop = 50
Height = 288
ExplicitWidth = 846
ExplicitHeight = 290
ExplicitHeight = 288
end
inherited TBXDock1: TTBXDock
Top = 24
Width = 846
ExplicitTop = 24
ExplicitWidth = 846
inherited TBXToolbar1: TTBXToolbar
ExplicitWidth = 548
ExplicitWidth = 597
end
end
end

View File

@ -397,18 +397,18 @@ begin
begin
if Factura.EsNuevo then
if Factura.TIPO = CTE_TIPO_ABONO then
FTitulo := 'Nuevo abono a cliente'
FTitulo := 'Nuevo abono proforma a cliente'
else if Factura.TIPO = CTE_TIPO_PROFORMA then
FTitulo := 'Nueva factura proforma de cliente'
else
FTitulo := 'Nueva factura de cliente'
FTitulo := 'Nueva factura proforma de cliente'
else
if Factura.TIPO = CTE_TIPO_ABONO then
FTitulo := 'Abono a cliente' + ' - ' + FFactura.Cliente.Nombre
FTitulo := 'Abono a proforma cliente' + ' - ' + FFactura.Cliente.Nombre
else if Factura.TIPO = CTE_TIPO_PROFORMA then
FTitulo := 'Factura proforma de cliente' + ' - ' + FFactura.Cliente.Nombre
else
FTitulo := 'Factura de cliente' + ' - ' + FFactura.Cliente.Nombre
FTitulo := 'Factura proforma de cliente' + ' - ' + FFactura.Cliente.Nombre
end;
inherited PonerTitulos(FTitulo);

View File

@ -1,5 +1,5 @@
inherited fEditorFacturasCliente: TfEditorFacturasCliente
Caption = 'Lista de facturas de cliente'
Caption = 'Lista de facturas proforma de cliente'
ClientHeight = 666
ClientWidth = 640
ExplicitWidth = 656
@ -8,7 +8,7 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
Width = 640
Caption = 'Lista de facturas de cliente'
Caption = 'Lista de facturas proforma de cliente'
ExplicitWidth = 640
inherited Image1: TImage
Left = 613
@ -46,11 +46,11 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
Images = SmallImages
object TBXItem39: TTBXItem
Action = actNuevaFactura
Caption = 'Nueva factura...'
Caption = 'Nueva factura proforma'
end
object TBXItem38: TTBXItem
Action = actNuevoAbono
Caption = 'Nuevo abono...'
Caption = 'Nuevo abono proforma'
end
object TBXItem43: TTBXItem
Action = actNuevaProforma
@ -300,13 +300,13 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
end
object actNuevaFactura: TAction
Category = 'Archivo'
Caption = 'Factura'
Caption = 'Factura proforma'
ImageIndex = 23
OnExecute = actNuevaFacturaExecute
end
object actNuevoAbono: TAction
Category = 'Archivo'
Caption = 'Abono'
Caption = 'Abono proforma'
ImageIndex = 24
OnExecute = actNuevoAbonoExecute
end
@ -332,7 +332,9 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
object actNuevaProforma: TAction
Category = 'Archivo'
Caption = 'Proforma'
Enabled = False
ImageIndex = 22
Visible = False
OnExecute = actNuevaProformaExecute
end
object actConvertirEnFactura: TAction
@ -2000,7 +2002,7 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
end
object JsNuevaFacturaDialog: TJSDialog
Content.Strings = (
#191'C'#243'mo desea dar de alta la factura?')
#191'C'#243'mo desea dar de alta la factura proforma?')
DialogOptions = [doCommandLinks, doModal]
Glyph.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
@ -2031,7 +2033,7 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312
82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA
1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082}
Instruction.Text = 'Nueva factura de cliente'
Instruction.Text = 'Nueva factura proforma de cliente'
Instruction.Glyph.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
00001C0806000000720DDF940000000970485973000017120000171201679FD2
@ -2064,7 +2066,7 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
Instruction.Icon = tdiCustom
CustomButtons = <
item
Caption = 'Factura nueva vac'#237'a.'
Caption = 'Factura proforma nueva vac'#237'a.'
Value = 100
Default = True
end
@ -2074,7 +2076,7 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
Info.Strings = (
'Puede utilizar uno o m'#225's albaranes existentes para dar de alta l' +
'a factura nueva.')
'a factura proforma nueva.')
end>
ButtonBar.Buttons = [cbCancel]
MainIcon = tdiCustom
@ -3309,7 +3311,7 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
Instruction.Icon = tdiCustom
CustomButtons = <
item
Caption = 'Abono nuevo vac'#237'o.'
Caption = 'Abono proforma nuevo vac'#237'o.'
Value = 100
Default = True
end
@ -3318,8 +3320,8 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
Value = 200
Info.Strings = (
'Puede utilizar una factura de cliente para dar de alta el nuevo ' +
'abono.')
'Puede utilizar una factura proforma de cliente para dar de alta ' +
'el nuevo abono proforma.')
end>
ButtonBar.Buttons = [cbCancel]
MainIcon = tdiCustom

View File

@ -70,6 +70,7 @@ type
private
FFacturas: IBizFacturaCliente;
FController : IFacturasClienteController;
protected
function GetFacturas: IBizFacturaCliente;
procedure SetFacturas(const Value: IBizFacturaCliente);
@ -307,14 +308,14 @@ begin
if AllItems then
begin
if (Application.MessageBox('¿Desea mandar a verifactu los borradores seleccionados?, ya no podrá modificarlos', 'Atención', MB_YESNO) = IDYES) then
if (Application.MessageBox('¿Desea mandar a VERIFACTU los borradores seleccionados, para que se conviertan en FACTURAS DEFINITIVAS EN LA AEAT?, ya no podrá modificarlos', 'Atención', MB_YESNO) = IDYES) then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Facturas as ISeleccionable).SelectedRecords);
AFacturas := (Controller as IFacturasClienteController).ExtraerSeleccionados(Facturas) as IBizFacturaCliente;
end
end
else begin
if (Application.MessageBox('¿Desea mandar a verifactu el borrador seleccionado?, ya no podrá modificarlo', 'Atención', MB_YESNO) = IDYES) then
if (Application.MessageBox('¿Desea mandar a VERIFACTU el borrador seleccionado, para que se convierta en FACTURA DEFINITIVA EN LA AEAT?, ya no podrá modificarlo', 'Atención', MB_YESNO) = IDYES) then
AFacturas := Facturas;
end;
@ -357,15 +358,13 @@ begin
inherited;
(Sender as TAction).Enabled := False;
{Quitar al activar verifactu
if HayDatos and Assigned(ViewGrid) then
(Sender as TAction).Enabled := ViewGrid.EsSeleccionCeldaDatos
and (ViewGrid.NumSeleccionados > 0)
and (FFacturas.VERIFACTU < 1)
and (FFacturas.VERIFACTU <> 1)
else
(Sender as TAction).Enabled := False;
}
end;
procedure TfEditorFacturasCliente.actNuevaFacturaExecute(Sender: TObject);
@ -672,7 +671,7 @@ procedure TfEditorFacturasCliente.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
FTitulo := 'Lista de facturas de cliente - ' + AppFactuGES.EmpresaActiva.NOMBRE;
FTitulo := 'Lista de facturas proforma de cliente - ' + AppFactuGES.EmpresaActiva.NOMBRE;
inherited PonerTitulos(FTitulo);
end;

View File

@ -174,21 +174,33 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente
object cxGridViewVERIFACTU: TcxGridDBColumn
DataBinding.FieldName = 'VERIFACTU'
PropertiesClassName = 'TcxImageComboBoxProperties'
Properties.Alignment.Horz = taCenter
Properties.Images = PngImageList
Properties.Items = <
item
Description = 'Verifactu'
Value = 0
end
item
Description = 'VERIFACTU'
ImageIndex = 0
Value = 1
end
item
Value = 0
Description = 'INCIDENCIA'
ImageIndex = 4
Value = 2
end>
OnGetCellHint = cxGridViewVERIFACTUGetCellHint
FooterAlignmentHorz = taCenter
GroupSummaryAlignment = taCenter
HeaderAlignmentHorz = taCenter
HeaderGlyphAlignmentHorz = taCenter
end
object cxGridViewVERIFACTU_NOTES: TcxGridDBColumn
DataBinding.FieldName = 'VERIFACTU_NOTES'
Visible = False
VisibleForCustomization = False
end
end
inherited cxGridLevel: TcxGridLevel
Caption = 'Todas'
@ -241,12 +253,14 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente
Width = 273
end
inherited txtFiltroTodo2: TcxTextEdit
Left = 559
Left = 541
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 559
ExplicitLeft = 541
ExplicitWidth = 250
Width = 250
end
end
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
@ -429,6 +443,34 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente
00004B6D80F047EC10D30000000049454E44AE426082}
Name = 'PngImage1'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000000097048597300000AEB00000AEB01828B0D5A0000027F4944415478DA
95926D48535118C79FDB268AA54485D62C4C50962CDC87F5416D9AB966CEA440
A4E84D828C304C89B217DB87D00F65252B69422F9A4161D6A0507C6D595A6450
83CC55787129CE19949B6DD3DDEDDE9D73BABB561835D3030FCF39E739FFDFF3
C2A1608EF5A1467A415632783A589C100254B0A0EB5A623A9392DCD365B89DBE
FF3CBC5830C0DD9DD726922B34EFDAEB5B53F75972170470D4C8E461DB724D78
091139AC66F4FC5E9BA24007FDF3064C75E6DE7DE94BD8DBDC4A834615014B5D
BD8D6985E37BE6056074D2B544934357DCFA1CD2FBEA1B6C908742E96EAFBFFB
7E5FE2A15A18FA2FC0F978B35E9CBAE94895EE2DB474D82053B918CA4BA2A1BF
D37823B3D879784E80BB36298ADA98368C97937043F3185CACA1E164F12AD89E
1509132316E659BB39A14807B6A000E74365A5282D43EB67BFC020FD1D76159A
C0502785D8984580B8691830BEA9561F634EFC1340AAA4111E55C60817859611
E4038EF34256FE6BE86C5A0F807D4010035F2DA3EE1EA32DEEA81EEC7F0126EF
288E87A8D597389F8DC28280858ACB9FE06C690CBFF702E60DB153E463EF70C5
D632EEDC1F00FA6A7CA824397D888B46AB671EF300CC826DDC092B5710411CB0
406C62D86EEFEA72C69DAA07F76FC0645DD241B15A7D93E3C6A85FE2471D5E68
6872C1CE1C2FE46BF0AC2A1842F7B9CBB2CFF8AB05007900A26949819995E075
184D43A0FF400B95575CD0FED4010A9907AAB5E1BC9801EC9FA9C261656D0346
7FFC8106E2A55C7A591EA551197CC84A1121BB4FC8346AF540CB1307A8950462
25E8670B8CD01E6611B198C445D9E5DC75EABD7E4DA32B322C05630F3F15BE54
82788F788FF9E9FB679D9110C781FBC077B753433BB478CB0F7C3B8CF0987D51
CF0000000049454E44AE426082}
Name = 'PngImage2'
Background = clWindow
end>
Bitmap = {}
end
@ -713,6 +755,34 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente
064200A70120096201BA0100A6C62916A56F74520000000049454E44AE426082}
Name = 'PngImage3'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000000097048597300000AEB00000AEB01828B0D5A0000027F4944415478DA
95926D48535118C79FDB268AA54485D62C4C50962CDC87F5416D9AB966CEA440
A4E84D828C304C89B217DB87D00F65252B69422F9A4161D6A0507C6D595A6450
83CC55787129CE19949B6DD3DDEDDE9D73BABB561835D3030FCF39E739FFDFF3
C2A1608EF5A1467A415632783A589C100254B0A0EB5A623A9392DCD365B89DBE
FF3CBC5830C0DD9DD726922B34EFDAEB5B53F75972170470D4C8E461DB724D78
091139AC66F4FC5E9BA24007FDF3064C75E6DE7DE94BD8DBDC4A834615014B5D
BD8D6985E37BE6056074D2B544934357DCFA1CD2FBEA1B6C908742E96EAFBFFB
7E5FE2A15A18FA2FC0F978B35E9CBAE94895EE2DB474D82053B918CA4BA2A1BF
D37823B3D879784E80BB36298ADA98368C97937043F3185CACA1E164F12AD89E
1509132316E659BB39A14807B6A000E74365A5282D43EB67BFC020FD1D76159A
C0502785D8984580B8691830BEA9561F634EFC1340AAA4111E55C60817859611
E4038EF34256FE6BE86C5A0F807D4010035F2DA3EE1EA32DEEA81EEC7F0126EF
288E87A8D597389F8DC28280858ACB9FE06C690CBFF702E60DB153E463EF70C5
D632EEDC1F00FA6A7CA824397D888B46AB671EF300CC826DDC092B5710411CB0
406C62D86EEFEA72C69DAA07F76FC0645DD241B15A7D93E3C6A85FE2471D5E68
6872C1CE1C2FE46BF0AC2A1842F7B9CBB2CFF8AB05007900A26949819995E075
184D43A0FF400B95575CD0FED4010A9907AAB5E1BC9801EC9FA9C261656D0346
7FFC8106E2A55C7A591EA551197CC84A1121BB4FC8346AF540CB1307A8950462
25E8670B8CD01E6611B198C445D9E5DC75EABD7E4DA32B322C05630F3F15BE54
82788F788FF9E9FB679D9110C781FBC077B753433BB478CB0F7C3B8CF0987D51
CF0000000049454E44AE426082}
Name = 'PngImage4'
Background = clWindow
end>
Left = 56
Top = 48

View File

@ -72,6 +72,7 @@ type
TBXItem4: TTBXItem;
cxGridProforma: TcxGridLevel;
cxGridViewVERIFACTU: TcxGridDBColumn;
cxGridViewVERIFACTU_NOTES: TcxGridDBColumn;
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem;
out AStyle: TcxStyle);
@ -82,6 +83,10 @@ type
procedure actClienteUpdate(Sender: TObject);
procedure actTiendaExecute(Sender: TObject);
procedure actTiendaUpdate(Sender: TObject);
procedure cxGridViewVERIFACTUGetCellHint(Sender: TcxCustomGridTableItem;
ARecord: TcxCustomGridRecord; ACellViewInfo: TcxGridTableDataCellViewInfo;
const AMousePos: TPoint; var AHintText: TCaption;
var AIsHintMultiLine: Boolean; var AHintTextRect: TRect);
private
//Filtros relativos a la vista
@ -287,6 +292,21 @@ begin
end;
end;
procedure TfrViewFacturasCliente.cxGridViewVERIFACTUGetCellHint(
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
ACellViewInfo: TcxGridTableDataCellViewInfo; const AMousePos: TPoint;
var AHintText: TCaption; var AIsHintMultiLine: Boolean;
var AHintTextRect: TRect);
begin
inherited;
if (ARecord.DisplayTexts[Sender.Index] = 'INCIDENCIA') then
begin
AIsHintMultiLine := True;
if not VarIsNull(ARecord.Values[cxGridViewVERIFACTU_NOTES.Index]) then
AHintText := ARecord.Values[cxGridViewVERIFACTU_NOTES.Index];
end;
end;
function TfrViewFacturasCliente.GetFacturas: IBizFacturaCliente;
begin
Result := FFacturas;

View File

@ -1,6 +1,6 @@
inherited frViewFacturaProveedor: TfrViewFacturaProveedor
Width = 451
Height = 304
Width = 1227
Height = 559
Align = alClient
OnCreate = CustomViewCreate
OnDestroy = CustomViewDestroy
@ -9,17 +9,19 @@ inherited frViewFacturaProveedor: TfrViewFacturaProveedor
object dxLayoutControl1: TdxLayoutControl
Left = 0
Top = 0
Width = 451
Height = 304
Width = 1227
Height = 559
Align = alClient
ParentBackground = True
TabOrder = 0
TabStop = False
AutoContentSizes = [acsWidth, acsHeight]
LookAndFeel = dxLayoutOfficeLookAndFeel1
ExplicitWidth = 451
ExplicitHeight = 304
DesignSize = (
451
304)
1227
559)
object eReferencia: TcxDBTextEdit
Left = 124
Top = 30
@ -95,7 +97,7 @@ inherited frViewFacturaProveedor: TfrViewFacturaProveedor
Width = 169
end
object bFormasPago: TButton
Left = 150
Left = 733
Top = 135
Width = 132
Height = 23
@ -171,10 +173,11 @@ inherited frViewFacturaProveedor: TfrViewFacturaProveedor
Width = 158
end
inline frViewProveedorFactura1: TfrViewProveedorFactura
Left = 310
Left = 893
Top = 30
Width = 312
Height = 260
Height = 265
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
@ -183,12 +186,14 @@ inherited frViewFacturaProveedor: TfrViewFacturaProveedor
ParentFont = False
TabOrder = 7
ReadOnly = False
ExplicitLeft = 310
ExplicitLeft = 893
ExplicitTop = 30
ExplicitWidth = 312
ExplicitHeight = 260
ExplicitHeight = 265
inherited dxLayoutControl1: TdxLayoutControl
Width = 312
Height = 265
Align = alClient
ExplicitWidth = 312
inherited Bevel1: TBevel
Width = 242
@ -230,7 +235,7 @@ inherited frViewFacturaProveedor: TfrViewFacturaProveedor
end
inline frViewObservaciones1: TfrViewObservaciones
Left = 22
Top = 320
Top = 325
Width = 521
Height = 228
Font.Charset = DEFAULT_CHARSET
@ -242,7 +247,7 @@ inherited frViewFacturaProveedor: TfrViewFacturaProveedor
TabOrder = 8
ReadOnly = False
ExplicitLeft = 22
ExplicitTop = 320
ExplicitTop = 325
ExplicitHeight = 228
inherited memObservaciones: TcxDBMemo
DataBinding.DataField = 'OBSERVACIONES'

View File

@ -33,7 +33,7 @@ object PluginFamilias: TPluginFamilias
Left = 40
Top = 16
object Ventas1: TMenuItem
Caption = 'Datos'
Caption = 'Log'#237'stica'
object Familias1: TMenuItem
Tag = 900
Action = actFamilias

View File

@ -58,6 +58,7 @@ inherited frViewHistoricoMovimientos: TfrViewHistoricoMovimientos
DataBinding.FieldName = 'REFERENCIA_PROV'
end
object cxGridViewDESCRIPCION: TcxGridDBColumn
Caption = 'Descripci'#243'n'
DataBinding.FieldName = 'DESCRIPCION'
end
object cxGridViewCANTIDAD: TcxGridDBColumn
@ -68,6 +69,7 @@ inherited frViewHistoricoMovimientos: TfrViewHistoricoMovimientos
HeaderAlignmentHorz = taRightJustify
end
object cxGridViewNOMBRE_ALMACEN: TcxGridDBColumn
Caption = 'Almac'#233'n'
DataBinding.FieldName = 'NOMBRE_ALMACEN'
end
object cxGridViewCAUSA: TcxGridDBColumn
@ -105,13 +107,25 @@ inherited frViewHistoricoMovimientos: TfrViewHistoricoMovimientos
Width = 121
end
inherited edtFechaFinFiltro: TcxDateEdit
Left = 344
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 344
ExplicitWidth = 121
Width = 121
end
inherited txtFiltroTodo2: TcxTextEdit
Left = 329
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 329
ExplicitWidth = 250
Width = 250
end
end
end
end

View File

@ -39,61 +39,20 @@
<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">True</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>
<Source>
<Source Name="MainSource">Inventario_data.dpk</Source>
</Source>
</Delphi.Personality> </BorlandProject></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><Source><Source Name="MainSource">Inventario_data.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
<DelphiCompile Include="Inventario_data.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\..\..\Lib\Base.dcp" />
<DCCReference Include="..\..\..\Lib\Inventario_model.dcp" />
<DCCReference Include="..\..\..\Servidor\Base.dcp" />
<DCCReference Include="..\..\..\Servidor\Inventario_model.dcp" />
<DCCReference Include="uDataModuleInventario.pas">
<Form>DataModuleInventario</Form>
</DCCReference>
</ItemGroup>
</Project>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=6006

View File

@ -249,7 +249,7 @@ inherited DataModuleInventario: TDataModuleInventario
item
Name = 'CAUSA'
DataType = datString
Size = 1
Size = 2000
DisplayLabel = 'INVENTARIO_CAUSA'
DictionaryEntry = 'Inventario_CAUSA'
end

View File

@ -9,8 +9,8 @@ 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_Inventario = '{0BE4852B-9A3A-41C0-A474-E53C55D135B2}';
RID_DetalleReservas = '{FC79490D-CB5A-41A4-8163-92EC6F2DA49D}';
RID_Inventario = '{AFC2FFE0-FA3E-48B9-B532-5CB050A217B2}';
RID_DetalleReservas = '{C71D5EFD-80A5-478B-B606-CA679BB074F5}';
{ Data table names }
nme_Inventario = 'Inventario';
@ -95,7 +95,7 @@ const
type
{ IInventario }
IInventario = interface(IDAStronglyTypedDataTable)
['{E24DF110-88BD-4BB9-AE2D-17BEEE4EE1A3}']
['{9110A913-86E5-4E5E-A366-11867DF8D8B5}']
{ Property getters and setters }
function GetID_ALMACENValue: Integer;
procedure SetID_ALMACENValue(const aValue: Integer);
@ -346,7 +346,7 @@ type
{ IDetalleReservas }
IDetalleReservas = interface(IDAStronglyTypedDataTable)
['{93FBB98C-4B7B-49C0-8615-8FB28E9AB01D}']
['{602501E5-C043-4E39-B491-AF84527746BA}']
{ Property getters and setters }
function GetID_ALBValue: Integer;
procedure SetID_ALBValue(const aValue: Integer);

View File

@ -9,13 +9,13 @@ 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_InventarioDelta = '{1EB22602-1C4D-48A2-8C42-A2C310937FCF}';
RID_DetalleReservasDelta = '{1334ABD7-C1C7-400F-961C-2E85AF1B4C3D}';
RID_InventarioDelta = '{747A95D3-EB6E-4929-A965-A685F73712EF}';
RID_DetalleReservasDelta = '{84D30C21-D06C-4874-8DE8-588EAE3CBF06}';
type
{ IInventarioDelta }
IInventarioDelta = interface(IInventario)
['{1EB22602-1C4D-48A2-8C42-A2C310937FCF}']
['{747A95D3-EB6E-4929-A965-A685F73712EF}']
{ Property getters and setters }
function GetOldID_ALMACENValue : Integer;
function GetOldID_ARTICULOValue : Integer;
@ -265,7 +265,7 @@ type
{ IDetalleReservasDelta }
IDetalleReservasDelta = interface(IDetalleReservas)
['{1334ABD7-C1C7-400F-961C-2E85AF1B4C3D}']
['{84D30C21-D06C-4874-8DE8-588EAE3CBF06}']
{ Property getters and setters }
function GetOldID_ALBValue : Integer;
function GetOldID_EMPRESAValue : Integer;

View File

@ -202,7 +202,7 @@ object srvInventario: TsrvInventario
item
Name = 'CAUSA'
DataType = datString
Size = 1
Size = 2000
DictionaryEntry = 'Inventario_CAUSA'
end
item
@ -700,7 +700,7 @@ object srvInventario: TsrvInventario
item
Name = 'Inventario_CAUSA'
DataType = datString
Size = 1
Size = 2000
DisplayLabel = 'INVENTARIO_CAUSA'
end
item

View File

@ -5,15 +5,14 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
ClientHeight = 648
ClientWidth = 1046
OnClose = CustomEditorClose
ExplicitWidth = 1054
ExplicitHeight = 682
ExplicitWidth = 1062
ExplicitHeight = 686
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
Width = 1046
Caption = 'Entrada de art'#237'culos en '
ExplicitTop = 49
ExplicitWidth = 853
ExplicitWidth = 1046
inherited Image1: TImage
Left = 1019
Picture.Data = {
@ -35,12 +34,18 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
16D0BA550100E46DEBE08B969D720000000049454E44AE426082}
ExplicitLeft = 625
end
inherited lblDesbloquear: TcxLabel
Left = 921
ExplicitLeft = 921
AnchorX = 966
AnchorY = 14
end
end
inherited TBXDock: TTBXDock
Width = 1046
ExplicitWidth = 853
ExplicitWidth = 1046
inherited tbxMain: TTBXToolbar
ExplicitWidth = 164
ExplicitWidth = 169
object TBXItem7: TTBXItem [16]
Action = actAnchoAuto
DisplayMode = nbdmImageAndText
@ -66,29 +71,29 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
item
Width = 200
end>
ExplicitTop = 537
ExplicitWidth = 853
ExplicitTop = 629
ExplicitWidth = 1046
end
inherited pgPaginas: TPageControl
Top = 287
Top = 289
Width = 1040
Height = 339
Height = 337
MultiLine = True
Visible = False
ExplicitTop = 287
ExplicitWidth = 847
ExplicitHeight = 247
ExplicitTop = 289
ExplicitWidth = 1040
ExplicitHeight = 337
inherited pagGeneral: TTabSheet
ExplicitLeft = 4
ExplicitTop = 24
ExplicitWidth = 839
ExplicitHeight = 219
ExplicitWidth = 1032
ExplicitHeight = 309
end
end
object ToolBar1: TToolBar [4]
AlignWithMargins = True
Left = 5
Top = 254
Top = 256
Width = 1036
Height = 30
Margins.Left = 5
@ -107,7 +112,6 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
ShowHint = True
TabOrder = 5
Transparent = True
ExplicitWidth = 843
object ToolButton1: TToolButton
Left = 0
Top = 0
@ -137,10 +141,9 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
end
object TBXDockPaneles: TTBXDock [5]
Left = 0
Top = 76
Top = 78
Width = 1046
Height = 146
ExplicitWidth = 853
object pnlMovimiento: TTBXDockablePanel
Left = 0
Top = 89
@ -208,9 +211,8 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 1
ExplicitWidth = 3419
Height = 21
Width = 3612
Width = 5440
end
end
object pnlEntradaPedido: TTBXDockablePanel
@ -320,9 +322,9 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
end
inline frViewEntradaSalidaArticulos1: TfrViewEntradaSalidaArticulos [6]
Left = 0
Top = 284
Top = 286
Width = 1046
Height = 345
Height = 343
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@ -332,16 +334,24 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
ParentFont = False
TabOrder = 6
ReadOnly = False
ExplicitTop = 284
ExplicitWidth = 853
ExplicitHeight = 253
ExplicitTop = 286
ExplicitWidth = 1046
ExplicitHeight = 343
inherited cxGrid: TcxGrid
Width = 1046
Height = 217
ExplicitWidth = 853
ExplicitHeight = 125
Height = 215
ExplicitWidth = 1046
ExplicitHeight = 215
inherited cxGridView: TcxGridDBTableView
DataController.KeyFieldNames = 'RecID'
OptionsData.Editing = True
OptionsSelection.CellSelect = True
inherited cxGridViewDESCRIPCION: TcxGridDBColumn
Caption = 'Descripci'#243'n'
end
inherited cxGridViewCANTIDAD: TcxGridDBColumn
Caption = 'Cantidad'
end
inherited cxGridViewSTOCK: TcxGridDBColumn
Properties.Alignment.Horz = taRightJustify
end
@ -349,12 +359,12 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
end
inherited frViewFiltroBase1: TfrViewFiltroBase
Width = 1046
ExplicitWidth = 853
ExplicitWidth = 1046
inherited TBXDockablePanel1: TTBXDockablePanel
ExplicitWidth = 853
ExplicitWidth = 1046
inherited dxLayoutControl1: TdxLayoutControl
Width = 1046
ExplicitWidth = 853
ExplicitWidth = 1046
inherited txtFiltroTodo: TcxTextEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
@ -381,27 +391,37 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
ExplicitWidth = 121
Width = 121
end
inherited txtFiltroTodo2: TcxTextEdit
Left = 784
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 784
ExplicitWidth = 250
Width = 250
end
end
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 1046
ExplicitWidth = 853
ExplicitWidth = 1046
inherited tbxBotones: TTBXToolbar
Width = 1036
ExplicitWidth = 843
ExplicitWidth = 1036
end
end
end
end
inherited pnlAgrupaciones: TTBXDockablePanel
Top = 319
ExplicitTop = 227
ExplicitWidth = 853
Top = 317
ExplicitTop = 317
ExplicitWidth = 1046
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 1046
ExplicitWidth = 853
ExplicitWidth = 1046
inherited TBXToolbar1: TTBXToolbar
Width = 1036
ExplicitWidth = 843
ExplicitWidth = 1036
end
end
end
@ -421,10 +441,10 @@ inherited fEditorEntradaSalidaArticulos: TfEditorEntradaSalidaArticulos
end
end
inherited PnlComentario: TPanel [7]
Top = 222
Top = 224
Width = 1046
ExplicitTop = 222
ExplicitWidth = 853
ExplicitTop = 224
ExplicitWidth = 1046
inherited lbComentario: TLabel
Width = 1036
Height = 25

View File

@ -13,17 +13,23 @@ inherited frViewEntradaSalidaArticulos: TfrViewEntradaSalidaArticulos
end
object cxGridViewID_ARTICULO: TcxGridDBColumn
DataBinding.FieldName = 'ID_ARTICULO'
Visible = False
VisibleForCustomization = False
end
object cxGridViewID_PEDIDO_PROVEEDOR: TcxGridDBColumn
DataBinding.FieldName = 'ID_PEDIDO_PROVEEDOR'
Visible = False
VisibleForCustomization = False
end
object cxGridViewID_PEDIDO_CLIENTE: TcxGridDBColumn
DataBinding.FieldName = 'ID_PEDIDO_CLIENTE'
Visible = False
VisibleForCustomization = False
end
object cxGridViewREFERENCIA_PED_CLI: TcxGridDBColumn
DataBinding.FieldName = 'REFERENCIA_PED_CLI'
Visible = False
VisibleForCustomization = False
end
object cxGridViewREFERENCIA: TcxGridDBColumn
Caption = 'Referencia'
@ -43,12 +49,14 @@ inherited frViewEntradaSalidaArticulos: TfrViewEntradaSalidaArticulos
Properties.Alignment.Horz = taRightJustify
Properties.DisplayFormat = ',0.##;-,0.##'
Properties.EditFormat = ',0.##;-,0.##'
Properties.MaxValue = 100000.000000000000000000
FooterAlignmentHorz = taRightJustify
HeaderAlignmentHorz = taRightJustify
end
object cxGridViewID_EMPRESA: TcxGridDBColumn
DataBinding.FieldName = 'ID_EMPRESA'
Visible = False
VisibleForCustomization = False
end
object cxGridViewSTOCK: TcxGridDBColumn
Caption = 'Stock actual'
@ -79,19 +87,28 @@ inherited frViewEntradaSalidaArticulos: TfrViewEntradaSalidaArticulos
Width = 121
end
inherited edtFechaFinFiltro: TcxDateEdit
Left = 344
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 344
ExplicitWidth = 121
Width = 121
end
inherited txtFiltroTodo2: TcxTextEdit
Left = 329
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 329
ExplicitWidth = 250
Width = 250
end
end
end
end
inherited pnlAgrupaciones: TTBXDockablePanel
ExplicitWidth = 554
end
inherited dxComponentPrinter: TdxComponentPrinter
inherited dxComponentPrinterLink: TdxGridReportLink
ReportDocument.CreationDate = 39253.500748333330000000

View File

@ -9,7 +9,7 @@ uses
type
IDetallesPedidoProveedorController = interface(IControllerDetallesArticulos)
['{942428EC-BCB8-4C56-BFA6-EB9F05D5E0DB}']
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean = True); overload;
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean = True); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor); overload;
// function ArticulosPendientes(const ID : Integer): IBizDetallesPedidoProveedorPend;
procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable);
@ -32,7 +32,7 @@ type
function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
public
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean = True); overload;
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean = True); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor); overload;
// function ArticulosPendientes(const ID : Integer): IBizDetallesPedidoProveedorPend;
constructor Create; override;
@ -132,7 +132,10 @@ end;
procedure TDetallesPedidoProveedorController.RellenarOtros(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo);
begin
if Assigned(AArticulos) then
ADetalles.DataTable.FieldByName(CAMPO_DESCUENTO).AsFloat := AArticulos.DESCUENTO
begin
ADetalles.DataTable.FieldByName(CAMPO_DESCUENTO).AsFloat := AArticulos.DESCUENTO;
ADetalles.DataTable.FieldByName(CAMPO_CONCEPTO).AsVariant := ADetalles.DataTable.FieldByName(CAMPO_CONCEPTO).AsString + #10 + AArticulos.NOTAS;
end
else
ADetalles.DataTable.FieldByName(CAMPO_DESCUENTO).AsFloat := 0;
end;

View File

@ -398,6 +398,16 @@ inherited DataModulePedidosProveedor: TDataModulePedidosProveedor
item
Name = 'IMPORTE_PORTE'
DataType = datCurrency
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'REFERENCIA_PROVEEDOR'
DataType = datString
Size = 255
end>
Params = <>
MasterMappingMode = mmWhere

View File

@ -9,9 +9,9 @@ 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 = '{C5B775EF-575F-430B-A202-A1764F733C67}';
RID_PedidosProveedor = '{CF019B0A-5E31-412E-BD45-B1ECA75AB33D}';
RID_PedidosProveedor_Detalles = '{45FDF374-A233-4352-99BE-1DBD2A81C694}';
RID_ListaAnosPedidos = '{0471E5EB-E097-47EE-85CB-A9B0D3EFBA02}';
RID_PedidosProveedor = '{3D092D23-1AEF-4D2D-B140-B1557750224A}';
RID_PedidosProveedor_Detalles = '{B9DD8E3F-27D7-4831-AFF2-9649931F1731}';
{ Data table names }
nme_ListaAnosPedidos = 'ListaAnosPedidos';
@ -137,6 +137,8 @@ const
fld_PedidosProveedor_DetallesID_ARTICULO = 'ID_ARTICULO';
fld_PedidosProveedor_DetallesDESCUENTO = 'DESCUENTO';
fld_PedidosProveedor_DetallesIMPORTE_PORTE = 'IMPORTE_PORTE';
fld_PedidosProveedor_DetallesREFERENCIA = 'REFERENCIA';
fld_PedidosProveedor_DetallesREFERENCIA_PROVEEDOR = 'REFERENCIA_PROVEEDOR';
{ PedidosProveedor_Detalles field indexes }
idx_PedidosProveedor_DetallesID = 0;
@ -151,11 +153,13 @@ const
idx_PedidosProveedor_DetallesID_ARTICULO = 9;
idx_PedidosProveedor_DetallesDESCUENTO = 10;
idx_PedidosProveedor_DetallesIMPORTE_PORTE = 11;
idx_PedidosProveedor_DetallesREFERENCIA = 12;
idx_PedidosProveedor_DetallesREFERENCIA_PROVEEDOR = 13;
type
{ IListaAnosPedidos }
IListaAnosPedidos = interface(IDAStronglyTypedDataTable)
['{E5A9637D-EC99-41BB-A9A8-89A0A6AFB4FF}']
['{630E20EB-7A1B-4D94-A37F-FC3D7E2B2F94}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
@ -190,7 +194,7 @@ type
{ IPedidosProveedor }
IPedidosProveedor = interface(IDAStronglyTypedDataTable)
['{4B514240-A227-449A-8FEB-075F2EE571C1}']
['{A6855621-219A-4EDE-8021-69F65DE1ED37}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -789,7 +793,7 @@ type
{ IPedidosProveedor_Detalles }
IPedidosProveedor_Detalles = interface(IDAStronglyTypedDataTable)
['{789E8F18-CF69-4A33-ADE4-FE287BD2F6E3}']
['{40CDF59D-E1C3-4DE3-A623-C9E9378BE6EB}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -839,6 +843,14 @@ type
procedure SetIMPORTE_PORTEValue(const aValue: Currency);
function GetIMPORTE_PORTEIsNull: Boolean;
procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean);
function GetREFERENCIAValue: String;
procedure SetREFERENCIAValue(const aValue: String);
function GetREFERENCIAIsNull: Boolean;
procedure SetREFERENCIAIsNull(const aValue: Boolean);
function GetREFERENCIA_PROVEEDORValue: String;
procedure SetREFERENCIA_PROVEEDORValue(const aValue: String);
function GetREFERENCIA_PROVEEDORIsNull: Boolean;
procedure SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean);
{ Properties }
@ -866,6 +878,10 @@ type
property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
property REFERENCIA_PROVEEDOR: String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue;
property REFERENCIA_PROVEEDORIsNull: Boolean read GetREFERENCIA_PROVEEDORIsNull write SetREFERENCIA_PROVEEDORIsNull;
end;
{ TPedidosProveedor_DetallesDataTableRules }
@ -921,6 +937,14 @@ type
procedure SetIMPORTE_PORTEValue(const aValue: Currency); virtual;
function GetIMPORTE_PORTEIsNull: Boolean; virtual;
procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean); virtual;
function GetREFERENCIAValue: String; virtual;
procedure SetREFERENCIAValue(const aValue: String); virtual;
function GetREFERENCIAIsNull: Boolean; virtual;
procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
function GetREFERENCIA_PROVEEDORValue: String; virtual;
procedure SetREFERENCIA_PROVEEDORValue(const aValue: String); virtual;
function GetREFERENCIA_PROVEEDORIsNull: Boolean; virtual;
procedure SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
@ -947,6 +971,10 @@ type
property DESCUENTOIsNull: Boolean read GetDESCUENTOIsNull write SetDESCUENTOIsNull;
property IMPORTE_PORTE: Currency read GetIMPORTE_PORTEValue write SetIMPORTE_PORTEValue;
property IMPORTE_PORTEIsNull: Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue;
property REFERENCIAIsNull: Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
property REFERENCIA_PROVEEDOR: String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue;
property REFERENCIA_PROVEEDORIsNull: Boolean read GetREFERENCIA_PROVEEDORIsNull write SetREFERENCIA_PROVEEDORIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
@ -2286,6 +2314,48 @@ begin
DataTable.Fields[idx_PedidosProveedor_DetallesIMPORTE_PORTE].AsVariant := Null;
end;
function TPedidosProveedor_DetallesDataTableRules.GetREFERENCIAValue: String;
begin
result := DataTable.Fields[idx_PedidosProveedor_DetallesREFERENCIA].AsString;
end;
procedure TPedidosProveedor_DetallesDataTableRules.SetREFERENCIAValue(const aValue: String);
begin
DataTable.Fields[idx_PedidosProveedor_DetallesREFERENCIA].AsString := aValue;
end;
function TPedidosProveedor_DetallesDataTableRules.GetREFERENCIAIsNull: boolean;
begin
result := DataTable.Fields[idx_PedidosProveedor_DetallesREFERENCIA].IsNull;
end;
procedure TPedidosProveedor_DetallesDataTableRules.SetREFERENCIAIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_PedidosProveedor_DetallesREFERENCIA].AsVariant := Null;
end;
function TPedidosProveedor_DetallesDataTableRules.GetREFERENCIA_PROVEEDORValue: String;
begin
result := DataTable.Fields[idx_PedidosProveedor_DetallesREFERENCIA_PROVEEDOR].AsString;
end;
procedure TPedidosProveedor_DetallesDataTableRules.SetREFERENCIA_PROVEEDORValue(const aValue: String);
begin
DataTable.Fields[idx_PedidosProveedor_DetallesREFERENCIA_PROVEEDOR].AsString := aValue;
end;
function TPedidosProveedor_DetallesDataTableRules.GetREFERENCIA_PROVEEDORIsNull: boolean;
begin
result := DataTable.Fields[idx_PedidosProveedor_DetallesREFERENCIA_PROVEEDOR].IsNull;
end;
procedure TPedidosProveedor_DetallesDataTableRules.SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_PedidosProveedor_DetallesREFERENCIA_PROVEEDOR].AsVariant := Null;
end;
initialization
RegisterDataTableRules(RID_ListaAnosPedidos, TListaAnosPedidosDataTableRules);

View File

@ -9,14 +9,14 @@ 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 = '{95D5F3C7-2C97-4833-B997-3310381E0677}';
RID_PedidosProveedorDelta = '{B20DB610-3AD2-45BC-AE64-E65AC581EA0A}';
RID_PedidosProveedor_DetallesDelta = '{3B702A8D-48D7-4621-9B8F-12DE7F5F299D}';
RID_ListaAnosPedidosDelta = '{4CF5B425-E5E1-4A34-B09B-2C2C56FB6743}';
RID_PedidosProveedorDelta = '{C3FCC424-2B70-439A-BC7B-C55B3AE767A5}';
RID_PedidosProveedor_DetallesDelta = '{DEAC45DE-E6E4-45DD-BCE2-68B14A0D19E4}';
type
{ IListaAnosPedidosDelta }
IListaAnosPedidosDelta = interface(IListaAnosPedidos)
['{95D5F3C7-2C97-4833-B997-3310381E0677}']
['{4CF5B425-E5E1-4A34-B09B-2C2C56FB6743}']
{ Property getters and setters }
function GetOldANOValue : String;
@ -50,7 +50,7 @@ type
{ IPedidosProveedorDelta }
IPedidosProveedorDelta = interface(IPedidosProveedor)
['{B20DB610-3AD2-45BC-AE64-E65AC581EA0A}']
['{C3FCC424-2B70-439A-BC7B-C55B3AE767A5}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@ -650,7 +650,7 @@ type
{ IPedidosProveedor_DetallesDelta }
IPedidosProveedor_DetallesDelta = interface(IPedidosProveedor_Detalles)
['{3B702A8D-48D7-4621-9B8F-12DE7F5F299D}']
['{DEAC45DE-E6E4-45DD-BCE2-68B14A0D19E4}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_PEDIDOValue : Integer;
@ -664,6 +664,8 @@ type
function GetOldID_ARTICULOValue : Integer;
function GetOldDESCUENTOValue : Float;
function GetOldIMPORTE_PORTEValue : Currency;
function GetOldREFERENCIAValue : String;
function GetOldREFERENCIA_PROVEEDORValue : String;
{ Properties }
property OldID : Integer read GetOldIDValue;
@ -678,6 +680,8 @@ type
property OldID_ARTICULO : Integer read GetOldID_ARTICULOValue;
property OldDESCUENTO : Float read GetOldDESCUENTOValue;
property OldIMPORTE_PORTE : Currency read GetOldIMPORTE_PORTEValue;
property OldREFERENCIA : String read GetOldREFERENCIAValue;
property OldREFERENCIA_PROVEEDOR : String read GetOldREFERENCIA_PROVEEDORValue;
end;
{ TPedidosProveedor_DetallesBusinessProcessorRules }
@ -757,6 +761,18 @@ type
function GetOldIMPORTE_PORTEIsNull: Boolean; virtual;
procedure SetIMPORTE_PORTEValue(const aValue: Currency); virtual;
procedure SetIMPORTE_PORTEIsNull(const aValue: Boolean); virtual;
function GetREFERENCIAValue: String; virtual;
function GetREFERENCIAIsNull: Boolean; virtual;
function GetOldREFERENCIAValue: String; virtual;
function GetOldREFERENCIAIsNull: Boolean; virtual;
procedure SetREFERENCIAValue(const aValue: String); virtual;
procedure SetREFERENCIAIsNull(const aValue: Boolean); virtual;
function GetREFERENCIA_PROVEEDORValue: String; virtual;
function GetREFERENCIA_PROVEEDORIsNull: Boolean; virtual;
function GetOldREFERENCIA_PROVEEDORValue: String; virtual;
function GetOldREFERENCIA_PROVEEDORIsNull: Boolean; virtual;
procedure SetREFERENCIA_PROVEEDORValue(const aValue: String); virtual;
procedure SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
@ -807,6 +823,14 @@ type
property IMPORTE_PORTEIsNull : Boolean read GetIMPORTE_PORTEIsNull write SetIMPORTE_PORTEIsNull;
property OldIMPORTE_PORTE : Currency read GetOldIMPORTE_PORTEValue;
property OldIMPORTE_PORTEIsNull : Boolean read GetOldIMPORTE_PORTEIsNull;
property REFERENCIA : String read GetREFERENCIAValue write SetREFERENCIAValue;
property REFERENCIAIsNull : Boolean read GetREFERENCIAIsNull write SetREFERENCIAIsNull;
property OldREFERENCIA : String read GetOldREFERENCIAValue;
property OldREFERENCIAIsNull : Boolean read GetOldREFERENCIAIsNull;
property REFERENCIA_PROVEEDOR : String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue;
property REFERENCIA_PROVEEDORIsNull : Boolean read GetREFERENCIA_PROVEEDORIsNull write SetREFERENCIA_PROVEEDORIsNull;
property OldREFERENCIA_PROVEEDOR : String read GetOldREFERENCIA_PROVEEDORValue;
property OldREFERENCIA_PROVEEDORIsNull : Boolean read GetOldREFERENCIA_PROVEEDORIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
@ -2759,6 +2783,68 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosProveedor_DetallesIMPORTE_PORTE] := Null;
end;
function TPedidosProveedor_DetallesBusinessProcessorRules.GetREFERENCIAValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosProveedor_DetallesREFERENCIA];
end;
function TPedidosProveedor_DetallesBusinessProcessorRules.GetREFERENCIAIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosProveedor_DetallesREFERENCIA]);
end;
function TPedidosProveedor_DetallesBusinessProcessorRules.GetOldREFERENCIAValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosProveedor_DetallesREFERENCIA];
end;
function TPedidosProveedor_DetallesBusinessProcessorRules.GetOldREFERENCIAIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosProveedor_DetallesREFERENCIA]);
end;
procedure TPedidosProveedor_DetallesBusinessProcessorRules.SetREFERENCIAValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosProveedor_DetallesREFERENCIA] := aValue;
end;
procedure TPedidosProveedor_DetallesBusinessProcessorRules.SetREFERENCIAIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosProveedor_DetallesREFERENCIA] := Null;
end;
function TPedidosProveedor_DetallesBusinessProcessorRules.GetREFERENCIA_PROVEEDORValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosProveedor_DetallesREFERENCIA_PROVEEDOR];
end;
function TPedidosProveedor_DetallesBusinessProcessorRules.GetREFERENCIA_PROVEEDORIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosProveedor_DetallesREFERENCIA_PROVEEDOR]);
end;
function TPedidosProveedor_DetallesBusinessProcessorRules.GetOldREFERENCIA_PROVEEDORValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosProveedor_DetallesREFERENCIA_PROVEEDOR];
end;
function TPedidosProveedor_DetallesBusinessProcessorRules.GetOldREFERENCIA_PROVEEDORIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_PedidosProveedor_DetallesREFERENCIA_PROVEEDOR]);
end;
procedure TPedidosProveedor_DetallesBusinessProcessorRules.SetREFERENCIA_PROVEEDORValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosProveedor_DetallesREFERENCIA_PROVEEDOR] := aValue;
end;
procedure TPedidosProveedor_DetallesBusinessProcessorRules.SetREFERENCIA_PROVEEDORIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_PedidosProveedor_DetallesREFERENCIA_PROVEEDOR] := Null;
end;
initialization
RegisterBusinessProcessorRules(RID_ListaAnosPedidosDelta, TListaAnosPedidosBusinessProcessorRules);

View File

@ -25,6 +25,7 @@
<Projects Include="..\Facturas de cliente\Views\FacturasCliente_view.dproj" />
<Projects Include="..\Gestion de documentos\Controller\GestorDocumentos_controller.dproj" />
<Projects Include="..\Gestion de documentos\Data\GestorDocumentos_data.dproj" />
<Projects Include="..\Presupuestos de cliente\Controller\PresupuestosCliente_controller.dproj" />
<Projects Include="..\Relaciones\Contratos de cliente - Albaranes de cliente\ConCli_AlbCli_relation.dproj" />
<Projects Include="..\Relaciones\Contratos de cliente - Pedidos de proveedor\ConCli_PedProv_relation.dproj" />
<Projects Include="..\Relaciones\Pedidos de proveedor - Albaranes de proveedor\PedProv_AlbProv_relation.dproj" />
@ -301,14 +302,23 @@
<Target Name="ConCli_AlbCli_relation:Make">
<MSBuild Projects="..\Relaciones\Contratos de cliente - Albaranes de cliente\ConCli_AlbCli_relation.dproj" Targets="Make" />
</Target>
<Target Name="PresupuestosCliente_controller">
<MSBuild Projects="..\Presupuestos de cliente\Controller\PresupuestosCliente_controller.dproj" Targets="" />
</Target>
<Target Name="PresupuestosCliente_controller:Clean">
<MSBuild Projects="..\Presupuestos de cliente\Controller\PresupuestosCliente_controller.dproj" Targets="Clean" />
</Target>
<Target Name="PresupuestosCliente_controller:Make">
<MSBuild Projects="..\Presupuestos de cliente\Controller\PresupuestosCliente_controller.dproj" Targets="Make" />
</Target>
<Target Name="Build">
<CallTarget Targets="Base;GUIBase;ApplicationBase;Contactos_view;Articulos_model;Articulos_data;Articulos_controller;Articulos_view;PedidosProveedor_model;PedidosProveedor_data;PedidosProveedor_controller;AlbaranesProveedor_controller;PedProv_AlbProv_relation;PedidosProveedor_view;PedidosProveedor_plugin;FactuGES;FactuGES_Server;ContratosCliente_view;ContratosCliente_controller;AlbaranesCliente_data;GestorDocumentos_data;GestorDocumentos_controller;AlbaranesCliente_view;FacturasCliente_view;ConCli_PedProv_relation;Contactos_controller;Contactos_model;Contactos_data;ConCli_AlbCli_relation" />
<CallTarget Targets="Base;GUIBase;ApplicationBase;Contactos_view;Articulos_model;Articulos_data;Articulos_controller;Articulos_view;PedidosProveedor_model;PedidosProveedor_data;PedidosProveedor_controller;AlbaranesProveedor_controller;PedProv_AlbProv_relation;PedidosProveedor_view;PedidosProveedor_plugin;FactuGES;FactuGES_Server;ContratosCliente_view;ContratosCliente_controller;AlbaranesCliente_data;GestorDocumentos_data;GestorDocumentos_controller;AlbaranesCliente_view;FacturasCliente_view;ConCli_PedProv_relation;Contactos_controller;Contactos_model;Contactos_data;ConCli_AlbCli_relation;PresupuestosCliente_controller" />
</Target>
<Target Name="Clean">
<CallTarget Targets="Base:Clean;GUIBase:Clean;ApplicationBase:Clean;Contactos_view:Clean;Articulos_model:Clean;Articulos_data:Clean;Articulos_controller:Clean;Articulos_view:Clean;PedidosProveedor_model:Clean;PedidosProveedor_data:Clean;PedidosProveedor_controller:Clean;AlbaranesProveedor_controller:Clean;PedProv_AlbProv_relation:Clean;PedidosProveedor_view:Clean;PedidosProveedor_plugin:Clean;FactuGES:Clean;FactuGES_Server:Clean;ContratosCliente_view:Clean;ContratosCliente_controller:Clean;AlbaranesCliente_data:Clean;GestorDocumentos_data:Clean;GestorDocumentos_controller:Clean;AlbaranesCliente_view:Clean;FacturasCliente_view:Clean;ConCli_PedProv_relation:Clean;Contactos_controller:Clean;Contactos_model:Clean;Contactos_data:Clean;ConCli_AlbCli_relation:Clean" />
<CallTarget Targets="Base:Clean;GUIBase:Clean;ApplicationBase:Clean;Contactos_view:Clean;Articulos_model:Clean;Articulos_data:Clean;Articulos_controller:Clean;Articulos_view:Clean;PedidosProveedor_model:Clean;PedidosProveedor_data:Clean;PedidosProveedor_controller:Clean;AlbaranesProveedor_controller:Clean;PedProv_AlbProv_relation:Clean;PedidosProveedor_view:Clean;PedidosProveedor_plugin:Clean;FactuGES:Clean;FactuGES_Server:Clean;ContratosCliente_view:Clean;ContratosCliente_controller:Clean;AlbaranesCliente_data:Clean;GestorDocumentos_data:Clean;GestorDocumentos_controller:Clean;AlbaranesCliente_view:Clean;FacturasCliente_view:Clean;ConCli_PedProv_relation:Clean;Contactos_controller:Clean;Contactos_model:Clean;Contactos_data:Clean;ConCli_AlbCli_relation:Clean;PresupuestosCliente_controller:Clean" />
</Target>
<Target Name="Make">
<CallTarget Targets="Base:Make;GUIBase:Make;ApplicationBase:Make;Contactos_view:Make;Articulos_model:Make;Articulos_data:Make;Articulos_controller:Make;Articulos_view:Make;PedidosProveedor_model:Make;PedidosProveedor_data:Make;PedidosProveedor_controller:Make;AlbaranesProveedor_controller:Make;PedProv_AlbProv_relation:Make;PedidosProveedor_view:Make;PedidosProveedor_plugin:Make;FactuGES:Make;FactuGES_Server:Make;ContratosCliente_view:Make;ContratosCliente_controller:Make;AlbaranesCliente_data:Make;GestorDocumentos_data:Make;GestorDocumentos_controller:Make;AlbaranesCliente_view:Make;FacturasCliente_view:Make;ConCli_PedProv_relation:Make;Contactos_controller:Make;Contactos_model:Make;Contactos_data:Make;ConCli_AlbCli_relation:Make" />
<CallTarget Targets="Base:Make;GUIBase:Make;ApplicationBase:Make;Contactos_view:Make;Articulos_model:Make;Articulos_data:Make;Articulos_controller:Make;Articulos_view:Make;PedidosProveedor_model:Make;PedidosProveedor_data:Make;PedidosProveedor_controller:Make;AlbaranesProveedor_controller:Make;PedProv_AlbProv_relation:Make;PedidosProveedor_view:Make;PedidosProveedor_plugin:Make;FactuGES:Make;FactuGES_Server:Make;ContratosCliente_view:Make;ContratosCliente_controller:Make;AlbaranesCliente_data:Make;GestorDocumentos_data:Make;GestorDocumentos_controller:Make;AlbaranesCliente_view:Make;FacturasCliente_view:Make;ConCli_PedProv_relation:Make;Contactos_controller:Make;Contactos_model:Make;Contactos_data:Make;ConCli_AlbCli_relation:Make;PresupuestosCliente_controller:Make" />
</Target>
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />
</Project>

View File

@ -516,11 +516,11 @@ object srvPedidosProveedor: TsrvPedidosProveedor
'EEDOR_DETALLES.IMPORTE_UNIDAD, PEDIDOS_PROVEEDOR_DETALLES.IMPORT' +
'E_TOTAL,'#10' PEDIDOS_PROVEEDOR_DETALLES.VISIBLE,'#10#10' PEDIDOS_PR' +
'OVEEDOR_DETALLES.ID_ARTICULO, PEDIDOS_PROVEEDOR_DETALLES.DESCUEN' +
'TO,'#10' PEDIDOS_PROVEEDOR_DETALLES.IMPORTE_PORTE'#10'/*'#10' ARTICULO' +
'S.REFERENCIA, ARTICULOS.REFERENCIA_PROV as REFERENCIA_PROVEEDOR'#10 +
'*/'#10'FROM PEDIDOS_PROVEEDOR_DETALLES'#10'LEFT JOIN ARTICULOS ON PEDIDO' +
'S_PROVEEDOR_DETALLES.ID_ARTICULO = ARTICULOS.ID'#10'WHERE {where}'#10'OR' +
'DER BY POSICION;'#10
'TO,'#10' PEDIDOS_PROVEEDOR_DETALLES.IMPORTE_PORTE,'#10#10' ARTICULOS' +
'.REFERENCIA, ARTICULOS.REFERENCIA_PROV as REFERENCIA_PROVEEDOR'#10#10 +
'FROM PEDIDOS_PROVEEDOR_DETALLES'#10'LEFT JOIN ARTICULOS ON PEDIDOS_P' +
'ROVEEDOR_DETALLES.ID_ARTICULO = ARTICULOS.ID'#10'WHERE {where}'#10'ORDER' +
' BY POSICION;'#10
StatementType = stSQL
ColumnMappings = <
item
@ -570,6 +570,15 @@ object srvPedidosProveedor: TsrvPedidosProveedor
item
DatasetField = 'IMPORTE_PORTE'
TableField = 'IMPORTE_PORTE'
end
item
DatasetField = 'REFERENCIA'
TableField = '<unknown>'
SQLOrigin = 'REFERENCIA'
end
item
DatasetField = 'REFERENCIA_PROVEEDOR'
TableField = 'REFERENCIA_PROVEEDOR'
end>
end>
Name = 'PedidosProveedor_Detalles'
@ -626,6 +635,16 @@ object srvPedidosProveedor: TsrvPedidosProveedor
item
Name = 'IMPORTE_PORTE'
DataType = datCurrency
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'REFERENCIA_PROVEEDOR'
DataType = datString
Size = 255
end>
end>
JoinDataTables = <>

View File

@ -5,14 +5,13 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
ClientHeight = 668
ClientWidth = 922
OnClose = CustomEditorClose
ExplicitWidth = 930
ExplicitHeight = 702
ExplicitWidth = 938
ExplicitHeight = 706
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
Width = 922
Caption = 'Nuevo pedido a proveedor'
ExplicitTop = 49
ExplicitWidth = 922
inherited Image1: TImage
Left = 895
@ -42,12 +41,18 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
00C20B50400F1E42A70000000049454E44AE426082}
ExplicitLeft = 735
end
inherited lblDesbloquear: TcxLabel
Left = 797
ExplicitLeft = 797
AnchorX = 842
AnchorY = 14
end
end
inherited TBXDock: TTBXDock
Width = 922
ExplicitWidth = 922
inherited tbxMain: TTBXToolbar
ExplicitWidth = 488
ExplicitWidth = 518
inherited TBXItem2: TTBXItem
Visible = False
end
@ -74,21 +79,23 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
end
inherited pgPaginas: TPageControl
Width = 916
Height = 491
Height = 489
ActivePage = pagContenido
TabOrder = 1
OnChanging = pgPaginasChanging
ExplicitTop = 111
ExplicitWidth = 916
ExplicitHeight = 491
ExplicitHeight = 489
inherited pagGeneral: TTabSheet
ExplicitLeft = 4
ExplicitTop = 24
ExplicitWidth = 908
ExplicitHeight = 463
ExplicitHeight = 461
inline frViewPedidoProveedor1: TfrViewPedidoProveedor
Left = 0
Top = 0
Width = 908
Height = 463
Height = 461
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@ -99,16 +106,39 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
TabOrder = 0
ReadOnly = False
ExplicitWidth = 908
ExplicitHeight = 463
ExplicitHeight = 461
inherited dxLayoutControl1: TdxLayoutControl
Width = 908
Height = 463
Height = 461
ExplicitWidth = 908
ExplicitHeight = 463
ExplicitHeight = 461
inherited frViewProveedorPedido: TfrViewDatosYSeleccionProveedor
Left = 551
Width = 350
ExplicitLeft = 551
ExplicitWidth = 350
inherited dxLayoutControl1: TdxLayoutControl
Width = 350
inherited edtlNombre: TcxDBTextEdit
ExplicitWidth = 283
Width = 283
end
inherited edtNIFCIF: TcxDBTextEdit
ExplicitWidth = 283
Width = 283
end
inherited edtCalle: TcxDBTextEdit
ExplicitWidth = 283
Width = 283
end
inherited edtPoblacion: TcxDBTextEdit
ExplicitWidth = 176
Width = 176
end
inherited edtProvincia: TcxDBTextEdit
ExplicitWidth = 283
Width = 283
end
inherited edtCodigoPostal: TcxDBTextEdit
Left = 237
ExplicitLeft = 237
@ -119,8 +149,30 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
end
end
end
inherited edtFechaPedido: TcxDBDateEdit
ExplicitWidth = 158
Width = 158
end
inherited edtFechaConfirmacion: TcxDBDateEdit
ExplicitWidth = 158
Width = 158
end
inherited edtFechaEntrega: TcxDBDateEdit
ExplicitWidth = 158
Width = 158
end
inherited eReferencia: TcxDBTextEdit
ExplicitWidth = 158
Width = 158
end
inherited frViewDireccionEntregaPedidoProv1: TfrViewDireccionEntregaPedidoProv
Width = 273
Height = 166
ExplicitWidth = 273
ExplicitHeight = 166
inherited dxLayoutControl1: TdxLayoutControl
Width = 273
Height = 166
inherited rdxDestino1: TRadioButton
Width = 253
ExplicitWidth = 253
@ -158,6 +210,8 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 323
ExplicitWidth = 183
Width = 183
end
inherited eNumBultos: TcxDBSpinEdit
Left = 401
@ -165,24 +219,60 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
end
end
end
inherited cbFormaPago: TcxDBLookupComboBox
ExplicitWidth = 20
Width = 20
end
inherited bFormasPago: TButton
Left = 389
ExplicitLeft = 389
end
inherited edtFechaEnvio: TcxDBDateEdit
ExplicitWidth = 158
Width = 158
end
inherited eReferenciaContratoCli: TcxTextEdit
ExplicitWidth = 20
Width = 20
end
inherited Button1: TButton
Left = 421
ExplicitLeft = 421
end
inherited frViewTienda1: TfrViewTienda
Left = 551
Width = 357
Enabled = True
ExplicitLeft = 551
ExplicitWidth = 357
inherited dxLayoutControl1: TdxLayoutControl
Width = 357
inherited cbTienda: TcxComboBox
ExplicitWidth = 390
Width = 390
end
end
end
inherited frViewObservaciones1: TfrViewObservaciones
Width = 422
ExplicitWidth = 422
inherited memObservaciones: TcxDBMemo
DataBinding.DataSource = frViewPedidoProveedor1.DADataSource
Width = 422
end
end
inherited edtlDescripcion: TcxDBTextEdit
ExplicitWidth = 283
Width = 283
end
inherited edtFechaEnvio2: TcxDBDateEdit
ExplicitWidth = 257
Width = 257
end
inherited cbVendedor: TcxDBLookupComboBox
ExplicitWidth = 250
Width = 250
end
inherited Button2: TButton
Left = 315
ExplicitLeft = 315
@ -204,7 +294,7 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
Left = 0
Top = 0
Width = 908
Height = 463
Height = 461
Align = alClient
BiDiMode = bdLeftToRight
Font.Charset = DEFAULT_CHARSET
@ -217,7 +307,7 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
TabOrder = 0
ReadOnly = False
ExplicitWidth = 908
ExplicitHeight = 463
ExplicitHeight = 461
inherited ToolBar1: TToolBar
Width = 908
Height = 24
@ -302,10 +392,10 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
inherited cxGrid: TcxGrid
Top = 50
Width = 908
Height = 413
Height = 411
ExplicitTop = 50
ExplicitWidth = 908
ExplicitHeight = 413
ExplicitHeight = 411
inherited cxGridView: TcxGridDBTableView
inherited cxGridViewIMPORTENETO: TcxGridDBColumn
Options.Editing = True
@ -318,7 +408,7 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
ExplicitTop = 24
ExplicitWidth = 908
inherited TBXToolbar1: TTBXToolbar
ExplicitWidth = 548
ExplicitWidth = 597
end
end
end
@ -330,7 +420,7 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
Left = 0
Top = 0
Width = 908
Height = 463
Height = 461
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@ -341,7 +431,6 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
TabOrder = 0
ReadOnly = False
ExplicitWidth = 908
ExplicitHeight = 463
inherited pnlSup: TPanel
Width = 908
ExplicitWidth = 908
@ -351,13 +440,9 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
end
inherited GroupBox1: TGroupBox
Width = 908
Height = 435
ExplicitWidth = 908
ExplicitHeight = 435
inherited eIncidencias: TcxDBMemo
ExplicitWidth = 904
ExplicitHeight = 418
Height = 418
Width = 904
end
end
@ -371,7 +456,7 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
Left = 0
Top = 0
Width = 908
Height = 463
Height = 461
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@ -382,14 +467,14 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
TabOrder = 0
ReadOnly = False
ExplicitWidth = 908
ExplicitHeight = 463
ExplicitHeight = 461
inherited TBXDock: TTBXDock
Width = 908
ExplicitWidth = 908
end
inherited ListView1: TListView
Width = 908
Height = 440
Height = 436
ExplicitTop = 29
ExplicitWidth = 908
ExplicitHeight = 425
@ -440,6 +525,8 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
Style.IsFontAssigned = True
ExplicitLeft = 164
ExplicitTop = 38
ExplicitWidth = 93
Width = 93
end
inherited ImporteIVA: TcxDBCurrencyEdit
Left = 636
@ -447,6 +534,8 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
Style.IsFontAssigned = True
ExplicitLeft = 636
ExplicitTop = 88
ExplicitWidth = 137
Width = 137
end
inherited ImporteTotal: TcxDBCurrencyEdit
Left = 566
@ -454,6 +543,8 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
Style.IsFontAssigned = True
ExplicitLeft = 566
ExplicitTop = 142
ExplicitWidth = 137
Width = 137
end
inherited edtDescuento: TcxDBSpinEdit
Left = 93
@ -475,6 +566,8 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
Style.IsFontAssigned = True
ExplicitLeft = 565
ExplicitTop = 11
ExplicitWidth = 92
Width = 92
end
inherited edtRE: TcxDBSpinEdit
Left = 565
@ -493,6 +586,8 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
Style.IsFontAssigned = True
ExplicitLeft = 636
ExplicitTop = 115
ExplicitWidth = 56
Width = 56
end
inherited eImporteNeto: TcxDBCurrencyEdit
Left = 93
@ -500,6 +595,8 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
Style.IsFontAssigned = True
ExplicitLeft = 93
ExplicitTop = 11
ExplicitWidth = 147
Width = 147
end
inherited ePorte: TcxDBCurrencyEdit
Left = 93
@ -508,6 +605,8 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
Style.IsFontAssigned = True
ExplicitLeft = 93
ExplicitTop = 65
ExplicitWidth = 147
Width = 147
end
inherited eIVA: TcxDBLookupComboBox
Left = 93
@ -516,6 +615,8 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
DataBinding.DataSource = nil
ExplicitLeft = 93
ExplicitTop = 92
ExplicitWidth = 81
Width = 81
end
inherited bTiposIVA: TButton
Left = 305
@ -529,6 +630,8 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
DataBinding.DataField = ''
ExplicitLeft = 93
ExplicitTop = 119
ExplicitWidth = 219
Width = 219
end
inherited dxLayoutControl1Group_Root: TdxLayoutGroup
inherited dxLayoutControl1Group1: TdxLayoutGroup
@ -575,6 +678,7 @@ inherited fEditorPedidoProveedor: TfEditorPedidoProveedor
end
inherited PnlComentario: TPanel [5]
Width = 922
ExplicitTop = 78
ExplicitWidth = 922
inherited lbComentario: TLabel
Width = 912

View File

@ -15,7 +15,7 @@ uses
uViewDetallesBase, uViewDetallesPedidoProveedor,
dxLayoutLookAndFeels, JvExComCtrls, JvStatusBar, uViewTotales,
uViewDetallesDTO, uViewDetallesArticulos, uDAInterfaces, uViewDocumentos,
uViewDocumentosPedidoProveedor;
uViewDocumentosPedidoProveedor, cxLabel;
type
TfEditorPedidoProveedor = class(TfEditorDBItem, IEditorPedidoProveedor)

View File

@ -1,9 +1,19 @@
inherited frViewDetallesPedidoProveedor: TfrViewDetallesPedidoProveedor
inherited cxGrid: TcxGrid
ExplicitTop = 72
ExplicitWidth = 451
ExplicitHeight = 232
inherited cxGridView: TcxGridDBTableView
inherited cxGridViewREFERENCIA_PROVEEDOR: TcxGridDBColumn
Visible = True
end
inherited cxGridViewIMPORTENETO: TcxGridDBColumn
Properties.ReadOnly = False
end
end
end
inherited TBXDock1: TTBXDock
ExplicitTop = 46
ExplicitWidth = 451
end
end

View File

@ -208,7 +208,7 @@ uses
uIEditorPresupuestosCliente, uDataModulePresupuestosCliente, Variants,
uBizContactos, uDataTableUtils, uDataModuleUsuarios, uFactuGES_App, uConfiguracionController,
schPresupuestosClienteClient_Intf, uDAInterfaces, uDateUtils, uIEditorPresupuestoCliente,
uIEditorElegirPresupuestosCliente, uIEditorDireccionEntregaPresupuestoCliente,
uIEditorElegirPresupuestosCliente, uIEditorDireccionEntregaPresupuestoCliente, uVendedoresController,
schContactosClient_Intf, uPresupuestosClienteReportController, FactuGES_Intf,
uSistemaFunc, uEMailUtils, uDialogElegirEMail, Dialogs, uStringsUtils;
@ -351,6 +351,8 @@ end;
function TPresupuestosClienteController.CambiarSituacion(APresupuesto: IBizPresupuestoCliente;
Situacion: String; FechaDecision: TDateTime; AllItems: Boolean): Boolean;
var
AVendedoresController : IVendedoresController;
// En el caso de cambiar almenos un elemento del conjunto se devuelve true
begin
if not Assigned(APresupuesto) then
@ -358,6 +360,7 @@ begin
ShowHourglassCursor;
try
AVendedoresController := TVendedoresController.Create;
if not APresupuesto.DataTable.Active then
APresupuesto.DataTable.Active := True;
@ -370,6 +373,7 @@ begin
APresupuesto.DataTable.Edit;
APresupuesto.SITUACION := Situacion;
APresupuesto.FECHA_DECISION := FechaDecision;
APresupuesto.ID_VENDEDOR := AVendedoresController.DarIDVendedorDeUsuario(AppFactuGES.UsuarioActivo.ID);
APresupuesto.DataTable.Post;
end;
@ -386,6 +390,7 @@ begin
APresupuesto.DataTable.Edit;
APresupuesto.SITUACION := Situacion;
APresupuesto.FECHA_DECISION := FechaDecision;
APresupuesto.ID_VENDEDOR := AVendedoresController.DarIDVendedorDeUsuario(AppFactuGES.UsuarioActivo.ID);
APresupuesto.DataTable.Post;
end;
Next;
@ -397,6 +402,7 @@ begin
Result := True;
finally
AVendedoresController := nil;
HideHourglassCursor;
end;
end;

View File

@ -1,8 +1,7 @@
inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
Caption = 'Lista de presupuestos de cliente'
ClientWidth = 805
ExplicitWidth = 813
ExplicitHeight = 240
ExplicitWidth = 821
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
@ -161,7 +160,7 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
end
end
inherited tbxFiltro: TTBXToolbar
ExplicitWidth = 481
ExplicitWidth = 487
inherited lblAno: TTBXLabelItem
Visible = True
end
@ -198,11 +197,11 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente
end
end
inherited TBXTMain2: TTBXToolbar
Left = 481
Left = 487
DockPos = 343
Visible = True
ExplicitLeft = 481
ExplicitWidth = 252
ExplicitLeft = 487
ExplicitWidth = 265
object TBXItem43: TTBXItem
Action = actAceptar
DisplayMode = nbdmImageAndText

View File

@ -94,6 +94,7 @@ type
procedure RefrescarInterno; override;
procedure CambiarSituacion(const ASituacion : String);
function GenerarContrato(const APresupuestos : IBizPresupuestoCliente; const AllItems : Boolean = True) : Boolean; overload;
//Si queremos crear otra vista para el editor heredado solo tendriamos que
//sobreescribir este metodo
@ -213,33 +214,10 @@ begin
if MultiSelect and Assigned(ViewGrid) then
AllItems := (ViewGrid.NumSeleccionados > 1);
if AllItems then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Presupuestos as ISeleccionable).SelectedRecords);
APresupuestos := (Controller as IPresupuestosClienteController).ExtraerSeleccionados(Presupuestos) as IBizPresupuestoCliente;
end
else
APresupuestos := Self.Presupuestos;
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Presupuestos as ISeleccionable).SelectedRecords);
APresupuestos := (Controller as IPresupuestosClienteController).ExtraerSeleccionados(Presupuestos) as IBizPresupuestoCliente;
if (Application.MessageBox('¿Está seguro que desea generar el/los contrato/s de los presupuesto/s seleccionado/s?', 'Atención', MB_YESNO) = IDYES) then
begin
if not AllItems then
GenerarContratoCli(APresupuestos.ID)
else
with APresupuestos.DataTable do
begin
First;
while not EOF do
begin
GenerarContratoCli(APresupuestos.ID, False);
Next;
end;
end;
actRefrescar.Execute;
if AllItems then
ShowInfoMessage('Se han generado los contratos');
end
GenerarContrato(APresupuestos, AllItems);
end;
procedure TfEditorPresupuestosCliente.actGenerarContratoUpdate(Sender: TObject);
@ -348,8 +326,7 @@ begin
FController.Ver(Presupuestos);
end;
procedure TfEditorPresupuestosCliente.CambiarSituacion(
const ASituacion: String);
procedure TfEditorPresupuestosCliente.CambiarSituacion(const ASituacion: String);
var
APresupuestos: IBizPresupuestoCliente;
AllItems: Boolean;
@ -367,15 +344,8 @@ begin
if MultiSelect and Assigned(ViewGrid) then
AllItems := (ViewGrid.NumSeleccionados > 1);
if AllItems then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Presupuestos as ISeleccionable).SelectedRecords);
APresupuestos := (Controller as IPresupuestosClienteController).ExtraerSeleccionados(Presupuestos) as IBizPresupuestoCliente;
end
else begin
APresupuestos := Presupuestos;
end;
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Presupuestos as ISeleccionable).SelectedRecords);
APresupuestos := (Controller as IPresupuestosClienteController).ExtraerSeleccionados(Presupuestos) as IBizPresupuestoCliente;
if Assigned(APresupuestos) then
begin
ViewGrid._Grid.BeginUpdate;
@ -400,10 +370,9 @@ begin
end;
if (ShowConfirmMessage(ATitulo, AMensaje) = IDYES) then
actGenerarContrato.Execute;
GenerarContrato(APresupuestos, AllItems);
end;
end;
end;
end;
@ -502,6 +471,29 @@ begin
ViewGrid.GotoFirst;
end;
function TfEditorPresupuestosCliente.GenerarContrato(const APresupuestos: IBizPresupuestoCliente; const AllItems: Boolean): Boolean;
begin
if Assigned(APresupuestos) then
begin
if not AllItems then
GenerarContratoCli(APresupuestos.ID)
else
with APresupuestos.DataTable do
begin
First;
while not EOF do
begin
GenerarContratoCli(APresupuestos.ID, False);
Next;
end;
end;
actRefrescar.Execute;
if AllItems then
ShowInfoMessage('Se han generado todos los contratos');
end;
end;
function TfEditorPresupuestosCliente.GetController: IPresupuestosClienteController;
begin
Result := FController;

View File

@ -24,7 +24,7 @@ implementation
uses
uDialogUtils, uBizDetallesPresupuestoCliente, uBizDetallesContratoCliente,
uPresupuestosClienteController, uContratosClienteController, uClientesController,
uPresupuestosClienteController, uContratosClienteController, uClientesController, uVendedoresController,
uDetallesContratoClienteController, uDetallesPresupuestoClienteController, uControllerDetallesBase,
uBizContactos, schPresupuestosClienteClient_Intf,
schContratosClienteClient_Intf, uDireccionesContactoController,
@ -36,6 +36,7 @@ var
AContratosClienteController : IContratosClienteController;
ADireccionesController : IDireccionesContactoController;
AClientesController : IClientesController;
AVendedoresController : IVendedoresController;
{ Métodos auxiliares }
procedure PreguntarMostrarContrato(AContrato : IBizContratoCliente);
@ -153,7 +154,7 @@ begin
AContrato.ID_TIENDA := APresupuesto.ID_TIENDA;
AContrato.TIENDA := APresupuesto.TIENDA;
AContrato.ID_PRESUPUESTADOR := APresupuesto.ID_PRESUPUESTADOR;
// AContrato.ID_VENDEDOR := APresupuesto.ID_VENDEDOR;
AContrato.ID_VENDEDOR := AVendedoresController.DarIDVendedorDeUsuario(AppFactuGES.UsuarioActivo.ID);
AContrato.RECARGO_EQUIVALENCIA := APresupuesto.RECARGO_EQUIVALENCIA;
AContrato.RE := APresupuesto.RE;
AContrato.IMPORTE_RE := APresupuesto.IMPORTE_RE;
@ -316,6 +317,7 @@ begin
APresupuestosClienteController := TPresupuestosClienteController.Create;
AContratosClienteController := TContratosClienteController.Create;
AClientesController := TClientesController.Create;
AVendedoresController := TVendedoresController.Create;
ADireccionesController := TDireccionesContactoController.Create;
end;
@ -325,6 +327,7 @@ begin
APresupuestosClienteController := nil;
AContratosClienteController := nil;
AClientesController := nil;
AVendedoresController := nil;
ADireccionesController := nil;
end;

View File

@ -104,8 +104,6 @@ uses
srvContratosCliente_Impl in '..\Modulos\Contratos de cliente\Servidor\srvContratosCliente_Impl.pas' {srvContratosCliente: TDataAbstractService},
uBizContratosClienteServer in '..\Modulos\Contratos de cliente\Model\uBizContratosClienteServer.pas',
uRptContratosCliente_Server in '..\Modulos\Contratos de cliente\Reports\uRptContratosCliente_Server.pas' {RptContratosCliente},
schInventarioClient_Intf in '..\Modulos\Inventario\Model\schInventarioClient_Intf.pas',
schInventarioServer_Intf in '..\Modulos\Inventario\Model\schInventarioServer_Intf.pas',
schFamiliasClient_Intf in '..\Modulos\Familias\Model\schFamiliasClient_Intf.pas',
schFamiliasServer_Intf in '..\Modulos\Familias\Model\schFamiliasServer_Intf.pas',
uRptListadosContactos_Server in '..\Modulos\Contactos\Reports\uRptListadosContactos_Server.pas' {RptListadosContactos: TDataModule},
@ -116,16 +114,10 @@ uses
schRecibosProveedorServer_Intf in '..\Modulos\Recibos de proveedor\Model\schRecibosProveedorServer_Intf.pas',
schEmpresasClient_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas',
schEmpresasServer_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas',
schArticulosClient_Intf in '..\Modulos\Articulos\Model\schArticulosClient_Intf.pas',
schArticulosServer_Intf in '..\Modulos\Articulos\Model\schArticulosServer_Intf.pas',
schFormasPagoClient_Intf in '..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas',
schFormasPagoServer_Intf in '..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas',
schAlmacenesClient_Intf in '..\Modulos\Almacenes\Model\schAlmacenesClient_Intf.pas',
schAlmacenesServer_Intf in '..\Modulos\Almacenes\Model\schAlmacenesServer_Intf.pas',
schAlbaranesProveedorClient_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas',
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',
schBase_Intf in '..\Base\schBase_Intf.pas',
schAlbaranesClienteClient_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas',
schAlbaranesClienteServer_Intf in '..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas',
@ -139,7 +131,15 @@ uses
schContratosClienteClient_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteClient_Intf.pas',
schContratosClienteServer_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteServer_Intf.pas',
schFacturasClienteClient_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas',
schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas';
schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas',
schPedidosProveedorClient_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas',
schPedidosProveedorServer_Intf in '..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas',
schArticulosClient_Intf in '..\Modulos\Articulos\Model\schArticulosClient_Intf.pas',
schArticulosServer_Intf in '..\Modulos\Articulos\Model\schArticulosServer_Intf.pas',
schInventarioClient_Intf in '..\Modulos\Inventario\Model\schInventarioClient_Intf.pas',
schInventarioServer_Intf in '..\Modulos\Inventario\Model\schInventarioServer_Intf.pas',
schAlbaranesProveedorClient_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas',
schAlbaranesProveedorServer_Intf in '..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas';
{$R *.res}
{$R ..\Servicios\RODLFile.res}

View File

@ -28,7 +28,7 @@
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType/>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</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">5</VersionInfo><VersionInfo Name="MinorVer">2</VersionInfo><VersionInfo Name="Release">2</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">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">5.2.2.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES (Servidor)</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">5.2.2.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">lunes, 26 de mayo de 2025 10:34</VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</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">5</VersionInfo><VersionInfo Name="MinorVer">2</VersionInfo><VersionInfo Name="Release">4</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">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">5.2.4.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES (Servidor)</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">5.2.4.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">lunes, 19 de enero de 2026 18:28</VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl">File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found</Excluded_Packages>
</Excluded_Packages><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>

View File

@ -1,7 +1,7 @@
MAINICON ICON "C:\Codigo Acana\Resources\Iconos\Servidor.ico"
1 VERSIONINFO
FILEVERSION 5,2,2,0
PRODUCTVERSION 5,2,2,0
FILEVERSION 5,2,4,0
PRODUCTVERSION 5,2,4,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L
FILEOS 0x40004L
@ -13,10 +13,10 @@ BEGIN
BLOCK "0C0A04E4"
BEGIN
VALUE "CompanyName", "Rodax Software S.L.\0"
VALUE "FileVersion", "5.2.2.0\0"
VALUE "FileVersion", "5.2.4.0\0"
VALUE "ProductName", "FactuGES (Servidor)\0"
VALUE "ProductVersion", "5.2.2.0\0"
VALUE "CompileDate", "lunes, 20 de octubre de 2025 11:20\0"
VALUE "ProductVersion", "5.2.4.0\0"
VALUE "CompileDate", "martes, 20 de enero de 2026 18:22\0"
END
END
BLOCK "VarFileInfo"

Binary file not shown.