Arreglo final de cantidades en los detalles para ordenes de devolucion, y abonos (Cambiar en Luis y Acana)

git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@253 0c75b7a4-871f-7646-8a2f-f78d34cc349f
This commit is contained in:
roberto 2008-02-06 18:02:35 +00:00
parent f602071e30
commit e34e8d9aa6
20 changed files with 175 additions and 183 deletions

View File

@ -9,7 +9,7 @@ uses
type
IDetallesAlbaranClienteController = interface(IControllerDetallesArticulos)
['{6AD99D47-2856-47B1-9620-DD115726B0E1}']
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean = True); overload;
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean = True; const ACantidad: Integer = 1); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable);
function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
@ -31,7 +31,7 @@ type
function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
public
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean = True); overload;
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean = True; const ACantidad: Integer = 1); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
constructor Create; override;
destructor Destroy; override;
@ -60,7 +60,7 @@ begin
end;
end;
procedure TDetallesAlbaranClienteController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean);
procedure TDetallesAlbaranClienteController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean; const ACantidad: Integer);
var
AArticulos: IBizArticulo;
begin
@ -73,12 +73,12 @@ begin
if ANuevaFila then
begin
AArticulos := (FArticulosController as IArticulosAlbaranClienteController).ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir a este albarán de cliente', True);
Add(ADetalles, AArticulos)
Add(ADetalles, AArticulos, ACantidad)
end
else
begin
AArticulos := (FArticulosController as IArticulosAlbaranClienteController).ElegirArticulos(AArticulos, 'Elija el artículo que desea añadir a este albarán de cliente', False);
RellenarDetalle(ADetalles, AArticulos);
RellenarDetalle(ADetalles, AArticulos, ACantidad);
end;
finally

View File

@ -275,9 +275,6 @@ begin
if (FAlbaran.Detalles.RecordCount > 0) then
begin
FController.DetallesController.ActualizarDetalles(FAlbaran.Detalles, FAlbaran.Cliente);
//En caso de ser una orden de devolucion también debe cambiar el signo a los detalles
if (Albaran.TIPO = CTE_TIPO_ALBARAN_DEV) then
Controller.DetallesController.CambiarSignoDetalles(FAlbaran.Detalles);
end;
finally

View File

@ -2,29 +2,75 @@ inherited frViewDetallesAlbaranCliente: TfrViewDetallesAlbaranCliente
inherited ToolBar1: TToolBar
Height = 95
ExplicitHeight = 95
inherited ToolButton12: TToolButton [10]
inherited FontName: TJvFontComboBox [4]
Left = 56
Top = 22
ExplicitLeft = 56
ExplicitTop = 22
end
inherited ToolButton7: TToolButton [11]
inherited ToolButton14: TToolButton [5]
Left = 201
Wrap = False
ExplicitLeft = 201
end
inherited FontSize: TEdit
Left = 266
Top = 22
ExplicitLeft = 266
ExplicitTop = 22
end
inherited UpDown1: TUpDown
Left = 308
Top = 22
ExplicitLeft = 308
ExplicitTop = 22
end
inherited ToolButton13: TToolButton
Left = 325
Top = 22
ExplicitLeft = 325
ExplicitTop = 22
end
inherited ToolButton11: TToolButton [9]
Left = 333
Top = 22
ExplicitLeft = 333
ExplicitTop = 22
end
inherited ToolButton12: TToolButton [10]
Left = 0
Top = 22
Wrap = True
ExplicitLeft = 0
ExplicitTop = 22
ExplicitHeight = 27
end
inherited ToolButton9: TToolButton [11]
Left = 0
Top = 49
ExplicitLeft = 0
ExplicitTop = 49
end
inherited ToolButton8: TToolButton [12]
Left = 67
inherited ToolButton10: TToolButton [12]
Left = 145
Top = 49
ExplicitLeft = 67
ExplicitLeft = 145
ExplicitTop = 49
end
inherited ToolButton9: TToolButton
Left = 150
ExplicitLeft = 150
inherited ToolButton6: TToolButton [13]
Left = 270
Top = 49
ExplicitLeft = 270
ExplicitTop = 49
end
inherited ToolButton10: TToolButton
Left = 295
inherited ToolButton7: TToolButton [14]
Left = 336
Top = 49
Wrap = True
ExplicitLeft = 295
ExplicitLeft = 336
ExplicitTop = 49
end
inherited ToolButton11: TToolButton
inherited ToolButton8: TToolButton [15]
Left = 0
Top = 71
ExplicitLeft = 0
@ -34,6 +80,7 @@ inherited frViewDetallesAlbaranCliente: TfrViewDetallesAlbaranCliente
inherited cxGrid: TcxGrid
Top = 121
Height = 183
ExplicitHeight = 210
inherited cxGridView: TcxGridDBTableView
inherited cxGridViewTIPO: TcxGridDBColumn
Visible = False
@ -43,6 +90,7 @@ inherited frViewDetallesAlbaranCliente: TfrViewDetallesAlbaranCliente
end
inherited TBXDock1: TTBXDock
Top = 95
ExplicitTop = 68
inherited TBXToolbar1: TTBXToolbar
DockPos = 0
inherited TBXSubmenuItem1: TTBXSubmenuItem

