diff --git a/Source/Modulos/Albaranes de cliente/AlbaranesCliente_Group.groupproj b/Source/Modulos/Albaranes de cliente/AlbaranesCliente_Group.groupproj
index 0e125e53..d04a63f4 100644
--- a/Source/Modulos/Albaranes de cliente/AlbaranesCliente_Group.groupproj
+++ b/Source/Modulos/Albaranes de cliente/AlbaranesCliente_Group.groupproj
@@ -14,6 +14,7 @@
+
@@ -161,14 +162,23 @@
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
\ No newline at end of file
diff --git a/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.groupproj b/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.groupproj
index 3aa4a7db..07a2c97a 100644
--- a/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.groupproj
+++ b/Source/Modulos/Albaranes de proveedor/AlbaranesProveedor_Group.groupproj
@@ -8,6 +8,7 @@
+
@@ -161,14 +162,23 @@
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
\ No newline at end of file
diff --git a/Source/Modulos/Albaranes de proveedor/Views/uEditorElegirAlbaranesProveedor.dfm b/Source/Modulos/Albaranes de proveedor/Views/uEditorElegirAlbaranesProveedor.dfm
index 0bc21b7b..847370a6 100644
--- a/Source/Modulos/Albaranes de proveedor/Views/uEditorElegirAlbaranesProveedor.dfm
+++ b/Source/Modulos/Albaranes de proveedor/Views/uEditorElegirAlbaranesProveedor.dfm
@@ -2,6 +2,7 @@ inherited fEditorElegirAlbaranesProveedor: TfEditorElegirAlbaranesProveedor
Caption = 'Seleccionar albar'#225'n de proveedor'
ClientWidth = 790
ExplicitWidth = 798
+ ExplicitHeight = 538
PixelsPerInch = 96
TextHeight = 13
object JvgWizardHeader1: TJvgWizardHeader [0]
@@ -52,7 +53,7 @@ inherited fEditorElegirAlbaranesProveedor: TfEditorElegirAlbaranesProveedor
ExplicitTop = 87
ExplicitWidth = 790
inherited tbxMain: TTBXToolbar
- ExplicitWidth = 278
+ ExplicitWidth = 126
inherited TBXItem2: TTBXItem
Visible = False
end
@@ -88,11 +89,11 @@ inherited fEditorElegirAlbaranesProveedor: TfEditorElegirAlbaranesProveedor
end
end
inherited tbxFiltro: TTBXToolbar
- Left = 278
+ Left = 126
Top = 23
DockPos = 104
DockRow = 1
- ExplicitLeft = 278
+ ExplicitLeft = 126
ExplicitTop = 23
inherited TBXItem34: TTBXItem
Action = actQuitarFiltro2
@@ -105,6 +106,7 @@ inherited fEditorElegirAlbaranesProveedor: TfEditorElegirAlbaranesProveedor
Left = 334
Visible = False
ExplicitLeft = 334
+ ExplicitWidth = 36
end
end
inherited StatusBar: TJvStatusBar
@@ -113,7 +115,7 @@ inherited fEditorElegirAlbaranesProveedor: TfEditorElegirAlbaranesProveedor
end
inline frViewBarraSeleccion1: TfrViewBarraSeleccion [4]
Left = 0
- Top = 389
+ Top = 449
Width = 790
Height = 36
Align = alBottom
@@ -125,7 +127,7 @@ inherited fEditorElegirAlbaranesProveedor: TfEditorElegirAlbaranesProveedor
ParentFont = False
TabOrder = 3
ReadOnly = False
- ExplicitTop = 389
+ ExplicitTop = 449
ExplicitWidth = 790
ExplicitHeight = 36
inherited JvFooter1: TJvFooter
@@ -157,6 +159,22 @@ inherited fEditorElegirAlbaranesProveedor: TfEditorElegirAlbaranesProveedor
end
end
inherited EditorActionList: TActionList [5]
+ inherited actPrevisualizar: TAction
+ Enabled = False
+ Visible = False
+ end
+ inherited actImprimir: TAction
+ Enabled = False
+ Visible = False
+ end
+ inherited actExportarExcel: TAction
+ Enabled = False
+ Visible = False
+ end
+ inherited actGenerarFactura: TAction
+ Enabled = False
+ Visible = False
+ end
end
inherited SmallImages: TPngImageList [6]
end
diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.dfm
index 02938df3..6ec3441e 100644
--- a/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.dfm
+++ b/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.dfm
@@ -38,7 +38,7 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
Width = 640
ExplicitWidth = 640
inherited tbxMain: TTBXToolbar
- ExplicitWidth = 632
+ ExplicitWidth = 640
object TBXSubmenuItem2: TTBXSubmenuItem [0]
Caption = 'Nuevo'
DisplayMode = nbdmImageAndText
diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.pas b/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.pas
index 2256e7ae..316cfef3 100644
--- a/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.pas
+++ b/Source/Modulos/Facturas de cliente/Views/uEditorFacturasCliente.pas
@@ -279,12 +279,6 @@ end;
procedure TfEditorFacturasCliente.NuevoInterno;
var
Respuesta : Integer;
- //FPedidosClienteController : IPedidosClienteController;
- //APedido : IBizPedidoCliente;
- //FAlbaranesClienteController : IAlbaranesClienteController;
- //AAlbaranes : IBizAlbaranCliente;
- //AFacturasNuevas : IBizFacturaCliente;
- //i : integer;
begin
inherited;
diff --git a/Source/Modulos/Facturas de proveedor/Controller/FacturasProveedor_controller.res b/Source/Modulos/Facturas de proveedor/Controller/FacturasProveedor_controller.res
index 1641339f..8b251f31 100644
Binary files a/Source/Modulos/Facturas de proveedor/Controller/FacturasProveedor_controller.res and b/Source/Modulos/Facturas de proveedor/Controller/FacturasProveedor_controller.res differ
diff --git a/Source/Modulos/Facturas de proveedor/Views/uEditorFacturasProveedor.pas b/Source/Modulos/Facturas de proveedor/Views/uEditorFacturasProveedor.pas
index a332b7ad..5bf11f56 100644
--- a/Source/Modulos/Facturas de proveedor/Views/uEditorFacturasProveedor.pas
+++ b/Source/Modulos/Facturas de proveedor/Views/uEditorFacturasProveedor.pas
@@ -88,12 +88,6 @@ procedure TfEditorFacturasProveedor.actNuevoAbonoExecute(Sender: TObject);
var
Respuesta : Integer;
Opcion : Integer;
-// FPedidosClienteController : IPedidosClienteController;
-// APedido : IBizPedidoCliente;
-// FAlbaranesClienteController : IAlbaranesClienteController;
-// AAlbaranes : IBizAlbaranCliente;
-// AFacturasNuevas : IBizFacturaCliente;
-/// i : integer;
begin
inherited;
//ABONOS
@@ -278,12 +272,6 @@ end;
procedure TfEditorFacturasProveedor.NuevoInterno;
var
Respuesta : Integer;
-// FPedidosProveedorController : IPedidosProveedorController;
-// APedido : IBizPedidoProveedor;
- //FAlbaranesProveedorController : IAlbaranesProveedorController;
- //AAlbaranes : IBizAlbaranProveedor;
- //AFacturasNuevas : IBizFacturaProveedor;
- //i : integer;
begin
inherited;
diff --git a/Source/Modulos/Pedidos a proveedor/Views/PedidosProveedor_view.dproj b/Source/Modulos/Pedidos a proveedor/Views/PedidosProveedor_view.dproj
index d9dd0109..5d260789 100644
--- a/Source/Modulos/Pedidos a proveedor/Views/PedidosProveedor_view.dproj
+++ b/Source/Modulos/Pedidos a proveedor/Views/PedidosProveedor_view.dproj
@@ -49,64 +49,64 @@
MainSource
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
TfEditorDireccionEntregaPedidoProveedor
diff --git a/Source/Modulos/Pedidos a proveedor/Views/uEditorElegirPedidosProveedor.dfm b/Source/Modulos/Pedidos a proveedor/Views/uEditorElegirPedidosProveedor.dfm
index 90541842..5ceb7ae0 100644
--- a/Source/Modulos/Pedidos a proveedor/Views/uEditorElegirPedidosProveedor.dfm
+++ b/Source/Modulos/Pedidos a proveedor/Views/uEditorElegirPedidosProveedor.dfm
@@ -2,6 +2,7 @@ inherited fEditorElegirPedidosProveedor: TfEditorElegirPedidosProveedor
Caption = 'Seleccionar pedido de cliente'
ClientWidth = 656
ExplicitWidth = 664
+ ExplicitHeight = 538
PixelsPerInch = 96
TextHeight = 13
object JvgWizardHeader1: TJvgWizardHeader [0]
@@ -97,7 +98,7 @@ inherited fEditorElegirPedidosProveedor: TfEditorElegirPedidosProveedor
end
inline frViewBarraSeleccion1: TfrViewBarraSeleccion [4]
Left = 0
- Top = 376
+ Top = 436
Width = 656
Height = 49
Align = alBottom
@@ -109,7 +110,7 @@ inherited fEditorElegirPedidosProveedor: TfEditorElegirPedidosProveedor
ParentFont = False
TabOrder = 4
ReadOnly = False
- ExplicitTop = 376
+ ExplicitTop = 436
ExplicitWidth = 656
inherited JvFooter1: TJvFooter
Width = 656
@@ -136,16 +137,16 @@ inherited fEditorElegirPedidosProveedor: TfEditorElegirPedidosProveedor
inherited frViewPedidosProveedor1: TfrViewPedidosProveedor [5]
Top = 162
Width = 656
- Height = 214
- ExplicitTop = 159
+ Height = 274
+ ExplicitTop = 162
ExplicitWidth = 656
- ExplicitHeight = 217
+ ExplicitHeight = 274
inherited cxGrid: TcxGrid
Width = 656
- Height = 86
+ Height = 146
RootLevelOptions.DetailTabsPosition = dtpNone
ExplicitWidth = 656
- ExplicitHeight = 89
+ ExplicitHeight = 146
inherited cxGridView: TcxGridDBTableView
DataController.Summary.DefaultGroupSummaryItems = <
item
@@ -171,25 +172,17 @@ inherited fEditorElegirPedidosProveedor: TfEditorElegirPedidosProveedor
Width = 656
ExplicitWidth = 656
inherited txtFiltroTodo: TcxTextEdit
- Style.LookAndFeel.SkinName = ''
- StyleDisabled.LookAndFeel.SkinName = ''
- StyleFocused.LookAndFeel.SkinName = ''
- StyleHot.LookAndFeel.SkinName = ''
- end
- inherited edtFechaIniFiltro: TcxDateEdit
- Style.LookAndFeel.SkinName = ''
- StyleDisabled.LookAndFeel.SkinName = ''
- StyleFocused.LookAndFeel.SkinName = ''
- StyleHot.LookAndFeel.SkinName = ''
+ ExplicitWidth = 618
+ Width = 618
end
inherited edtFechaFinFiltro: TcxDateEdit
- Style.LookAndFeel.SkinName = ''
- StyleDisabled.LookAndFeel.SkinName = ''
- StyleFocused.LookAndFeel.SkinName = ''
- StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 277
Width = 277
end
+ inherited eLista: TcxComboBox
+ Left = 685
+ ExplicitLeft = 685
+ end
end
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 656
@@ -202,8 +195,8 @@ inherited fEditorElegirPedidosProveedor: TfEditorElegirPedidosProveedor
end
end
inherited pnlAgrupaciones: TTBXDockablePanel
- Top = 188
- ExplicitTop = 191
+ Top = 248
+ ExplicitTop = 248
ExplicitWidth = 656
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 656
@@ -240,7 +233,16 @@ inherited fEditorElegirPedidosProveedor: TfEditorElegirPedidosProveedor
inherited actDuplicar: TAction
Visible = False
end
+ inherited actExportarExcel: TAction
+ Enabled = False
+ Visible = False
+ end
inherited actRecibirPedido: TAction
+ Enabled = False
+ Visible = False
+ end
+ inherited actFacturarPedido: TAction
+ Enabled = False
Visible = False
end
end
diff --git a/Source/Modulos/Relaciones/Albaranes de cliente - Facturas de cliente/uGenerarFacturasCliAlbCliUtils.pas b/Source/Modulos/Relaciones/Albaranes de cliente - Facturas de cliente/uGenerarFacturasCliAlbCliUtils.pas
index e37082e7..4404415f 100644
--- a/Source/Modulos/Relaciones/Albaranes de cliente - Facturas de cliente/uGenerarFacturasCliAlbCliUtils.pas
+++ b/Source/Modulos/Relaciones/Albaranes de cliente - Facturas de cliente/uGenerarFacturasCliAlbCliUtils.pas
@@ -10,11 +10,11 @@ type
JsListaFacturasGeneradas: TJSDialog;
end;
- function GenerarFacturaCliAlb(const IDAlbaran : Integer) : Boolean; overload;
- function GenerarFacturaCliAlb(AAlbaran : IBizAlbaranCliente) : Boolean; overload;
+ function GenerarFacturaCliAlb(const IDAlbaran : Integer; const CopiarDetalles: Boolean = True) : Boolean; overload;
+ function GenerarFacturaCliAlb(AAlbaran : IBizAlbaranCliente; const CopiarDetalles: Boolean = True) : Boolean; overload;
function GenerarFacturaCliAlb : Boolean; overload;
- function GenerarFacturas(AFacturas : IBizFacturaCliente; AListaAlbaranes : IBizAlbaranCliente): Boolean;
+ function GenerarFacturas(AFacturas : IBizFacturaCliente; AListaAlbaranes : IBizAlbaranCliente; const CopiarDetalles: Boolean = True): Boolean;
implementation
@@ -205,21 +205,23 @@ begin
end;
-function GenerarFacturaCliAlb(const IDAlbaran : Integer) : Boolean; overload;
+function GenerarFacturaCliAlb(const IDAlbaran : Integer; const CopiarDetalles: Boolean = True) : Boolean; overload;
var
AAlbaran : IBizAlbaranCliente;
begin
Result := False;
-
try
-
if not Assigned(AAlbaranesClienteController) then
Inicializar;
AAlbaran := AAlbaranesClienteController.Buscar(IDAlbaran);
-
if Assigned(AAlbaran) then
- Result := GenerarFacturaCliAlb(AAlbaran);
+ begin
+ if (ShowConfirmMessage('Generar factura', Format('¿Desea copiar todos los conceptos del albaran seleccionados a su factura correspondiente?', [])) = IDYES) then
+ Result := GenerarFacturaCliAlb(AAlbaran)
+ else
+ Result := GenerarFacturaCliAlb(AAlbaran, False);
+ end;
if Assigned(AAlbaranesClienteController) then
Finalizar;
@@ -229,7 +231,7 @@ begin
end;
end;
-function GenerarFacturaCliAlb(AAlbaran : IBizAlbaranCliente) : Boolean; overload;
+function GenerarFacturaCliAlb(AAlbaran : IBizAlbaranCliente; const CopiarDetalles: Boolean = True) : Boolean; overload;
var
AFacturasNuevas : IBizFacturaCliente;
i: Integer;
@@ -247,7 +249,7 @@ begin
try
AFacturasNuevas := AFacturasClienteController.Nuevo(False);
- if GenerarFacturas(AFacturasNuevas, AAlbaran) then
+ if GenerarFacturas(AFacturasNuevas, AAlbaran, CopiarDetalles) then
begin
if AFacturasNuevas.DataTable.RecordCount = 1 then
begin
@@ -295,7 +297,12 @@ begin
+ #10#13 + 'Si elige albaranes de clientes diferentes se dará de alta una factura por cada uno de ellos.' , True);
if Assigned(AAlbaranes) then
- Result := GenerarFacturaCliAlb(AAlbaranes);
+ begin
+ if (ShowConfirmMessage('Generar factura', Format('¿Desea copiar todos los conceptos de/los albaran/es seleccionados a sus facturas correspondientes?', [])) = IDYES) then
+ Result := GenerarFacturaCliAlb(AAlbaranes)
+ else
+ Result := GenerarFacturaCliAlb(AAlbaranes, False);
+ end;
if Assigned(AAlbaranesClienteController) then
Finalizar;
@@ -304,7 +311,7 @@ begin
end;
end;
-function GenerarFacturas(AFacturas : IBizFacturaCliente; AListaAlbaranes : IBizAlbaranCliente): Boolean;
+function GenerarFacturas(AFacturas : IBizFacturaCliente; AListaAlbaranes : IBizAlbaranCliente; const CopiarDetalles: Boolean = True): Boolean;
var
AFacturaActual : IBizFacturaCliente;
AAlbaranesController : IAlbaranesClienteController;
@@ -325,9 +332,6 @@ begin
if not AListaAlbaranes.DataTable.Active then
AListaAlbaranes.DataTable.Active := True;
-// ShowHourglassCursor;
-// Application.ProcessMessages;
-
AAlbaranesController := TAlbaranesClienteController.Create;
try
// Ordenar por fecha de albaran
@@ -370,34 +374,52 @@ begin
// Ya tengo la factura. Le añado los conceptos del albarán
AFacturaActual.Detalles.DataTable.Last;
- // Añado el título
- AFacturasClienteController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_TITULO);
- with AFacturaActual.Detalles do
+ //Se pone la referencia del pedido y el total y nos olvidamos de los detalles
+ if not CopiarDetalles then
begin
- Edit;
- CONCEPTO := 'Albarán ' + AListaAlbaranes.REFERENCIA + ' del ' + DateToStr(AListaAlbaranes.FECHA_ALBARAN);
- Post;
- end;
- // Añado el contenido del albarán
- CopiarArticulosAlbaran(AListaAlbaranes.Detalles, AFacturaActual.Detalles);
+ AFacturasClienteController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_CONCEPTO);
+ with AFacturaActual.Detalles do
+ begin
+ Edit;
+ CONCEPTO := 'Albaran ' + AListaAlbaranes.REFERENCIA;
+ CANTIDAD := 1;
+ IMPORTE_UNIDAD := AListaAlbaranes.IMPORTE_TOTAL; //Tecsitel no utiliza el IVA en los pedidos por lo tanto el
+ //importe total es lo que queremos (IMPORTE_NETO+IMPORTE_PORTE)
+ Post;
+ end;
+ end
+ //Se copian los detalles del pedido a la factura
+ else
+ begin
+ // Añado el título
+ AFacturasClienteController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_TITULO);
+ with AFacturaActual.Detalles do
+ begin
+ Edit;
+ CONCEPTO := 'Albarán ' + AListaAlbaranes.REFERENCIA + ' del ' + DateToStr(AListaAlbaranes.FECHA_ALBARAN);
+ Post;
+ end;
+ // Añado el contenido del albarán
+ CopiarArticulosAlbaran(AListaAlbaranes.Detalles, AFacturaActual.Detalles);
- AFacturasClienteController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_CONCEPTO);
- with AFacturaActual.Detalles do
- begin
- Edit;
- CONCEPTO := 'Porte del albarán';
- CANTIDAD := 1;
- IMPORTE_UNIDAD := AListaAlbaranes.IMPORTE_PORTE;
- Post;
- end;
+ AFacturasClienteController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_CONCEPTO);
+ with AFacturaActual.Detalles do
+ begin
+ Edit;
+ CONCEPTO := 'Porte del albarán';
+ CANTIDAD := 1;
+ IMPORTE_UNIDAD := AListaAlbaranes.IMPORTE_PORTE;
+ Post;
+ end;
- // Añado el resumen
- AFacturasClienteController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_SUBTOTAL);
- with AFacturaActual.Detalles do
- begin
- Edit;
- CONCEPTO := 'Total del albarán ' + AListaAlbaranes.REFERENCIA;
- Post;
+ // Añado el resumen
+ AFacturasClienteController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_SUBTOTAL);
+ with AFacturaActual.Detalles do
+ begin
+ Edit;
+ CONCEPTO := 'Total del albarán ' + AListaAlbaranes.REFERENCIA;
+ Post;
+ end;
end;
// Añado una línea en blanco
diff --git a/Source/Modulos/Relaciones/Albaranes de proveedor - Facturas de proveedor/uGenerarFacturasProvAlbProvUtils.pas b/Source/Modulos/Relaciones/Albaranes de proveedor - Facturas de proveedor/uGenerarFacturasProvAlbProvUtils.pas
index 1708a96f..a8bb813f 100644
--- a/Source/Modulos/Relaciones/Albaranes de proveedor - Facturas de proveedor/uGenerarFacturasProvAlbProvUtils.pas
+++ b/Source/Modulos/Relaciones/Albaranes de proveedor - Facturas de proveedor/uGenerarFacturasProvAlbProvUtils.pas
@@ -13,11 +13,11 @@ type
JsListaFacturasGeneradas: TJSDialog;
end;
- function GenerarFacturaProvAlbProv(const IDAlbaran : Integer) : Boolean; overload;
- function GenerarFacturaProvAlbProv(AAlbaran : IBizAlbaranProveedor) : Boolean; overload;
+ function GenerarFacturaProvAlbProv(const IDAlbaran : Integer; const CopiarDetalles: Boolean = True) : Boolean; overload;
+ function GenerarFacturaProvAlbProv(AAlbaran : IBizAlbaranProveedor; const CopiarDetalles: Boolean = True) : Boolean; overload;
function GenerarFacturaProvAlbProv : Boolean; overload;
- function GenerarFacturas(AFacturas : IBizFacturaProveedor; AListaAlbaranes : IBizAlbaranProveedor): Boolean;
+ function GenerarFacturas(AFacturas : IBizFacturaProveedor; AListaAlbaranes : IBizAlbaranProveedor; const CopiarDetalles: Boolean = True): Boolean;
implementation
@@ -25,7 +25,7 @@ implementation
uses
DB, uDialogUtils, uDADataTable,
- schFacturasProveedorClient_Intf,
+ schFacturasProveedorClient_Intf,
schAlbaranesProveedorClient_Intf,
uBizDetallesFacturaProveedor,
@@ -215,21 +215,23 @@ begin
end;
-function GenerarFacturaProvAlbProv(const IDAlbaran : Integer) : Boolean; overload;
+function GenerarFacturaProvAlbProv(const IDAlbaran : Integer; const CopiarDetalles: Boolean = True) : Boolean; overload;
var
AAlbaran : IBizAlbaranProveedor;
begin
Result := False;
-
try
-
if not Assigned(AAlbaranesProveedorController) then
Inicializar;
AAlbaran := AAlbaranesProveedorController.Buscar(IDAlbaran);
-
if Assigned(AAlbaran) then
- Result := GenerarFacturaProvAlbProv(AAlbaran);
+ begin
+ if (ShowConfirmMessage('Generar factura', Format('¿Desea copiar todos los conceptos del albaran seleccionados a su factura correspondiente?', [])) = IDYES) then
+ Result := GenerarFacturaProvAlbProv(AAlbaran)
+ else
+ Result := GenerarFacturaProvAlbProv(AAlbaran, False);
+ end;
if Assigned(AAlbaranesProveedorController) then
Finalizar;
@@ -239,7 +241,7 @@ begin
end;
end;
-function GenerarFacturaProvAlbProv(AAlbaran : IBizAlbaranProveedor) : Boolean; overload;
+function GenerarFacturaProvAlbProv(AAlbaran : IBizAlbaranProveedor; const CopiarDetalles: Boolean = True) : Boolean; overload;
var
AFacturasNuevas : IBizFacturaProveedor;
i: Integer;
@@ -254,10 +256,10 @@ begin
if not Assigned(AAlbaranesProveedorController) then
Inicializar;
-
+
try
AFacturasNuevas := AFacturasProveedorController.Nuevo(False);
- if GenerarFacturas(AFacturasNuevas, AAlbaran) then
+ if GenerarFacturas(AFacturasNuevas, AAlbaran, CopiarDetalles) then
begin
if AFacturasNuevas.DataTable.RecordCount = 1 then
begin
@@ -303,7 +305,12 @@ begin
+ #10#13 + 'Si elige albaranes de proveedores diferentes se dará de alta una factura por cada uno de ellos.' , True);
if Assigned(AAlbaranes) then
- Result := GenerarFacturaProvAlbProv(AAlbaranes);
+ begin
+ if (ShowConfirmMessage('Generar factura', Format('¿Desea copiar todos los conceptos del/los albaran/es seleccionados a sus facturas correspondientes?', [])) = IDYES) then
+ Result := GenerarFacturaProvAlbProv(AAlbaranes)
+ else
+ Result := GenerarFacturaProvAlbProv(AAlbaranes, False);
+ end;
if Assigned(AAlbaranesProveedorController) then
Finalizar;
@@ -313,7 +320,7 @@ begin
end;
-function GenerarFacturas(AFacturas: IBizFacturaProveedor; AListaAlbaranes: IBizAlbaranProveedor): Boolean;
+function GenerarFacturas(AFacturas: IBizFacturaProveedor; AListaAlbaranes: IBizAlbaranProveedor; const CopiarDetalles: Boolean = True): Boolean;
var
AFacturaActual : IBizFacturaProveedor;
AAlbaranesController : IAlbaranesProveedorController;
@@ -334,9 +341,6 @@ begin
if not AListaAlbaranes.DataTable.Active then
AListaAlbaranes.DataTable.Active := True;
-// ShowHourglassCursor;
-// Application.ProcessMessages;
-
AAlbaranesController := TAlbaranesProveedorController.Create;
try
// Ordenar por fecha de albaran
@@ -388,16 +392,34 @@ begin
// Ya tengo la factura. Le añado los conceptos del albarán
AFacturaActual.Detalles.DataTable.Last;
- // Añado el título
- AFacturasProveedorController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_TITULO);
- with AFacturaActual.Detalles do
+
+ //Se pone la referencia del pedido y el total y nos olvidamos de los detalles
+ if not CopiarDetalles then
begin
- Edit;
- CONCEPTO := 'Albarán ' + AListaAlbaranes.REFERENCIA + ' del ' + DateToStr(AListaAlbaranes.FECHA_ALBARAN);
- Post;
- end;
- // Añado el contenido del albarán
- CopiarArticulosAlbaran(AListaAlbaranes.Detalles, AFacturaActual.Detalles);
+ AFacturasProveedorController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_CONCEPTO);
+ with AFacturaActual.Detalles do
+ begin
+ Edit;
+ CONCEPTO := 'Albaran ' + AListaAlbaranes.REFERENCIA;
+ CANTIDAD := 1;
+ IMPORTE_UNIDAD := AListaAlbaranes.IMPORTE_TOTAL; //Tecsitel no utiliza el IVA en los pedidos por lo tanto el
+ //importe total es lo que queremos (IMPORTE_NETO+IMPORTE_PORTE)
+ Post;
+ end;
+ end
+ //Se copian los detalles del pedido a la factura
+ else
+ begin
+ // Añado el título
+ AFacturasProveedorController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_TITULO);
+ with AFacturaActual.Detalles do
+ begin
+ Edit;
+ CONCEPTO := 'Albarán ' + AListaAlbaranes.REFERENCIA + ' del ' + DateToStr(AListaAlbaranes.FECHA_ALBARAN);
+ Post;
+ end;
+ // Añado el contenido del albarán
+ CopiarArticulosAlbaran(AListaAlbaranes.Detalles, AFacturaActual.Detalles);
{En los albaranes a proveedor el porte es a nivel del artículo
Self.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_CONCEPTO);
@@ -411,13 +433,14 @@ begin
end;
}
- // Añado el resumen
- AFacturasProveedorController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_SUBTOTAL);
- with AFacturaActual.Detalles do
- begin
- Edit;
- CONCEPTO := 'Total del albarán ' + AListaAlbaranes.REFERENCIA;
- Post;
+ // Añado el resumen
+ AFacturasProveedorController.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_SUBTOTAL);
+ with AFacturaActual.Detalles do
+ begin
+ Edit;
+ CONCEPTO := 'Total del albarán ' + AListaAlbaranes.REFERENCIA;
+ Post;
+ end;
end;
// Añado una línea en blanco
@@ -443,7 +466,6 @@ begin
Result := True;
finally
AAlbaranesController := NIL;
-// HideHourglassCursor
end;
end;
diff --git a/Source/Modulos/Relaciones/Pedidos de proveedor - Facturas de proveedor/uGenerarFacturasProvPedUtils.dfm b/Source/Modulos/Relaciones/Pedidos de proveedor - Facturas de proveedor/uGenerarFacturasProvPedUtils.dfm
index e035a753..e4eaa873 100644
--- a/Source/Modulos/Relaciones/Pedidos de proveedor - Facturas de proveedor/uGenerarFacturasProvPedUtils.dfm
+++ b/Source/Modulos/Relaciones/Pedidos de proveedor - Facturas de proveedor/uGenerarFacturasProvPedUtils.dfm
@@ -32,7 +32,7 @@ object dmGenerarFacturasProvPed: TdmGenerarFacturasProvPed
FD84C20B8417C3AA789405239826E0CBCE4F98979E10344C33B0BE630473D312
82866906D6993E62F6F1C3F45D160A5305BE68FF8095CF5B4302134CFE1185EA
1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082}
- Instruction.Text = 'Se ha generado el albar'#195#161'n...'
+ Instruction.Text = 'Se han generado las facturas...'
Instruction.Glyph.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
00001C0806000000720DDF940000000970485973000017120000171201679FD2
@@ -64,10 +64,6 @@ object dmGenerarFacturasProvPed: TdmGenerarFacturasProvPed
1FB8A1B4FF4FE32FF6FADB8B5E0000000049454E44AE426082}
Instruction.Icon = tdiCustom
CustomButtons = <
- item
- Caption = 'Ver el albar'#225'n'
- Value = 100
- end
item
Caption = 'Continuar'
Value = 200
diff --git a/Source/Modulos/Relaciones/Pedidos de proveedor - Facturas de proveedor/uGenerarFacturasProvPedUtils.pas b/Source/Modulos/Relaciones/Pedidos de proveedor - Facturas de proveedor/uGenerarFacturasProvPedUtils.pas
index c88a9a52..e1462b2a 100644
--- a/Source/Modulos/Relaciones/Pedidos de proveedor - Facturas de proveedor/uGenerarFacturasProvPedUtils.pas
+++ b/Source/Modulos/Relaciones/Pedidos de proveedor - Facturas de proveedor/uGenerarFacturasProvPedUtils.pas
@@ -209,19 +209,24 @@ var
APedido : IBizPedidoProveedor;
begin
Result := False;
- if not Assigned(APedidosProveedorController) then
- Inicializar;
+ try
+ if not Assigned(APedidosProveedorController) then
+ Inicializar;
- APedido := APedidosProveedorController.Buscar(IDPedido);
- Result := GenerarFacturaProvPed(APedido, CopiarDetalles);
+ APedido := APedidosProveedorController.Buscar(IDPedido);
+ if Assigned(APedido) then
+ Result := GenerarFacturaProvPed(APedido, CopiarDetalles);
- if Assigned(APedidosProveedorController) then
- Finalizar;
+ if Assigned(APedidosProveedorController) then
+ Finalizar;
+
+ finally
+ APedido := Nil;
+ end;
end;
function GenerarFacturaProvPed(APedidos : IBizPedidoProveedor; const CopiarDetalles: Boolean = True) : Boolean; overload;
var
- ARespuesta : Integer;
AFacturasNuevas : IBizFacturaProveedor;
i: Integer;
begin
@@ -283,7 +288,13 @@ begin
'Elija el pedido o pedidos de proveedor que desea utilizar para dar de alta la factura.'
+ #10#13 + 'Si elige Pedidos de proveedores diferentes se dará de alta una factura por cada uno de ellos.' , True);
- Result := GenerarFacturaProvPed(APedidos);
+ if Assigned(APedidos) then
+ begin
+ if (ShowConfirmMessage('Generar factura', Format('¿Desea copiar todos los conceptos de/los pedido/s seleccionados a sus facturas correspondientes?', [])) = IDYES) then
+ Result := GenerarFacturaProvPed(APedidos)
+ else
+ Result := GenerarFacturaProvPed(APedidos, False);
+ end;
if Assigned(APedidosProveedorController) then
Finalizar;
@@ -333,6 +344,7 @@ begin
// No hay factura de ese Proveedor. Creo una nueva
AFacturasProveedorController.Anadir(AFacturas);
APedidosController.RecuperarProveedor(AListaPedidos);
+ AListaPedidos.Proveedor.DataTable.Active := True;
AFacturas.Proveedor := AListaPedidos.Proveedor;
AFacturaActual := AFacturas;
end;
diff --git a/Source/Servidor/FactuGES_Server.RES b/Source/Servidor/FactuGES_Server.RES
index d46a0c73..f2948dde 100644
Binary files a/Source/Servidor/FactuGES_Server.RES and b/Source/Servidor/FactuGES_Server.RES differ
diff --git a/Source/Servidor/FactuGES_Server.rc b/Source/Servidor/FactuGES_Server.rc
index 1620c99b..4e581167 100644
--- a/Source/Servidor/FactuGES_Server.rc
+++ b/Source/Servidor/FactuGES_Server.rc
@@ -14,7 +14,7 @@ BEGIN
BEGIN
VALUE "FileVersion", "1.2.3.0\0"
VALUE "ProductVersion", "1.2.3.0\0"
- VALUE "CompileDate", "jueves, 21 de agosto de 2008 13:44\0"
+ VALUE "CompileDate", "jueves, 21 de agosto de 2008 17:06\0"
END
END
BLOCK "VarFileInfo"