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.
|