View File

@ -46,18 +46,18 @@ uses uDetallesAlbaranClienteController, uViewDetallesBase;
function TfrViewDetallesAlbaranCliente.AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean;
begin
Result := (Controller as IDetallesAlbaranClienteController).AnadirArticulo(Detalles, pReferencia, TipoReferencia, Albaran.Cliente.ID);
if (Albaran.TIPO = CTE_TIPO_ALBARAN_DEV) then
(Controller as IDetallesAlbaranClienteController).CambiarSignoDetalles(Detalles, False);
Result := (Controller as IDetallesAlbaranClienteController).AnadirArticulo(Detalles, pReferencia, TipoReferencia, Albaran.Cliente.ID, -1)
else
Result := (Controller as IDetallesAlbaranClienteController).AnadirArticulo(Detalles, pReferencia, TipoReferencia, Albaran.Cliente.ID);
end;
procedure TfrViewDetallesAlbaranCliente.AnadirArticulosInterno;
begin
(Controller as IDetallesAlbaranClienteController).AnadirArticulos(Detalles, Albaran.Cliente);
if (Albaran.TIPO = CTE_TIPO_ALBARAN_DEV) then
(Controller as IDetallesAlbaranClienteController).CambiarSignoDetalles(Detalles, False);
(Controller as IDetallesAlbaranClienteController).AnadirArticulos(Detalles, Albaran.Cliente, true, -1)
else
(Controller as IDetallesAlbaranClienteController).AnadirArticulos(Detalles, Albaran.Cliente);
end;
function TfrViewDetallesAlbaranCliente.GetAlbaran: IBizAlbaranCliente;
@ -67,10 +67,10 @@ end;
procedure TfrViewDetallesAlbaranCliente.RellenarArticulosInterno;
begin
(Controller as IDetallesAlbaranClienteController).AnadirArticulos(Detalles, Albaran.Cliente, False);
if (Albaran.TIPO = CTE_TIPO_ALBARAN_DEV) then
(Controller as IDetallesAlbaranClienteController).CambiarSignoDetalles(Detalles, False);
(Controller as IDetallesAlbaranClienteController).AnadirArticulos(Detalles, Albaran.Cliente, False, -1)
else
(Controller as IDetallesAlbaranClienteController).AnadirArticulos(Detalles, Albaran.Cliente, False);
end;
procedure TfrViewDetallesAlbaranCliente.SetAlbaran(const Value: IBizAlbaranCliente);

View File

