2 using System.Collections.Generic;
6 using System.ComponentModel;
10 using System.Windows.Forms;
14 namespace sage.ew.cliente
34 if (_oDescuentos == null)
55 _Cargar_Propiedades();
64 _Cargar_Propiedades();
68 private void _Cargar_Propiedades()
72 this._Clave =
"Codigo";
73 this._DataBase =
"Gestion";
74 this._Tabla =
"lineas";
75 this._TituloMantenimiento =
"Mantenimiento de Líneas de descuento";
79 this._Pantalla =
"LINEAS";
81 this._FormManteBaseType = typeof(Forms.frmLineasDescuento);
84 #endregion CONSTRUCTORS 86 #region METODOS PRIVADOS 89 #endregion METODOS PRIVADOS 91 #region METODOS PUBLICOS 102 if (_oDescuentos != null)
104 if (_oDescuentos.
_Grid != null)
106 _oDescuentos.
_Claves._LinDesc._Valor = this._Codigo;
107 _oDescuentos.
_Load();
124 string lcClientes =
string.Empty;
125 DataTable ldtCheck =
new DataTable();
127 string lcSql =
string.Empty;
128 lcSql =
"SELECT COUNT(*) as lin_des FROM " + DB.SQLDatabase(
"CLIENTES") +
" WHERE lin_des = '" + _Codigo +
"'";
129 DB.SQLExec(lcSql, ref ldtCheck);
132 if (ldtCheck != null && ldtCheck.Rows.Count > 0 &&
System.Convert.ToInt32(ldtCheck.Rows[0][
"lin_des"]) != 0)
134 this._Error_Message =
"Este código de línea de descuento está asignado a clientes. No se puede borrar la linea de descuento.";
141 llOk = base._Delete();
143 if (llOk && _Descuentos != null)
145 _Descuentos._Delete();
164 if (llOk && _oDescuentos != null)
166 _oDescuentos.
_Save();
180 loLinDesNuevo.
_Clave = this._Clave;
181 loLinDesNuevo.
_Codigo = tcLinea;
183 loLinDesNuevo.
_Load();
184 loLinDesNuevo.
_Clave = this._Clave;
185 loLinDesNuevo.
_Codigo = tcLinea;
188 loLinDesNuevo.
_Campo(
"CODIGO", tcLinea);
191 if (
string.IsNullOrWhiteSpace(loLinDesNuevo.
_Nombre))
192 loLinDesNuevo.
_Nombre = this._Nombre;
201 loDescuento._LinDesc = tcLinea;
206 this._Descuentos._Load();
208 return loLinDesNuevo;
212 #endregion METODOS PUBLICOS 221 private Boolean _bHera = Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_hera"));
240 this._Claves._LinDesc._Valor = tcCodigoLinDesc;
243 private void CrearEstructura()
246 int lnVAlbDtos = Convert.ToInt32(EW_GLOBAL._GetVariable(
"wn_vAlbDtos"));
249 this._Error_Validar_Valor +=
new _Error_Validar_Valor_Handler(Descuentos__Error_Validar_Valor);
252 this._DataBase =
"Gestion";
253 this._Tabla =
"Lin_Desc";
254 this._Condicion =
"";
255 this._Titulo_Browser =
"Buscar línea de descuento";
296 _Def_Familia.
_Mante._NombreManteNet =
"FAMILIAS";
317 _Def_SubFamilia.
_Mante._NombreManteNet =
"SUBFAMI";
338 _Def_Marca.
_Mante._NombreManteNet =
"MARCAS";
341 #region Columna divisa 345 List<object> lstLista =
new List<object>();
346 foreach (DataRow item
in loDivisas.Rows)
347 lstLista.Add(item[
"codigo"].ToString() +
"|" + item[
"nombre"].ToString());
349 ewCampoTRel _Def_Divisa = this._AddCampoTRel(
"_Moneda",
"Moneda", DataGridViewAutoSizeColumnMode.DisplayedCells,
true,
true,
true,
"Divisa", teTipoColumna:
gridColumnsTypes.Combo, toComboValues: lstLista);
361 _Def_Divisa.
_Browser._Campos =
"Codigo,Nombre";
362 _Def_Divisa.
_Browser._Campo_Predet =
"Nombre";
363 _Def_Divisa.
_Browser._Clave =
"Codigo";
364 _Def_Divisa.
_Browser._DataBase =
"Gestion";
365 _Def_Divisa.
_Browser._Tabla =
"Moneda";
366 _Def_Divisa.
_Browser._Titulo =
"Listado de divisas";
367 _Def_Divisa.
_Browser._Titulos_Campos =
"Código,Nombre";
371 _Def_Divisa.
_Mante._NombreManteNet =
"MONMANTE";
374 #endregion Columna divisa 409 private void Descuentos__Error_Validar_Valor(
string tcErrorMessage)
440 _LinDesc._EsFiltro =
true;
441 _LinDesc._Valor =
"";
444 _Linea._EsCampoLinea =
true;
458 private string _cCodigoLinea =
"";
462 public string _LinDesc
464 get {
return _cCodigoLinea; }
465 set { _cCodigoLinea = value; }
468 private Int32 _nLinea = 0;
474 get {
return _nLinea; }
475 set { _nLinea = value; }
478 private string _cArticulo =
"";
482 public string _Articulo
484 get {
return _cArticulo; }
487 if (_cArticulo != value)
489 if (loParent != null)
491 if (loParent.CamposTRel_Validar_Valor(
"_Articulo", value,
this))
498 if (_cArticulo != value)
503 if (!
string.IsNullOrWhiteSpace(value))
513 private string _cFamilia =
"";
517 public string _Familia
519 get {
return _cFamilia; }
522 if (_cFamilia != value)
524 if (loParent != null)
527 if (loParent.CamposTRel_Validar_Valor(
"_Familia", value,
this, out loNewValor))
532 value = loNewValor.ToString();
536 if (_cFamilia != value)
541 if (!
string.IsNullOrWhiteSpace(value))
551 private string _cSubfamilia =
"";
555 public string _Subfamilia
557 get {
return _cSubfamilia; }
560 if (_cSubfamilia != value)
563 if (loParent != null)
566 if (loParent.CamposTRel_Validar_Valor(
"_Subfamilia", value,
this, out loNewValor))
568 value = _cSubfamilia;
571 value = loNewValor.ToString();
575 if (_cSubfamilia != value)
577 _cSubfamilia = value;
580 if (!
string.IsNullOrWhiteSpace(value))
590 private string _cMarca =
"";
596 get {
return _cMarca; }
599 if (_cMarca != value)
602 if (loParent != null)
605 if (loParent.CamposTRel_Validar_Valor(
"_Marca", value,
this, out loNewValor))
610 value = loNewValor.ToString();
614 if (_cMarca != value)
619 if (!
string.IsNullOrWhiteSpace(value))
629 private string _cDefinicion =
"";
633 public string _Definicion
635 get {
return _cDefinicion; }
636 set { _cDefinicion = value; }
640 private decimal _nUni_Ini;
644 public decimal _Uni_Ini
646 get {
return _nUni_Ini; }
650 && _nUni_Fin < value)
652 if (_nUni_Ini == 0 && _nUni_Fin == 0)
659 ((objetos.UserControls.Mantegrid)loParent._Grid)._Show_Error_Message(
"No se puede introducir unidades desde mayor que unidades hasta ");
670 private decimal _nUni_Fin;
674 public decimal _Uni_Fin
676 get {
return _nUni_Fin; }
680 && _nUni_Ini > value)
682 ((objetos.UserControls.Mantegrid)loParent._Grid)._Show_Error_Message(
"No se puede introducir unidades hasta menor que unidades desde ");
692 private decimal _dDto1;
709 private decimal _dDto2;
725 private DateTime _dFecha_ini = DateTime.Now;
729 public DateTime _Fecha_Ini
733 _dFecha_ini = _dFecha_ini.Date;
739 && _dFecha_fin < value)
741 ((objetos.UserControls.Mantegrid)loParent._Grid)._Show_Error_Message(
"No se puede introducir fecha inicial mayor que fecha final ");
747 _dFecha_ini = _dFecha_ini.Date;
752 private DateTime _dFecha_fin = DateTime.Now;
756 public DateTime _Fecha_Fin
760 _dFecha_fin = _dFecha_fin.Date;
766 && _dFecha_ini > value)
768 ((objetos.UserControls.Mantegrid)loParent._Grid)._Show_Error_Message(
"No se puede introducir fecha final menor que fecha inicial ");
774 _dFecha_fin = _dFecha_fin.Date;
779 private decimal _dPVP;
799 public string _Moneda
803 if (String.IsNullOrWhiteSpace(_cMoneda))
804 _cMoneda = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_Moneda"));
817 private string _cMoneda = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_Moneda"));
823 public object _Parent
825 get {
return loParent; }
846 loDescuentoNuevo._cCodigoLinea = this._cCodigoLinea;
847 loDescuentoNuevo._nLinea = this._nLinea;
848 loDescuentoNuevo._cDefinicion = this._cDefinicion;
849 loDescuentoNuevo._cArticulo = this._cArticulo;
850 loDescuentoNuevo._cFamilia = this._cFamilia;
851 loDescuentoNuevo._cSubfamilia = this._cSubfamilia;
852 loDescuentoNuevo._cMarca = this._cMarca;
853 loDescuentoNuevo._dDto1 = this._dDto1;
854 loDescuentoNuevo._dDto2 = this._dDto2;
855 loDescuentoNuevo._nUni_Ini = this._nUni_Ini;
856 loDescuentoNuevo._nUni_Fin = this._nUni_Fin;
857 loDescuentoNuevo._dPVP = this._dPVP;
858 loDescuentoNuevo._dFecha_ini = this._dFecha_ini;
859 loDescuentoNuevo._dFecha_fin = this._dFecha_fin;
860 loDescuentoNuevo.
_Moneda = this._cMoneda;
862 return loDescuentoNuevo;
873 lbFilaPlena = !
string.IsNullOrWhiteSpace(_Articulo) || !
string.IsNullOrWhiteSpace(_Familia) || !
string.IsNullOrWhiteSpace(_Marca) || !
string.IsNullOrWhiteSpace(_Subfamilia);
Descuento _Clonar()
Método para clonar un objeto Descuento
Descuentos()
Inicializa una nueva intancia de la clase
Clase de negocio base para mantenimientos
sage.ew.botones.btMante _Mante
Mantenimiento para la columna del grid o campo enlazado
Campos clave para registros únicos
string _Validar_Dato_Clave
Clave por la cual se buscará el valor a la tabla de validación
override object _Campo(string tcNombreCampo)
Override del metodo _Campo para los mantenimientos
string _Moneda
Moneda en que se inserta el importe de unidades
Object _Grid
ewgrid o Mantegrid enlazado a Items
Definición de los objetos campo para las tablas relacionadas
override bool _Delete()
Borra la linea de descuento cargado
string _Validar_Dato_BaseDatos
Base de datos donde se validará si el dato existe
Browser, basat en sage.ew.objetos.ewbutton
LineaDescuento(string tcCodigo)
Constructor vacío
bool Fila_Plena()
Devuelve si la línea está completa
static DataTable _Monedas()
Devuelve un datatable con todas las divisas (PE-66901)
Definir la estructura de las líneas de las líneas de descuento
Descuento()
Inicializa una nueva intancia de la clase
BindingList< _LinTRel > _Items
Lista bindable de todos los items de la tabla relacionada
KeyDiccionarioMascara
Clave para diccionario de máscaras
LineaDescuento _Clonar(string tcLinea)
PE-84197: método para clonar una linea de descuento a partir la propia y asignandole un nuevo código ...
KeyDiccionarioLenCampos
Clave del diccionario LenCampos
virtual bool _Delete()
Elimina todos los registros de la tabla
string _Validar_Dato_Tabla
Tabla donde se validará si el dato existe
Muestra el browser de subfamilias
Descuentos _Descuentos
Enlace con la tabla relacionada Art_Comi
sage.ew.botones.btBrowser _Browser
Browser para la columna del grid o campo enlazado
string _Clave
Nombre del campo clave único de la tabla. Por defecto "codigo"
Mostra el manteniment d'articles carregant el registre corresponent al _Codigo
Muestra el browser de marcas
Definición de los objetos campo para las tablas relacionadas
Updatable
Actualizable. Existe el campo en la tabla.
_ClaveTRel _Claves
Objeto que contine las claves para registros únicos
Descuentos(string tcCodigoLinDesc)
Inicializa una nueva intancia de la clase
virtual string _Nombre
Campo nombre del mantenimiento. En este hay que basar los demás campos en las clases heredadas ...
virtual string _Codigo
Valor del campo clave que
bool _Visible
Indica si el campo serà visible cuando se enlaza a un grid
Muestra el mantenimiento correspondiente a _Form con el registro correspondiente al _Codigo ...
Clave()
Inicializa una nueva instancia de la clase
Muestra el browser de familias
Proporciona características adicionales de las máscaras de Eurowin
_EstadosMantenimiento
Declaro un enum para los estados del mantenimiento.
Editable
Premitirá modificar su valor
string _Validar_Dato_CampoTRel_Asignar
Destino del valor recuperado en la consulta de validación
virtual void _Load()
Lee el contenido de la tabla filtrado por _CampoClave y ordenando por Linea si se ha indicado ...
Interfaz para objetos línea
Muestra el browser de artículos
override bool _Save()
PE-83974: Guardar la linea de descuento LINEAS y antes de eso guardar los descuentos en la tabla LIN_...
ewMante _ewMantePrincipal
Instancia del mantenimiento del que depende la tabla relacionada
LineaDescuento()
Constructor vacío
string _Validar_Dato_Campos
Campos que se recuperarán en la consulta de validación
Interfaz para la definición de las claves para tablas relacionadas
Clase de negocio para la DIVISA (Moneda)
Clase para el acceso a las tablas relacionadas de los mantenimientos.
gridColumnsTypes
Definición de los tipos de columnas para los grids o campos enlazados
virtual bool _Save()
Guarda todos los registros en la tabla. Primero borra los registros cargados en _Load y luego inserta...
char _Relleno
Introduce tantos carácteres al inicio del campo hasta la longitud del campo
PE-81910 Clase utilizada para consultar los datos de Linea de Descuento
static void _obtenerMascarasMaximas(out ewMascara toDivisaMascaraPrecio, out ewMascara toDivisaMascaraImporte, string tcDivisa="")
Obtener la máscara máximas de todas las monedas existentes
override void _Load()
PE-83974: Cargar los datos de las lineas de descuento
Visible
Visible en el grid
bool _Validar_Asignar_Cargando
Indica si se buscará el dato en la tabla correspondiente mientras se ejecuta el _Load() ...
virtual Boolean _SaveItem(_LinTRel toItem)
Inserta el registro en la tabla
string _Error_Validar_Dato
Mensaje de error que se mostrará al insertar un dato no válido