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:
parent
f602071e30
commit
e34e8d9aa6
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -80,7 +80,6 @@ inherited frViewDetallesFacturaCliente: TfrViewDetallesFacturaCliente
|
||||
inherited cxGrid: TcxGrid
|
||||
Top = 121
|
||||
Height = 183
|
||||
ExplicitTop = 99
|
||||
end
|
||||
inherited TBXDock1: TTBXDock
|
||||
Top = 95
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -90,6 +90,5 @@ inherited frViewDetallesFacturaProveedor: TfrViewDetallesFacturaProveedor
|
||||
end
|
||||
inherited TBXDock1: TTBXDock
|
||||
Top = 95
|
||||
ExplicitTop = 68
|
||||
end
|
||||
end
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user