@ -9,7 +9,7 @@ uses
type
IDetallesAlbaranProveedorController = interface(IControllerDetallesArticulos)
['{6E35D49A-C78D-481D-93E9-859CD27EB79F}']
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean = True); overload;
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean = True; const ACantidad: Integer = 1); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor); overload;
procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable);
function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
@ -31,7 +31,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; const ACantidad: Integer = 1); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor); overload;
constructor Create; override;
destructor Destroy; override;
@ -61,7 +61,7 @@ begin
end;
end;
procedure TDetallesAlbaranProveedorController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean);
procedure TDetallesAlbaranProveedorController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean; const ACantidad: Integer);
var
AArticulos: IBizArticulo;
begin
@ -74,12 +74,12 @@ begin
if ANuevaFila then
begin
AArticulos := (FArticulosController as IArticulosAlbaranProveedorController).ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir a este albarán de proveedor', True, AProveedor);
Add(ADetalles, AArticulos)
Add(ADetalles, AArticulos, ACantidad)
end
else
begin
AArticulos := (FArticulosController as IArticulosAlbaranProveedorController).ElegirArticulos(AArticulos, 'Elija el artículo que desea añadir a este albarán de proveedor', False, AProveedor);
RellenarDetalle(ADetalles, AArticulos);
RellenarDetalle(ADetalles, AArticulos, ACantidad);
end;
finally

View File

@ -239,9 +239,6 @@ begin
if (FAlbaran.Detalles.RecordCount > 0) then
begin
FController.DetallesController.ActualizarDetalles(FAlbaran.Detalles, FAlbaran.Proveedor);
//En caso de ser una orden de devolucion también debe cambiar el signo a los detalles
if (Albaran.TIPO = CTE_TIPO_ALBARAN_DEV) then
Controller.DetallesController.CambiarSignoDetalles(FAlbaran.Detalles);
end;
end;
end;

View File

@ -80,7 +80,7 @@ inherited frViewDetallesAlbaranProveedor: TfrViewDetallesAlbaranProveedor
inherited cxGrid: TcxGrid
Top = 121
Height = 183
ExplicitHeight = 205
ExplicitTop = 99
inherited cxGridView: TcxGridDBTableView
inherited cxGridViewIMPORTENETO: TcxGridDBColumn
Properties.ReadOnly = False
@ -89,7 +89,6 @@ inherited frViewDetallesAlbaranProveedor: TfrViewDetallesAlbaranProveedor
end
inherited TBXDock1: TTBXDock
Top = 95
ExplicitTop = 68
inherited TBXToolbar1: TTBXToolbar
inherited TBXSubmenuItem1: TTBXSubmenuItem
Visible = False

View File

@ -45,18 +45,18 @@ uses uDetallesAlbaranProveedorController, uViewDetallesBase;
function TfrViewDetallesAlbaranProveedor.AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean;
begin
Result := (Controller as IDetallesAlbaranProveedorController).AnadirArticulo(Detalles, pReferencia, TipoReferencia);
if (Albaran.TIPO = CTE_TIPO_ALBARAN_DEV) then
(Controller as IDetallesAlbaranProveedorController).CambiarSignoDetalles(Detalles, False);
Result := (Controller as IDetallesAlbaranProveedorController).AnadirArticulo(Detalles, pReferencia, TipoReferencia, -1, -1)
else
Result := (Controller as IDetallesAlbaranProveedorController).AnadirArticulo(Detalles, pReferencia, TipoReferencia);
end;
procedure TfrViewDetallesAlbaranProveedor.AnadirArticulosInterno;
begin
(Controller as IDetallesAlbaranProveedorController).AnadirArticulos(Detalles, Albaran.Proveedor);
if (Albaran.TIPO = CTE_TIPO_ALBARAN_DEV) then
(Controller as IDetallesAlbaranProveedorController).CambiarSignoDetalles(Detalles);
(Controller as IDetallesAlbaranProveedorController).AnadirArticulos(Detalles, Albaran.Proveedor, true, -1)
else
(Controller as IDetallesAlbaranProveedorController).AnadirArticulos(Detalles, Albaran.Proveedor);
end;
function TfrViewDetallesAlbaranProveedor.GetAlbaran: IBizAlbaranProveedor;
@ -66,10 +66,10 @@ end;
procedure TfrViewDetallesAlbaranProveedor.RellenarArticulosInterno;
begin
(Controller as IDetallesAlbaranProveedorController).AnadirArticulos(Detalles, Albaran.Proveedor, False);
if (Albaran.TIPO = CTE_TIPO_ALBARAN_DEV) then
(Controller as IDetallesAlbaranProveedorController).CambiarSignoDetalles(Detalles);
(Controller as IDetallesAlbaranProveedorController).AnadirArticulos(Detalles, Albaran.Proveedor, False, -1)
else
(Controller as IDetallesAlbaranProveedorController).AnadirArticulos(Detalles, Albaran.Proveedor, False);
end;
procedure TfrViewDetallesAlbaranProveedor.SetAlbaran(const Value: IBizAlbaranProveedor);

