diff --git a/Source/Modulos/Contabilidad/Controller/uSubCuentasController.pas b/Source/Modulos/Contabilidad/Controller/uSubCuentasController.pas index b4e2c56c..2b902efd 100644 --- a/Source/Modulos/Contabilidad/Controller/uSubCuentasController.pas +++ b/Source/Modulos/Contabilidad/Controller/uSubCuentasController.pas @@ -46,6 +46,7 @@ type procedure EliminarSubCuentaContacto(ASubCuentaContacto: IBizSubCuentasContacto); function DarLista(Const TipoSubCuenta: TEnumTipoSubCuenta): TStringList; + function Duplicar(ASubCuenta: IBizSubCuenta): IBizSubCuenta; end; TSubCuentasController = class(TObservador, ISubCuentasController) @@ -63,6 +64,7 @@ type function ValidarSubCuenta(ASubCuenta: IBizSubCuenta): Boolean; procedure AsignarDataModule; procedure FiltrarEjercicio(ASubCuenta: IBizSubCuenta); + function _Vacio : IBizSubCuenta; virtual; public constructor Create; override; @@ -92,6 +94,7 @@ type procedure EliminarSubCuentaContacto(ASubCuentaContacto: IBizSubCuentasContacto); function DarLista(Const TipoSubCuenta: TEnumTipoSubCuenta): TStringList; + function Duplicar(ASubCuenta: IBizSubCuenta): IBizSubCuenta; end; implementation @@ -99,7 +102,7 @@ implementation uses cxControls, DB, uEditorRegistryUtils, schContabilidadClient_Intf, uIEditorSubCuentas, uIEditorSubCuenta, uIEditorElegirSubCuentas, uDataModuleContabilidad, - uBizCuentas, uCuentasController, Dialogs, + uBizCuentas, uCuentasController, Dialogs, Variants, uDAInterfaces, uDataTableUtils, uDialogUtils, uFactuGES_App, uDateUtils, uROTypes, DateUtils, Controls, Windows; @@ -365,6 +368,22 @@ begin inherited; end; +function TSubCuentasController.Duplicar(ASubCuenta: IBizSubCuenta): IBizSubCuenta; +begin + Result := Self._Vacio; + ShowHourglassCursor; + try + DuplicarRegistros(ASubCuenta.DataTable, Result.DataTable, mdrActual); + // Hay que dejar algunos campos como si fuera una subcuenta nueva + Result.Edit; + with Result do + Result.DataTable.FieldByName(fld_SubCuentasID_CONTACTO).AsVariant := Null; + Result.Post; + finally + HideHourglassCursor; + end; +end; + function TSubCuentasController.ValidarSubCuenta(ASubCuenta: IBizSubCuenta): Boolean; begin Result := False; @@ -452,6 +471,11 @@ begin end; end; +function TSubCuentasController._Vacio: IBizSubCuenta; +begin + Result := Buscar(ID_NULO); +end; + procedure TSubCuentasController.ElegirCuenta(ASubCuenta: IBizSubCuenta); var ACuenta : IBizCuenta; diff --git a/Source/Modulos/Contabilidad/Data/uDataModuleContabilidad.dfm b/Source/Modulos/Contabilidad/Data/uDataModuleContabilidad.dfm index 382deae3..11807f09 100644 --- a/Source/Modulos/Contabilidad/Data/uDataModuleContabilidad.dfm +++ b/Source/Modulos/Contabilidad/Data/uDataModuleContabilidad.dfm @@ -529,67 +529,99 @@ inherited DataModuleContabilidad: TDataModuleContabilidad item Name = 'ID_APUNTE' DataType = datInteger + DisplayLabel = 'Diario_ID_APUNTE' + DictionaryEntry = 'Diario_ID_APUNTE' InPrimaryKey = True end item Name = 'ID_ASIENTO' DataType = datInteger + DisplayLabel = 'Diario_ID_ASIENTO' + DictionaryEntry = 'Diario_ID_ASIENTO' end item Name = 'ID_FACTURA' DataType = datInteger + DisplayLabel = 'Diario_ID_FACTURA' + DictionaryEntry = 'Diario_ID_FACTURA' end item Name = 'ID_PAGO' DataType = datInteger + DisplayLabel = 'Diario_ID_PAGO' + DictionaryEntry = 'Diario_ID_PAGO' end item Name = 'ORDEN_ASIENTO' DataType = datInteger + DisplayLabel = 'Diario_ORDEN_ASIENTO' + Alignment = taRightJustify + DictionaryEntry = 'Diario_ORDEN_ASIENTO' end item Name = 'FECHA_ASIENTO' DataType = datDateTime + DisplayLabel = 'Diario_FECHA_ASIENTO' + DictionaryEntry = 'Diario_FECHA_ASIENTO' end item Name = 'ID_SUBCUENTA' DataType = datInteger + DisplayLabel = 'Diario_ID_SUBCUENTA' + DictionaryEntry = 'Diario_ID_SUBCUENTA' end item Name = 'REF_SUBCUENTA' DataType = datString Size = 15 + DisplayLabel = 'Diario_REF_SUBCUENTA' + DictionaryEntry = 'Diario_REF_SUBCUENTA' end item Name = 'SUBCUENTA' DataType = datString Size = 255 + DisplayLabel = 'Diario_SUBCUENTA' + DictionaryEntry = 'Diario_SUBCUENTA' end item Name = 'ID_EJERCICIO' DataType = datInteger + DisplayLabel = 'Diario_ID_EJERCICIO' + DictionaryEntry = 'Diario_ID_EJERCICIO' end item Name = 'CONCEPTO' DataType = datString Size = 255 + DisplayLabel = 'Diario_CONCEPTO' + DictionaryEntry = 'Diario_CONCEPTO' end item Name = 'DOCUMENTO' DataType = datString Size = 255 + DisplayLabel = 'Diario_DOCUMENTO' + DictionaryEntry = 'Diario_DOCUMENTO' end item Name = 'DEBE' DataType = datCurrency + Alignment = taRightJustify + DictionaryEntry = 'Diario_DEBE' end item Name = 'HABER' DataType = datCurrency + DisplayLabel = 'Diario_HABER' + Alignment = taRightJustify + DictionaryEntry = 'Diario_HABER' end item Name = 'PUNTEADO' DataType = datSmallInt + DisplayLabel = 'Diario_PUNTEADO' + DictionaryEntry = 'Diario_PUNTEADO' end> Params = <> StreamingOptions = [soDisableEventsWhileStreaming] diff --git a/Source/Modulos/Contabilidad/Servidor/srvContabilidad_Impl.dfm b/Source/Modulos/Contabilidad/Servidor/srvContabilidad_Impl.dfm index cc05231a..e66e075e 100644 --- a/Source/Modulos/Contabilidad/Servidor/srvContabilidad_Impl.dfm +++ b/Source/Modulos/Contabilidad/Servidor/srvContabilidad_Impl.dfm @@ -329,6 +329,74 @@ object srvContabilidad: TsrvContabilidad item Name = 'Asientos_ID_RECIBO' DataType = datInteger + end + item + Name = 'Diario_ID_APUNTE' + DataType = datInteger + end + item + Name = 'Diario_ID_ASIENTO' + DataType = datInteger + end + item + Name = 'Diario_ID_FACTURA' + DataType = datInteger + end + item + Name = 'Diario_ID_PAGO' + DataType = datInteger + end + item + Name = 'Diario_ORDEN_ASIENTO' + DataType = datInteger + Alignment = taRightJustify + end + item + Name = 'Diario_FECHA_ASIENTO' + DataType = datDateTime + end + item + Name = 'Diario_ID_SUBCUENTA' + DataType = datInteger + end + item + Name = 'Diario_REF_SUBCUENTA' + DataType = datString + Size = 15 + end + item + Name = 'Diario_SUBCUENTA' + DataType = datString + Size = 255 + end + item + Name = 'Diario_ID_EJERCICIO' + DataType = datInteger + end + item + Name = 'Diario_CONCEPTO' + DataType = datString + Size = 255 + end + item + Name = 'Diario_DOCUMENTO' + DataType = datString + Size = 255 + end + item + Name = 'Diario_DEBE' + DataType = datCurrency + DisplayLabel = 'DEBE' + Alignment = taRightJustify + end + item + Name = 'Diario_HABER' + DataType = datCurrency + Alignment = taRightJustify + end + item + Name = 'Diario_PUNTEADO' + DataType = datSmallInt end> Left = 150 Top = 24 @@ -420,6 +488,11 @@ object srvContabilidad: TsrvContabilidad Name = 'REF_CUENTA' Value = '' ParamType = daptInput + end + item + Name = 'REF_TIENDA' + Value = '' + ParamType = daptInput end> Statements = < item @@ -432,7 +505,7 @@ object srvContabilidad: TsrvContabilidad 'Integer))'#10'from cont_subcuentas'#10'left join cont_cuentas on cont_cu' + 'entas.id = cont_subcuentas.id_cuenta'#10'where cont_subcuentas.id_ej' + 'ercicio = :ID_EJERCICIO'#10'and cont_cuentas.ref_cuenta = :REF_CUENT' + - 'A'#10 + 'A'#10'and substr(cont_subcuentas.ref_subcuenta, 4, 5) = :REF_TIENDA'#10 StatementType = stSQL ColumnMappings = < item @@ -554,67 +627,82 @@ object srvContabilidad: TsrvContabilidad item Name = 'ID_APUNTE' DataType = datInteger + DictionaryEntry = 'Diario_ID_APUNTE' InPrimaryKey = True end item Name = 'ID_ASIENTO' DataType = datInteger + DictionaryEntry = 'Diario_ID_ASIENTO' end item Name = 'ID_FACTURA' DataType = datInteger + DictionaryEntry = 'Diario_ID_FACTURA' end item Name = 'ID_PAGO' DataType = datInteger + DictionaryEntry = 'Diario_ID_PAGO' end item Name = 'ORDEN_ASIENTO' DataType = datInteger + DictionaryEntry = 'Diario_ORDEN_ASIENTO' end item Name = 'FECHA_ASIENTO' DataType = datDateTime + DictionaryEntry = 'Diario_FECHA_ASIENTO' end item Name = 'ID_SUBCUENTA' DataType = datInteger + DictionaryEntry = 'Diario_ID_SUBCUENTA' end item Name = 'REF_SUBCUENTA' DataType = datString Size = 15 + DictionaryEntry = 'Diario_REF_SUBCUENTA' end item Name = 'SUBCUENTA' DataType = datString Size = 255 + DictionaryEntry = 'Diario_SUBCUENTA' end item Name = 'ID_EJERCICIO' DataType = datInteger + DictionaryEntry = 'Diario_ID_EJERCICIO' end item Name = 'CONCEPTO' DataType = datString Size = 255 + DictionaryEntry = 'Diario_CONCEPTO' end item Name = 'DOCUMENTO' DataType = datString Size = 255 + DictionaryEntry = 'Diario_DOCUMENTO' end item Name = 'DEBE' DataType = datCurrency + DictionaryEntry = 'Diario_DEBE' end item Name = 'HABER' DataType = datCurrency + DictionaryEntry = 'Diario_HABER' end item Name = 'PUNTEADO' DataType = datSmallInt + DictionaryEntry = 'Diario_PUNTEADO' end> end item diff --git a/Source/Modulos/Contabilidad/Servidor/srvContabilidad_Impl.pas b/Source/Modulos/Contabilidad/Servidor/srvContabilidad_Impl.pas index d72963c4..f6beb01f 100644 --- a/Source/Modulos/Contabilidad/Servidor/srvContabilidad_Impl.pas +++ b/Source/Modulos/Contabilidad/Servidor/srvContabilidad_Impl.pas @@ -77,7 +77,17 @@ begin try try - dsData := schContabilidad.NewDataset(AConn, 'DarMaxRefSubCuenta', ['ID_EJERCICIO', 'REF_CUENTA'], [darEjercicioActivo(ID_EMPRESA), REFERENCIA_CLIENTES]); + dsData := schContabilidad.NewDataset(AConn, 'DarCodigoContableTienda', ['ID_EMPRESA', 'ID_TIENDA'], [ID_EMPRESA, ID_TIENDA]); + dsData.Active := True; + + if VarIsNull(dsData.FieldValues[0]) then + NumTienda := 0 + else + NumTienda := dsData.FieldValues[0]; + RefTienda := format('%.2d', [NumTienda]); + + dsData := NIL; + dsData := schContabilidad.NewDataset(AConn, 'DarMaxRefSubCuenta', ['ID_EJERCICIO', 'REF_CUENTA', 'REF_TIENDA'], [darEjercicioActivo(ID_EMPRESA), REFERENCIA_CLIENTES, RefTienda]); dsData.Active := True; if VarIsNull(dsData.FieldValues[0]) then @@ -87,20 +97,9 @@ begin Inc(NumCuenta); RefSubCuenta := format('%.5d', [NumCuenta]); - dsData := NIL; - - dsData := schContabilidad.NewDataset(AConn, 'DarCodigoContableTienda', ['ID_EMPRESA', 'ID_TIENDA'], [ID_EMPRESA, ID_TIENDA]); - dsData.Active := True; - - if VarIsNull(dsData.FieldValues[0]) then - NumTienda := 0 - else - NumTienda := dsData.FieldValues[0]; - - RefTienda := format('%.2d', [NumTienda]); RefSubCuenta := IntToStr(REFERENCIA_CLIENTES) + RefTienda + RefSubCuenta; - dsData := NIL; + dsData := NIL; dsData := schContabilidad.NewDataset(AConn, 'DarIDCuenta', ['ID_EJERCICIO', 'REFERENCIA'], [darEjercicioActivo(ID_EMPRESA), REFERENCIA_CLIENTES]); dsData.Active := True; @@ -161,18 +160,6 @@ begin try try - dsData := schContabilidad.NewDataset(AConn, 'DarMaxRefSubCuenta', ['ID_EJERCICIO', 'REF_CUENTA'], [darEjercicioActivo(ID_EMPRESA), REFERENCIA_PROVEEDORES]); - dsData.Active := True; - - if VarIsNull(dsData.FieldValues[0]) then - NumCuenta := 0 - else - NumCuenta := dsData.FieldValues[0]; - - Inc(NumCuenta); - RefSubCuenta := format('%.5d', [NumCuenta]); - dsData := NIL; - dsData := schContabilidad.NewDataset(AConn, 'DarCodigoContableTienda', ['ID_EMPRESA', 'ID_TIENDA'], [ID_EMPRESA, ID_TIENDA]); dsData.Active := True; @@ -180,11 +167,21 @@ begin NumTienda := 0 else NumTienda := dsData.FieldValues[0]; - RefTienda := format('%.2d', [NumTienda]); - RefSubCuenta := IntToStr(REFERENCIA_PROVEEDORES) + RefTienda + RefSubCuenta; - dsData := NIL; + dsData := NIL; + dsData := schContabilidad.NewDataset(AConn, 'DarMaxRefSubCuenta', ['ID_EJERCICIO', 'REF_CUENTA', 'REF_TIENDA'], [darEjercicioActivo(ID_EMPRESA), REFERENCIA_PROVEEDORES, RefTienda]); + dsData.Active := True; + + if VarIsNull(dsData.FieldValues[0]) then + NumCuenta := 0 + else + NumCuenta := dsData.FieldValues[0]; + Inc(NumCuenta); + RefSubCuenta := format('%.5d', [NumCuenta]); + RefSubCuenta := IntToStr(REFERENCIA_PROVEEDORES) + RefTienda + RefSubCuenta; + + dsData := NIL; dsData := schContabilidad.NewDataset(AConn, 'DarIDCuenta', ['ID_EJERCICIO', 'REFERENCIA'], [darEjercicioActivo(ID_EMPRESA), REFERENCIA_PROVEEDORES]); dsData.Active := True; diff --git a/Source/Modulos/Contabilidad/Views/uEditorSubCuentas.dfm b/Source/Modulos/Contabilidad/Views/uEditorSubCuentas.dfm index 59be0389..9a1dc378 100644 --- a/Source/Modulos/Contabilidad/Views/uEditorSubCuentas.dfm +++ b/Source/Modulos/Contabilidad/Views/uEditorSubCuentas.dfm @@ -2,7 +2,6 @@ inherited fEditorSubCuentas: TfEditorSubCuentas Left = 489 Top = 325 Caption = 'Lista de epigrafes' - ExplicitHeight = 471 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader @@ -13,7 +12,7 @@ inherited fEditorSubCuentas: TfEditorSubCuentas 000000180806000000E0773DF8000000017352474200AECE1CE9000000046741 4D410000B18F0BFC6105000000206348524D00007A26000080840000FA000000 80E8000075300000EA6000003A98000017709CBA513C00000009704859730000 - 17110000171101CA26F33F0000061349444154484B8D957950535714C6AFA3B6 + 17100000171001186111DB0000061349444154484B8D957950535714C6AFA3B6 D50A3550C7FEE3D8B163D5EAB45A3BB668D516A958A753D756D45A15C48588D6 3A82A52A1641515CC6991008080202861910704341306CA238209B61912D4202 D9F78D255FEF7B048B3A3A7D995FCECD7D2FE7FBEEB92737A3E2A323425C5D46 @@ -126,19 +125,9 @@ inherited fEditorSubCuentas: TfEditorSubCuentas inherited dxLayoutControl1: TdxLayoutControl Width = 543 ExplicitWidth = 543 - inherited txtFiltroTodo: TcxTextEdit - ExplicitWidth = 273 - Width = 273 - end - inherited edtFechaIniFiltro: TcxDateEdit - ExplicitWidth = 121 - Width = 121 - end inherited edtFechaFinFiltro: TcxDateEdit Left = 337 ExplicitLeft = 337 - ExplicitWidth = 121 - Width = 121 end end inherited TBXAlignmentPanel1: TTBXAlignmentPanel diff --git a/Source/Modulos/Contabilidad/Views/uEditorSubCuentas.pas b/Source/Modulos/Contabilidad/Views/uEditorSubCuentas.pas index 95588daa..f943c940 100644 Binary files a/Source/Modulos/Contabilidad/Views/uEditorSubCuentas.pas and b/Source/Modulos/Contabilidad/Views/uEditorSubCuentas.pas differ diff --git a/Source/Modulos/Contabilidad/Views/uViewDiario.dfm b/Source/Modulos/Contabilidad/Views/uViewDiario.dfm index 767eafa2..441f5550 100644 --- a/Source/Modulos/Contabilidad/Views/uViewDiario.dfm +++ b/Source/Modulos/Contabilidad/Views/uViewDiario.dfm @@ -68,15 +68,27 @@ inherited frViewDiario: TfrViewDiario PropertiesClassName = 'TcxTextEditProperties' Width = 118 end + object cxGridViewDOCUMENTO: TcxGridDBColumn + Caption = 'Documento' + DataBinding.FieldName = 'DOCUMENTO' + end object cxGridViewDEBE: TcxGridDBColumn Caption = 'Debe' DataBinding.FieldName = 'DEBE' PropertiesClassName = 'TcxCurrencyEditProperties' + Properties.Alignment.Horz = taRightJustify + FooterAlignmentHorz = taRightJustify + GroupSummaryAlignment = taRightJustify + HeaderAlignmentHorz = taRightJustify end object cxGridViewHABER: TcxGridDBColumn Caption = 'Haber' DataBinding.FieldName = 'HABER' PropertiesClassName = 'TcxCurrencyEditProperties' + Properties.Alignment.Horz = taRightJustify + FooterAlignmentHorz = taRightJustify + GroupSummaryAlignment = taRightJustify + HeaderAlignmentHorz = taRightJustify end end end diff --git a/Source/Modulos/Contabilidad/Views/uViewDiario.pas b/Source/Modulos/Contabilidad/Views/uViewDiario.pas index b988cf2b..abdb5dd4 100644 Binary files a/Source/Modulos/Contabilidad/Views/uViewDiario.pas and b/Source/Modulos/Contabilidad/Views/uViewDiario.pas differ diff --git a/Source/Modulos/Contabilidad/Views/uViewListaSubCuentas.pas b/Source/Modulos/Contabilidad/Views/uViewListaSubCuentas.pas index f04bb850..278f715b 100644 --- a/Source/Modulos/Contabilidad/Views/uViewListaSubCuentas.pas +++ b/Source/Modulos/Contabilidad/Views/uViewListaSubCuentas.pas @@ -41,6 +41,7 @@ type property TipoSubCuenta: TEnumTipoSubCuenta read GetTipoSubCuenta write SetTipoSubCuenta; property IdSubCuenta: Integer read getIDCajaBanco; procedure ElegirSubCuenta(const AIdSubCuenta : Integer); + procedure refrescar; end; @@ -84,17 +85,7 @@ end; procedure TfrViewListaSubcuentas.eContabilizarPropertiesEditValueChanged(Sender: TObject); begin inherited; - if not eContabilizar.Checked then - begin - cbSubCuentas.ItemIndex := 0; - FIdSubCuenta := StrToInt(FListaSubCuentas.Values[cbSubCuentas.Text]); //Refrescamos el valor - cbSubCuentas.Enabled := True; - end - else - begin - cbSubCuentas.ItemIndex := -1; - cbSubCuentas.Enabled := False; - end; + refrescar; end; procedure TfrViewListaSubcuentas.ElegirSubCuenta(const AIdSubCuenta: Integer); @@ -121,6 +112,21 @@ begin Result := FTipoSubCuenta; end; +procedure TfrViewListaSubcuentas.refrescar; +begin + if not eContabilizar.Checked then + begin + cbSubCuentas.ItemIndex := 0; + FIdSubCuenta := StrToInt(FListaSubCuentas.Values[cbSubCuentas.Text]); //Refrescamos el valor + cbSubCuentas.Enabled := True; + end + else + begin + cbSubCuentas.ItemIndex := -1; + cbSubCuentas.Enabled := False; + end; +end; + procedure TfrViewListaSubcuentas.SetTipoSubCuenta(Const Value: TEnumTipoSubCuenta); var i: Integer; diff --git a/Source/Modulos/Contactos/Model/uBizClientesServer.pas b/Source/Modulos/Contactos/Model/uBizClientesServer.pas index af584867..ff03db04 100644 --- a/Source/Modulos/Contactos/Model/uBizClientesServer.pas +++ b/Source/Modulos/Contactos/Model/uBizClientesServer.pas @@ -150,23 +150,21 @@ begin Execute; end; -//REPASAR en el caso de que se modifique el contacto sera todo manual //En caso de no ignorar contabilidad se deberá dar de alta una cuenta para el cliente si el usuario no la ha asignado -{ if (aChange.NewValueByName[fld_ClientesIGNORAR_CONTABILIDAD] = 0) then + if (aChange.NewValueByName[fld_ClientesIGNORAR_CONTABILIDAD] = 0) then begin with TsrvContabilidad.Create(NIL) do try IdCliente := aChange.NewValueByName[fld_ClientesID]; IdTienda := aChange.NewValueByName[fld_ClientesID_TIENDA]; IdEmpresa := aChange.NewValueByName[fld_ClientesID_EMPRESA]; - NombreComercial := aChange.NewValueByName[fld_ClientesNOMBRE_COMERCIAL]; + Nombre := aChange.NewValueByName[fld_ClientesNOMBRE]; if not TieneCuentaAsociada(idCliente, idEmpresa) then - AnadirSubCuentaCliente(idCliente, idTienda, idEmpresa, NombreComercial); + AnadirSubCuentaCliente(idCliente, idTienda, idEmpresa, Nombre); finally Free; end; end; -} finally ACommand := NIL; diff --git a/Source/Modulos/Contactos/Views/uEditorCliente.dfm b/Source/Modulos/Contactos/Views/uEditorCliente.dfm index 96b46959..a7915e93 100644 --- a/Source/Modulos/Contactos/Views/uEditorCliente.dfm +++ b/Source/Modulos/Contactos/Views/uEditorCliente.dfm @@ -5,7 +5,7 @@ inherited fEditorCliente: TfEditorCliente ClientHeight = 645 ClientWidth = 896 ExplicitWidth = 904 - ExplicitHeight = 672 + ExplicitHeight = 679 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader @@ -310,23 +310,9 @@ inherited fEditorCliente: TfEditorCliente Width = 882 LookAndFeel = dxLayoutOfficeLookAndFeel ExplicitWidth = 882 - inherited eEntidad: TcxDBTextEdit - ExplicitWidth = 114 - Width = 114 - end inherited eSucursal: TcxDBTextEdit - Left = 542 - ExplicitLeft = 542 - ExplicitWidth = 112 - Width = 112 - end - inherited eCuenta: TcxDBTextEdit - ExplicitWidth = 194 - Width = 194 - end - inherited eTitular: TcxDBTextEdit - ExplicitWidth = 194 - Width = 194 + Left = 543 + ExplicitLeft = 543 end end end @@ -453,18 +439,6 @@ inherited fEditorCliente: TfEditorCliente inherited ToolBar1: TToolBar Width = 882 ExplicitWidth = 882 - inherited ToolButton1: TToolButton - ExplicitWidth = 113 - end - inherited ToolButton4: TToolButton - ExplicitWidth = 113 - end - inherited ToolButton2: TToolButton - ExplicitWidth = 113 - end - inherited ToolButton7: TToolButton - ExplicitWidth = 113 - end end end end @@ -537,6 +511,9 @@ inherited fEditorCliente: TfEditorCliente Height = 516 ExplicitWidth = 882 ExplicitHeight = 516 + DesignSize = ( + 882 + 516) inherited eRefSubCuenta: TcxDBTextEdit ExplicitWidth = 346 Width = 346 @@ -551,6 +528,7 @@ inherited fEditorCliente: TfEditorCliente end inherited BitBtn1: TBitBtn Left = 656 + Visible = True ExplicitLeft = 656 end inherited BitBtn2: TBitBtn diff --git a/Source/Modulos/Contactos/Views/uEditorCliente.pas b/Source/Modulos/Contactos/Views/uEditorCliente.pas index 58099d15..a3e96111 100644 --- a/Source/Modulos/Contactos/Views/uEditorCliente.pas +++ b/Source/Modulos/Contactos/Views/uEditorCliente.pas @@ -32,6 +32,7 @@ type procedure FormShow(Sender: TObject); procedure actGruposClienteExecute(Sender: TObject); protected + procedure GuardarInterno; override; procedure EliminarInterno; override; procedure SetContacto(const Value: IBizContacto); override; public @@ -44,7 +45,7 @@ implementation {$INCLUDE ..\..\..\FactuGES.inc} uses - uEditorItem, uEditorBase, uDataModuleUsuarios, uEditorDBItem, + uEditorItem, uEditorBase, uDataModuleUsuarios, uEditorDBItem, cxDBEdit, uGruposClienteController, uBizGruposCliente, uEditorDBBase, uDialogUtils; procedure TfEditorCliente.actGruposClienteExecute(Sender: TObject); @@ -87,6 +88,18 @@ begin end; +procedure TfEditorCliente.GuardarInterno; +begin + + //Si estamos modificando un cliente y se activa la contabilidad, debemos avisar que se asignará una subcuenta al cliente + if not Contacto.EsNuevo + and (frViewSubCuentaContacto1.cbIgnorarContabilidad.EditValue = 0) then + if (ShowConfirmMessage('Confirmación de subcuenta', 'Se creará una nueva subcuenta para el cliente' + #10#13 + '¿Esta seguro que desea continuar?') = IDNO) then + frViewSubCuentaContacto1.cbIgnorarContabilidad.EditValue := 1; + + inherited; +end; + procedure TfEditorCliente.PonerTitulos(const ATitulo: string); var FTitulo : String; diff --git a/Source/Modulos/Contactos/Views/uEditorContacto.dfm b/Source/Modulos/Contactos/Views/uEditorContacto.dfm index 318a0e8c..4181946a 100644 --- a/Source/Modulos/Contactos/Views/uEditorContacto.dfm +++ b/Source/Modulos/Contactos/Views/uEditorContacto.dfm @@ -7,6 +7,7 @@ inherited fEditorContacto: TfEditorContacto ClientWidth = 632 Scaled = False ExplicitWidth = 640 + ExplicitHeight = 240 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader diff --git a/Source/Modulos/Contactos/Views/uViewSubCuentaContacto.dfm b/Source/Modulos/Contactos/Views/uViewSubCuentaContacto.dfm index ad5e40a5..dd5d7f1a 100644 --- a/Source/Modulos/Contactos/Views/uViewSubCuentaContacto.dfm +++ b/Source/Modulos/Contactos/Views/uViewSubCuentaContacto.dfm @@ -1,5 +1,6 @@ inherited frViewSubCuentaContacto: TfrViewSubCuentaContacto - Width = 575 + Width = 487 + Height = 304 Align = alClient AutoSize = True OnCreate = CustomViewCreate @@ -9,17 +10,16 @@ inherited frViewSubCuentaContacto: TfrViewSubCuentaContacto object layoutApunte: TdxLayoutControl Left = 0 Top = 0 - Width = 575 - Height = 291 + Width = 487 + Height = 304 Align = alClient ParentBackground = True TabOrder = 0 AutoContentSizes = [acsWidth, acsHeight] ExplicitWidth = 451 - ExplicitHeight = 304 DesignSize = ( - 575 - 291) + 487 + 304) object eRefSubCuenta: TcxDBTextEdit Left = 93 Top = 37 @@ -41,7 +41,7 @@ inherited frViewSubCuentaContacto: TfrViewSubCuentaContacto Width = 346 end object BitBtn3: TBitBtn - Left = 233 + Left = 145 Top = 37 Width = 110 Height = 25 @@ -105,7 +105,7 @@ inherited frViewSubCuentaContacto: TfrViewSubCuentaContacto Width = 265 end object BitBtn1: TBitBtn - Left = 349 + Left = 261 Top = 37 Width = 120 Height = 25 @@ -149,7 +149,7 @@ inherited frViewSubCuentaContacto: TfrViewSubCuentaContacto E000E248D100E407DB00FF00FF00FF00FF00FF00FF00FF00FF00} end object BitBtn2: TBitBtn - Left = 475 + Left = 387 Top = 37 Width = 90 Height = 25 @@ -258,7 +258,9 @@ inherited frViewSubCuentaContacto: TfrViewSubCuentaContacto end object actAnadirSubcuenta: TAction Caption = 'A'#241'adir subcuenta' + Enabled = False ImageIndex = 5 + Visible = False OnExecute = actAnadirSubcuentaExecute OnUpdate = actAnadirSubcuentaUpdate end diff --git a/Source/Modulos/Contactos/Views/uViewSubCuentaContacto.pas b/Source/Modulos/Contactos/Views/uViewSubCuentaContacto.pas index 79a1ca14..91fff165 100644 --- a/Source/Modulos/Contactos/Views/uViewSubCuentaContacto.pas +++ b/Source/Modulos/Contactos/Views/uViewSubCuentaContacto.pas @@ -84,8 +84,9 @@ end; procedure TfrViewSubCuentaContacto.actAnadirSubcuentaUpdate(Sender: TObject); begin inherited; - (Sender as TAction).Enabled := (not (cbIgnorarContabilidad.Checked)) - and (DADataSource.DataTable.IsEmpty); + (Sender as TAction).Enabled := False; +// (Sender as TAction).Enabled := (not (cbIgnorarContabilidad.Checked)) +// and (DADataSource.DataTable.IsEmpty); end; procedure TfrViewSubCuentaContacto.actElegirSubCuentaExecute(Sender: TObject); diff --git a/Source/Modulos/Recibos de cliente/Controller/uRecibosClienteController.pas b/Source/Modulos/Recibos de cliente/Controller/uRecibosClienteController.pas index c2a3a449..a1c59670 100644 --- a/Source/Modulos/Recibos de cliente/Controller/uRecibosClienteController.pas +++ b/Source/Modulos/Recibos de cliente/Controller/uRecibosClienteController.pas @@ -494,7 +494,6 @@ begin if ARecibosCliente.DataTable.FieldByName(fld_RecibosClienteFECHA_VENCIMIENTO).IsNull then raise Exception.Create('Debe indicar la fecha de vencimiento del recibo.'); - { Asegurarse de valores en campos "automáticos" tanto en MODIFICACIÓN como en INSERCIÓN. } ARecibosCliente.Edit; diff --git a/Source/Modulos/Recibos de cliente/Views/uEditorFechaPago.pas b/Source/Modulos/Recibos de cliente/Views/uEditorFechaPago.pas index a70e4761..b30b1608 100644 --- a/Source/Modulos/Recibos de cliente/Views/uEditorFechaPago.pas +++ b/Source/Modulos/Recibos de cliente/Views/uEditorFechaPago.pas @@ -36,6 +36,7 @@ type property FechaPago: TDateTime Read GetFechaPago write SetFechaPago; property IgnorarContabilidad: Integer Read GetIgnorarContabilidad write SetIgnorarContabilidad; property IdSubCuenta: Integer Read GetIdSubCuenta write SetIdSubCuenta; + procedure DeshabilitarContabilidad; end; var @@ -47,6 +48,11 @@ implementation uses uDialogUtils; +procedure TfEditorFechaPago.DeshabilitarContabilidad; +begin + frViewListaSubCuentas1.eContabilizar.Enabled := False; +end; + procedure TfEditorFechaPago.eFechaPagoPropertiesChange(Sender: TObject); begin FechaPago := eFechaPago.Date; @@ -121,6 +127,7 @@ end; procedure TfEditorFechaPago.SetIgnorarContabilidad(const Value: Integer); begin frViewListaSubCuentas1.eContabilizar.EditValue := Value; + frViewListaSubCuentas1.Refrescar; end; end. diff --git a/Source/Modulos/Recibos de cliente/Views/uEditorReciboCliente.dfm b/Source/Modulos/Recibos de cliente/Views/uEditorReciboCliente.dfm index 2dc0b7f0..4e508267 100644 --- a/Source/Modulos/Recibos de cliente/Views/uEditorReciboCliente.dfm +++ b/Source/Modulos/Recibos de cliente/Views/uEditorReciboCliente.dfm @@ -104,45 +104,45 @@ inherited fEditorReciboCliente: TfEditorReciboCliente Width = 293 end inherited eFechaEmision: TcxDBTextEdit - Left = 468 - ExplicitLeft = 468 + Left = 475 + ExplicitLeft = 475 ExplicitWidth = 253 Width = 253 end inherited eFormaPago: TcxDBTextEdit - Left = 468 - ExplicitLeft = 468 + Left = 475 + ExplicitLeft = 475 ExplicitWidth = 253 Width = 253 end inherited eImporteTotal: TcxDBCurrencyEdit - Left = 468 + Left = 475 Style.IsFontAssigned = True - ExplicitLeft = 468 + ExplicitLeft = 475 ExplicitWidth = 253 Width = 253 end inherited eNombreCliente: TcxDBTextEdit - Left = 468 - ExplicitLeft = 468 + Left = 475 + ExplicitLeft = 475 ExplicitWidth = 286 Width = 286 end inherited eNifCif: TcxDBTextEdit - Left = 468 - ExplicitLeft = 468 + Left = 475 + ExplicitLeft = 475 ExplicitWidth = 286 Width = 286 end inherited eEntidad: TcxDBTextEdit - Left = 468 - ExplicitLeft = 468 + Left = 475 + ExplicitLeft = 475 ExplicitWidth = 84 Width = 84 end inherited eSucursal: TcxDBTextEdit - Left = 543 - ExplicitLeft = 543 + Left = 550 + ExplicitLeft = 550 ExplicitWidth = 81 Width = 81 end @@ -153,8 +153,8 @@ inherited fEditorReciboCliente: TfEditorReciboCliente Width = 37 end inherited eCuenta: TcxDBTextEdit - Left = 468 - ExplicitLeft = 468 + Left = 475 + ExplicitLeft = 475 ExplicitWidth = 286 Width = 286 end @@ -167,11 +167,15 @@ inherited fEditorReciboCliente: TfEditorReciboCliente ExplicitWidth = 217 Width = 217 end + inherited rRefReciboCompensado: TcxDBTextEdit + ExplicitWidth = 191 + Width = 191 + end inherited frViewClienteRecibo: TfrViewDatosYSeleccionCliente - Left = 392 + Left = 399 Top = 272 Width = 350 - ExplicitLeft = 392 + ExplicitLeft = 399 ExplicitTop = 272 ExplicitWidth = 350 inherited dxLayoutControl1: TdxLayoutControl @@ -206,6 +210,21 @@ inherited fEditorReciboCliente: TfEditorReciboCliente end end end + inherited eDescripcion: TcxDBTextEdit + ExplicitWidth = 437 + Width = 437 + end + inherited frViewTienda1: TfrViewTienda + Width = 451 + ExplicitWidth = 451 + inherited dxLayoutControl1: TdxLayoutControl + Width = 451 + inherited cbTienda: TcxComboBox + ExplicitWidth = 200 + Width = 200 + end + end + end end end end diff --git a/Source/Modulos/Recibos de cliente/Views/uEditorReciboCliente.pas b/Source/Modulos/Recibos de cliente/Views/uEditorReciboCliente.pas index ac5f47d3..cbbea04f 100644 --- a/Source/Modulos/Recibos de cliente/Views/uEditorReciboCliente.pas +++ b/Source/Modulos/Recibos de cliente/Views/uEditorReciboCliente.pas @@ -153,6 +153,14 @@ begin begin with TfEditorFechaPago.Create(Nil) do begin + + //En el caso de que el cliente del recibo no tenga aignada subcuenta contable el pago no podrá contabilizarse + if (Recibo.Cliente.SubCuentas.ID < 1) then + begin + IgnorarContabilidad := 1; + DeshabilitarContabilidad; + end; + if (ShowModal = mrOk) then begin AFechaPago := DateToStr(FechaPago); @@ -233,6 +241,15 @@ begin begin FechaPago := Recibo.Pagos.FECHA_PAGO; IgnorarContabilidad := Recibo.Pagos.IGNORAR_CONTABILIDAD; + if IgnorarContabilidad = 0 then + IdSubCuenta := StrToInt(Recibo.Pagos.CUENTA); + + //En el caso de que el cliente del recibo no tenga aignada subcuenta contable el pago no podrá contabilizarse + if (Recibo.Cliente.SubCuentas.ID < 1) then + begin + IgnorarContabilidad := 1; + DeshabilitarContabilidad; + end; if (ShowModal = mrOk) then begin diff --git a/Source/Modulos/Recibos de proveedor/Views/uEditorFechaPagoProveedor.pas b/Source/Modulos/Recibos de proveedor/Views/uEditorFechaPagoProveedor.pas index fe898017..d7ee08e8 100644 --- a/Source/Modulos/Recibos de proveedor/Views/uEditorFechaPagoProveedor.pas +++ b/Source/Modulos/Recibos de proveedor/Views/uEditorFechaPagoProveedor.pas @@ -45,6 +45,7 @@ type property IgnorarContabilidad: Integer Read GetIgnorarContabilidad write SetIgnorarContabilidad; property IdSubCuenta: Integer Read GetIdSubCuenta write SetIdSubCuenta; constructor Create(AOwner: TComponent); override; + procedure DeshabilitarContabilidad; end; implementation @@ -132,6 +133,9 @@ procedure TfEditorFechaPagoProveedor.SetIgnorarContabilidad(const Value: Integer begin FIgnorarContabilidad := Value; eContabilizar.EditValue := FIgnorarContabilidad; + //frViewListaSubCuentas1.eContabilizar.EditValue := Value; + // frViewListaSubCuentas1.Refrescar; + end; end. diff --git a/Source/Modulos/Recibos de proveedor/Views/uEditorReciboProveedor.pas b/Source/Modulos/Recibos de proveedor/Views/uEditorReciboProveedor.pas index 9aa09be2..2cd8a91f 100644 --- a/Source/Modulos/Recibos de proveedor/Views/uEditorReciboProveedor.pas +++ b/Source/Modulos/Recibos de proveedor/Views/uEditorReciboProveedor.pas @@ -151,6 +151,14 @@ begin begin with TfEditorFechaPagoProveedor.Create(Nil) do begin + + //En el caso de que el proveedor del recibo no tenga aignada subcuenta contable el pago no podrá contabilizar + if (Recibo.Cliente.SubCuentas.ID < 1) then + begin + IgnorarContabilidad := 1; + DeshabilitarContabilidad; + end; + if (ShowModal = mrOk) then begin AFechaPago := DateToStr(FechaPago); @@ -217,6 +225,8 @@ begin begin FechaPago := Recibo.Pagos.FECHA_PAGO; IgnorarContabilidad := Recibo.Pagos.IGNORAR_CONTABILIDAD; + if IgnorarContabilidad = 0 then + IdSubCuenta := StrToInt(Recibo.Pagos.CUENTA); if (ShowModal = mrOk) then begin diff --git a/Source/Servicios/FactuGES.RODL b/Source/Servicios/FactuGES.RODL index 93d9bedb..e7e3c374 100644 --- a/Source/Servicios/FactuGES.RODL +++ b/Source/Servicios/FactuGES.RODL @@ -440,15 +440,6 @@ - - - - - - - - - diff --git a/Source/Servicios/FactuGES_Intf.pas b/Source/Servicios/FactuGES_Intf.pas index 01d78fd0..edf87c1f 100644 --- a/Source/Servicios/FactuGES_Intf.pas +++ b/Source/Servicios/FactuGES_Intf.pas @@ -49,7 +49,6 @@ const IsrvReferencias_IID : TGUID = '{B957528D-3BE1-412D-A35E-801C97CCD252}'; IsrvContabilidad_IID : TGUID = '{04CDF2E1-EFC2-4247-AA4F-09BE782C73FA}'; IsrvUnidadesMedida_IID : TGUID = '{C1B36FAB-7514-40D2-A20C-04A86C9E71AB}'; - IsrvTiposVenta_IID : TGUID = '{3F7A1493-5134-4C13-8A9B-35363ADD55EB}'; { Event ID's } @@ -81,7 +80,6 @@ type IsrvReferencias = interface; IsrvContabilidad = interface; IsrvUnidadesMedida = interface; - IsrvTiposVenta = interface; TRdxEmpresasArray = class; @@ -652,23 +650,6 @@ type end; - { IsrvTiposVenta } - IsrvTiposVenta = interface(IDataAbstractService) - ['{3F7A1493-5134-4C13-8A9B-35363ADD55EB}'] - end; - - { CosrvTiposVenta } - CosrvTiposVenta = class - class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvTiposVenta; - end; - - { TsrvTiposVenta_Proxy } - TsrvTiposVenta_Proxy = class(TDataAbstractService_Proxy, IsrvTiposVenta) - protected - function __GetInterfaceName:string; override; - - end; - implementation uses @@ -1698,18 +1679,6 @@ begin result := 'srvUnidadesMedida'; end; -{ CosrvTiposVenta } - -class function CosrvTiposVenta.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvTiposVenta; -begin - result := TsrvTiposVenta_Proxy.Create(aMessage, aTransportChannel); -end; - -function TsrvTiposVenta_Proxy.__GetInterfaceName:string; -begin - result := 'srvTiposVenta'; -end; - initialization RegisterROClass(TRdxLoginInfo); RegisterROClass(TRdxEmpresasArray); @@ -1739,7 +1708,6 @@ initialization RegisterProxyClass(IsrvReferencias_IID, TsrvReferencias_Proxy); RegisterProxyClass(IsrvContabilidad_IID, TsrvContabilidad_Proxy); RegisterProxyClass(IsrvUnidadesMedida_IID, TsrvUnidadesMedida_Proxy); - RegisterProxyClass(IsrvTiposVenta_IID, TsrvTiposVenta_Proxy); finalization @@ -1771,6 +1739,5 @@ finalization UnregisterProxyClass(IsrvReferencias_IID); UnregisterProxyClass(IsrvContabilidad_IID); UnregisterProxyClass(IsrvUnidadesMedida_IID); - UnregisterProxyClass(IsrvTiposVenta_IID); end. diff --git a/Source/Servicios/FactuGES_Invk.pas b/Source/Servicios/FactuGES_Invk.pas index ce33da85..c42055c3 100644 --- a/Source/Servicios/FactuGES_Invk.pas +++ b/Source/Servicios/FactuGES_Invk.pas @@ -200,12 +200,6 @@ type published end; - TsrvTiposVenta_Invoker = class(TDataAbstractService_Invoker) - private - protected - published - end; - implementation uses diff --git a/Source/Servicios/RODLFILE.res b/Source/Servicios/RODLFILE.res index d1f4fe24..1d5b9d34 100644 Binary files a/Source/Servicios/RODLFILE.res and b/Source/Servicios/RODLFILE.res differ diff --git a/Source/Servidor/FactuGES_Server.RES b/Source/Servidor/FactuGES_Server.RES index 738a5bf8..3f8ed34e 100644 Binary files a/Source/Servidor/FactuGES_Server.RES and b/Source/Servidor/FactuGES_Server.RES differ diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr index 46c5f2d6..38c74e41 100644 --- a/Source/Servidor/FactuGES_Server.dpr +++ b/Source/Servidor/FactuGES_Server.dpr @@ -106,7 +106,6 @@ uses uBizRecibosClienteServer in '..\Modulos\Recibos de cliente\Model\uBizRecibosClienteServer.pas', schEmpresasClient_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas', schEmpresasServer_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas', - srvTiposVenta_Impl in '..\Modulos\Tipos de venta\Servidor\srvTiposVenta_Impl.pas' {srvTiposVenta: TDataAbstractService}, schReferenciasClient_Intf in '..\Modulos\Referencias\Model\schReferenciasClient_Intf.pas', schReferenciasServer_Intf in '..\Modulos\Referencias\Model\schReferenciasServer_Intf.pas', schFacturasClienteClient_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas', diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj index a437dab5..6e8e7a4d 100644 --- a/Source/Servidor/FactuGES_Server.dproj +++ b/Source/Servidor/FactuGES_Server.dproj @@ -197,10 +197,6 @@ - -
srvTiposVenta
- TDataAbstractService -
diff --git a/Source/Servidor/FactuGES_Server.rc b/Source/Servidor/FactuGES_Server.rc index e3fad9d5..a4148e32 100644 --- a/Source/Servidor/FactuGES_Server.rc +++ b/Source/Servidor/FactuGES_Server.rc @@ -14,7 +14,7 @@ BEGIN BEGIN VALUE "FileVersion", "1.0.0.0\0" VALUE "ProductVersion", "1.0.0.0\0" - VALUE "CompileDate", "viernes, 14 de marzo de 2008 11:32\0" + VALUE "CompileDate", "viernes, 14 de marzo de 2008 12:40\0" END END BLOCK "VarFileInfo"