9 using System.ComponentModel;
12 using System.Windows.Forms;
45 private Cliente _oCliente = null;
47 private string _cClienteAnterior =
string.Empty;
48 private const string lcFont =
"Segoe UI, 9.5pt";
53 private bool flagSelCif =
false;
55 private bool _lOnCreateControl =
false;
57 private Form _oForm = null;
63 if (_oForm == null) _oForm = FindForm();
81 return (eEsFuturoCliente ==
eTipoCliente.ClientePotencial);
88 private void RefreshTipoCliente()
90 if (EsDocumentoPresupuesto)
94 if (eEsFuturoCliente ==
eTipoCliente.Empty || leTipoCliente != eEsFuturoCliente)
96 bool llEsFuturo = this._oDocumento._Cabecera._Futuro;
97 if (!llEsFuturo &&
string.IsNullOrWhiteSpace(this._oDocumento._Cabecera._Futuro_Cliente) &&
string.IsNullOrWhiteSpace(
this._oDocumento._Cabecera._Cliente) && !EW_GLOBAL._EsAsesorContable)
102 ConfigurarCliente(llEsFuturo);
103 eEsFuturoCliente = leTipoCliente;
109 this.txtFuturoCliente1.Enabled = this.txtFuturoCliente1.Visible =
false;
113 private void SubscribirEventosFoco()
115 txtCliente1._GetTextBox().Click +=
new EventHandler(txtCliente_Click);
116 txtFuturoCliente1._GetTextBox().Click +=
new EventHandler(txtCliente_Click);
119 private void txtCliente_Click(
object sender, EventArgs e)
121 if (_Form != null && _Form.ActiveControl !=
this) _Form.ActiveControl =
this;
124 #region PROPIETATS PUBLIQUES i CAMPS 127 private bool _lAplicarEstilos =
true;
133 Category(
"Varios_Apariencia"),
135 Description(
"Aplicar estilos visuales al control."),
136 DisplayName(
"Aplicar estilos")
138 public bool _AplicarEstilos
142 return _lAplicarEstilos;
146 _lAplicarEstilos = value;
148 this.txtCliente1._AplicarEstilos = _lAplicarEstilos;
149 this.txtFuturoCliente1._AplicarEstilos = _lAplicarEstilos;
151 this.ewlabelCodigo._PropiedadesDeEstilos._AplicarEstilos = _lAplicarEstilos;
152 this.ewlabelNombre._PropiedadesDeEstilos._AplicarEstilos = _lAplicarEstilos;
153 this.ewlabelDireccion._PropiedadesDeEstilos._AplicarEstilos = _lAplicarEstilos;
154 this.ewlabelCPostal._PropiedadesDeEstilos._AplicarEstilos = _lAplicarEstilos;
155 this.ewlabelProvincia._PropiedadesDeEstilos._AplicarEstilos = _lAplicarEstilos;
156 this.ewlabelCIF._PropiedadesDeEstilos._AplicarEstilos = _lAplicarEstilos;
157 this.ewlabelPoblacion._PropiedadesDeEstilos._AplicarEstilos = _lAplicarEstilos;
158 this.ewlabelTelefono._PropiedadesDeEstilos._AplicarEstilos = _lAplicarEstilos;
160 this.btTelefonos1._PropiedadesDeEstilos._AplicarEstilos = _lAplicarEstilos;
161 this.btDirecciones1._PropiedadesDeEstilos._AplicarEstilos = _lAplicarEstilos;
162 this.btObservaciones._PropiedadesDeEstilos._AplicarEstilos = _lAplicarEstilos;
164 this.ewtextboxCIF._PropiedadesDeEstilos._AplicarEstilos = _lAplicarEstilos;
165 this.ewtextboxNombre._PropiedadesDeEstilos._AplicarEstilos = _lAplicarEstilos;
166 this.ewtextboxDireccion._PropiedadesDeEstilos._AplicarEstilos = _lAplicarEstilos;
167 this.ewtextboxCPostal._PropiedadesDeEstilos._AplicarEstilos = _lAplicarEstilos;
168 this.ewtextboxPoblacion._PropiedadesDeEstilos._AplicarEstilos = _lAplicarEstilos;
169 this.ewtextboxProvincia._PropiedadesDeEstilos._AplicarEstilos = _lAplicarEstilos;
170 this.ewtextboxTelefono._PropiedadesDeEstilos._AplicarEstilos = _lAplicarEstilos;
171 this.txtEmail1._AplicarEstilos = _lAplicarEstilos;
179 private bool _bReadOnly =
false;
184 public bool _ReadOnly
186 get {
return _bReadOnly; }
192 string tcCodigo = txtCliente1._Codigo;
195 tcCodigo = txtFuturoCliente1._Codigo;
198 this.txtCliente1._ReadOnly = _bReadOnly;
199 this.txtFuturoCliente1._ReadOnly = _bReadOnly;
202 bool lbHiHaClient = !
string.IsNullOrWhiteSpace(tcCodigo) || _bReadOnly;
203 ewtextboxCIF.ReadOnly = lbHiHaClient;
205 ewtextboxTelefono.ReadOnly = lbHiHaClient;
206 txtEmail1._ReadOnly = lbHiHaClient;
209 btDirecciones1.Enabled = btObservaciones.Enabled =
false;
215 private bool _bBloqueado =
false;
219 public bool _Bloqueado
221 get {
return _bBloqueado; }
226 btDirecciones1.Enabled = !_Bloqueado;
230 private bool _lTactil =
false;
236 get {
return _lTactil; }
242 this.txtCliente1._Tactil = value;
243 this.txtFuturoCliente1._Tactil = value;
244 this.ewtextboxCIF._Tactil = value;
245 this.ewtextboxTelefono._Tactil = value;
246 this.btTelefonos1._Tactil = value;
247 this.btDirecciones1._Tactil = value;
248 this.btObservaciones._Tactil = value;
249 this.txtEmail1._Tactil = value;
253 private bool _lVisible_CIF =
true;
257 public bool _Visible_CIF
259 get {
return _lVisible_CIF; }
262 _lVisible_CIF = value;
267 private bool _lVisible_Direccion =
true;
271 public bool _Visible_Direccion
273 get {
return _lVisible_Direccion; }
276 _lVisible_Direccion = value;
281 private bool _lVisible_CPostal =
true;
285 public bool _Visible_CPostal
287 get {
return _lVisible_CPostal; }
290 _lVisible_CPostal = value;
295 private bool _lVisible_Poblacion =
true;
299 public bool _Visible_Poblacion
301 get {
return _lVisible_Poblacion; }
304 _lVisible_Poblacion = value;
309 private bool _lVisible_Provincia =
true;
313 public bool _Visible_Provincia
315 get {
return _lVisible_Provincia; }
318 _lVisible_Provincia = value;
323 private bool _lVisible_Telefono =
true;
327 public bool _Visible_Telefono
329 get {
return _lVisible_Telefono; }
332 _lVisible_Telefono = value;
337 private bool _lVisible_Email =
false;
341 public bool _Visible_Email
343 get {
return _lVisible_Email; }
346 _lVisible_Email = value;
351 private int _nSeparacion = 7 ;
357 Category(
"Varios_Apariencia"),
358 DefaultValue(typeof(
int),
"7"),
359 Description(
"Separación vertical entre los controles de texto."),
361 DisplayName(
"Separación vertical")
363 public int _Separacion
365 get {
return _nSeparacion; }
368 _nSeparacion = value;
373 private dynamic _oDocumento;
377 [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
378 public dynamic _Documento
380 get {
return _oDocumento; }
385 if (_oDocumento == null)
388 btDirecciones1._Documento = value;
390 if (EsDocumentoDatosCliente)
391 DocumentoDatosCliente();
393 btTelefonos1._Documento = value;
395 if (!EsDocumentoPresupuesto)
396 txtCliente1._Documento = value;
398 if (EsDocumentoDatosCliente)
401 DocumentoFuturoCliente();
403 AssingInstanciasClientes();
410 private void DocumentoDatosCliente()
412 if (_oCliente == null)
417 txtCliente1._Codigo_Cambiado += TxtCliente_DocumentoDatosCliente_Codigo_Cambiado;
426 private void TxtCliente_DocumentoDatosCliente_Codigo_Cambiado()
434 private bool EsDocumentoDatosCliente
443 private bool EsDocumentoPresupuesto
445 get {
return _oDocumento != null && !EsDocumentoDatosCliente && _oDocumento._TipoDocumento ==
eTipoDocumento.PresupuestoVenta; }
451 private void DocumentoFuturoCliente()
453 if (EsDocumentoPresupuesto)
454 txtFuturoCliente1._Documento = _oDocumento;
460 private void AssingInstanciasClientes()
462 if (EsDocumentoDatosCliente)
463 _oCliente =
new Cliente(_oDocumento._Cliente);
466 _oCliente = _oDocumento._Cabecera._oCliente;
468 if (EsDocumentoPresupuesto)
469 _oFuturoCliente = _oDocumento._Cabecera._oFuturo_Cliente;
478 Category(
"Varios_Apariencia"),
479 DefaultValue(typeof(Color),
"Red"),
480 Description(
"Color de fondo para la etiqueta 'Cliente con oferta'."),
482 DisplayName(
"Color fondo oferta")
484 public Color _ColorFondoOferta
486 get {
return _oColorFondoOferta; }
487 set { _oColorFondoOferta = lblOfertas.BackColor = value; }
489 private Color _oColorFondoOferta = Color.Red;
491 private bool _bOferta =
false;
497 get {
return _bOferta; }
501 if (!
string.IsNullOrWhiteSpace(_TextoOferta) && _TextoOferta.Trim() !=
"CLIENTE CON OFERTAS")
502 lblOfertas.Visible =
true;
504 lblOfertas.Visible = _bOferta;
509 private string _cTextoOferta =
"";
513 public string _TextoOferta
517 return _cTextoOferta;
521 if (
string.IsNullOrWhiteSpace(value))
522 _cTextoOferta =
" CLIENTE CON OFERTAS ";
524 _cTextoOferta = value;
527 lblOfertas.Text = _cTextoOferta;
531 private string _cToolTipOferta =
"";
532 private ToolTip _ttOferta =
new ToolTip();
536 public string _ToolTipOferta
540 return _cToolTipOferta;
544 _cToolTipOferta = value;
545 _ttOferta.SetToolTip(lblOfertas, value);
546 if (!
string.IsNullOrWhiteSpace(value))
547 _ttOferta.Active =
true;
549 _ttOferta.Active =
false;
560 Category(
"Varios_Apariencia"),
561 DefaultValue(typeof(Color),
"White"),
562 Description(
"Color de la fuente para la etiqueta 'Cliente con oferta'."),
564 DisplayName(
"Color fuente oferta")
566 public Color _ColorFuenteOferta
568 get {
return _oColorFuenteOferta; }
569 set { _oColorFuenteOferta = lblOfertas.ForeColor = value; }
571 private Color _oColorFuenteOferta = Color.White;
578 Category(
"Varios_Apariencia"),
579 DefaultValue(typeof(Color),
"Control"),
580 Description(
"Color del fondo del control."),
582 DisplayName(
"Color Fondo")
584 public Color _BackColor
586 get {
return base.BackColor; }
587 set { base.BackColor = value; }
591 private int _nAltoTitulo = 16;
597 Category(
"Varios_Apariencia"),
599 Description(
"Alto del título."),
601 DisplayName(
"Alto título")
603 public int _AltoTitulo
612 value = _nAltoTitulo;
615 _nAltoTitulo = value;
618 lblCliente.Size =
new Size(lblCliente.Width, _nAltoTitulo);
619 lblOfertas.Size =
new Size(lblOfertas.Width, _nAltoTitulo);
627 private Font _oFuenteEtiquetas = (Font)EW_GLOBAL._GetVariable(
"wfnt_fuente");
633 Category(
"Varios_Apariencia"),
634 DefaultValue(typeof(Font), lcFont),
635 Description(
"Fuente para etiquetas."),
637 DisplayName(
"Fuente etiquetas")
639 [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
640 public Font _FuenteEtiquetas
644 return _oFuenteEtiquetas;
648 _oFuenteEtiquetas = value;
651 foreach (Control loCtrl
in this.Controls)
655 loCtrl.Font = _oFuenteEtiquetas;
663 private Font _oFuenteTitulo = (Font)EW_GLOBAL._GetVariable(
"wfnt_fuente");
669 Category(
"Varios_Apariencia"),
670 DefaultValue(typeof(Font), lcFont),
671 Description(
"Fuente para el título."),
673 DisplayName(
"Fuente título")
675 [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
676 public Font _FuenteTitulo
680 return _oFuenteTitulo;
684 _oFuenteTitulo = value;
686 lblCliente.Font = lblOfertas.Font = _oFuenteTitulo;
687 lblCliente.Height = lblOfertas.Height = _oFuenteTitulo.Height;
689 lblOfertas.Font =
new Font(lblOfertas.Font, FontStyle.Bold);
695 private Font _oFuenteTextos = (Font)EW_GLOBAL._GetVariable(
"wfnt_fuente");
701 Category(
"Varios_Apariencia"),
702 DefaultValue(typeof(Font), lcFont),
703 Description(
"Fuente para textos."),
705 DisplayName(
"Fuente textos")
707 [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
708 public Font _FuenteTextos
712 return _oFuenteTextos;
716 _oFuenteTextos = value;
718 foreach (Control loCtrl
in this.Controls)
722 loCtrl.Font = _oFuenteTextos;
727 lotxtcodlabel.
_Font = _oFuenteTextos;
735 private Color _oColorFuenteEtiquetas = SystemColors.WindowText;
741 Category(
"Varios_Apariencia"),
742 DefaultValue(typeof(Color),
"WindowText"),
743 Description(
"Color de la fuente para etiquetas."),
745 DisplayName(
"Color fuente etiquetas")
747 public Color _ColorFuenteEtiquetas
751 return _oColorFuenteEtiquetas;
755 _oColorFuenteEtiquetas = value;
757 foreach (Control loCtrl
in this.Controls)
761 loCtrl.ForeColor = _oColorFuenteEtiquetas;
772 Category(
"Varios_Apariencia"),
773 DefaultValue(typeof(Color),
"White"),
774 Description(
"Color de la fuente del título."),
776 DisplayName(
"Color fuente título")
778 public Color _ColorFuenteTitulo
780 get {
return _oColorFuenteTitulo; }
783 _oColorFuenteTitulo = lblCliente.ForeColor = value;
786 private Color _oColorFuenteTitulo = Color.White;
793 Category(
"Varios_Apariencia"),
794 DefaultValue(typeof(Color),
"Gray"),
795 Description(
"Color del fondo del título."),
797 DisplayName(
"Color fondo título")
799 public Color _ColorFondoTitulo
801 get {
return _oColorFondoTitulo; }
804 _oColorFondoTitulo = lblCliente.BackColor = value;
807 private Color _oColorFondoTitulo = Color.Gray;
809 private Keys? lastPressedKey = null;
818 InitializeComponent();
820 _ttOferta.SetToolTip(lblOfertas,
"");
823 if (txtCliente1._Hera)
825 txtCliente1._Clave =
"CLIENTEERP";
826 txtCliente1._Browser_Clave =
"CLIENTEERP";
827 txtCliente1._Browser_Campos =
"CLIENTEERP,NOMBRE";
832 _ColorTitolOferta(
false);
836 this.SetFontControls();
838 btObservaciones.Image = images.Properties.Resources.observa_datos_16x16;
841 btDirecciones1._oEntidad = this._oCliente;
842 btTelefonos1._oEntidad = this._oCliente;
845 if (!this.DesignMode)
847 this.txtCliente1._CaracterAncho =
'X';
848 this.txtFuturoCliente1._CaracterAncho =
'X';
850 this.txtCliente1._btMante._Click_After +=
new botones.btMante._Click_After_Handler(_btMante__Click_After);
851 this.txtFuturoCliente1._btMante._Click_After +=
new botones.btMante._Click_After_Handler(_btMante__Click_After);
863 private void AnchoNif()
865 object loAnchoNif = null;
875 if (loAnchoNif != null)
876 ewtextboxCIF.MaxLength = Convert.ToInt32(loAnchoNif);
884 _lOnCreateControl =
true;
886 if (EsDocumentoPresupuesto)
887 txtCliente1._Documento = _oDocumento;
889 RefreshTipoCliente();
893 SubscribirEventosFoco();
895 base.OnCreateControl();
898 #region MÈTODES PRIVATS 906 private void txtCliente1_Codigo_Cambiado_Before_Extended(
object sender,
string tcValorCandidato, ref
bool tlOk)
908 if (this._oDocumento != null && !EsDocumentoDatosCliente && this._oDocumento._TipoDocumento ==
eTipoDocumento.PresupuestoVenta &&
909 this._oDocumento._Cabecera._Futuro && !
string.IsNullOrWhiteSpace(
this._oDocumento._Cabecera._Futuro_Cliente))
912 if (functions.FUNCTIONS._Es_Cliente(tcValorCandidato))
923 private void SetFontControls()
925 String lcFuente = ((Font)EW_GLOBAL._GetVariable(
"wfnt_fuente")).Name.ToString();
927 if (!
string.IsNullOrWhiteSpace(lcFuente))
930 this.ewtextboxCIF.Font =
new System.Drawing.Font(lcFuente, 9F);
931 this.ewtextboxTelefono.Font =
new System.Drawing.Font(lcFuente, 9F);
932 this.ewtextboxProvincia.Font =
new System.Drawing.Font(lcFuente, 9F);
933 this.ewtextboxPoblacion.Font =
new System.Drawing.Font(lcFuente, 9F);
934 this.ewtextboxCPostal.Font =
new System.Drawing.Font(lcFuente, 9F);
935 this.ewtextboxDireccion.Font =
new System.Drawing.Font(lcFuente, 9F);
936 this.ewtextboxNombre.Font =
new System.Drawing.Font(lcFuente, 9F);
937 this.txtEmail1._Font =
new System.Drawing.Font(lcFuente, 9.5F);
940 this.ewlabelCIF.Font =
new System.Drawing.Font(lcFuente, 9.5F);
941 this.ewlabelTelefono.Font =
new System.Drawing.Font(lcFuente, 9.5F);
942 this.ewlabelPoblacion.Font =
new System.Drawing.Font(lcFuente, 9.5F);
943 this.ewlabelCPostal.Font =
new System.Drawing.Font(lcFuente, 9.5F);
944 this.ewlabelDireccion.Font =
new System.Drawing.Font(lcFuente, 9.5F);
945 this.ewlabelNombre.Font =
new System.Drawing.Font(lcFuente, 9.5F);
946 this.ewlabelCodigo.Font =
new System.Drawing.Font(lcFuente, 9.5F);
947 this.ewlabelEmail.Font =
new System.Drawing.Font(lcFuente, 9.5F);
951 this.btTelefonos1.Font =
new System.Drawing.Font(lcFuente, 9.5F);
952 this.btDirecciones1.Font =
new System.Drawing.Font(lcFuente, 9.5F);
953 this.btObservaciones.Font =
new System.Drawing.Font(lcFuente, 9.5F);
958 void _btBrowser__Click_Before(ref
bool tlOk)
960 txtCliente1__Delegar_ProcessCmdKey(ref tlOk, Keys.F4);
963 void _btMante__Click_Before(ref
bool tlOk)
965 txtCliente1__Delegar_ProcessCmdKey(ref tlOk, Keys.F5);
968 void txtCliente1__Delegar_ProcessCmdKey(ref
bool tlOk, Keys keyData)
971 if ((keyData == Keys.F4|| keyData == Keys.F5) && !_oDocumento._Documento_Vacio())
975 if (((keyData == Keys.F4) || (keyData == Keys.F5)) && !EW_GLOBAL._EsAsesorContable)
981 loMenuContextual.Items.Clear();
984 loMenuContextual.Items.Add(
"Clientes");
985 loMenuContextual.Items[0].Name =
"Clientes";
986 loMenuContextual.Items[0].Click +=
new System.EventHandler(this.loMenuItemCli_Click);
987 loMenuContextual.Items[0].Select();
990 loMenuContextual.Items.Add(
"Clientes potenciales");
991 loMenuContextual.Items[1].Name =
"FuturosClientes";
992 loMenuContextual.Items[1].Click +=
new System.EventHandler(this.loMenuItemFut_Click);
995 loMenuContextual.Show(PointToScreen(this.txtCliente1.Location));
999 this.lastPressedKey = keyData;
1004 this.lastPressedKey = null;
1016 private void _ShowCliente()
1018 if (EsDocumentoPresupuesto && txtCliente1.Visible && !txtFuturoCliente1.Visible)
1021 this.lblCliente.Text =
"Cliente:";
1023 this.txtCliente1.Focus();
1024 this.txtCliente1.BringToFront();
1026 this.txtFuturoCliente1.Enabled = this.txtFuturoCliente1.Visible =
false;
1027 this.txtCliente1.Enabled = this.txtCliente1.Visible =
true;
1030 btDirecciones1.Enabled = btTelefonos1.Enabled = btObservaciones.Enabled =
true;
1041 private void _ShowFuturoCliente()
1043 this.lblCliente.Text =
"Cliente potencial:";
1045 this.txtFuturoCliente1.Focus();
1046 this.txtFuturoCliente1.BringToFront();
1048 this.txtCliente1.Enabled = this.txtCliente1.Visible =
false;
1049 this.txtFuturoCliente1.Enabled = this.txtFuturoCliente1.Visible =
true;
1052 btObservaciones.Enabled =
false;
1053 btDirecciones1.Enabled =
false;
1057 if (this.txtFuturoCliente1.Visible && (!
string.IsNullOrWhiteSpace(
this._oFuturoCliente._Codigo)) && SendKeysTabFocoCliente())
1060 SendKeys.Send(
"{TAB}");
1068 private bool SendKeysTabFocoCliente()
1070 if (EsDocumentoPresupuesto)
1071 return !
string.IsNullOrWhiteSpace(_oDocumento._Numero);
1081 void loMenuItemFut_Click(
object sender, EventArgs e)
1083 if (this.lastPressedKey == null)
1086 if (!_oDocumento._Documento_Vacio())
1087 _oDocumento._Save();
1089 this.txtFuturoCliente1.Enabled = this.txtFuturoCliente1.Visible =
true;
1094 switch (this.lastPressedKey)
1098 this.txtFuturoCliente1._btBrowser._Click_Before -=
new botones.btBrowser._Click_Before_Handler(_btBrowser__Click_Before);
1100 this.txtFuturoCliente1._btBrowser.PerformClick();
1101 this.txtFuturoCliente1._btBrowser._Click_Before +=
new botones.btBrowser._Click_Before_Handler(_btBrowser__Click_Before);
1108 this.txtFuturoCliente1._btMante._Click_Before -=
new botones.btMante._Click_Before_Handler(_btMante__Click_Before);
1109 this.txtFuturoCliente1._btMante.PerformClick();
1110 this.txtFuturoCliente1._btMante._Click_Before +=
new botones.btMante._Click_Before_Handler(_btMante__Click_Before);
1114 string lcCliente = this.txtFuturoCliente1._GetTextBox().Text;
1116 if (_oDocumento._Documento_Vacio() && !
string.IsNullOrWhiteSpace(lcCliente))
1122 this._oFuturoCliente.
_Codigo =
"";
1123 this.txtFuturoCliente1._GetTextBox().Text = this._oFuturoCliente.
_Codigo;
1124 this._ShowCliente();
1136 this.lastPressedKey = null;
1139 void _btMante__Click_After()
1141 if (EsDocumentoDatosCliente)
1142 Refresh(_oDocumento._Cliente);
1145 if (!this.EsFuturoCliente)
1147 if (_oCliente != null) _oCliente.
_Reload();
1148 this.
Refresh(!this.txtCliente1._Hera ?
this._oDocumento._Cabecera._Cliente :
this._oDocumento._Cabecera._ClienteERP,
true);
1151 this.
Refresh(this._oDocumento._Cabecera._Futuro_Cliente);
1156 void txtFuturoCliente1__Browser_Click_After(
bool tlAceptar)
1158 Refrescar_Informacion();
1166 void loMenuItemCli_Click(
object sender, EventArgs e)
1168 if (this.lastPressedKey == null)
1171 if (!_oDocumento._Documento_Vacio())
1172 _oDocumento._Save();
1174 this.txtCliente1.Enabled = this.txtCliente1.Visible =
true;
1179 switch (this.lastPressedKey)
1183 this.txtCliente1._btBrowser._Click_Before -=
new botones.btBrowser._Click_Before_Handler(_btBrowser__Click_Before);
1185 this.txtCliente1._btBrowser.PerformClick();
1186 this.txtCliente1._btBrowser._Click_Before +=
new botones.btBrowser._Click_Before_Handler(_btBrowser__Click_Before);
1193 this.txtCliente1._btMante._Click_Before -=
new botones.btMante._Click_Before_Handler(_btMante__Click_Before);
1194 this.txtCliente1._btMante.PerformClick();
1195 this.txtCliente1._btMante._Click_Before +=
new botones.btMante._Click_Before_Handler(_btMante__Click_Before);
1205 this.lastPressedKey = null;
1212 void txtCliente1__Browser_Click_After(
bool tlAceptar)
1214 Refrescar_Informacion();
1220 private void SubscripcionEventosCliente()
1232 if (!EW_GLOBAL._EsAsesorContable)
1234 txtCliente1._Delegar_ProcessCmdKey -=
new txtbox.UserControls.txtCliente.Delegar_ProcessCmdKey(txtCliente1__Delegar_ProcessCmdKey);
1235 txtFuturoCliente1._Delegar_ProcessCmdKey -=
new txtbox.UserControls.txtFuturoCliente.Delegar_ProcessCmdKey(txtCliente1__Delegar_ProcessCmdKey);
1236 txtCliente1._Delegar_ProcessCmdKey +=
new txtbox.UserControls.txtCliente.Delegar_ProcessCmdKey(txtCliente1__Delegar_ProcessCmdKey);
1237 txtFuturoCliente1._Delegar_ProcessCmdKey +=
new txtbox.UserControls.txtFuturoCliente.Delegar_ProcessCmdKey(txtCliente1__Delegar_ProcessCmdKey);
1240 txtCliente1._btBrowser._Click_Before -=
new botones.btBrowser._Click_Before_Handler(_btBrowser__Click_Before);
1241 txtFuturoCliente1._btBrowser._Click_Before -=
new botones.btBrowser._Click_Before_Handler(_btBrowser__Click_Before);
1242 txtCliente1._btBrowser._Click_Before +=
new botones.btBrowser._Click_Before_Handler(_btBrowser__Click_Before);
1243 txtFuturoCliente1._btBrowser._Click_Before +=
new botones.btBrowser._Click_Before_Handler(_btBrowser__Click_Before);
1245 txtCliente1._btMante._Click_Before -=
new botones.btMante._Click_Before_Handler(_btMante__Click_Before);
1246 txtFuturoCliente1._btMante._Click_Before -=
new botones.btMante._Click_Before_Handler(_btMante__Click_Before);
1247 txtCliente1._btMante._Click_Before +=
new botones.btMante._Click_Before_Handler(_btMante__Click_Before);
1248 txtFuturoCliente1._btMante._Click_Before +=
new botones.btMante._Click_Before_Handler(_btMante__Click_Before);
1250 txtCliente1._GetTextBox().Leave -=
new EventHandler(txtClienteDocVen_Leave);
1251 txtCliente1._GetTextBox().Enter -=
new EventHandler(txtClienteDocVen_Enter);
1252 txtFuturoCliente1._GetTextBox().Leave -=
new EventHandler(txtFuturoCliente1_Leave);
1253 txtFuturoCliente1._GetTextBox().Enter -=
new EventHandler(txtFuturoCliente1_Enter);
1254 txtCliente1._GetTextBox().Leave +=
new EventHandler(txtClienteDocVen_Leave);
1255 txtCliente1._GetTextBox().Enter +=
new EventHandler(txtClienteDocVen_Enter);
1256 txtFuturoCliente1._GetTextBox().Leave +=
new EventHandler(txtFuturoCliente1_Leave);
1257 txtFuturoCliente1._GetTextBox().Enter +=
new EventHandler(txtFuturoCliente1_Enter);
1264 private void ClearDataBindings()
1266 txtCliente1.DataBindings.Clear();
1267 txtFuturoCliente1.DataBindings.Clear();
1275 private void DataBindingsFuturoCliente()
1278 if (evitarbinding || (!_lOnCreateControl && EsDocumentoPresupuesto))
1281 evitarbinding =
true;
1283 ClearDataBindings();
1285 txtFuturoCliente1.DataBindings.Add(
"_Codigo", _oDocumento._Cabecera,
"_Futuro_Cliente");
1287 evitarbinding =
false;
1295 private void DataBindingsCliente()
1298 if (evitarbinding || (!_lOnCreateControl && EsDocumentoPresupuesto))
1301 evitarbinding =
true;
1303 ClearDataBindings();
1305 if (EsDocumentoDatosCliente)
1306 txtCliente1.DataBindings.Add(
"_Codigo", _oDocumento,
"_Cliente");
1309 if (txtCliente1._Hera)
1310 txtCliente1.DataBindings.Add(
"_Codigo", _oDocumento._Cabecera,
"_ClienteERP");
1312 txtCliente1.DataBindings.Add(
"_Codigo", _oDocumento._Cabecera,
"_Cliente");
1315 evitarbinding =
false;
1317 private bool evitarbinding =
false;
1324 private void ConfigurarCliente(
bool tlEsFuturoCliente =
false)
1326 SubscripcionEventosCliente();
1328 if (tlEsFuturoCliente)
1330 DataBindingsFuturoCliente();
1331 _ShowFuturoCliente();
1335 DataBindingsCliente();
1344 private void ReordenarControls(
int tnSeparacion = 0)
1349 int lnSeparacion = tnSeparacion > 0 ? tnSeparacion : _nSeparacion;
1352 int lnSizeCif = (this.Width < 340) ? 75 : 90;
1354 if (ewtextboxCIF.Width != lnSizeCif)
1355 ewtextboxCIF.Width = lnSizeCif;
1359 ewlabelCodigo.Top = lnSeparacion + lblCliente.Height + 4;
1360 txtCliente1.Top = lnSeparacion + lblCliente.Height;
1361 txtCliente1._Esconder_Label =
true;
1362 txtCliente1.Width = ewlabelCIF.Left - txtCliente1.Left;
1365 txtFuturoCliente1.Top = txtCliente1.Top;
1366 txtFuturoCliente1._Esconder_Label =
true;
1367 txtFuturoCliente1.Width = txtCliente1.Width;
1371 ewtextboxCIF.Visible = _lVisible_CIF;
1372 ewlabelCIF.Visible = _lVisible_CIF;
1373 ewtextboxCIF.Top = lnSeparacion + lblCliente.Height;
1374 ewlabelCIF.Top = lnSeparacion + lblCliente.Height + 4;
1375 ewtextboxCIF.Left = this.ClientSize.Width - ewtextboxCIF.Width - 5;
1376 ewlabelCIF.Left = ewtextboxCIF.Left - ewlabelCIF.Width - 5;
1377 lnTop = ewtextboxCIF.Top + ewtextboxCIF.Height + lnSeparacion;
1380 ewlabelNombre.Top = lnTop + 4;
1381 ewtextboxNombre.Top = lnTop;
1382 btObservaciones.Top = lnTop;
1383 lnTop = ewtextboxNombre.Top + ewtextboxNombre.Height + lnSeparacion;
1386 btDirecciones1.Visible = _lVisible_Direccion;
1387 ewlabelDireccion.Visible = _lVisible_Direccion;
1388 ewtextboxDireccion.Visible = _lVisible_Direccion;
1389 btDirecciones1.Top = lnTop;
1390 ewlabelDireccion.Top = lnTop + 4;
1391 ewtextboxDireccion.Top = lnTop;
1392 if (_lVisible_Direccion)
1393 lnTop = ewtextboxDireccion.Top + ewtextboxDireccion.Height + lnSeparacion;
1396 ewlabelCPostal.Visible = _lVisible_CPostal;
1397 ewtextboxCPostal.Visible = _lVisible_CPostal;
1398 ewlabelCPostal.Top = lnTop + 4;
1399 ewtextboxCPostal.Top = lnTop;
1400 if (!_lVisible_CPostal)
1403 ewlabelPoblacion.Left = ewlabelCPostal.Left;
1404 ewtextboxPoblacion.Left = ewtextboxCPostal.Left;
1409 ewlabelPoblacion.Left = ewtextboxCPostal.Left + ewtextboxCPostal.Width + 9;
1410 ewtextboxPoblacion.Left = ewlabelPoblacion.Left + ewlabelPoblacion.Width + 3;
1412 ewtextboxPoblacion.Width = this.ClientSize.Width - ewtextboxPoblacion.Left - 5;
1415 ewlabelPoblacion.Visible = _lVisible_Poblacion;
1416 ewtextboxPoblacion.Visible = _lVisible_Poblacion;
1417 ewlabelPoblacion.Top = lnTop + 4;
1418 ewtextboxPoblacion.Top = lnTop;
1419 if (_lVisible_Poblacion || _lVisible_CPostal)
1420 lnTop = lnTop + ewtextboxPoblacion.Height + lnSeparacion;
1423 ewlabelProvincia.Visible = _lVisible_Provincia;
1424 ewtextboxProvincia.Visible = _lVisible_Provincia;
1425 ewlabelProvincia.Top = lnTop + 4;
1426 ewtextboxProvincia.Top = lnTop;
1427 if (!_lVisible_Provincia)
1430 ewlabelTelefono.Left = ewlabelProvincia.Left;
1431 ewtextboxTelefono.Left = ewtextboxProvincia.Left;
1437 ewtextboxTelefono.Left = ClientSize.Width / 3 * 2;
1439 ewlabelTelefono.Left = ewtextboxTelefono.Left - ewlabelTelefono.Width - 2;
1440 ewtextboxProvincia.Width = ewlabelTelefono.Left - ewtextboxProvincia.Left - 10;
1444 ewtextboxTelefono.Width = btTelefonos1.Left - ewtextboxTelefono.Left - 4;
1447 ewlabelTelefono.Visible = _lVisible_Telefono;
1448 ewtextboxTelefono.Visible = _lVisible_Telefono;
1449 btTelefonos1.Visible = _lVisible_Telefono;
1450 ewlabelTelefono.Top = lnTop + 4;
1451 ewtextboxTelefono.Top = lnTop;
1452 btTelefonos1.Top = lnTop;
1453 if (!_lVisible_Telefono)
1454 ewtextboxProvincia.Width = this.ClientSize.Width - ewtextboxProvincia.Left - 5;
1456 if (_lVisible_Provincia || _lVisible_Telefono)
1457 lnTop = lnTop + ewtextboxProvincia.Height + lnSeparacion;
1460 ewlabelEmail.Visible = _lVisible_Email;
1461 txtEmail1.Visible = _lVisible_Email;
1462 ewlabelEmail.Top = lnTop + 4;
1463 txtEmail1.Top = lnTop;
1464 txtEmail1.Width = (this.Width - txtEmail1.Left);
1465 if (_lVisible_Email)
1466 lnTop = lnTop + txtEmail1.Height + lnSeparacion;
1469 if (Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_sage50")) && !Convert.ToBoolean(EW_GLOBAL._EdicionPerfiles))
1472 if ((tnSeparacion == 0) && lnTop > this.Height)
1475 int lnOpciones = 2 + (_lVisible_Direccion ? 1 : 0) + ((_lVisible_Poblacion || _lVisible_CPostal) ? 1 : 0) + ((_lVisible_Provincia || _lVisible_Telefono) ? 1 : 0) + (_lVisible_Email ? 1 : 0);
1478 int lnDifSeparacion = ((lnTop - this.Height) / lnOpciones) + 1;
1480 if (lnDifSeparacion >= _nSeparacion)
1481 lnDifSeparacion = _nSeparacion - 1;
1483 this.ReordenarControls(_nSeparacion - lnDifSeparacion);
1488 this.Height = lnTop;
1506 private void Refresh(
string tcCliente =
"",
bool tlReload =
false)
1508 if (!EsFuturoCliente)
1510 this._RefreshClient(tcCliente, tlReload);
1513 this.btTelefonos1._oEntidad = this._oCliente;
1514 this.btTelefonos1.Enabled =
true;
1518 this._RefreshFutClient(tcCliente);
1521 this.btTelefonos1._oEntidad = this._oFuturoCliente;
1522 this.btTelefonos1.Enabled =
true;
1526 if (!
string.IsNullOrWhiteSpace(_oCliente.
_Codigo))
1528 this.btObservaciones.Enabled =
true;
1529 this.btDirecciones1.Enabled =
true;
1530 this.btTelefonos1.Enabled =
true;
1533 if (this.ParentForm != null)
1539 dynamic loForm = this.ParentForm;
1542 bool llReadOnly = loForm._Controles_En_Formulario_De_Solo_Lectura();
1544 this._ReadOnly = llReadOnly;
1550 private void _RefreshClient(
string tcCliente =
"",
bool tlReload =
false)
1552 bool llMismoCliente =
true;
1553 bool lbCarregarEnvCli =
false;
1556 if (!
string.IsNullOrWhiteSpace(this.txtFuturoCliente1._Codigo) &&
string.IsNullOrWhiteSpace(tcCliente))
1557 _RefreshFutClient(tcCliente);
1560 if (
string.IsNullOrWhiteSpace(tcCliente))
1562 if (EsDocumentoDatosCliente)
1563 tcCliente = _oDocumento._Cliente;
1568 if (this.txtCliente1._Hera)
1569 tcCliente = _oDocumento._Cabecera._ClienteERP;
1571 tcCliente = _oDocumento._Cabecera._Cliente;
1577 if (
string.IsNullOrWhiteSpace(tcCliente) && !
string.IsNullOrWhiteSpace(txtCliente1._Codigo))
1579 tcCliente = txtCliente1._Codigo;
1580 llMismoCliente =
false;
1584 if (
string.IsNullOrWhiteSpace(tcCliente) || (!EsDocumentoDatosCliente && _Documento._DescarregantDocument))
1590 if (EsDocumentoDatosCliente)
1592 if (_Documento._Env_cli != 0)
1593 lbCarregarEnvCli =
true;
1598 if (_Documento._Cabecera._Env_cli != 0)
1599 lbCarregarEnvCli =
true;
1603 if (
string.IsNullOrWhiteSpace(tcCliente))
1606 _ColorTitolOferta(
false);
1610 if (txtCliente1._Codigo != tcCliente)
1611 txtCliente1._Codigo = tcCliente;
1614 if (this.txtCliente1._Hera)
1618 if (_oCliente.
_Codigo != lcCodEquiv)
1620 _oCliente.
_Codigo = lcCodEquiv;
1621 llMismoCliente =
false;
1627 if (_oCliente.
_Codigo != tcCliente)
1629 _oCliente.
_Codigo = tcCliente;
1630 llMismoCliente =
false;
1636 if (
string.IsNullOrWhiteSpace(ewtextboxNombre.Text))
1637 llMismoCliente =
false;
1640 bool llContado = !EsDocumentoDatosCliente && _oCliente.
_Es_Contado() && _Documento != null && _Documento._Cabecera != null && _Documento._Cabecera._DatosContado != null && _Documento._Cabecera._DatosContado._Existe;
1643 if (llMismoCliente && _cClienteAnterior == _oCliente.
_Codigo && !llContado && !tlReload)
1647 _cClienteAnterior = _oCliente.
_Codigo;
1653 ewtextboxCIF.Text = _Documento._Cabecera._DatosContado._Cif;
1654 ewtextboxNombre.Text = _Documento._Cabecera._DatosContado._Nombre;
1655 ewtextboxDireccion.Text = _Documento._Cabecera._DatosContado._Direccion;
1656 ewtextboxCPostal.Text = _Documento._Cabecera._DatosContado._CodPost;
1657 ewtextboxPoblacion.Text = _Documento._Cabecera._DatosContado._Poblacion;
1658 ewtextboxProvincia.Text = _Documento._Cabecera._DatosContado._Provincia;
1659 ewtextboxTelefono.Text = _Documento._Cabecera._DatosContado._Telefono;
1660 txtEmail1._Web = _Documento._Cabecera._DatosContado._Email;
1665 ewtextboxCIF.Text = _oCliente.
_NIF;
1666 ewtextboxNombre.Text = _oCliente.
_Nombre;
1668 if (lbCarregarEnvCli)
1670 int lnEnv_cli = Env_cli_Documento();
1673 lbCarregarEnvCli = CarregaEnvCli(lnEnv_cli);
1675 if (
string.IsNullOrWhiteSpace(ewtextboxTelefono.Text))
1682 if (!lbCarregarEnvCli)
1685 ewtextboxDireccion.Text = _oCliente.
_Direccion;
1686 ewtextboxCPostal.Text = _oCliente.
_CodPost;
1687 ewtextboxPoblacion.Text = _oCliente.
_Poblacion;
1688 ewtextboxProvincia.Text = _oCliente.
_Provincia;
1695 txtEmail1._Web = _oCliente.
_Email;
1706 private int Env_cli_Documento()
1710 if (EsDocumentoDatosCliente)
1711 lnEnv_cli = _Documento._Env_cli;
1713 lnEnv_cli = _Documento._Cabecera._Env_cli;
1724 bool lbOferta = _oCliente.
_Oferta;
1726 _ColorTitolOferta(lbOferta);
1730 if (!
string.IsNullOrWhiteSpace(lcObserva))
1731 btObservaciones.Image = images.Properties.Resources.observa_con_datos_16x16;
1733 btObservaciones.Image = images.Properties.Resources.observa_datos_16x16;
1737 private void _RefreshFutClient(
string tcCliente =
"")
1739 if (
string.IsNullOrWhiteSpace(tcCliente))
1742 tcCliente = _oDocumento._Cabecera._Futuro_Cliente;
1745 if (this.txtFuturoCliente1._Codigo != tcCliente)
1746 this.txtFuturoCliente1._Codigo = tcCliente;
1748 this._oFuturoCliente.
_Codigo = tcCliente;
1752 if (this._Documento != null && this._Documento._Cabecera._oFuturo_Cliente != null)
1753 this._Documento._Cabecera._oFuturo_Cliente._Refresh();
1756 ewtextboxCIF.Text = Convert.ToString(this._oFuturoCliente.
_Campo(
"cif"));
1757 ewtextboxNombre.Text = this._oFuturoCliente.
_Nombre;
1758 ewtextboxDireccion.Text = Convert.ToString(this._oFuturoCliente.
_Campo(
"direccion"));
1759 ewtextboxCPostal.Text = Convert.ToString(this._oFuturoCliente.
_Campo(
"codpost"));
1760 ewtextboxPoblacion.Text = Convert.ToString(this._oFuturoCliente.
_Campo(
"poblacion"));
1761 ewtextboxProvincia.Text = Convert.ToString(this._oFuturoCliente.
_Campo(
"provincia"));
1762 ewtextboxTelefono.Text = Convert.ToString(this._oFuturoCliente.
_Campo(
"telefono"));
1763 txtEmail1._Web = Convert.ToString(this._oFuturoCliente.
_Campo(
"email"));
1766 bool lbOferta =
false;
1768 _ColorTitolOferta(lbOferta);
1775 private void _ColorTitolOferta(
bool tbOferta =
false)
1777 if (tbOferta || (!
string.IsNullOrWhiteSpace(_TextoOferta) && _TextoOferta.Trim() !=
"CLIENTE CON OFERTAS"))
1780 this.lblCliente.ForeColor = _ColorFuenteOferta;
1781 this.lblCliente.BackColor = _ColorFondoOferta;
1785 this.lblCliente.ForeColor = _ColorFuenteTitulo;
1786 this.lblCliente.BackColor = _ColorFondoTitulo;
1794 private void txtClienteDocVen_SizeChanged(
object sender, EventArgs e)
1796 ReordenarControls();
1800 private void btDirecciones1__Click_Before(ref Boolean tlOk)
1802 if (this._Documento == null)
1806 private void btDirecciones1__Click_After(DataRow toRowSel)
1808 if (toRowSel == null)
1811 if (EsDocumentoDatosCliente)
1812 _Documento._Env_cli = Convert.ToInt16(toRowSel[
"linea"]);
1814 _Documento._Cabecera._Env_cli = Convert.ToInt16(toRowSel[
"linea"]);
1816 CarregaEnvCli(toRowSel);
1819 private void CarregaEnvCli(DataRow toRowEnvCli)
1822 ewtextboxDireccion.Text = toRowEnvCli[
"direccion"] as string;
1823 ewtextboxCPostal.Text = toRowEnvCli[
"codpos"] as string;
1824 ewtextboxPoblacion.Text = toRowEnvCli[
"poblacion"] as string;
1825 ewtextboxProvincia.Text = toRowEnvCli[
"provincia"] as string;
1828 string lcTelefono = toRowEnvCli[
"telefono"].ToString();
1829 if (!
string.IsNullOrWhiteSpace(lcTelefono))
1830 ewtextboxTelefono.Text = lcTelefono;
1835 if(Convert.ToBoolean(EW_GLOBAL._GetVariable(
"WL_SOLCODPOST")) && !EsDocumentoDatosCliente)
1837 String lcCodPost = Convert.ToString(toRowEnvCli[
"codpos"]).Trim();
1838 if (!
String.IsNullOrEmpty(lcCodPost) && _oDocumento != null && _oDocumento._Cabecera != null ) _oDocumento._Cabecera._CPostal = lcCodPost;
1843 private bool CarregaEnvCli(
int tnLinia)
1845 string lcCliente =
"";
1848 if (txtCliente1._Hera)
1855 lcCliente = txtCliente1._Codigo;
1859 DataTable ldtEnvCli =
new DataTable();
1860 db.DB.SQLExec(
" Select * " +
1861 " From " + db.DB.SQLDatabase(
"Env_Cli") +
1862 " Where Cliente=" + db.DB.SQLString(lcCliente) +
1863 " And Linea=" + db.DB.SQLString(tnLinia), ref ldtEnvCli);
1864 if (ldtEnvCli != null && ldtEnvCli.Rows.Count > 0)
1866 CarregaEnvCli(ldtEnvCli.Rows[0]);
1873 private void btTelefonos1__Click_Before(ref
bool tlOk)
1875 if (this._Documento == null)
1883 private void txtCliente1__Codigo_Cambiado()
1885 if (!
string.IsNullOrWhiteSpace(this.txtCliente1._Codigo))
1887 if (!EsFuturoCliente)
1889 this.txtFuturoCliente1._Codigo =
"";
1891 if (EsDocumentoPresupuesto)
1892 _oDocumento._Cabecera._Futuro_Cliente =
"";
1900 private void txtFuturoCliente1__Codigo_Cambiado()
1902 if (!
string.IsNullOrWhiteSpace(this.txtFuturoCliente1._Codigo))
1903 this.txtCliente1._Codigo =
"";
1911 private bool _ValidarDocumento(ref
bool tlOk)
1914 if (tlOk && (_oDocumento == null ||
string.IsNullOrWhiteSpace(_oDocumento._Numero)))
1916 functions.FUNCTIONS._MessageBox(
"Para poder entrar el código de cliente debe haber entrado el número de documento.",
"Información", MessageBoxButtons.OK, MessageBoxIcon.Stop, MessageBoxDefaultButton.Button1, (
FormBase)
this.FindForm());
1923 void txtClienteDocVen_Enter(
object sender, EventArgs e)
1925 txtCliente1._GetTextBox().Tag = txtCliente1._GetTextBox().Text;
1935 void txtClienteDocVen_Leave(
object sender, EventArgs e)
1938 if(txtCliente1._GetTextBox().Text != txtCliente1._GetTextBox().Tag.ToString())
1939 this.Refrescar_Informacion_Cliente();
1943 void txtFuturoCliente1_Enter(
object sender, EventArgs e)
1945 txtFuturoCliente1._GetTextBox().Tag = txtFuturoCliente1._GetTextBox().Text;
1953 void txtFuturoCliente1_Leave(
object sender, EventArgs e)
1956 if (txtFuturoCliente1._GetTextBox().Text != txtFuturoCliente1._GetTextBox().Tag.ToString())
1957 this.Refrescar_Informacion_Cliente_Potencial();
1966 private void txtCliente1__Codigo_Cambiado_Before(ref
bool tlOk)
1968 this.flagSelCif =
false;
1969 this._ValidarDocumento(ref tlOk);
1978 private void txtFuturoCliente1__Codigo_Cambiado_Before(ref
bool tlOk)
1980 this.flagSelCif =
false;
1982 this._ValidarDocumento(ref tlOk);
1985 private void ewtextboxCIF_TextChanged(
object sender, EventArgs e)
1987 this.flagSelCif =
false;
1991 private void ewtextboxCIF_Enter(
object sender, EventArgs e)
1993 ewtextboxCIF.Tag = ewtextboxCIF.Text;
1996 string lcCodigo = txtCliente1._Codigo;
1997 if (EsFuturoCliente)
1998 lcCodigo = txtFuturoCliente1._Codigo;
2001 if (!
string.IsNullOrWhiteSpace(lcCodigo) && this.flagSelCif ==
false)
2004 SendKeys.Send(
"{TAB}");
2006 this.flagSelCif =
true;
2010 private void ewtextboxCIF_Leave(
object sender, EventArgs e)
2014 ewtextboxCIF.Select(0, 0);
2016 if (ewtextboxCIF.Tag.ToString() == ewtextboxCIF.Text)
2019 bool llPresentarCif =
false;
2021 if (EsDocumentoDatosCliente || _oDocumento._TipoDocumento !=
eTipoDocumento.PresupuestoVenta)
2022 llPresentarCif =
string.IsNullOrWhiteSpace(txtCliente1._Codigo) && !
string.IsNullOrWhiteSpace(ewtextboxCIF.Text);
2024 llPresentarCif = (
string.IsNullOrWhiteSpace(txtCliente1._Codigo) ||
string.IsNullOrWhiteSpace(txtFuturoCliente1._Codigo)) && !
string.IsNullOrWhiteSpace(ewtextboxCIF.Text);
2030 DataTable ldtClientes =
new DataTable();
2031 DataRow ldrSel = null;
2032 string lcCif = ewtextboxCIF.Text.Trim();
2034 if (EsDocumentoDatosCliente || _oDocumento._TipoDocumento !=
eTipoDocumento.PresupuestoVenta || EW_GLOBAL._EsAsesorContable)
2035 db.DB.SQLExec(
" Select codigo,nombre,cif, 0 as futuro " +
2036 " From " + db.DB.SQLDatabase(
"clientes") +
2037 " Where upper(CIF) Like '" + lcCif.ToUpper() +
"%'" 2040 db.DB.SQLExec(
" Select codigo,nombre,cif, 0 as futuro " +
2041 " From " + db.DB.SQLDatabase(
"clientes") +
2042 " Where upper(CIF) Like '" + lcCif.ToUpper() +
"%'" +
2044 " Select str(codigo) as codigo, nombre, cif, 1 as futuro " +
2045 " From " + db.DB.SQLDatabase(
"prclient") +
2046 " Where upper(CIF) Like '" + lcCif.ToUpper() +
"%'" 2049 if (ldtClientes != null && ldtClientes.Rows.Count > 0)
2052 if (ldtClientes.Rows.Count == 1 && ldtClientes.Rows[0].Field<
string>(
"cif").Trim() == lcCif)
2055 if (EsDocumentoDatosCliente)
2056 _oDocumento._Cliente = ldtClientes.Rows[0].Field<
string>(
"codigo");
2059 if (_oDocumento._TipoDocumento !=
eTipoDocumento.PresupuestoVenta)
2060 _oDocumento._Cabecera._Cliente = ldtClientes.Rows[0].Field<
string>(
"codigo");
2063 _oDocumento._Cabecera._Futuro = Convert.ToBoolean(ldtClientes.Rows[0][
"futuro"]);
2064 if (Convert.ToBoolean(ldtClientes.Rows[0][
"futuro"]))
2065 _oDocumento._Cabecera._Futuro_Cliente = ldtClientes.Rows[0][
"codigo"].ToString();
2067 _oDocumento._Cabecera._Cliente = ldtClientes.Rows[0][
"codigo"].ToString();
2075 formul.Forms.Seleccionar frmSel =
new formul.Forms.Seleccionar();
2076 frmSel._DataTable = ldtClientes;
2077 frmSel._Titulo =
"Clientes relacionados con el CIF " + lcCif;
2078 frmSel.Height = 500;
2082 frmSel._TipoFormulario = formul._TiposFormulario.Tactil;
2084 if (ldtClientes.Rows.Count == 0)
2085 frmSel._Boto_Aceptar =
false;
2088 frmSel._DataTable.Columns[
"cif"].Caption =
"CIF";
2089 frmSel._DataTable.Columns[
"cif"].ExtendedProperties[
"Mayusc"] =
true;
2090 frmSel._DataTable.Columns[
"futuro"].ExtendedProperties[
"NoVisible"] =
true;
2092 frmSel._ShowDialog();
2093 if (frmSel.DialogResult == DialogResult.OK)
2095 ldrSel = frmSel._DataRowSelect;
2102 if (EsDocumentoDatosCliente)
2103 _oDocumento._Cliente = Convert.ToString(ldrSel[
"codigo"]);
2107 if (_oDocumento._TipoDocumento !=
eTipoDocumento.PresupuestoVenta)
2108 _oDocumento._Cabecera._Cliente = Convert.ToString(ldrSel[
"codigo"]);
2111 _oDocumento._Cabecera._Futuro = Convert.ToBoolean(ldrSel[
"futuro"]);
2112 if (Convert.ToBoolean(ldrSel[
"futuro"]))
2113 _oDocumento._Cabecera._Futuro_Cliente = Convert.ToString(ldrSel[
"codigo"]);
2115 _oDocumento._Cabecera._Cliente = Convert.ToString(ldrSel[
"codigo"]);
2122 ewtextboxCIF.Text =
"";
2123 ewtextboxCIF.Focus();
2130 sage.
ew.
functions.
FUNCTIONS._MessageBox(
"No existe ningún cliente que contenga este CIF.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1, DialogResult.OK);
2131 ewtextboxCIF.Text =
"";
2136 private void ewtextboxTelefono_Enter(
object sender, EventArgs e)
2138 ewtextboxTelefono.Tag = ewtextboxTelefono.Text;
2141 string lcCodigo = CodigoCliente();
2144 if (!
string.IsNullOrWhiteSpace(lcCodigo))
2146 SendKeys.Send(
"{TAB}");
2154 private string CodigoCliente()
2156 if (EsFuturoCliente)
2157 return txtFuturoCliente1._Codigo;
2159 return txtCliente1._Codigo;
2168 private DataTable ConsultarTelefonosCliente(
string tcTelefono)
2170 DataTable ldtClientes =
new DataTable();
2173 if (EsDocumentoDatosCliente || _oDocumento._TipoDocumento !=
eTipoDocumento.PresupuestoVenta || EW_GLOBAL._EsAsesorContable)
2174 lcSql =
" Select c.codigo,c.nombre,t.telefono,t.observa as texto, 0 as futuro " +
2175 " From " + db.DB.SQLDatabase(
"clientes") +
" c " +
2176 " Inner Join " + db.DB.SQLDatabase(
"contlf_cli") +
" t On c.codigo = t.cliente " +
2177 " Where t.telefono Like '" + tcTelefono +
"%'";
2180 lcSql =
" Select c.codigo,c.nombre,t.telefono,t.observa as texto, 0 as futuro " +
2181 " From " + db.DB.SQLDatabase(
"clientes") +
" c " +
2182 " Inner Join " + db.DB.SQLDatabase(
"contlf_cli") +
" t On c.codigo = t.cliente " +
2183 " Where t.telefono Like '" + tcTelefono +
"%'" +
2185 " Select str(codigo) as codigo, nombre, telefono,'Teléfono' as texto, 1 as futuro " +
2186 " From " + db.DB.SQLDatabase(
"prclient") +
2187 " Where telefono Like '" + tcTelefono +
"%'";
2190 db.DB.SQLExec(lcSql, ref ldtClientes);
2200 private void AsignarClienteDocumento(
string tcCliente,
bool tlFuturo)
2202 if (EsDocumentoDatosCliente)
2203 _oDocumento._Cliente = tcCliente;
2206 if (_oDocumento._TipoDocumento !=
eTipoDocumento.PresupuestoVenta)
2207 _oDocumento._Cabecera._Cliente = tcCliente;
2210 _oDocumento._Cabecera._Futuro = tlFuturo;
2213 _oDocumento._Cabecera._Futuro_Cliente = tcCliente;
2215 _oDocumento._Cabecera._Cliente = tcCliente;
2227 private void ewtextboxTelefono_Leave(
object sender, EventArgs e)
2229 if (ewtextboxTelefono.Tag.ToString() == ewtextboxTelefono.Text)
2232 if (
string.IsNullOrWhiteSpace(CodigoCliente()))
2233 SendKeys.Send(
"{TAB}");
2238 if (
string.IsNullOrWhiteSpace(txtCliente1._Codigo) && !
string.IsNullOrWhiteSpace(ewtextboxTelefono.Text))
2241 string lcTelefon = ewtextboxTelefono.Text.Trim();
2242 DataTable ldtClientes = ConsultarTelefonosCliente(lcTelefon);
2243 DataRow ldrSel = null;
2245 if (ldtClientes != null && ldtClientes.Rows.Count > 0)
2248 if (ldtClientes.Rows.Count == 1 && ldtClientes.Rows[0].Field<
string>(
"telefono").Trim() == lcTelefon)
2249 AsignarClienteDocumento(ldtClientes.Rows[0].Field<
string>(
"codigo"), Convert.ToBoolean(ldtClientes.Rows[0][
"futuro"]));
2253 formul.Forms.Seleccionar frmSel =
new formul.Forms.Seleccionar();
2254 frmSel._DataTable = ldtClientes;
2255 frmSel._Titulo =
"Clientes relacionados con el teléfono " + lcTelefon;
2256 frmSel.Height = 500;
2260 frmSel._TipoFormulario = formul._TiposFormulario.Tactil;
2262 frmSel._DataTable.Columns[
"futuro"].ExtendedProperties[
"NoVisible"] =
true;
2264 frmSel._ShowDialog();
2265 if (frmSel.DialogResult == DialogResult.OK)
2266 ldrSel = frmSel._DataRowSelect;
2271 AsignarClienteDocumento(Convert.ToString(ldrSel[
"codigo"]), Convert.ToBoolean(ldrSel[
"futuro"]));
2273 PasarFocoTelefono();
2279 functions.FUNCTIONS._MessageBox(
"No existe ningún cliente que contenga este Teléfono", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1, DialogResult.OK);
2280 ewtextboxTelefono.Tag =
"";
2281 PasarFocoTelefono();
2290 private void PasarFocoTelefono()
2292 ewtextboxTelefono.Text =
"";
2293 ewtextboxTelefono.Focus();
2301 private void btObserva_Click(
object sender, EventArgs e)
2304 functions.FUNCTIONS._MessageBox(
"El cliente no tiene observaciones asignadas.",
"Información", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, (
FormBase)
this.FindForm());
2310 private void Refrescar_Informacion()
2312 if (EsFuturoCliente)
2313 Refrescar_Informacion_Cliente_Potencial();
2315 Refrescar_Informacion_Cliente();
2323 private void Refrescar_Informacion_Cliente(
string tcCliente)
2325 this.txtCliente1._GetTextBox().Text = this._oCliente.
_Codigo;
2327 if (!
string.IsNullOrWhiteSpace(tcCliente))
2329 if (Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_sage50")))
2331 this.txtCliente1._btMante._Click_Before -=
new botones.btMante._Click_Before_Handler(_btMante__Click_Before);
2332 if (this.txtCliente1._Existe_Codigo(ref tcCliente))
2334 this._oCliente.
_Codigo = tcCliente;
2335 this.txtCliente1._GetTextBox().Text = tcCliente;
2337 if (EsDocumentoDatosCliente)
2338 this._oDocumento._Cliente = tcCliente;
2341 this._oFuturoCliente.
_Codigo =
"";
2342 this.txtFuturoCliente1._GetTextBox().Text =
"";
2344 this._oDocumento._Cabecera._Futuro_Cliente =
"";
2345 this._oDocumento._Cabecera._Futuro =
false;
2346 this._oDocumento._Cabecera._Cliente = tcCliente;
2349 this._ShowCliente();
2351 this.txtCliente1._btMante._Click_Before +=
new botones.btMante._Click_Before_Handler(_btMante__Click_Before);
2355 functions.FUNCTIONS._MessageBox(this.txtCliente1._Mensaje_No_Existe, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, DialogResult.OK);
2358 this._ShowCliente();
2364 private void Refrescar_Informacion_Cliente()
2367 if (this._ValidarDocumento(ref llOk))
2370 string lcCliente = this.txtCliente1._GetTextBox().Text;
2372 if (!
string.IsNullOrWhiteSpace(lcCliente))
2374 lcCliente = functions.FUNCTIONS._Punto_Por_Ceros(lcCliente);
2380 if (EsDocumentoDatosCliente)
2381 Refrescar_Informacion_Cliente(lcCliente);
2390 _oDocumento._Cabecera._oCli =
new Cliente();
2391 this.txtCliente1._GetTextBox().Text =
"";
2393 _oDocumento._Cabecera._Futuro =
true;
2395 txtFuturoCliente1._GetTextBox().Text = loFutCliTemp.
_Codigo;
2396 this._oDocumento._Cabecera._Futuro_Cliente = loFutCliTemp.
_Codigo;
2399 this._ShowFuturoCliente();
2403 Refrescar_Informacion_Cliente(lcCliente);
2409 if (EsDocumentoDatosCliente)
2410 _RefreshClient(lcCliente);
2412 txtFuturoCliente1._GetTextBox().Text =
"";
2423 private void Refrescar_Informacion_Cliente_Potencial()
2426 if (this._ValidarDocumento(ref llOk))
2428 string lcCliente = this.txtFuturoCliente1._GetTextBox().Text;
2440 this._oDocumento._Cabecera._Futuro_Cliente =
"";
2441 this._oDocumento._Cabecera._Futuro =
false;
2442 this._oDocumento._Cabecera._oFuturo_Cliente =
new FuturoCliente();
2443 this.txtFuturoCliente1._GetTextBox().Text =
"";
2446 this.txtCliente1._GetTextBox().Text = loCliTemp.
_Codigo;
2447 this._oDocumento._Cabecera._Cliente = loCliTemp.
_Codigo;
2449 this._ShowCliente();
2450 this.
Refresh(this._oDocumento._Cabecera._Cliente);
2454 this.txtFuturoCliente1._GetTextBox().Text = this._oFuturoCliente.
_Codigo;
2455 if (!
string.IsNullOrWhiteSpace(lcCliente))
2457 if (Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_sage50")))
2459 this.txtFuturoCliente1._btMante._Click_Before -=
new botones.btMante._Click_Before_Handler(_btMante__Click_Before);
2460 if(this.txtFuturoCliente1._Existe_Codigo(ref lcCliente))
2463 this._oFuturoCliente.
_Codigo = lcCliente;
2464 this.txtFuturoCliente1._GetTextBox().Text = lcCliente;
2465 this._oDocumento._Cabecera._Futuro_Cliente = lcCliente;
2466 this._oDocumento._Cabecera._Futuro =
true;
2467 this._ShowFuturoCliente();
2469 this.txtFuturoCliente1._btMante._Click_Before +=
new botones.btMante._Click_Before_Handler(_btMante__Click_Before);
2473 functions.FUNCTIONS._MessageBox(this.txtFuturoCliente1._Mensaje_No_Existe, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, DialogResult.OK);
2489 private void _Vaciar()
2491 txtCliente1._Codigo =
"";
2492 ewtextboxCIF.Text =
"";
2493 ewtextboxNombre.Text =
"";
2494 ewtextboxDireccion.Text =
"";
2495 ewtextboxCPostal.Text =
"";
2496 ewtextboxPoblacion.Text =
"";
2497 ewtextboxProvincia.Text =
"";
2498 ewtextboxTelefono.Text =
"";
2499 txtEmail1._Web =
"";
2509 _ColorTitolOferta(
false);
Clase de negocio para Futuros Clientes
virtual void _Reload()
Metodo _Reload de la clase base de los mantenimientos Suponiendo que se haya definido el código del m...
string _Observaciones
Observaciones
override object _Campo(string tcNombreCampo)
Override del metodo _Campo para los mantenimientos
delegate void Delegar_Browser_After(bool tlAceptar)
Definición del delegado para el evento After en el click del browser
string _TelefonoPredeterminado()
Devuelve el teléfono predeterminado del cliente
override string _Codigo
PE-102491: override de _Codigo para que en el Set podamos convertir el número que nos llega a código ...
string _Provincia
Provincia del cliente
void _RefreshOferta()
Refrescamos la imagen de la oferta
override String _Codigo
Get o set del código del futuro cliente
override string _Nombre
Nombre del cliente a partir del campo NOMBRE de la tabla CLIENTES de la base de datos de GESTION de E...
string _CodPost
Código postal del cliente
override void _Refresh()
Capturamos el _Refresh para refrescar el formulario asociado
KeyDiccionarioLenCampos
Clave del diccionario LenCampos
Clase sage.ew.objetos.ewlabel
Clase sage.ew.objetos.ewtextbox
Interfaz utilizada en los controles que se añaden en los perfiles
delegate void Delegar_Codigo_Cambiado()
Definición del delegado para el evento que se disparará al cambiar el código
Clase EW_GLOBAL para gestionar las variables públicas de Eurowin, variables de empresa, variables de anchuras de campo, variables de mascaras, etc.
eTipoCliente
tipo de cliente
virtual bool _Existe_Registro()
Nos indica si existe el registro en la Base de Datos
override string _Nombre
Nombre del futuro cliente a partir del campo NOMBRE de la tabla PRCLIENT de la base de datos de GESTI...
Clase para uso de funciones genéricas
txtClienteDocVen()
Inicializa una nueva instancia de la clase txtClienteDocVen
string _Direccion
Dirección del cliente
string _Poblacion
Población del cliente
delegate void Delegar_Codigo_Cambiado_Before(ref bool tlOk)
Definición del delegado para el evento que se disparará antes de cambiar el código ...
Font _Font
Fuente a utilizar en cualquier texto dentro del txtcodlabel
bool _Show_Observaciones()
Método para mostrar las observaciones del cliente (PE-79824)
eTipoDocumento
Detalle los tipos de documento posibles de ventas y compras
void _Refresh()
Mostrem les dades del client Para que cumpla la interfaz "IObjetoRefresh"
override void OnCreateControl()
w10 Se mueve la reondnacion para que la haga al estar creado el objeto
bool _Oferta
Aplicar ofertas al cliente.
string _NIF
CIF del cliente
bool _Es_Contado()
Devuelve si el cliente marcado como de solicitud de datos al contado
Al volver de la web del Compliance en algunos casos es necesario realizar el refresco de los parámetr...
String _ClienteERP
PE-106179
string _Codigo_Equivalente_EW(string tcClienteERP)
Nos devolverá el código de cliente Eurowin equivalente para el cliente ERP actual (PE-78304) ...
string _Email
Email predeterminado de la ficha del cliente
Interfaz para refrescar los controles de los perfiles
Interfaz para utilizar en los formularios basados en FormBaseDocumento
Clase base para controles de tipo txtcodlabelf
delegate void Delegar_Codigo_Cambiado_Before_Extended(object sender, string tcValorCandidato, ref bool tlOk)
Definición del delegado para el evento que se disparará antes de cambiar el código. Incluye objeto sender y valor candidato
Cliente potencial (para el presupuesto de venta)