View File

@ -15,7 +15,7 @@ type
IControllerDetallesArticulos = interface(IControllerDetallesBase)
['{6E156796-DB1F-4727-BBFB-FBAEF2E5C098}']
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; const ANuevaFila :Boolean = True);
function AnadirArticulo(ADetalles: IDAStronglyTypedDataTable; Referencia: String; TipoReferencia: TEnumReferencia; AClienteID: Integer = -1): Boolean; overload;
function AnadirArticulo(ADetalles: IDAStronglyTypedDataTable; Referencia: String; TipoReferencia: TEnumReferencia; AClienteID: Integer = -1; const ACantidad: Integer = 1): Boolean; overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo);
procedure CambiarSignoDetalles(ADetalles: IDAStronglyTypedDataTable; const AAll: Boolean = True);
procedure AnadirConceptoInicial(ADetalles: IDAStronglyTypedDataTable; AConcepto: String);
@ -30,13 +30,14 @@ type
procedure RellenarOtros(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo); virtual;
procedure RellenarImportes(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo); virtual;
procedure RellenarGenerales(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo); virtual;
procedure RellenarDetalle(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo); virtual;
procedure Add(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo); overload;
procedure RellenarCantidad(ADetalles: IDAStronglyTypedDataTable; const ACantidad: Integer); virtual;
procedure RellenarDetalle(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo; const ACantidad: Integer = 1); virtual;
procedure Add(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo; const ACantidad: Integer = 1); overload;
procedure AsignarController; virtual;
public
function AnadirArticulo(ADetalles: IDAStronglyTypedDataTable; Referencia: String; TipoReferencia: TEnumReferencia; AClienteID: Integer = -1): Boolean; overload;
function AnadirArticulo(ADetalles: IDAStronglyTypedDataTable; Referencia: String; TipoReferencia: TEnumReferencia; AClienteID: Integer = -1; const ACantidad: Integer = 1): Boolean; overload;
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; const ANuevaFila :Boolean = True); virtual;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo);
procedure CambiarSignoDetalles(ADetalles: IDAStronglyTypedDataTable; const AAll: Boolean = True);
@ -57,6 +58,8 @@ uses DB, Dialogs, cxControls, SysUtils, uDAInterfaces, uCalculosUtils, schArticu
{ TControllerDetallesArticulos }
procedure TControllerDetallesArticulos.ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo);
var
ACantidad: Integer;
begin
if (Assigned(ADetalles) and Assigned(AArticulos)) then
begin
@ -74,7 +77,11 @@ begin
AArticulos.DataTable.First;
try
if AArticulos.DataTable.Locate(CAMPO_ID, FieldByName(CAMPO_ID_ARTICULOS).AsVariant, []) then
RellenarDetalle(ADetalles, AArticulos);
begin
//Para mantener la cantidad que ya tuviera el detalle se debe guardar y volver a poner
ACantidad := ADetalles.DataTable.FieldByName(CAMPO_CANTIDAD).AsInteger;
RellenarDetalle(ADetalles, AArticulos, ACantidad);
end;
except
on E: Exception do
ShowMessage(E.Message);
@ -90,7 +97,7 @@ begin
end;
end;
procedure TControllerDetallesArticulos.Add(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo);
procedure TControllerDetallesArticulos.Add(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo; const ACantidad: Integer);
begin
if Assigned(ADetalles) and Assigned(AArticulos) then
begin
@ -110,7 +117,7 @@ begin
while not EOF do
begin
Self.Add(ADetalles, TIPO_DETALLE_CONCEPTO);
RellenarDetalle(ADetalles, AArticulos);
RellenarDetalle(ADetalles, AArticulos, ACantidad);
Next;
end;
end;
@ -250,7 +257,7 @@ begin
end;
end;
function TControllerDetallesArticulos.AnadirArticulo(ADetalles: IDAStronglyTypedDataTable; Referencia: String; TipoReferencia: TEnumReferencia; AClienteID: Integer = -1): Boolean;
function TControllerDetallesArticulos.AnadirArticulo(ADetalles: IDAStronglyTypedDataTable; Referencia: String; TipoReferencia: TEnumReferencia; AClienteID: Integer = -1; const ACantidad: Integer = 1): Boolean;
var
AArticulo: IBizArticulo;
begin
@ -264,7 +271,7 @@ begin
try
case TipoReferencia of
tCliente: AArticulo := FArticulosController.BuscarReferencia(Referencia, AClienteID);
tProveedor: AArticulo := FArticulosController.BuscarReferenciaProveedor(Referencia, AClienteID)
tProveedor: AArticulo := FArticulosController.BuscarReferenciaProveedor(Referencia, AClienteID)
end;
if Assigned(AArticulo) then
@ -272,7 +279,7 @@ begin
AArticulo.DataTable.Active := True;
if (AArticulo.RecordCount > 0) then
begin
RellenarDetalle(ADetalles, AArticulo);
RellenarDetalle(ADetalles, AArticulo, ACantidad);
Result := True;
end;
end;
@ -287,7 +294,15 @@ begin
// Procedimiento que en los hijos se sobreescribirá para rellenar otros campos según necesidades
end;
procedure TControllerDetallesArticulos.RellenarDetalle(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo);
procedure TControllerDetallesArticulos.RellenarCantidad(ADetalles: IDAStronglyTypedDataTable; const ACantidad: Integer);
begin
if Assigned(ADetalles) then
begin
ADetalles.DataTable.FieldByName(CAMPO_CANTIDAD).AsInteger := ACantidad;
end;
end;
procedure TControllerDetallesArticulos.RellenarDetalle(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo; const ACantidad: Integer);
begin
if Assigned(ADetalles) then
begin
@ -297,6 +312,7 @@ begin
ADetalles.DataTable.Edit;
RellenarGenerales(ADetalles, AArticulos);
RellenarCantidad(ADetalles, ACantidad);
RellenarImportes(ADetalles, AArticulos);
RellenarOtros(ADetalles, AArticulos);
@ -315,7 +331,6 @@ begin
ADetalles.DataTable.FieldByName(CAMPO_REFERENCIA).AsVariant := AArticulos.REFERENCIA;
ADetalles.DataTable.FieldByName(CAMPO_REFERENCIA_PROVEEDOR).AsVariant := AArticulos.REFERENCIA_PROV;
ADetalles.DataTable.FieldByName(CAMPO_CONCEPTO).AsVariant := AArticulos.DESCRIPCION;
ADetalles.DataTable.FieldByName(CAMPO_CANTIDAD).AsInteger := 1;
end;
end;

