diff --git a/Source/Base/Base.res b/Source/Base/Base.res index 36f26e23..86c94e6a 100644 Binary files a/Source/Base/Base.res and b/Source/Base/Base.res differ diff --git a/Source/Cliente/FactuGES.bdsproj b/Source/Cliente/FactuGES.bdsproj index cc0ca6ac..cc509d49 100644 --- a/Source/Cliente/FactuGES.bdsproj +++ b/Source/Cliente/FactuGES.bdsproj @@ -148,8 +148,8 @@ True False 2 - 0 - 8 + 1 + 0 0 False False @@ -162,7 +162,7 @@ Rodax Software S.L. - 2.0.8.0 + 2.1.0.0 FactuGES diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res index 3c3637b9..7276ccf5 100644 Binary files a/Source/Cliente/FactuGES.res and b/Source/Cliente/FactuGES.res differ diff --git a/Source/Modulos/Albaranes de cliente/Model/uBizAlbaranesCliente.pas b/Source/Modulos/Albaranes de cliente/Model/uBizAlbaranesCliente.pas index c2e536c9..ecdf04e7 100644 --- a/Source/Modulos/Albaranes de cliente/Model/uBizAlbaranesCliente.pas +++ b/Source/Modulos/Albaranes de cliente/Model/uBizAlbaranesCliente.pas @@ -91,7 +91,7 @@ implementation uses SysUtils, Variants, uDataModuleConfiguracion, uDataModuleUsuarios, - uDataTableUtils, DateUtils, uDateUtils; + uDataTableUtils, DateUtils, uDateUtils, DB; { TBizAlbaranCliente } @@ -211,6 +211,9 @@ begin end; procedure TBizAlbaranCliente.SetCliente(AValue: IBizCliente); +var + bEnEdicion : Boolean; + begin FCliente := AValue; @@ -221,9 +224,17 @@ begin if ID_Cliente <> FCliente.ID then begin - DataTable.Edit; + bEnEdicion := (DataTable.State in dsEditModes); + if not bEnEdicion then + DataTable.Edit; + ID_CLIENTE := FCliente.ID; ID_FORMA_PAGO := FCliente.ID_FORMA_PAGO; + + DataTable.Post; //Muy importante ya que es necesario hacer un post de la cabecera antes de añadir detalles + //si se quita el id de la cabecera y los detalles se desincroniza + if bEnEdicion then + DataTable.Edit; end; end; end; diff --git a/Source/Modulos/Albaranes de proveedor/Model/uBizAlbaranesProveedor.pas b/Source/Modulos/Albaranes de proveedor/Model/uBizAlbaranesProveedor.pas index 6b7489d6..b9dd1b83 100644 --- a/Source/Modulos/Albaranes de proveedor/Model/uBizAlbaranesProveedor.pas +++ b/Source/Modulos/Albaranes de proveedor/Model/uBizAlbaranesProveedor.pas @@ -85,7 +85,7 @@ implementation uses SysUtils, Variants, uDataModuleConfiguracion, uDataModuleUsuarios, - uDataTableUtils, DateUtils, uDateUtils; + uDataTableUtils, DateUtils, uDateUtils, DB; { TBizAlbaranProveedor } @@ -204,6 +204,9 @@ begin end; procedure TBizAlbaranProveedor.SetProveedor(AValue: IBizProveedor); +var + bEnEdicion : Boolean; + begin FProveedor := AValue; @@ -214,8 +217,16 @@ begin if ID_PROVEEDOR <> FProveedor.ID then begin - DataTable.Edit; + bEnEdicion := (DataTable.State in dsEditModes); + if not bEnEdicion then + DataTable.Edit; + ID_PROVEEDOR := FProveedor.ID; + + DataTable.Post; //Muy importante ya que es necesario hacer un post de la cabecera antes de añadir detalles + //si se quita el id de la cabecera y los detalles se desincroniza + if bEnEdicion then + DataTable.Edit; end; end; end; diff --git a/Source/Modulos/Pedidos a proveedor/Model/uBizPedidosProveedor.pas b/Source/Modulos/Pedidos a proveedor/Model/uBizPedidosProveedor.pas index b85575f1..5fef610f 100644 --- a/Source/Modulos/Pedidos a proveedor/Model/uBizPedidosProveedor.pas +++ b/Source/Modulos/Pedidos a proveedor/Model/uBizPedidosProveedor.pas @@ -91,7 +91,7 @@ implementation uses SysUtils, Variants, uDataModuleConfiguracion, uDataModuleUsuarios, - uDataTableUtils, DateUtils, uDateUtils; + uDataTableUtils, DateUtils, uDateUtils, DB; { TBizPedidoProveedor } @@ -224,6 +224,9 @@ begin end; procedure TBizPedidoProveedor.SetProveedor(AValue: IBizProveedor); +var + bEnEdicion : Boolean; + begin FProveedor := AValue; @@ -234,8 +237,16 @@ begin if ID_PROVEEDOR <> FProveedor.ID then begin - DataTable.Edit; + bEnEdicion := (DataTable.State in dsEditModes); + if not bEnEdicion then + DataTable.Edit; + ID_PROVEEDOR := FProveedor.ID; + + DataTable.Post; //Muy importante ya que es necesario hacer un post de la cabecera antes de añadir detalles + //si se quita el id de la cabecera y los detalles se desincroniza + if bEnEdicion then + DataTable.Edit; end; end; end; diff --git a/Source/Modulos/Pedidos de cliente/Model/uBizPedidosCliente.pas b/Source/Modulos/Pedidos de cliente/Model/uBizPedidosCliente.pas index 799a94a3..50a15eaf 100644 --- a/Source/Modulos/Pedidos de cliente/Model/uBizPedidosCliente.pas +++ b/Source/Modulos/Pedidos de cliente/Model/uBizPedidosCliente.pas @@ -99,7 +99,7 @@ implementation uses SysUtils, Variants, uDataModuleConfiguracion, uDataModuleUsuarios, - uDataTableUtils, DateUtils, uDateUtils; + uDataTableUtils, DateUtils, uDateUtils, DB; { TBizPedidoCliente } @@ -231,6 +231,9 @@ begin end; procedure TBizPedidoCliente.SetCliente(AValue: IBizCliente); +var + bEnEdicion : Boolean; + begin FCliente := AValue; @@ -241,9 +244,17 @@ begin if ID_Cliente <> FCliente.ID then begin - DataTable.Edit; + bEnEdicion := (DataTable.State in dsEditModes); + if not bEnEdicion then + DataTable.Edit; + ID_CLIENTE := FCliente.ID; ID_FORMA_PAGO := FCliente.ID_FORMA_PAGO; + + DataTable.Post; //Muy importante ya que es necesario hacer un post de la cabecera antes de añadir detalles + //si se quita el id de la cabecera y los detalles se desincroniza + if bEnEdicion then + DataTable.Edit; end; end; end; diff --git a/Source/Servidor/FactuGES_Server.bdsproj b/Source/Servidor/FactuGES_Server.bdsproj index 3e2c9b20..efda3458 100644 --- a/Source/Servidor/FactuGES_Server.bdsproj +++ b/Source/Servidor/FactuGES_Server.bdsproj @@ -1,4 +1,4 @@ - + + RemObjects Pascal Script - RemObjects SDK 3.0 Integration + + False -