- Mejorado el informe de albaranes de cliente para que los conceptos ocupen menos espacio en las hojas.

- Al generar un albarán a patir de un contrato, recalcular el importe de la cabecera teniendo en cuenta que los albaranes no tienen ni IVA ni descuento ni RE.

git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@648 f4e31baf-9722-1c47-927c-6f952f962d4b
This commit is contained in:
David Arranz 2016-08-01 11:11:29 +00:00
parent 74aa4beb6a
commit 29a83863a9
4 changed files with 39 additions and 20 deletions

File diff suppressed because one or more lines are too long

View File

@ -1,8 +1,8 @@
object RptAlbaranesCliente: TRptAlbaranesCliente
OldCreateOrder = True
OnCreate = DataModuleCreate
Height = 425
Width = 527
Height = 439
Width = 529
object DADataCabecera: TDADataSource
DataSet = tbl_Cabecera.Dataset
DataTable = tbl_Cabecera
@ -1075,7 +1075,7 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
PrintOptions.Printer = 'Default'
PrintOptions.PrintOnSheet = 0
ReportOptions.CreateDate = 37871.995398692100000000
ReportOptions.LastChange = 40142.519712557870000000
ReportOptions.LastChange = 42583.535851493060000000
ReportOptions.VersionBuild = '1'
ReportOptions.VersionMajor = '12'
ReportOptions.VersionMinor = '13'

View File

@ -71,6 +71,7 @@ begin
frxReport.EngineOptions.NewSilentMode := simReThrow;
end;
function TRptAlbaranesCliente.GenerarAlbaran(const ListaID : TIntegerArray): Binary;
var
i: Integer;

View File

@ -64,12 +64,14 @@ begin
AAlbaran.DataTable.FieldByName(fld_AlbaranesClienteOBSERVACIONES).AsVariant := AContrato.DataTable.FieldByName(fld_ContratosClienteOBSERVACIONES).AsVariant;
AAlbaran.IMPORTE_NETO := AContrato.IMPORTE_NETO;
AAlbaran.IMPORTE_PORTE := AContrato.IMPORTE_PORTE;
AAlbaran.DESCUENTO := AContrato.DESCUENTO;
AAlbaran.IMPORTE_DESCUENTO := AContrato.IMPORTE_DESCUENTO;
// Los albaranes no tienen Descuento
// AAlbaran.IMPORTE_PORTE := AContrato.IMPORTE_PORTE;
// AAlbaran.DESCUENTO := AContrato.DESCUENTO;
// AAlbaran.IMPORTE_DESCUENTO := AContrato.IMPORTE_DESCUENTO;
AAlbaran.BASE_IMPONIBLE := AContrato.BASE_IMPONIBLE;
// Los albaranes no tienen IVA
// Los albaranes no tienen IVA
// AAlbaran.ID_TIPO_IVA := AContrato.ID_TIPO_IVA;
// AAlbaran.IVA := AContrato.IVA;
// AAlbaran.IMPORTE_IVA := AContrato.IMPORTE_IVA;
@ -149,6 +151,21 @@ begin
end;
end;
procedure RecalcularImporteAlbaran(AAlbaran : IBizAlbaranCliente);
begin
if not Assigned(AAlbaran) then
raise Exception.Create ('Albarán no asignado (RecalcularImporteAlbaran)');
AAlbaran.Edit;
try
AAlbaran.IMPORTE_NETO := AAlbaranesClienteController.DetallesController.DarTotalImporteTotal(AAlbaran.Detalles);
AAlbaran.BASE_IMPONIBLE := AAlbaran.IMPORTE_NETO;
AAlbaran.IMPORTE_TOTAL := AAlbaran.BASE_IMPONIBLE;
finally
AAlbaran.Post;
end;
end;
procedure Inicializar;
begin
dmGenerarAlbaranesCli := TdmGenerarAlbaranesCli.Create(nil);
@ -205,6 +222,7 @@ begin
AAlbaran := AAlbaranesClienteController.Nuevo;
CopiarContratoAAlbaran(AContrato, AAlbaran);
CopiarDetallesAAlbaran(AContrato, AAlbaran, AContrato.Detalles);
RecalcularImporteAlbaran(AAlbaran);
//Sustituir por if de guardar
if AAlbaranesClienteController.Guardar(AAlbaran) then