View File

@ -41,62 +41,22 @@
<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">FacturasCliente_controller.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">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">FacturasCliente_controller.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
<DelphiCompile Include="FacturasCliente_controller.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\..\Lib\AlbaranesCliente_controller.dcp" />
<DCCReference Include="..\..\Lib\AlbaranesCliente_model.dcp" />
<DCCReference Include="..\..\Lib\ApplicationBase.dcp" />
<DCCReference Include="..\..\Lib\Articulos_controller.dcp" />
<DCCReference Include="..\..\Lib\Contactos_controller.dcp" />
<DCCReference Include="..\..\Lib\FacturasCliente_data.dcp" />
<DCCReference Include="..\..\Lib\FacturasCliente_model.dcp" />
<DCCReference Include="..\..\Lib\FormasPago_controller.dcp" />
<DCCReference Include="..\..\Lib\RecibosCliente_controller.dcp" />
<DCCReference Include="..\AlbaranesCliente_controller.dcp" />
<DCCReference Include="..\AlbaranesCliente_model.dcp" />
<DCCReference Include="..\ApplicationBase.dcp" />
<DCCReference Include="..\Articulos_controller.dcp" />
<DCCReference Include="..\Contactos_controller.dcp" />
<DCCReference Include="..\FacturasCliente_data.dcp" />
<DCCReference Include="..\FacturasCliente_model.dcp" />
<DCCReference Include="..\FormasPago_controller.dcp" />
<DCCReference Include="..\RecibosCliente_controller.dcp" />
<DCCReference Include="uArticulosFacturaClienteController.pas" />
<DCCReference Include="uDetallesFacturaClienteController.pas" />
<DCCReference Include="uFacturasClienteController.pas" />
@ -109,10 +69,9 @@
<DCCReference Include="View\uIEditorSituacionFacturaCliente.pas" />
</ItemGroup>
</Project>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=6006
EurekaLog Version=6011
Activate=1
Activate Handle=1
Save Log File=1

