2 using System.Collections.Generic;
18 namespace sage.ew.formul.Forms
43 private string _cSerieOldVal =
string.Empty;
44 private string _cDocumentoOldVal =
string.Empty;
45 private DateTime? _dOldAcabadoVal = null;
46 private bool _lAcabadoValidado =
false;
141 private bool _lNuevaLinea =
false;
161 private string _cEmpresa = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_empresa"));
167 Dictionary<string, bool> _dicColsReadOnly =
new Dictionary<string, bool>();
170 #region Constructores 178 if (Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_normal")) ==
false)
180 functions.FUNCTIONS._MessageBox(
"En una empresa consolidada no se puede confeccionar Etiquetas de envío." + Environment.NewLine + Environment.NewLine +
181 "Opción no disponible.",
"Etiquetas de envío",
System.Windows.Forms.MessageBoxButtons.OK,
System.Windows.Forms.MessageBoxIcon.Information);
186 InitializeComponent();
188 this._Pantalla =
"ENVIOETI";
192 tpImpresion.Text =
"";
193 ewtcPaginas.TabPages.Remove(tpImpresion);
194 _OcultarLineaDetalles =
true;
198 if (!DesignMode) Form_Suscripcion_Eventos();
206 InitializeComponent();
208 this._Pantalla =
"ENVIOETI";
210 _Etiqueta_Envio = toEtiquetasEnvio;
213 tpImpresion.Text =
"";
214 ewtcPaginas.TabPages.Remove(tpImpresion);
217 if (!DesignMode) Form_Suscripcion_Eventos();
220 #endregion Constructores 222 #region Funciones OVERRIDE 228 protected override void OnLoad(EventArgs e)
232 Form_Configurar_Grid();
238 Evento_FormMante_Shown_After +=
new FormMante_Shown_After_Handler(_Evento_FormMante_Shown_After);
242 RefinarCondicionesEnDefinicionDelBrowser();
252 catch (Exception loEx)
254 db.DB.Registrar_Error(loEx);
261 ewtextboxNumero.MaxLength = _ewMante._GetMaxLength(
"CONTADOR");
265 ewtextboxNumero.Enabled =
false;
268 chkFormatoEmpresa.Checked =
true;
269 ucEtiquetas.Enabled =
false;
272 btEtiquetas._Tooltip =
"Imprime las etiquets de envio.";
273 btEtiquetas.Click +=
new EventHandler(Evento_btEtiquetas_Click);
276 btReparto._Tooltip =
"Imprime la hoja de reparto.";
277 btReparto.Click +=
new EventHandler(Evento_btReparto_Click);
279 ucEtiquetas._AutoLoadFirst =
true;
281 ucEtiquetas._Print_Before +=
new articulo.UserControls.Etiquetas._Print_Before_Handler(ucEtiquetas__Print_Before);
287 private void RefinarCondicionesEnDefinicionDelBrowser()
290 _btBrowser._Campo_Predet =
"CONTADOR";
291 _btBrowser._Campos =
"CONTADOR,LETRA,NUMERO";
292 _btBrowser._Clave =
"CONTADOR";
293 _btBrowser._Titulos_Campos =
"Envío, Serie, Documento";
294 _btBrowser._Condicion =
"EMPRESA = '" + Convert.ToString(EW_GLOBAL._GetVariable(
"wc_empresa")) +
"' AND ALB_DEPO = " +
295 (_Etiqueta_Envio._EsUnDeposito ==
true ?
"'D'" :
"''");
298 _btBrowserDocs.
_Campos =
"CONTADOR,LETRA,NUMERO";
299 _btBrowserDocs.
_Clave =
"CONTADOR";
301 _btBrowserDocs.
_Condicion =
"EMPRESA = '" + Convert.ToString(EW_GLOBAL._GetVariable(
"wc_empresa")) +
"' AND ALB_DEPO = " +
302 (_Etiqueta_Envio._EsUnDeposito ==
true ?
"'D'" :
"''");
311 Binding loBind = ewtextboxNumero.DataBindings[
"Text"];
312 if (loBind != null) ewtextboxNumero.DataBindings[0].ReadValue();
313 else ewtextboxNumero.DataBindings.Add(
"Text", _ewMante,
"_Codigo",
true);
317 loBind = ewdateFecha.DataBindings[
"Value"];
318 if (loBind != null) ewdateFecha.DataBindings[0].ReadValue();
319 else ewdateFecha.DataBindings.Add(
"Value", _ewMante,
"_Fecha",
true);
322 loBind = DataBindings[
"Text"];
323 if (loBind != null) DataBindings[0].ReadValue();
324 else DataBindings.Add(
"Text", _ewMante,
"_TituloMantenimiento",
true);
332 base._BloquearControles();
334 bool llReadOnly = ewtextboxNombre.ReadOnly;
336 ewgridDetalle._ReadOnly = llReadOnly;
345 _btDesmarcar.
_Tooltip =
"Marca las etiquetas como no impresas.";
346 _btDesmarcar.Text =
"Desmarcar";
347 _btDesmarcar.Click +=
new EventHandler(Evento_btDesmarcar_Click);
348 _AgregarBoton(
"",
"", 0, _btDesmarcar);
351 _btEtiquetas.Text =
"Imprimir etiquetas";
352 _btEtiquetas.
_Tooltip =
"Imprime las etiquets de envio.";
353 _btEtiquetas.Click +=
new EventHandler(Evento_btEtiquetas_Click);
354 _AgregarBoton(
"",
"", 1, _btEtiquetas);
357 _btReparto.Text =
"Imprimir hoja de reparto";
358 _btReparto.
_Tooltip =
"Imprime la hoja de reparto.";
359 _btReparto.Click +=
new EventHandler(Evento_btReparto_Click);
360 _AgregarBoton(
"",
"", 2, _btReparto);
363 _btNavegarGeneric.Text =
"Ver documento";
364 _btNavegarGeneric.
_Tooltip =
"Visualiza el documento seleccionado en el grid.";
365 _btNavegarGeneric.Click +=
new EventHandler(_btNavegarGeneric_Click);
366 _AgregarBoton(
"Ver documento",
"", 3, _btNavegarGeneric);
370 _btVentasCli.Image = null;
371 _btVentasCli.
_Lista_Campos =
new List<string>() {
"Documento",
"Letra",
"Cliente",
"Importe" };
373 _btVentasCli.Text =
"Buscar documentos ";
377 _AgregarBoton(
"",
"", 4, _btVentasCli);
386 _btReparto.PerformClick();
402 #endregion Funciones OVERRIDE 404 #region Funciones privadas 409 private void Form_Configurar_Columnas()
411 foreach (DataGridViewColumn ldgvCol
in this.ewgridDetalle._Grid.Columns)
414 ldgvCol.ReadOnly = _dicColsReadOnly[ldgvCol.Name];
422 private void Form_Suscripcion_Eventos()
427 ewgridDetalle._Grid.CellBeginEdit +=
new DataGridViewCellCancelEventHandler(Evento_CellBeginEdit);
428 ewgridDetalle._Grid.CellValueChanged +=
new DataGridViewCellEventHandler(Evento_CellValueChanged);
430 ewgridDetalle._Grid.RowsAdded +=
new DataGridViewRowsAddedEventHandler(Evento_RowsAdded);
432 ewgridDetalle._Grid.CellPainting +=
new DataGridViewCellPaintingEventHandler(Evento_CellPainting);
433 ewgridDetalle._Grid._Event_CalendarCell_a_Null +=
new objetos.ewgrid._CalendarCell_a_Null_Handler(Evento_CalendarCell_a_Null);
436 ewgridDetalle._Grid.CellValidating +=
new DataGridViewCellValidatingEventHandler(Evento_CellValidating);
437 ewgridDetalle._Grid.CellEndEdit +=
new DataGridViewCellEventHandler(Evento_CellEndEdit);
444 private void Cancelar_Suscripcion_Eventos()
449 ewgridDetalle._Grid.CellBeginEdit -=
new DataGridViewCellCancelEventHandler(Evento_CellBeginEdit);
450 ewgridDetalle._Grid.CellValueChanged -=
new DataGridViewCellEventHandler(Evento_CellValueChanged);
451 ewgridDetalle._Grid.RowsAdded -=
new DataGridViewRowsAddedEventHandler(Evento_RowsAdded);
453 ewgridDetalle._Grid.CellPainting -=
new DataGridViewCellPaintingEventHandler(Evento_CellPainting);
454 ewgridDetalle._Grid._Event_CalendarCell_a_Null -=
new objetos.ewgrid._CalendarCell_a_Null_Handler(Evento_CalendarCell_a_Null);
457 ewgridDetalle._Grid.CellValidating -=
new DataGridViewCellValidatingEventHandler(Evento_CellValidating);
458 ewgridDetalle._Grid.CellEndEdit -=
new DataGridViewCellEventHandler(Evento_CellEndEdit);
466 private void BorrarLineaPortesPorIndiceYRefrescarGrid(
int tnIndex)
468 _Etiqueta_Envio._Lineas.RemoveAt(tnIndex);
469 ewgridDetalle._Grid.Refresh();
476 private void Form_Configurar_Grid()
479 ewgridDetalle._Grid.AutoGenerateColumns =
false;
480 ewgridDetalle._RecuadroVisible =
false;
483 int lnTamanyRestantGrid = ewgridDetalle._Grid.Width - 4;
495 ldgtbColSeleccionada.Name = NomCols._Impresa.ToString();
496 ldgtbColSeleccionada.HeaderText =
"Impreso";
497 ldgtbColSeleccionada.ValueType = typeof(
bool);
498 ldgtbColSeleccionada.Visible =
true;
499 ldgtbColSeleccionada._NoParar =
true;
500 ldgtbColSeleccionada.Width = 65;
501 ldgtbColSeleccionada.ToolTipText =
"Sirve para seleccionar los elementos con los que operar";
503 _dicColsReadOnly.Add(ldgtbColSeleccionada.Name, ldgtbColSeleccionada.ReadOnly);
505 ewgridDetalle._Grid.Columns.Add(ldgtbColSeleccionada);
511 ldgtbColSerie.Name = NomCols._Serie.ToString();
512 ldgtbColSerie.HeaderText =
"Serie";
513 ldgtbColSerie.Width = 50;
514 ldgtbColSerie.Visible =
true;
515 ldgtbColSerie._NoParar =
true;
516 ldgtbColSerie.ReadOnly =
false;
517 ldgtbColSerie.DisplayMember =
"CODIGO";
518 ldgtbColSerie.ValueMember =
"CODIGO";
519 ldgtbColSerie.FlatStyle = FlatStyle.Flat;
520 ldgtbColSerie.MaxDropDownItems = 5;
521 ldgtbColSerie.ToolTipText =
"Série del documento";
523 if (_Etiqueta_Envio == null)
525 else ldgtbColSerie.DataSource = _Etiqueta_Envio._Obtener_Series();
527 _dicColsReadOnly.Add(ldgtbColSerie.Name, ldgtbColSerie.ReadOnly);
529 ewgridDetalle._Grid.Columns.Add(ldgtbColSerie);
535 ldgtbColDocumento.Name = NomCols._Documento.ToString();
536 ldgtbColDocumento.HeaderText =
"Nº Docum.";
537 ldgtbColDocumento.ValueType = typeof(
string);
538 ldgtbColDocumento.Width = 80;
539 ldgtbColDocumento.Visible =
true;
540 ldgtbColDocumento._NoParar =
false;
541 ldgtbColDocumento.ReadOnly =
false;
542 ldgtbColDocumento.ToolTipText =
"Número documento";
544 int lnMaxLength = _ewMante._GetMaxLength(
"NUMERO");
545 if (lnMaxLength > 0) ldgtbColDocumento.MaxInputLength = lnMaxLength;
547 _dicColsReadOnly.Add(ldgtbColDocumento.Name, ldgtbColDocumento.ReadOnly);
549 ewgridDetalle._Grid.Columns.Add(ldgtbColDocumento);
553 ewgridDetalle._TeclaF4(NomCols._Documento.ToString(), _btBrowserDocs);
559 ldgtbColCodigoCliente.Name = NomCols._Cliente.ToString();
560 ldgtbColCodigoCliente.HeaderText =
"Cod. Cliente";
561 ldgtbColCodigoCliente.ValueType = typeof(
string);
562 ldgtbColCodigoCliente.Width = 70;
563 ldgtbColCodigoCliente.Visible =
false;
564 ldgtbColCodigoCliente._NoParar =
true;
565 ldgtbColCodigoCliente.ReadOnly =
true;
566 ldgtbColCodigoCliente.ToolTipText =
"Código del cliente";
568 _dicColsReadOnly.Add(ldgtbColCodigoCliente.Name, ldgtbColCodigoCliente.ReadOnly);
570 ewgridDetalle._Grid.Columns.Add(ldgtbColCodigoCliente);
576 ldgtbColNombreCliente.Name = NomCols._Cliente_Nombre.ToString();
577 ldgtbColNombreCliente.HeaderText =
"Nombre cliente";
578 ldgtbColNombreCliente.ValueType = typeof(
string);
579 ldgtbColNombreCliente.Width = 200;
580 ldgtbColNombreCliente.Visible =
true;
581 ldgtbColNombreCliente._NoParar =
true;
582 ldgtbColNombreCliente.ReadOnly =
true;
583 ldgtbColNombreCliente.ToolTipText =
"Nombre cliente";
584 lnTamanyRestantGrid = lnTamanyRestantGrid - ldgtbColNombreCliente.Width;
586 _dicColsReadOnly.Add(ldgtbColNombreCliente.Name, ldgtbColNombreCliente.ReadOnly);
588 ewgridDetalle._Grid.Columns.Add(ldgtbColNombreCliente);
594 ldgtbColBultos.Name = NomCols._Bultos.ToString();
595 ldgtbColBultos.HeaderText =
"Bultos";
596 ldgtbColBultos.ValueType = typeof(decimal);
597 ldgtbColBultos.Width = 70;
598 ldgtbColBultos.Visible =
true;
599 ldgtbColBultos._NoParar =
false;
600 ldgtbColBultos.ToolTipText =
"Bultos";
601 lnTamanyRestantGrid = lnTamanyRestantGrid - ldgtbColBultos.Width;
603 _dicColsReadOnly.Add(ldgtbColBultos.Name, ldgtbColBultos.ReadOnly);
605 ewgridDetalle._Grid.Columns.Add(ldgtbColBultos);
611 ldgtbColPeso.Name = NomCols._Peso.ToString();
612 ldgtbColPeso.HeaderText =
"Peso";
613 ldgtbColPeso.ValueType = typeof(decimal);
614 ldgtbColPeso.Width = 70;
615 ldgtbColPeso.Visible =
true;
616 ldgtbColPeso._NoParar =
false;
617 ldgtbColPeso.ToolTipText =
"Peso";
618 ldgtbColPeso.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
621 ldgtbColPeso.Maximum = loMascaraPeso.
_Rango_Max;
622 ldgtbColPeso.Minimum = loMascaraPeso.
_Rango_Min;
623 ldgtbColPeso.Increment = 1;
624 ldgtbColPeso.ThousandsSeparator =
false;
626 _dicColsReadOnly.Add(ldgtbColPeso.Name, ldgtbColPeso.ReadOnly);
628 ewgridDetalle._Grid.Columns.Add(ldgtbColPeso);
634 ldgtbColPortes.Name = NomCols._Portes.ToString();
635 ldgtbColPortes.HeaderText =
"Portes";
636 ldgtbColPortes.ValueType = typeof(
string);
637 ldgtbColPortes.Width = 60;
638 ldgtbColPortes.Visible =
true;
639 ldgtbColPortes._NoParar =
false;
640 ldgtbColPortes.ToolTipText =
"Portes.";
641 lnTamanyRestantGrid = lnTamanyRestantGrid - ldgtbColPortes.Width;
643 _dicColsReadOnly.Add(ldgtbColPortes.Name, ldgtbColPortes.ReadOnly);
645 ewgridDetalle._Grid.Columns.Add(ldgtbColPortes);
651 ldgtbColAgencia.Name = NomCols._Agencia.ToString();
652 ldgtbColAgencia.HeaderText =
"Agencia";
653 ldgtbColAgencia.ValueType = typeof(
string);
654 ldgtbColAgencia.Width = 60;
655 ldgtbColAgencia.Visible =
true;
656 ldgtbColAgencia._NoParar =
false;
657 ldgtbColAgencia.ToolTipText =
"Agencia";
659 int lnMaxLength = _ewMante._GetMaxLength(
"AGENCIA");
660 if (lnMaxLength > 0) ldgtbColAgencia.MaxInputLength = lnMaxLength;
662 _dicColsReadOnly.Add(ldgtbColAgencia.Name, ldgtbColAgencia.ReadOnly);
664 ewgridDetalle._Grid.Columns.Add(ldgtbColAgencia);
667 _btBrowserAgencias.
_Campos =
"CODIGO,NOMBRE";
668 _btBrowserAgencias.
_Clave =
"CODIGO";
670 _btBrowserAgencias.
_DataBase =
"GESTION";
671 _btBrowserAgencias.
_Tabla =
"AGENCIA";
672 _btBrowserAgencias.
_Titulo =
"Listado de agéncias de transporte";
674 ewgridDetalle._TeclaF4(NomCols._Agencia.ToString(), _btBrowserAgencias);
676 _btManteAgencias.
_Form =
"AGENCIA";
678 ewgridDetalle._TeclaF5(NomCols._Agencia.ToString(), _btManteAgencias);
685 ldgtbColAgenciaNombre.Name = NomCols._Agencia_Nombre.ToString();
686 ldgtbColAgenciaNombre.HeaderText =
"Nombre agencia";
687 ldgtbColAgenciaNombre.ValueType = typeof(
string);
688 ldgtbColAgenciaNombre.Width = 200;
689 ldgtbColAgenciaNombre.Visible =
true;
690 ldgtbColAgenciaNombre._NoParar =
true;
691 ldgtbColAgenciaNombre.ReadOnly =
true;
692 ldgtbColAgenciaNombre.ToolTipText =
"Nombre agencia";
694 _dicColsReadOnly.Add(ldgtbColAgenciaNombre.Name, ldgtbColAgenciaNombre.ReadOnly);
696 ewgridDetalle._Grid.Columns.Add(ldgtbColAgenciaNombre);
702 ldgtbColPedido.Name = NomCols._Pedido.ToString();
703 ldgtbColPedido.HeaderText =
"Pedido";
704 ldgtbColPedido.ValueType = typeof(
string);
705 ldgtbColPedido.Width = 80;
706 ldgtbColPedido.Visible =
true;
707 ldgtbColPedido._NoParar =
false;
708 ldgtbColPedido.ReadOnly =
false;
709 ldgtbColPedido.ToolTipText =
"Pedido";
711 _dicColsReadOnly.Add(ldgtbColPedido.Name, ldgtbColPedido.ReadOnly);
713 ewgridDetalle._Grid.Columns.Add(ldgtbColPedido);
719 ldgtbColAcabado.Name = NomCols._Acabado.ToString();
720 ldgtbColAcabado.HeaderText =
"Acabado";
721 ldgtbColAcabado.ValueType = typeof(DateTime);
722 ldgtbColAcabado.Width = 100;
723 ldgtbColAcabado.Visible =
true;
724 ldgtbColAcabado._NoParar =
false;
725 ldgtbColAcabado.ReadOnly =
false;
726 ldgtbColAcabado.ToolTipText =
"Fecha acabado";
728 _dicColsReadOnly.Add(ldgtbColAcabado.Name, ldgtbColAcabado.ReadOnly);
730 ewgridDetalle._Grid.Columns.Add(ldgtbColAcabado);
736 ldgtbColCoste.Name = NomCols._Coste.ToString();
737 ldgtbColCoste.HeaderText =
"Coste (" + ( EW_GLOBAL._Moneda == null ?
"" : EW_GLOBAL._Moneda._ObtenerSimboloDivisa() ) +
")";
738 ldgtbColCoste.ValueType = typeof(decimal);
739 ldgtbColCoste.Width = 70;
740 ldgtbColCoste.Visible =
true;
741 ldgtbColCoste._NoParar =
false;
742 ldgtbColCoste.ToolTipText =
"Coste";
743 lnTamanyRestantGrid = lnTamanyRestantGrid - ldgtbColCoste.Width;
746 ldgtbColCoste.Maximum = loMascaraPrecio.
_Rango_Max;
747 ldgtbColCoste.Minimum = loMascaraPrecio.
_Rango_Min;
748 ldgtbColCoste.Increment = 1;
749 ldgtbColCoste.ThousandsSeparator =
false;
751 _dicColsReadOnly.Add(ldgtbColCoste.Name, ldgtbColCoste.ReadOnly);
753 ewgridDetalle._Grid.Columns.Add(ldgtbColCoste);
759 ldgtbColRecogida.Name = NomCols._Recogida.ToString();
760 ldgtbColRecogida.HeaderText =
"Recogida";
761 ldgtbColRecogida.ValueType = typeof(DateTime);
762 ldgtbColRecogida.Width = 100;
763 ldgtbColRecogida.Visible =
true;
764 ldgtbColRecogida._NoParar =
false;
765 ldgtbColRecogida.ReadOnly =
false;
766 ldgtbColRecogida.ToolTipText =
"Fecha recogida";
768 _dicColsReadOnly.Add(ldgtbColRecogida.Name, ldgtbColRecogida.ReadOnly);
770 ewgridDetalle._Grid.Columns.Add(ldgtbColRecogida);
776 ldgtbColBoto.Name = NomCols._BotonDireccion.ToString();
777 ldgtbColBoto.HeaderText =
"Dirección";
778 ldgtbColBoto.Width = 25;
779 ldgtbColBoto._NoParar =
true;
781 _dicColsReadOnly.Add(ldgtbColBoto.Name, ldgtbColBoto.ReadOnly);
783 ewgridDetalle._Grid.Columns.Add(ldgtbColBoto);
789 ldgtbColDireccion.Name = NomCols._Direccion.ToString();
790 ldgtbColDireccion.ValueType = typeof(
string);
791 ldgtbColDireccion.Visible =
false;
792 ldgtbColDireccion._NoParar =
true;
793 ldgtbColDireccion.ReadOnly =
true;
795 _dicColsReadOnly.Add(ldgtbColDireccion.Name, ldgtbColDireccion.ReadOnly);
797 ewgridDetalle._Grid.Columns.Add(ldgtbColDireccion);
803 ldgtbColCP.Name = NomCols._CPostal.ToString();
804 ldgtbColCP.ValueType = typeof(
string);
805 ldgtbColCP.Visible =
false;
806 ldgtbColCP._NoParar =
true;
807 ldgtbColCP.ReadOnly =
true;
809 _dicColsReadOnly.Add(ldgtbColCP.Name, ldgtbColCP.ReadOnly);
811 ewgridDetalle._Grid.Columns.Add(ldgtbColCP);
817 ldgtbColPoblacion.Name = NomCols._Poblacion.ToString();
818 ldgtbColPoblacion.ValueType = typeof(
string);
819 ldgtbColPoblacion.Visible =
false;
820 ldgtbColPoblacion._NoParar =
true;
821 ldgtbColPoblacion.ReadOnly =
true;
823 _dicColsReadOnly.Add(ldgtbColPoblacion.Name, ldgtbColPoblacion.ReadOnly);
825 ewgridDetalle._Grid.Columns.Add(ldgtbColPoblacion);
831 ldgtbColProvincia.Name = NomCols._Provincia.ToString();
832 ldgtbColProvincia.ValueType = typeof(
string);
833 ldgtbColProvincia.Visible =
false;
834 ldgtbColProvincia._NoParar =
true;
835 ldgtbColProvincia.ReadOnly =
true;
837 _dicColsReadOnly.Add(ldgtbColProvincia.Name, ldgtbColProvincia.ReadOnly);
839 ewgridDetalle._Grid.Columns.Add(ldgtbColProvincia);
845 ldgtbColTelefono.Name = NomCols._Telefono.ToString();
846 ldgtbColTelefono.ValueType = typeof(
string);
847 ldgtbColTelefono.Visible =
false;
848 ldgtbColTelefono._NoParar =
true;
849 ldgtbColTelefono.ReadOnly =
true;
851 _dicColsReadOnly.Add(ldgtbColTelefono.Name, ldgtbColTelefono.ReadOnly);
853 ewgridDetalle._Grid.Columns.Add(ldgtbColTelefono);
859 ldgtbColPais.Name = NomCols._Pais.ToString();
860 ldgtbColPais.ValueType = typeof(
string);
861 ldgtbColPais.Visible =
false;
862 ldgtbColPais._NoParar =
true;
863 ldgtbColPais.ReadOnly =
true;
865 _dicColsReadOnly.Add(ldgtbColPais.Name, ldgtbColPais.ReadOnly);
867 ewgridDetalle._Grid.Columns.Add(ldgtbColPais);
871 if (_Etiqueta_Envio != null) ewgridDetalle._Grid.DataSource = _Etiqueta_Envio._Lineas;
872 else ewgridDetalle._Grid.DataSource = ((ew.cliente.EtiquetasEnvio)_ewMante)._Lineas;
875 foreach (DataGridViewColumn ldgvCol
in ewgridDetalle._Grid.Columns)
877 ldgvCol.DataPropertyName = ldgvCol.Name;
890 private bool ValidarEstadoParaImpresion()
895 switch (_ewMante._Estado)
899 this._MessageBox(
"Para realizar esta acción debe salir del modo de edición. ", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1, DialogResult.None);
904 this._MessageBox(
"Para realizar esta acción debe seleccionar un documento antes. ", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1, DialogResult.None);
924 private bool EtiquetaConLineas()
926 return _Etiqueta_Envio != null && _Etiqueta_Envio._TieneLineas();
929 #endregion Funciones privadas 931 #region Respuesta a eventos 937 void _Evento_FormMante_Shown_After(
object sender)
941 if (sender != null) ewtextboxNumero.Focus();
951 Form_Configurar_Columnas();
956 ewtextboxNumero.Enabled =
false;
957 ewdateFecha.Enabled =
true;
958 _btVentasCli.Enabled =
true;
959 _btDesmarcar.Enabled =
true;
960 _btNavegarAlbaran.Enabled =
true;
963 ewtextboxNumero.Enabled =
false;
964 ewdateFecha.Enabled =
true;
965 _btVentasCli.Enabled =
true;
966 _btDesmarcar.Enabled =
true;
967 _btNavegarAlbaran.Enabled =
true;
971 _Etiqueta_Envio._Lineas.Add(_oLineaPortesNova);
976 ewtextboxNumero.Enabled =
true;
977 ewtextboxNumero.ReadOnly =
false;
978 ewdateFecha.Enabled =
false;
979 ewtextboxNumero.Focus();
980 _btVentasCli.Enabled =
false;
981 _btDesmarcar.Enabled =
false;
982 _btNavegarAlbaran.Enabled =
false;
989 ewtextboxNumero.Enabled =
false;
990 ewdateFecha.Enabled =
false;
991 _btVentasCli.Enabled =
false;
992 _btDesmarcar.Enabled =
false;
993 _btEtiquetas.Enabled =
true;
994 _btReparto.Enabled =
true;
995 _btNavegarAlbaran.Enabled =
true;
1007 void Evento_RowsAdded(
object sender, DataGridViewRowsAddedEventArgs e)
1013 ewgridDetalle._Grid.EditMode = DataGridViewEditMode.EditOnEnter;
1015 _lNuevaLinea =
false;
1021 ewgridDetalle._Grid.Focus();
1031 void Evento_CellBeginEdit(
object sender, DataGridViewCellCancelEventArgs e)
1033 if (e.ColumnIndex == ewgridDetalle._Grid.Columns[NomCols._Documento.ToString()].Index)
1035 _cDocumentoOldVal = _Etiqueta_Envio._Lineas[e.RowIndex]._Documento;
1038 if (e.ColumnIndex == ewgridDetalle._Grid.Columns[NomCols._Serie.ToString()].Index)
1040 _cSerieOldVal = _Etiqueta_Envio._Lineas[e.RowIndex]._Serie;
1043 if (e.ColumnIndex == ewgridDetalle._Grid.Columns[NomCols._Acabado.ToString()].Index)
1045 _lAcabadoValidado =
false;
1046 _dOldAcabadoVal = _Etiqueta_Envio._Lineas[e.RowIndex]._Acabado;
1056 void Evento_CellEndEdit(
object sender, DataGridViewCellEventArgs e)
1059 if (e.ColumnIndex == ewgridDetalle._Grid.Columns[NomCols._Acabado.ToString()].Index)
1063 if (!_lAcabadoValidado && ewgridDetalle._LastKey != Keys.Enter) ewgridDetalle._Grid[e.ColumnIndex, e.RowIndex].Value = _dOldAcabadoVal;
1073 void Evento_CellValidating(
object sender, DataGridViewCellValidatingEventArgs e)
1076 if (e.ColumnIndex == ewgridDetalle._Grid.Columns[NomCols._Acabado.ToString()].Index)
1078 _lAcabadoValidado =
true;
1088 void Evento_CellValueChanged(
object sender, DataGridViewCellEventArgs e)
1091 ewgridDetalle._Grid.EditMode = DataGridViewEditMode.EditOnKeystrokeOrF2;
1094 if (e.ColumnIndex == ewgridDetalle._Grid.Columns[NomCols._Serie.ToString()].Index ||
1095 e.ColumnIndex == ewgridDetalle._Grid.Columns[NomCols._Documento.ToString()].Index
1098 string lcLetra = _Etiqueta_Envio._Lineas[e.RowIndex]._Serie;
1099 string lcNumero = _Etiqueta_Envio._Lineas[e.RowIndex]._Documento;
1101 if ((!
String.IsNullOrWhiteSpace(lcLetra) && !
String.IsNullOrWhiteSpace(lcNumero))
1107 llOk = _Etiqueta_Envio._Lineas[e.RowIndex]._Crear_desde_Documento(lcLetra, lcNumero, tlDeposito: _Etiqueta_Envio._EsUnDeposito ==
true);
1112 _Etiqueta_Envio._Lineas[e.RowIndex]._Documento = _cDocumentoOldVal;
1124 void Evento_ewgridDetalle_KeyPress(
object sender, KeyPressEventArgs e)
1127 if (e.KeyChar == 13)
1130 if (ewgridDetalle._Grid.CurrentCell == null)
return;
1134 if (ewgridDetalle._Grid.CurrentCell.ColumnIndex == ewgridDetalle._Grid.Columns[
"_Documento"].Index &&
1147 void Evento_Row_Delete_Event(DataGridViewRow trRowDelete)
1150 if (EtiquetaConLineas())
1151 BorrarLineaPortesPorIndiceYRefrescarGrid(trRowDelete.Index);
1158 void Evento_Row_New_Event(
int tnInsertLinea)
1161 if (EtiquetaConLineas())
1163 if (!UltimaLineaPortesConDocumentoEnBlanco())
1164 CrearLineaPortesNueva();
1167 CrearLineaPortesNueva();
1174 private bool UltimaLineaPortesConDocumentoEnBlanco()
1176 return string.IsNullOrWhiteSpace(_Etiqueta_Envio._Lineas[_Etiqueta_Envio._Lineas.Count - 1]._Documento);
1182 private void CrearLineaPortesNueva()
1185 _lNuevaLinea =
true;
1190 _Etiqueta_Envio._Lineas.Add(_oLineaPortesNova);
1198 void Evento_CellClick(DataGridViewCell tdgvCurrentCel)
1200 if (tdgvCurrentCel == null)
1204 if (tdgvCurrentCel.OwningColumn.Name == NomCols._BotonDireccion.ToString())
1207 if (loLinia != null)
1209 if (
string.IsNullOrWhiteSpace(loLinia._Documento))
1211 this._MessageBox(
"Debe indicar el documento orígen", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1, DialogResult.None);
1215 loLinia._Show(ewgridDetalle._ReadOnly);
1216 ewgridDetalle.Refresh();
1228 void Evento_CellPainting(
object sender, DataGridViewCellPaintingEventArgs e)
1231 if (e.ColumnIndex >= 0 && ewgridDetalle._Grid.Columns[e.ColumnIndex].Name == NomCols._BotonDireccion.ToString() && e.RowIndex >= 0)
1233 e.Paint(e.CellBounds, DataGridViewPaintParts.All);
1235 DataGridViewButtonCell loBoton =
1236 ewgridDetalle._Grid.Rows[e.RowIndex].Cells[NomCols._BotonDireccion.ToString()] as DataGridViewButtonCell;
1239 e.Graphics.DrawImage(loImagen, e.CellBounds.Left + 3, e.CellBounds.Top + 2);
1242 if (ewgridDetalle._Grid.Rows[e.RowIndex].Height < loImagen.Height)
1243 ewgridDetalle._Grid.Rows[e.RowIndex].Height = loImagen.Height;
1244 if(ewgridDetalle._Grid.Columns[e.ColumnIndex].Width < loImagen.Width)
1245 ewgridDetalle._Grid.Columns[e.ColumnIndex].Width = loImagen.Width;
1256 void Evento_CalendarCell_a_Null(
object sender, ref DateTime tdData)
1258 tdData = _Etiqueta_Envio._Lineas[((DataGridViewCell)sender).RowIndex]._Determinar_Fecha_Minima();
1259 ((DataGridViewCell)sender).Value = tdData;
1262 void _btVentasCli__Click_After(
object sender)
1268 if (loBoto._Resultados != null && loBoto._Resultados.Count > 0)
1271 int lnDeleteLine = -1;
1272 if (EtiquetaConLineas())
1275 if (UltimaLineaPortesConDocumentoEnBlanco())
1276 lnDeleteLine = _Etiqueta_Envio._Lineas.Count - 1;
1279 foreach (Dictionary<string, object> laElementoSeleccionado
in loBoto._Resultados)
1281 string lcNumero =
string.Empty;
1282 string lcLetra =
string.Empty;
1283 string lcCliente =
string.Empty;
1284 decimal lnImporte = 0.0M;
1286 if (laElementoSeleccionado.ContainsKey(
"Documento"))
1287 lcNumero = Convert.ToString(laElementoSeleccionado[
"Documento"]);
1289 if (laElementoSeleccionado.ContainsKey(
"Letra"))
1290 lcLetra = Convert.ToString(laElementoSeleccionado[
"Letra"]);
1292 if (laElementoSeleccionado.ContainsKey(
"Cliente"))
1293 lcCliente = Convert.ToString(laElementoSeleccionado[
"Cliente"]);
1295 if (laElementoSeleccionado.ContainsKey(
"Importe"))
1296 lnImporte = Convert.ToDecimal(laElementoSeleccionado[
"Importe"]);
1299 _oLineaPortesNova =
new EtiquetasEnvio.
LineaPortes(_Etiqueta_Envio, tlEsUnDeposito: _Etiqueta_Envio._EsUnDeposito ==
true);
1302 if ((_Etiqueta_Envio._Lineas.Where(lolin => lolin._Serie == lcLetra && lolin._Documento == lcNumero).Count()) > 0)
1304 string lcMensajeError =
"El documento ";
1305 if (!
string.IsNullOrWhiteSpace(lcLetra)) lcMensajeError += lcLetra.Trim() +
" - ";
1306 lcMensajeError += lcNumero.Trim() +
" ya forma parte de esta lista.";
1307 _Etiqueta_Envio._Error_Message = lcMensajeError;
1311 if (_oLineaPortesNova._Crear_desde_Documento(_cEmpresa, lcNumero, lcLetra, lcCliente, lnImporte, ref _oLineaPortesNova, tlDeposito: _Etiqueta_Envio._EsUnDeposito ==
true))
1312 _Etiqueta_Envio._Lineas.Add(_oLineaPortesNova);
1317 if (lnDeleteLine >= 0)
1318 BorrarLineaPortesPorIndiceYRefrescarGrid(lnDeleteLine);
1321 loBoto._LimpiarResultados();
1331 void _btVentasCli__Click_Before(ref
bool tlOk)
1343 void _btBrowserDocs__Click_Before(ref
bool tlOk)
1357 void _btBrowserIntegradoGrid__Click_Before(ref
bool tlOk)
1360 if(ewgridDetalle._Grid.CurrentCell != null &&
1361 (ewgridDetalle._Grid.CurrentCell.ColumnIndex == ewgridDetalle._Grid.Columns[NomCols._Documento.ToString()].Index))
1371 if (!EtiquetaConLineas())
1382 void _btNavegarGeneric_Click(
object sender, EventArgs e)
1384 if (_Etiqueta_Envio._EsUnDeposito ==
true)
1388 _btNavegarDeposito.PerformClick();
1394 _btNavegarAlbaran.PerformClick();
1405 void Evento_NavegarDocumento__Click_Before(
object sender, ref
bool tlOk)
1407 if (ewgridDetalle._Grid.CurrentRow != null)
1409 string lcNumero =
string.Empty;
1410 string lcLetra =
string.Empty;
1413 lcNumero = ewgridDetalle._Grid[
"_Documento", ewgridDetalle._Grid.CurrentRow.Index].Value.ToString();
1414 lcLetra = ewgridDetalle._Grid[
"_Serie", ewgridDetalle._Grid.CurrentRow.Index].Value.ToString();
1416 if (!
string.IsNullOrWhiteSpace(lcNumero) && !
string.IsNullOrWhiteSpace(lcLetra))
1432 void Evento_btEtiquetas_Click(
object sender, EventArgs e)
1434 DoPrint(() => _Etiqueta_Envio._Etiquetas());
1442 void Evento_btReparto_Click(
object sender, EventArgs e)
1444 DoPrint(() => _Etiqueta_Envio._Print());
1447 void DoPrint(Action toMetodoImpresion)
1450 if (!ValidarEstadoParaImpresion())
1454 if (_Etiqueta_Envio._Codigo != null)
1456 if (_Etiqueta_Envio._Lineas != null &&
1457 _Etiqueta_Envio._Lineas.Where(loEti => !
string.IsNullOrWhiteSpace(loEti._Documento)).Count() > 0)
1459 if (_Etiqueta_Envio._Lineas != null && (_Etiqueta_Envio._Lineas.Where(loEti => !loEti._Impresa).Count() > 0))
1461 toMetodoImpresion();
1462 _Etiqueta_Envio._Load();
1466 _MessageBox(
"Todas las etiquetas de envío están marcadas como impresas.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1, DialogResult.None);
1471 _MessageBox(
"El documento no tiene líneas.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1, DialogResult.None);
1481 void Evento_btDesmarcar_Click(
object sender, EventArgs e)
1483 if (EtiquetaConLineas())
1486 foreach (DataGridViewRow ldrRow
in this.ewgridDetalle._Grid.Rows)
1488 ldrRow.Cells[NomCols._Impresa.ToString()].Value =
false;
1494 private void chkFormatoEmpresa_CheckedChanged(
object sender, EventArgs e)
1496 ucEtiquetas.Enabled = !chkFormatoEmpresa.Checked;
1503 void ucEtiquetas__Print_Before(ref
bool tlOk)
1512 private void ewgridDetalle__CellClick(DataGridViewCell tdgvCurrentCel)
1514 if (tdgvCurrentCel.ColumnIndex == ewgridDetalle._Grid.Columns[NomCols._Impresa.ToString()].Index &&
1518 tdgvCurrentCel.Value = !Convert.ToBoolean(tdgvCurrentCel.Value);
1522 #endregion Respuesta a eventos decimal _Rango_Max
Valor máximo según la máscara. Es la máscara de VFP convertida a decimal
delegate void _DataSource_Row_Delete_Event_Handler(DataGridViewRow trRowDelete)
Se dispara al borrar un registro cuando el DataSource no es un DataTable
Clase de negocio base para mantenimientos
void _HacerClick()
Método para invocar por código un evento Click
delegate void _Click_Before_Handler(object sender, ref Boolean tlOk)
_Click_Before_Handler
static System.Drawing.Bitmap home_16
Busca un recurso adaptado de tipo System.Drawing.Bitmap.
delegate void _DataSource_Row_New_Event_Handler(int tnInsertLinea)
Se dispara al añadir un nuevo registro cuando el DataSource no es un DataTable
Browser, basat en sage.ew.objetos.ewbutton
_Click_Before_Handler _Click_Before
_Click_Before_Handler
Interfaz para garantizar la presencia de los campos Empresa, Numero, Letra con fines de tratamientos ...
delegate void _Click_Before_Handler(ref Boolean tlOk)
_Click_Before_Handler
string _Titulos_Campos
lista de títulos de los campos que nos presentará en el browser
Clase de recurso fuertemente tipado, para buscar cadenas traducidas, etc.
KeyDiccionarioMascara
Clave para diccionario de máscaras
eTipoDocumento _TipoDocumento
Obtiene o establece el tipo de documento Por defecto utilizará albaranes
Base per a les columnes estandar
Clase de navegación a depósito de venta
delegate void _Click_After_Handler(object sender)
_Click_After_Handler
string _DataBase
nombre de la base de datos de la tabla
delegate void _CellClick_Handler(DataGridViewCell tdgvCurrentCel)
Se produce cuando se hace clic en cualquier parte de una celda.
Base per a les columnes estandar
static System.Drawing.Icon envio_etiquetas
Busca un recurso adaptado de tipo System.Drawing.Icon similar a (Icono).
Botón que muestra las ventas (del tipo de documento que sea) del cliente para selección múltiple Por ...
string _Empresa
Codi d'empresa
Clase de negocio para la líneas de las etiquetas de envío
int _Num_Decimales
Número de decimales de la máscara
Clase de negocio para Etiquetas de envío
List< string > _Lista_Campos
Lista con los campos que queremos recuperar
_Click_Before_Handler _Click_Before
_Click_Before_Handler
string _Tabla
Tabla de la que se presentarán los datos
Custom column type dedicated to the DataGridViewNumericUpDownCell cell type.
Muestra el mantenimiento correspondiente a _Form con el registro correspondiente al _Codigo ...
Clase btNavegarAlbaran: Botón para la navegación a un documento de venta/compra de tipo albarán...
delegate void _Click_Before_Handler(object sender, ref Boolean tlOk)
_Click_Before_Handler
Proporciona características adicionales de las máscaras de Eurowin
eTipoDocumento
Detalle los tipos de documento posibles de ventas y compras
string _Form
Referencia al formulario
_Click_Before_Handler _Click_Before
_Click_Before_Handler
_EstadosMantenimiento
Declaro un enum para los estados del mantenimiento.
string _NombreManteNet
Nombre del mantenimiento de .Net
string _Titulo
Titulo de la ventana
static System.Drawing.Icon envio_reparto
Busca un recurso adaptado de tipo System.Drawing.Icon similar a (Icono).
decimal _Rango_Min
Valor mínimo según la máscara. Es la máscara de VFP convertida a decimal y en negativo ...
delegate void _Click_Before_Handler(ref Boolean tlOk)
_Click_Before_Handler
Al volver de la web del Compliance en algunos casos es necesario realizar el refresco de los parámetr...
delegate void _Mantenimiento_Estado_Change_Handler(_EstadosMantenimiento teEstado)
Delegado para el cambio de estado
delegate void _KeyPress_Handler(object sender, KeyPressEventArgs e)
Se dispara cuando se pulsa y suelta una tecla
string _Campos
lista de campos separados por comas que nos presentará en el browser
string _Condicion
condición que se podrá especificar en el momento de realizar la consulta SQL
_Click_After_Handler _Click_After
_Click_After_Handler
_Click_Before_Handler _Click_Before
_Click_Before_Handler
string _Clave
campos que forman la clave primaria del browser separados por comas
Presenta un datagridview con botones añadir y borrar tipo Mantegrid de Eurowin
string _Campo_Predet
Campo predeterminado que se utilizará en la presentación de la información
Base per a les columnes estandar