git-svn-id: https://192.168.0.254/svn/Proyectos.AbetoDesign_FactuGES/trunk@2 93f398dd-4eb6-7a46-baf6-13f46f578da2
96 lines
2.9 KiB
ObjectPascal
96 lines
2.9 KiB
ObjectPascal
unit uGenerarAlbaranesCliFacCliUtils;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, SysUtils, Classes, uBizFacturasCliente, pngimage, JSDialog;
|
||
|
||
type
|
||
TdmGenerarAlbaranesCli = class(TDataModule)
|
||
end;
|
||
|
||
function GenerarAlbaranCli(AFactura : IBizFacturaCliente) : Boolean; overload;
|
||
|
||
implementation
|
||
|
||
{$R *.dfm}
|
||
|
||
uses
|
||
uDialogUtils, uDataTableUtils,
|
||
uBizAlbaranesCliente,
|
||
uAlbaranesClienteController,
|
||
uFacturasClienteController;
|
||
|
||
var
|
||
dmGenerarAlbaranesCli: TdmGenerarAlbaranesCli;
|
||
AFacturasClienteController : IFacturasClienteController;
|
||
AAlbaranesClienteController : IAlbaranesClienteController;
|
||
|
||
procedure Inicializar;
|
||
begin
|
||
dmGenerarAlbaranesCli := TdmGenerarAlbaranesCli.Create(nil);
|
||
AFacturasClienteController := TFacturasClienteController.Create;
|
||
AAlbaranesClienteController := TAlbaranesClienteController.Create;
|
||
end;
|
||
|
||
procedure Finalizar;
|
||
begin
|
||
FreeAndNIL(dmGenerarAlbaranesCli);
|
||
AFacturasClienteController := nil;
|
||
AAlbaranesClienteController := nil;
|
||
end;
|
||
|
||
function GenerarAlbaranCli(AFactura : IBizFacturaCliente) : Boolean; overload;
|
||
var
|
||
AAlbaranNuevo : IBizAlbaranCliente;
|
||
begin
|
||
Result := False;
|
||
|
||
if not Assigned(AAlbaranesClienteController) then
|
||
Inicializar;
|
||
|
||
if not Assigned(AFactura) then
|
||
raise Exception.Create('Factura de cliente no asignada (GenerarAlbaranCli)');
|
||
|
||
if not AFactura.DataTable.Active then
|
||
AFactura.DataTable.Active := True;
|
||
|
||
try
|
||
AAlbaranNuevo := AAlbaranesClienteController.Nuevo;
|
||
|
||
with AAlbaranNuevo do
|
||
begin
|
||
TIPO := CTE_TIPO_ALBARAN_DEV;
|
||
ID_CLIENTE := AFactura.ID_CLIENTE;
|
||
CALLE := AFactura.CALLE;
|
||
CODIGO_POSTAL := AFactura.CODIGO_POSTAL;
|
||
POBLACION := AFactura.POBLACION;
|
||
PROVINCIA := AFactura.PROVINCIA;
|
||
// AAlbaran.PERSONA_CONTACTO := AFactura.PERSONA_CONTACTO;
|
||
// AAlbaran.TELEFONO := AFactura.TELEFONO;
|
||
IMPORTE_NETO := AFactura.IMPORTE_NETO;
|
||
IMPORTE_PORTE := AFactura.IMPORTE_PORTE;
|
||
DESCUENTO := AFactura.DESCUENTO;
|
||
IMPORTE_DESCUENTO := AFactura.IMPORTE_DESCUENTO;
|
||
BASE_IMPONIBLE := AFactura.BASE_IMPONIBLE;
|
||
IVA := AFactura.IVA;
|
||
IMPORTE_IVA := AFactura.IMPORTE_IVA;
|
||
IMPORTE_TOTAL := AFactura.IMPORTE_TOTAL;
|
||
// AAlbaran.DataTable.FieldByName(fld_AlbaranesProveedorOBSERVACIONES).AsVariant := AFactura.DataTable.FieldByName(fld_PedidosProveedorOBSERVACIONES).AsVariant;
|
||
ID_FORMA_PAGO := AFactura.ID_FORMA_PAGO;
|
||
ID_FACTURA := AFactura.ID;
|
||
end;
|
||
|
||
DuplicarRegistros(AFactura.Detalles.DataTable, AAlbaranNuevo.Detalles.DataTable, mdrTodos);
|
||
|
||
//Sustituir por if de guardar
|
||
if AAlbaranesClienteController.Guardar(AAlbaranNuevo) then
|
||
ShowInfoMessage('La orden de devoluci<63>n se ha dado de alta con el c<>digo ' + AAlbaranNuevo.REFERENCIA);
|
||
|
||
finally
|
||
AAlbaranNuevo := Nil;
|
||
end;
|
||
end;
|
||
|
||
end.
|