View File

@ -9,7 +9,7 @@ uses
type
IDetallesFacturaClienteController = interface(IControllerDetallesArticulos)
['{D3942A48-C55B-4A98-AC5B-B5E652ED393E}']
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean = True); overload;
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean = True; const ACantidad: Integer = 1); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente);
procedure AnadirDetalleFacturaAsociadaAbono(ADetalles: IBizDetallesFacturaCliente; AReferencia: String; AFecha: String);
procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable);
@ -32,7 +32,7 @@ type
function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
public
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean = True); overload;
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean = True; const ACantidad: Integer = 1); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
//ABONOS
@ -65,7 +65,7 @@ begin
end;
end;
procedure TDetallesFacturaClienteController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean);
procedure TDetallesFacturaClienteController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente; const ANuevaFila :Boolean; const ACantidad: Integer);
var
AArticulos: IBizArticulo;
begin
@ -78,12 +78,12 @@ begin
if ANuevaFila then
begin
AArticulos := (FArticulosController as IArticulosFacturaClienteController).ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir a esta factura de cliente', True);
Add(ADetalles, AArticulos)
Add(ADetalles, AArticulos, ACantidad)
end
else
begin
AArticulos := (FArticulosController as IArticulosFacturaClienteController).ElegirArticulos(AArticulos, 'Elija el artículo que desea añadir a esta factura de cliente', False);
RellenarDetalle(ADetalles, AArticulos);
RellenarDetalle(ADetalles, AArticulos, ACantidad);
end;
finally

View File

@ -93,7 +93,7 @@
</Project>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=6006
EurekaLog Version=6011
Activate=1
Activate Handle=1
Save Log File=1

View File

@ -7,7 +7,7 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
Position = poScreenCenter
OnClose = CustomEditorClose
ExplicitWidth = 796
ExplicitHeight = 609
ExplicitHeight = 602
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
@ -193,21 +193,8 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
Height = 51
ExplicitWidth = 774
ExplicitHeight = 51
inherited ToolButton3: TToolButton
Wrap = False
end
inherited ToolButton4: TToolButton
Left = 278
Top = 0
ExplicitLeft = 278
ExplicitTop = 0
end
inherited ToolButton14: TToolButton
Left = 334
Top = 0
Wrap = False
ExplicitLeft = 334
ExplicitTop = 0
end
inherited FontName: TJvFontComboBox
Left = 399
@ -235,49 +222,51 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
Wrap = True
ExplicitLeft = 0
ExplicitTop = 0
ExplicitHeight = 30
ExplicitHeight = 27
end
inherited ToolButton6: TToolButton
Left = 0
Top = 30
Top = 27
ExplicitLeft = 0
ExplicitTop = 30
ExplicitTop = 27
end
inherited ToolButton7: TToolButton
Left = 66
Top = 30
Top = 27
ExplicitLeft = 66
ExplicitTop = 30
ExplicitTop = 27
end
inherited ToolButton8: TToolButton
Left = 133
Top = 30
Top = 27
ExplicitLeft = 133
ExplicitTop = 30
ExplicitTop = 27
end
inherited ToolButton12: TToolButton
Left = 216
Top = 30
Top = 27
Wrap = False
ExplicitLeft = 216
ExplicitTop = 30
ExplicitTop = 27
ExplicitHeight = 22
end
inherited ToolButton9: TToolButton
Left = 224
Top = 30
Top = 27
ExplicitLeft = 224
ExplicitTop = 30
ExplicitTop = 27
end
inherited ToolButton10: TToolButton
Left = 369
Top = 30
Top = 27
ExplicitLeft = 369
ExplicitTop = 30
ExplicitTop = 27
end
inherited ToolButton11: TToolButton
Left = 494
Top = 30
Top = 27
ExplicitLeft = 494
ExplicitTop = 30
ExplicitTop = 27
end
end
inherited cxGrid: TcxGrid
@ -294,7 +283,7 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
ExplicitTop = 51
ExplicitWidth = 774
inherited TBXToolbar1: TTBXToolbar
ExplicitWidth = 626
ExplicitWidth = 702
end
end
end

