git-svn-id: https://192.168.0.254/svn/Proyectos.AbetoDesign_FactuGES/trunk@2 93f398dd-4eb6-7a46-baf6-13f46f578da2
97 lines
2.9 KiB
ObjectPascal
97 lines
2.9 KiB
ObjectPascal
unit uGenerarAlbaranesProvFacProvUtils;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, SysUtils, Classes, uBizFacturasProveedor, pngimage, JSDialog;
|
||
|
||
type
|
||
TdmGenerarAlbaranesProv = class(TDataModule)
|
||
end;
|
||
|
||
function GenerarAlbaranProv(AFactura : IBizFacturaProveedor) : Boolean; overload;
|
||
|
||
implementation
|
||
|
||
{$R *.dfm}
|
||
|
||
uses
|
||
uDialogUtils, uDataTableUtils,
|
||
uBizAlbaranesProveedor,
|
||
uFacturasProveedorController,
|
||
uAlbaranesProveedorController;
|
||
|
||
var
|
||
dmGenerarAlbaranesProv: TdmGenerarAlbaranesProv;
|
||
AAlbaranesProveedorController : IAlbaranesProveedorController;
|
||
AFacturasProveedorController : IFacturasProveedorController;
|
||
|
||
procedure Inicializar;
|
||
begin
|
||
dmGenerarAlbaranesProv := TdmGenerarAlbaranesProv.Create(nil);
|
||
AAlbaranesProveedorController := TAlbaranesProveedorController.Create;
|
||
AFacturasProveedorController := TFacturasProveedorController.Create;
|
||
end;
|
||
|
||
procedure Finalizar;
|
||
begin
|
||
FreeAndNIL(dmGenerarAlbaranesProv);
|
||
AAlbaranesProveedorController := nil;
|
||
AFacturasProveedorController := nil;
|
||
end;
|
||
|
||
function GenerarAlbaranProv(AFactura : IBizFacturaProveedor) : Boolean; overload;
|
||
var
|
||
AAlbaranNuevo : IBizAlbaranProveedor;
|
||
begin
|
||
Result := False;
|
||
|
||
if not Assigned(AAlbaranesProveedorController) then
|
||
Inicializar;
|
||
|
||
if not Assigned(AFactura) then
|
||
raise Exception.Create('Factura de proveedor no asignada (GenerarAlbaranProv)');
|
||
|
||
if not AFactura.DataTable.Active then
|
||
AFactura.DataTable.Active := True;
|
||
|
||
try
|
||
AAlbaranNuevo := AAlbaranesProveedorController.Nuevo;
|
||
|
||
with AAlbaranNuevo do
|
||
begin
|
||
TIPO := CTE_TIPO_ALBARAN_DEV;
|
||
ID_PROVEEDOR := AFactura.ID_PROVEEDOR;
|
||
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 AAlbaranesProveedorController.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.
|