View File

@ -306,11 +306,6 @@ begin
FDetallesController := TDetallesFacturaClienteController.Create;
try
FDetallesController.ActualizarDetalles(FFactura.Detalles, FFactura.Cliente);
//En caso de ser un abono también debe cambiar el signo a los detalles
if (Factura.TIPO = CTE_TIPO_ABONO) then
Controller.DetallesController.CambiarSignoDetalles(FFactura.Detalles);
finally
FDetallesController := NIL;
end;

View File

@ -80,7 +80,6 @@ inherited frViewDetallesFacturaCliente: TfrViewDetallesFacturaCliente
inherited cxGrid: TcxGrid
Top = 121
Height = 183
ExplicitTop = 99
end
inherited TBXDock1: TTBXDock
Top = 95

View File

@ -45,18 +45,18 @@ uses uDetallesFacturaClienteController;
function TfrViewDetallesFacturaCliente.AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean;
begin
Result := (Controller as IDetallesFacturaClienteController).AnadirArticulo(Detalles, pReferencia, TipoReferencia, Factura.Cliente.ID);
if (Factura.TIPO = CTE_TIPO_ABONO) then
(Controller as IDetallesFacturaClienteController).CambiarSignoDetalles(Detalles, False);
Result := (Controller as IDetallesFacturaClienteController).AnadirArticulo(Detalles, pReferencia, TipoReferencia, Factura.Cliente.ID, -1)
else
Result := (Controller as IDetallesFacturaClienteController).AnadirArticulo(Detalles, pReferencia, TipoReferencia, Factura.Cliente.ID);
end;
procedure TfrViewDetallesFacturaCliente.AnadirArticulosInterno;
begin
(Controller as IDetallesFacturaClienteController).AnadirArticulos(Detalles, Factura.Cliente);
if (Factura.TIPO = CTE_TIPO_ABONO) then
(Controller as IDetallesFacturaClienteController).CambiarSignoDetalles(Detalles);
(Controller as IDetallesFacturaClienteController).AnadirArticulos(Detalles, Factura.Cliente, true, -1)
else
(Controller as IDetallesFacturaClienteController).AnadirArticulos(Detalles, Factura.Cliente);
end;
function TfrViewDetallesFacturaCliente.GetFactura: IBizFacturaCliente;
@ -66,10 +66,10 @@ end;
procedure TfrViewDetallesFacturaCliente.RellenarArticulosInterno;
begin
(Controller as IDetallesFacturaClienteController).AnadirArticulos(Detalles, Factura.Cliente, False);
if (Factura.TIPO = CTE_TIPO_ABONO) then
(Controller as IDetallesFacturaClienteController).CambiarSignoDetalles(Detalles);
(Controller as IDetallesFacturaClienteController).AnadirArticulos(Detalles, Factura.Cliente, False, -1)
else
(Controller as IDetallesFacturaClienteController).AnadirArticulos(Detalles, Factura.Cliente, False);
end;
procedure TfrViewDetallesFacturaCliente.SetFactura(const Value: IBizFacturaCliente);

View File

@ -9,7 +9,7 @@ uses
type
IDetallesFacturaProveedorController = interface(IControllerDetallesArticulos)
['{49F6199E-E031-42F5-AEA5-E70C3E3479A1}']
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean = True); overload;
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean = True; const ACantidad: Integer = 1); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor);
procedure AnadirDetalleFacturaAsociadaAbono(ADetalles: IBizDetallesFacturaProveedor; AReferencia: String; AFecha: String);
procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable);
@ -31,7 +31,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; const ACantidad: Integer = 1); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor); overload;
procedure AnadirDetalleFacturaAsociadaAbono(ADetalles: IBizDetallesFacturaProveedor; AReferencia: String; AFecha: String);
constructor Create; override;
@ -62,7 +62,7 @@ begin
end;
end;
procedure TDetallesFacturaProveedorController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean);
procedure TDetallesFacturaProveedorController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; AProveedor: IBizProveedor; const ANuevaFila :Boolean; const ACantidad: Integer);
var
AArticulos: IBizArticulo;
begin
@ -75,12 +75,12 @@ begin
if ANuevaFila then
begin
AArticulos := (FArticulosController as IArticulosFacturaProveedorController).ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir a esta factura de Proveedor', True, AProveedor);
Add(ADetalles, AArticulos)
Add(ADetalles, AArticulos, ACantidad)
end
else
begin
AArticulos := (FArticulosController as IArticulosFacturaProveedorController).ElegirArticulos(AArticulos, 'Elija el artículo que desea añadir a esta factura de Proveedor', False, AProveedor);
RellenarDetalle(ADetalles, AArticulos);
RellenarDetalle(ADetalles, AArticulos, ACantidad);
end;
finally

View File

@ -297,11 +297,6 @@ begin
FDetallesController := TDetallesFacturaProveedorController.Create;
try
FDetallesController.ActualizarDetalles(FFactura.Detalles, FFactura.Proveedor);
//En caso de ser un abono también debe cambiar el signo a los detalles
if (Factura.TIPO = CTE_TIPO_ABONO) then
Controller.DetallesController.CambiarSignoDetalles(FFactura.Detalles);
finally
FDetallesController := NIL;
end;

View File

@ -90,6 +90,5 @@ inherited frViewDetallesFacturaProveedor: TfrViewDetallesFacturaProveedor
end
inherited TBXDock1: TTBXDock
Top = 95
ExplicitTop = 68
end
end

View File

@ -45,18 +45,18 @@ uses uDetallesFacturaProveedorController;
function TfrViewDetallesFacturaProveedor.AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean;
begin
Result := (Controller as IDetallesFacturaProveedorController).AnadirArticulo(Detalles, pReferencia, tProveedor);
if (Factura.TIPO = CTE_TIPO_ABONO) then
(Controller as IDetallesFacturaProveedorController).CambiarSignoDetalles(Detalles, False);
Result := (Controller as IDetallesFacturaProveedorController).AnadirArticulo(Detalles, pReferencia, tProveedor, -1, -1)
else
Result := (Controller as IDetallesFacturaProveedorController).AnadirArticulo(Detalles, pReferencia, tProveedor, -1, -1);
end;
procedure TfrViewDetallesFacturaProveedor.AnadirArticulosInterno;
begin
(Controller as IDetallesFacturaProveedorController).AnadirArticulos(Detalles, Factura.Proveedor);
if (Factura.TIPO = CTE_TIPO_ABONO) then
(Controller as IDetallesFacturaProveedorController).CambiarSignoDetalles(Detalles);
(Controller as IDetallesFacturaProveedorController).AnadirArticulos(Detalles, Factura.Proveedor, true, -1)
else
(Controller as IDetallesFacturaProveedorController).AnadirArticulos(Detalles, Factura.Proveedor);
end;
function TfrViewDetallesFacturaProveedor.GetFactura: IBizFacturaProveedor;
@ -66,10 +66,10 @@ end;
procedure TfrViewDetallesFacturaProveedor.RellenarArticulosInterno;
begin
(Controller as IDetallesFacturaProveedorController).AnadirArticulos(Detalles, Factura.Proveedor, False);
if (Factura.TIPO = CTE_TIPO_ABONO) then
(Controller as IDetallesFacturaProveedorController).CambiarSignoDetalles(Detalles);
(Controller as IDetallesFacturaProveedorController).AnadirArticulos(Detalles, Factura.Proveedor, False, -1)
else
(Controller as IDetallesFacturaProveedorController).AnadirArticulos(Detalles, Factura.Proveedor, False);
end;
procedure TfrViewDetallesFacturaProveedor.SetFactura(const Value: IBizFacturaProveedor);